
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */

:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
/*# sourceURL=global-styles-inline-css */
/* Saltrove self-hosted fonts — generated by automation/task-31/download_fonts.py */
/* Source: https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap */

/* vietnamese */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxCBTeO-U.woff2) format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxCFTeO-U.woff2) format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxC9TeA.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/* vietnamese */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxCBTeO-U.woff2) format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxCFTeO-U.woff2) format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxC9TeA.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/* vietnamese */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxCBTeO-U.woff2) format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxCFTeO-U.woff2) format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/6NU78FyLNQOQZAnv9bYEvDiIdE9Ea92uemAk_WBq8U_9v0c2Wa0KxC9TeA.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7SUc.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7SUc.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7SUc.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7SUc.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7SUc.woff2) format('woff2');
  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;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7SUc.woff2) format('woff2');
  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;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/wp-content/themes/saltrove/assets/fonts/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7.woff2) format('woff2');
  unicode-range: U+0000-00FF, 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;
}
/*
Theme Name: Saltrove
Theme URI: https://saltrove.com
Author: Saltrove Editorial
Author URI: https://saltrove.com
Description: A bespoke, SEO-first WordPress theme for Saltrove — a premium Australian travel publication. Designed in the visual language of Tourism Australia (transparent hero header, serif display type, warm editorial imagery) and engineered from the ground up for Pinterest traffic with hidden 1000x1500 vertical pin support.
Version: 1.9.5
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.1
License: Proprietary — All Rights Reserved
Text Domain: saltrove
Tags: travel, blog, australia, pinterest, seo
*/

/* ==========================================================================
   SALTROVE — DESIGN TOKENS
   Mirrors the Tourism Australia visual system.
   ========================================================================== */

:root {
  /* === Old Money palette — Task 11 rewrite === */
  --sr-ink:        #0E1A2B;   /* Deep navy — dark sections + primary text on cream */
  --sr-ink-soft:   #1A2332;   /* Slightly lifted navy — secondary dark surface */
  --sr-paper:      #EBDFC7;   /* Champagne sand — global page background (Task 12) */
  --sr-cream:      #E3D5BA;   /* Darker champagne — card backgrounds on paper */
  --sr-sand:       #DED0B4;   /* Deeper sand — subtle section differentiation */
  --sr-gold:       #B8894A;   /* Tarnished brass — primary accent, buttons, links */
  --sr-gold-soft:  #C9A961;   /* Lighter brass — hover states */
  --sr-oxblood:    #5C2E2A;   /* Deep burgundy — secondary accent, emphasis */
  --sr-charcoal:   #2A2A2A;   /* Body text on cream */
  --sr-muted:      #7A6F5C;   /* Muted warm gray — meta, captions */
  --sr-line:       #D4C8B0;   /* Warm divider line */

  /* Legacy aliases — keep every existing selector working. */
  --sr-sun:        var(--sr-gold);
  --sr-sun-deep:   var(--sr-gold-soft);
  --sr-ember:      var(--sr-oxblood);
  --sr-reef:       var(--sr-ink);
  --sr-reef-deep:  var(--sr-ink-soft);
  --sr-canvas:     var(--sr-paper);

  /* Typography */
  --sr-font-display: "Fraunces", "Playfair Display", Georgia, serif;
  --sr-font-body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* === Modern 2026 type scale === */
  --sr-fs-hero:       clamp(4rem, 11vw, 9rem);   /* hero display */
  --sr-fs-display:    clamp(3rem, 7vw, 5.5rem);  /* section display */
  --sr-fs-h1:         clamp(2.5rem, 5vw, 4rem);
  --sr-fs-h2:         clamp(1.75rem, 3.5vw, 2.75rem);
  --sr-fs-h3:         clamp(1.375rem, 2vw, 1.75rem);
  --sr-fs-lead:       1.25rem;       /* body lead paragraph */
  --sr-fs-body:       1.0625rem;     /* body text (up from 1rem) */
  --sr-fs-small:      0.875rem;
  --sr-fs-micro:      0.75rem;       /* small caps labels */

  /* Letter spacing — old money aesthetic has generous spacing on caps */
  --sr-ls-caps:       0.14em;        /* small caps + kickers */
  --sr-ls-display:    -0.02em;       /* tight display type */

  --sr-lh-tight:     1.05;
  --sr-lh-snug:      1.25;
  --sr-lh-body:      1.6;

  /* Spacing (8pt grid) */
  --sr-space-1:  0.25rem;
  --sr-space-2:  0.5rem;
  --sr-space-3:  0.75rem;
  --sr-space-4:  1rem;
  --sr-space-5:  1.25rem;
  --sr-space-6:  1.5rem;
  --sr-space-7:  1.75rem;   /* Task 22d — fills gap (used by dropdown child indent) */
  --sr-space-8:  2rem;
  --sr-space-9:  2.25rem;   /* Task 22d — fills gap (used by dropdown child indent) */
  --sr-space-10: 2.5rem;
  --sr-space-12: 3rem;
  --sr-space-16: 4rem;
  --sr-space-24: 6rem;

  /* Radius — Tourism Australia uses generous rounding on cards */
  --sr-radius-sm: 8px;
  --sr-radius-md: 16px;
  --sr-radius-lg: 24px;
  --sr-radius-pill: 999px;

  /* Elevation */
  --sr-shadow-sm: 0 1px 2px rgba(20,20,43,0.06);
  --sr-shadow-md: 0 8px 24px rgba(20,20,43,0.08);
  --sr-shadow-lg: 0 20px 60px rgba(20,20,43,0.18);

  /* Layout */
  --sr-container:    1200px;
  --sr-container-wide: 1440px;
  --sr-header-h:     100px;

  /* Motion */
  --sr-ease:         cubic-bezier(.2, .7, .2, 1);
  --sr-dur-fast:     160ms;
  --sr-dur:          240ms;
  --sr-dur-slow:     480ms;
}

/* ==========================================================================
   ACCESSIBILITY UTILITIES
   Task 31 — wp-block-library was dequeued, which previously provided the
   .screen-reader-text rules. Re-add them here so the brand-text span in
   header.php stays invisible-to-sighted-users but readable by AT.
   ========================================================================== */

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* ==========================================================================
   RESET + BASE
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--sr-font-body);
  font-size: var(--sr-fs-body);
  line-height: var(--sr-lh-body);
  color: var(--sr-ink);
  background: var(--sr-canvas);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4 {
  font-family: var(--sr-font-display);
  font-weight: 500;
  line-height: var(--sr-lh-tight);
  letter-spacing: -0.01em;
  margin: 0 0 var(--sr-space-4);
}

a { color: inherit; text-decoration: none; transition: color var(--sr-dur-fast) var(--sr-ease); }
a:hover { color: var(--sr-reef-deep); }

img { max-width: 100%; height: auto; display: block; }

/* Pinterest hidden-pin utility — used by single.php in a later task */
.sr-pin-hidden {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* ==========================================================================
   HEADER — TRANSPARENT OVER HERO, SOLID ON SCROLL
   ========================================================================== */

.sr-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  height: var(--sr-header-h);
  display: flex;
  align-items: center;
  /* 22f: cream bg always — over-hero transparent state retired */
  background: var(--sr-paper);
  box-shadow: var(--sr-shadow-sm);
  transition:
    background-color var(--sr-dur) var(--sr-ease),
    box-shadow var(--sr-dur) var(--sr-ease),
    color var(--sr-dur) var(--sr-ease);
}

/* 22g+22h: homepage transparent header over hero, with cream logo
   and cream nav for legibility on dark imagery */
body.home .sr-header:not(.is-scrolled) {
  background: transparent;
  box-shadow: none;
}
/* Logo swap: hide default navy, show cream variant via background-image */
body.home .sr-header:not(.is-scrolled) .sr-header__logo {
  content: url('/wp-content/themes/saltrove/assets/images/saltrove-logo-light.png');
}
/* Nav links cream */
body.home .sr-header:not(.is-scrolled) .sr-nav a,
body.home .sr-header:not(.is-scrolled) .sr-header__search-toggle {
  color: var(--sr-paper, #EBDFC7);
}
/* Subtle shadow for legibility on light hero areas */
body.home .sr-header:not(.is-scrolled) .sr-header__logo,
body.home .sr-header:not(.is-scrolled) .sr-nav a,
body.home .sr-header:not(.is-scrolled) .sr-header__search-toggle {
  text-shadow: 0 1px 3px rgba(14, 26, 43, 0.4);
  filter: drop-shadow(0 1px 3px rgba(14, 26, 43, 0.4));
}

.sr-header.is-scrolled,
body:not(.home):not(.sr-has-hero) .sr-header {
  background: var(--sr-paper);
  box-shadow: var(--sr-shadow-sm);
}

.sr-header__inner {
  width: 100%;
  max-width: var(--sr-container-wide);
  margin: 0 auto;
  padding: 0 var(--sr-space-6);
  display: flex;
  align-items: center;
  gap: var(--sr-space-8);
}

.sr-header__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--sr-space-2);
  font-family: var(--sr-font-display);
  font-size: 1.375rem;
  font-weight: 600;
  color: var(--sr-ember);
  letter-spacing: -0.01em;
}

.sr-header__brand-mark { width: 36px; height: auto; }

.sr-nav {
  display: flex;
  align-items: center;
  gap: var(--sr-space-8);
  margin: 0 auto;
  font-size: 0.95rem;
  font-weight: 500;
}

.sr-nav a { color: var(--sr-ink); }
/* 22f: removed cream-on-over-hero override for .sr-nav a + .sr-header__brand */

/* Task 4c — header utility nav (replaced icons with text links) */
.sr-header__utility {
  display: inline-flex;
  align-items: center;
  gap: var(--sr-space-6);
  font-size: 0.9375rem;
  font-weight: 500;
}
.sr-header__link {
  color: var(--sr-ink);
  padding: 0.5rem 0;
  white-space: nowrap;
  text-decoration: none;
}
.sr-header__link:hover {
  color: var(--sr-reef-deep);
}
/* 22f: removed cream-on-over-hero override for .sr-header__link */
@media (max-width: 900px) {
  .sr-header__utility { display: none; }
}

.sr-header__icon-btn {
  background: none;
  border: 0;
  padding: var(--sr-space-2);
  cursor: pointer;
  color: inherit;
  line-height: 0;
}

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* ==========================================================================
   TASK 4c — PRIMARY NAV (definitive)
   wp_nav_menu() emits: <ul class="sr-nav__list"><li><a>...</a>
                          <ul class="sub-menu"><li><a>...</a></li></ul>
                        </li></ul>
   ========================================================================== */

.sr-nav {
  display: flex;
  align-items: center;
  margin: 0 auto;
}

/* Kill all default list styling on BOTH levels, aggressively. */
.sr-header .sr-nav__list,
.sr-header .sr-nav__list ul,
.sr-header .sr-nav__list li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none;
}

.sr-header .sr-nav__list {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: var(--sr-space-8);
}

.sr-header .sr-nav__list > li {
  position: relative;
  display: flex;
  align-items: center;
}

.sr-header .sr-nav__list > li > a {
  display: inline-block;
  padding: 0.5rem 0;
  font-weight: 500;
  font-size: 0.95rem;
  white-space: nowrap;
  text-decoration: none;
}

/* Down-caret on parent items with children */
.sr-header .sr-nav__list > li.menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 0.4rem;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid currentColor;
  vertical-align: middle;
  opacity: 0.7;
}

/* Dropdown */
.sr-header .sr-nav__list .sub-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -6px);
  min-width: 220px;
  background: var(--sr-paper);
  box-shadow: var(--sr-shadow-md);
  border-radius: var(--sr-radius-md);
  padding: var(--sr-space-2) 0 !important;
  margin-top: var(--sr-space-2) !important;
  display: flex !important;
  flex-direction: column !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity var(--sr-dur-fast) var(--sr-ease),
    transform var(--sr-dur-fast) var(--sr-ease),
    visibility 0s linear var(--sr-dur-fast);
  z-index: 1000;
}

.sr-header .sr-nav__list > li:hover > .sub-menu,
.sr-header .sr-nav__list > li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  pointer-events: auto;
  transition-delay: 0s;
}

.sr-header .sr-nav__list .sub-menu a {
  display: block;
  padding: 0.625rem 1.25rem;
  color: var(--sr-ink) !important;
  font-weight: 500;
  font-size: 0.9375rem;
  white-space: nowrap;
  text-decoration: none;
}

.sr-header .sr-nav__list .sub-menu a:hover,
.sr-header .sr-nav__list .sub-menu a:focus {
  background: var(--sr-sand);
}

/* 22f: removed cream-on-over-hero overrides for primary nav links + submenu caret */

/* Mobile fallback — hide nav entirely until a burger menu is built. */
@media (max-width: 900px) {
  .sr-header .sr-nav { display: none !important; }
}

/* Task 4e — header right-side layout (nav + search grouped together) */
.sr-header__right {
  display: inline-flex;
  align-items: center;
  gap: var(--sr-space-6);
  margin-left: auto;
}

/* Search control — button that expands into an input panel */
.sr-header__search { position: relative; }

.sr-header__search-toggle {
  background: none;
  border: 0;
  padding: 0.5rem;
  cursor: pointer;
  color: inherit;
  line-height: 0;
  border-radius: 50%;
  transition: background var(--sr-dur-fast) var(--sr-ease);
}
.sr-header__search-toggle:hover { background: rgba(0,0,0,0.05); }
/* 22f: removed cream-on-over-hero search-toggle hover override */

.sr-header__search-panel {
  position: absolute;
  top: calc(100% + 0.75rem);
  right: 0;
  min-width: 340px;
  background: var(--sr-paper);
  border-radius: var(--sr-radius-pill);
  box-shadow: var(--sr-shadow-md);
  padding: 4px;
  z-index: 1000;
}
.sr-header__search-panel[hidden] { display: none; }

.sr-header__search-panel form {
  display: flex;
  align-items: center;
  gap: 4px;
}
.sr-header__search-panel input[type="search"] {
  flex: 1;
  border: 0;
  outline: none;
  background: transparent;
  padding: 0.625rem 1rem;
  font-size: 0.9375rem;
  font-family: inherit;
  color: var(--sr-ink);
}
.sr-header__search-panel button[type="submit"] {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: var(--sr-ink);
  color: var(--sr-paper);
  cursor: pointer;
  display: grid;
  place-items: center;
}
.sr-header__search-panel button[type="submit"]:hover { background: var(--sr-reef-deep); }

@media (max-width: 600px) {
  .sr-header__search-panel {
    position: fixed;
    top: var(--sr-header-h);
    left: var(--sr-space-4);
    right: var(--sr-space-4);
    min-width: 0;
  }
}

/* ==========================================================================
   TASK 4e — GLOBAL FOOTER (moved here from saltrove-inner.css so it renders
   on every page — homepage, archives, singles, 404, search).
   ========================================================================== */

.sr-footer {
  background: var(--sr-reef);
  color: var(--sr-paper);
  padding: var(--sr-space-16) 0 var(--sr-space-8);
}
.sr-footer a { color: var(--sr-paper); text-decoration: none; }
.sr-footer a:hover { opacity: 0.85; }

.sr-footer__mark {
  display: flex;
  justify-content: center;
  font-family: var(--sr-font-display);
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: var(--sr-space-12);
}

.sr-footer__ack {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: var(--sr-space-6);
  padding-bottom: var(--sr-space-8);
  border-bottom: 1px solid rgba(255,255,255,0.2);
  max-width: var(--sr-container);
  margin: 0 auto;
}
.sr-footer__ack-icon { font-size: 2rem; line-height: 1; color: var(--sr-sun); }
.sr-footer__ack-title { font-weight: 600; margin: 0 0 var(--sr-space-2); font-family: var(--sr-font-display); }
.sr-footer__ack-body  { margin: 0; font-size: 0.9375rem; line-height: 1.6; opacity: 0.95; }

.sr-footer__cols {
  display: grid;
  gap: var(--sr-space-8);
  max-width: var(--sr-container);
  margin: var(--sr-space-12) auto 0;
  grid-template-columns: 1fr 1fr;
  max-width: 720px;
  padding: 0 var(--sr-space-6);
}
.sr-footer__cols--two { grid-template-columns: 1fr 1fr; }
.sr-footer__col h4 {
  font-family: var(--sr-font-body);
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0 0 var(--sr-space-4);
}
.sr-footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: var(--sr-space-2);
  font-size: 0.9375rem;
}
.sr-footer__col ul li { list-style: none; }

.sr-footer__social {
  display: flex;
  flex-direction: column;
  gap: var(--sr-space-3);
  font-size: 0.9375rem;
}
.sr-footer__social a {
  display: inline-flex;
  align-items: center;
  gap: var(--sr-space-2);
}
.sr-footer__social-icon {
  color: var(--sr-paper);
  flex-shrink: 0;
}

.sr-footer__copy {
  text-align: center;
  font-size: 0.8125rem;
  margin: var(--sr-space-12) 0 var(--sr-space-4);
  opacity: 0.9;
}

.sr-footer__legal {
  max-width: var(--sr-container);
  margin: 0 auto;
  padding: var(--sr-space-6) var(--sr-space-6) 0;
  border-top: 1px solid rgba(255,255,255,0.2);
  font-size: 0.75rem;
  line-height: 1.55;
  opacity: 0.85;
}

.sr-footer__ack-link { display: none !important; }

@media (max-width: 600px) {
  .sr-footer__cols,
  .sr-footer__cols--two { grid-template-columns: 1fr; }
}

/* ==========================================================================
   TASK 14-FIX — Shared .sr-wrap container (global).
   Previously defined only in saltrove-home.css, which is home-only. Every
   non-home page that uses <div class="sr-wrap"> (archives, destination
   archives, search, 404, etc.) was rendering flush-left because this rule
   never loaded. Moving the base rule here fixes all non-home pages.
   Scoped overrides further down the file (e.g. .sr-intro .sr-wrap,
   .sr-section-lead .sr-wrap, .sr-dest-note .sr-wrap) still narrow the
   container per context.
   ========================================================================== */
.sr-wrap {
  max-width: var(--sr-container);
  margin: 0 auto;
  padding: 0 var(--sr-space-6);
}

/* Task 4e — homepage intro block + section leads */
.sr-intro {
  padding: var(--sr-space-16) 0 var(--sr-space-8);
  text-align: center;
}
.sr-intro .sr-wrap {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 var(--sr-space-6);
}
.sr-intro__kicker {
  font-size: var(--sr-fs-small);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--sr-muted);
  margin: 0 0 var(--sr-space-4);
}
.sr-intro__lead {
  font-family: var(--sr-font-display);
  font-size: clamp(1.375rem, 2vw, 1.75rem);
  line-height: 1.35;
  color: var(--sr-ink);
  margin: 0 0 var(--sr-space-6);
}
.sr-intro__body {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--sr-ink-soft);
  max-width: 640px;
  margin: 0 auto;
}

.sr-section-lead {
  padding: var(--sr-space-12) 0 0;
}
.sr-section-lead .sr-wrap { max-width: var(--sr-container); padding: 0 var(--sr-space-6); }
.sr-section-lead__title {
  font-size: var(--sr-fs-h2);
  margin: 0 0 var(--sr-space-2);
}
.sr-section-lead__desc {
  font-size: 1.0625rem;
  color: var(--sr-ink-soft);
  max-width: 640px;
  margin: 0 0 var(--sr-space-2);
}

/* Carousel title override: the template still renders an h2 when title is "",
   but it's empty. Hide any empty .sr-section__title to keep spacing right. */
.sr-section__title:empty { display: none; }

/* Task 4f — section lead kicker line + destinations postscript note */
.sr-section-lead__kicker {
  font-size: var(--sr-fs-small);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--sr-muted);
  margin: 0 0 var(--sr-space-2);
}

.sr-dest-note {
  padding: var(--sr-space-8) 0 var(--sr-space-4);
  text-align: center;
  color: var(--sr-muted);
  font-size: 0.9375rem;
  font-style: italic;
}
.sr-dest-note .sr-wrap { max-width: 640px; padding: 0 var(--sr-space-6); margin: 0 auto; }


/* ==========================================================================
   TASK 7 — NEWSLETTER
   ========================================================================== */

.sr-newsletter {
  padding: var(--sr-space-16) 0;
  background: var(--sr-canvas);
}
.sr-newsletter--inline { padding: var(--sr-space-12) 0; }
.sr-newsletter__card {
  background: var(--sr-ink);
  color: var(--sr-paper);
  border-radius: var(--sr-radius-lg);
  padding: var(--sr-space-12) var(--sr-space-8);
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}
.sr-newsletter__title {
  font-family: var(--sr-font-display);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  margin: 0 0 var(--sr-space-3);
  color: var(--sr-paper);
}
.sr-newsletter__desc {
  font-size: 1rem;
  opacity: 0.85;
  margin: 0 auto var(--sr-space-6);
  max-width: 520px;
  line-height: 1.5;
}
.sr-newsletter__form {
  display: flex;
  flex-direction: column;
  gap: var(--sr-space-3);
  max-width: 560px;
  margin: 0 auto;
}
.sr-newsletter__row {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: var(--sr-space-3);
}
.sr-newsletter__form input[type="text"],
.sr-newsletter__form input[type="email"] {
  padding: 0.875rem 1rem;
  border-radius: var(--sr-radius-sm);
  border: 1px solid rgba(255,255,255,0.15);
  background: rgba(255,255,255,0.06);
  color: var(--sr-paper);
  font-family: inherit;
  font-size: 0.9375rem;
}
.sr-newsletter__form input::placeholder { color: rgba(255,255,255,0.55); }
.sr-newsletter__form input:focus {
  outline: none;
  border-color: var(--sr-sun);
  background: rgba(255,255,255,0.12);
}
.sr-newsletter__submit {
  padding: 0.9rem 2rem;
  background: var(--sr-sun);
  color: var(--sr-ink);
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 0;
  border-radius: var(--sr-radius-pill);
  cursor: pointer;
  transition: background var(--sr-dur-fast) var(--sr-ease);
}
.sr-newsletter__submit:hover { background: var(--sr-sun-deep); }
.sr-newsletter__submit[disabled] { opacity: 0.6; cursor: wait; }
.sr-newsletter__legal {
  margin: var(--sr-space-3) 0 0;
  font-size: 0.75rem;
  opacity: 0.6;
  line-height: 1.5;
}
.sr-newsletter__legal a { color: var(--sr-sun); text-decoration: underline; }
.sr-newsletter__result {
  min-height: 1.25rem;
  margin-top: var(--sr-space-3);
  font-size: 0.9375rem;
}
.sr-newsletter__result--ok    { color: var(--sr-sun); }
.sr-newsletter__result--err   { color: #ff9a9a; }

.sr-honeypot {
  position: absolute;
  left: -9999px;
  height: 0;
  width: 0;
  opacity: 0;
  tab-index: -1;
}

@media (max-width: 600px) {
  .sr-newsletter__row { grid-template-columns: 1fr; }
  .sr-newsletter__card { padding: var(--sr-space-8) var(--sr-space-4); }
}

/* ==========================================================================
   TASK 11 — HEADER SCROLL STATE
   ========================================================================== */
.sr-header.is-scrolled {
    background: rgba(245, 240, 230, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 1px 0 var(--sr-line);
}
/* 22f: removed transparent-bg + cream-text overrides on over-hero state */

/* ==========================================================================
   TASK 11 — MOTION SYSTEM
   Micro-animations used throughout. Respects prefers-reduced-motion.
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Reveal on scroll — class toggled by JS (Task 15: tightened to 480ms) */
.sr-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition:
        opacity 480ms cubic-bezier(0.16, 1, 0.3, 1),
        transform 480ms cubic-bezier(0.16, 1, 0.3, 1);
}
.sr-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.sr-reveal--stagger-1 { transition-delay: 80ms; }
.sr-reveal--stagger-2 { transition-delay: 160ms; }
.sr-reveal--stagger-3 { transition-delay: 240ms; }
.sr-reveal--stagger-4 { transition-delay: 320ms; }
.sr-reveal--stagger-5 { transition-delay: 400ms; }

/* Card hover — subtle lift + image zoom (Task 15: tightened to 280ms) */
.sr-hover-lift {
    transition: transform 280ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.sr-hover-lift:hover {
    transform: translateY(-6px);
}
.sr-hover-lift__image {
    transition: transform 800ms cubic-bezier(0.25, 0.8, 0.25, 1);
    will-change: transform;
}
.sr-hover-lift:hover .sr-hover-lift__image {
    transform: scale(1.05);
}

/* Link underline draw-in */
.sr-link {
    position: relative;
    display: inline-block;
    text-decoration: none;
    color: var(--sr-ink);
}
.sr-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 300ms cubic-bezier(0.65, 0, 0.35, 1);
}
.sr-link:hover::after,
.sr-link:focus::after {
    transform: scaleX(1);
    transform-origin: left;
}

/* Magnetic button hover */
.sr-btn--magnetic {
    position: relative;
    transition: transform 300ms cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Cursor shift on button hover (Task 15: tightened to 200ms) */
.sr-btn--shift {
    transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.sr-btn--shift:hover {
    transform: translateX(4px);
}

/* Ken Burns on hero background */
@keyframes sr-ken-burns {
    0%   { transform: scale(1.05) translate(0, 0); }
    50%  { transform: scale(1.15) translate(-1%, 1%); }
    100% { transform: scale(1.05) translate(0, 0); }
}
.sr-ken-burns {
    animation: sr-ken-burns 28s ease-in-out infinite;
    will-change: transform;
}

/* Number counter base (JS animates :data-target) */
.sr-counter {
    font-variant-numeric: tabular-nums;
    display: inline-block;
    min-width: 2ch;
}

/* Scroll indicator */
@keyframes sr-bounce-subtle {
    0%, 100% { transform: translateY(0); opacity: 0.6; }
    50%      { transform: translateY(6px); opacity: 1; }
}
.sr-scroll-hint {
    animation: sr-bounce-subtle 2s ease-in-out infinite;
}

/* ==========================================================================
   TASK 13 — ADVANCED MOTION LIBRARY
   Six primitives, all gated by prefers-reduced-motion at the JS layer.
   Sprinkled in via [data-*] attributes or .sr-* classes.
   ========================================================================== */

/* --- Cursor spotlight ----------------------------------------------------- */
[data-cursor-spotlight] {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
[data-cursor-spotlight] .sr-cursor-spotlight {
    pointer-events: none;
    position: absolute;
    width: 420px;
    height: 420px;
    top: 0;
    left: 0;
    transform: translate3d(-9999px, -9999px, 0);
    background: radial-gradient(circle at center,
        rgba(184,137,74,0.22) 0%,
        rgba(184,137,74,0.08) 35%,
        transparent 70%);
    mix-blend-mode: screen;
    opacity: 0;
    transition: opacity 400ms ease;
    z-index: 0;
}
[data-cursor-spotlight].is-active .sr-cursor-spotlight { opacity: 1; }

/* --- Text reveal by word (Task 15: is-revealed parent pattern) ----------- */
[data-text-reveal] .sr-word {
    display: inline-block;
    opacity: 0;
    transform: translateY(12px);
    transition:
        opacity 500ms cubic-bezier(0.16, 1, 0.3, 1),
        transform 500ms cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
[data-text-reveal].is-revealed .sr-word {
    opacity: 1;
    transform: translateY(0);
}
/* Backwards-compat: per-word is-visible still works for any legacy markup. */
[data-text-reveal] .sr-word.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* --- Image unmask on scroll ----------------------------------------------- */
.sr-image-unmask {
    position: relative;
    overflow: hidden;
}
.sr-image-unmask::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--sr-gold);
    transform-origin: right center;
    transform: scaleX(1);
    transition: transform 900ms cubic-bezier(0.77, 0, 0.175, 1);
    z-index: 2;
    pointer-events: none;
}
.sr-image-unmask.is-unmasked::after { transform: scaleX(0); }

/* --- Scroll-linked parallax ----------------------------------------------- */
[data-parallax] {
    will-change: transform;
}

/* --- Draw-in SVG lines ---------------------------------------------------- */
.sr-svg-draw path {
    stroke-dasharray: var(--sr-path-length, 1000);
    stroke-dashoffset: var(--sr-path-length, 1000);
    transition: stroke-dashoffset 1600ms cubic-bezier(0.65, 0, 0.35, 1);
}
.sr-svg-draw.is-drawn path { stroke-dashoffset: 0; }

/* --- Reduced motion override --------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
    [data-cursor-spotlight] .sr-cursor-spotlight { display: none; }
    [data-text-reveal] .sr-word {
        opacity: 1 !important;
        transform: none !important;
    }
    .sr-image-unmask::after { transform: scaleX(0) !important; }
    .sr-svg-draw path { stroke-dashoffset: 0 !important; }
    [data-parallax] { transform: none !important; }
}

/* ==========================================================================
   TASK 20 — Mobile responsive (v1.7.0)
   Hamburger nav, global typography clamps, body scroll-lock
   ========================================================================== */

/* --- Hamburger toggle button (hidden on desktop, shown on mobile) ------ */
.sr-nav-toggle {
    display: none;
    background: transparent;
    border: 0;
    padding: 10px;
    cursor: pointer;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    z-index: 1001;
}
.sr-nav-toggle__bar {
    display: block;
    width: 24px;
    height: 2px;
    background: currentColor;            /* inherits header text color (light over hero, dark on inner) */
    color: var(--sr-ink);
    border-radius: 1px;
    transition: transform 280ms cubic-bezier(0.25, 0.8, 0.25, 1), opacity 180ms ease;
}
/* 22f: removed cream nav-toggle bar override for over-hero state */
.sr-header.is-scrolled .sr-nav-toggle__bar  { background: var(--sr-ink); }
.sr-nav-toggle[aria-expanded="true"] .sr-nav-toggle__bar { background: var(--sr-ink); }
.sr-nav-toggle[aria-expanded="true"] .sr-nav-toggle__bar:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.sr-nav-toggle[aria-expanded="true"] .sr-nav-toggle__bar:nth-child(2) { opacity: 0; }
.sr-nav-toggle[aria-expanded="true"] .sr-nav-toggle__bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 900px) {
    .sr-nav-toggle { display: flex; }
    /* Mobile menu — full-screen drop panel under the header */
    #sr-nav-menu.sr-nav-menu {
        display: none;
        position: fixed;
        top: var(--sr-header-h, 64px);
        left: 0;
        right: 0;
        bottom: 0;
        background: var(--sr-paper);
        padding: var(--sr-space-6);
        overflow-y: auto;
        z-index: 1000;
        flex-direction: column;
        gap: var(--sr-space-4);
        margin: 0;
        list-style: none;
    }
    #sr-nav-menu.sr-nav-menu.is-open {
        display: flex !important;
        animation: sr-nav-fade-in 200ms ease-out;
    }
    @keyframes sr-nav-fade-in {
        from { opacity: 0; transform: translateY(-8px); }
        to   { opacity: 1; transform: translateY(0); }
    }
    #sr-nav-menu.sr-nav-menu > li {
        width: 100%;
        border-bottom: 1px solid var(--sr-line);
        padding: var(--sr-space-3) 0;
        list-style: none;
    }
    #sr-nav-menu.sr-nav-menu a {
        font-size: 1.125rem;
        color: var(--sr-ink);
        padding: 8px 0;
        display: block;
        text-decoration: none;
    }
    #sr-nav-menu.sr-nav-menu .sub-menu {
        padding-left: var(--sr-space-4);
        padding-top: var(--sr-space-2);
        display: block;
        position: static;
        background: transparent;
        list-style: none;
    }
    #sr-nav-menu.sr-nav-menu .sub-menu a {
        font-size: 1rem;
        color: var(--sr-muted);
    }
    body.sr-nav-is-open { overflow: hidden; }
}

/* --- Global mobile typography (Part 5) --------------------------------- */
@media (max-width: 600px) {
    body { font-size: 0.9375rem; }   /* 15px on small phones */
    .sr-section-display { font-size: clamp(1.75rem, 6vw, 3rem); }
    .sr-section-kicker  { font-size: 0.75rem; }
    .sr-kicker-mini     { font-size: 0.7rem; }
    /* Default global headings — only apply where rules don't override */
    h1 { font-size: clamp(1.875rem, 7vw, 3rem); }
    h2 { font-size: clamp(1.375rem, 5vw, 2.25rem); }
    h3 { font-size: clamp(1.125rem, 3.5vw, 1.5rem); }
}

/* =========================================================================
   TASK 20c — Mobile menu visibility hard-override (v1.7.2)
   Diagnosed root cause: a legacy rule earlier in this file —
     @media (max-width: 900px) { .sr-header .sr-nav { display: none !important } }
   — was hiding the entire <nav> parent on mobile, so the <ul> inside (which
   Task 20 added the hamburger logic for) never rendered no matter what
   .is-open did. This block goes at the END of style.css so it wins
   source-order tiebreak against the legacy rule (same specificity + !important).
   ========================================================================= */

@media (max-width: 900px) {
    /* CRITICAL: defeat the legacy .sr-header .sr-nav { display: none !important } */
    .sr-header .sr-nav,
    .sr-nav {
        display: block !important;
        overflow: visible !important;
    }

    /* Make sure no parent in the chain clips the fixed-positioned menu */
    .sr-header,
    .sr-header__inner,
    .sr-header__right,
    .sr-nav__inner {
        overflow: visible !important;
    }

    /* Default state: menu hidden when not open */
    #sr-nav-menu.sr-nav-menu,
    ul#sr-nav-menu {
        display: none !important;
    }

    /* Open state: force visible, full-screen panel below header */
    #sr-nav-menu.sr-nav-menu.is-open,
    ul#sr-nav-menu.is-open {
        display: flex !important;
        flex-direction: column !important;
        position: fixed !important;
        top: var(--sr-header-h, 80px) !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: auto !important;
        max-height: calc(100vh - var(--sr-header-h, 80px)) !important;
        background: var(--sr-paper) !important;
        padding: var(--sr-space-6) !important;
        margin: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        z-index: 999 !important;
        list-style: none !important;
        gap: 0 !important;
        animation: sr-nav-fade-in 220ms cubic-bezier(0.16, 1, 0.3, 1);
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    /* Top-level menu items */
    #sr-nav-menu.is-open > li {
        display: block !important;
        width: 100% !important;
        border-bottom: 1px solid var(--sr-line) !important;
        padding: var(--sr-space-4) 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }
    #sr-nav-menu.is-open > li:last-child { border-bottom: 0 !important; }
    #sr-nav-menu.is-open a {
        display: block !important;
        font-size: 1.25rem !important;
        color: var(--sr-ink) !important;
        text-decoration: none !important;
        padding: var(--sr-space-2) 0 !important;
        font-family: var(--sr-font-display);
        font-weight: 500;
    }
    #sr-nav-menu.is-open a:hover,
    #sr-nav-menu.is-open a:focus {
        color: var(--sr-oxblood) !important;
    }

    /* Submenu (Destinations children) */
    #sr-nav-menu.is-open .sub-menu {
        display: block !important;
        position: static !important;
        background: transparent !important;
        padding: var(--sr-space-3) 0 0 var(--sr-space-5) !important;
        margin: 0 !important;
        list-style: none !important;
        box-shadow: none !important;
        border: 0 !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
    }
    #sr-nav-menu.is-open .sub-menu > li {
        border-bottom: 0 !important;
        padding: var(--sr-space-2) 0 !important;
    }
    #sr-nav-menu.is-open .sub-menu a {
        font-size: 1.0625rem !important;
        color: var(--sr-muted) !important;
    }

    /* Lock body scroll while menu open (also defeats iOS rubber-band) */
    body.sr-nav-is-open {
        overflow: hidden !important;
        height: 100vh !important;
        position: fixed !important;
        width: 100% !important;
    }
}

/* Animation lives outside the @media so older WebKit doesn't choke */
@keyframes sr-nav-fade-in {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ==========================================================================
   SALTROVE — SITE LOGO (Task: logo installation)
   ========================================================================== */
.sr-header__brand,
.sr-footer__brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}
.sr-header__logo {
    height: 80px;
    width: auto;
    max-width: 320px;
    display: block;
}
.sr-footer__logo {
    height: 40px;
    width: auto;
    max-width: 200px;
    display: block;
}
@media (max-width: 900px) {
    .sr-header__logo { height: 64px; max-width: 260px; }
}
@media (max-width: 600px) {
    .sr-header__logo { height: 56px; max-width: 220px; }
    .sr-footer__logo { height: 34px; max-width: 170px; }
    :root { --sr-header-h: 76px; }
}

/* 22f: header-logo filter retired (header is always cream bg, navy logo
   reads natively). Footer logo filter retained — footer is always navy. */
.sr-footer__logo {
    filter: brightness(0) invert(1) brightness(0.95);
}

/* ==========================================================================
   TASK 22b — Cookie notice (informational, dismissable)
   ========================================================================== */
.sr-cookie-notice {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9000;
    background: var(--sr-ink);
    color: var(--sr-paper);
    padding: var(--sr-space-4) var(--sr-space-6);
    border-top: 1px solid var(--sr-gold);
    box-shadow: 0 -8px 24px -8px rgba(0,0,0,0.25);
    transform: translateY(100%);
    transition: transform 400ms cubic-bezier(0.16, 1, 0.3, 1);
}
.sr-cookie-notice[data-visible="true"] {
    transform: translateY(0);
}
.sr-cookie-notice[hidden] {
    display: none;
}
.sr-cookie-notice__inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--sr-space-6);
    flex-wrap: wrap;
}
.sr-cookie-notice__text {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--sr-paper);
    flex: 1 1 auto;
    min-width: 240px;
}
.sr-cookie-notice__link {
    color: var(--sr-gold);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.sr-cookie-notice__link:hover { color: var(--sr-gold-soft); }
.sr-cookie-notice__dismiss {
    background: var(--sr-gold);
    color: var(--sr-ink);
    border: 0;
    padding: var(--sr-space-3) var(--sr-space-6);
    font-family: inherit;
    font-size: var(--sr-fs-small);
    text-transform: uppercase;
    letter-spacing: var(--sr-ls-caps);
    font-weight: 600;
    cursor: pointer;
    border-radius: 2px;
    transition: background 220ms ease;
    flex-shrink: 0;
}
.sr-cookie-notice__dismiss:hover { background: var(--sr-gold-soft); }
@media (max-width: 600px) {
    .sr-cookie-notice { padding: var(--sr-space-3) var(--sr-space-4); }
    .sr-cookie-notice__inner { gap: var(--sr-space-3); }
    .sr-cookie-notice__text { font-size: 0.875rem; min-width: 0; }
    .sr-cookie-notice__dismiss { padding: 8px 16px; font-size: 0.75rem; }
}

/* ==========================================================================
   TASK 22d — Mobile header: logo LEFT, [search + hamburger] cluster RIGHT.
   Drops Task 22c's display:contents trick, which (combined with competing
   margin: auto on both brand and nav-toggle) produced a centered logo on
   real mobile browsers. Now a clean 2-flex-item layout: brand + right.
   The search button is restored — it was a real, working feature mistakenly
   hidden by Task 22c.
   ========================================================================== */
@media (max-width: 900px) {
    .sr-header__inner {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 0;
    }
    .sr-header__brand {
        margin: 0;
    }
    .sr-header__right {
        display: inline-flex;
        align-items: center;
        gap: var(--sr-space-3);
        margin: 0;
    }
    /* Visual order inside the right cluster: search icon, then hamburger.
       DOM order is [nav-toggle, nav, search]; flex `order` swaps them. */
    .sr-header__search { order: 1; }
    .sr-nav-toggle    { order: 2; }
    /* .sr-header__utility (no markup currently) stays hidden — harmless. */
    .sr-header__utility { display: none; }
}

/* ==========================================================================
   TASK 22f — Buttons (base .sr-btn, navy/champagne palette)
   First use: contact form "Send message" submit at page-contact.php:40.
   Designed to match Old Money editorial palette — navy fill, champagne ink,
   brass on hover, subtle lift on press.
   ========================================================================== */
.sr-btn {
    display: inline-block;
    padding: 14px 32px;
    background: var(--sr-ink);
    color: var(--sr-paper);
    border: none;
    border-radius: 2px;
    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 200ms ease, transform 200ms ease;
}
.sr-btn:hover {
    background: var(--sr-gold);
    transform: translateY(-1px);
}
.sr-btn:active {
    transform: translateY(0);
}
.sr-btn:focus-visible {
    outline: 2px solid var(--sr-gold);
    outline-offset: 2px;
}
/* ==========================================================================
   SALTROVE — INNER PAGES (single, archive, search, 404, generic page)
   ========================================================================== */

/* Push inner page content below the now-solid header (front page handles its own). */
body:not(.home) .sr-main { padding-top: var(--sr-header-h); }

/* ---------- BREADCRUMBS ---------- */
.sr-crumbs {
  font-size: var(--sr-fs-small);
  color: var(--sr-muted);
  margin: 0 0 var(--sr-space-4);
  display: flex;
  flex-wrap: wrap;
  gap: var(--sr-space-2);
}
.sr-crumbs a { color: var(--sr-muted); }
.sr-crumbs a:hover { color: var(--sr-ink); }
.sr-crumbs__sep { opacity: 0.5; }
.sr-crumbs [aria-current="page"] { color: var(--sr-ink); }

/* ---------- ARTICLE (single.php) ---------- */
.sr-article__hero {
  position: relative;
  height: 60vh;
  min-height: 440px;
  max-height: 640px;
  overflow: hidden;
  background: var(--sr-ink);
}
.sr-article__hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.88;
}
.sr-article__hero::after {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.55) 100%);
}

.sr-article__header {
  position: relative;
  max-width: 820px;
  margin: -140px auto 0;
  padding: var(--sr-space-8);
  background: var(--sr-paper);
  border-radius: var(--sr-radius-lg);
  box-shadow: var(--sr-shadow-lg);
  z-index: 1;
}
.sr-article__title {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  margin: var(--sr-space-2) 0 var(--sr-space-4);
}
.sr-article__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sr-space-4);
  color: var(--sr-muted);
  font-size: var(--sr-fs-small);
}
.sr-article__meta a { color: var(--sr-muted); }
.sr-article__meta a:hover { color: var(--sr-ink); }

.sr-article__body {
  max-width: 720px;
  margin: var(--sr-space-12) auto var(--sr-space-16);
  padding: 0 var(--sr-space-6);
  font-size: 1.125rem;
  line-height: 1.75;
  color: var(--sr-ink-soft);
}
.sr-article__body p { margin: 0 0 var(--sr-space-6); }
.sr-article__body h2 {
  margin-top: var(--sr-space-12);
  font-size: 1.75rem;
}
.sr-article__body h3 {
  margin-top: var(--sr-space-8);
  font-size: 1.375rem;
}
.sr-article__body img {
  border-radius: var(--sr-radius-md);
  margin: var(--sr-space-8) 0;
}
.sr-article__body blockquote {
  border-left: 4px solid var(--sr-sun);
  margin: var(--sr-space-8) 0;
  padding: var(--sr-space-2) 0 var(--sr-space-2) var(--sr-space-6);
  font-family: var(--sr-font-display);
  font-size: 1.375rem;
  line-height: 1.4;
  color: var(--sr-ink);
  font-style: italic;
}
.sr-article__body a {
  color: var(--sr-reef-deep);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* ---------- RELATED POSTS ---------- */
.sr-related {
  background: var(--sr-sand);
  padding: var(--sr-space-16) 0;
}
.sr-related .sr-section__title { margin-bottom: var(--sr-space-8); }

/* ---------- ARCHIVE / HOME / SEARCH GRID ---------- */
.sr-archive__header {
  padding: calc(var(--sr-header-h) + var(--sr-space-12)) 0 var(--sr-space-8);
  border-bottom: 1px solid var(--sr-line);
  margin-bottom: var(--sr-space-12);
}
.sr-archive__kicker {
  font-size: var(--sr-fs-small);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--sr-muted);
  margin: 0 0 var(--sr-space-2);
}
.sr-archive__title {
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  margin: 0;
}
.sr-archive__desc {
  margin: var(--sr-space-4) 0 0;
  color: var(--sr-ink-soft);
  max-width: 640px;
}

.sr-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sr-space-8) var(--sr-space-6);
}
.sr-post-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.sr-post-card__media {
  aspect-ratio: 4/5;
  overflow: hidden;
  border-radius: var(--sr-radius-md);
  background: var(--sr-sand);
}
.sr-post-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--sr-dur-slow) var(--sr-ease);
}
.sr-post-card:hover .sr-post-card__media img { transform: scale(1.04); }
.sr-post-card__kicker {
  margin: var(--sr-space-4) 0 var(--sr-space-2);
  font-size: var(--sr-fs-small);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--sr-muted);
}
.sr-post-card__title {
  font-family: var(--sr-font-display);
  font-size: 1.375rem;
  line-height: 1.2;
  margin: 0 0 var(--sr-space-2);
}
.sr-post-card__excerpt { color: var(--sr-ink-soft); font-size: 0.95rem; }

/* ---------- PAGINATION ---------- */
.sr-pagination {
  display: flex;
  justify-content: center;
  gap: var(--sr-space-2);
  padding: var(--sr-space-12) 0;
}
.sr-pagination a,
.sr-pagination span {
  padding: 0.5rem 0.875rem;
  border-radius: var(--sr-radius-sm);
  font-size: 0.95rem;
  color: var(--sr-ink);
}
.sr-pagination .current {
  background: var(--sr-ink);
  color: var(--sr-paper);
}

/* ---------- SEARCH FORM ---------- */
.sr-searchform {
  display: flex;
  gap: var(--sr-space-2);
  max-width: 540px;
}
.sr-searchform input[type="search"] {
  flex: 1;
  padding: 0.875rem 1.125rem;
  border-radius: var(--sr-radius-pill);
  border: 1px solid var(--sr-line);
  font-size: 1rem;
  font-family: inherit;
}
.sr-searchform input[type="search"]:focus {
  outline: none;
  border-color: var(--sr-ink);
}
.sr-searchform button { white-space: nowrap; }

/* ---------- 404 ---------- */
.sr-404 {
  min-height: 70vh;
  display: grid;
  place-items: center;
  text-align: center;
  padding: var(--sr-space-16) var(--sr-space-6);
}
.sr-404__code {
  font-family: var(--sr-font-display);
  font-size: clamp(6rem, 16vw, 12rem);
  color: var(--sr-sun);
  line-height: 1;
  margin: 0;
}
.sr-404__title {
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  margin: var(--sr-space-4) 0;
}
.sr-404__form { margin: var(--sr-space-8) auto 0; }

/* ---------- GENERIC PAGE ---------- */
.sr-page {
  max-width: 820px;
  margin: 0 auto;
  padding: calc(var(--sr-header-h) + var(--sr-space-16)) var(--sr-space-6) var(--sr-space-16);
}
.sr-page__title {
  font-size: clamp(2rem, 4vw, 3rem);
  margin: 0 0 var(--sr-space-8);
}
.sr-page__body {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: var(--sr-ink-soft);
}

@media (max-width: 900px) {
  .sr-grid { grid-template-columns: 1fr 1fr; }
  .sr-article__header { margin: -80px var(--sr-space-4) 0; padding: var(--sr-space-6); }
}
@media (max-width: 600px) {
  .sr-grid { grid-template-columns: 1fr; }
}


/* Task 4d — destination archive hero banner */
.sr-archive__hero {
  position: relative;
  min-height: 420px;
  margin-top: 0;
  padding: calc(var(--sr-header-h) + var(--sr-space-16)) 0 var(--sr-space-16);
  background-size: cover;
  background-position: center;
  color: var(--sr-paper);
  overflow: hidden;
  isolation: isolate;
}
.sr-archive__hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.25) 0%, rgba(0,0,0,0.55) 100%);
  z-index: -1;
}
.sr-archive__hero-inner {
  max-width: var(--sr-container);
  margin: 0 auto;
  padding: 0 var(--sr-space-6);
  position: relative;
}
.sr-archive__hero-kicker {
  font-size: var(--sr-fs-small);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  opacity: 0.85;
  margin: 0 0 var(--sr-space-2);
  color: var(--sr-sun);
}
.sr-archive__hero-title {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  line-height: 1;
  letter-spacing: -0.02em;
  margin: 0 0 var(--sr-space-4);
  text-shadow: 0 2px 24px rgba(0,0,0,0.3);
  color: var(--sr-paper);
}
.sr-archive__hero-desc {
  max-width: 640px;
  font-size: 1.125rem;
  line-height: 1.5;
  opacity: 0.95;
  margin: 0;
}

/* When the destination hero is present, push the grid up under it */
.sr-archive__hero + .sr-section { margin-top: calc(var(--sr-space-12) * -1); position: relative; z-index: 1; }
.sr-archive__hero + .sr-section .sr-wrap {
  background: var(--sr-paper);
  padding: var(--sr-space-12) var(--sr-space-8);
  border-radius: var(--sr-radius-lg);
  box-shadow: var(--sr-shadow-lg);
}
@media (max-width: 900px) {
  .sr-archive__hero + .sr-section .sr-wrap {
    padding: var(--sr-space-8) var(--sr-space-4);
    border-radius: var(--sr-radius-md);
  }
}

/* And make sure the non-destination archive header still looks good without a hero */
body.archive:not(.tax-destination) .sr-main { padding-top: 0; }

/* Task 4d — single article hero overlay (title over image) */
.sr-article__hero {
  position: relative;
  height: 70vh;
  min-height: 500px;
  max-height: 720px;
}
.sr-article__hero img {
  opacity: 1;
}
.sr-article__hero-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 0 var(--sr-space-6) var(--sr-space-16);
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.65) 100%);
  color: var(--sr-paper);
}
.sr-article__hero-inner {
  max-width: var(--sr-container);
  margin: 0 auto;
  width: 100%;
}
.sr-article__hero-kicker {
  font-size: var(--sr-fs-small);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--sr-sun);
  margin: 0 0 var(--sr-space-3);
}
.sr-article__hero-title {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0;
  max-width: 900px;
  color: var(--sr-paper);
  text-shadow: 0 2px 24px rgba(0,0,0,0.35);
}

/* Shrink the white card below since the title is now on the hero */
.sr-article__header {
  margin: calc(var(--sr-space-12) * -1) auto var(--sr-space-8);
  padding: var(--sr-space-6) var(--sr-space-8);
  max-width: 820px;
}

/* Drop cap on the lede paragraph */
.sr-article__body > p:first-of-type::first-letter {
  float: left;
  font-family: var(--sr-font-display);
  font-size: 4.5rem;
  line-height: 0.85;
  padding: 0.4rem 0.6rem 0 0;
  color: var(--sr-ember);
  font-weight: 500;
}

/* Article footer CTA */
.sr-article__footer {
  max-width: 720px;
  margin: var(--sr-space-12) auto var(--sr-space-16);
  padding: 0 var(--sr-space-6);
  text-align: center;
}
.sr-article__footer .sr-btn {
  display: inline-flex;
}

/* Task 4f — The Journal (home.php) */
.sr-journal__header {
  padding: calc(var(--sr-header-h) + var(--sr-space-16)) 0 var(--sr-space-12);
  text-align: center;
  border-bottom: 1px solid var(--sr-line);
  margin-bottom: var(--sr-space-12);
}
.sr-journal__header .sr-wrap {
  max-width: 820px;
  padding: 0 var(--sr-space-6);
  margin: 0 auto;
}
.sr-journal__kicker {
  font-size: var(--sr-fs-small);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--sr-muted);
  margin: 0 0 var(--sr-space-4);
}
.sr-journal__title {
  font-size: clamp(3rem, 7vw, 5rem);
  margin: 0 0 var(--sr-space-6);
  letter-spacing: -0.02em;
  line-height: 1;
}
.sr-journal__lead {
  font-family: var(--sr-font-display);
  font-size: clamp(1.125rem, 1.6vw, 1.375rem);
  line-height: 1.45;
  color: var(--sr-ink-soft);
  margin: 0 auto;
  max-width: 680px;
}


/* Task 7 — Contact form */
.sr-page--contact .sr-page__body { margin-bottom: var(--sr-space-8); }
.sr-contact-form {
  max-width: 680px;
  margin: 0 auto;
  padding: var(--sr-space-8);
  background: var(--sr-paper);
  border-radius: var(--sr-radius-lg);
  box-shadow: var(--sr-shadow-sm);
  display: flex;
  flex-direction: column;
  gap: var(--sr-space-4);
}
.sr-contact-form__row { display: flex; flex-direction: column; gap: var(--sr-space-2); }
.sr-contact-form__row--two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sr-space-4);
}
.sr-contact-form label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--sr-ink);
}
.sr-contact-form label .req { color: var(--sr-ember); }
.sr-contact-form input,
.sr-contact-form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border-radius: var(--sr-radius-sm);
  border: 1px solid var(--sr-line);
  background: var(--sr-sand);
  font-family: inherit;
  font-size: 1rem;
  color: var(--sr-ink);
}
.sr-contact-form input:focus,
.sr-contact-form textarea:focus {
  outline: none;
  border-color: var(--sr-ink);
  background: var(--sr-paper);
}
.sr-contact-form textarea { resize: vertical; min-height: 160px; }
.sr-contact-form__submit { align-self: flex-start; margin-top: var(--sr-space-2); }
.sr-contact-form__result {
  min-height: 1.25rem;
  font-size: 0.9375rem;
  padding: 0 var(--sr-space-2);
}
.sr-contact-form__result--ok  { color: var(--sr-reef-deep); }
.sr-contact-form__result--err { color: var(--sr-ember); }

@media (max-width: 600px) {
  .sr-contact-form__row--two { grid-template-columns: 1fr; }
  .sr-contact-form { padding: var(--sr-space-6) var(--sr-space-4); }
}

/* Task 8 — /destinations/ landing page grid */
.sr-dest-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--sr-space-6);
    max-width: var(--sr-container);
    margin: 0 auto;
    padding: 0 var(--sr-space-6);
}
.sr-dest-grid__card {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 260px;
    padding: var(--sr-space-6);
    background-size: cover;
    background-position: center;
    border-radius: var(--sr-radius-md);
    color: var(--sr-paper);
    text-decoration: none;
    overflow: hidden;
    isolation: isolate;
}
.sr-dest-grid__card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.0) 40%, rgba(0,0,0,0.7) 100%);
    z-index: -1;
}
.sr-dest-grid__card:hover::after {
    background: linear-gradient(180deg, rgba(0,0,0,0.1) 30%, rgba(0,0,0,0.8) 100%);
}
.sr-dest-grid__title {
    font-family: var(--sr-font-display);
    font-size: 1.5rem;
    font-weight: 500;
    text-shadow: 0 2px 16px rgba(0,0,0,0.4);
}

/* ==========================================================================
   TASK 14 — DESTINATION ARCHIVE v2
   ========================================================================== */

.sr-dest-v2 { background: var(--sr-paper); }

/* Hero */
.sr-dest-v2__hero {
    position: relative;
    min-height: 68vh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    isolation: isolate;
    color: var(--sr-paper);
}
.sr-dest-v2__hero-bg {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    will-change: transform;
}
.sr-dest-v2__hero-scrim {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(14,26,43,0.15) 0%, rgba(14,26,43,0.35) 50%, rgba(14,26,43,0.85) 100%);
}
.sr-dest-v2__hero-inner {
    max-width: var(--sr-container);
    margin: 0 auto;
    padding: 0 var(--sr-space-6) var(--sr-space-12);
    width: 100%;
}
.sr-dest-v2__hero-title {
    font-family: var(--sr-font-display);
    font-size: clamp(3rem, 8vw, 6rem);
    line-height: 1;
    letter-spacing: var(--sr-ls-display);
    color: var(--sr-paper);
    margin: var(--sr-space-3) 0 var(--sr-space-4);
    font-weight: 500;
    text-shadow: 0 2px 32px rgba(0,0,0,0.35);
}
.sr-dest-v2__hero-inner .sr-kicker-mini { color: var(--sr-gold); }
.sr-dest-v2__hero-meta {
    display: inline-flex;
    align-items: center;
    gap: var(--sr-space-3);
    font-size: var(--sr-fs-small);
    color: var(--sr-paper);
    opacity: 0.9;
    text-transform: uppercase;
    letter-spacing: var(--sr-ls-caps);
    flex-wrap: wrap;
}
.sr-dest-v2__dot {
    display: inline-block;
    width: 3px; height: 3px;
    background: var(--sr-gold);
    border-radius: 50%;
}
/* Task 22b — Destination archive meta line: stack vertically on mobile, hide separator dots. */
@media (max-width: 700px) {
    .sr-dest-v2__hero-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        font-size: 0.7rem;
        letter-spacing: 0.15em;
    }
    .sr-dest-v2__dot { display: none; }
}

/* Intro */
.sr-dest-v2__intro {
    padding: var(--sr-space-16) 0;
    background: var(--sr-paper);
}
.sr-dest-v2__intro-body {
    max-width: 680px;
    font-family: var(--sr-font-display);
    font-size: 1.375rem;
    line-height: 1.6;
    color: var(--sr-charcoal);
    font-weight: 400;
}
.sr-dest-v2__intro-body p { margin-bottom: var(--sr-space-5); }

/* Children grid */
.sr-dest-v2__children {
    padding: var(--sr-space-12) 0;
    background: var(--sr-cream);
}
.sr-dest-v2__children-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--sr-space-6);
    margin-top: var(--sr-space-8);
}
.sr-dest-v2__child-card {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 280px;
    border-radius: 4px;
    overflow: hidden;
    color: var(--sr-paper);
    text-decoration: none;
    isolation: isolate;
}
.sr-dest-v2__child-image {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-size: cover;
    background-position: center;
}
.sr-dest-v2__child-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(14,26,43,0) 40%, rgba(14,26,43,0.82) 100%);
}
.sr-dest-v2__child-inner { padding: var(--sr-space-5); width: 100%; }
.sr-dest-v2__child-inner .sr-kicker-mini { color: var(--sr-gold); }
.sr-dest-v2__child-title {
    font-family: var(--sr-font-display);
    font-size: 1.75rem;
    line-height: 1.1;
    color: var(--sr-paper);
    margin: var(--sr-space-2) 0 var(--sr-space-3);
    font-weight: 500;
}
.sr-dest-v2__child-go {
    font-size: var(--sr-fs-micro);
    text-transform: uppercase;
    letter-spacing: var(--sr-ls-caps);
    color: var(--sr-gold);
    font-weight: 600;
}

/* Stories bento */
.sr-dest-v2__stories {
    padding: var(--sr-space-16) 0;
    background: var(--sr-paper);
}
.sr-dest-v2__bento {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: var(--sr-space-6);
    margin-top: var(--sr-space-8);
    min-height: 560px;
}
.sr-dest-v2__bento-feature {
    position: relative;
    display: flex;
    align-items: flex-end;
    border-radius: 4px;
    overflow: hidden;
    color: var(--sr-paper);
    text-decoration: none;
    isolation: isolate;
    min-height: 560px;
}
.sr-dest-v2__bento-feature-image {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-size: cover;
    background-position: center;
}
.sr-dest-v2__bento-feature::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(14,26,43,0.85) 100%);
}
.sr-dest-v2__bento-feature-inner { padding: var(--sr-space-10); width: 100%; }
.sr-dest-v2__bento-feature-inner .sr-kicker-mini { color: var(--sr-gold); }
.sr-dest-v2__bento-feature-title {
    font-family: var(--sr-font-display);
    font-size: clamp(1.75rem, 3.5vw, 2.75rem);
    line-height: 1.1;
    margin: var(--sr-space-3) 0;
    font-weight: 500;
    color: var(--sr-paper);
}
.sr-dest-v2__bento-read {
    font-size: var(--sr-fs-small);
    text-transform: uppercase;
    letter-spacing: var(--sr-ls-caps);
    color: var(--sr-gold);
    font-weight: 600;
}
.sr-dest-v2__bento-stack {
    display: grid;
    grid-template-rows: repeat(auto-fit, minmax(130px, 1fr));
    gap: var(--sr-space-3);
}
.sr-dest-v2__bento-stacked {
    position: relative;
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: var(--sr-space-4);
    padding: var(--sr-space-3);
    border: 1px solid var(--sr-line);
    border-radius: 4px;
    text-decoration: none;
    color: var(--sr-ink);
    background: var(--sr-paper);
    overflow: hidden;
}
.sr-dest-v2__bento-stacked-image {
    height: 100%;
    min-height: 100px;
    border-radius: 2px;
    background-size: cover;
    background-position: center;
}
.sr-dest-v2__bento-stacked-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--sr-space-1);
    padding: var(--sr-space-2) var(--sr-space-3);
}
.sr-dest-v2__bento-stacked-title {
    font-family: var(--sr-font-display);
    font-size: 1.125rem;
    line-height: 1.25;
    margin: 0;
    font-weight: 500;
    color: var(--sr-ink);
}
.sr-dest-v2__empty {
    font-family: var(--sr-font-display);
    font-size: 1.25rem;
    color: var(--sr-muted);
    font-style: italic;
    margin-top: var(--sr-space-8);
}

/* From the field quote */
.sr-dest-v2__field {
    padding: var(--sr-space-16) 0;
    background: var(--sr-cream);
}
.sr-dest-v2__quote {
    max-width: 820px;
    margin: 0 auto;
    padding: 0;
    border: 0;
    text-align: center;
    margin-top: var(--sr-space-6);
}
.sr-dest-v2__quote p {
    font-family: var(--sr-font-display);
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.4;
    font-style: italic;
    color: var(--sr-ink);
    margin: 0 0 var(--sr-space-5);
    font-weight: 400;
}
.sr-dest-v2__quote cite {
    display: block;
    font-style: normal;
    font-size: var(--sr-fs-small);
    text-transform: uppercase;
    letter-spacing: var(--sr-ls-caps);
    color: var(--sr-muted);
    font-family: var(--sr-font-body);
}
.sr-dest-v2__quote cite a {
    color: var(--sr-gold);
    text-decoration: none;
}

/* Plan CTA */
.sr-dest-v2__plan {
    padding: var(--sr-space-16) 0;
    background: var(--sr-ink);
    color: var(--sr-paper);
    text-align: center;
}
.sr-dest-v2__plan-inner {
    max-width: 680px;
    margin: 0 auto;
    padding: 0 var(--sr-space-6);
}
.sr-dest-v2__plan-inner .sr-kicker-mini { color: var(--sr-gold); }
.sr-dest-v2__plan-title {
    font-family: var(--sr-font-display);
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.05;
    letter-spacing: var(--sr-ls-display);
    margin: var(--sr-space-3) 0 var(--sr-space-5);
    color: var(--sr-paper);
    font-weight: 500;
}
.sr-dest-v2__plan-body {
    font-size: 1.0625rem;
    line-height: 1.55;
    color: var(--sr-paper);
    opacity: 0.85;
    margin: 0 auto var(--sr-space-8);
}

/* More destinations */
.sr-dest-v2__more {
    padding: var(--sr-space-16) 0;
    background: var(--sr-paper);
}
.sr-dest-v2__more-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--sr-space-6);
    margin-top: var(--sr-space-8);
}
.sr-dest-v2__more-card {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 320px;
    border-radius: 4px;
    overflow: hidden;
    color: var(--sr-paper);
    text-decoration: none;
    isolation: isolate;
}
.sr-dest-v2__more-image {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-size: cover;
    background-position: center;
}
.sr-dest-v2__more-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(14,26,43,0) 40%, rgba(14,26,43,0.82) 100%);
}
.sr-dest-v2__more-inner { padding: var(--sr-space-5); width: 100%; }
.sr-dest-v2__more-inner .sr-kicker-mini { color: var(--sr-gold); }
.sr-dest-v2__more-title {
    font-family: var(--sr-font-display);
    font-size: 1.5rem;
    line-height: 1.1;
    color: var(--sr-paper);
    margin: var(--sr-space-2) 0 0;
    font-weight: 500;
}

/* Responsive */
@media (max-width: 900px) {
    .sr-dest-v2__bento {
        grid-template-columns: 1fr;
        min-height: 0;
    }
    .sr-dest-v2__more-grid { grid-template-columns: 1fr; }
    .sr-dest-v2__children-grid { grid-template-columns: 1fr 1fr; }
    .sr-dest-v2__hero { min-height: 56vh; }
    .sr-dest-v2__bento-feature { min-height: 420px; }
    .sr-dest-v2__bento-feature-inner { padding: var(--sr-space-6); }
}
@media (max-width: 600px) {
    .sr-dest-v2__children-grid { grid-template-columns: 1fr; }
    .sr-dest-v2__bento-stacked { grid-template-columns: 100px 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .sr-dest-v2__hero-bg { transform: none !important; }
}

/* ==========================================================================
   TASK 20 — Mobile responsive (destination archive)
   ========================================================================== */
@media (max-width: 800px) {
    .sr-dest-v2__hero { min-height: 50vh; }
    .sr-dest-v2__hero-title { font-size: clamp(2rem, 8vw, 4rem); }
    .sr-dest-v2__children-grid { grid-template-columns: 1fr !important; }
    .sr-dest-v2__bento { grid-template-columns: 1fr !important; }
    .sr-dest-v2__bento-feature { min-height: 320px; }
    .sr-dest-v2__more-grid { grid-template-columns: 1fr !important; }
    .sr-dest-v2__intro-body { font-size: 1.125rem; }
}

/* ==========================================================================
   TASK 21 — Destination "At a glance" summary card
   Renders between intro and sub-destinations on /destinations/<slug>/.
   AI-extractable triplet: tldr + best-for + avoid-if.
   ========================================================================== */
.sr-dest-v2__summary {
    padding: var(--sr-space-8) 0 var(--sr-space-4);
}
.sr-dest-v2__summary-card {
    background: var(--sr-cream);
    border: 1px solid var(--sr-line);
    border-left: 3px solid var(--sr-gold);
    border-radius: 4px;
    padding: var(--sr-space-6) var(--sr-space-8);
    max-width: 760px;
}
.sr-dest-v2__summary-tldr {
    font-family: var(--sr-font-display);
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--sr-ink);
    margin: var(--sr-space-3) 0 var(--sr-space-5);
    text-wrap: pretty;
}
.sr-dest-v2__summary-dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: var(--sr-space-4);
    row-gap: var(--sr-space-2);
    margin: 0;
}
.sr-dest-v2__summary-dl dt {
    font-size: var(--sr-fs-micro);
    text-transform: uppercase;
    letter-spacing: var(--sr-ls-caps);
    color: var(--sr-gold);
    font-weight: 600;
    align-self: start;
    padding-top: 2px;
}
.sr-dest-v2__summary-dl dd {
    margin: 0;
    color: var(--sr-charcoal);
    font-size: 1rem;
    line-height: 1.5;
}
@media (max-width: 700px) {
    .sr-dest-v2__summary-card {
        padding: var(--sr-space-5);
    }
    .sr-dest-v2__summary-dl {
        grid-template-columns: 1fr;
        row-gap: 0;
    }
    .sr-dest-v2__summary-dl dd { margin-bottom: var(--sr-space-3); }
}
