:root{--cream:#f3efe5;--paper:#fbf8f1;--ink:#18201f;--blue:#7893a4;--blue-dark:#345b73;--forest:#183b32;--amber:#cf7136;--line:rgba(24,32,31,.18);--serif:"Newsreader",Georgia,serif;--sans:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:99;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}.wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;height:88px;display:grid;grid-template-columns:148px 1fr auto;align-items:center;padding:0 40px;color:#fff;border-bottom:1px solid rgba(255,255,255,.25);transition:.35s}.site-header.scrolled{height:74px;background:rgba(247,244,237,.95);backdrop-filter:blur(12px);color:var(--ink);box-shadow:0 5px 30px rgba(0,0,0,.08)}.site-header nav{display:flex;justify-content:center;gap:2rem;font-size:.82rem}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:currentColor;transition:.25s}.site-header nav a:hover:after{width:100%}.brand-print{position:relative;display:block;width:58px;height:63px;background:#397799;border-radius:46% 52% 42% 48%/64% 68% 34% 36%;transform:rotate(-8deg);box-shadow:0 0 0 1px rgba(255,255,255,.28)}.brand-print i{position:absolute;background:#397799;border-radius:50%;width:11px;height:15px;top:-10px}.brand-print i:nth-child(1){left:4px;top:-6px}.brand-print i:nth-child(2){left:15px;top:-14px}.brand-print i:nth-child(3){left:28px;top:-17px}.brand-print i:nth-child(4){left:41px;top:-13px}.brand-print i:nth-child(5){left:51px;top:-3px;width:10px;height:13px}.brand-print b{display:block;color:white;font:600 9px/1.05 var(--sans);text-align:center;transform:rotate(8deg);padding-top:18px;letter-spacing:.04em}.nav-actions{display:flex;align-items:center;gap:18px}.search{border:0;background:transparent;color:inherit;font-size:1.6rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.3rem;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:600;padding:1rem 1.35rem;border:1px solid transparent;transition:.25s}.button span{transition:transform .25s}.button:hover span{transform:translateX(5px)}.button-dark{background:var(--ink);color:#fff}.button-cream{background:var(--cream);color:var(--ink)}.button-cream:hover{background:white}.button-outline{border-color:rgba(255,255,255,.68);color:#fff}.button-outline:hover{background:#fff;color:var(--ink)}.menu-button{display:none}.hero{position:relative;height:max(760px,100svh);color:#fff;isolation:isolate}.hero>img{position:absolute;inset:0;z-index:-2}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,16,15,.75) 0%,rgba(10,16,15,.25) 47%,rgba(10,16,15,.12) 100%)}.hero-content{position:absolute;left:max(6vw,50px);top:50%;transform:translateY(-45%);max-width:580px}.mini-mark,.eyebrow{display:block;text-transform:uppercase;letter-spacing:.18em;font-weight:600;font-size:.69rem}.mini-mark{margin-bottom:1.5rem}.hero h1{font:500 clamp(4.5rem,8.8vw,9.2rem)/.77 var(--serif);letter-spacing:-.045em;margin:0 0 1.6rem}.hero-sub{font:400 clamp(1.4rem,2.2vw,2.1rem)/1.08 var(--serif);margin:.5rem 0 1.2rem}.hero-list{font-size:.9rem;line-height:1.7;opacity:.9}.hero-buttons{display:flex;gap:10px;margin-top:2rem}.script-note{position:absolute;right:5vw;bottom:10%;font:italic 2.2rem/1 var(--serif);transform:rotate(-7deg);text-align:center}.scroll-cue{position:absolute;right:40px;bottom:25px;display:flex;gap:14px;align-items:center;font-size:.65rem;letter-spacing:.18em}.section{padding:120px 0}.section-head h2,.section-title-row h2{font:500 clamp(3.1rem,6vw,6.4rem)/.9 var(--serif);letter-spacing:-.04em;margin:.5rem 0 1.2rem}.center{text-align:center}.audience{background:var(--cream)}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:58px}.audience-card{height:660px;position:relative;overflow:hidden;color:#fff}.audience-card img{transition:transform .8s}.audience-card:hover img{transform:scale(1.035)}.card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(5,12,11,.78))}.audience-copy{position:absolute;left:38px;bottom:35px}.audience-copy p,.audience-copy a{font-size:.72rem;letter-spacing:.13em;font-weight:600}.audience-copy h3{font:500 3.1rem/.95 var(--serif);margin:.7rem 0 1.7rem}.audience-copy a{border-bottom:1px solid rgba(255,255,255,.8);padding-bottom:.45rem}.destinations{background:var(--paper)}.section-title-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:50px}.section-title-row>div>p:last-child{max-width:500px}.text-link{font-size:.77rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid;padding-bottom:.45rem}.destination-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.destination-card{border-top:1px solid var(--line);padding-top:14px}.image-wrap{height:360px;position:relative;overflow:hidden}.image-wrap img{transition:.7s}.destination-card:hover .image-wrap img{transform:scale(1.05)}.image-wrap span{position:absolute;right:10px;top:10px;background:rgba(251,248,241,.9);padding:4px 8px;font-size:.65rem}.destination-card h3{font:500 1.6rem/1.03 var(--serif);margin:1.2rem 0 .8rem}.destination-card p{min-height:74px;font-size:.9rem}.destination-card small{display:block;color:#5b6968;margin:1rem 0 1.2rem}.destination-card>a{font-size:.73rem;text-transform:uppercase;letter-spacing:.09em}.itineraries{background:var(--cream)}.itinerary{border-top:1px solid var(--line)}.itinerary:last-child{border-bottom:1px solid var(--line)}.itinerary summary{list-style:none;display:grid;grid-template-columns:33% 1fr 29%;gap:4vw;align-items:center;padding:24px 0;cursor:pointer}.itinerary summary::-webkit-details-marker{display:none}.itinerary-image{height:285px;overflow:hidden}.itinerary-image img{transition:.7s}.itinerary:hover .itinerary-image img{transform:scale(1.04)}.itinerary-main small{letter-spacing:.15em}.itinerary-main h3{font:500 clamp(2.2rem,4.2vw,4.4rem)/.88 var(--serif);margin:1rem 0}.days p{display:grid;grid-template-columns:64px 1fr;border-bottom:1px solid var(--line);padding-bottom:10px}.days b{font-size:.65rem;letter-spacing:.1em}.days span{font-family:var(--serif);font-size:1.05rem}.days i{display:block;margin-top:25px;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-style:normal}.itinerary-detail{padding:20px 5% 30px 37%;border-top:1px dashed var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.planner{background:#c9d6dc}.planner .section-head{max-width:750px}.planning-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;border-top:1px solid rgba(24,32,31,.26);border-left:1px solid rgba(24,32,31,.26)}.planning-grid a{min-height:235px;padding:30px;border-right:1px solid rgba(24,32,31,.26);border-bottom:1px solid rgba(24,32,31,.26);transition:.25s}.planning-grid a:hover{background:rgba(255,255,255,.33);transform:translateY(-3px)}.planning-grid span{font:2.3rem var(--serif)}.planning-grid h3{font-size:.77rem;letter-spacing:.13em;margin:35px 0 10px}.planning-grid p{font:1.1rem var(--serif);max-width:240px}.guide-card{display:grid;grid-template-columns:1.4fr .7fr auto;gap:40px;align-items:end;background:var(--forest);color:#fff;margin-top:40px;padding:48px}.guide-card small{letter-spacing:.13em}.guide-card h3{font:500 clamp(2rem,4vw,4rem)/.95 var(--serif);margin:1rem 0 0}.guide-card>p{font:1.5rem/1.2 var(--serif)}.roadtrip{min-height:850px;position:relative;color:#fff;display:flex;align-items:center;isolation:isolate}.roadtrip>img{position:absolute;inset:0;z-index:-2}.roadtrip-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,20,18,.82),rgba(10,20,18,.12));z-index:-1}.roadtrip-content{padding-block:100px}.roadtrip h2{font:500 clamp(4rem,8vw,8rem)/.8 var(--serif);margin:1rem 0}.roadtrip-lede{font:1.6rem/1.2 var(--serif)}.route{display:flex;align-items:center;gap:16px;margin:45px 0 25px;font-size:.77rem;letter-spacing:.1em}.route i{font-style:normal;transform:rotate(-90deg)}.roadtrip strong{display:block;font:500 2.2rem/.9 var(--serif);color:#e8c68b;margin-bottom:20px}.roadtrip .button{margin-top:25px}.stories{background:var(--paper)}.story-grid{display:grid;grid-template-columns:1.15fr .85fr 1fr;grid-template-rows:330px 330px;gap:18px}.story-card{position:relative;overflow:hidden;color:#fff}.story-card.tall{grid-row:span 2}.story-card.wide{grid-column:span 2}.story-card:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,rgba(8,13,12,.82))}.story-card img{transition:.7s}.story-card:hover img{transform:scale(1.045)}.story-card>div{position:absolute;z-index:2;left:22px;right:22px;bottom:20px}.story-card small{font-size:.65rem;letter-spacing:.09em}.story-card h3{font:500 1.65rem/1.05 var(--serif);margin:.7rem 0}.final-cta{height:760px;position:relative;color:#fff;display:grid;place-items:center;text-align:center;isolation:isolate}.final-cta>img{position:absolute;inset:0;z-index:-2}.final-overlay{position:absolute;inset:0;background:rgba(7,14,13,.4);z-index:-1}.final-cta h2{font:500 clamp(3.2rem,7vw,7.3rem)/.86 var(--serif);letter-spacing:-.04em;margin:0}.final-cta p{font:500 1.2rem var(--sans);letter-spacing:.18em;margin:2rem 0}.footer-logo{display:inline-block;color:#fff;font:500 1.4rem/.9 var(--serif);border:1px solid #477c9a;background:#2f688a;padding:15px 20px;transform:rotate(-3deg)}footer{background:#151b1a;color:#eae8e1;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:50px}.footer-grid h3{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#9ca7a4}.footer-grid a,.footer-grid p{display:block;font-size:.87rem;margin:.7rem 0;color:#d4d6d2}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:55px;padding-top:20px;display:flex;justify-content:space-between;font-size:.67rem;color:#969f9d}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:980px){.site-header{grid-template-columns:90px 1fr auto;padding:0 24px}.site-header nav{position:fixed;inset:74px 0 auto;background:var(--paper);color:var(--ink);display:none;flex-direction:column;padding:30px}.site-header nav.open{display:flex}.menu-button{display:block;justify-self:end;border:0;background:none;color:inherit;text-transform:uppercase;letter-spacing:.1em}.nav-actions .search,.nav-actions .button{display:none}.audience-grid,.destination-grid{grid-template-columns:repeat(2,1fr)}.destination-card{margin-bottom:30px}.itinerary summary{grid-template-columns:38% 1fr}.days{grid-column:2}.planning-grid{grid-template-columns:repeat(2,1fr)}.guide-card{grid-template-columns:1fr auto}.guide-card>p{display:none}.story-grid{grid-template-columns:1fr 1fr;grid-template-rows:420px 320px 320px}.story-card.tall{grid-row:auto}.story-card.wide{grid-column:span 2}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}}
@media(max-width:650px){.wrap{width:min(100% - 32px,1240px)}.site-header{height:70px}.brand-print{transform:scale(.78) rotate(-8deg);transform-origin:left center}.section{padding:78px 0}.hero{height:820px}.hero>img{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(10,16,15,.78),rgba(10,16,15,.18))}.hero-content{left:22px;right:18px;top:48%}.hero h1{font-size:4.6rem}.hero-buttons{flex-direction:column;align-items:stretch;max-width:320px}.script-note{font-size:1.5rem;bottom:8%}.scroll-cue{display:none}.section-head h2,.section-title-row h2{font-size:3.1rem}.audience-grid{grid-template-columns:1fr}.audience-card{height:540px}.audience-copy h3{font-size:2.6rem}.section-title-row{display:block}.section-title-row .text-link{display:inline-block;margin-top:20px}.destination-grid{display:flex;width:auto;margin-left:16px;margin-right:0;overflow-x:auto;scroll-snap-type:x mandatory;padding-right:16px;gap:14px}.destination-card{flex:0 0 82vw;scroll-snap-align:start}.image-wrap{height:360px}.itinerary summary{display:block}.itinerary-image{height:260px}.itinerary-main{margin:22px 0}.days{margin-bottom:15px}.itinerary-detail{padding:20px;display:block}.planning-grid{grid-template-columns:repeat(2,1fr)}.planning-grid a{min-height:210px;padding:20px}.planning-grid h3{margin-top:20px;font-size:.68rem}.planning-grid p{font-size:.9rem}.guide-card{display:block;padding:30px}.guide-card .button{margin-top:28px}.roadtrip{min-height:800px}.roadtrip>img{object-position:64% center}.route{flex-direction:column;align-items:flex-start}.route i{transform:none}.roadtrip h2{font-size:4.3rem}.story-grid{display:block}.story-card{display:block;height:430px;margin-bottom:16px}.story-card.wide{height:330px}.final-cta{height:620px}.final-cta h2{font-size:3.4rem}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child,.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{display:grid;gap:8px}.menu-button{font-size:.7rem}}
.campaign-logo{object-fit:contain;height:auto}.campaign-logo-nav{width:74px;max-height:72px;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.campaign-logo-hero{width:128px;height:132px;margin:-16px 0 4px;object-position:left center;filter:drop-shadow(0 5px 18px rgba(0,0,0,.25))}.campaign-logo-footer{width:124px;height:128px;object-position:left center;margin-bottom:12px}
@media(max-width:650px){.campaign-logo-nav{width:58px;max-height:58px}.campaign-logo-hero{width:104px;height:108px;margin-bottom:0}}
/* Hero boundary and fluid type safeguards */
.hero{min-height:850px;overflow:hidden}.hero-content{max-width:min(720px,calc(100vw - 80px));transform:translateY(-48%)}.hero h1{font-size:clamp(4.5rem,7.2vw,7.4rem);line-height:.8}.hero h1 span{display:block;white-space:nowrap}.audience{position:relative;z-index:1;overflow:hidden}.audience .section-head{padding-inline:1rem}.audience .section-head h2{font-size:clamp(2.8rem,5.2vw,5.6rem);overflow-wrap:anywhere}
@media(max-height:820px) and (min-width:651px){.hero{min-height:820px}.campaign-logo-hero{width:100px;height:104px;margin:-10px 0 0}.hero h1{font-size:clamp(4.2rem,6.4vw,6.5rem);margin-bottom:1rem}.hero-sub{font-size:1.65rem}.hero-buttons{margin-top:1.25rem}}
@media(max-width:650px){.hero{min-height:820px}.hero-content{max-width:calc(100vw - 40px);transform:translateY(-45%)}.hero h1{font-size:clamp(3.15rem,16.5vw,4.15rem);line-height:.82}.audience .section-head h2{font-size:clamp(2.35rem,12vw,3.15rem);line-height:.9}}
/* Keep every hero element inside section 1 at every viewport height. */
.hero{height:auto;min-height:max(960px,100svh)}.hero-content{top:clamp(108px,12vh,140px);bottom:auto;transform:none;padding-bottom:84px}.hero h1{font-size:clamp(4.25rem,6.5vw,6.8rem)}
@media(max-height:820px) and (min-width:651px){.hero{min-height:940px}.hero-content{top:104px;transform:none}.hero-buttons{margin-top:1.5rem}}
@media(max-width:650px){.hero{height:auto;min-height:930px}.hero-content{top:92px;bottom:auto;transform:none;padding-bottom:72px}.hero h1{font-size:clamp(3.05rem,15.5vw,3.85rem)}.hero-sub{font-size:1.45rem}.hero-list{line-height:1.55}}
.hero-media{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:700px){.hero-media img{object-position:54% center}.hero-shade{background:linear-gradient(180deg,rgba(10,16,15,.62) 0%,rgba(10,16,15,.38) 52%,rgba(10,16,15,.56) 100%)}}
/* Mobile hero: keep the campaign message as one grounded block in the lower-left. */
@media(max-width:700px){.hero{min-height:max(930px,100svh)}.hero-content{left:clamp(20px,5vw,30px);right:clamp(18px,5vw,30px);top:auto;bottom:clamp(24px,4.5svh,46px);max-width:min(500px,calc(100vw - 40px));transform:none;padding-bottom:0}.campaign-logo-hero{width:78px;height:82px;margin:0 0 2px}.hero h1{font-size:clamp(3rem,14.5vw,3.7rem);margin:0 0 1rem}.hero-sub{font-size:clamp(1.25rem,5.8vw,1.5rem);margin:.25rem 0 .8rem}.hero-list{font-size:clamp(.82rem,3.7vw,.95rem);line-height:1.5;margin-block:.65rem}.hero-buttons{gap:8px;margin-top:1.25rem;max-width:min(320px,100%)}.hero-buttons .button{min-height:54px;padding:.85rem 1rem}.script-note{top:88px;right:18px;bottom:auto;font-size:1.2rem;opacity:.9}.hero-shade{background:linear-gradient(180deg,rgba(10,16,15,.4) 0%,rgba(10,16,15,.12) 34%,rgba(10,16,15,.35) 56%,rgba(10,16,15,.82) 100%)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}}
