@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(../media/9cc5c0547f229dea-s.6c4275d8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(../media/b0947914c9718a1e-s.dfd36b11.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(../media/d0b60be57f16ee32-s.7a65e2c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(../media/1f9e983605289f29-s.ef9233b7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.7787e134.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9cc5c0547f229dea-s.6c4275d8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b0947914c9718a1e-s.dfd36b11.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d0b60be57f16ee32-s.7a65e2c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1f9e983605289f29-s.ef9233b7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.7787e134.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9cc5c0547f229dea-s.6c4275d8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b0947914c9718a1e-s.dfd36b11.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d0b60be57f16ee32-s.7a65e2c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1f9e983605289f29-s.ef9233b7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.7787e134.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9cc5c0547f229dea-s.6c4275d8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b0947914c9718a1e-s.dfd36b11.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d0b60be57f16ee32-s.7a65e2c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1f9e983605289f29-s.ef9233b7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.7787e134.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9cc5c0547f229dea-s.6c4275d8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b0947914c9718a1e-s.dfd36b11.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d0b60be57f16ee32-s.7a65e2c2.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1f9e983605289f29-s.ef9233b7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.7787e134.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond Fallback;src:local(Times New Roman);ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.0%;size-adjust:96.98%}.cormorant_garamond_7694ef31-module__PtbMmG__className{font-family:Cormorant Garamond,Cormorant Garamond Fallback;font-style:normal}.cormorant_garamond_7694ef31-module__PtbMmG__variable{--font-cormorant:"Cormorant Garamond","Cormorant Garamond Fallback"}
@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/8298327da6d5bcce-s.fb2d5852.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0a39a854.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/2b402d8aebffd579-s.ec7e94a5.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/a88409fdd7dc121c-s.62b55a98.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:300;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/8298327da6d5bcce-s.fb2d5852.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0a39a854.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2b402d8aebffd579-s.ec7e94a5.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a88409fdd7dc121c-s.62b55a98.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8298327da6d5bcce-s.fb2d5852.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0a39a854.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2b402d8aebffd579-s.ec7e94a5.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a88409fdd7dc121c-s.62b55a98.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/8298327da6d5bcce-s.fb2d5852.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0a39a854.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2b402d8aebffd579-s.ec7e94a5.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a88409fdd7dc121c-s.62b55a98.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8298327da6d5bcce-s.fb2d5852.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0a39a854.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2b402d8aebffd579-s.ec7e94a5.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a88409fdd7dc121c-s.62b55a98.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.9b7a96b4.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_d7ac6169-module__fsrwGW__className{font-family:Montserrat,Montserrat Fallback;font-style:normal}.montserrat_d7ac6169-module__fsrwGW__variable{--font-montserrat:"Montserrat","Montserrat Fallback"}
:root{--primary:#1a1a2e;--primary-light:#2d2d44;--secondary:#c9a962;--secondary-light:#d4bc7d;--accent:#e8d5b5;--gold:linear-gradient(135deg,#c9a962 0%,#e8d5b5 50%,#c9a962 100%);--dark:#0f0f1a;--light:#f8f6f3;--cream:#faf8f5;--text:#2c2c2c;--text-muted:#6b6b6b;--white:#fff;--font-display:var(--font-cormorant),"Cormorant Garamond",Georgia,serif;--font-body:var(--font-montserrat),"Montserrat",sans-serif;--space-xs:.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2.5rem;--space-xl:4rem;--space-2xl:6rem;--space-3xl:8rem;--shadow-sm:0 2px 10px #00000014;--shadow-md:0 8px 30px #0000001f;--shadow-lg:0 20px 60px #00000026;--shadow-gold:0 10px 40px #c9a9624d;--transition-fast:.2s cubic-bezier(.4,0,.2,1);--transition:.4s cubic-bezier(.4,0,.2,1);--transition-slow:.6s cubic-bezier(.4,0,.2,1);--radius-sm:4px;--radius-md:12px;--radius-lg:24px;--radius-xl:40px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes floatSlow{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-10px)rotate(2deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 #c9a96266}50%{box-shadow:0 0 20px 10px #c9a96233}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes textReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes borderDraw{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes morphing{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}@keyframes gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes swing{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.1)}56%{transform:scale(1)}}.animated-gradient{background:linear-gradient(-45deg,#1a1a2e,#2d2d44,#c9a962,#e8d5b5) 0 0/400% 400%;animation:15s infinite gradient}.shimmer{position:relative;overflow:hidden}.shimmer:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:100%;height:100%;animation:2s infinite shimmer;position:absolute;top:0;left:0}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";opacity:0;background:#ffffff4d;border-radius:50%;width:100%;height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.ripple-effect:active:after{animation:.6s ease-out ripple}.magnetic{transition:transform .3s cubic-bezier(.23,1,.32,1)}.tilt-effect{transform-style:preserve-3d;transition:transform .5s}.tilt-effect:hover{transform:perspective(1000px)rotateX(5deg)rotateY(5deg)}.glow-hover:hover{box-shadow:0 0 30px #c9a96280}.text-gradient-animated{background:linear-gradient(90deg,#c9a962,#e8d5b5,#c9a962) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;animation:3s linear infinite gradient}.underline-slide{position:relative}.underline-slide:after{content:"";background:var(--secondary);width:0;height:2px;transition:width .4s cubic-bezier(.23,1,.32,1);position:absolute;bottom:0;left:0}.underline-slide:hover:after{width:100%}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--text);background:var(--cream);-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;transition:var(--transition-fast);text-decoration:none}ul{list-style:none}button,input,select,textarea{font-family:inherit;font-size:inherit;border:none;outline:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--primary);font-weight:500;line-height:1.2}h1{font-size:clamp(3rem,8vw,6rem)}h2{font-size:clamp(2.5rem,5vw,4rem)}h3{font-size:clamp(1.5rem,3vw,2rem)}.preloader{background:var(--primary);z-index:9999;justify-content:center;align-items:center;transition:opacity .5s,visibility .5s;display:flex;position:fixed;inset:0}.preloader.hidden{opacity:0;visibility:hidden}.preloader-inner{text-align:center}.preloader-logo{color:var(--white);margin-bottom:var(--space-md)}.preloader-logo .logo-icon{color:var(--secondary);margin-bottom:.5rem;font-size:2rem;display:block}.preloader-logo .logo-text{font-family:var(--font-display);letter-spacing:4px;font-size:1.5rem}.preloader-bar{background:#fff3;border-radius:2px;width:200px;height:2px;overflow:hidden}.preloader-progress{background:var(--secondary);height:100%;animation:1.5s ease-in-out forwards preload}@keyframes preload{0%{width:0}to{width:100%}}.cursor-dot,.cursor-outline{display:none}@media (min-width:1024px) and (pointer:fine){.cursor-dot{background:var(--secondary);pointer-events:none;z-index:10000;border-radius:50%;width:8px;height:8px;transition:transform .1s;display:block;position:fixed;transform:translate(-50%,-50%)}.cursor-outline{border:1px solid var(--secondary);pointer-events:none;z-index:10000;opacity:.5;border-radius:50%;width:40px;height:40px;transition:all .15s ease-out;display:block;position:fixed;transform:translate(-50%,-50%)}.cursor-outline.hover{opacity:1;border-color:var(--secondary);transform:translate(-50%,-50%)scale(1.5)}}.container{max-width:1300px;padding:0 var(--space-md);margin:0 auto}.btn{font-family:var(--font-body);letter-spacing:1.5px;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition);align-items:center;gap:.75rem;padding:1rem 2rem;font-size:.85rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn i{transition:transform var(--transition)}.btn:hover i{transform:translate(4px)}.btn-primary{background:var(--secondary);color:var(--primary)}.btn-primary:hover{background:var(--secondary-light);box-shadow:var(--shadow-gold);transform:translateY(-2px)}.btn-ghost{color:var(--white);background:0 0;border:1px solid #fff6}.btn-ghost:hover{border-color:var(--white);background:#ffffff1a}.btn-outline-dark{color:var(--primary);border:2px solid var(--primary);background:0 0}.btn-outline-dark:hover{background:var(--primary);color:var(--white)}.btn-room{background:var(--primary);color:var(--white);padding:.875rem 1.5rem}.btn-room:hover{background:var(--secondary);color:var(--primary)}.btn-submit{background:var(--secondary);color:var(--primary);justify-content:center;width:100%;padding:1.25rem 2rem;font-size:.9rem}.btn-submit:hover{background:var(--primary);color:var(--white)}.btn.large{padding:1.25rem 2.5rem}.floating-book-btn{background:var(--secondary);color:var(--primary);border-radius:var(--radius-xl);letter-spacing:.5px;box-shadow:var(--shadow-gold);z-index:900;transition:var(--transition);align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:.85rem;font-weight:600;display:flex;position:fixed;bottom:100px;right:30px;transform:translate(calc(100% + 30px))}.floating-book-btn.visible{transform:translate(0)}.floating-book-btn:hover{transform:scale(1.05)}.floating-book-btn .btn-icon{display:flex}.navbar{z-index:1000;transition:var(--transition);padding:1.5rem 0;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--shadow-sm);background:#fffffff2;padding:1rem 0}.nav-container{max-width:1400px;padding:0 var(--space-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-logo{color:var(--white);transition:var(--transition-fast);align-items:center;gap:.75rem;display:flex}.navbar.scrolled .nav-logo{color:var(--primary)}.nav-logo .logo-mark{color:var(--secondary);font-size:1.5rem}.nav-logo .logo-text{flex-direction:column;line-height:1.1;display:flex}.nav-logo .logo-main{font-family:var(--font-display);letter-spacing:1px;font-size:1.25rem;font-weight:600}.nav-logo .logo-sub{letter-spacing:3px;text-transform:uppercase;opacity:.7;font-size:.65rem}.nav-menu{align-items:center;gap:2.5rem;display:flex}.nav-link{letter-spacing:1.5px;text-transform:uppercase;color:var(--white);padding:.5rem 0;font-size:.8rem;font-weight:500;position:relative}.navbar.scrolled .nav-link{color:var(--text)}.nav-link:after{content:"";background:var(--secondary);width:0;height:1px;transition:var(--transition-fast);position:absolute;bottom:0;left:0}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-book-btn{background:var(--secondary);color:var(--primary);letter-spacing:1.5px;text-transform:uppercase;border-radius:var(--radius-sm);transition:var(--transition);padding:.75rem 1.5rem;font-size:.75rem;font-weight:600}.nav-book-btn:hover{background:var(--white);box-shadow:var(--shadow-md)}.nav-toggle{cursor:pointer;background:0 0;flex-direction:column;gap:6px;padding:.5rem;display:none}.nav-toggle span{background:var(--white);width:25px;height:2px;transition:var(--transition-fast)}.navbar.scrolled .nav-toggle span{background:var(--primary)}.hero{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg-wrapper{position:absolute;inset:0}.hero-bg{background:linear-gradient(135deg,#1a1a2e 0%,#2d2d44 50%,#1a1a2e 100%);position:absolute;inset:0}.hero-bg:before{content:"";background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23c9a962' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.hero-bg-overlay{background:radial-gradient(#0000 0%,#0f0f1a99 100%);position:absolute;inset:0}.hero-content{text-align:center;padding:var(--space-xl);z-index:2;max-width:900px;position:relative}.hero-badge{margin-bottom:var(--space-lg);justify-content:center;align-items:center;gap:1rem;display:flex}.hero-badge .badge-line{background:var(--secondary);width:60px;height:1px}.hero-badge .badge-text{color:var(--secondary);letter-spacing:4px;text-transform:uppercase;font-size:.85rem;font-weight:500}.hero-title{color:var(--white);margin-bottom:var(--space-sm)}.hero-title .title-line{display:block}.hero-title .title-line.accent{color:var(--secondary);font-style:italic}.hero-tagline{font-family:var(--font-display);color:#fffc;margin-bottom:var(--space-lg);justify-content:center;align-items:center;gap:1rem;font-size:1.5rem;font-weight:400;display:flex}.hero-tagline .tagline-decorator{color:var(--secondary);font-size:.75rem}.hero-description{color:#ffffffb3;max-width:600px;margin:0 auto var(--space-xl);font-size:1.1rem;line-height:1.8}.hero-buttons{gap:var(--space-md);margin-bottom:var(--space-2xl);flex-wrap:wrap;justify-content:center;display:flex}.hero-stats{justify-content:center;align-items:center;gap:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid #ffffff1a;display:flex}.stat-item{text-align:center}.stat-number{font-family:var(--font-display);color:var(--secondary);font-size:3rem;font-weight:600}.stat-suffix{font-family:var(--font-display);color:var(--secondary);font-size:1.5rem}.stat-label{color:#fff9;text-transform:uppercase;letter-spacing:2px;margin-top:.5rem;font-size:.75rem;display:block}.stat-divider{background:#fff3;width:1px;height:50px}.hero-scroll{bottom:var(--space-lg);position:absolute;left:50%;transform:translate(-50%)}.scroll-indicator{color:var(--white);flex-direction:column;align-items:center;gap:.5rem;display:flex}.scroll-text{letter-spacing:2px;text-transform:uppercase;opacity:.6;font-size:.7rem}.scroll-line{background:linear-gradient(to bottom,var(--secondary),transparent);width:1px;height:40px}.scroll-dot{background:var(--secondary);border-radius:50%;width:6px;height:6px;animation:2s infinite scrollBounce}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-social{left:var(--space-lg);gap:var(--space-md);flex-direction:column;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.hero-social a{color:#fff9;transition:var(--transition-fast);font-size:1rem}.hero-social a:hover{color:var(--secondary)}.section{padding:var(--space-3xl)0;position:relative}.section-label{margin-bottom:var(--space-md);align-items:center;gap:1rem;display:flex}.section-label.centered{justify-content:center}.section-label .label-line{background:var(--secondary);width:40px;height:1px}.section-label .label-text{letter-spacing:3px;text-transform:uppercase;color:var(--secondary);font-size:.8rem;font-weight:600}.section-header.centered{text-align:center;max-width:700px;margin-left:auto;margin-right:auto}.section-header.light .section-title{color:var(--white)}.section-header.light .section-subtitle{color:#ffffffb3}.section-title{margin-bottom:var(--space-md)}.section-title .highlight{color:var(--secondary);font-style:italic}.section-subtitle{color:var(--text-muted);font-size:1.1rem;line-height:1.7}.about{background:var(--white);overflow:hidden}.about-bg-element{pointer-events:none;background:radial-gradient(circle,#c9a96214 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-100px;right:-200px}.about-wrapper{gap:var(--space-3xl);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about-visual{position:relative}.visual-frame{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.visual-frame.main{z-index:2;position:relative}.visual-frame.secondary{z-index:3;border:4px solid var(--white);width:200px;height:250px;position:absolute;bottom:-40px;right:-40px}.frame-border{border:2px solid var(--secondary);border-radius:var(--radius-lg);z-index:-1;width:calc(100% - 40px);height:calc(100% - 40px);position:absolute;inset:20px auto auto 20px}.image-placeholder{aspect-ratio:4/5;justify-content:center;align-items:center;gap:var(--space-sm);text-transform:uppercase;letter-spacing:2px;flex-direction:column;font-size:.85rem;font-weight:500;display:flex}.image-placeholder.luxury{color:var(--primary);background:linear-gradient(135deg,#d4bc7d 0%,#c9a962 100%)}.image-placeholder.garden{color:var(--white);background:linear-gradient(135deg,#7fa67f 0%,#5a8a5a 100%)}.image-placeholder i{opacity:.5;font-size:3rem}.visual-accent{background:var(--primary);color:var(--secondary);padding:var(--space-md)var(--space-lg);border-radius:var(--radius-md);z-index:4;position:absolute;top:-20px;left:-20px}.accent-year{font-family:var(--font-display);letter-spacing:2px;font-size:1.25rem;font-weight:600}.about-content h3{color:var(--secondary);margin-bottom:var(--space-md);font-size:1.75rem}.about-text{margin-bottom:var(--space-xl)}.about-text .lead{color:var(--text);margin-bottom:var(--space-md);font-size:1.2rem}.about-text p{color:var(--text-muted)}.about-features{gap:var(--space-md);margin-bottom:var(--space-xl);display:grid}.feature-item{align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--light);border-radius:var(--radius-md);transition:var(--transition);display:flex}.feature-item:hover{box-shadow:var(--shadow-sm);transform:translate(10px)}.feature-icon{background:var(--secondary);width:50px;height:50px;color:var(--primary);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.feature-text h4{font-family:var(--font-body);color:var(--primary);margin-bottom:.25rem;font-size:1rem;font-weight:600}.feature-text p{color:var(--text-muted);margin:0;font-size:.9rem}.experience{background:var(--light)}.experience-grid{gap:var(--space-lg);grid-template-columns:repeat(3,1fr);display:grid}.experience-card{background:var(--white);padding:var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition);position:relative;overflow:hidden}.experience-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-10px)}.experience-card:before{content:"";background:var(--secondary);width:4px;height:0;transition:var(--transition);position:absolute;top:0;left:0}.experience-card:hover:before{height:100%}.card-icon{background:linear-gradient(135deg,var(--primary)0%,var(--primary-light)100%);width:60px;height:60px;color:var(--secondary);border-radius:var(--radius-md);margin-bottom:var(--space-md);justify-content:center;align-items:center;font-size:1.5rem;display:flex}.card-content h3{font-family:var(--font-body);color:var(--primary);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.card-content p{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.6}.card-number{top:var(--space-md);right:var(--space-md);font-family:var(--font-display);color:#c9a96226;font-size:2.5rem;font-weight:600;position:absolute}.services{background:var(--light)}.services-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.service-card{background:var(--white);padding:var(--space-xl);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid #0000}.service-card:hover{box-shadow:var(--shadow-md);border-color:#c9a96233;transform:translateY(-8px)}.service-icon{width:70px;height:70px;margin:0 auto var(--space-md);color:var(--secondary);background:linear-gradient(135deg,#c9a9621a 0%,#e8d5b533 100%);border-radius:50%;justify-content:center;align-items:center;font-size:1.8rem;display:flex}.service-card h3{font-family:var(--font-display);color:var(--primary);margin-bottom:var(--space-sm);font-size:1.3rem}.service-card p{color:var(--text-muted);font-size:.95rem;line-height:1.6}.bookings-info{margin-top:var(--space-2xl)}.bookings-card{background:linear-gradient(135deg,var(--primary)0%,var(--primary-light)100%);border-radius:var(--radius-lg);padding:var(--space-xl);align-items:center;gap:var(--space-lg);color:var(--white);display:flex}.bookings-icon{width:80px;height:80px;color:var(--secondary);background:#c9a96233;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:2rem;display:flex}.bookings-content h3{font-family:var(--font-display);margin-bottom:var(--space-sm);color:var(--white);font-size:1.8rem}.bookings-content p{color:#fffc;margin-bottom:var(--space-md);line-height:1.7}@media (max-width:768px){.bookings-card{text-align:center;flex-direction:column}}.rooms{background:var(--cream);position:relative}.rooms-bg-pattern{opacity:.5;background:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50 50m-40 0a40,40 0 1,0 80,0a40,40 0 1,0 -80,0' fill='none' stroke='%23c9a962' stroke-opacity='0.03' stroke-width='1'/%3E%3C/svg%3E");position:absolute;inset:0}.rooms-showcase{gap:var(--space-lg);z-index:1;grid-template-columns:repeat(3,1fr);display:grid;position:relative}.room-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition);overflow:hidden}.room-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-10px)}.room-image{position:relative;overflow:hidden}.room-img-bg{aspect-ratio:16/10;color:var(--white);letter-spacing:2px;text-transform:uppercase;transition:var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;display:flex}.room-img-bg i{opacity:.8;font-size:3rem}.room-img-bg.single{background:linear-gradient(135deg,#6b8e7b 0%,#4a6b5a 100%)}.room-img-bg.double{background:linear-gradient(135deg,#8b7355 0%,#6b5a45 100%)}.room-img-bg.family{background:linear-gradient(135deg,#9b6b5a 0%,#7b4b3a 100%)}.room-card:hover .room-img-bg{transform:scale(1.05)}.room-badge{top:var(--space-md);left:var(--space-md);background:var(--white);color:var(--primary);letter-spacing:1px;text-transform:uppercase;border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.7rem;font-weight:700;position:absolute}.room-badge.premium{background:var(--gold)}.room-badge.exclusive{background:var(--primary);color:var(--secondary)}.room-overlay{opacity:0;transition:var(--transition);background:#1a1a2ecc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.room-card:hover .room-overlay{opacity:1}.room-quick-book{background:var(--secondary);color:var(--primary);letter-spacing:1.5px;text-transform:uppercase;border-radius:var(--radius-sm);transition:var(--transition);padding:.75rem 1.5rem;font-size:.75rem;font-weight:600;transform:translateY(20px)}.room-card:hover .room-quick-book{transform:translateY(0)}.room-details{padding:var(--space-lg)}.room-meta{margin-bottom:var(--space-sm);justify-content:space-between;align-items:center;display:flex}.room-type{color:var(--secondary);text-transform:uppercase;letter-spacing:1px;font-size:.75rem;font-weight:600}.room-size{color:var(--text-muted);font-size:.8rem}.room-size i{margin-right:.25rem}.room-title{margin-bottom:var(--space-sm);color:var(--primary);font-size:1.5rem}.room-description{color:var(--text-muted);margin-bottom:var(--space-md);font-size:.95rem}.room-amenities{margin-bottom:var(--space-lg);grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.room-amenities li{color:var(--text);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.room-amenities i{color:var(--secondary);font-size:.75rem}.room-footer{padding-top:var(--space-md);border-top:1px solid #00000014;justify-content:space-between;align-items:center;display:flex}.price-from{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:.7rem;display:block}.price-amount{font-family:var(--font-display);color:var(--primary);font-size:2rem;font-weight:600}.price-period{color:var(--text-muted);font-size:.9rem}.rooms-cta{text-align:center;margin-top:var(--space-2xl)}.rooms-cta p{color:var(--text-muted);margin-bottom:var(--space-md)}.gallery{background:var(--white)}.gallery-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr);grid-auto-rows:200px;display:grid}.gallery-item.large,.gallery-item.tall{grid-row:span 2}.gallery-image{width:100%;height:100%}.gallery-placeholder{width:100%;height:100%;color:var(--white);letter-spacing:2px;text-transform:uppercase;transition:var(--transition);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;display:flex}.gallery-placeholder i{opacity:.7;font-size:2rem}.gallery-placeholder.exterior{background:linear-gradient(135deg,#4a5568 0%,#2d3748 100%)}.gallery-placeholder.rooms{background:linear-gradient(135deg,#8b7355 0%,#6b5a45 100%)}.gallery-placeholder.dining{background:linear-gradient(135deg,#c9a962 0%,#a08040 100%)}.gallery-placeholder.garden{background:linear-gradient(135deg,#68a868 0%,#4a8a4a 100%)}.gallery-placeholder.lobby{background:linear-gradient(135deg,#9b8b7b 0%,#7b6b5b 100%)}.gallery-placeholder.bathroom{background:linear-gradient(135deg,#6b8b9b 0%,#4b6b7b 100%)}.gallery-overlay{padding:var(--space-lg);opacity:0;transition:var(--transition);background:linear-gradient(#0000 40%,#1a1a2ee6 100%);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-item:hover .gallery-placeholder{transform:scale(1.1)}.gallery-category{color:var(--secondary);text-transform:uppercase;letter-spacing:2px;margin-bottom:.25rem;font-size:.7rem}.gallery-title{color:var(--white);margin:0;font-size:1.25rem}.gallery-zoom{top:var(--space-md);right:var(--space-md);background:var(--white);width:40px;height:40px;color:var(--primary);cursor:pointer;opacity:0;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;transform:translateY(-20px)}.gallery-item:hover .gallery-zoom{opacity:1;transform:translateY(0)}.testimonials{background:var(--primary);position:relative;overflow:hidden}.testimonials-bg{background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.02'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");position:absolute;inset:0}.testimonials-slider{max-width:1000px;margin:0 auto;position:relative}.testimonial-track{gap:var(--space-lg);scroll-snap-type:x mandatory;scrollbar-width:none;padding:var(--space-md);display:flex;overflow-x:auto}.testimonial-track::-webkit-scrollbar{display:none}.testimonial-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg);max-width:350px;padding:var(--space-xl);scroll-snap-align:center;background:#ffffff0d;border:1px solid #ffffff1a;flex:0 0 100%}.testimonial-rating{margin-bottom:var(--space-md)}.testimonial-rating i{color:var(--secondary);margin-right:2px;font-size:.9rem}.testimonial-text{color:#fffc;margin-bottom:var(--space-lg);font-size:1rem;font-style:italic;line-height:1.8}.testimonial-author{align-items:center;gap:var(--space-md);display:flex}.author-avatar{background:var(--secondary);width:50px;height:50px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.author-info h5{color:var(--white);font-family:var(--font-body);margin-bottom:.25rem;font-size:1rem;font-weight:600}.author-info span{color:#ffffff80;font-size:.85rem}.testimonial-nav{justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);display:flex}.testimonial-nav button{width:40px;height:40px;color:var(--white);cursor:pointer;transition:var(--transition-fast);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;display:flex}.testimonial-nav button:hover{background:var(--secondary);color:var(--primary)}.nav-dots{gap:.5rem;display:flex}.testimonial-trust{margin-top:var(--space-2xl);text-align:center}.trust-scores{justify-content:center;gap:var(--space-xl);flex-wrap:wrap;display:flex}.trust-item{flex-direction:column;align-items:center;gap:.5rem;display:flex}.trust-item img{opacity:.7;filter:brightness(0)invert();width:auto;height:24px}.trust-rating{color:var(--secondary);font-weight:600}.booking{background:var(--light)}.booking-wrapper{gap:var(--space-3xl);grid-template-columns:1fr 1.2fr;align-items:start;display:grid}.booking-intro{color:var(--text-muted);margin-bottom:var(--space-xl);font-size:1.1rem;line-height:1.8}.booking-highlights{margin-bottom:var(--space-xl)}.highlight-item{align-items:center;gap:var(--space-sm);padding:var(--space-sm)0;color:var(--text);display:flex}.highlight-item i{color:var(--secondary)}.booking-contact{background:var(--primary);color:var(--white);padding:var(--space-lg);border-radius:var(--radius-lg)}.booking-contact h4{color:var(--secondary);margin-bottom:.5rem;font-size:1.25rem}.booking-contact p{opacity:.7;margin-bottom:var(--space-md);font-size:.95rem}.contact-phone{color:var(--white);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;display:inline-flex}.contact-phone i{color:var(--secondary);font-size:1rem}.booking-form{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.form-header{background:var(--primary);color:var(--white);padding:var(--space-lg);text-align:center}.form-header h3{color:var(--secondary);margin-bottom:.25rem}.form-header p{opacity:.7;margin:0;font-size:.9rem}.form-body{padding:var(--space-xl)}.form-row{gap:var(--space-md);margin-bottom:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.form-row.single{grid-template-columns:1fr}.form-group.full{grid-column:span 2}.form-group label{color:var(--text);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.85rem;font-weight:500;display:flex}.form-group label i{color:var(--secondary);font-size:.9rem}.form-group input,.form-group select,.form-group textarea{background:var(--light);border-radius:var(--radius-md);width:100%;color:var(--text);transition:var(--transition-fast);border:2px solid #0000;padding:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--secondary);background:var(--white)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-footer{padding:var(--space-lg);padding-top:0}.form-note{text-align:center;color:var(--text-muted);margin-top:var(--space-md);font-size:.8rem}.form-note i{color:var(--secondary);margin-right:.25rem}.contact{background:var(--white)}.contact-grid{gap:var(--space-2xl);grid-template-columns:1fr 1fr;display:grid}.contact-cards{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.contact-card{background:var(--light);padding:var(--space-lg);border-radius:var(--radius-lg);transition:var(--transition)}.contact-card:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.contact-card .card-icon{background:var(--secondary);width:50px;height:50px;color:var(--primary);border-radius:var(--radius-md);margin-bottom:var(--space-md);justify-content:center;align-items:center;font-size:1.25rem;display:flex}.contact-card h4{font-family:var(--font-body);color:var(--primary);margin-bottom:.5rem;font-size:1rem;font-weight:600}.contact-card p{color:var(--text-muted);margin-bottom:var(--space-md);font-size:.95rem;line-height:1.6}.card-link{color:var(--secondary);align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:inline-flex}.card-link:hover{color:var(--primary)}.card-link i{transition:var(--transition-fast);font-size:.75rem}.card-link:hover i{transform:translate(4px)}.map-wrapper{border-radius:var(--radius-lg);height:100%;min-height:400px;overflow:hidden}.map-placeholder{justify-content:center;align-items:center;gap:var(--space-sm);background:linear-gradient(135deg,var(--primary)0%,var(--primary-light)100%);width:100%;height:100%;min-height:400px;color:var(--white);flex-direction:column;display:flex}.map-placeholder i{opacity:.5;font-size:3rem}.map-placeholder span{font-size:1.25rem;font-weight:600}.map-placeholder p{opacity:.6;margin:0;font-size:.9rem}.footer{background:var(--primary);color:var(--white)}.footer-top{padding:var(--space-3xl)0 var(--space-2xl)}.footer-grid{gap:var(--space-2xl);grid-template-columns:1.5fr 1fr 1fr 1.5fr;display:grid}.footer-logo{margin-bottom:var(--space-md);align-items:center;gap:.75rem;display:flex}.footer-logo .logo-mark{color:var(--secondary);font-size:1.5rem}.footer-logo .logo-text{font-family:var(--font-display);font-size:1.5rem;font-weight:600}.footer-brand p{color:#ffffffb3;margin-bottom:var(--space-lg);line-height:1.8}.footer-social{gap:var(--space-sm);display:flex}.footer-social a{width:40px;height:40px;color:var(--white);transition:var(--transition-fast);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;display:flex}.footer-social a:hover{background:var(--secondary);color:var(--primary)}.footer-links h4{color:var(--secondary);margin-bottom:var(--space-lg);font-size:1rem;font-family:var(--font-body);letter-spacing:1px;font-weight:600}.footer-links ul{flex-direction:column;gap:.75rem;display:flex}.footer-links a{color:#ffffffb3;transition:var(--transition-fast);font-size:.95rem}.footer-links a:hover{color:var(--secondary)}.footer-newsletter h4{color:var(--secondary);margin-bottom:var(--space-md);font-size:1rem;font-family:var(--font-body);letter-spacing:1px;font-weight:600}.footer-newsletter p{color:#ffffffb3;margin-bottom:var(--space-md);font-size:.95rem}.newsletter-form .input-group{display:flex}.newsletter-form input{border-radius:var(--radius-md)0 0 var(--radius-md);color:var(--white);background:#ffffff1a;border:none;flex:1;padding:1rem}.newsletter-form input::placeholder{color:#ffffff80}.newsletter-form button{background:var(--secondary);color:var(--primary);border-radius:0 var(--radius-md)var(--radius-md)0;cursor:pointer;transition:var(--transition-fast);padding:1rem 1.25rem}.newsletter-form button:hover{background:var(--white)}.footer-badges{gap:var(--space-sm);margin-top:var(--space-md);display:flex}.footer-badges .badge{border-radius:var(--radius-md);color:#ffffffb3;background:#ffffff0d;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;display:inline-flex}.footer-badges .badge i{color:var(--secondary)}.footer-bottom{padding:var(--space-lg)0;border-top:1px solid #ffffff1a}.footer-bottom .container{justify-content:space-between;align-items:center;display:flex}.footer-bottom p{color:#fff9;margin:0;font-size:.9rem}.footer-legal{gap:var(--space-lg);display:flex}.footer-legal a{color:#fff9;font-size:.9rem}.footer-legal a:hover{color:var(--secondary)}.back-to-top{background:var(--primary);width:50px;height:50px;color:var(--white);cursor:pointer;z-index:900;opacity:0;visibility:hidden;transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:30px;right:30px}.back-to-top.visible{opacity:1;visibility:visible}.back-to-top:hover{background:var(--secondary);color:var(--primary);transform:translateY(-3px)}.back-to-top .progress-ring{position:absolute;inset:-3px;transform:rotate(-90deg)}.back-to-top .progress-ring circle{fill:none;stroke:var(--secondary);stroke-width:2px;stroke-dasharray:138;stroke-dashoffset:138px}.lightbox{z-index:2000;opacity:0;visibility:hidden;transition:var(--transition);background:#000000f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox.active{opacity:1;visibility:visible}.lightbox-close{top:var(--space-lg);right:var(--space-lg);width:50px;height:50px;color:var(--white);cursor:pointer;transition:var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute}.lightbox-close:hover{color:var(--secondary)}.lightbox-content{max-width:90%;max-height:80%}.lightbox-image{object-fit:contain;width:100%;height:100%}.lightbox-prev,.lightbox-next{width:50px;height:50px;color:var(--white);cursor:pointer;transition:var(--transition-fast);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev:hover,.lightbox-next:hover{background:var(--secondary);color:var(--primary)}@media (max-width:1024px){.about-wrapper{gap:var(--space-2xl);grid-template-columns:1fr}.about-visual{max-width:500px;margin:0 auto}.experience-grid,.rooms-showcase{grid-template-columns:repeat(2,1fr)}.booking-wrapper,.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.nav-menu{background:var(--primary);justify-content:center;gap:var(--space-lg);width:80%;max-width:350px;height:100vh;transition:var(--transition);flex-direction:column;position:fixed;top:0;right:-100%}.nav-menu.active{right:0}.nav-menu .nav-link{color:var(--white);font-size:1rem}.nav-toggle{display:flex}.nav-book-btn,.hero-social{display:none}.hero-stats{gap:var(--space-md);flex-direction:column}.stat-divider{width:40px;height:1px}.experience-grid,.rooms-showcase{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.gallery-item.large,.gallery-item.tall{grid-row:span 1}.contact-cards,.form-row{grid-template-columns:1fr}.form-group.full{grid-column:span 1}.footer-grid{text-align:center;grid-template-columns:1fr}.footer-social{justify-content:center}.footer-bottom .container{gap:var(--space-md);flex-direction:column}.footer-legal{justify-content:center}.floating-book-btn{padding:.75rem 1rem;bottom:80px;right:15px}.floating-book-btn .btn-text{display:none}}@media (max-width:480px){.hero-title{font-size:2.5rem}.section{padding:var(--space-2xl)0}.gallery-grid{grid-template-columns:1fr}}.hero-video{object-fit:cover;z-index:0;filter:brightness(.7)saturate(1.1);width:100%;height:100%;position:absolute;top:0;left:0}.hero-bg-fallback{z-index:-1;background:linear-gradient(135deg,#1a1a2e 0%,#2d2d44 30%,#3d3d5c 60%,#1a1a2e 100%);width:100%;height:100%;position:absolute;top:0;left:0}.video-fallback .hero-bg-fallback{z-index:0;background:linear-gradient(135deg,#1a1a2e 0%,#2d2d44 25%,#c9a96233 50%,#2d2d44 75%,#1a1a2e 100%) 0 0/400% 400%;animation:15s infinite gradientShift}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.hero-bg-overlay{background:linear-gradient(#1a1a2e66 0%,#1a1a2e33 40%,#1a1a2e99 100%)}.film-grain{pointer-events:none;z-index:9998;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);background:#1a1a2ed9;border-bottom:1px solid #c9a9621a}.floating-book-btn{-webkit-backdrop-filter:blur(10px)}.section-vertical-label{transform-origin:50%;z-index:10;pointer-events:none;position:absolute;top:50%;left:30px;transform:translateY(-50%)rotate(-90deg)}.section-vertical-label span{font-family:var(--font-body);letter-spacing:4px;text-transform:uppercase;color:var(--secondary);opacity:.7;white-space:nowrap;font-size:.7rem;font-weight:600}.editorial-section{position:relative}.statement-title{letter-spacing:-.02em;font-size:clamp(2.5rem,6vw,5rem)!important;font-weight:300!important;line-height:1.1!important}.title-italic{color:var(--secondary);font-style:italic;font-weight:400;display:inline}.hero .statement-title{font-size:clamp(3rem,10vw,8rem)!important;font-weight:200!important}.hero .title-line{display:block}.editorial-container{max-width:1400px}.broken-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:4rem;display:grid}.editorial-visual{position:relative}.overlap-right{z-index:2;position:relative;transform:translate(40px)}.overlap-bottom{z-index:3;width:55%;box-shadow:var(--shadow-lg);position:absolute;bottom:-60px;right:-40px}.floating{animation:6s ease-in-out infinite floatSoft}@keyframes floatSoft{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-15px)rotate(-3deg)}}.editorial-content{padding-left:2rem}.editorial-text{max-width:500px}.editorial-text p{color:var(--text-muted);font-size:1.05rem;line-height:1.9}.editorial-text .lead{color:var(--text);font-size:1.15rem;font-weight:400}.explorer-map{background:0 0}.explorer-map-container{background:linear-gradient(135deg,var(--primary)0%,var(--primary-light)100%);border-radius:var(--radius-lg);width:100%;height:400px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.map-background{opacity:.15;position:absolute;inset:0}.map-grid{background-image:linear-gradient(#c9a9624d 1px,#0000 1px),linear-gradient(90deg,#c9a9624d 1px,#0000 1px);background-size:40px 40px;width:100%;height:100%}.map-pin{z-index:5;cursor:pointer;transition:all .4s;position:absolute;transform:translate(-50%,-50%)}.map-pin:hover{z-index:10;transform:translate(-50%,-50%)scale(1.1)}.pin-icon{background:var(--secondary);width:50px;height:50px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .3s;display:flex;box-shadow:0 4px 20px #c9a96280}.main-pin .pin-icon{background:linear-gradient(135deg,var(--secondary)0%,var(--secondary-light)100%);width:70px;height:70px;font-size:1.5rem}.pin-icon.spot{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--secondary);width:40px;height:40px;color:var(--secondary);background:#ffffff26;font-size:1rem}.pin-pulse{background:var(--secondary);border-radius:50%;width:100%;height:100%;animation:2s ease-out infinite pinPulse;position:absolute}@keyframes pinPulse{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}.pin-label{background:var(--white);color:var(--primary);border-radius:var(--radius-sm);white-space:nowrap;box-shadow:var(--shadow-md);padding:.5rem 1rem;font-size:.8rem;font-weight:600;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.pin-tooltip{background:var(--white);border-radius:var(--radius-md);opacity:0;visibility:hidden;box-shadow:var(--shadow-md);white-space:nowrap;text-align:center;padding:.75rem 1rem;transition:all .3s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(10px)}.spot-pin:hover .pin-tooltip{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.tooltip-title{color:var(--primary);font-size:.85rem;font-weight:600;display:block}.tooltip-desc{color:var(--text-muted);margin-top:2px;font-size:.75rem;display:block}.map-legend{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:#fffffff2;padding:1rem 1.25rem;position:absolute;bottom:20px;left:20px}.map-legend h5{font-family:var(--font-display);color:var(--primary);margin-bottom:.75rem;font-size:.9rem;font-weight:600}.legend-items{flex-direction:column;gap:.5rem;display:flex}.legend-item{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.legend-dot{border:2px solid var(--secondary);border-radius:50%;width:10px;height:10px}.legend-dot.coffee{background:#8b4513}.legend-dot.beach{background:#40e0d0}.legend-dot.historic{background:#daa520}.legend-dot.market{background:#228b22}.section{padding:var(--space-3xl)0}.section-header{margin-bottom:var(--space-2xl)}@media (max-width:1024px){.section-vertical-label{display:none}.broken-grid{grid-template-columns:1fr;gap:3rem}.overlap-right{transform:none}.overlap-bottom{width:80%;margin-top:-40px;margin-left:auto;position:relative;bottom:auto;right:auto}.editorial-content{padding-left:0}.statement-title{font-size:clamp(2rem,5vw,3.5rem)!important}.hero .statement-title{font-size:clamp(2.5rem,8vw,5rem)!important}}@media (max-width:768px){.explorer-map-container{height:350px}.map-legend{padding:.75rem 1rem;bottom:10px;left:10px}.main-pin .pin-icon{width:50px;height:50px;font-size:1.2rem}.pin-icon.spot{width:35px;height:35px;font-size:.9rem}}.modal-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10000;opacity:0;visibility:hidden;background:#0f0f1ad9;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;transition:all .4s cubic-bezier(.165,.84,.44,1);display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;visibility:visible}.modal-container{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:1000px;box-shadow:var(--shadow-lg);transition:all .5s cubic-bezier(.19,1,.22,1);position:relative;overflow:hidden;transform:translateY(30px)scale(.95)}.modal-overlay.active .modal-container{transform:translateY(0)scale(1)}.modal-close{width:40px;height:40px;color:var(--primary);cursor:pointer;z-index:10;box-shadow:var(--shadow-sm);background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .3s;display:flex;position:absolute;top:20px;right:20px}.modal-close:hover{background:var(--primary);color:var(--white);transform:rotate(90deg)}.modal-content{grid-template-columns:1.2fr 1fr;height:600px;display:grid}.modal-gallery{background:var(--light);position:relative;overflow:hidden}.modal-image-main{background:linear-gradient(135deg,var(--primary)0%,var(--primary-light)100%);color:#ffffff1a;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.modal-image-main i{font-size:8rem}.modal-info{flex-direction:column;padding:3rem;display:flex;overflow-y:auto}.modal-subtitle{text-transform:uppercase;letter-spacing:2px;color:var(--secondary);margin-bottom:.5rem;font-size:.8rem;font-weight:600}.modal-title{font-family:var(--font-display);color:var(--primary);margin-bottom:1.5rem;font-size:3rem;line-height:1}.modal-meta{border-bottom:1px solid #0000000d;gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.modal-meta span{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.modal-meta i{color:var(--secondary)}.modal-description{color:var(--text-muted);margin-bottom:2rem;line-height:1.8}.modal-amenities h4{color:var(--primary);margin-bottom:1rem;font-size:1rem}.amenities-grid{grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:2rem;padding:0;list-style:none;display:grid}.amenities-grid li{color:var(--text-muted);align-items:center;gap:.75rem;font-size:.9rem;display:flex}.amenities-grid li i{width:24px;height:24px;color:var(--secondary);background:#c9a9621a;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;display:flex}.modal-footer{border-top:1px solid #0000000d;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1.5rem;display:flex}.modal-price .price-val{font-family:var(--font-display);color:var(--primary);font-size:2.5rem;font-weight:700}.modal-price .price-unit{color:var(--text-muted);font-size:.9rem}@media (max-width:900px){.modal-content{grid-template-columns:1fr;height:auto;max-height:90vh;overflow-y:auto}.modal-gallery{height:250px}.modal-info{padding:2rem}.modal-title{font-size:2rem}}.gallery-page{min-height:100vh}.gallery-hero{background:linear-gradient(135deg,var(--primary)0%,var(--primary-light)100%);align-items:center;height:50vh;min-height:400px;display:flex;position:relative;overflow:hidden}.gallery-hero-overlay{opacity:.3;background:url(/images/outdoor-seating.jpg) 50%/cover;position:absolute;inset:0}.gallery-hero-content{z-index:2;text-align:center;color:var(--white);position:relative}.gallery-hero .back-link{color:var(--white);opacity:.8;transition:var(--transition-fast);align-items:center;gap:.5rem;margin-bottom:1.5rem;display:inline-flex}.gallery-hero .back-link:hover{opacity:1}.gallery-title{font-family:var(--font-display);color:var(--white);margin-bottom:1rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:500}.gallery-subtitle{opacity:.9;max-width:600px;margin:0 auto;font-size:1.1rem}.gallery-filter-section{background:var(--white);z-index:100;box-shadow:var(--shadow-sm);padding:2rem 0;position:sticky;top:76px}.gallery-filter{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.filter-btn{border:2px solid var(--primary);color:var(--primary);border-radius:var(--radius-xl);cursor:pointer;transition:var(--transition-fast);background:0 0;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500}.filter-btn:hover,.filter-btn.active{background:var(--primary);color:var(--white)}.gallery-grid-section{background:var(--cream);padding:3rem 0 5rem}.gallery-masonry{grid-template-columns:repeat(3,1fr);grid-auto-rows:250px;gap:1.5rem;display:grid}.gallery-item{border-radius:var(--radius-md);cursor:pointer;position:relative;overflow:hidden}.gallery-item.featured{grid-row:span 2}.gallery-item-inner{width:100%;height:100%;position:relative}.gallery-item img{object-fit:cover;filter:grayscale(20%);width:100%;height:100%;transition:var(--transition)}.gallery-item:hover img{filter:grayscale(0%);transform:scale(1.1)}.gallery-item-overlay{opacity:0;transition:var(--transition);background:linear-gradient(#0000 40%,#000c 100%);flex-direction:column;justify-content:flex-end;padding:1.5rem;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-item-overlay{opacity:1}.gallery-item-category{text-transform:uppercase;letter-spacing:2px;color:var(--secondary);margin-bottom:.25rem;font-size:.75rem}.gallery-item-title{font-family:var(--font-display);color:var(--white);font-size:1.25rem;font-weight:500}.gallery-item-icon{background:var(--secondary);width:50px;height:50px;color:var(--primary);transition:var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.gallery-item:hover .gallery-item-icon{transform:translate(-50%,-50%)scale(1)}.lightbox{z-index:10000;opacity:1;visibility:visible;background:#000000f2;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.lightbox-close{width:50px;height:50px;color:var(--white);cursor:pointer;transition:var(--transition-fast);background:0 0;border:2px solid #ffffff4d;border-radius:50%;font-size:1.25rem;position:absolute;top:2rem;right:2rem}.lightbox-close:hover{background:var(--secondary);border-color:var(--secondary);color:var(--primary)}.lightbox-nav{width:50px;height:50px;color:var(--white);cursor:pointer;transition:var(--transition-fast);background:#ffffff1a;border:none;border-radius:50%;font-size:1.25rem;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:var(--secondary);color:var(--primary)}.lightbox-prev{left:2rem}.lightbox-next{right:2rem}.lightbox-content{flex-direction:column;align-items:center;max-width:90vw;max-height:80vh;display:flex}.lightbox-content img{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:75vh}.lightbox-caption{color:var(--white);font-family:var(--font-display);margin-top:1rem;font-size:1.25rem}.lightbox-counter{color:#fff9;font-size:.9rem;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.gallery-cta{background:var(--primary);text-align:center;padding:5rem 0}.gallery-cta-content h2{font-family:var(--font-display);color:var(--white);margin-bottom:1rem;font-size:clamp(2rem,4vw,3rem)}.gallery-cta-content p{color:#fffc;margin-bottom:2rem;font-size:1.1rem}@media (max-width:992px){.container{padding:0 var(--space-md)}.nav-menu{display:none}.nav-toggle{display:flex!important}.hero-content h1{font-size:clamp(2.5rem,6vw,4rem)}.about-grid,.services-grid,.facilities-grid{grid-template-columns:1fr;gap:2rem}.room-detail-page .section>.container>div{grid-template-columns:1fr!important}.gallery-masonry{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}}@media (max-width:768px){:root{--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem}h1{font-size:clamp(2rem,8vw,3rem)}h2{font-size:clamp(1.75rem,6vw,2.5rem)}h3{font-size:clamp(1.25rem,4vw,1.5rem)}.navbar{padding:1rem 0}.nav-container{padding:0 1rem}.nav-logo .logo-main{font-size:1rem}.nav-logo .logo-sub{letter-spacing:2px;font-size:.55rem}.hero{min-height:70vh}.hero-content{text-align:center;padding:0 1rem}.hero-buttons{flex-direction:column;gap:1rem}.hero-buttons .btn{justify-content:center;width:100%}.section{padding:3rem 0}.section-header{margin-bottom:2rem}.about-images{height:300px}.about-features{grid-template-columns:1fr}.rooms-grid{gap:1.5rem;grid-template-columns:1fr!important}.room-card{max-width:100%}.room-card-image{height:220px}.room-hero{min-height:40vh!important;padding:2rem 0!important}.room-hero h1{font-size:2rem!important}.room-hero>div>div{flex-direction:column!important;gap:.75rem!important}.room-detail-page .section{padding:2rem 0!important}.room-detail-page .section>.container>div{grid-template-columns:1fr!important;gap:2rem!important}.room-detail-page h2{font-size:1.5rem!important}.room-detail-page h3{font-size:1.25rem!important}.room-detail-page div[style*="grid-template-columns: repeat(auto-fill"]{grid-template-columns:1fr 1fr!important}.room-detail-page div[style*="gridTemplateColumns: 'repeat(3, 1fr)'"],.room-detail-page div[style*="grid-template-columns: repeat(3"]{grid-template-columns:repeat(2,1fr)!important}.booking-card{margin-top:2rem;position:static!important}.services-grid,.facilities-grid,.contact-grid{grid-template-columns:1fr!important}.footer-grid{text-align:center;gap:2rem;grid-template-columns:1fr!important}.footer-links{justify-content:center}.footer-bottom-content{text-align:center;flex-direction:column;gap:1rem}.gallery-hero{height:40vh;min-height:300px}.gallery-filter-section{padding:1rem 0;top:60px}.gallery-filter{gap:.5rem}.filter-btn{padding:.5rem 1rem;font-size:.8rem}.gallery-masonry{grid-template-columns:1fr;grid-auto-rows:250px}.gallery-item.featured{grid-row:span 1}.gallery-item-overlay{opacity:1;background:linear-gradient(#0000 50%,#000000b3 100%)}.gallery-item-icon{display:none}.gallery-cta{padding:3rem 0}.lightbox{padding:1rem}.lightbox-close{width:40px;height:40px;top:1rem;right:1rem}.lightbox-nav{width:40px;height:40px}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}.btn{padding:.875rem 1.5rem;font-size:.8rem}.btn.large{padding:1rem 2rem}.floating-book-btn{padding:.75rem 1rem;font-size:.75rem;bottom:80px;right:15px}.admin-table{display:block;overflow-x:auto}}@media (max-width:480px){.container{padding:0 1rem}.hero-content h1{font-size:2rem}.nav-logo .logo-text{display:none}.gallery-title{font-size:2rem}.gallery-subtitle{font-size:.95rem}.room-detail-page div[style*="grid-template-columns: repeat(auto-fill"],.room-detail-page div[style*="gridTemplateColumns: 'repeat(3, 1fr)'"],.room-detail-page div[style*="grid-template-columns: repeat(3"]{grid-template-columns:1fr!important}}@media (hover:none) and (pointer:coarse){.gallery-item-overlay{opacity:1}.gallery-item img{filter:none}.gallery-item-icon{display:none}.btn:hover,.room-card:hover{transform:none}.filter-btn{min-height:44px}.lightbox-nav,.lightbox-close{min-width:44px;min-height:44px}}
