/* Panoramic page openings and the guide's category navigation. */
.home-atlas {scroll-margin-top:var(--header)}
.home-guide .atlas-illustration {display:block;position:relative;width:100%;color:var(--forest)}
.atlas-illustration-art {display:block;position:relative;aspect-ratio:3/2;isolation:isolate}
.atlas-illustration-art>img {width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
.atlas-illustration:focus-visible {outline:3px solid var(--gold);outline-offset:6px}
.home-guide .atlas-illustration .atlas-stamp {display:table;position:static;margin:4px auto 0;padding:10px 20px;min-height:44px;background:var(--forest);color:#fff;border-radius:25px;white-space:nowrap;font-size:14px;border:1px solid #ffffff80;transition:background .2s}
.atlas-illustration:hover .atlas-stamp {background:#145a4c}
.atlas-island {position:absolute;font:600 clamp(20px,2vw,26px)/1.15 var(--serif);text-shadow:0 1px 3px #e5f0e5;color:var(--forest)}
.atlas-island-nui {left:5%;top:43%}
.atlas-island-iti {right:3%;top:70%}
.atlas-image-pin {position:absolute;display:grid;place-items:center;width:32px;height:32px;transform:translate(-50%,-50%);color:var(--gold-ink)}
.atlas-image-pin-symbol {display:grid;place-items:center;width:100%;height:100%;background:#fffaf0;border:2px solid #c6aa68;border-radius:50%;box-shadow:0 2px 7px #063f3529}
.atlas-image-pin-avea {color:var(--forest)}
.atlas-image-pin-avea .atlas-image-pin-symbol {border-color:#578574}
.atlas-image-pin-name {position:absolute;font:600 14px/1.3 var(--body-font);padding:2px 5px;color:var(--forest);text-shadow:0 1px 2px #eff6ed;white-space:nowrap}
.atlas-image-pin-fare .atlas-image-pin-name,.atlas-image-pin-maroe .atlas-image-pin-name {right:100%;margin-right:4px}
.atlas-image-pin-maeva .atlas-image-pin-name {bottom:100%;margin-bottom:2px}
.atlas-image-pin-avea .atlas-image-pin-name {left:100%;margin-left:4px}
.home-guide .atlas-image-credit {font-size:12px;line-height:1.6;text-align:center;color:#3e6156;margin:12px 0 0}
.atlas-image-credit a {text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px) {
  .atlas-island {font-size:20px}
  .atlas-island-nui {left:0;top:45%}
  .atlas-island-iti {right:0;top:69%}
  .atlas-image-pin {width:27px;height:27px}
  .atlas-image-pin-symbol svg {width:15px;height:15px}
  .home-guide .atlas-illustration .atlas-stamp {font-size:14px;margin-top:12px}
}
.header {border-bottom:1px solid #e6dfd280}
.header-inner {gap:22px}
.header nav {gap:16px}
.desktop-nav {gap:16px;align-items:center}
.nav-group {display:flex;align-items:center}
.nav-trigger {display:flex;align-items:center;gap:6px;min-height:48px;padding:12px 0;background:transparent;border:0;border-radius:0;font:400 14px/1.4 Georgia,serif;color:var(--forest);white-space:nowrap;position:relative}
.nav-trigger:after {content:'';position:absolute;bottom:5px;left:0;right:18px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .18s}
.nav-trigger[aria-expanded=true]:after,.nav-current .nav-trigger:after {transform:scaleX(1)}
.nav-trigger svg {transition:transform .18s}
.nav-trigger[aria-expanded=true] svg {transform:rotate(180deg)}
.mega-menu {position:absolute;top:calc(100% - 1px);left:50%;transform:translateX(-50%);width:min(1200px,94vw);max-height:calc(100dvh - var(--header) - 24px);overflow:auto;background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--gold);border-radius:0 0 12px 12px;box-shadow:0 22px 45px #062e2930;overscroll-behavior:contain}
.mega-layout {display:grid;grid-template-columns:.85fr 1.55fr .8fr;gap:30px;padding:34px}
.mega-intro .eyebrow {margin-bottom:12px;color:var(--gold-ink);font-size:12px}
.mega-intro h2 {font:600 32px/1.12 var(--serif);letter-spacing:-.025em;max-width:260px;margin:0 0 18px}
.mega-intro>p:not(.eyebrow) {font:400 16px/1.65 var(--body-font);color:var(--muted);margin:0 0 22px;max-width:275px}
.mega-intro .button {font-size:14px;padding:11px 18px;min-height:46px}
.mega-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.desktop-nav a.mega-link {display:flex;align-items:flex-start;gap:12px;padding:15px 12px;min-height:90px;border:1px solid var(--line);border-radius:7px;background:var(--card-paper);white-space:normal}
.mega-link-icon {display:grid;place-items:center;flex:0 0 34px;height:38px;color:var(--forest)}
.mega-link strong {font:600 19px/1.2 var(--serif);display:block;margin-bottom:7px}
.mega-link small {font:400 14px/1.5 var(--body-font);color:var(--muted);display:block}
.mega-link:hover,.mega-link[aria-current=page] {background:#f0e8d7!important;border-color:#c5ab76!important;color:var(--forest)}
.desktop-nav a.mega-feature {display:block;position:relative;overflow:hidden;min-height:280px;border-radius:8px;padding:0;isolation:isolate;white-space:normal;background:var(--forest)}
.mega-feature img {position:absolute;inset:0;object-fit:cover;width:100%;height:100%;transition:transform .3s;z-index:-2}
.mega-feature:before {content:'';position:absolute;inset:0;background:linear-gradient(0deg,#062f29ed,transparent 80%);z-index:-1}
.mega-feature>span {position:absolute;left:22px;right:22px;bottom:24px;color:white;font:600 27px/1.15 var(--serif);letter-spacing:-.02em}
.mega-feature:hover img {transform:scale(1.025)}
.dropdown-open .header {background:var(--paper)}
.dropdown-open #page:before {content:'';position:fixed;inset:var(--header) 0 0;background:#052e2525;z-index:20;pointer-events:none}
.main-menu {max-height:calc(100dvh - var(--header));overflow-y:auto;overscroll-behavior:contain;background:var(--paper);box-shadow:0 20px 40px #052e252b}
html {scrollbar-gutter:stable}
body.menu-open {position:fixed;top:var(--menu-scroll-top,0px);inset-inline:0;overflow:hidden}
.menu-open .header {position:fixed;inset:0 0 auto}
.header .mobile-menu-content {display:block;padding-block:26px 36px}
.mobile-menu-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px}
.mobile-menu-heading .eyebrow {margin:0}
.mobile-menu-heading>a {display:flex;align-items:center;gap:8px;font-size:14px;min-height:44px}
.mobile-nav-group {border-top:1px solid var(--line)}
.mobile-nav-group:last-child {border-bottom:1px solid var(--line)}
.mobile-nav-group>summary {list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px;font:600 25px/1.25 var(--serif);cursor:pointer;padding:15px 4px;color:var(--forest)}
.mobile-nav-group>summary::-webkit-details-marker {display:none}
.mobile-nav-group>summary>span {font:400 27px/1 var(--body-font);color:var(--gold);transition:transform .18s}
.mobile-nav-group[open]>summary>span {transform:rotate(45deg)}
.mobile-nav-group>div {padding:0 0 22px}
.mobile-nav-group>div>a {display:flex;align-items:center;gap:15px;min-height:58px;padding:14px 16px;margin-top:8px;background:var(--card-paper);border:1px solid var(--line);border-radius:7px;font-size:17px;line-height:1.4}
.mobile-nav-group a svg {color:var(--forest);flex-shrink:0}
.mobile-nav-group a>span {min-width:0;overflow-wrap:break-word}
.mobile-nav-group a small {display:block;font-size:14px;line-height:1.5;color:var(--muted);margin-top:5px}
.mobile-nav-group a.mobile-category-link {background:var(--forest);color:white;font-size:16px;justify-content:center;border-radius:25px}
.mobile-nav-group a[aria-current=page]:not(.mobile-category-link) {border-color:var(--gold);background:var(--soft)}
.noscript-navigation {display:flex;flex-wrap:wrap;gap:20px;background:var(--paper);padding:20px}

.page-hero {position:relative;isolation:isolate;overflow:hidden;min-height:440px;background:var(--forest);color:#fff;display:flex;align-items:center}
.page-hero-media,.page-hero-media>figure,.page-hero-media img,.page-hero-shade {position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0}
.page-hero-media {pointer-events:none}
.page-hero-media img {object-fit:cover;object-position:50% 48%;border-radius:0;max-width:none;z-index:-3}
.page-hero-media figcaption {position:absolute;inset:auto 4% 18px auto;width:min(460px,40%);text-align:right;color:#fff;font:400 12px/1.55 var(--body-font);text-shadow:0 1px 4px #052e25;margin:0;z-index:2}
.page-hero-media figcaption {pointer-events:auto}
.page-hero-media figcaption a {display:inline-block;color:#fff;margin-left:10px;text-decoration:underline;text-underline-offset:3px;min-height:24px}
.page-hero-shade {background:linear-gradient(90deg,#052f2aec 0%,#052f2ab8 38%,#052f2a30 80%),linear-gradient(0deg,#042a257d,transparent 48%);z-index:-2}
.page-hero-inner {padding-block:60px 74px}
.page-hero-copy {max-width:800px}
.page-hero h1 {font:600 clamp(44px,5.2vw,72px)/1.04 var(--serif);letter-spacing:-.03em;margin:0;max-width:900px;color:#fff;text-wrap:balance}
.page-hero .eyebrow {font:600 12px/1.65 Arial,Helvetica,sans-serif;letter-spacing:.15em;color:#e7d4a9;margin:0 0 15px}
.page-hero .breadcrumb {display:inline-block;color:#f0eee2;font:400 14px/1.6 var(--body-font);margin-bottom:28px;text-decoration:underline;text-underline-offset:4px;min-height:24px}
.page-hero-copy>p:not(.eyebrow),.page-hero-copy>div>p:not(.eyebrow) {font:400 19px/1.7 var(--body-font);color:#f0eee2;margin:24px 0 0;max-width:700px}
.page-hero .opening-actions {display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:28px 0 0}
.page-hero .button.save-full {border-color:#eee4ca9c;background:#063f3544;color:#fff;min-height:48px}
.page-hero .button.outline {border-color:#eee4ca9c;background:#063f3544;color:#fff}
.page-hero .button.outline:hover {background:#fdfbf6;color:var(--forest)}
.page-hero .button.save-full:hover,.page-hero .button.save-full[aria-pressed=true] {background:var(--lime);color:var(--forest);border-color:var(--lime)}
.page-hero .text-link {color:#fff;border-color:#ffffff80;font-size:15px}
.page-hero .text-link:hover {color:#eee0bc}
.page-hero+.wrap:has(>.fact-strip) {padding-top:60px}
.page-hero+.directory-decision {margin-top:60px}
.page-hero-journal {min-height:420px}
.page-hero-article {min-height:510px}
.page-hero-article .page-hero-inner {padding-bottom:100px}
.page-hero-article .page-hero-copy {max-width:950px}
.page-hero-article h1 {font-size:clamp(42px,4.8vw,66px)}
.page-hero .blog-breadcrumb {justify-content:flex-start;color:#f0eee2;gap:10px;margin:0 0 24px;font-size:14px}
.page-hero .blog-breadcrumb a {color:inherit}
.page-hero .blog-deck {font-size:19px;line-height:1.7;max-width:780px;margin:26px 0}
.page-hero .blog-byline {justify-content:flex-start;color:#f0eee2;font-size:14px;line-height:1.7;margin:24px 0 0}
.page-hero .blog-byline>a {color:#e7d4a9}
.page-hero-lodging {min-height:490px}
.page-hero-lodging h1 br {display:none}
.page-hero-lodging .page-hero-copy {max-width:740px}
.page-hero-lodging .census-count {font-size:16px;color:#e7d4a9;gap:8px 24px;margin-block:24px}
.page-hero-lodging .text-link {font-size:14px}
.page-hero-map {min-height:188px;align-items:center}
.page-hero-map .page-hero-inner {padding-block:30px 42px}
.page-hero-map h1 {font-size:46px}
.page-hero-map h1 br {display:none}
.page-hero-map .eyebrow {margin-bottom:12px}
.page-hero-map .page-hero-media figcaption {max-width:370px;bottom:12px}
body.is-map .map-page {height:max(480px,calc(100dvh - var(--header) - 188px));min-height:480px}
.map-sidebar-head h2 {font-size:29px;margin:0 0 22px}

@media(max-width:1190px) {
  .header nav {gap:12px}
  .desktop-nav {gap:12px}
  .nav-trigger {font-size:13px;gap:4px}
  .header .brand {width:175px}
  .mega-layout {padding:28px;gap:24px;grid-template-columns:.85fr 1.5fr .75fr}
}
@media(max-width:1160px) {
  .header .desktop-nav {display:none}
  .header #menu-toggle {display:grid;min-width:44px;min-height:44px}
  .header nav {gap:12px}
  .header .brand {width:194px}
  .mega-menu {display:none!important}
  .main-menu {position:fixed;inset:var(--header) 0 0;height:calc(100dvh - var(--header));max-height:none;border-top:1px solid var(--line);border-bottom:0;box-shadow:none;scroll-padding-block:24px;touch-action:pan-y;-webkit-overflow-scrolling:touch}
  .header .mobile-menu-content {padding-block:24px max(36px,env(safe-area-inset-bottom));min-height:100%}
  .mobile-nav-group>summary {font-size:24px}
}
@media(max-width:700px) {
  .header .brand {width:155px}
  .header nav {gap:7px}
  .page-hero {min-height:430px}
  .page-hero-inner {padding-block:60px 96px}
  .page-hero-copy {max-width:none}
  .page-hero h1 {font-size:clamp(39px,10.5vw,52px);line-height:1.08;text-wrap:initial}
  .page-hero-copy>p:not(.eyebrow),.page-hero-copy>div>p:not(.eyebrow) {font-size:17px;line-height:1.75;margin-top:24px}
  .page-hero .eyebrow {font-size:12px;letter-spacing:.12em}
  .page-hero .breadcrumb {font-size:14px;margin-bottom:24px}
  .page-hero-media img {object-position:58% 50%}
  .page-hero-shade {background:linear-gradient(90deg,#052f2ae6,#052f2a75),linear-gradient(0deg,#042a2599,transparent 70%)}
  .page-hero-media figcaption {left:4.5%;right:4.5%;width:auto;bottom:18px;max-width:none;font-size:12px;line-height:1.5;text-align:left}
  .page-hero .opening-actions {gap:18px;margin-top:26px}
  .page-hero .opening-actions .text-link {font-size:14px;min-height:44px}
  .page-hero .opening-actions .button {font-size:14px;padding-inline:18px}
  .page-hero-article {min-height:500px}
  .page-hero-article .page-hero-inner {padding-bottom:120px}
  .page-hero-article h1 {font-size:40px}
  .page-hero .blog-deck {font-size:17px;line-height:1.75;margin-block:24px}
  .page-hero .blog-breadcrumb {font-size:13px;flex-wrap:wrap;gap:7px 10px}
  .page-hero .blog-byline {font-size:13px;gap:8px 18px;line-height:1.7}
  .page-hero-lodging .census-count {font-size:15px;gap:8px 20px}
  .page-hero-lodging h1 br {display:initial}
  .page-hero-map {min-height:232px}
  .page-hero-map .page-hero-inner {padding-block:30px 70px}
  .page-hero-map h1 {font-size:38px;max-width:330px}
  .page-hero-map h1 br {display:initial}
  .page-hero-map .page-hero-media figcaption {max-width:none;bottom:14px}
  body.is-map .map-page {height:auto;min-height:0}
  .map-surface {top:0}
}
@media(max-width:370px) {
  .header-inner {gap:6px}
  .header .brand {width:137px}
  .header nav {gap:2px}
  .page-hero h1 {font-size:37px}
  .page-hero-article h1 {font-size:36px}
  .page-hero-media figcaption {font-size:12px}
}
@media(prefers-reduced-motion:reduce) {
  .nav-trigger:after,.nav-trigger svg,.mega-feature img,.mobile-nav-group>summary>span {transition:none}
}
@media print {
  .page-hero {background:#fff;color:#000;min-height:0;display:block;overflow:visible}
  .page-hero-media,.page-hero-shade,.page-hero .opening-actions,.page-hero .breadcrumb {display:none}
  .page-hero .page-hero-inner {padding-block:16px}
  .page-hero h1 {font-size:28pt;color:#000}
  .page-hero .eyebrow,.page-hero-copy p,.page-hero .blog-byline {color:#000}
}
