/* Gita Maha Hotel — halaman "index"
   Hasil [CONVERTING] 01-10-2026: ekstraksi + inflate dari /_next/static/css/c1d5022a6c677a38.css + /_next/static/css/513d4a57c4364e8d.css
   Font dipindahkan ke /fonts/ (dari /_next/static/media/). Dipanggil dari /index.php
   Sumber asli: /archives/_next/static/css/  ·  backup halaman: /archives/index.html
*/

/* ===== c1d5022a6c677a38.css ===== */
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-display:swap;
  font-weight:400;
  src:url(/fonts/cormorant-garamond-cyrillic-ext-400-normal.a731b325.woff2) format("woff2"),url(/fonts/cormorant-garamond-cyrillic-ext-400-normal.6624aabc.woff) format("woff");
  unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f;
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-display:swap;
  font-weight:400;
  src:url(/fonts/cormorant-garamond-cyrillic-400-normal.45ad9b64.woff2) format("woff2"),url(/fonts/cormorant-garamond-cyrillic-400-normal.9df354c1.woff) format("woff");
  unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116;
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-display:swap;
  font-weight:400;
  src:url(/fonts/cormorant-garamond-vietnamese-400-normal.8013fb29.woff2) format("woff2"),url(/fonts/cormorant-garamond-vietnamese-400-normal.8e99a789.woff) format("woff");
  unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab;
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-display:swap;
  font-weight:400;
  src:url(/fonts/cormorant-garamond-latin-ext-400-normal.d75a2a84.woff2) format("woff2"),url(/fonts/cormorant-garamond-latin-ext-400-normal.cc135074.woff) format("woff");
  unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;
  font-weight:400;
  src:url(/fonts/cormorant-garamond-latin-400-normal.92f9a759.woff2) format("woff2"),url(/fonts/cormorant-garamond-latin-400-normal.753a0e70.woff) format("woff");
  unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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-display:swap;
  font-weight:500;
  src:url(/fonts/cormorant-garamond-cyrillic-ext-500-normal.d97f4cfb.woff2) format("woff2"),url(/fonts/cormorant-garamond-cyrillic-ext-500-normal.c541922a.woff) format("woff");
  unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f;
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-display:swap;
  font-weight:500;
  src:url(/fonts/cormorant-garamond-cyrillic-500-normal.abfcc86a.woff2) format("woff2"),url(/fonts/cormorant-garamond-cyrillic-500-normal.4b8d5622.woff) format("woff");
  unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116;
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-display:swap;
  font-weight:500;
  src:url(/fonts/cormorant-garamond-vietnamese-500-normal.899649e4.woff2) format("woff2"),url(/fonts/cormorant-garamond-vietnamese-500-normal.5c8761f2.woff) format("woff");
  unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab;
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-display:swap;
  font-weight:500;
  src:url(/fonts/cormorant-garamond-latin-ext-500-normal.3cab7b12.woff2) format("woff2"),url(/fonts/cormorant-garamond-latin-ext-500-normal.53b11bdb.woff) format("woff");
  unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;
  font-weight:500;
  src:url(/fonts/cormorant-garamond-latin-500-normal.37a9a8cd.woff2) format("woff2"),url(/fonts/cormorant-garamond-latin-500-normal.5a368ae3.woff) format("woff");
  unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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-display:swap;
  font-weight:600;
  src:url(/fonts/cormorant-garamond-cyrillic-ext-600-normal.54baf623.woff2) format("woff2"),url(/fonts/cormorant-garamond-cyrillic-ext-600-normal.8da966cc.woff) format("woff");
  unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f;
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-display:swap;
  font-weight:600;
  src:url(/fonts/cormorant-garamond-cyrillic-600-normal.0217bfb5.woff2) format("woff2"),url(/fonts/cormorant-garamond-cyrillic-600-normal.d96e2338.woff) format("woff");
  unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116;
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-display:swap;
  font-weight:600;
  src:url(/fonts/cormorant-garamond-vietnamese-600-normal.eaa3b246.woff2) format("woff2"),url(/fonts/cormorant-garamond-vietnamese-600-normal.c6b2405e.woff) format("woff");
  unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab;
}
@font-face {
  font-family:Cormorant Garamond;
  font-style:normal;
  font-display:swap;
  font-weight:600;
  src:url(/fonts/cormorant-garamond-latin-ext-600-normal.6992a3c6.woff2) format("woff2"),url(/fonts/cormorant-garamond-latin-ext-600-normal.37b5a669.woff) format("woff");
  unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-display:swap;
  font-weight:600;
  src:url(/fonts/cormorant-garamond-latin-600-normal.0e4e8436.woff2) format("woff2"),url(/fonts/cormorant-garamond-latin-600-normal.7a726ec1.woff) format("woff");
  unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:400;
  src:url(/fonts/manrope-cyrillic-ext-400-normal.a5c383ef.woff2) format("woff2"),url(/fonts/manrope-cyrillic-ext-400-normal.caf05daa.woff) format("woff");
  unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:400;
  src:url(/fonts/manrope-cyrillic-400-normal.1a075d0e.woff2) format("woff2"),url(/fonts/manrope-cyrillic-400-normal.95a0f8ac.woff) format("woff");
  unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:400;
  src:url(/fonts/manrope-greek-400-normal.bc105591.woff2) format("woff2"),url(/fonts/manrope-greek-400-normal.9a9de066.woff) format("woff");
  unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:400;
  src:url(/fonts/manrope-vietnamese-400-normal.a26cf291.woff2) format("woff2"),url(/fonts/manrope-vietnamese-400-normal.a9032236.woff) format("woff");
  unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:400;
  src:url(/fonts/manrope-latin-ext-400-normal.f51947ce.woff2) format("woff2"),url(/fonts/manrope-latin-ext-400-normal.58abc3ce.woff) format("woff");
  unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:400;
  src:url(/fonts/manrope-latin-400-normal.b69ff29f.woff2) format("woff2"),url(/fonts/manrope-latin-400-normal.3f370876.woff) format("woff");
  unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:500;
  src:url(/fonts/manrope-cyrillic-ext-500-normal.922f2946.woff2) format("woff2"),url(/fonts/manrope-cyrillic-ext-500-normal.86328423.woff) format("woff");
  unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:500;
  src:url(/fonts/manrope-cyrillic-500-normal.ac925df1.woff2) format("woff2"),url(/fonts/manrope-cyrillic-500-normal.d0b4a6ff.woff) format("woff");
  unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:500;
  src:url(/fonts/manrope-greek-500-normal.0f4495db.woff2) format("woff2"),url(/fonts/manrope-greek-500-normal.cf2d38df.woff) format("woff");
  unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:500;
  src:url(/fonts/manrope-vietnamese-500-normal.9225174a.woff2) format("woff2"),url(/fonts/manrope-vietnamese-500-normal.86b7a7d6.woff) format("woff");
  unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:500;
  src:url(/fonts/manrope-latin-ext-500-normal.f764fbe1.woff2) format("woff2"),url(/fonts/manrope-latin-ext-500-normal.e7e2486a.woff) format("woff");
  unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:500;
  src:url(/fonts/manrope-latin-500-normal.1439e66f.woff2) format("woff2"),url(/fonts/manrope-latin-500-normal.f0da4735.woff) format("woff");
  unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:600;
  src:url(/fonts/manrope-cyrillic-ext-600-normal.a74c4161.woff2) format("woff2"),url(/fonts/manrope-cyrillic-ext-600-normal.455508e1.woff) format("woff");
  unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:600;
  src:url(/fonts/manrope-cyrillic-600-normal.84ba124a.woff2) format("woff2"),url(/fonts/manrope-cyrillic-600-normal.d65ac87d.woff) format("woff");
  unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:600;
  src:url(/fonts/manrope-greek-600-normal.7ae33930.woff2) format("woff2"),url(/fonts/manrope-greek-600-normal.6cf8e3f3.woff) format("woff");
  unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:600;
  src:url(/fonts/manrope-vietnamese-600-normal.9bfcdf51.woff2) format("woff2"),url(/fonts/manrope-vietnamese-600-normal.66b2fc17.woff) format("woff");
  unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:600;
  src:url(/fonts/manrope-latin-ext-600-normal.113492de.woff2) format("woff2"),url(/fonts/manrope-latin-ext-600-normal.c64864a7.woff) format("woff");
  unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:600;
  src:url(/fonts/manrope-latin-600-normal.ef413a9e.woff2) format("woff2"),url(/fonts/manrope-latin-600-normal.bdb77099.woff) format("woff");
  unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:700;
  src:url(/fonts/manrope-cyrillic-ext-700-normal.5a42cea0.woff2) format("woff2"),url(/fonts/manrope-cyrillic-ext-700-normal.ea9a46b1.woff) format("woff");
  unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:700;
  src:url(/fonts/manrope-cyrillic-700-normal.a3ab8973.woff2) format("woff2"),url(/fonts/manrope-cyrillic-700-normal.378d7f92.woff) format("woff");
  unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:700;
  src:url(/fonts/manrope-greek-700-normal.10d94036.woff2) format("woff2"),url(/fonts/manrope-greek-700-normal.fce81a65.woff) format("woff");
  unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:700;
  src:url(/fonts/manrope-vietnamese-700-normal.094f003f.woff2) format("woff2"),url(/fonts/manrope-vietnamese-700-normal.08c4ad85.woff) format("woff");
  unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab;
}
@font-face {
  font-family:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:700;
  src:url(/fonts/manrope-latin-ext-700-normal.cc5a4362.woff2) format("woff2"),url(/fonts/manrope-latin-ext-700-normal.d4cf530f.woff) format("woff");
  unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Manrope;
  font-style:normal;
  font-display:swap;
  font-weight:700;
  src:url(/fonts/manrope-latin-700-normal.4fc2723e.woff2) format("woff2"),url(/fonts/manrope-latin-700-normal.91396a4b.woff) format("woff");
  unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd;
}

/* ===== 513d4a57c4364e8d.css ===== */
:root {
  --ivory:#f4ede1;
  --warm-white:#fcf9f3;
  --paper:#f8f3e9;
  --espresso:#2b1e17;
  --charcoal:#1e1a17;
  --antique-gold:#b58a48;
  --deep-gold:#93672f;
  --teak:#795139;
  --sage:#68705d;
  --deep-green:#27382d;
  --muted:#73685f;
  --line:rgba(43,30,23,0.14);
  --line-light:rgba(252,249,243,0.22);
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Manrope",Arial,sans-serif;
  --shell:1240px;
  --shadow:0 28px 80px rgba(43,30,23,0.14);
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  background:var(--warm-white);
  color:var(--espresso);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.7;
  text-rendering:optimizeLegibility;
}
body::selection {
  color:var(--warm-white);
  background:var(--teak);
}
a {
  color:inherit;
  text-decoration:none;
}
img {
  display:block;
  max-width:100%;
}
button,input,select,textarea {
  color:inherit;
  font:inherit;
}
a,button,input,select,summary,textarea {
  -webkit-tap-highlight-color:transparent;
}
:focus-visible {
  outline:3px solid var(--antique-gold);
  outline-offset:4px;
}
.shell {
  width:min(calc(100% - 48px),var(--shell));
  margin-inline:auto;
}
.skip-link {
  position:fixed;
  top:14px;
  left:14px;
  z-index:1000;
  padding:11px 16px;
  color:var(--warm-white);
  background:var(--espresso);
  transform:translateY(-150%);
  transition:transform .18s ease;
}
.skip-link:focus {
  transform:translateY(0);
}
h1,h2,h3,p {
  margin-top:0;
}
h1,h2,h3 {
  font-family:var(--serif);
  font-weight:500;
  letter-spacing:-.035em;
}
h2 {
  margin-bottom:24px;
  font-size:clamp(2.8rem,5.4vw,5.25rem);
  line-height:.95;
}
.eyebrow {
  margin-bottom:18px;
  color:var(--deep-gold);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.22em;
  line-height:1.4;
  text-transform:uppercase;
}
.section {
  padding-block:clamp(88px,10vw,156px);
}
.section-intro {
  max-width:780px;
  margin-bottom:clamp(50px,7vw,88px);
}
.section-intro.is-centered {
  margin-inline:auto;
  text-align:center;
}
.section-intro h2 {
  margin-bottom:28px;
}
.section-description {
  max-width:670px;
  margin-bottom:0;
  color:var(--muted);
  font-size:clamp(1rem,1.5vw,1.16rem);
  line-height:1.85;
}
.section-intro.is-centered .section-description {
  margin-inline:auto;
}
.large-body {
  color:var(--espresso);
  font-family:var(--serif);
  font-size:clamp(1.55rem,2.5vw,2.25rem);
  line-height:1.3;
}
.button-row {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px 26px;
}
.button {
  display:inline-flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  border:1px solid transparent;
  border-radius:2px;
  padding:0 24px;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease;
}
.button:hover {
  transform:translateY(-2px);
}
.button-gold {
  color:var(--espresso);
  background:var(--antique-gold);
  border-color:var(--antique-gold);
}
.button-gold:hover {
  color:var(--warm-white);
  background:var(--teak);
  border-color:var(--teak);
}
.button-dark {
  color:var(--warm-white);
  background:var(--espresso);
  border-color:var(--espresso);
}
.button-dark:hover {
  background:var(--teak);
  border-color:var(--teak);
}
.button-outline {
  color:var(--espresso);
  border-color:var(--line);
  background:transparent;
}
.button-outline:hover {
  border-color:var(--espresso);
}
.button-ghost {
  color:var(--warm-white);
  border-color:rgba(252,249,243,.58);
  background:rgba(30,26,23,.08);
}
.button-ghost:hover {
  background:rgba(252,249,243,.12);
  border-color:var(--warm-white);
}
.text-link {
  position:relative;
  display:inline-block;
  padding-block:6px;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.text-link:after {
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:currentColor;
  content:"";
  transform:scaleX(.25);
  transform-origin:left;
  transition:transform .22s ease;
}
.text-link:hover:after {
  transform:scaleX(1);
}
.text-link-light {
  color:var(--warm-white);
}
.site-header {
  position:fixed;
  inset:0 0 auto;
  z-index:100;
  min-height:86px;
  border-bottom:1px solid transparent;
  transition:color .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.site-header.is-transparent {
  color:var(--warm-white);
  background:linear-gradient(180deg,rgba(20,16,13,.45),transparent);
}
.site-header.is-solid {
  color:var(--espresso);
  border-color:var(--line);
  background:rgba(252,249,243,.96);
  box-shadow:0 8px 30px rgba(43,30,23,.05);
  backdrop-filter:blur(14px);
}
.header-inner {
  display:grid;
  min-height:86px;
  grid-template-columns:150px 1fr auto;
  align-items:center;
  gap:30px;
}
.brand-logo {
  display:inline-flex;
  width:188px;
  height:120px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:var(--warm-white);
}
.brand-logo img {
  width:188px;
  height:auto;
}
.brand-logo.is-compact {
  width:138px;
  height:78px;
  background:rgba(252,249,243,.94);
}
.brand-logo.is-compact img {
  width:138px;
}
.primary-nav {
  justify-self:center;
}
.nav-links {
  display:flex;
  align-items:center;
  gap:clamp(14px,1.8vw,28px);
}
.nav-links a {
  position:relative;
  padding-block:10px;
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.nav-links a:after {
  position:absolute;
  right:0;
  bottom:3px;
  left:0;
  height:1px;
  background:currentColor;
  content:"";
  transform:scaleX(0);
  transition:transform .18s ease;
}
.nav-links a.is-active:after,.nav-links a:hover:after {
  transform:scaleX(1);
}
.header-book-button {
  min-height:46px;
  color:var(--warm-white);
  border-color:var(--espresso);
  background:var(--espresso);
}
.is-transparent .header-book-button {
  color:var(--warm-white);
  border-color:rgba(252,249,243,.55);
  background:rgba(30,26,23,.18);
}
.menu-toggle,.nav-mobile-actions {
  display:none;
}
.home-hero {
  position:relative;
  display:grid;
  min-height:100svh;
  align-items:end;
  overflow:hidden;
  color:var(--warm-white);
  background:var(--deep-green);
}
.home-hero-image,.home-hero-overlay {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.home-hero-image {
  object-fit:cover;
  object-position:center 48%;
  animation:hero-settle 1.4s ease both;
}
.home-hero-overlay {
  background:linear-gradient(90deg,rgba(22,17,13,.74),rgba(22,17,13,.36) 52%,rgba(22,17,13,.06)),linear-gradient(0deg,rgba(22,17,13,.64),rgba(22,17,13,.03) 55%);
}
@keyframes hero-settle {
  0% {
    transform:scale(1.025);
  }
  to {
    transform:scale(1);
  }
}
.home-hero-content {
  position:relative;
  z-index:2;
  padding-block:170px 150px;
}
.home-hero .eyebrow {
  color:#dbc495;
}
.home-hero h1 {
  max-width:930px;
  margin-bottom:28px;
  font-size:clamp(4rem,8vw,8rem);
  line-height:.86;
}
.hero-copy {
  max-width:650px;
  margin-bottom:36px;
  color:rgba(252,249,243,.86);
  font-size:clamp(1.08rem,1.7vw,1.35rem);
  line-height:1.75;
}
.hero-caption {
  position:absolute;
  right:30px;
  bottom:38px;
  z-index:2;
  color:rgba(252,249,243,.75);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
  writing-mode:vertical-rl;
}
.quick-booking {
  position:relative;
  z-index:5;
  margin-top:-64px;
}
.quick-booking>.shell {
  padding:26px 30px 30px;
  border-top:3px solid var(--antique-gold);
  background:var(--warm-white);
  box-shadow:var(--shadow);
}
.quick-booking-heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
}
.quick-booking-heading span {
  color:var(--deep-gold);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.quick-booking-heading strong {
  font-family:var(--serif);
  font-size:1.35rem;
  font-weight:500;
}
.booking-form {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.booking-form.is-compact {
  grid-template-columns:1fr 1fr .58fr .58fr 1fr auto;
  align-items:end;
  gap:12px;
}
.field {
  display:grid;
  gap:8px;
}
.field label {
  color:var(--muted);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.field input,.field select,.field textarea {
  width:100%;
  min-width:0;
  min-height:54px;
  border:1px solid var(--line);
  border-radius:2px;
  padding:0 14px;
  outline:none;
  background:#fffdf9;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.field textarea {
  min-height:130px;
  padding-block:14px;
  resize:vertical;
}
.field input:focus,.field select:focus,.field textarea:focus {
  border-color:var(--teak);
  box-shadow:0 0 0 3px rgba(121,81,57,.12);
}
.booking-submit,.field-wide {
  grid-column:1/-1;
}
.booking-submit {
  display:flex;
  align-items:center;
  gap:18px;
}
.booking-form.is-compact .booking-submit {
  display:block;
  grid-column:auto;
}
.booking-submit p {
  max-width:370px;
  margin:0;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.5;
}
.booking-form.is-compact .booking-submit p {
  display:none;
}
.booking-submit .button {
  min-width:190px;
  white-space:nowrap;
}
.booking-submit .button:disabled {
  cursor:wait;
  opacity:.72;
  transform:none;
}
.form-error {
  grid-column:1/-1;
  margin:0;
  padding:10px 12px;
  color:#7b261f;
  border-left:3px solid #9e3b31;
  background:#faece9;
  font-size:.85rem;
}
.warm-intro {
  padding-top:clamp(140px,14vw,210px);
  background:var(--warm-white);
}
.intro-editorial-grid {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.82fr);
  align-items:center;
  gap:clamp(60px,9vw,130px);
}
.intro-image-wrap {
  position:relative;
  min-height:670px;
}
.intro-image-wrap img {
  width:86%;
  height:620px;
  object-fit:cover;
  object-position:center;
}
.intro-image-wrap:after {
  position:absolute;
  right:0;
  bottom:0;
  width:48%;
  height:380px;
  border:12px solid var(--warm-white);
  background:url(/images/property/swimming-pool.webp) 50%/cover no-repeat;
  content:"";
}
.intro-image-wrap span {
  position:absolute;
  right:-5px;
  top:26px;
  z-index:2;
  padding:20px 4px;
  color:var(--deep-gold);
  border-top:1px solid var(--antique-gold);
  border-bottom:1px solid var(--antique-gold);
  font-family:var(--serif);
  font-size:1rem;
  letter-spacing:.1em;
  line-height:1.1;
  text-transform:uppercase;
  writing-mode:vertical-rl;
}
.intro-copy-block>p:not(.eyebrow) {
  max-width:560px;
  margin-bottom:34px;
  color:var(--muted);
}
.intro-copy-block .section-intro {
  margin-bottom:0;
}
.highlights-band {
  color:var(--warm-white);
  background:var(--deep-green);
}
.highlights-list {
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.highlights-list article {
  min-height:260px;
  padding:42px 32px;
  border-left:1px solid var(--line-light);
}
.highlights-list article:last-child {
  border-right:1px solid var(--line-light);
}
.highlights-list span {
  display:block;
  margin-bottom:38px;
  color:#cfb681;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.18em;
}
.highlights-list h2 {
  margin-bottom:14px;
  font-size:clamp(1.7rem,2.2vw,2.5rem);
  line-height:1;
}
.highlights-list p {
  margin:0;
  color:rgba(252,249,243,.67);
  font-size:.86rem;
}
.rooms-preview-section {
  background:var(--ivory);
}
.rooms-editorial-list {
  display:grid;
  gap:clamp(80px,10vw,140px);
}
.room-editorial {
  display:grid;
  grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);
  align-items:center;
  gap:clamp(50px,8vw,110px);
}
.room-editorial:nth-child(2n) .room-editorial-image {
  order:2;
}
.room-editorial-image {
  position:relative;
}
.room-editorial-image img {
  width:100%;
  height:clamp(470px,55vw,690px);
  object-fit:cover;
}
.room-editorial-image span {
  position:absolute;
  right:-28px;
  bottom:34px;
  display:grid;
  width:72px;
  height:72px;
  place-items:center;
  color:var(--warm-white);
  background:var(--teak);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.14em;
}
.room-editorial-copy h3 {
  margin:0 0 24px;
  font-size:clamp(3rem,5vw,5rem);
  line-height:.93;
}
.room-editorial-copy>p:not(.eyebrow) {
  color:var(--muted);
}
.feature-list,.room-editorial-copy ul {
  display:grid;
  gap:0;
  margin:30px 0 36px;
  padding:0;
  list-style:none;
  border-top:1px solid var(--line);
}
.feature-list li,.room-editorial-copy li {
  position:relative;
  padding:12px 0 12px 22px;
  border-bottom:1px solid var(--line);
  font-size:.82rem;
}
.feature-list li:before,.room-editorial-copy li:before {
  position:absolute;
  left:0;
  color:var(--antique-gold);
  content:"✦";
  font-size:.58rem;
}
.home-dining-section {
  padding-block:clamp(90px,11vw,160px);
  color:var(--warm-white);
  background:var(--deep-green);
}
.home-dining-grid {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  align-items:center;
  gap:clamp(55px,8vw,110px);
}
.home-dining-image {
  position:relative;
}
.home-dining-image img {
  width:100%;
  height:clamp(500px,57vw,720px);
  object-fit:cover;
}
.home-dining-image span {
  position:absolute;
  right:0;
  bottom:0;
  padding:14px 18px;
  color:var(--espresso);
  background:var(--antique-gold);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.home-dining-copy .section-intro {
  margin-bottom:36px;
}
.home-dining-copy .eyebrow,.home-dining-copy .section-description {
  color:#ddc795;
}
.home-dining-copy .section-description {
  color:rgba(252,249,243,.7);
}
.home-dining-copy .button-dark {
  color:var(--espresso);
  border-color:var(--antique-gold);
  background:var(--antique-gold);
}
.home-dining-copy .text-link {
  color:var(--warm-white);
}
.experiences-preview-section {
  background:var(--warm-white);
}
.complimentary-home-callout {
  display:grid;
  grid-template-columns:1fr .92fr auto;
  align-items:center;
  gap:42px;
  margin-bottom:44px;
  padding:34px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.complimentary-home-callout .eyebrow {
  margin-bottom:10px;
}
.complimentary-home-callout h3 {
  margin:0;
  font-size:clamp(2rem,3.2vw,3.4rem);
  line-height:1;
}
.complimentary-home-callout ul {
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.complimentary-home-callout li {
  position:relative;
  padding-left:20px;
  color:var(--muted);
  font-size:.82rem;
}
.complimentary-home-callout li:before {
  position:absolute;
  left:0;
  color:var(--antique-gold);
  content:"✦";
  font-size:.58rem;
}
.experience-mosaic {
  display:grid;
  min-height:970px;
  grid-template-columns:1.25fr .75fr .82fr;
  grid-template-rows:1fr .78fr;
  gap:12px;
}
.experience-tile {
  position:relative;
  min-height:330px;
  overflow:hidden;
  color:var(--warm-white);
  background:var(--espresso);
}
.experience-tile-1 {
  grid-row:1/3;
}
.experience-tile-2 {
  grid-column:2/4;
}
.experience-tile img,.experience-tile-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.experience-tile img {
  object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.2,1);
}
.experience-tile:hover img {
  transform:scale(1.035);
}
.experience-tile-shade {
  background:linear-gradient(0deg,rgba(20,15,12,.78),rgba(20,15,12,.02) 70%);
}
.experience-tile-copy {
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  z-index:2;
  padding:clamp(24px,3vw,42px);
}
.experience-tile-copy p {
  margin-bottom:8px;
  color:#ddc795;
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.experience-tile-copy h3 {
  margin:0 0 10px;
  font-size:clamp(2rem,4vw,4rem);
  line-height:.95;
}
.experience-tile-copy strong {
  display:block;
  margin-bottom:14px;
  font-size:.8rem;
  letter-spacing:.06em;
}
.experience-tile-copy a {
  border-bottom:1px solid rgba(252,249,243,.48);
  font-size:.69rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.section-link-row {
  display:flex;
  justify-content:flex-end;
  margin-top:42px;
}
.story-section {
  padding-block:clamp(90px,12vw,170px);
  overflow:hidden;
  color:var(--warm-white);
  background:var(--espresso);
}
.story-grid {
  display:grid;
  grid-template-columns:1fr .86fr;
  align-items:center;
  gap:70px;
}
.story-word {
  color:rgba(244,237,225,.055);
  font-family:var(--serif);
  font-size:clamp(8rem,17vw,17rem);
  letter-spacing:-.08em;
  line-height:.62;
  white-space:nowrap;
  transform:translateX(-8%);
}
.story-copy .eyebrow {
  color:#cfb681;
}
.story-copy h2 {
  font-size:clamp(3rem,5vw,5.6rem);
}
.story-copy>p:last-child {
  max-width:600px;
  color:rgba(252,249,243,.68);
}
.gallery-page-section,.gallery-preview-section {
  background:var(--paper);
}
.gallery-grid {
  display:grid;
  grid-auto-rows:260px;
  grid-template-columns:repeat(12,1fr);
  gap:14px;
}
.gallery-item {
  position:relative;
  min-height:260px;
  overflow:hidden;
  border:0;
  border-radius:0;
  padding:0;
  cursor:zoom-in;
  background:var(--ivory);
}
.gallery-item-1 {
  grid-column:1/8;
  grid-row:span 2;
}
.gallery-item-2,.gallery-item-3 {
  grid-column:8/13;
}
.gallery-item-4 {
  grid-column:1/5;
}
.gallery-item-5 {
  grid-column:5/9;
}
.gallery-item-6 {
  grid-column:9/13;
}
.gallery-item-7 {
  grid-column:1/7;
}
.gallery-item-8 {
  grid-column:7/13;
}
.gallery-item-9 {
  grid-column:1/9;
  grid-row:span 2;
}
.gallery-item-10 {
  grid-column:9/13;
  grid-row:span 2;
}
.gallery-item img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.gallery-item:focus-visible img,.gallery-item:hover img {
  transform:scale(1.035);
}
.gallery-item span {
  position:absolute;
  right:18px;
  bottom:16px;
  left:18px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  color:var(--warm-white);
  font-family:var(--serif);
  font-size:1.2rem;
  text-align:left;
  text-shadow:0 2px 14px rgba(0,0,0,.5);
}
.gallery-item span small {
  font-family:var(--sans);
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.lightbox {
  position:fixed;
  inset:0;
  z-index:500;
  display:grid;
  place-items:center;
  padding:70px 90px;
  color:var(--warm-white);
  background:rgba(20,15,12,.96);
}
.lightbox figure {
  display:grid;
  max-width:min(1100px,82vw);
  max-height:82vh;
  gap:12px;
  margin:0;
  place-items:center;
}
.lightbox figure img {
  max-width:100%;
  max-height:75vh;
  object-fit:contain;
}
.lightbox figcaption {
  font-family:var(--serif);
  font-size:1.2rem;
}
.lightbox-arrow,.lightbox-close {
  min-width:48px;
  min-height:48px;
  border:1px solid rgba(252,249,243,.35);
  color:var(--warm-white);
  cursor:pointer;
  background:transparent;
}
.lightbox-close {
  position:absolute;
  top:22px;
  right:24px;
  padding-inline:16px;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.lightbox-arrow {
  position:absolute;
  top:50%;
  font-size:1.4rem;
  transform:translateY(-50%);
}
.lightbox-previous {
  left:24px;
}
.lightbox-next {
  right:24px;
}
.location-home-section {
  background:var(--warm-white);
}
.location-home-grid,.location-page-grid {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  align-items:center;
  gap:clamp(50px,8vw,110px);
}
.location-home-grid .section-intro,.location-page-grid .section-intro {
  margin-bottom:28px;
}
.location-address,.location-home-grid address {
  margin-bottom:32px;
  color:var(--muted);
  font-style:normal;
}
.map-frame {
  position:relative;
  min-height:560px;
  border:1px solid var(--line);
  background:var(--ivory);
}
.map-frame:after,.map-frame:before {
  position:absolute;
  z-index:2;
  color:var(--antique-gold);
  content:"✦";
  font-size:1.1rem;
}
.map-frame:before {
  top:-15px;
  left:-15px;
}
.map-frame:after {
  right:-15px;
  bottom:-15px;
}
.map-frame iframe {
  width:100%;
  height:100%;
  min-height:560px;
  border:0;
  filter:sepia(.08) saturate(.82) contrast(.95);
}
.final-cta {
  position:relative;
  display:grid;
  min-height:690px;
  align-items:center;
  overflow:hidden;
  color:var(--warm-white);
  background:var(--deep-green);
}
.final-cta-overlay,.final-cta>img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.final-cta>img {
  object-fit:cover;
}
.final-cta-overlay {
  background:linear-gradient(90deg,rgba(25,19,15,.82),rgba(25,19,15,.16));
}
.final-cta-content {
  position:relative;
  z-index:2;
}
.final-cta-content .eyebrow {
  color:#d9c190;
}
.final-cta-content h2 {
  max-width:800px;
  margin-bottom:28px;
  font-size:clamp(4rem,7.5vw,8rem);
}
.final-cta-content>p:not(.eyebrow) {
  max-width:570px;
  margin-bottom:34px;
  color:rgba(252,249,243,.76);
  font-size:1.1rem;
}
.page-hero,.room-detail-hero {
  position:relative;
  display:grid;
  min-height:74svh;
  align-items:end;
  overflow:hidden;
  color:var(--warm-white);
  background:var(--espresso);
}
.page-hero-overlay,.page-hero>img,.room-detail-hero>img,.room-detail-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.page-hero>img,.room-detail-hero>img {
  object-fit:cover;
}
.page-hero-overlay,.room-detail-shade {
  background:linear-gradient(90deg,rgba(24,17,13,.74),rgba(24,17,13,.18)),linear-gradient(0deg,rgba(24,17,13,.68),transparent 65%);
}
.page-hero-content,.room-detail-hero-copy {
  position:relative;
  z-index:2;
  padding-block:180px 90px;
}
.page-hero-content .eyebrow,.room-detail-hero-copy .eyebrow {
  color:#ddc795;
}
.page-hero-content h1,.room-detail-hero-copy h1 {
  max-width:1000px;
  margin-bottom:24px;
  font-size:clamp(4rem,8vw,8.5rem);
  line-height:.85;
}
.page-hero-content>p:last-child,.room-detail-hero-copy>p:last-child {
  max-width:650px;
  margin:0;
  color:rgba(252,249,243,.8);
  font-size:clamp(1.05rem,1.6vw,1.3rem);
}
.breadcrumbs {
  display:flex;
  min-height:68px;
  align-items:center;
  gap:8px;
  color:var(--muted);
  border-bottom:1px solid var(--line);
  font-size:.69rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.breadcrumbs span:not(:last-child):after {
  margin-left:8px;
  color:var(--antique-gold);
  content:"/";
}
.breadcrumbs a:hover {
  color:var(--espresso);
}
.rooms-page-list {
  display:grid;
  gap:100px;
}
.room-page-card {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:center;
  gap:clamp(50px,8vw,110px);
}
.room-page-card:nth-child(2n) .room-page-card-image {
  order:2;
}
.room-page-card-image {
  position:relative;
}
.room-page-card-image img {
  width:100%;
  height:620px;
  object-fit:cover;
}
.room-page-card-image span {
  position:absolute;
  right:-25px;
  bottom:28px;
  display:grid;
  width:70px;
  height:70px;
  place-items:center;
  color:var(--warm-white);
  background:var(--teak);
  font-size:.7rem;
  letter-spacing:.14em;
}
.room-page-card-copy h2 {
  margin-bottom:26px;
}
.room-page-card-copy>p:not(.eyebrow) {
  color:var(--muted);
}
.feature-list-two-columns {
  grid-template-columns:1fr 1fr;
}
.room-comfort-section,.room-features-section {
  color:var(--warm-white);
  background:var(--deep-green);
}
.room-comfort-grid,.room-features-grid {
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:clamp(60px,9vw,130px);
}
.room-comfort-grid .eyebrow,.room-features-grid .eyebrow {
  color:#ddc795;
}
.editorial-service-list {
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--line-light);
}
.editorial-service-list li {
  display:grid;
  min-height:58px;
  grid-template-columns:55px 1fr;
  align-items:center;
  border-bottom:1px solid var(--line-light);
}
.editorial-service-list li span {
  color:#c6a76e;
  font-size:.62rem;
  letter-spacing:.12em;
}
.room-detail-hero {
  min-height:86svh;
}
.room-detail-intro {
  background:var(--warm-white);
}
.room-detail-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:90px;
}
.ideal-for {
  display:grid;
  margin-top:40px;
  padding-top:24px;
  border-top:1px solid var(--line);
  font-family:var(--serif);
  font-size:1.35rem;
}
.ideal-for span {
  color:var(--muted);
  font-family:var(--sans);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.room-detail-gallery {
  display:grid;
  grid-template-columns:1.3fr .7fr;
  align-items:stretch;
  gap:14px;
  padding-bottom:clamp(90px,10vw,150px);
}
.room-detail-gallery figure {
  min-height:540px;
  margin:0;
  overflow:hidden;
}
.room-detail-gallery img {
  width:100%;
  height:100%;
  object-fit:cover;
}
.room-experience-video-section {
  position:relative;
  overflow:hidden;
  color:var(--warm-white);
  background:radial-gradient(circle at 15% 15%,rgba(181,138,72,.2),transparent 28%),var(--deep-green);
}
.room-experience-video-section:after {
  position:absolute;
  right:-12vw;
  bottom:-28vw;
  width:52vw;
  height:52vw;
  border:1px solid rgba(221,199,149,.2);
  border-radius:50%;
  content:"";
}
.room-experience-video-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(360px,.72fr);
  align-items:center;
  gap:clamp(70px,10vw,150px);
}
.room-experience-video-copy .eyebrow {
  color:#ddc795;
}
.room-experience-video-copy h2 {
  max-width:720px;
  margin-bottom:28px;
  font-size:clamp(4rem,7vw,7.6rem);
}
.room-experience-video-copy .large-body {
  max-width:690px;
  color:rgba(252,249,243,.76);
}
.room-experience-video-copy ul {
  max-width:690px;
  margin:40px 0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--line-light);
}
.room-experience-video-copy li {
  display:grid;
  min-height:62px;
  grid-template-columns:58px 1fr;
  align-items:center;
  border-bottom:1px solid var(--line-light);
  color:rgba(252,249,243,.86);
}
.room-experience-video-copy li span {
  color:#ddc795;
  font-size:.62rem;
  letter-spacing:.14em;
}
.room-experience-video-frame {
  position:relative;
  width:min(100%,500px);
  justify-self:end;
  padding:12px;
  border:1px solid rgba(221,199,149,.38);
  background:rgba(14,29,22,.72);
  box-shadow:0 38px 90px rgba(10,17,13,.38);
}
.room-experience-video-frame video {
  display:block;
  width:100%;
  aspect-ratio:9/16;
  object-fit:cover;
  background:#15110e;
}
.room-experience-video-frame>span {
  position:absolute;
  top:34px;
  right:0;
  padding:11px 15px;
  color:var(--espresso);
  background:#ddc795;
  font-size:.61rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  transform:translateX(26px);
}
.junior-suite-gallery {
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:245px;
}
.junior-suite-gallery figure {
  min-height:0;
}
.junior-suite-gallery figure:first-child {
  grid-column:1/9;
  grid-row:span 2;
}
.junior-suite-gallery figure:nth-child(2) {
  grid-column:9/13;
  grid-row:span 2;
}
.junior-suite-gallery figure:nth-child(3) {
  grid-column:1/5;
  grid-row:span 2;
}
.junior-suite-gallery figure:nth-child(4) {
  grid-column:5/9;
  grid-row:span 2;
}
.junior-suite-gallery figure:nth-child(5) {
  grid-column:9/13;
  grid-row:span 2;
}
.junior-suite-gallery figure:nth-child(6) {
  grid-column:4/10;
  grid-row:span 2;
}
.room-features-grid>div>p:last-child {
  color:rgba(252,249,243,.65);
}
.feature-list-large {
  margin:0;
  border-color:var(--line-light);
}
.feature-list-large li {
  min-height:58px;
  border-color:var(--line-light);
}
.next-room {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding-block:70px;
}
.next-room p {
  margin:0;
  color:var(--muted);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.next-room a {
  display:flex;
  flex:1;
  align-items:center;
  justify-content:space-between;
  padding-bottom:8px;
  border-bottom:1px solid var(--line);
  font-family:var(--serif);
  font-size:clamp(2rem,4vw,4rem);
}
.experiences-page-intro {
  padding-bottom:70px;
}
.experience-list {
  display:grid;
  gap:clamp(90px,12vw,160px);
  padding-bottom:clamp(100px,12vw,170px);
}
.experience-detail {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(370px,.9fr);
  align-items:center;
  gap:clamp(50px,8vw,110px);
}
.experience-detail:nth-child(2n) .experience-detail-image {
  order:2;
}
.experience-detail-image {
  position:relative;
}
.experience-detail-image img {
  width:100%;
  height:650px;
  object-fit:cover;
}
.experience-detail-image span {
  position:absolute;
  right:-24px;
  bottom:28px;
  display:grid;
  width:68px;
  height:68px;
  place-items:center;
  color:var(--warm-white);
  background:var(--teak);
  font-size:.68rem;
  letter-spacing:.14em;
}
.experience-detail-copy h2 {
  margin-bottom:18px;
}
.experience-price {
  display:inline-block;
  margin-bottom:24px;
  padding:9px 12px;
  color:var(--deep-gold);
  border-top:1px solid var(--antique-gold);
  border-bottom:1px solid var(--antique-gold);
  font-size:.77rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.experience-detail details {
  margin:28px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.experience-detail summary {
  position:relative;
  min-height:56px;
  padding:16px 42px 16px 0;
  cursor:pointer;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.09em;
  list-style:none;
  text-transform:uppercase;
}
.experience-detail summary::-webkit-details-marker {
  display:none;
}
.experience-detail summary:after {
  position:absolute;
  top:15px;
  right:0;
  content:"+";
  font-size:1.5rem;
  font-weight:400;
}
.experience-detail details[open] summary:after {
  content:"−";
}
.experience-drawer {
  padding:0 0 22px;
}
.experience-drawer ul {
  margin:0 0 18px;
  padding-left:20px;
  color:var(--muted);
}
.experience-drawer p {
  margin-bottom:8px;
  font-weight:700;
}
.experience-drawer small {
  display:block;
  color:var(--muted);
  line-height:1.6;
}
.experience-visual-note {
  display:grid;
  grid-template-columns:180px 1fr;
  gap:40px;
  margin-bottom:clamp(90px,10vw,140px);
  padding:32px;
  color:var(--warm-white);
  background:var(--deep-green);
}
.experience-visual-note span {
  color:#ddc795;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.experience-visual-note p {
  margin:0;
}
.complimentary-experiences {
  padding-block:clamp(90px,11vw,160px);
  color:var(--warm-white);
  background:var(--deep-green);
}
.complimentary-heading {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:end;
  gap:80px;
  margin-bottom:clamp(55px,7vw,90px);
}
.complimentary-grid .eyebrow,.complimentary-heading .eyebrow {
  color:#ddc795;
}
.complimentary-heading h2 {
  margin:0;
}
.complimentary-heading>p {
  margin:0;
  color:rgba(252,249,243,.7);
}
.complimentary-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line-light);
  border-left:1px solid var(--line-light);
}
.complimentary-grid article {
  display:flex;
  min-height:610px;
  flex-direction:column;
  padding:clamp(28px,4vw,48px);
  border-right:1px solid var(--line-light);
  border-bottom:1px solid var(--line-light);
}
.complimentary-grid article>span {
  margin-bottom:auto;
  color:#cfb681;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.14em;
}
.complimentary-grid h3 {
  margin:0 0 22px;
  font-size:clamp(2.4rem,3.8vw,4rem);
  line-height:.95;
}
.complimentary-grid .large-body {
  color:var(--warm-white);
  font-size:clamp(1.35rem,2vw,1.75rem);
}
.complimentary-grid article>p:not(.eyebrow):not(.large-body) {
  color:rgba(252,249,243,.68);
  font-size:.86rem;
}
.complimentary-grid article>strong {
  display:block;
  margin:22px 0;
  color:#ddc795;
  font-size:.68rem;
  letter-spacing:.09em;
  line-height:1.6;
  text-transform:uppercase;
}
.complimentary-grid .button {
  align-self:flex-start;
  margin-top:auto;
}
.signature-experience-heading {
  padding-bottom:60px;
}
.dining-intro-grid {
  display:grid;
  grid-template-columns:1.05fr .65fr;
  align-items:start;
  gap:clamp(60px,9vw,130px);
}
.dining-intro-grid .section-intro {
  margin-bottom:0;
}
.dining-hours-card {
  display:grid;
  gap:14px;
  padding:38px;
  color:var(--warm-white);
  background:var(--deep-green);
}
.dining-hours-card>span {
  margin-bottom:10px;
  color:#ddc795;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.dining-hours-card>strong {
  padding-bottom:12px;
  border-bottom:1px solid var(--line-light);
  font-family:var(--serif);
  font-size:1.55rem;
  font-weight:500;
}
.dining-hours-card>p {
  color:rgba(252,249,243,.67);
  font-size:.82rem;
}
.dining-hours-card .button {
  margin-top:10px;
}
.dining-favourites-section {
  background:var(--ivory);
}
.dining-favourites-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.dining-favourites-grid article {
  position:relative;
  min-height:330px;
  padding:34px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.dining-favourites-grid article>span {
  display:block;
  margin-bottom:38px;
  color:var(--antique-gold);
  font-size:.66rem;
  letter-spacing:.14em;
}
.dining-favourites-grid article>small {
  position:absolute;
  top:30px;
  right:30px;
  padding:6px 10px;
  color:var(--deep-gold);
  border:1px solid var(--antique-gold);
  font-size:.59rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.dining-favourites-grid article>div {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:25px;
}
.dining-favourites-grid h2 {
  margin-bottom:14px;
  font-size:clamp(2.2rem,3.6vw,3.8rem);
}
.dining-favourites-grid article>div strong {
  flex:0 0 auto;
  color:var(--deep-gold);
  font-size:.75rem;
  letter-spacing:.08em;
}
.dining-favourites-grid article>p {
  max-width:530px;
  color:var(--muted);
  font-size:.86rem;
}
.dining-favourites-grid article>a {
  border-bottom:1px solid var(--line);
  font-size:.64rem;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.guest-dining-benefit {
  padding-block:clamp(80px,10vw,140px);
  color:var(--warm-white);
  background:var(--teak);
}
.guest-dining-benefit-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(60px,9vw,130px);
}
.guest-dining-benefit .eyebrow {
  color:#eadab9;
}
.guest-dining-benefit h2 {
  font-size:clamp(4rem,7vw,7.4rem);
}
.guest-dining-benefit-grid>div:last-child>p {
  font-family:var(--serif);
  font-size:clamp(1.5rem,2.5vw,2.15rem);
  line-height:1.35;
}
.guest-dining-benefit ul {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin:34px 0;
  padding:0;
  list-style:none;
  border-top:1px solid var(--line-light);
}
.guest-dining-benefit li {
  padding:14px 0;
  border-bottom:1px solid var(--line-light);
  color:rgba(252,249,243,.78);
  font-size:.82rem;
}
.digital-menu-section {
  background:var(--warm-white);
}
.menu-accordions {
  border-top:1px solid var(--line);
}
.menu-accordions details {
  border-bottom:1px solid var(--line);
}
.menu-accordions summary {
  position:relative;
  display:grid;
  min-height:90px;
  grid-template-columns:80px 1fr;
  align-items:center;
  padding-right:60px;
  cursor:pointer;
  font-family:var(--serif);
  font-size:clamp(2rem,3.2vw,3.3rem);
  line-height:1;
  list-style:none;
}
.menu-accordions summary::-webkit-details-marker {
  display:none;
}
.menu-accordions summary:after {
  position:absolute;
  right:12px;
  content:"+";
  color:var(--deep-gold);
  font-family:var(--sans);
  font-size:1.8rem;
  font-weight:400;
}
.menu-accordions details[open] summary:after {
  content:"−";
}
.menu-accordions summary span {
  color:var(--antique-gold);
  font-family:var(--sans);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.13em;
}
.menu-drawer {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:0 60px;
  padding:14px 0 50px 80px;
}
.menu-section-note {
  grid-column:1/-1;
  color:var(--muted);
  font-size:.8rem;
}
.menu-drawer article {
  display:grid;
  grid-template-columns:1fr auto;
  align-content:start;
  gap:6px 20px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}
.menu-drawer h3 {
  margin:0;
  font-size:1.55rem;
}
.menu-drawer article>strong {
  color:var(--deep-gold);
  font-size:.72rem;
  letter-spacing:.06em;
}
.menu-drawer article>p {
  grid-column:1/-1;
  margin:0;
  color:var(--muted);
  font-size:.79rem;
}
.menu-drawer small {
  color:var(--deep-gold);
  font-size:.57rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.breakfast-section {
  background:var(--paper);
}
.breakfast-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.breakfast-grid>article {
  display:flex;
  min-height:620px;
  flex-direction:column;
  padding:clamp(28px,3.3vw,44px);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.breakfast-grid h2 {
  margin-bottom:32px;
  font-size:clamp(2.5rem,3.8vw,4rem);
}
.breakfast-grid ul {
  display:grid;
  gap:0;
  margin:0 0 30px;
  padding:0;
  list-style:none;
}
.breakfast-grid li {
  display:grid;
  gap:6px;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.breakfast-grid li strong {
  font-family:var(--serif);
  font-size:1.3rem;
  font-weight:500;
}
.breakfast-grid li span {
  color:var(--muted);
  font-size:.76rem;
}
.breakfast-grid .text-link {
  align-self:flex-start;
  margin-top:auto;
}
.signature-drinks-section {
  color:var(--warm-white);
  background:var(--deep-green);
}
.signature-drinks-grid {
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:clamp(60px,9vw,130px);
}
.signature-drinks-section .eyebrow {
  color:#ddc795;
}
.signature-drinks-section .section-description {
  color:rgba(252,249,243,.67);
}
.signature-drinks-section .text-link {
  color:var(--warm-white);
}
.signature-drinks-list {
  border-top:1px solid var(--line-light);
}
.signature-drinks-list article {
  display:grid;
  min-height:116px;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:30px;
  padding-block:20px;
  border-bottom:1px solid var(--line-light);
}
.signature-drinks-list h2 {
  margin:0 0 5px;
  font-size:clamp(2rem,3.3vw,3.4rem);
}
.signature-drinks-list p {
  margin:0;
  color:rgba(252,249,243,.64);
  font-size:.78rem;
}
.signature-drinks-list strong {
  color:#ddc795;
  font-size:.73rem;
  letter-spacing:.08em;
}
.dining-note {
  display:grid;
  grid-template-columns:180px 1fr;
  gap:40px;
  margin-block:clamp(70px,8vw,110px);
  padding:30px;
  border:1px solid var(--line);
  background:var(--ivory);
}
.dining-note span {
  color:var(--deep-gold);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.dining-note p {
  margin:0;
  color:var(--muted);
}
.about-story-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:100px;
}
.about-story-grid .section-intro {
  margin:0;
}
.about-story-copy>p:last-child {
  color:var(--muted);
}
.about-image-break {
  position:relative;
  min-height:700px;
  overflow:hidden;
}
.about-image-break img {
  width:100%;
  height:700px;
  object-fit:cover;
}
.about-image-break blockquote {
  position:absolute;
  right:6vw;
  bottom:0;
  width:min(620px,50vw);
  margin:0;
  padding:clamp(40px,6vw,82px);
  color:var(--warm-white);
  background:var(--teak);
  font-family:var(--serif);
  font-size:clamp(2rem,3.3vw,3.5rem);
  line-height:1.08;
}
.about-values-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:100px;
}
.about-values-list {
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.about-values-list article {
  min-height:250px;
  padding:30px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.about-values-list span {
  color:var(--antique-gold);
  font-size:.65rem;
  letter-spacing:.14em;
}
.about-values-list h3 {
  margin:42px 0 12px;
  font-size:2.3rem;
}
.about-values-list p {
  margin:0;
  color:var(--muted);
  font-size:.85rem;
}
.about-services-section {
  color:var(--warm-white);
  background:var(--deep-green);
}
.about-services-section .eyebrow {
  color:#ddc795;
}
.editorial-service-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:60px;
}
.digital-presence-note {
  padding-block:80px;
  border-top:1px solid var(--line);
  background:var(--ivory);
}
.digital-presence-note .shell {
  display:grid;
  grid-template-columns:180px 1fr auto;
  align-items:center;
  gap:50px;
}
.digital-presence-note p {
  margin:0;
}
.map-frame-large,.map-frame-large iframe {
  min-height:660px;
}
.location-facts {
  display:grid;
  gap:18px;
  margin:34px 0;
  padding-block:24px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.location-facts div {
  display:grid;
}
.location-facts strong {
  font-family:var(--serif);
  font-size:1.45rem;
  font-weight:500;
}
.location-facts span {
  color:var(--muted);
  font-size:.78rem;
}
.location-arrival-note {
  padding-block:70px;
  color:var(--warm-white);
  background:var(--teak);
}
.location-arrival-note .shell {
  display:grid;
  grid-template-columns:220px 1fr;
  gap:60px;
}
.location-arrival-note span {
  color:#eadab9;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.location-arrival-note p {
  max-width:760px;
  margin:0;
}
.contact-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
}
.contact-primary {
  padding:50px;
  color:var(--warm-white);
  background:var(--deep-green);
}
.contact-primary .eyebrow {
  color:#ddc795;
}
.contact-primary h2 {
  font-size:clamp(3rem,5vw,5rem);
}
.contact-primary>p:not(.eyebrow) {
  color:rgba(252,249,243,.7);
}
.contact-methods {
  border-top:1px solid var(--line);
}
.contact-methods article {
  display:grid;
  grid-template-columns:160px 1fr;
  gap:20px;
  padding-block:24px;
  border-bottom:1px solid var(--line);
}
.contact-methods span {
  color:var(--muted);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.contact-methods address {
  font-style:normal;
}
.contact-methods a:hover {
  color:var(--deep-gold);
}
.contact-booking-bridge {
  padding-block:90px;
  text-align:center;
  background:var(--ivory);
}
.contact-booking-bridge h2 {
  margin-bottom:16px;
}
.contact-booking-bridge p {
  color:var(--muted);
}
.booking-page {
  padding-top:86px;
}
.booking-page-hero {
  padding-block:clamp(90px,11vw,150px);
  color:var(--warm-white);
  background:linear-gradient(90deg,rgba(28,22,18,.95),rgba(28,22,18,.5)),url(/images/property/swimming-pool.webp) 50% /cover no-repeat;
}
.booking-page-hero-grid {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  align-items:end;
  gap:90px;
}
.booking-page-hero .eyebrow {
  color:#ddc795;
}
.booking-page-hero h1 {
  margin-bottom:28px;
  font-size:clamp(4rem,8vw,8rem);
  line-height:.86;
}
.booking-page-hero-grid>div:first-child>p:last-child {
  max-width:640px;
  color:rgba(252,249,243,.76);
}
.booking-contact-card {
  padding:30px;
  border:1px solid rgba(252,249,243,.28);
  background:rgba(43,30,23,.35);
  backdrop-filter:blur(8px);
}
.booking-contact-card span {
  display:block;
  color:#ddc795;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.booking-contact-card strong {
  display:block;
  margin-block:8px;
  font-family:var(--serif);
  font-size:2rem;
  font-weight:500;
}
.booking-contact-card p {
  margin:0;
  color:rgba(252,249,243,.67);
  font-size:.8rem;
}
.booking-form-shell {
  display:grid;
  grid-template-columns:.6fr 1.4fr;
  gap:90px;
}
.booking-form-intro>span,.booking-steps article>span {
  color:var(--antique-gold);
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.16em;
}
.booking-form-intro h2 {
  margin:22px 0;
  font-size:clamp(2.8rem,4vw,4.2rem);
}
.booking-form-intro p {
  color:var(--muted);
}
.booking-steps {
  padding-block:80px;
  color:var(--warm-white);
  background:var(--deep-green);
}
.booking-steps .shell {
  display:grid;
  grid-template-columns:repeat(3,1fr);
}
.booking-steps article {
  min-height:210px;
  padding:30px;
  border-left:1px solid var(--line-light);
}
.booking-steps article:last-child {
  border-right:1px solid var(--line-light);
}
.booking-steps h2 {
  margin:34px 0 10px;
  font-size:2rem;
}
.booking-steps p {
  color:rgba(252,249,243,.65);
  font-size:.84rem;
}
.policy-page {
  padding-top:86px;
}
.policy-header {
  padding-block:110px 70px;
}
.policy-header h1 {
  margin-bottom:16px;
  font-size:clamp(4rem,8vw,7.5rem);
  line-height:.88;
}
.policy-header>p:last-child {
  color:var(--muted);
}
.policy-content {
  max-width:780px;
  padding-block:80px 140px;
}
.policy-content h2 {
  margin:54px 0 14px;
  font-size:2.3rem;
}
.policy-content h2:first-child {
  margin-top:0;
}
.policy-content p {
  color:var(--muted);
}
.policy-content a {
  color:var(--teak);
  text-decoration:underline;
  text-underline-offset:3px;
}
.not-found-page {
  position:relative;
  display:grid;
  min-height:100svh;
  place-items:center;
  color:var(--warm-white);
  background:var(--deep-green);
}
.not-found-page>img,.not-found-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.not-found-page>img {
  object-fit:cover;
}
.not-found-shade {
  background:rgba(26,20,16,.72);
}
.not-found-content {
  position:relative;
  z-index:2;
  width:min(calc(100% - 48px),900px);
  padding-block:140px;
  text-align:center;
}
.not-found-content .eyebrow {
  color:#ddc795;
}
.not-found-content h1 {
  margin-bottom:22px;
  font-size:clamp(4rem,9vw,9rem);
  line-height:.82;
}
.not-found-content .button-row {
  justify-content:center;
}
.site-footer {
  color:var(--warm-white);
  background:#1f1a16;
}
.footer-grid {
  display:grid;
  grid-template-columns:1.55fr repeat(3,.75fr);
  gap:70px;
  padding-block:90px 70px;
}
.footer-brand-block .brand-logo {
  margin:-30px 0 18px -24px;
}
.footer-brand-block>p {
  max-width:340px;
  color:rgba(252,249,243,.62);
  font-size:.86rem;
}
.footer-grid h2 {
  margin-bottom:22px;
  color:#ddc795;
  font-family:var(--sans);
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.footer-grid>div:not(:first-child)>a {
  display:block;
  width:fit-content;
  margin-bottom:8px;
  color:rgba(252,249,243,.72);
  font-size:.8rem;
}
.footer-grid>div:not(:first-child)>a:hover {
  color:var(--warm-white);
}
.footer-grid address {
  margin-bottom:16px;
  color:rgba(252,249,243,.62);
  font-size:.78rem;
  font-style:normal;
}
.footer-legal {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-block:24px;
  border-top:1px solid var(--line-light);
  color:rgba(252,249,243,.48);
  font-size:.68rem;
}
.footer-legal div {
  display:flex;
  gap:22px;
}
.footer-legal a:hover {
  color:var(--warm-white);
}
.digital-credit {
  border-top:1px solid var(--line-light);
  background:#191511;
}
.digital-credit-inner {
  display:flex;
  width:fit-content;
  min-height:76px;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-inline:auto;
  padding:10px 20px;
}
.permata-logo {
  width:56px;
  height:56px;
  object-fit:contain;
  background:#fff;
}
.digital-credit span {
  display:grid;
  line-height:1.3;
}
.digital-credit small {
  color:rgba(252,249,243,.45);
  font-size:.58rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.digital-credit strong {
  color:rgba(252,249,243,.78);
  font-family:var(--serif);
  font-size:1.05rem;
  font-weight:500;
}
.mobile-booking-bar {
  display:none;
}
@media (max-width:1180px) {
  .header-inner {
    grid-template-columns:130px 1fr auto;
    gap:18px;
  }
  .brand-logo.is-compact,.brand-logo.is-compact img {
    width:124px;
  }
  .nav-links {
    gap:14px;
  }
  .nav-links a {
    font-size:.62rem;
  }
  .header-book-button {
    min-height:44px;
    padding-inline:16px;
    font-size:.66rem;
  }
  .booking-form.is-compact {
    grid-template-columns:1fr 1fr .65fr .65fr auto;
  }
  .booking-form.is-compact .field:nth-of-type(5) {
    display:none;
  }
  .experience-mosaic {
    min-height:800px;
  }
  .footer-grid {
    grid-template-columns:1.3fr repeat(3,.8fr);
    gap:40px;
  }
}
@media (max-width:960px) {
  body {
    padding-bottom:68px;
  }
  .shell {
    width:min(calc(100% - 36px),var(--shell));
  }
  .header-inner,.site-header {
    min-height:76px;
  }
  .header-inner {
    grid-template-columns:120px 1fr 50px;
  }
  .brand-logo.is-compact {
    width:116px;
    height:68px;
  }
  .brand-logo.is-compact img {
    width:116px;
  }
  .menu-toggle {
    display:flex;
    width:48px;
    height:48px;
    grid-column:3;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:7px;
    justify-self:end;
    border:1px solid;
    border-radius:0;
    color:inherit;
    cursor:pointer;
    background:transparent;
  }
  .menu-toggle span {
    width:19px;
    height:1px;
    background:currentColor;
    transition:transform .18s ease;
  }
  .menu-is-open .menu-toggle span:first-child {
    transform:translateY(4px) rotate(45deg);
  }
  .menu-is-open .menu-toggle span:last-child {
    transform:translateY(-4px) rotate(-45deg);
  }
  .header-book-button {
    display:none;
  }
  .primary-nav {
    position:fixed;
    inset:76px 0 0;
    display:flex;
    visibility:hidden;
    flex-direction:column;
    justify-content:space-between;
    padding:38px 28px calc(94px + env(safe-area-inset-bottom));
    opacity:0;
    background:var(--warm-white);
    transform:translateY(-10px);
    transition:opacity .18s ease,transform .18s ease,visibility .18s;
  }
  .primary-nav.is-open {
    visibility:visible;
    opacity:1;
    transform:translateY(0);
  }
  .nav-links {
    display:grid;
    align-items:stretch;
    gap:0;
  }
  .nav-links a {
    min-height:57px;
    padding:14px 0;
    color:var(--espresso);
    border-bottom:1px solid var(--line);
    font-family:var(--serif);
    font-size:1.75rem;
    font-weight:500;
    letter-spacing:-.02em;
    text-transform:none;
  }
  .nav-links a:after {
    display:none;
  }
  .nav-mobile-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .nav-mobile-actions>a:first-child {
    display:grid;
    min-height:52px;
    place-items:center;
    color:var(--espresso);
    border:1px solid var(--line);
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .home-hero-content {
    padding-block:160px 150px;
  }
  .home-hero h1 {
    max-width:700px;
  }
  .hero-caption {
    display:none;
  }
  .quick-booking {
    margin-top:-38px;
  }
  .quick-booking>.shell {
    padding:22px;
  }
  .booking-form.is-compact {
    grid-template-columns:1fr 1fr .7fr auto;
  }
  .booking-form.is-compact .field:nth-of-type(4) {
    display:none;
  }
  .about-story-grid,.about-values-grid,.booking-form-shell,.booking-page-hero-grid,.complimentary-heading,.contact-grid,.dining-intro-grid,.experience-detail,.guest-dining-benefit-grid,.home-dining-grid,.intro-editorial-grid,.location-home-grid,.location-page-grid,.room-comfort-grid,.room-detail-grid,.room-editorial,.room-experience-video-grid,.room-features-grid,.room-page-card,.signature-drinks-grid {
    grid-template-columns:1fr;
  }
  .complimentary-heading,.dining-intro-grid,.guest-dining-benefit-grid,.home-dining-grid,.signature-drinks-grid {
    gap:52px;
  }
  .room-experience-video-grid {
    gap:70px;
  }
  .room-experience-video-frame {
    width:min(100%,460px);
    justify-self:center;
  }
  .junior-suite-gallery {
    grid-template-columns:repeat(2,1fr);
    grid-auto-rows:480px;
  }
  .junior-suite-gallery figure,.junior-suite-gallery figure:first-child,.junior-suite-gallery figure:nth-child(2),.junior-suite-gallery figure:nth-child(3),.junior-suite-gallery figure:nth-child(4),.junior-suite-gallery figure:nth-child(5),.junior-suite-gallery figure:nth-child(6) {
    grid-column:auto;
    grid-row:auto;
  }
  .junior-suite-gallery figure:first-child {
    grid-column:1/-1;
  }
  .complimentary-home-callout {
    grid-template-columns:1fr 1fr;
  }
  .complimentary-home-callout .text-link {
    grid-column:1/-1;
  }
  .breakfast-grid,.complimentary-grid {
    grid-template-columns:1fr;
  }
  .breakfast-grid>article,.complimentary-grid article {
    min-height:520px;
  }
  .menu-drawer {
    grid-template-columns:1fr;
  }
  .experience-detail:nth-child(2n) .experience-detail-image,.room-editorial:nth-child(2n) .room-editorial-image,.room-page-card:nth-child(2n) .room-page-card-image {
    order:0;
  }
  .intro-image-wrap {
    min-height:600px;
  }
  .highlights-list {
    grid-template-columns:1fr 1fr;
  }
  .highlights-list article:nth-child(2) {
    border-right:1px solid var(--line-light);
  }
  .experience-mosaic {
    min-height:auto;
    grid-template-columns:1fr 1fr;
    grid-template-rows:540px 400px 400px;
  }
  .experience-tile-1 {
    grid-column:1/2;
    grid-row:1/3;
  }
  .experience-tile-2 {
    grid-column:2/3;
  }
  .experience-tile-5 {
    grid-column:1/3;
  }
  .story-grid {
    grid-template-columns:.7fr 1fr;
    gap:30px;
  }
  .story-word {
    font-size:11rem;
    writing-mode:vertical-rl;
  }
  .footer-grid {
    grid-template-columns:1.4fr 1fr 1fr;
  }
  .footer-grid>div:last-child {
    grid-column:2/4;
  }
  .experience-detail-image img,.room-page-card-image img {
    height:560px;
  }
  .room-detail-gallery {
    grid-template-columns:1fr 1fr;
  }
  .about-image-break blockquote {
    width:65vw;
  }
  .digital-presence-note .shell {
    grid-template-columns:140px 1fr;
  }
  .digital-presence-note .text-link {
    grid-column:2;
  }
  .mobile-booking-bar {
    position:fixed;
    right:0;
    bottom:0;
    left:0;
    z-index:120;
    display:grid;
    min-height:calc(64px + env(safe-area-inset-bottom));
    grid-template-columns:1fr 1fr;
    padding-bottom:env(safe-area-inset-bottom);
    color:var(--warm-white);
    box-shadow:0 -8px 30px rgba(30,26,23,.16);
  }
  .mobile-booking-bar a {
    display:grid;
    min-height:64px;
    place-items:center;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .mobile-booking-bar a:first-child {
    background:var(--deep-green);
  }
  .mobile-booking-bar a:last-child {
    color:var(--espresso);
    background:var(--antique-gold);
  }
}
@media (max-width:680px) {
  .shell {
    width:min(calc(100% - 28px),var(--shell));
  }
  .section {
    padding-block:84px;
  }
  h2 {
    font-size:clamp(2.75rem,13vw,4.25rem);
  }
  .section-intro {
    margin-bottom:46px;
  }
  .header-inner,.site-header {
    min-height:72px;
  }
  .header-inner {
    grid-template-columns:110px 1fr 46px;
  }
  .brand-logo.is-compact {
    width:106px;
    height:64px;
  }
  .brand-logo.is-compact img {
    width:106px;
  }
  .menu-toggle {
    width:44px;
    height:44px;
  }
  .primary-nav {
    inset:72px 0 0;
  }
  .home-hero {
    min-height:860px;
  }
  .home-hero-image {
    object-position:57% center;
  }
  .home-hero-content {
    padding-block:145px 130px;
  }
  .home-hero h1 {
    margin-bottom:24px;
    font-size:clamp(4.1rem,20vw,6.2rem);
    line-height:.84;
  }
  .hero-copy {
    font-size:1rem;
  }
  .home-hero .button-row .text-link {
    width:100%;
  }
  .quick-booking {
    margin-top:0;
    background:var(--ivory);
  }
  .quick-booking>.shell {
    width:100%;
    padding:28px 18px;
    box-shadow:none;
  }
  .quick-booking-heading {
    display:grid;
    gap:5px;
  }
  .booking-form,.booking-form.is-compact {
    grid-template-columns:1fr 1fr;
  }
  .booking-form.is-compact .field:nth-of-type(3) {
    display:grid;
  }
  .booking-form.is-compact .booking-submit {
    grid-column:1/-1;
  }
  .booking-form.is-compact .booking-submit .button {
    width:100%;
  }
  .booking-submit {
    display:grid;
    grid-template-columns:1fr;
  }
  .booking-submit .button {
    width:100%;
  }
  .warm-intro {
    padding-top:90px;
  }
  .intro-editorial-grid {
    gap:50px;
  }
  .intro-image-wrap {
    min-height:480px;
  }
  .intro-image-wrap img {
    width:92%;
    height:430px;
  }
  .intro-image-wrap:after {
    width:52%;
    height:250px;
    border-width:8px;
  }
  .intro-image-wrap span {
    display:none;
  }
  .highlights-list {
    grid-template-columns:1fr;
  }
  .highlights-list article {
    min-height:auto;
    padding:34px 24px;
    border-right:1px solid var(--line-light);
    border-bottom:1px solid var(--line-light);
  }
  .highlights-list span {
    margin-bottom:18px;
  }
  .experience-list,.rooms-editorial-list,.rooms-page-list {
    gap:86px;
  }
  .experience-detail,.room-editorial,.room-page-card {
    gap:42px;
  }
  .experience-detail-image img,.room-editorial-image img,.room-page-card-image img {
    height:460px;
  }
  .experience-detail-image span,.room-editorial-image span,.room-page-card-image span {
    right:0;
    bottom:0;
    width:56px;
    height:56px;
  }
  .room-editorial-copy h3 {
    font-size:3.5rem;
  }
  .experience-mosaic,.feature-list-two-columns {
    grid-template-columns:1fr;
  }
  .experience-mosaic {
    display:grid;
    grid-template-rows:repeat(5,440px);
  }
  .experience-tile,.experience-tile-1,.experience-tile-2,.experience-tile-5 {
    grid-column:auto;
    grid-row:auto;
  }
  .story-grid {
    grid-template-columns:1fr;
  }
  .story-word {
    font-size:7rem;
    line-height:.7;
    writing-mode:initial;
  }
  .gallery-grid {
    grid-auto-rows:260px;
    grid-template-columns:1fr 1fr;
  }
  .gallery-item,.gallery-item-1,.gallery-item-10,.gallery-item-2,.gallery-item-3,.gallery-item-4,.gallery-item-5,.gallery-item-6,.gallery-item-7,.gallery-item-8,.gallery-item-9 {
    grid-column:auto;
    grid-row:auto;
  }
  .gallery-item-1 {
    grid-column:1/-1;
  }
  .lightbox {
    padding:80px 14px;
  }
  .lightbox figure {
    max-width:94vw;
  }
  .lightbox-arrow {
    top:auto;
    bottom:18px;
    transform:none;
  }
  .map-frame,.map-frame iframe,.map-frame-large,.map-frame-large iframe {
    min-height:470px;
  }
  .final-cta {
    min-height:680px;
  }
  .final-cta-content h2 {
    font-size:clamp(4.1rem,18vw,6.3rem);
  }
  .page-hero,.room-detail-hero {
    min-height:720px;
  }
  .page-hero-content,.room-detail-hero-copy {
    padding-block:150px 64px;
  }
  .page-hero-content h1,.room-detail-hero-copy h1 {
    font-size:clamp(4rem,18vw,6.4rem);
  }
  .breadcrumbs {
    width:100%;
    padding-inline:14px;
    overflow-x:auto;
    white-space:nowrap;
  }
  .room-detail-gallery {
    width:100%;
    grid-template-columns:1fr;
    gap:6px;
  }
  .room-detail-gallery figure {
    min-height:440px;
  }
  .room-experience-video-copy h2 {
    font-size:clamp(4rem,18vw,6.2rem);
  }
  .room-experience-video-frame>span {
    right:12px;
    transform:none;
  }
  .junior-suite-gallery {
    width:100%;
    grid-template-columns:1fr;
    grid-auto-rows:auto;
    gap:8px;
  }
  .junior-suite-gallery figure,.junior-suite-gallery figure:first-child {
    min-height:0;
    grid-column:auto;
  }
  .junior-suite-gallery figure:first-child {
    aspect-ratio:3/2;
  }
  .junior-suite-gallery figure:not(:first-child) {
    aspect-ratio:3/4;
  }
  .next-room {
    display:grid;
  }
  .next-room a {
    font-size:2.4rem;
  }
  .experience-visual-note {
    grid-template-columns:1fr;
    gap:14px;
  }
  .home-dining-image img {
    height:470px;
  }
  .complimentary-home-callout,.dining-favourites-grid {
    grid-template-columns:1fr;
  }
  .complimentary-home-callout .text-link {
    grid-column:auto;
  }
  .breakfast-grid>article,.complimentary-grid article {
    min-height:auto;
  }
  .complimentary-grid article>span {
    margin-bottom:70px;
  }
  .guest-dining-benefit ul {
    grid-template-columns:1fr;
  }
  .menu-accordions summary {
    min-height:78px;
    grid-template-columns:48px 1fr;
    padding-right:44px;
    font-size:2rem;
  }
  .menu-drawer {
    padding:10px 0 40px 48px;
  }
  .signature-drinks-list article {
    align-items:start;
  }
  .dining-note {
    grid-template-columns:1fr;
    gap:12px;
  }
  .about-image-break,.about-image-break img {
    min-height:620px;
    height:620px;
  }
  .about-image-break blockquote {
    right:14px;
    width:calc(100% - 28px);
    padding:32px;
    font-size:2.25rem;
  }
  .about-values-list,.editorial-service-grid {
    grid-template-columns:1fr;
  }
  .about-values-list article {
    min-height:220px;
  }
  .digital-presence-note .shell {
    grid-template-columns:1fr;
    gap:20px;
  }
  .digital-presence-note .text-link {
    grid-column:auto;
  }
  .contact-methods article,.location-arrival-note .shell {
    grid-template-columns:1fr;
    gap:10px;
  }
  .contact-primary {
    padding:34px 26px;
  }
  .booking-page {
    padding-top:72px;
  }
  .booking-page-hero h1 {
    font-size:clamp(4rem,18vw,6.4rem);
  }
  .booking-steps .shell {
    grid-template-columns:1fr;
  }
  .booking-steps article {
    min-height:auto;
    border-right:1px solid var(--line-light);
    border-bottom:1px solid var(--line-light);
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:50px 30px;
  }
  .footer-brand-block,.footer-grid>div:last-child {
    grid-column:1/-1;
  }
  .footer-legal {
    align-items:flex-start;
    flex-direction:column;
  }
  .policy-header {
    padding-block:90px 55px;
  }
  .policy-content {
    padding-block:60px 110px;
  }
}
@media (max-width:380px) {
  .booking-page-hero h1,.home-hero h1,.page-hero-content h1,.room-detail-hero-copy h1 {
    font-size:3.75rem;
  }
  .booking-form,.booking-form.is-compact {
    grid-template-columns:1fr;
  }
  .booking-form.is-compact .booking-submit,.booking-submit,.field-wide {
    grid-column:1;
  }
  .gallery-grid {
    grid-template-columns:1fr;
  }
  .gallery-item-1 {
    grid-column:auto;
  }
  .footer-grid {
    grid-template-columns:1fr;
  }
  .footer-brand-block,.footer-grid>div:last-child {
    grid-column:auto;
  }
}
@media (prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,:after,:before {
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}
