:root { --cream:#f3eee5; --paper:#fbfaf7; --ink:#1b2823; --forest:#20342c; --rust:#9e6845; --amber:#d3a16f; --sage:#91a095; --line:rgba(27,40,35,.17); --radius:.75rem; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.nav { height:92px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.nav-light { color:var(--ink); }
.brand { display:flex; align-items:center; gap:12px; font-size:12px; letter-spacing:.2em; font-weight:700; }
.brand i { font-family:Georgia,serif; font-weight:400; color:var(--rust); }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border:1px solid currentColor; border-radius:50%; font:italic 16px Georgia,serif; }
.nav-links { display:flex; align-items:center; gap:34px; font-size:12px; }
.nav-links a { position:relative; }
.nav-links a::after { content:""; position:absolute; height:1px; width:0; left:0; bottom:-6px; background:currentColor; transition:width .2s; }
.nav-links a:hover::after { width:100%; }
.nav-cta { border:1px solid currentColor; border-radius:99px; padding:13px 18px; font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.kicker { margin:0 0 22px; color:var(--rust); text-transform:uppercase; letter-spacing:.18em; font-size:10px; font-weight:700; }
h1,h2 { margin:0; font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.045em; }
h1 em,h2 em { color:var(--rust); font-weight:400; }
h1 { font-size:clamp(58px,7.2vw,104px); line-height:.95; }
h2 { font-size:clamp(46px,5.6vw,76px); line-height:1.02; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:16px; padding:16px 23px; border-radius:99px; font-size:12px; font-weight:700; letter-spacing:.03em; }
.button-dark { background:var(--forest); color:white; }
.button-light { background:#f8f3eb; color:var(--forest); }
.text-link { display:inline-flex; align-items:center; gap:12px; margin-top:28px; padding-bottom:5px; border-bottom:1px solid #a4785a; color:#815235; font-size:12px; font-weight:700; }

.reference-hero { min-height:100svh; padding:12svh 0 0; color:white; background:radial-gradient(circle at 84% 16%,#5b5260 0,#293a52 42%,#141619 82%); }
.reference-frame { position:relative; width:min(1680px,82.5vw); height:74svh; min-height:640px; max-height:900px; margin:0 auto; overflow:hidden; border:1px solid rgba(255,255,255,.25); }
.reference-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.reference-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,16,23,.66) 0%,rgba(9,16,23,.18) 48%,rgba(9,16,23,.08) 72%),linear-gradient(0deg,rgba(7,13,19,.5),transparent 62%); }
.reference-nav { position:absolute; z-index:2; top:0; left:6.4%; right:4.4%; height:114px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid rgba(255,255,255,.25); }
.reference-brand { font-size:13px; font-weight:700; letter-spacing:.15em; }
.reference-nav>div { display:flex; gap:42px; font-size:13px; color:rgba(255,255,255,.83); }
.reference-nav>div a { transition:color .2s; }.reference-nav>div a:hover{color:white}
.reference-book { justify-self:end; padding:15px 22px; border:1px solid rgba(255,255,255,.75); font-size:12px; letter-spacing:.16em; }
.reference-copy { position:absolute; z-index:2; left:6.7%; right:6%; top:52%; transform:translateY(-43%); }
.reference-copy>p { margin:0 0 22px; font-size:11px; font-weight:700; letter-spacing:.26em; }
.reference-copy h1 { margin:0 0 5px; max-width:none; color:white; font-family:Georgia,'Times New Roman',serif; font-size:clamp(112px,13.5vw,230px); line-height:.78; font-weight:400; letter-spacing:-.065em; text-shadow:0 8px 24px rgba(0,0,0,.18); }
.reference-copy>span { display:block; margin-top:22px; font-size:11px; letter-spacing:.42em; }
.reference-copy h2 { margin:28px 0 31px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(24px,2.25vw,38px); line-height:1.1; letter-spacing:-.035em; color:white; }
.reference-copy>a { display:inline-flex; align-items:center; justify-content:space-between; gap:80px; min-width:290px; padding:18px 22px; background:#f5f3ec; color:#1f2925; font-size:11px; font-weight:700; letter-spacing:.16em; }
.reference-copy>a svg { transform:rotate(-45deg); }
.reference-meta { position:absolute; z-index:2; right:4.5%; bottom:28px; display:flex; gap:37px; font-size:10px; font-weight:700; letter-spacing:.13em; }
.reference-scroll { height:14svh; min-height:82px; display:flex; align-items:center; justify-content:center; gap:18px; font-size:10px; font-weight:700; letter-spacing:.18em; }
.reference-scroll span { font-size:20px; font-weight:400; }

.opening { min-height:760px; display:grid; grid-template-columns:1.02fr .9fr; gap:9%; align-items:center; padding-block:64px 85px; }
.opening-copy>p:not(.kicker) { max-width:610px; margin:29px 0 0; color:#56605b; font:17px/1.75 Georgia,serif; }
.opening-image { margin:0; position:relative; }
.opening-image img { aspect-ratio:4/5; object-fit:cover; }
.opening-image::before { content:""; position:absolute; width:66%; height:68%; right:-22px; bottom:-22px; z-index:-1; background:#e7ddd0; }
.opening-image figcaption { margin-top:18px; display:flex; gap:8px; align-items:center; color:#6e7772; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.special { padding-block:125px; }
.section-intro { margin-bottom:66px; }
.section-intro.horizontal { display:grid; grid-template-columns:1fr 330px; align-items:end; gap:50px; }
.section-intro.horizontal>p { margin:0 0 6px; color:#626b66; font:16px/1.7 Georgia,serif; }
.pillars { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pillars article { min-height:290px; padding:27px 28px 33px; border-right:1px solid var(--line); display:flex; flex-direction:column; }
.pillars article:last-child { border-right:0; }
.pillars article>span { color:#a27b60; font:italic 17px Georgia,serif; }
.pillars h3 { margin:auto 0 16px; font:400 25px/1.18 Georgia,serif; }
.pillars p { margin:0; color:#67706b; font-size:14px; line-height:1.6; }

.aurora-break,.warmth,.final-hero { position:relative; overflow:hidden; color:white; }
.aurora-break { height:min(82vw,800px); min-height:650px; }
.aurora-break>img,.warmth>img,.final-hero>img { height:100%; object-fit:cover; }
.aurora-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(8,17,25,.7),rgba(8,17,25,.05) 65%); }
.aurora-quote { position:absolute; left:50%; bottom:70px; transform:translateX(-50%); }
.aurora-quote svg { color:#f0c893; margin-bottom:20px; }
.aurora-quote h2 { max-width:850px; font-size:clamp(48px,6.3vw,86px); }
.aurora-quote h2 em { color:#efc58e; }

.experiences { padding-block:130px; }
.gallery { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:280px; gap:12px; }
.gallery figure { margin:0; position:relative; overflow:hidden; background:#d8d5ce; }
.gallery figure.gallery-wide { grid-column:span 2; }
.gallery figure.gallery-tall { grid-row:span 2; }
.gallery img { height:100%; object-fit:cover; transition:transform .65s ease,filter .3s; }
.gallery figcaption { position:absolute; inset:auto 20px 18px; color:white; font:400 24px Georgia,serif; opacity:0; transform:translateY(8px); transition:.3s; z-index:2; }
.gallery figure::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(11,19,16,.68),transparent 55%); opacity:0; transition:.3s; }
.gallery figure:hover img { transform:scale(1.035); }
.gallery figure:hover figcaption,.gallery figure:hover::after { opacity:1; transform:translateY(0); }

.route { background:var(--cream); padding-block:130px; }
.route-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:12%; align-items:start; }
.route-sticky { position:sticky; top:60px; }
.route-sticky>p:not(.kicker) { max-width:410px; margin:25px 0; color:#626b66; font:17px/1.7 Georgia,serif; }
.timeline { position:relative; border-left:1px solid #b9b3aa; }
.timeline article { position:relative; padding:0 0 44px 43px; }
.timeline article:last-child { padding-bottom:0; }
.timeline-dot { position:absolute; left:-6px; top:6px; width:11px; height:11px; border:2px solid var(--cream); border-radius:50%; background:var(--rust); box-shadow:0 0 0 1px var(--rust); }
.timeline p { margin:0 0 7px; color:var(--rust); text-transform:uppercase; font-size:9px; font-weight:700; letter-spacing:.16em; }
.timeline h3 { margin:0 0 9px; font:400 26px Georgia,serif; }
.timeline div>span { color:#66706b; font-size:14px; line-height:1.55; }

.warmth { height:min(78vw,800px); min-height:640px; }
.warmth-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(35,25,17,.82),rgba(35,25,17,.12) 70%),linear-gradient(0deg,rgba(24,18,12,.35),transparent); }
.warmth-copy { position:absolute; left:50%; bottom:80px; transform:translateX(-50%); }
.warmth .kicker { color:#edc697; }
.warmth h2 em { color:#eebf85; }
.warmth-copy>p:last-child { margin:25px 0 0; font:20px/1.7 Georgia,serif; color:rgba(255,255,255,.86); }

.included { padding-block:130px; }
.included-columns { display:grid; grid-template-columns:1fr 1fr; gap:9%; }
.included-columns h3 { display:flex; align-items:center; gap:12px; margin:0 0 18px; padding-bottom:18px; border-bottom:2px solid var(--ink); font:400 25px Georgia,serif; }
.included-columns>div:last-child h3 { color:#747c78; border-color:#8d9490; }
.included-columns p { min-height:56px; margin:0; padding:17px 0; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; font-size:15px; }
.included-columns svg { color:var(--rust); }

.authors { background:var(--forest); color:white; padding-block:125px; }
.authors-grid { display:grid; grid-template-columns:1fr .9fr; gap:10%; align-items:center; }
.author-visuals { display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:end; }
.author-visuals figure { margin:0; }
.author-photo { aspect-ratio:3/4; display:flex; align-items:flex-end; justify-content:center; padding:22px; background:linear-gradient(155deg,#83978a,#354b42); border:1px solid rgba(255,255,255,.2); }
.author-photo.second { transform:translateY(48px); background:linear-gradient(155deg,#b58764,#48372c); }
.author-photo span { color:rgba(255,255,255,.65); text-transform:uppercase; letter-spacing:.15em; font-size:9px; }
.author-visuals figcaption { margin-top:11px; color:#97aaa0; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.authors .kicker { color:#e2b382; }
.authors h2 em { color:#e5b27c; }
.authors-copy>p:not(.kicker) { color:#bec8c2; font:17px/1.75 Georgia,serif; }
.photo-note { display:block; margin-top:28px; color:#8fa198; font-size:11px; font-style:italic; }

.faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:11%; padding-block:130px; }
.faq header { position:sticky; top:60px; align-self:start; }
.faq-list { border-top:1px solid var(--line); }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { list-style:none; display:grid; grid-template-columns:42px 1fr 20px; gap:12px; align-items:center; padding:24px 0; cursor:pointer; font:400 21px Georgia,serif; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary span { color:var(--rust); font:italic 13px Georgia,serif; }
.faq details[open] summary svg { transform:rotate(45deg); }
.faq summary svg { transition:transform .2s; }
.faq details>p { margin:0; padding:0 32px 25px 54px; color:#66706b; font-size:14px; line-height:1.7; }

.final-hero { height:min(78vw,820px); min-height:680px; }
.final-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,19,27,.78),rgba(9,19,27,.12) 70%),linear-gradient(0deg,rgba(9,15,18,.32),transparent 60%); }
.final-copy { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); }
.final-copy .kicker { color:#ebc490; }
.final-copy h2 { max-width:850px; font-size:clamp(54px,7vw,94px); }
.final-copy h2 em { color:#efc28d; }
.final-copy>p:not(.kicker) { margin:25px 0 31px; font:18px Georgia,serif; }

.booking { background:#c78f5d; padding-block:120px; }
.booking-grid { display:grid; grid-template-columns:1fr .8fr; gap:11%; align-items:start; }
.booking .kicker { color:#5e3c26; }
.booking h2 em { color:#fff2e3; }
.booking-grid>div:first-child>p:not(.kicker) { max-width:510px; font:17px/1.7 Georgia,serif; }
.booking-meta { margin-top:35px; display:flex; flex-direction:column; gap:14px; font-size:12px; }
.booking-meta span { display:flex; align-items:center; gap:9px; }
.reserve-form,.form-success { min-height:450px; background:var(--paper); color:var(--ink); padding:38px; box-shadow:0 22px 70px rgba(63,39,21,.14); }
.reserve-form>div { margin-bottom:21px; }
.reserve-form label { display:block; margin-bottom:8px; text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:700; }
.reserve-form label span { float:right; color:#888e8a; font-weight:400; }
.reserve-form input,.reserve-form textarea { width:100%; border:0; border-bottom:1px solid #b4b3ac; border-radius:0; background:transparent; padding:10px 0; outline:none; color:var(--ink); font:15px Georgia,serif; }
.reserve-form input { height:42px; }
.reserve-form textarea { resize:vertical; }
.reserve-form input:focus,.reserve-form textarea:focus { border-color:var(--rust); }
.form-button { width:100%; height:52px; margin-top:8px; border:0; border-radius:99px; display:flex; justify-content:center; align-items:center; gap:14px; background:var(--forest); color:white; cursor:pointer; font-size:13px; font-weight:700; }
.reserve-form small { display:block; text-align:center; margin-top:15px; color:#7c837f; font-size:10px; }
.form-success { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.form-success svg { color:var(--rust); }.form-success h3{margin:20px 0 10px;font:400 35px Georgia,serif}.form-success p{max-width:350px;color:#616a66;line-height:1.65}.form-success button{border:0;background:transparent;color:var(--rust);text-decoration:underline;cursor:pointer}
footer { background:#14231d; color:white; padding:42px 0; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:25px; }
.footer-inner p,.footer-inner>span { color:#8fa098; font-size:11px; }

.itinerary-page { background:var(--paper); }
.back-link { display:inline-flex; align-items:center; gap:8px; margin-bottom:55px; color:#71513d; font-size:12px; }
.itinerary-hero { padding:70px 0 100px; background:var(--cream); }
.itinerary-hero h1 { max-width:920px; }.itinerary-hero h1 em{color:var(--rust)}
.itinerary-facts { display:flex; flex-wrap:wrap; gap:35px; margin-top:40px; color:#58635e; font-size:12px; }.itinerary-facts span{display:flex;align-items:center;gap:8px}
.full-days { padding-block:100px; }
.full-days article { display:grid; grid-template-columns:160px .8fr 1.2fr; gap:45px; padding:38px 0; border-bottom:1px solid var(--line); }
.full-days article:first-child{border-top:1px solid var(--line)}.full-days article>div>span{color:var(--rust);text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:700}.full-days article>div>p{margin:8px 0 0;color:#68716c;font-size:13px}.full-days h2{font-size:31px}.full-days article>p{margin:0;color:#606a65;font:16px/1.7 Georgia,serif}
.itinerary-cta { background:var(--forest); color:white; padding-block:110px; }.itinerary-cta .kicker{color:#e1b17e}.itinerary-cta h2{margin-bottom:30px}.itinerary-cta h2 em{color:#e5b37d}

@media(max-width:900px){.nav-links{display:none}.opening{grid-template-columns:1fr;gap:55px}.opening-image{max-width:620px;margin-left:auto}.pillars{grid-template-columns:1fr 1fr}.pillars article:nth-child(2){border-right:0}.pillars article:nth-child(-n+2){border-bottom:1px solid var(--line)}.gallery{grid-template-columns:1fr 1fr}.gallery figure.gallery-wide{grid-column:span 2}.route-grid,.authors-grid,.faq,.booking-grid{grid-template-columns:1fr}.route-sticky,.faq header{position:static}.timeline{margin-left:8px}.authors-grid{gap:90px}.authors-copy{max-width:650px}.faq{gap:50px}.full-days article{grid-template-columns:120px 1fr}.full-days article>p{grid-column:2}}
@media(max-width:620px){.shell{width:min(100% - 30px,1180px)}.nav{height:76px}.nav-cta{padding:10px 12px;font-size:9px}.brand{font-size:9px}.opening{padding-block:65px 85px;min-height:auto}.opening h1{font-size:clamp(52px,15vw,70px)}.opening-image::before{right:-10px;bottom:-12px}.special,.experiences,.route,.included,.authors,.faq,.booking{padding-block:82px}.pillars{grid-template-columns:1fr}.pillars article{min-height:220px;border-right:0;border-bottom:1px solid var(--line)!important}.pillars article:last-child{border-bottom:0!important}.aurora-break,.warmth,.final-hero{min-height:620px}.aurora-break img,.final-hero img{object-position:62% center}.section-intro.horizontal{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;grid-auto-rows:300px}.gallery figure.gallery-wide{grid-column:auto}.gallery figure.gallery-tall{grid-row:auto}.gallery figcaption,.gallery figure::after{opacity:1;transform:none}.warmth img{object-position:60% center}.warmth-copy>p:last-child{font-size:17px}.included-columns{grid-template-columns:1fr;gap:55px}.author-visuals{gap:10px}.author-photo.second{transform:translateY(28px)}.faq details>p{padding-left:42px}.final-copy h2{font-size:clamp(48px,14vw,70px)}.reserve-form,.form-success{padding:28px 22px}.footer-inner{flex-direction:column;text-align:center}.full-days article{grid-template-columns:1fr;gap:15px}.full-days article>p{grid-column:1}.itinerary-hero{padding:55px 0 75px}.itinerary-hero h1{font-size:clamp(50px,14vw,72px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(max-width:900px){.reference-hero{padding-top:30px}.reference-frame{width:calc(100% - 30px);height:calc(100svh - 115px);min-height:680px}.reference-nav{left:24px;right:24px;height:88px;grid-template-columns:1fr auto}.reference-nav>div{display:none}.reference-brand{font-size:11px}.reference-book{font-size:10px;padding:13px 15px}.reference-copy{left:25px;right:25px;top:auto;bottom:90px;transform:none}.reference-copy>p{font-size:9px;letter-spacing:.2em}.reference-copy h1{font-size:clamp(72px,19vw,150px);line-height:.84}.reference-copy>span{margin-top:18px;font-size:9px}.reference-copy h2{font-size:clamp(25px,5vw,36px);max-width:560px}.reference-copy>a{min-width:250px;gap:45px}.reference-meta{left:25px;right:auto;bottom:24px;gap:22px}.reference-scroll{height:85px;min-height:85px}}
@media(max-width:620px){.reference-frame{min-height:640px}.reference-bg{object-position:40% center}.reference-shade{background:linear-gradient(90deg,rgba(9,16,23,.66),rgba(9,16,23,.1)),linear-gradient(0deg,rgba(7,13,19,.72),transparent 70%)}.reference-copy{bottom:100px}.reference-copy h1{font-size:clamp(66px,20vw,104px)}.reference-copy h2{font-size:25px;margin:22px 0}.reference-copy>a{padding:16px 18px;min-width:230px}.reference-meta{gap:15px;font-size:8px}.reference-meta span:last-child{display:none}}
