/* v1 — Editorial Magazine layout */

/* Inner (legal) pages — solid header always, no hero */
.site-header--solid{background:rgba(251,247,238,.96);backdrop-filter:blur(8px);box-shadow:0 1px 0 var(--line);}
.site-header--solid .brand{color:var(--green-900);}
.site-header--solid .primary-nav a{color:var(--green-800);}
.site-header--solid .primary-nav a:hover{color:var(--gold);}
.site-header--solid .nav-toggle span{background:var(--green-900);}

.legal{padding:120px 0 clamp(3rem,7vw,5rem);}
.legal__head{border-bottom:1px solid var(--line);padding-bottom:1.5rem;margin-bottom:2.5rem;}
.legal__head h1{font-size:clamp(2rem,5vw,3rem);}
.legal__meta{color:var(--slate);font-size:.92rem;margin:0;}
.legal__body{max-width:74ch;}
.legal__body h2{font-size:clamp(1.4rem,3vw,1.9rem);margin:2.2rem 0 .6em;}
.legal__body h3{font-size:1.15rem;margin:1.6rem 0 .4em;color:var(--green-800);}
.legal__body p,.legal__body li{color:var(--ink);font-size:1rem;line-height:1.7;}
.legal__body ul,.legal__body ol{padding-left:1.3rem;margin:0 0 1.1em;}
.legal__body li{margin-bottom:.4em;}
.legal__caps{background:var(--cream);border-left:3px solid var(--gold);padding:1rem 1.2rem;border-radius:4px;font-size:.92rem;text-transform:uppercase;letter-spacing:.01em;color:var(--green-800);}
.legal__toc{background:var(--cream);border-radius:var(--radius);padding:1.4rem 1.6rem;margin-bottom:2.5rem;}
.legal__toc h2{font-size:1rem;margin:0 0 .8em;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-ink);}
.legal__toc ol{columns:2;column-gap:2rem;margin:0;padding-left:1.2rem;}
.legal__toc a{font-size:.95rem;}
.legal table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.9rem;}
.legal th,.legal td{border:1px solid var(--line);padding:.6rem .7rem;text-align:left;vertical-align:top;}
.legal th{background:var(--cream);font-family:var(--font-body);}
@media (max-width:600px){.legal__toc ol{columns:1;}.legal table{display:block;overflow-x:auto;white-space:nowrap;}}

.skip-link{position:absolute;left:16px;top:-48px;background:var(--gold);color:var(--on-gold);padding:.6em 1em;border-radius:4px;z-index:200;transition:top .2s;font-weight:600;}
.skip-link:focus{top:16px;}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .3s,box-shadow .3s;}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:74px;}
.site-header.is-scrolled{background:rgba(251,247,238,.94);backdrop-filter:blur(8px);box-shadow:0 1px 0 var(--line);}

.brand{display:inline-flex;align-items:center;text-decoration:none;line-height:0;}
.brand__img{display:block;height:30px;width:auto;}
/* default (transparent header over hero) → light logo; dark logo hidden */
.brand .brand__img--dark{display:none;}
/* scrolled header or always-solid inner pages → dark logo */
.is-scrolled .brand .brand__img--light,
.site-header--solid .brand .brand__img--light{display:none;}
.is-scrolled .brand .brand__img--dark,
.site-header--solid .brand .brand__img--dark{display:block;}

.primary-nav{display:flex;align-items:center;gap:1.6rem;}
.primary-nav a{color:var(--paper);text-decoration:none;font-weight:500;font-size:.98rem;}
.is-scrolled .primary-nav a{color:var(--green-800);}
.primary-nav a:hover{color:var(--gold-light);}
.is-scrolled .primary-nav a:hover{color:var(--gold);}
.primary-nav__cta{border:2px solid currentColor;padding:.45em 1em;border-radius:4px;}

.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;z-index:120;}
.nav-toggle span{width:26px;height:2px;background:var(--paper);transition:.25s;}
.is-scrolled .nav-toggle span{background:var(--green-900);}

@media (max-width:860px){
  .nav-toggle{display:flex;}
  .primary-nav{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:1.8rem;background:var(--green-900);transform:translateX(100%);transition:transform .32s ease;}
  .primary-nav.is-open{transform:none;}
  .primary-nav a{color:var(--paper);font-size:1.5rem;font-family:var(--font-display);}
  .is-scrolled .primary-nav a{color:var(--paper);}
  .primary-nav__cta{border-color:var(--gold);color:var(--gold-light);}
  body.nav-lock{overflow:hidden;}
}

/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;color:var(--paper);overflow:hidden;}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,30,20,.45) 0%,rgba(15,30,20,.15) 35%,rgba(15,30,20,.78) 100%);}
.hero__content{position:relative;padding-bottom:clamp(3.5rem,9vh,7rem);padding-top:120px;}
.hero__title{color:var(--paper);font-size:clamp(2.7rem,8vw,6rem);font-weight:500;margin-bottom:.35em;text-shadow:0 2px 30px rgba(0,0,0,.35);}
.hero__lede{max-width:46ch;font-size:clamp(1.1rem,2.1vw,1.35rem);color:rgba(255,255,255,.92);margin-bottom:2rem;}
.hero__actions{display:flex;flex-wrap:wrap;gap:1rem;}
.hero__scroll{position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);color:var(--paper);font-size:1.5rem;text-decoration:none;opacity:.85;animation:bob 2s ease-in-out infinite;}
@keyframes bob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,8px);}}
@media (prefers-reduced-motion:reduce){.hero__scroll{animation:none;}}

/* Facts */
.facts{background:var(--green-900);color:var(--paper);}
.facts__grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem 1.5rem;padding-block:clamp(2.5rem,6vw,3.5rem);}
.fact{display:flex;flex-direction:column;gap:.3rem;border-left:2px solid rgba(224,169,75,.5);padding-left:1.1rem;}
.fact__num{font-family:var(--font-display);font-size:clamp(2.2rem,6vw,3.2rem);font-weight:500;color:var(--gold-light);line-height:1;}
.fact__num small{font-size:.4em;font-family:var(--font-body);color:rgba(255,255,255,.7);margin-left:.2em;}
.fact__label{font-size:.92rem;color:rgba(255,255,255,.8);}
@media (min-width:768px){.facts__grid{grid-template-columns:repeat(4,1fr);}}

/* Intro */
.intro{padding-block:clamp(3.5rem,8vw,6rem);}
.intro__inner{max-width:70ch;}
.intro__title{font-size:clamp(1.9rem,4.5vw,3.2rem);margin-bottom:.6em;}

/* Section heads */
.section-head{max-width:60ch;margin-bottom:clamp(2rem,5vw,3.5rem);}
.section-head h2{font-size:clamp(1.8rem,4vw,2.8rem);}
.section-head--light h2{color:var(--paper);}
.section-head--center{max-width:none;text-align:center;margin-inline:auto;margin-bottom:clamp(1.6rem,4vw,2.6rem);}
.eyebrow-heading{font-family:var(--font-body);font-size:clamp(1rem,2.4vw,1.2rem);font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-ink);margin:0;}
.eyebrow-heading::after{content:"";display:block;width:54px;height:2px;background:var(--gold);margin:.9rem auto 0;}

/* Attractions / feature blocks */
.attractions{padding-block:0 clamp(3rem,7vw,5rem);}
.feature{padding-block:clamp(2rem,5vw,3.5rem);}
.feature--flag{background:var(--cream);padding-block:clamp(3rem,7vw,5rem);}
.feature__grid{display:grid;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;}
.feature__media{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);}
.feature__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2;transition:transform .8s ease;}
.feature--flag .feature__media:hover img,.feature__media:hover img{transform:scale(1.04);}
.feature__media--tall img{aspect-ratio:3/4;}
.feature__badge{position:absolute;top:1rem;left:1rem;background:var(--gold);color:var(--on-gold);font-weight:600;font-size:.78rem;letter-spacing:.04em;padding:.4em .9em;border-radius:3px;}
.feature__body h3{font-size:clamp(1.7rem,4vw,2.6rem);margin-bottom:.45em;}
.feature__body p{color:var(--ink);max-width:54ch;}
.feature__cta{margin-top:1.7rem;}

.goodtoknow{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.4rem;border-top:1px solid var(--line);padding-top:1.4rem;}
.goodtoknow li{display:flex;flex-direction:column;font-size:.95rem;color:var(--ink);}
.goodtoknow span{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);font-weight:600;margin-bottom:.2rem;}

@media (min-width:880px){
  .feature__grid{grid-template-columns:1.05fr 1fr;}
  .feature--rev .feature__grid{grid-template-columns:1fr 1.05fr;}
  .feature--rev .feature__media{order:2;}
}

/* Detail (attraction) pages */
.detail-hero{position:relative;min-height:60vh;display:flex;align-items:flex-end;color:var(--paper);overflow:hidden;}
.detail-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.detail-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,30,20,.32) 0%,rgba(15,30,20,.2) 40%,rgba(15,30,20,.8) 100%);}
.detail-hero__content{position:relative;padding-top:120px;padding-bottom:clamp(2rem,5vw,3.4rem);}
.detail-hero h1{color:var(--paper);font-size:clamp(2.2rem,6vw,4rem);margin-bottom:.3em;text-shadow:0 2px 24px rgba(0,0,0,.4);}
.detail-hero__tag{max-width:52ch;font-size:clamp(1.05rem,2vw,1.28rem);color:rgba(255,255,255,.92);margin:0;}
.breadcrumb{border-bottom:1px solid var(--line);font-size:.9rem;}
.breadcrumb .container{padding-block:1rem;}
.breadcrumb a{color:var(--green-700);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(45,82,56,.5);}
.breadcrumb a:hover{color:var(--gold-ink);text-decoration-color:var(--gold);}
.breadcrumb [aria-current]{color:var(--ink);}
.breadcrumb .sep{color:var(--slate);margin:0 .5em;}
.detail{padding-block:clamp(2.5rem,6vw,4rem);display:grid;gap:2.5rem;grid-template-columns:1fr;}
.detail__body{max-width:70ch;}
.detail__body .lede{font-size:clamp(1.15rem,2.2vw,1.4rem);line-height:1.6;color:var(--green-800);margin-bottom:1.4rem;}
.detail__body h2{font-size:clamp(1.5rem,3vw,2rem);margin:2.1rem 0 .55em;}
.detail__body p{line-height:1.75;color:var(--ink);}
.detail__figure{margin:2rem 0;}
.detail__figure img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-card);}
.detail__figure figcaption{font-size:.85rem;color:var(--slate);padding:.7rem .2rem 0;}
.factcard{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem;}
.factcard h2{font-size:1.2rem;margin-bottom:1.1rem;}
.factcard dl{margin:0 0 1.5rem;display:grid;gap:.85rem;}
.factcard dt{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);font-weight:600;margin-bottom:.15rem;}
.factcard dd{margin:0;font-size:.98rem;}
.factcard .btn{width:100%;justify-content:center;}
.detail-foot{padding-bottom:clamp(3rem,7vw,5rem);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;align-items:center;}
.detail-foot a{font-weight:600;text-decoration:none;color:var(--green-700);}
.detail-foot a:hover{color:var(--gold-ink);}
@media (min-width:900px){.detail{grid-template-columns:1.7fr 1fr;align-items:start;gap:3.5rem;}.detail__aside{position:sticky;top:96px;}}

/* Map */
.mapsec{padding-block:clamp(3rem,7vw,5rem);}
.map-figure{margin:0;width:100%;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-card);background:#b9d0cb;}
.map-svg{display:block;width:100%;height:auto;}
.map-svg .map-land{fill:#e9dec4;}
.map-svg .map-sea{fill:#b9d0cb;}
.map-svg .map-coast{fill:none;stroke:#6f938b;stroke-width:2;stroke-linejoin:round;opacity:.7;}
.map-svg .map-range{fill:#d8c49c;opacity:.5;}
.map-svg .map-ridge path{fill:none;stroke:#a98c5b;stroke-width:2;opacity:.55;stroke-linecap:round;stroke-linejoin:round;}
.map-svg .map-contour path{fill:none;stroke:#cdbd96;stroke-width:1.5;opacity:.6;}
.map-svg .map-river{fill:none;stroke:#7faea4;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;opacity:.9;}
.map-svg .map-lake{fill:#7faea4;opacity:.9;}
.map-svg .map-inner{fill:none;stroke:#b9a87f;stroke-width:1;opacity:.5;}
.map-svg .map-sealabel{fill:#6f938b;font-family:var(--font-body);font-weight:600;font-size:19px;letter-spacing:.24em;text-transform:uppercase;}
.map-svg .map-cartouche{fill:#c2b083;font-family:var(--font-body);font-weight:600;font-size:17px;letter-spacing:.26em;}
.map-svg .map-ctx{fill:#8a8a72;font-family:var(--font-body);font-weight:500;font-size:16px;font-style:italic;}
.map-svg .map-compass circle{fill:#fbf7ee;stroke:var(--line);stroke-width:1.5;}
.map-svg .map-compass__n{fill:var(--gold);}
.map-svg .map-compass text{fill:var(--green-800);font-family:var(--font-body);font-weight:700;font-size:15px;}
.map-svg .map-scale rect{fill:var(--green-800);}
.map-svg .map-scale rect.alt{fill:#fbf7ee;stroke:var(--green-800);stroke-width:1;}
.map-svg .map-scale text{fill:var(--green-800);font-family:var(--font-body);font-size:13px;}
.map-svg .dot{cursor:pointer;}
.map-svg .dot__o{fill:var(--gold);stroke:#fff;stroke-width:2.5;filter:url(#dotShadow);transition:transform .18s ease;transform-box:fill-box;transform-origin:center;}
.map-svg .dot__i{fill:#fff;pointer-events:none;}
.map-svg .dot__lbl{fill:var(--green-900);font-family:var(--font-body);font-weight:600;font-size:26px;paint-order:stroke;stroke:#f4ecd9;stroke-width:5px;stroke-linejoin:round;pointer-events:none;}
.map-svg .dot:hover .dot__o,.map-svg .dot:focus-visible .dot__o{transform:scale(1.35);}
.map-svg .dot:hover .dot__lbl{fill:var(--gold-ink);}
.map-svg .dot:focus-visible{outline:none;}
@media (prefers-reduced-motion:reduce){.map-svg .dot__o{transition:none;}}

/* More to explore */
.explore{background:var(--cream);padding-block:clamp(3.5rem,8vw,6rem);}
.explore__grid{display:grid;gap:1.5rem;grid-template-columns:1fr;}
.mini{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;transition:transform .2s,box-shadow .2s;}
.mini:hover{transform:translateY(-4px);box-shadow:var(--shadow-card);}
.mini h3{font-size:1.45rem;margin-bottom:.4em;}
.mini p{margin:0;color:var(--slate);font-size:.98rem;}
@media (min-width:600px){.explore__grid{grid-template-columns:1fr 1fr;}}
@media (min-width:1024px){.explore__grid{grid-template-columns:repeat(4,1fr);}}

/* Plan */
.plan{background:var(--green-800);color:var(--paper);padding-block:clamp(3.5rem,8vw,6rem);}
.plan__grid{display:grid;gap:2rem;grid-template-columns:1fr;}
.plan__col h3{color:var(--gold-light);font-size:1.4rem;margin-bottom:.45em;}
.plan__col p{color:rgba(255,255,255,.85);margin:0;}
@media (min-width:768px){.plan__grid{grid-template-columns:repeat(3,1fr);gap:2.5rem;}}

/* CTA */
.cta{background:var(--green-900);color:var(--paper);padding-block:clamp(3.5rem,8vw,6rem);text-align:center;}
.cta__inner{max-width:60ch;margin-inline:auto;}
.cta h2{color:var(--paper);font-size:clamp(2rem,5vw,3.2rem);}
.cta p{color:rgba(255,255,255,.85);margin-bottom:2rem;}
.cta__actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;}

/* Footer */
.site-footer{background:#11241A;color:rgba(255,255,255,.8);padding-block:clamp(3rem,6vw,4rem) 2rem;}
.site-footer__grid{display:grid;gap:2.5rem;grid-template-columns:1fr;}
.site-footer__brand p{margin-top:1rem;max-width:38ch;font-size:.95rem;}
.site-footer h3,.site-footer h4{color:var(--paper);font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;}
.site-footer__nav{display:flex;flex-direction:column;gap:.6rem;}
.site-footer__nav a{color:rgba(255,255,255,.8);text-decoration:none;font-size:.98rem;}
.site-footer__nav a:hover{color:var(--gold-light);}
.site-footer__contact address{font-style:normal;font-size:.98rem;line-height:1.8;}
.site-footer__contact a{color:rgba(255,255,255,.8);}
.site-footer__contact a:hover{color:var(--gold-light);}
.site-footer__legalrow{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);}
.site-footer__legal{display:flex;flex-wrap:wrap;gap:1.4rem;}
.site-footer__legal a{color:rgba(255,255,255,.72);text-decoration:none;font-size:.9rem;}
.site-footer__legal a:hover{color:var(--gold-light);}
.site-footer__base{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:1rem;}
.disclaimer{font-size:.82rem;color:rgba(255,255,255,.55);max-width:75ch;margin:0;}
.copy{font-size:.85rem;color:rgba(255,255,255,.6);margin:0;}
@media (min-width:768px){.site-footer__grid{grid-template-columns:1.6fr 1fr 1.2fr;}}
@media (min-width:768px){.site-footer__base{flex-direction:row;justify-content:space-between;align-items:center;}}
