:root{--ink:#18201d;--cream:#f0ece4;--gold:#c96745;--paper:#faf9f5;--line:rgba(24,32,29,.18);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02}h2{font-size:clamp(2.8rem,5vw,5.6rem);letter-spacing:-.045em}.section-pad{padding:clamp(5rem,10vw,10rem) max(5vw,2rem)}.section-kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;font-weight:700;color:#7d6843;margin-bottom:2rem}.site-header{height:86px;padding:0 max(4vw,1.25rem);display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;width:100%;color:white;border-bottom:1px solid rgba(255,255,255,.25)}.brand{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.12em;line-height:1}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.7);font-family:var(--serif);font-size:.72rem}.brand b{display:block;font-family:var(--serif);font-size:1.15rem;font-weight:400}.brand small{display:block;font-size:.55rem;letter-spacing:.28em;margin-top:6px}.site-header nav{display:flex;align-items:center;gap:2rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.site-header nav>a:not(.nav-cta){opacity:.8;transition:.2s}.site-header nav>a:hover{opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:.8rem 1.25rem}.menu-toggle{display:none;background:transparent;border:0;padding:10px}.hero{height:max(760px,100svh);position:relative;color:white;background:#38413c}.hero img{position:absolute;inset:0}.hero-shade,.quote-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,18,15,.74) 0%,rgba(11,18,15,.27) 58%,rgba(11,18,15,.08)),linear-gradient(0deg,rgba(11,18,15,.44),transparent 55%)}.hero-copy{position:absolute;left:max(7vw,2rem);bottom:17%;max-width:800px}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.24em;font-weight:700;color:#ead19e}.hero h1{font-size:clamp(4rem,8.2vw,8.5rem);letter-spacing:-.06em;margin-bottom:1.8rem}.hero h1 em,.quote em{color:#f0c36d;font-weight:400}.hero-copy>p:not(.eyebrow){font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.55;max-width:620px}.hero-actions{display:flex;align-items:center;gap:2rem;margin-top:2.5rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:1rem 1.5rem;text-transform:uppercase;font-size:.72rem;letter-spacing:.14em;font-weight:700;transition:.2s}.button.light{background:var(--cream);color:var(--ink)}.button.light:hover{background:#fff}.text-link{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.text-link span{margin-left:.5rem}.hero-trust{position:absolute;bottom:0;width:100%;display:flex;justify-content:flex-end;gap:2rem;padding:1.3rem max(4vw,1.25rem);border-top:1px solid rgba(255,255,255,.25);font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.75)}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:1.1fr .75fr;gap:10vw}.intro h2{margin-bottom:0}.intro-grid>div{padding-top:1rem}.intro .lead{font-family:var(--serif);font-size:1.5rem;line-height:1.5}.intro-grid p:not(.lead){color:#5d625f}.ink-link{display:inline-block;margin-top:1rem;padding-bottom:.25rem;border-bottom:1px solid var(--ink);font-size:.74rem;text-transform:uppercase;letter-spacing:.14em}.regions{background:var(--ink);color:white;padding-bottom:clamp(5rem,8vw,8rem)}.regions-head{padding-bottom:4rem}.regions-head .section-kicker{color:#e5a17f}.regions-head h2{max-width:970px;margin-bottom:0}.region-stage{margin:0 max(5vw,2rem);border-top:1px solid rgba(255,255,255,.22)}.region-card{display:grid;grid-template-columns:10% 1fr;align-items:center;padding:2rem 0;border-bottom:1px solid rgba(255,255,255,.22);cursor:pointer;transition:.25s}.region-card:hover,.region-card.active{background:#242e2a;padding-left:1.25rem;padding-right:1.25rem}.region-card .number{font-size:.7rem;color:#e5a17f}.region-card div{display:grid;grid-template-columns:22% 1fr 35%;align-items:center;gap:1rem}.region-card p{margin:0;font-size:.67rem;text-transform:uppercase;letter-spacing:.16em;color:#b6bcb8}.region-card h3{font-size:clamp(1.8rem,3.7vw,3.5rem);margin:0}.region-card div>span{font-family:var(--serif);font-size:1.05rem;color:#b6bcb8}.feature{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,7vw,8rem);align-items:center}.feature-image{height:min(720px,68vw);position:relative}.image-note{position:absolute;bottom:0;left:0;background:var(--paper);padding:1rem 1.5rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}.feature-copy h2{font-size:clamp(2.8rem,4.8vw,5rem)}.feature-copy>p:not(.section-kicker){color:#5d625f;max-width:570px}.journey-types{margin-top:3rem;border-top:1px solid var(--line)}.journey-types a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;padding:1.1rem 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.15rem}.journey-types a span{font-family:var(--sans);font-size:.65rem;color:#9b5139}.journey-types a b{font-family:var(--sans);font-weight:400}.timing{display:grid;grid-template-columns:1.1fr .9fr;background:#c96745;color:#18201d}.timing-copy{padding:clamp(5rem,9vw,9rem) max(5vw,2rem)}.timing-copy .section-kicker{color:#493813}.timing-copy h2{font-size:clamp(2.8rem,5vw,5.3rem)}.timing-copy>p:not(.section-kicker){max-width:600px}.button.outline{border:1px solid var(--ink);margin-top:1.5rem}.season-list{background:#b65738;padding:clamp(5rem,9vw,9rem) max(4vw,2rem)}.season-list div{display:grid;grid-template-columns:25% 1fr;border-bottom:1px solid rgba(24,32,29,.28);padding:1.35rem 0;align-items:baseline}.season-list div:first-child{border-top:1px solid rgba(24,32,29,.28)}.season-list span{font-size:.72rem;letter-spacing:.1em}.season-list b{font-family:var(--serif);font-size:1.45rem;font-weight:400}.season-list small{grid-column:2;font-size:.82rem;opacity:.7}.planning{background:#e7e1d7}.planning-head{display:grid;grid-template-columns:.6fr 1.4fr;gap:5vw}.planning-head h2{margin-top:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:3vw;margin-top:5rem}.steps article{border-top:1px solid var(--line);padding-top:1.5rem}.steps span{font-size:.7rem;color:#9b5139}.steps h3{font-size:1.75rem;margin:2rem 0 1rem}.steps p{color:#5d625f}.proof{margin-top:6rem;padding:2.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.proof div{padding:0 2.5rem;border-right:1px solid var(--line)}.proof div:first-child{padding-left:0}.proof div:last-child{border:0}.proof strong{display:block;font-family:var(--serif);font-size:1.6rem;font-weight:400}.proof span{font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;color:#6f7470}.quote{height:75vh;min-height:620px;position:relative;color:white;display:grid;place-items:center}.quote img{position:absolute;inset:0}.quote-shade{background:rgba(10,17,14,.38)}.quote blockquote{position:relative;font-family:var(--serif);font-size:clamp(2.7rem,6vw,6rem);line-height:1.12;text-align:center;margin:0;padding:2rem;letter-spacing:-.035em}.cta{text-align:center}.cta h2{margin-bottom:1.5rem}.cta>p:not(.section-kicker){font-family:var(--serif);font-size:1.25rem;color:#626762}.button.dark{background:var(--ink);color:white;margin-top:2rem}.phone{display:block;margin-top:1.25rem;font-size:.78rem;letter-spacing:.08em}footer{background:var(--ink);color:white;padding:4rem max(5vw,2rem);display:grid;grid-template-columns:1fr 1.2fr .8fr 1fr;gap:3rem;border-top:1px solid rgba(255,255,255,.2)}.footer-brand{font-family:var(--serif);font-size:1.5rem;line-height:1}.footer-brand b,.footer-brand span{display:block;font-weight:400}.footer-brand span{font-family:var(--sans);font-size:.62rem;text-transform:uppercase;letter-spacing:.25em;margin-top:.6rem}.legal{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#a8afab;margin-top:2rem}.footer-links,.footer-end{display:flex;flex-direction:column;gap:.5rem;font-size:.8rem}.footer-end{color:#a8afab}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:850px){.site-header{height:72px}.menu-toggle{display:block;z-index:2}.menu-toggle span{display:block;width:25px;height:1px;background:white;margin:7px}.site-header nav{display:none;position:absolute;left:0;right:0;top:0;background:var(--ink);padding:100px 2rem 2rem;flex-direction:column;align-items:flex-start;font-size:1rem}.site-header nav.open{display:flex}.hero{min-height:700px}.hero-copy{bottom:14%;left:1.5rem;right:1.5rem}.hero h1{font-size:clamp(3.7rem,16vw,6rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:1rem}.hero-trust{justify-content:flex-start;gap:1rem;overflow:hidden;white-space:nowrap}.intro-grid,.feature,.timing,.planning-head{grid-template-columns:1fr}.intro-grid{gap:3rem}.region-card{grid-template-columns:13% 1fr}.region-card div{grid-template-columns:1fr}.region-card p{margin-bottom:.2rem}.region-card div>span{font-size:.9rem}.feature-image{height:65vh;min-height:500px}.timing-copy{padding-bottom:4rem}.season-list{padding-top:3rem}.planning-head{gap:1rem}.steps,.proof{grid-template-columns:1fr}.steps{gap:2.5rem}.proof div,.proof div:first-child{border-right:0;border-bottom:1px solid var(--line);padding:1.25rem 0}.proof div:last-child{border-bottom:0}footer{grid-template-columns:1fr 1fr}.quote{min-height:520px}}@media(max-width:540px){h2{font-size:2.8rem}.section-pad{padding:5rem 1.4rem}.regions-head{padding-bottom:3rem}.region-stage{margin:0 1.4rem}.hero-copy>p:not(.eyebrow){font-size:1.05rem}.hero-trust span:last-child{display:none}.feature{padding-left:0;padding-right:0}.feature-copy{padding:0 1.4rem}.feature-image{height:500px}.timing-copy,.season-list{padding-left:1.4rem;padding-right:1.4rem}.season-list div{grid-template-columns:30% 1fr}footer{grid-template-columns:1fr;padding:3rem 1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Interior pages */
.inner-header{position:relative;background:var(--ink)}.inner-header nav{gap:1.5rem}.page-hero{min-height:580px;background:var(--cream);display:flex;align-items:flex-end;padding:clamp(8rem,13vw,13rem) max(8vw,2rem) clamp(5rem,8vw,8rem)}.page-hero>div{max-width:1050px}.page-hero h1,.detail-hero h1,.contact-intro h1{font-size:clamp(4rem,9vw,9rem);letter-spacing:-.06em;margin-bottom:2rem}.page-hero>div>p:last-child,.detail-hero>div>p:last-child{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.5rem);max-width:680px}.gold-hero{background:var(--gold)}.gold-hero .section-kicker{color:#493813}.dark-hero{background:var(--ink);color:white}.detail-hero{min-height:720px;position:relative;display:flex;align-items:flex-end;padding:clamp(8rem,13vw,13rem) max(8vw,2rem) clamp(5rem,8vw,8rem)}.detail-hero.image-hero{color:white}.detail-hero>img{position:absolute;inset:0}.detail-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,18,15,.82) 0%,rgba(11,18,15,.52) 40%,rgba(11,18,15,.12) 76%),linear-gradient(0deg,rgba(11,18,15,.5) 0%,transparent 58%)}.detail-hero>div{position:relative;max-width:850px}.detail-hero .section-kicker{color:#e2bd74}.detail-intro{display:grid;grid-template-columns:.45fr 1.3fr;gap:6vw}.detail-intro h2{margin-bottom:2.5rem}.detail-intro .lead{font-family:var(--serif);font-size:1.5rem;line-height:1.5;max-width:760px}.detail-intro div>p:not(.lead){max-width:700px;color:#5d625f}.editorial-list{padding-top:3rem}.editorial-row{display:grid;grid-template-columns:8% 1.2fr .45fr;gap:4vw;padding:5rem 0;border-top:1px solid var(--line)}.editorial-row>span{font-size:.7rem;color:#9b5139}.editorial-row h2{font-size:clamp(3rem,6vw,6.5rem);margin-bottom:1.5rem}.editorial-row div>p:not(.section-kicker){max-width:650px;color:#5d625f}.editorial-row aside{padding-top:3.8rem;font-family:var(--serif);font-size:1.1rem;line-height:1.9;color:#6b706c}.dark-section{background:var(--ink);color:white}.gold-section{background:var(--gold)}.place-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw}.place-grid article{border-top:1px solid currentColor;padding-top:1.5rem}.place-grid span,.principles span{font-size:.7rem;opacity:.65}.place-grid h3,.principles h3{font-size:2.2rem;margin:2.5rem 0 1rem}.place-grid p{opacity:.72}.route-note{display:grid;grid-template-columns:1.25fr .55fr;gap:8vw;align-items:end}.route-note h2{font-size:clamp(2.8rem,5.5vw,5.6rem);margin:0}.route-note>p{font-family:var(--serif);font-size:1.25rem}.idea-grid{display:grid;grid-template-columns:repeat(2,1fr);padding-top:3rem}.idea-card{min-height:440px;padding:3.5rem;border:1px solid var(--line);margin:-1px 0 0 -1px;display:flex;flex-direction:column}.idea-card>span{font-size:.7rem;color:#9b5139}.idea-card h2{font-size:clamp(2.5rem,4.5vw,4.5rem);margin:3rem 0 1.5rem}.idea-card p{color:#5d625f;max-width:560px}.idea-card small{margin-top:auto;text-transform:uppercase;letter-spacing:.12em;color:#9b5139}.month-guide{padding-top:3rem}.month-row{display:grid;grid-template-columns:.4fr 1fr;gap:7vw;padding:4.5rem 0;border-top:1px solid var(--line)}.month-row>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:#856d40}.month-row h2{font-size:clamp(2.5rem,5vw,5rem);margin-bottom:1.5rem}.month-row p{max-width:760px;color:#5d625f}.month-row small{display:block;margin-top:1.5rem;text-transform:uppercase;letter-spacing:.1em}.itinerary-list{padding-top:3rem}.itinerary{display:grid;grid-template-columns:.35fr 1fr .45fr;gap:5vw;padding:4.5rem 0;border-top:1px solid var(--line)}.itinerary>div span{font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;color:#9b5139}.itinerary>div p{font-family:var(--serif);font-size:1.25rem}.itinerary h2{font-size:clamp(2.7rem,5vw,5rem);margin:0}.itinerary h2 i{font-family:var(--sans);font-size:.7rem;font-style:normal;vertical-align:middle;color:#9b5139}.itinerary aside{padding-top:.5rem}.itinerary aside b{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.itinerary aside p{color:#5d625f}.itinerary aside small{font-family:var(--serif);font-size:1rem}.pricing-note{max-width:740px;font-size:.82rem;color:#6d726f}.principles>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw}.principles article{border-top:1px solid rgba(255,255,255,.3);padding-top:1.5rem}.principles p{color:#b8bfbb}.founder{display:grid;grid-template-columns:.55fr 1.2fr;gap:8vw;align-items:center}.portrait-block{aspect-ratio:4/5;background:var(--gold);display:grid;place-items:center}.portrait-block span{font-family:var(--serif);font-size:clamp(5rem,12vw,12rem);color:rgba(24,32,29,.25)}.founder h2{font-size:clamp(2.8rem,5vw,5rem)}.founder div:last-child>p:not(.section-kicker){max-width:600px;color:#5d625f}.contact-wrap{min-height:calc(100vh - 86px);display:grid;grid-template-columns:.85fr 1.15fr;background:var(--cream)}.contact-intro{background:var(--ink);color:white;padding:clamp(5rem,8vw,8rem) max(5vw,2rem)}.contact-intro .section-kicker{color:#e5a17f}.contact-intro>p:not(.section-kicker){font-family:var(--serif);font-size:1.25rem;max-width:560px;color:#d4d8d5}.contact-direct{display:flex;flex-direction:column;margin:3rem 0;font-family:var(--serif);font-size:1.2rem}.contact-intro>small{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#aeb5b1}.enquiry-form{padding:clamp(5rem,8vw,8rem) max(5vw,2rem);display:flex;flex-direction:column;gap:1.5rem}.enquiry-form label{display:flex;flex-direction:column;gap:.55rem}.enquiry-form label>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700}.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:.8rem 0;font:inherit;color:var(--ink);border-radius:0}.enquiry-form textarea{border:1px solid var(--line);padding:1rem;resize:vertical}.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:2px solid #9b772f;outline-offset:3px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.enquiry-form .button{border:0;align-self:flex-start;cursor:pointer}.form-note{font-size:.78rem;color:#6d726f}.cost-guide{background:var(--gold);display:grid;grid-template-columns:.35fr 1.2fr .5fr;gap:5vw}.cost-guide h2{font-size:clamp(2.5rem,4.5vw,4.8rem)}.cost-guide>p:last-child{align-self:end}.form-success{padding:1rem;background:#e2eadf;border-left:3px solid #557353}
@media(max-width:850px){.inner-header nav{top:0}.detail-intro,.editorial-row,.route-note,.month-row,.itinerary,.founder,.contact-wrap,.cost-guide{grid-template-columns:1fr}.detail-hero{min-height:620px}.editorial-row{grid-template-columns:40px 1fr}.editorial-row aside{grid-column:2;padding-top:0}.place-grid,.principles>div{grid-template-columns:1fr}.idea-card{padding:2.2rem;min-height:380px}.contact-intro h1{font-size:clamp(3.5rem,14vw,6rem)}.cost-guide{gap:1rem}.cost-guide>p:last-child{max-width:600px}.itinerary aside{max-width:550px}}@media(max-width:540px){.page-hero{min-height:520px;padding-left:1.4rem;padding-right:1.4rem}.page-hero h1,.detail-hero h1{font-size:3.8rem}.detail-hero{padding-left:1.4rem;padding-right:1.4rem}.editorial-row{padding:3.5rem 0}.idea-grid{grid-template-columns:1fr;padding-left:1.4rem;padding-right:1.4rem}.form-pair{grid-template-columns:1fr}.contact-intro,.enquiry-form{padding-left:1.4rem;padding-right:1.4rem}.month-row{padding:3rem 0}.itinerary{padding:3rem 0}}

.price-intro{background:#e7e1d7;padding-bottom:7rem}
.price-statement{display:grid;grid-template-columns:.4fr 1.3fr .55fr;gap:5vw;align-items:end}
.price-statement h2{font-size:clamp(2.7rem,4.8vw,5rem);margin:0}
.price-statement>p:last-child{color:#5d625f}
.price-bands{display:grid;grid-template-columns:repeat(3,1fr);margin-top:5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.price-bands article{padding:2.25rem 2.5rem;border-right:1px solid var(--line)}
.price-bands article:first-child{padding-left:0}
.price-bands article:last-child{border:0}
.price-bands span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#8f4933}
.price-bands strong{display:block;font-family:var(--serif);font-size:clamp(2rem,3vw,3.2rem);font-weight:400;line-height:1.1;margin-top:1.2rem}
.price-bands small{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#747974;margin:.4rem 0 1.5rem}
.price-bands p{color:#5d625f}
.price-context{max-width:900px;margin:2rem 0 0;font-size:.82rem;color:#666c68}
.itinerary-heading{display:grid;grid-template-columns:.35fr 1fr;gap:5vw;margin-bottom:3rem}
.itinerary-heading h2{font-size:clamp(2.7rem,4.8vw,5rem);margin:0}
.itinerary-meta small{display:block;font-family:var(--serif);font-size:1.35rem;color:#a64f32;margin-top:2rem}
.itinerary aside a{display:inline-block;margin-top:1.2rem;padding-bottom:.15rem;border-bottom:1px solid currentColor;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.price-factors>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw}
.price-factors article{border-top:1px solid rgba(255,255,255,.28);padding-top:1.5rem}
.price-factors span{font-size:.7rem;color:#e5a17f}
.price-factors h3{font-size:2rem;margin:2.25rem 0 1rem}
.price-factors p{color:#bac0bc}
@media(max-width:850px){
.price-statement,.itinerary-heading{grid-template-columns:1fr}
.price-bands,.price-factors>div{grid-template-columns:1fr}
.price-bands article,.price-bands article:first-child{padding:2rem 0;border-right:0;border-bottom:1px solid var(--line)}
.price-bands article:last-child{border-bottom:0}
.price-statement{gap:2rem}
}

/* Individual itineraries */
.journey-image{display:block}
.journey-body h2 a{color:inherit}
.itinerary-detail-hero{min-height:84vh;position:relative;display:flex;align-items:flex-end;color:#fff;padding:clamp(9rem,14vw,13rem) max(7vw,2rem) clamp(4rem,7vw,7rem)}
.itinerary-detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.itinerary-detail-hero .detail-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,14,11,.82),rgba(7,14,11,.05) 72%),linear-gradient(90deg,rgba(7,14,11,.52),transparent 70%)}
.itinerary-detail-hero>div:last-child{position:relative;max-width:1080px}
.itinerary-detail-hero h1{max-width:950px;margin:1rem 0 1.5rem;font-size:clamp(4rem,8vw,8rem);line-height:.95;letter-spacing:-.045em}
.itinerary-detail-hero>div>p:not(.section-kicker){max-width:740px;font-family:var(--serif);font-size:clamp(1.2rem,1.8vw,1.55rem);line-height:1.55}
.itinerary-summary{display:flex;flex-wrap:wrap;gap:.65rem 2.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.35);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em}
.itinerary-overview{display:grid;grid-template-columns:.55fr 1fr;gap:8vw;background:#f3efe7}
.itinerary-overview h2{font-size:clamp(3rem,5vw,5.4rem)}
.itinerary-overview .lead{font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.7rem);line-height:1.6;color:var(--ink)}
.itinerary-overview>div:last-child>p:not(.lead){max-width:800px;color:#59615d;line-height:1.8}
.itinerary-note{margin-top:2.2rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.86rem}
.itinerary-route{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:start}
.route-copy h2{font-size:clamp(3rem,5vw,5rem);margin-bottom:2.5rem}
.route-copy ol{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.route-copy li{display:grid;grid-template-columns:45px 1fr;gap:1.2rem;padding:1.6rem 0;border-bottom:1px solid rgba(255,255,255,.2)}
.route-copy li>span{color:#c7b38d;font-size:.72rem}
.route-copy h3{margin:0;font-family:var(--serif);font-size:1.65rem;font-weight:400}
.route-copy b{display:block;margin:.35rem 0 .7rem;color:#d8be8a;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.route-copy li p{margin:0;color:#bac0bc;font-size:.91rem;line-height:1.65}
.route-map-wrap{position:sticky;top:2rem}
.route-map{height:min(70vh,680px);min-height:480px;background:#d9ded9;filter:saturate(.65)}
.route-map-wrap>p{margin:.9rem 0 0;color:#aeb6b1;font-size:.72rem;line-height:1.6}
.leaflet-tooltip{border:0!important;border-radius:0!important;background:#14201b!important;color:#fff!important;box-shadow:none!important;font-family:Arial,sans-serif;font-size:11px!important;letter-spacing:.03em}
.leaflet-tooltip:before{display:none}
.camp-suggestions{background:#ede7dc}
.camp-stop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(20,32,27,.18);margin-top:3rem}
.camp-stop-grid article{background:#ede7dc;padding:clamp(2rem,4vw,4rem)}
.camp-stop-grid article>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#806944}
.camp-stop-grid h3{font-size:clamp(2rem,3vw,3rem);margin:1.5rem 0 1rem}
.camp-stop-grid article>p{color:#5c645f;min-height:7.5em}
.camp-links{margin-top:2rem;border-top:1px solid var(--line)}
.camp-links a{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.05rem}
.camp-links i{font-family:var(--sans);font-size:.62rem;font-style:normal;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.itinerary-price{display:grid;grid-template-columns:1fr 1fr;gap:10vw;background:#f6f3ed}
.itinerary-price h2{font-size:clamp(3rem,5vw,5rem)}
.itinerary-price h3{font-size:2rem}
.itinerary-price p{color:#5c645f;line-height:1.8}
@media(max-width:900px){.itinerary-route{grid-template-columns:1fr}.route-map-wrap{position:static}.camp-stop-grid{grid-template-columns:1fr 1fr}.itinerary-overview{grid-template-columns:1fr}.itinerary-price{grid-template-columns:1fr;gap:3rem}}
@media(max-width:700px){.itinerary-detail-hero{min-height:720px;padding:8.5rem 1.4rem 3rem}.itinerary-detail-hero h1{font-size:3.55rem}.itinerary-summary{gap:.7rem 1.3rem}.route-map{min-height:390px;height:52vh}.camp-stop-grid{grid-template-columns:1fr}.camp-stop-grid article>p{min-height:0}.itinerary-route{padding-left:1.4rem;padding-right:1.4rem}.itinerary-overview{gap:1.5rem}}

/* Image-led journey collection */
.journeys{padding-top:clamp(5rem,8vw,8rem)}
.itinerary-heading>div>p{max-width:720px;color:#5d625f;font-family:var(--serif);font-size:1.2rem}
.journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:4rem}
.journey-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.journey-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.05fr .95fr;background:var(--ink);color:#fff}
.journey-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:#38413c}
.journey-card.featured .journey-image{aspect-ratio:auto;min-height:620px}
.journey-image img{transition:transform .7s ease}
.journey-card:hover .journey-image img{transform:scale(1.025)}
.journey-image>span{position:absolute;left:1.25rem;bottom:1.25rem;background:var(--paper);color:var(--ink);padding:.7rem .9rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}
.journey-body{padding:clamp(1.8rem,3vw,3rem);display:flex;flex:1;flex-direction:column}
.journey-type{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#9b5139;font-weight:700;margin-bottom:1rem}
.featured .journey-type{color:#e5a17f}
.journey-body h2{font-size:clamp(2.3rem,3.6vw,4rem);margin-bottom:1.5rem}
.journey-lead{font-family:var(--serif);font-size:1.1rem;line-height:1.55;color:#5f6762;max-width:640px;margin-bottom:1.5rem}
.featured .journey-lead{font-size:1.2rem;color:#d2d7d3}
.night-plan{list-style:none;padding:0;margin:0 0 2.25rem;border-top:1px solid var(--line)}
.featured .night-plan{border-color:rgba(255,255,255,.22)}
.night-plan li{display:grid;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:.95rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.featured .night-plan li{border-color:rgba(255,255,255,.22)}
.night-plan b{font-family:var(--serif);font-size:1.15rem;font-weight:400}
.night-plan span{color:#9b5139;font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.featured .night-plan span{color:#e5a17f}
.night-plan small{grid-column:1/-1;color:#707571;font-size:.82rem}
.featured .night-plan small{color:#aeb6b1}
.journey-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-top:auto}
.journey-foot p{margin:0}.journey-foot p b{display:block;font-family:var(--serif);font-size:1.4rem;font-weight:400;color:#a64f32}.featured .journey-foot p b{color:#e5a17f}.journey-foot p small{display:block;color:#777d79;font-size:.72rem;max-width:280px}.featured .journey-foot p small{color:#aeb6b1}
.journey-foot a,.honeymoon-idea a{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid currentColor;padding-bottom:.18rem;white-space:nowrap}
.pricing-note{margin-top:2.5rem}
.itinerary-budget{background:#e9e2d6}
.itinerary-budget-head{display:grid;grid-template-columns:.35fr 1fr;gap:5vw;align-items:start}
.itinerary-budget-head h2{margin-bottom:1rem}
.itinerary-budget-head>div>p{max-width:650px;color:#5d625f}
.budget-bands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.budget-bands article{padding:2.5rem 4rem 2.5rem 0}
.budget-bands article+article{border-left:1px solid var(--line);padding-left:4rem}
.budget-bands span,.budget-bands small{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.67rem;color:#806944}
.budget-bands strong{display:block;font-family:var(--serif);font-size:clamp(2.4rem,4vw,4.3rem);font-weight:400;line-height:1.05;margin:.8rem 0 .35rem}
.budget-bands p{max-width:520px;margin:1.5rem 0 0;color:#5d625f}
.budget-note{max-width:900px;margin:2rem 0 0;color:#686e6a;font-size:.82rem}
.honeymoon-idea{background:var(--ink);color:#fff}.honeymoon-idea p{color:#c0c7c2}.honeymoon-idea small{color:#e5a17f}.honeymoon-idea a{margin-top:1.5rem;align-self:flex-start}
@media(max-width:900px){.journey-grid{grid-template-columns:1fr}.journey-card.featured{grid-column:auto;display:flex}.journey-card.featured .journey-image{aspect-ratio:16/9;min-height:0}.itinerary-budget-head{grid-template-columns:1fr}.budget-bands article{padding-right:2rem}.budget-bands article+article{padding-left:2rem}}
@media(max-width:540px){.journeys{padding-top:4.5rem}.itinerary-heading{margin-bottom:0}.journey-grid{gap:1.25rem;margin-top:2.5rem}.journey-body{padding:1.5rem}.journey-body h2{font-size:2.5rem;margin-bottom:1rem}.journey-lead,.featured .journey-lead{font-size:1.05rem}.journey-foot{align-items:flex-start;flex-direction:column}.journey-foot a{white-space:normal}.journey-card.featured .journey-image{aspect-ratio:4/3}.night-plan li{grid-template-columns:1fr auto}.budget-bands{grid-template-columns:1fr;margin-top:2.5rem}.budget-bands article{padding:2rem 0}.budget-bands article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.budget-note{font-size:.78rem}}

/* Timeless luxury refinement */
:root{--ink:#14201b;--cream:#f2eee5;--gold:#a98a58;--paper:#fbfaf7;--line:rgba(20,32,27,.16);--serif:Baskerville,'Iowan Old Style','Palatino Linotype',Georgia,serif;--sans:'Avenir Next',Avenir,'Helvetica Neue',Arial,sans-serif}
body{font-size:17px;line-height:1.72;letter-spacing:.002em;background:var(--paper)}
h1,h2,h3{letter-spacing:-.025em}
h2{font-size:clamp(2.65rem,4.5vw,5rem);line-height:1.06}
.section-pad{padding:clamp(5.5rem,9vw,9rem) max(6vw,2rem)}
.section-kicker{color:#806944;font-size:.68rem;letter-spacing:.24em;font-weight:600;margin-bottom:2.2rem}
.site-header{height:94px;padding:0 max(4.5vw,1.4rem);border-bottom:1px solid rgba(255,255,255,.2)}
.brand{gap:14px;letter-spacing:.16em}
.brand-mark{width:46px;height:46px;border-color:rgba(255,255,255,.62);border-radius:50%;font-size:.65rem;letter-spacing:.12em}
.brand b{font-size:1.18rem;letter-spacing:.04em}
.brand small{font-size:.52rem;letter-spacing:.34em;margin-top:7px}
.site-header nav{gap:2.35rem;font-size:.69rem;letter-spacing:.17em}
.nav-cta{padding:.86rem 1.45rem;border-color:rgba(255,255,255,.5)}
.hero{height:max(760px,100svh);background:#223029}
.hero-shade{background:linear-gradient(90deg,rgba(7,14,11,.72) 0%,rgba(7,14,11,.34) 48%,rgba(7,14,11,.04) 78%),linear-gradient(0deg,rgba(7,14,11,.42),transparent 58%)}
.hero-copy{left:max(8vw,2rem);bottom:17%;max-width:760px}
.hero h1{font-size:clamp(4rem,7.4vw,7.6rem);letter-spacing:-.04em;line-height:.98;margin-bottom:2rem}
.hero h1 em,.quote em{color:#ddc79c}
.hero-copy>p:not(.eyebrow){font-size:clamp(1.15rem,1.65vw,1.38rem);line-height:1.58;max-width:600px;color:rgba(255,255,255,.9)}
.eyebrow{color:#ddc79c;font-size:.67rem;letter-spacing:.28em;font-weight:600}
.hero-actions{margin-top:2.8rem;gap:2.25rem}
.button{padding:1.05rem 1.65rem;font-size:.68rem;letter-spacing:.17em;font-weight:600}
.button.light{background:#f4f0e7;color:#14201b}
.button.light:hover{background:#fff}
.text-link{font-size:.7rem;letter-spacing:.16em}
.hero-trust{padding:1.4rem max(4.5vw,1.4rem);font-size:.61rem;letter-spacing:.19em;color:rgba(255,255,255,.7)}
.intro-grid{grid-template-columns:1.15fr .7fr;gap:11vw}
.intro .lead{font-size:1.42rem;line-height:1.58}
.ink-link{font-size:.69rem;letter-spacing:.17em}
.regions{background:#14201b}
.regions-head .section-kicker,.region-card .number{color:#c3a974}
.region-card{padding:2.15rem 0;transition:background .3s ease,padding .3s ease}
.region-card:hover,.region-card.active{background:rgba(255,255,255,.035);padding-left:1.4rem;padding-right:1.4rem}
.region-card p{letter-spacing:.18em;color:#aeb7b1}
.region-card h3{letter-spacing:-.02em}
.region-card div>span{color:#aeb7b1}
.feature{background:#f7f4ee;gap:clamp(3.5rem,8vw,9rem)}
.feature-image{height:min(740px,68vw)}
.image-note{background:#f7f4ee;letter-spacing:.17em}
.feature-copy>p:not(.section-kicker),.intro-grid p:not(.lead),.detail-intro div>p:not(.lead),.month-row p{color:#59615d}
.journey-types a{padding:1.25rem 0;font-size:1.12rem}
.journey-types a span,.steps span,.editorial-row>span,.idea-card>span,.journey-type,.night-plan span{color:#8b7047}
.planning,.price-intro{background:#eee9df}
.planning-head{grid-template-columns:.55fr 1.45fr}
.steps h3{font-size:1.65rem}
.proof strong{font-size:1.5rem}
.quote{height:78vh}
.quote-shade{background:linear-gradient(rgba(8,15,12,.34),rgba(8,15,12,.46))}
.quote blockquote{font-size:clamp(2.7rem,5.4vw,5.5rem);letter-spacing:-.025em}
.cta{background:#fbfaf7}
.button.dark{background:#14201b}
footer,.dark-section,.inner-header,.contact-intro,.honeymoon-idea,.journey-card.featured{background:#14201b}
footer{padding-top:4.5rem;padding-bottom:4.5rem}
.sub-brand{grid-column:1/-1;margin:1rem 0 -2rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.12);font-size:.62rem;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.46)}
.sub-brand a{color:rgba(255,255,255,.68);border-bottom:1px solid rgba(255,255,255,.28)}
.page-hero{background:#f1ece2}
.page-hero h1,.detail-hero h1,.contact-intro h1{font-size:clamp(3.8rem,7.5vw,7.8rem);letter-spacing:-.035em}
.contact-intro h2{font-size:clamp(3.8rem,7.5vw,7.8rem);letter-spacing:-.035em;margin-bottom:2rem}
.article-grid .idea-card{min-height:500px}.article-body{max-width:1180px;margin:auto}.article-body>section{display:grid;grid-template-columns:90px minmax(0,760px);gap:4vw;padding:4rem 0;border-top:1px solid var(--line)}.article-body>section>span{font-size:.72rem;color:#9b5139;letter-spacing:.12em}.article-body h2{font-size:clamp(2.5rem,4.5vw,4.8rem);margin:0 0 1.25rem}.article-body p{font-size:1.08rem;line-height:1.85;color:#555d58}.compact-property-grid,.destination-guide-grid{grid-template-columns:repeat(3,1fr)}.property-card h3{font-family:var(--serif);font-size:clamp(2rem,3vw,3.2rem);margin:.5rem 0 1.5rem}.footer-cookie-button{appearance:none;border:0;background:transparent;color:inherit;padding:0;font:inherit;text-align:left;cursor:pointer}.cookie-banner{position:fixed;z-index:1200;left:1.25rem;right:1.25rem;bottom:1.25rem;background:#f7f4ee;color:#14201b;border:1px solid rgba(20,32,27,.18);box-shadow:0 12px 45px rgba(10,18,14,.25);padding:1.35rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.cookie-banner[hidden]{display:none}.cookie-banner p{margin:.35rem 0 0;max-width:650px;font-size:.9rem}.cookie-banner>div:last-child{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.cookie-banner .button{padding:.8rem 1rem;font-size:.65rem}.form-error{color:#9d2d22}.enquiry-form button:disabled{opacity:.55;cursor:wait}
@media(max-width:850px){.compact-property-grid,.destination-guide-grid{grid-template-columns:1fr 1fr}.cookie-banner{align-items:flex-start;flex-direction:column}.article-body>section{grid-template-columns:50px 1fr}}
@media(max-width:540px){.compact-property-grid,.destination-guide-grid{grid-template-columns:1fr}.article-body>section{grid-template-columns:1fr;padding:3rem 0}.article-body>section>span{margin-bottom:-1rem}.cookie-banner{left:.65rem;right:.65rem;bottom:.65rem;padding:1.1rem}.cookie-banner>div:last-child{align-items:stretch;width:100%;flex-direction:column}.cookie-banner .button{text-align:center}}
.cookie-banner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 2.5rem;max-width:1600px;margin-inline:auto;padding:1.25rem 1.5rem}.cookie-copy{min-width:0}.cookie-copy b{font-size:1rem}.cookie-copy p{max-width:55ch;line-height:1.55}.cookie-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap}.cookie-actions .button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.75rem 1.15rem;white-space:nowrap;line-height:1.25;box-shadow:none}.cookie-policy-link{display:inline-flex;align-items:center;min-height:48px;padding:.5rem .65rem;color:#14201b;font-size:.84rem;white-space:nowrap;text-decoration:underline;text-underline-offset:4px}.cookie-policy-link:hover,.cookie-policy-link:focus-visible{text-decoration-thickness:2px}
@media(max-width:1100px){.cookie-banner{grid-template-columns:1fr}.cookie-actions{justify-content:flex-start}}
@media(max-width:540px){.cookie-banner{padding:1.1rem}.cookie-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:.55rem;width:100%}.cookie-actions .button{width:100%;min-height:46px;padding:.7rem .45rem;font-size:.6rem;text-align:center}.cookie-policy-link{grid-column:1/-1;justify-content:center;min-height:36px;padding:.25rem}}
.enquiry-form .form-success{color:#245d3f;font-weight:600}.enquiry-form .form-error{color:#9d2d22;font-weight:600}
.gold-hero,.gold-section,.cost-guide{background:#c6b08a}
.gold-hero .section-kicker{color:#5e4c31}
.detail-shade{background:linear-gradient(90deg,rgba(7,14,11,.84) 0%,rgba(7,14,11,.5) 42%,rgba(7,14,11,.12) 78%),linear-gradient(0deg,rgba(7,14,11,.52) 0%,transparent 60%)}
.detail-hero .section-kicker,.contact-intro .section-kicker,.featured .journey-type,.featured .night-plan span,.featured .journey-foot p b{color:#d8be8a}
.timing{background:#c6b08a}
.season-list{background:#b59d76}
.timing-copy .section-kicker{color:#58472e}
.idea-card{background:#fbfaf7}
.idea-card.honeymoon-idea{background:#14201b;color:#fff}
.idea-card.honeymoon-idea p{color:#c0c7c2}
.idea-card.honeymoon-idea small{color:#e5a17f}
.idea-card small,.itinerary>div span,.journey-foot p b{color:#8b7047}
.journey-grid{gap:2.4rem}
.journey-card{background:#fff;border-color:rgba(20,32,27,.13)}
.journey-image>span{background:rgba(251,250,247,.94);font-size:.66rem;letter-spacing:.16em}
.journey-image img{transition:transform 1s ease}
.journey-card:hover .journey-image img{transform:scale(1.012)}
.journey-body{padding:clamp(2rem,3.2vw,3.3rem)}
.featured .journey-lead{color:#d4dad6}
.night-plan small,.journey-foot p small{color:#69716d}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline-color:#8b7047}
.form-success{background:#e7eee6;border-left-color:#536d5e}
.form-error{background:#f4e8e4;border-left:3px solid #9b5139;padding:1rem}
.enquiry-form button:disabled{cursor:wait;opacity:.68}

.season-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem}
.safari-note,.coast-note{padding:1.4rem 1.5rem;border-left:2px solid;background:#f1ece2}
.safari-note{border-left-color:#61766b;background:#edf1ed}
.coast-note{border-left-color:#a98a58}
.safari-note b,.coast-note b{display:block;margin-bottom:.55rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:#806944}
.safari-note b{color:#53685d}
.safari-note p,.coast-note p{margin:0;font-family:var(--serif);font-size:1.05rem;line-height:1.65;color:#3f4944}
@media(max-width:700px){.season-notes{grid-template-columns:1fr;margin-top:1.5rem}.safari-note,.coast-note{padding:1.2rem 1.25rem}.safari-note p,.coast-note p{font-size:1rem}}

/* Editorial wordmark */
.brand{gap:0;text-align:center;text-transform:none;letter-spacing:0;line-height:1}
.brand-mark{display:none}
.brand>span:last-child{display:block;min-width:178px}
.brand b{font-size:1.65rem;letter-spacing:.01em;line-height:.9}
.brand small{position:relative;margin-top:.72rem;padding-top:.62rem;border-top:1px solid rgba(216,190,138,.78);font-size:.5rem;letter-spacing:.42em;color:#f3eee4}
.brand small::before{content:'';position:absolute;top:-3px;left:50%;width:5px;height:5px;border-radius:50%;background:#d8be8a;transform:translateX(-50%)}
.footer-brand{width:max-content;text-align:center}
.footer-brand b{font-size:2.15rem;line-height:.95}
.footer-brand span{position:relative;margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(216,190,138,.68);font-size:.56rem;letter-spacing:.38em;color:#f3eee4}
.footer-brand span::before{content:'';position:absolute;top:-3px;left:50%;width:5px;height:5px;border-radius:50%;background:#d8be8a;transform:translateX(-50%)}
@media(max-width:540px){.brand>span:last-child{min-width:145px}.brand b{font-size:1.42rem}.brand small{font-size:.43rem;letter-spacing:.34em}.footer-brand b{font-size:1.9rem}}
@media(max-width:850px){.site-header{height:78px}.hero-copy{left:1.6rem;right:1.6rem}.hero h1{font-size:clamp(3.6rem,15vw,5.8rem)}.section-pad{padding-top:5.25rem;padding-bottom:5.25rem}}
@media(max-width:540px){body{font-size:16px}.section-pad{padding:4.75rem 1.4rem}.hero h1{font-size:3.65rem}.hero-copy>p:not(.eyebrow){font-size:1.02rem}.page-hero h1,.detail-hero h1{font-size:3.55rem}.quote{min-height:500px}.sub-brand{margin-bottom:-1rem}}

/* Homepage mobile refinement below the hero */
@media(max-width:600px){
.home .intro{padding-top:4rem;padding-bottom:4.25rem}
.home .intro-grid{grid-template-columns:minmax(0,1fr);gap:1.75rem}
.home .intro-grid>div{padding-top:0;max-width:none}
.home .intro h2{font-size:2.55rem;line-height:1.06;max-width:10em}
.home .intro h2 br{display:none}
.home .intro .lead{max-width:none;font-size:1.18rem;line-height:1.55}
.home .intro-grid p:not(.lead){font-size:.96rem;line-height:1.7}
.home .intro .ink-link{margin-top:1.4rem}
.home .regions-head{padding-top:4.25rem;padding-bottom:2.25rem}
.home .regions-head h2{font-size:3rem}
.home .region-stage{margin:0}
.home .region-card,.home .region-card:hover,.home .region-card.active{grid-template-columns:34px 1fr;padding:1.35rem 1.4rem;background:transparent}
.home .region-card .number{align-self:start;padding-top:.45rem}
.home .region-card div{gap:.25rem}
.home .region-card p{font-size:.62rem;letter-spacing:.14em}
.home .region-card h3{font-size:2rem;line-height:1.08;margin:.12rem 0}
.home .region-card div>span{font-size:.83rem;line-height:1.45}
.home .feature{gap:3.25rem;padding-top:0;padding-bottom:4.5rem}
.home .feature-image{height:auto;min-height:0;aspect-ratio:4/3}
.home .image-note{padding:.75rem 1rem;font-size:.58rem;letter-spacing:.12em}
.home .feature-copy h2{font-size:2.7rem;line-height:1.06}
.home .feature-copy>p:not(.section-kicker){font-size:.96rem;line-height:1.7}
.home .journey-types{margin-top:2.25rem}
.home .journey-types a{grid-template-columns:34px 1fr auto;padding:1rem 0;font-size:1.04rem}
.home .planning{padding-top:4.5rem;padding-bottom:4.5rem}
.home .planning-head h2{font-size:2.65rem;line-height:1.08}
.home .steps{margin-top:3.25rem;gap:2.25rem}
.home .steps article{padding-top:1.15rem}
.home .steps h3{margin:1.25rem 0 .65rem;font-size:1.55rem}
.home .steps p{font-size:.94rem;line-height:1.65}
.home .proof{margin-top:3.75rem;padding:0}
.home .proof div,.home .proof div:first-child{padding:1.2rem 0}
.home .proof strong{font-size:1.42rem}
.home .quote{height:62vh;min-height:430px;max-height:560px}
.home .quote blockquote{padding:1.4rem;font-size:2.35rem;line-height:1.16}
.home .cta{padding-top:4.5rem;padding-bottom:4.75rem}
.home .cta h2{font-size:2.7rem;line-height:1.08}
.home .cta>p:not(.section-kicker){font-size:1.08rem;line-height:1.55}
.home footer{gap:2.25rem;padding-top:3.25rem;padding-bottom:3.25rem}
.home footer>div:nth-child(2){padding-top:.25rem}
.home .sub-brand{margin-top:.25rem;padding-top:1.25rem}
}
/* Restored shared page styles from the last complete stylesheet. */
.island-guide{background:#f7f4ee}
.island-guide-heading{display:grid;grid-template-columns:.38fr 1fr;gap:5vw;padding-bottom:5rem}
.island-guide-heading h2{max-width:880px;margin-bottom:2rem}
.island-guide-heading p:last-child{max-width:800px;font-size:1.14rem;line-height:1.85;color:#4f5953}
.island-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 5vw}
.island-guide-grid article{border-top:1px solid var(--line);padding:3.2rem 0 3.7rem;scroll-margin-top:2rem}
.island-guide-grid article>span{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:#806944}
.island-guide-grid h3{font-size:clamp(2rem,3vw,3.25rem);line-height:1.12;margin:1.25rem 0 1.5rem;max-width:650px}
.island-guide-grid p,.island-guide-conclusion p{font-size:1rem;line-height:1.85;color:#4f5953;max-width:700px}
.island-guide-grid p+p{margin-top:1.35rem}
.island-guide a:not(.ink-link){text-decoration:underline;text-decoration-color:#b6a37f;text-underline-offset:4px}
.island-guide a:hover{text-decoration-color:currentColor}
.island-guide-conclusion{display:grid;grid-template-columns:.58fr 1fr;gap:2rem 5vw;border-top:1px solid var(--line);padding-top:4rem}
.island-guide-conclusion h2{font-size:clamp(2.7rem,4.5vw,4.7rem);margin:0}
.island-guide-conclusion p{grid-column:2;margin:0}
.island-guide-conclusion .ink-link{grid-column:2;justify-self:start}
@media(max-width:800px){.island-guide-heading,.island-guide-conclusion{grid-template-columns:1fr;gap:1rem}.island-guide-heading{padding-bottom:3rem}.island-guide-grid{grid-template-columns:1fr}.island-guide-grid article{padding:2.6rem 0 3rem}.island-guide-conclusion p,.island-guide-conclusion .ink-link{grid-column:1}.island-guide-conclusion{padding-top:3rem}}
.hero .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
@media(max-width:700px){.hero .hero-video{object-position:58% center}}
@media(prefers-reduced-motion:reduce){.hero .hero-video{display:none}}
.migration-itinerary-hero .section-kicker{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.65)}
.itinerary-gallery .property-gallery-grid{grid-template-rows:repeat(3,minmax(220px,28vh))}
@media(max-width:700px){.itinerary-gallery .property-gallery-grid{grid-template-rows:none}}
.utility-hero{min-height:440px;background:#eee9df;padding-top:clamp(7.5rem,11vw,10rem);padding-bottom:clamp(4rem,6vw,6rem)}
.utility-hero>div{max-width:1080px}
.utility-hero h1{font-size:clamp(3.8rem,7.4vw,7.4rem);line-height:1;letter-spacing:-.045em;margin:0 0 1.6rem}
.utility-hero>div>p:last-child{max-width:740px;font-family:var(--sans);font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.65;color:#4f5953}
.utility-layout{display:grid;grid-template-columns:minmax(0,790px) minmax(190px,245px);justify-content:space-between;gap:clamp(3rem,7vw,7rem);background:#fbfaf7;padding-top:clamp(4rem,7vw,7rem);padding-bottom:clamp(5rem,8vw,8rem)}
.utility-copy>section{display:grid;grid-template-columns:45px minmax(0,1fr);gap:clamp(1.2rem,3vw,2.6rem);padding:2.8rem 0;border-top:1px solid var(--line);scroll-margin-top:2rem}
.utility-copy>section:first-child{padding-top:2.2rem}
.utility-copy>section>span{font-size:.72rem;letter-spacing:.12em;color:#86714d;padding-top:.7rem}
.utility-copy h2{font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.1;letter-spacing:-.03em;margin:0 0 1.15rem}
.utility-copy p{max-width:720px;color:#505a54;font-size:1rem;line-height:1.8;margin:0}
.utility-sidebar{position:sticky;top:2rem;align-self:start;border-top:1px solid var(--line);padding-top:1.65rem}
.utility-sidebar .section-kicker{margin-bottom:1.1rem}
.utility-sidebar a{display:block;padding:.68rem 0;border-bottom:1px solid var(--line);font-size:.86rem;line-height:1.45;color:#4f5953}
.utility-sidebar a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.utility-related{background:#eee9df;border-top:1px solid var(--line);padding-top:4.5rem;padding-bottom:5rem}
.utility-related h2{font-size:clamp(2.4rem,4vw,4rem);margin:0 0 2.3rem}
.utility-related>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem}
.utility-related a{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.35rem 0;border-top:1px solid var(--line);font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.7rem)}
.utility-related a span{font-family:var(--sans);font-size:1rem}
.utility-booked{background:#e6e1d7;border-top:1px solid var(--line)}
.utility-booked h2{font-size:clamp(2.4rem,4vw,4.2rem)}
@media(max-width:900px){.utility-layout{grid-template-columns:1fr}.utility-sidebar{display:none}}
@media(max-width:600px){.utility-hero{min-height:0;padding:5rem 1.4rem 4rem}.utility-hero h1{font-size:clamp(3.2rem,13vw,4.8rem)}.utility-layout{padding:3.5rem 1.4rem 5rem}.utility-copy>section{grid-template-columns:1fr;gap:.55rem;padding:2.2rem 0}.utility-copy>section>span{padding:0}.utility-copy h2{font-size:2.35rem}.utility-related{padding:4rem 1.4rem}.utility-related>div{grid-template-columns:1fr}.utility-booked{grid-template-columns:1fr}}
/* Property and regional directories */
.property-directory-hero{background:#e9e1d2}
.property-directory{padding-top:4rem}
.directory-tools{margin-bottom:3.5rem;padding-bottom:2rem;border-bottom:1px solid var(--line)}
.property-search{display:block;max-width:620px;margin-bottom:2rem}
.property-search span{display:block;margin-bottom:.65rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:#6b705f}
.property-search input{width:100%;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;padding:.85rem 0;font:inherit;font-family:var(--serif);font-size:1.25rem;color:var(--ink)}
.property-search input:focus{outline:2px solid #8b7047;outline-offset:4px}
.region-filters{display:flex;flex-wrap:wrap;gap:.65rem}
.region-filters button{border:1px solid var(--line);background:transparent;padding:.72rem 1rem;font:inherit;font-size:.75rem;letter-spacing:.04em;color:var(--ink);cursor:pointer}
.region-filters button:hover,.region-filters button.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.region-filters span{opacity:.62;margin-left:.3rem}
.directory-count{margin:1.5rem 0 0;font-family:var(--serif);color:#66706a}
.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}
.property-card{min-width:0;background:#fff;border:1px solid var(--line)}
.property-card[hidden]{display:none}
.property-card>a{display:flex;height:100%;flex-direction:column}
.property-card-image{aspect-ratio:4/3;overflow:hidden;background:#d7d3ca}
.property-card-image img{transition:transform .6s ease}
.property-card:hover .property-card-image img{transform:scale(1.025)}
.property-card-body{display:flex;flex:1;flex-direction:column;padding:1.7rem}
.property-region{margin-bottom:.9rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:#806944}
.property-card h2{font-size:clamp(1.7rem,2.5vw,2.35rem);margin-bottom:1rem}
.property-card-body>p:not(.property-region){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4;color:#646b67;font-size:.94rem;line-height:1.65}
.property-card-body>span{align-self:flex-start;margin-top:auto;padding-top:1.25rem;border-bottom:1px solid currentColor;font-size:.7rem;text-transform:uppercase;letter-spacing:.13em}
.directory-empty{padding:3rem;border:1px solid var(--line);font-family:var(--serif);font-size:1.25rem;text-align:center}
.directory-editorial{display:grid;grid-template-columns:.38fr 1.2fr;gap:6vw;background:#eee9df}
.directory-editorial h2{max-width:900px}
.directory-editorial div>p{max-width:700px;color:#5d625f}
.directory-heading{display:grid;grid-template-columns:1.1fr .65fr;gap:6vw;align-items:end;margin-bottom:3.5rem}
.directory-heading h2{font-size:clamp(2.7rem,4.5vw,4.8rem);margin-bottom:0}
.directory-heading>p{color:#5d625f}
.region-properties{background:#f1ede5}
.related-properties{background:#f5f2ec}
.directory-more{text-align:center;margin-top:3.5rem}
.property-hero{min-height:76vh;position:relative;display:flex;align-items:flex-end;color:#fff;padding:clamp(8rem,14vw,13rem) max(7vw,2rem) clamp(4rem,7vw,7rem)}
.property-hero>img{position:absolute;inset:0}
.property-hero .detail-shade{background:linear-gradient(0deg,rgba(7,14,11,.74),rgba(7,14,11,.08) 68%),linear-gradient(90deg,rgba(7,14,11,.38),transparent 60%)}
.property-hero>div:last-child{position:relative;max-width:1100px}
.property-hero h1{max-width:1000px;margin:0 0 1.5rem;font-size:clamp(4rem,8vw,8rem);line-height:.98;letter-spacing:-.04em}
.property-hero>div:last-child>a{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:.2rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em}
.property-intro{display:grid;grid-template-columns:.42fr 1.25fr;gap:7vw}
.property-intro h2{font-size:clamp(2.7rem,4.5vw,4.8rem)}
.property-intro .lead{font-family:var(--serif);font-size:1.45rem;line-height:1.55;color:var(--ink)}
.property-intro div:last-child>p:not(.lead){max-width:800px;color:#5d625f}
.property-actions{display:flex;align-items:center;gap:2rem;margin-top:2.5rem}
.property-actions .button{margin-top:0}
.property-actions .ink-link{margin-top:0}
.property-facts{display:grid;grid-template-columns:1fr 1.45fr 1fr;background:var(--ink);color:#fff;border-top:1px solid rgba(255,255,255,.18)}
.property-facts>div{padding:2rem max(2rem,5vw);border-right:1px solid rgba(255,255,255,.16)}
.property-facts>div:last-child{border-right:0}
.property-facts span{display:block;margin-bottom:.65rem;color:#c7b38d;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em}
.property-facts strong{display:block;font-family:var(--serif);font-size:1.15rem;font-weight:400;line-height:1.45}
.property-details{padding-top:2rem;padding-bottom:2rem;background:#eee7db}
.property-detail-block{display:grid;grid-template-columns:90px minmax(0,1fr);gap:clamp(2rem,7vw,8rem);padding:clamp(4rem,8vw,8rem) 0;border-top:1px solid rgba(20,32,27,.2)}
.property-detail-block:first-child{border-top:0}
.property-detail-number{color:#8b7047;font-family:var(--serif);font-size:1.1rem}
.property-detail-block>div{display:grid;grid-template-columns:minmax(210px,.62fr) minmax(0,1.38fr);column-gap:clamp(3rem,8vw,10rem)}
.property-detail-block .section-kicker{grid-column:1/-1}
.property-detail-block h2{font-size:clamp(2.7rem,5vw,5.4rem);line-height:1}
.property-detail-block>div>p:last-child{max-width:800px;color:#555e59;font-size:1.02rem;line-height:1.85}
.property-consider{display:grid;grid-template-columns:.62fr 1.38fr;gap:clamp(3rem,9vw,11rem);background:#fff}
.property-consider h2{max-width:620px;font-size:clamp(2.6rem,4.6vw,5rem)}
.property-consider h3{margin:0 0 .8rem;font-family:var(--serif);font-size:1.65rem;font-weight:400}
.property-consider h3:not(:first-child){margin-top:2.8rem;padding-top:2.8rem;border-top:1px solid var(--line)}
.property-consider>div:last-child>p{max-width:780px;color:#59615d;line-height:1.8}
.property-check-note{margin-top:2.8rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.82rem!important;color:#747a76!important}
.property-gallery{padding-top:3rem;background:#14201b;color:#fff}
.property-gallery-heading{display:grid;grid-template-columns:1fr .55fr;gap:6vw;align-items:end;margin-bottom:3rem}
.property-gallery-heading h2{margin-bottom:0;font-size:clamp(2.8rem,5vw,5.3rem)}
.property-gallery-heading>p{max-width:460px;margin:0;color:#b9c0bc}
.property-gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,minmax(250px,34vh));gap:1rem}
.property-gallery-item{position:relative;overflow:hidden;border:0;padding:0;background:#26312c;cursor:zoom-in}
.property-gallery-item:first-child{grid-column:span 6;grid-row:span 2}
.property-gallery-item:not(:first-child){grid-column:span 3}
.property-gallery-item img{transition:transform .55s ease,filter .35s ease}
.property-gallery-item:hover img{transform:scale(1.025);filter:brightness(.92)}
.gallery-mobile-note{display:none}
.gallery-lightbox{width:min(94vw,1500px);height:min(92vh,1000px);border:0;padding:0;background:#08100d;color:#fff;overflow:hidden}
.gallery-lightbox::backdrop{background:rgba(5,10,8,.88);backdrop-filter:blur(5px)}
.gallery-lightbox img{width:100%;height:100%;object-fit:contain}
.gallery-close{position:absolute;z-index:2;top:1rem;right:1rem;border:1px solid rgba(255,255,255,.5);background:rgba(8,16,13,.72);color:#fff;padding:.8rem 1rem;font:inherit;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;cursor:pointer}
.region-directory-hero .section-kicker{color:#d8be8a}
.editorial-row aside a{display:inline-block;margin-top:1rem;border-bottom:1px solid currentColor;font-family:var(--sans);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}
@media(max-width:980px){.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header nav{gap:1.25rem}}
@media(max-width:1100px) and (min-width:851px){.menu-toggle{display:block;z-index:2}.menu-toggle span{display:block;width:25px;height:1px;background:#fff;margin:7px}.site-header nav{display:none;position:absolute;left:0;right:0;top:0;background:var(--ink);padding:110px 2rem 2rem;flex-direction:column;align-items:flex-start;font-size:1rem}.site-header nav.open{display:flex}}
@media(max-width:700px){.property-grid{grid-template-columns:1fr;gap:1.25rem}.directory-heading,.directory-editorial,.property-intro,.property-consider{grid-template-columns:1fr}.directory-heading{gap:1rem}.directory-tools{margin-bottom:2.5rem}.region-filters{gap:.5rem}.region-filters button{padding:.65rem .8rem}.property-hero{min-height:650px;padding-left:1.4rem;padding-right:1.4rem}.property-hero h1{font-size:3.45rem}.property-facts{grid-template-columns:1fr}.property-facts>div{padding:1.35rem 1.4rem;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.property-facts>div:last-child{border-bottom:0}.property-facts strong{font-size:1rem}.property-intro{gap:1.5rem}.property-intro .lead{font-size:1.24rem}.property-actions{align-items:flex-start;flex-direction:column;gap:1.25rem}.property-detail-block{grid-template-columns:1fr;gap:1.2rem;padding:4rem 0}.property-detail-block>div{grid-template-columns:1fr;gap:.8rem}.property-detail-block h2{font-size:3rem}.property-consider{gap:2rem}.property-card-body{padding:1.4rem}.region-properties{padding-top:4.5rem;padding-bottom:4.5rem}}
@media(max-width:700px){.property-gallery{padding-left:0;padding-right:0;overflow:hidden}.property-gallery-heading{grid-template-columns:1fr;gap:1rem;padding:0 1.4rem;margin-bottom:2rem}.property-gallery-heading h2{font-size:2.9rem}.property-gallery-heading>p{font-size:.92rem}.property-gallery-grid{display:flex;gap:.8rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 1.4rem 1rem;scrollbar-width:none}.property-gallery-grid::-webkit-scrollbar{display:none}.property-gallery-item,.property-gallery-item:first-child,.property-gallery-item:nth-child(2),.property-gallery-item:nth-child(3),.property-gallery-item:nth-child(4),.property-gallery-item:nth-child(5){display:block;flex:0 0 84vw;height:auto;aspect-ratio:4/3;scroll-snap-align:center}.gallery-mobile-note{display:block;margin:1rem 1.4rem 0;color:#aeb6b1;font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}.gallery-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none}}
.hero-shade{background:linear-gradient(90deg,rgba(7,14,11,.72) 0%,rgba(7,14,11,.34) 48%,rgba(7,14,11,.04) 78%),linear-gradient(0deg,rgba(7,14,11,.42),transparent 58%)}
.detail-hero.image-hero .detail-shade{background:linear-gradient(90deg,rgba(7,14,11,.88) 0%,rgba(7,14,11,.58) 44%,rgba(7,14,11,.16) 80%),linear-gradient(0deg,rgba(7,14,11,.6) 0%,transparent 64%)}
.detail-hero.image-hero>.detail-shade{position:absolute;inset:0;width:100%;max-width:none;z-index:0;pointer-events:none}
.detail-hero.image-hero>div:not(.detail-shade){position:relative;z-index:1}
@media(max-width:700px){.hero .hero-shade{background:linear-gradient(90deg,rgba(7,14,11,.72) 0%,rgba(7,14,11,.34) 48%,rgba(7,14,11,.04) 78%),linear-gradient(0deg,rgba(7,14,11,.42),transparent 58%)}.detail-hero.image-hero .detail-shade,.itinerary-detail-hero .detail-shade{background:linear-gradient(180deg,rgba(7,14,11,.58) 0%,rgba(7,14,11,.7) 46%,rgba(7,14,11,.9) 100%)}.quote .quote-shade{background:rgba(7,14,11,.66)}.hero .eyebrow,.detail-hero.image-hero .section-kicker{color:#f0d59c}.hero-copy>p:not(.eyebrow),.detail-hero.image-hero>div>p:last-child{color:#fff}}
.page-hero.dark-hero{background:var(--ink);color:#fff}
.page-hero.gold-hero{background:var(--gold);color:var(--ink)}
.region-collection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem;background:#f1ede5}
.region-image-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);min-width:0}
.region-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--ink)}
.region-image img{transition:transform .8s ease}
.region-image-card:hover .region-image img{transform:scale(1.02)}
.region-image-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,14,11,.46),transparent 60%)}
.region-image>span{position:absolute;left:1.3rem;bottom:1.1rem;color:#fff;font-size:.7rem;letter-spacing:.14em}
.region-image-body{display:flex;flex:1;flex-direction:column;padding:clamp(1.8rem,3.5vw,3.4rem)}
.region-image-body .section-kicker{margin-bottom:1.2rem}
.region-image-body h2{font-size:clamp(2.6rem,4vw,4.5rem);margin-bottom:1.4rem}
.region-image-body>p:not(.section-kicker){color:#5d625f}
.region-image-body>b{margin-top:auto;padding-top:2rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;font-weight:600}
.route-image-wrap{position:sticky;top:2rem}
.route-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.route-image-grid:has(figure:nth-child(3)) figure:first-child{grid-column:1/-1;aspect-ratio:16/8}
.route-image-grid figure{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;background:#28332e}
.route-image-grid figcaption{position:absolute;left:0;bottom:0;background:rgba(20,32,27,.88);color:#fff;padding:.7rem .9rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.11em}
.route-image-wrap>p{margin:.9rem 0 0;color:#aeb6b1;font-size:.72rem;line-height:1.6}
@media(max-width:900px){.region-collection{grid-template-columns:1fr}.route-image-wrap{position:static}}
@media(max-width:600px){.region-collection{gap:1.25rem;padding-left:1.4rem;padding-right:1.4rem}.route-image-grid{grid-template-columns:1fr}.route-image-grid figure,.route-image-grid:has(figure:nth-child(3)) figure:first-child{grid-column:auto;aspect-ratio:4/3}}
.idea-card-link{display:block;margin-top:1.1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--ink)}
a.idea-card{transition:background-color .25s ease,color .25s ease}
a.idea-card:hover{background:#e8e1d5}

/* Safari Advice */
.advice-hero{background:#e7e1d7}
.advice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);padding-top:1px}
.advice-card{background:var(--paper)}
.advice-card>a{display:grid;grid-template-columns:.72fr 1fr;min-height:410px}
.advice-image{min-height:100%;overflow:hidden;background:#26312c}
.advice-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.advice-card:hover .advice-image img{transform:scale(1.025)}
.advice-card>a>div:last-child{padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;align-items:flex-start}
.advice-card span,.home-advice-grid span{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:#806944}
.advice-card h2{font-size:clamp(2rem,3.5vw,3.65rem);margin:2rem 0 1.3rem}
.advice-card p{color:#5d625f}
.advice-card b,.home-advice-grid b{margin-top:auto;padding-top:2rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600}
.editorial-next,.lodge-planning{display:grid;grid-template-columns:.42fr 1fr;gap:6vw;border-top:1px solid var(--line)}
.editorial-next>div,.lodge-planning>div{max-width:800px}
.editorial-next h2,.lodge-planning h2{font-size:clamp(2.8rem,5vw,5rem);margin:0 0 2rem}
.editorial-next p:not(.section-kicker),.lodge-planning p:not(.section-kicker){max-width:720px;color:#59615d}
.lodge-planning{background:#eee9df}
.lodge-planning-links{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;margin-top:2rem}
.about-team{background:#eee9df}
.about-team-heading{max-width:760px;margin-bottom:3.5rem}
.about-team-heading h2{font-size:clamp(3.2rem,6vw,6rem);margin:0 0 1rem}
.about-team-heading>p:last-child{color:#59615d}
.about-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.about-team-grid article{background:var(--paper);min-width:0}
.about-team-grid img{display:block;width:100%;aspect-ratio:4/4.5;object-fit:cover;object-position:center 30%}
.about-team-grid article>div{padding:2rem}
.about-team-grid h3{font-size:2.1rem;margin:0 0 .3rem}
.about-team-grid small{font-size:.67rem;letter-spacing:.14em;text-transform:uppercase;color:#806944}
.about-team-grid p{color:#59615d;margin:1.5rem 0 0}
.about-planning-note{max-width:740px;color:#b8bfbb;margin:3rem 0 0}
@media(max-width:850px){.editorial-next,.lodge-planning{grid-template-columns:1fr}.about-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.about-team-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.8rem;margin-right:-1.4rem;padding-right:1.4rem;scrollbar-width:none}.about-team-grid article{flex:0 0 82vw;scroll-snap-align:start}.about-team-grid img{aspect-ratio:4/4}.about-team-grid article>div{padding:1.5rem}.editorial-next h2,.lodge-planning h2{font-size:3rem}}
.article-hero{display:grid;grid-template-columns:1.02fr .98fr;min-height:700px;background:#e7e1d7}
.article-hero>div{padding:clamp(6rem,10vw,10rem) max(5vw,2rem) 5rem;align-self:end}
.article-hero h1{font-size:clamp(3.8rem,6.8vw,7rem);line-height:.98;letter-spacing:-.04em;margin:1.5rem 0 2rem}
.article-hero p{font-family:var(--serif);font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.55;max-width:680px}
.article-hero small{display:block;margin-top:2rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#666d69}
.article-hero>img{width:100%;height:100%;object-fit:cover;min-height:700px}
.article-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:9vw;align-items:start}
.article-copy{max-width:820px}
.article-section{display:grid;grid-template-columns:50px 1fr;gap:2rem;padding:4rem 0;border-top:1px solid var(--line);scroll-margin-top:2rem}
.article-section>span{font-size:.7rem;color:#806944;padding-top:.5rem}
.article-section h2{font-size:clamp(2.4rem,4vw,4rem);margin-bottom:1.6rem}
.article-section p{font-size:1.06rem;line-height:1.85;color:#515955}
.article-aside{position:sticky;top:2rem;border-top:1px solid var(--line);padding-top:1.5rem}
.article-aside a{display:block;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.76rem;line-height:1.5;color:#555d59}
.article-related{background:#e7e1d7}
.article-related h2{margin-bottom:3rem}
.article-related>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.article-related a{display:flex;justify-content:space-between;gap:1rem;padding:1.6rem 1rem 1.6rem 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.15rem}
.home-advice{background:#f1ede5}
.home-advice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:4rem 0 2rem}
.home-advice-grid a{background:#f1ede5;min-height:270px;padding:2rem;display:flex;flex-direction:column}
.home-advice-grid h3{font-size:2rem;margin:2rem 0}
.home-advice-grid a:hover{background:#e7e1d7}
.sb-intro{padding-top:3.5rem;padding-bottom:3.5rem}
.sb-intro h1{font-size:clamp(3.25rem,6.2vw,6.5rem);line-height:1;letter-spacing:-.035em;margin:1.4rem 0 2.5rem}
.sb-intro-bottom{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw;align-items:end}
.sb-intro-bottom>p{font-family:var(--serif);font-size:clamp(1.3rem,1.8vw,1.65rem);line-height:1.5;max-width:640px;margin:0}
.sb-facts{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;border-top:1px solid var(--line);padding-top:1.4rem}
.sb-facts span{display:block;font-size:.85rem;color:#5c645f;line-height:1.6}
.sb-facts b{display:block;font-size:1rem;color:var(--ink);margin-bottom:.3rem}
.sb-hero{margin:0 6vw;position:relative}
.sb-hero img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:50% 57%}
.sb-hero figcaption,.sb-stage figcaption{font-size:.75rem;color:#686b64;padding:.8rem 0;line-height:1.5}
.sb-opening{display:grid;grid-template-columns:.35fr 1fr;gap:9vw;padding-bottom:4rem}
.sb-opening>div{max-width:850px}
.sb-opening h2,.sb-planning h2{font-size:clamp(2.5rem,3.7vw,4rem)}
.sb-opening p:not(.section-kicker),.sb-stage p:not(.section-kicker),.sb-planning p:not(.section-kicker){line-height:1.8;color:#535d57}
.sb-journey{padding-top:4rem}
.sb-route-heading h2{font-size:clamp(2.7rem,4.5vw,4.8rem)}
.sb-arrival{display:grid;grid-template-columns:140px 1fr auto;gap:2rem;align-items:start;padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sb-arrival>span,.sb-arrival>b{font-size:.8rem;color:#806944;padding-top:.45rem}
.sb-arrival h3{font-size:1.8rem;margin:0 0 .75rem}
.sb-arrival p{color:#535d57;max-width:780px;margin:0;line-height:1.7}
.sb-stage{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start;padding:5rem 0;border-bottom:1px solid var(--line)}
.sb-stage:nth-of-type(even)>figure{order:2}
.sb-stage figure{margin:0}
.sb-stage img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.sb-stage h2{font-size:clamp(2.5rem,3.5vw,3.8rem);margin:1rem 0 1.5rem}
.sb-stays{margin-top:2rem;border-top:1px solid var(--line)}
.sb-stays>p{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:1.2rem 0 .5rem}
.sb-stays a{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.2rem}
.sb-stays a span{font-family:var(--sans);font-size:.75rem;color:#6b706a;text-align:right;align-self:center}
.sb-planning{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#eae4d9}
@media(max-width:800px){.sb-intro-bottom,.sb-opening,.sb-planning{grid-template-columns:1fr;gap:2rem}.sb-stage{grid-template-columns:1fr;gap:1.5rem;padding:3rem 0}.sb-stage:nth-of-type(even)>figure{order:0}.sb-hero{margin:0 1.4rem}.sb-hero img{aspect-ratio:3/2}.sb-arrival{grid-template-columns:1fr auto;gap:.6rem 1rem}.sb-arrival>div{grid-column:1/-1;grid-row:2}.sb-arrival>b{grid-column:2;grid-row:1}.sb-stage img{aspect-ratio:3/2}.sb-intro{padding-top:2.5rem}.sb-intro h1{font-size:clamp(3rem,10vw,4.5rem)}}
.safari-beach-hero{isolation:isolate}
.safari-beach-hero-images{position:absolute;inset:0;display:grid;grid-template-columns:1.12fr .88fr;overflow:hidden;z-index:-2}
.safari-beach-hero-images img{width:100%;height:100%;object-fit:cover;min-width:0}
.safari-beach-hero-images img:first-child{object-position:53% 50%}
.safari-beach-hero-images img:last-child{object-position:50% 64%}
.safari-beach-hero .detail-shade{z-index:-1;background:linear-gradient(0deg,rgba(7,14,11,.8) 0%,rgba(7,14,11,.32) 42%,rgba(7,14,11,.06) 80%),linear-gradient(90deg,rgba(7,14,11,.52),rgba(7,14,11,.08) 65%)}
.safari-beach-hero-copy{max-width:930px}
.safari-beach-stays .arrival-note{margin:3rem 0 1.25rem;padding:1.4rem 1.6rem;background:#e5ddcf;color:#3f4943;line-height:1.6}
.safari-beach-stays .arrival-note strong{display:inline-block;margin-right:1.5rem;color:#806944;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}
.stay-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(20,32,27,.18)}
.stay-card{min-width:0;background:#ede7dc}
.stay-card-image{height:clamp(220px,23vw,360px);overflow:hidden}
.stay-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.stay-card-content{padding:clamp(1.4rem,2.4vw,2.5rem)}
.stay-card-content>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:#806944}
.stay-card-content h3{font-size:clamp(1.8rem,2.5vw,2.7rem);margin:1.1rem 0}
.stay-card-content>p{color:#5c645f;line-height:1.65;min-height:5.5em}
.stay-card-content .camp-links{margin-top:1.7rem}
.stay-card-content .camp-links a{font-size:1rem}
@media(max-width:900px){.stay-card-grid{grid-template-columns:1fr 1fr}.stay-card:last-child{grid-column:1/-1}.stay-card:last-child .stay-card-image{height:310px}}
@media(max-width:700px){.safari-beach-hero-images{grid-template-columns:1fr 1fr}.safari-beach-hero-images img:first-child{object-position:55% 50%}.safari-beach-hero .detail-shade{background:linear-gradient(0deg,rgba(7,14,11,.86) 0%,rgba(7,14,11,.6) 43%,rgba(7,14,11,.18) 100%)}.stay-card-grid{grid-template-columns:1fr}.stay-card:last-child{grid-column:auto}.stay-card-image,.stay-card:last-child .stay-card-image{height:285px}.stay-card-content>p{min-height:0}.safari-beach-stays .arrival-note strong{display:block;margin:0 0 .5rem}}
@media(max-width:980px){.advice-grid{grid-template-columns:1fr}.article-hero{grid-template-columns:1fr}.article-hero>img{min-height:500px;height:60vh;order:-1}.article-body{grid-template-columns:1fr}.article-aside{display:none}}
@media(max-width:700px){.advice-card>a{grid-template-columns:1fr}.advice-image{height:300px}.article-hero>div{padding:4.5rem 1.4rem}.article-hero h1{font-size:3.45rem}.article-hero>img{min-height:390px;height:50vh}.article-section{grid-template-columns:32px 1fr;gap:1rem;padding:3rem 0}.article-section p{font-size:1rem}.article-related>div,.home-advice-grid{grid-template-columns:1fr}.home-advice-grid a{min-height:220px}}

/* Stronger full-frame hero overlay where mobile copy spans the photograph. */
@media(max-width:850px){
  .detail-shade{background:linear-gradient(180deg,rgba(7,14,11,.3) 0%,rgba(7,14,11,.5) 48%,rgba(7,14,11,.74) 100%)}
  .detail-hero>div{text-shadow:0 2px 18px rgba(0,0,0,.24)}
}

.illustrated-route{margin:0;background:#f4efe5;color:#14201b}.illustrated-route svg{display:block;width:100%;height:auto;max-height:640px}.illustrated-route figcaption{padding:1.3rem 1.6rem;border-top:1px solid #c8bda6}.illustrated-route ol{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}.illustrated-route li{display:flex;gap:.8rem;align-items:center;font-size:.9rem}.illustrated-route li b{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:1.5rem;height:1.5rem;background:#14201b;color:#fff;font-size:.75rem;flex-shrink:0}.illustrated-route small{display:block;margin-top:1.2rem;font-size:.75rem;color:#6f7268}

/* Editorial route maps */
.illustrated-route{position:sticky;top:2rem;border:1px solid rgba(255,255,255,.16);box-shadow:0 20px 60px rgba(0,0,0,.14)}
.illustrated-route .country-shape{fill:#d9c8a9;stroke:#8d7956;stroke-width:2}
.illustrated-route .lake{fill:#b8cac7;stroke:#718e89;stroke-width:1.5}
.illustrated-route .lake-malawi{fill:none;stroke:#718e89;stroke-width:12;stroke-linecap:round}
.illustrated-route .coast-line{fill:none;stroke:#fff9ed;stroke-width:3;opacity:.9}
.illustrated-route .water-label,.illustrated-route .neighbour-label{font-family:var(--sans);font-size:11px;letter-spacing:.16em;fill:#6f7e7a}
.illustrated-route .neighbour-label{fill:#9c8c70}
.illustrated-route .route-line{fill:none;stroke:#a55e42;stroke-width:3;stroke-dasharray:8 8;stroke-linecap:round;stroke-linejoin:round}
.illustrated-route .route-stop circle{fill:#14201b;stroke:#f0c36d;stroke-width:2}
.illustrated-route .route-stop line{stroke:#766b58;stroke-width:1}
.illustrated-route .stop-number{font:700 12px var(--sans);fill:#fff;text-anchor:middle}
.illustrated-route .stop-name{font:600 12px var(--sans);fill:#14201b}
.illustrated-route .stop-nights{font:10px var(--sans);letter-spacing:.08em;fill:#776c59;text-transform:uppercase}
.trip-photo-strip{background:var(--ink);padding:0 max(5vw,2rem) clamp(5rem,9vw,9rem)}
.trip-photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.trip-photo-grid figure{position:relative;height:clamp(300px,36vw,560px);margin:0;overflow:hidden;background:#27342e}
.trip-photo-grid figure:nth-child(1){grid-column:span 5}.trip-photo-grid figure:nth-child(2){grid-column:span 7}.trip-photo-grid figure:nth-child(3){grid-column:span 7}.trip-photo-grid figure:nth-child(4){grid-column:span 5}
.trip-photo-grid figure:only-child{grid-column:1/-1}.trip-photo-grid figure:nth-last-child(2):first-child,.trip-photo-grid figure:nth-last-child(2):first-child~figure{grid-column:span 6}
.trip-photo-grid img{transition:transform .7s ease}.trip-photo-grid figure:hover img{transform:scale(1.018)}
.journey-card:nth-child(2) .journey-image,.journey-card:nth-child(3) .journey-image{aspect-ratio:3/4;background:var(--cream)}
.journey-card:nth-child(2) .journey-image img,.journey-card:nth-child(3) .journey-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none}
.journey-card:nth-child(2) .journey-image img{object-position:50% 70%}
.journey-card:nth-child(3) .journey-image img{object-position:65% 50%}
@media(min-width:851px){.home .hero-copy{width:84vw;max-width:1100px}.home .hero h1{font-size:clamp(4rem,6.6vw,7.6rem);max-width:none;white-space:nowrap}}
.northern-route{position:static;margin:0;box-shadow:none;align-self:start;background:#f4efe5}
.northern-route svg{width:100%;height:auto;display:block}
.northern-route figcaption{background:#f4efe5;color:#14201b;padding:1.5rem}
.northern-route figcaption p{color:#667069;font-size:.85rem;line-height:1.6;margin:1rem 0}
.northern-route figcaption small{color:#837351}
.northern-gallery{background:var(--paper)}
.northern-gallery-heading{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:end;margin-bottom:3rem}
.northern-gallery-heading h2{margin:0}.northern-gallery-heading>p{max-width:560px;color:#616b64;margin:0}
.northern-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 1.4rem}
.northern-gallery-grid figure{margin:0;min-width:0}
.northern-gallery-grid button{display:block;position:relative;width:100%;padding:0;border:0;background:#e8dfcc;cursor:zoom-in;aspect-ratio:4/3;overflow:hidden}
.northern-gallery-grid button img{width:100%;height:100%;object-fit:cover}
.northern-gallery-grid button>span{position:absolute;right:.7rem;bottom:.7rem;background:var(--paper);color:var(--ink);width:2rem;height:2rem;display:grid;place-items:center}
.northern-gallery-grid figcaption{padding-top:.8rem}.northern-gallery-grid figcaption b{display:block;font-family:var(--serif);font-size:1.2rem;font-weight:400}.northern-gallery-grid figcaption span{font-size:.72rem;color:#7c715c}
.northern-gallery-grid button:focus-visible{outline:3px solid #a98a58;outline-offset:4px}
@media(max-width:900px){.northern-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.northern-gallery-heading{grid-template-columns:1fr;gap:1.5rem}.northern-gallery-grid{grid-template-columns:1fr;gap:2rem}.northern-gallery-grid button{aspect-ratio:auto}.northern-gallery-grid button img{height:auto}.northern-gallery{padding-left:1.4rem;padding-right:1.4rem}}
.itinerary-budget{padding-top:3.5rem;padding-bottom:3.5rem}
.itinerary-budget .budget-bands{margin-top:2rem}
.trip-photo-grid figcaption{position:absolute;inset:auto 0 0;padding:3rem 1.3rem 1.1rem;background:linear-gradient(transparent,rgba(7,14,11,.82));color:#fff;font-family:var(--serif);font-size:1.15rem}
.trip-photo-grid figcaption span{display:block;margin-bottom:.25rem;font-family:var(--sans);font-size:.62rem;letter-spacing:.14em;color:#e4c886}

/* Great Migration field guide */
.migration-intro{display:grid;grid-template-columns:.42fr 1.2fr;gap:7vw}
.migration-intro>div{max-width:830px}.migration-intro .lead{font-family:var(--serif);font-size:1.5rem;line-height:1.5}
.migration-map-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw;align-items:center}
.migration-map-copy h2{font-size:clamp(3.2rem,5vw,5.5rem)}
.migration-map-copy>p{color:#c6cdc9;max-width:560px}
.migration-map-copy ul{list-style:none;padding:0;margin:3rem 0 0;border-top:1px solid rgba(255,255,255,.2)}
.migration-map-copy li{padding:1.2rem 0;border-bottom:1px solid rgba(255,255,255,.2);color:#c6cdc9}
.migration-map-copy li b{color:#fff}
.migration-map{margin:0;background:#14201b;border:1px solid rgba(255,255,255,.18)}
.migration-map svg{display:block;width:100%;height:auto}
.migration-map figcaption{padding:1.1rem 1.3rem;color:#aeb6b1;border-top:1px solid rgba(255,255,255,.16);font-size:.75rem}
.migration-map .ecosystem{fill:#26362f;stroke:#708278;stroke-width:2}
.migration-map .mara-zone{fill:#394a40}.migration-map .north-zone{fill:#304138}.migration-map .west-zone{fill:#2b3b34}.migration-map .south-zone{fill:#35483d}
.migration-map .river{fill:none;stroke:#829b95;stroke-width:3;stroke-linecap:round}
.migration-map .map-zone-title{font:600 14px var(--sans);letter-spacing:.12em;text-anchor:middle;fill:#f3eee4}
.migration-map .river-label{font:11px var(--serif);font-style:italic;fill:#a7bbb6}
.migration-map .migration-arrow{fill:none;stroke:#f0c36d;stroke-width:4;stroke-dasharray:10 9;stroke-linecap:round;marker-end:url(#migration-arrow)}
.migration-map .season-chip rect{fill:#101a16;stroke:#61766b;stroke-width:1}.migration-map .season-chip text{font:600 10px var(--sans);letter-spacing:.08em;text-anchor:middle;fill:#f2eadb}.migration-map .season-chip text+text{font:11px var(--serif);font-weight:400;letter-spacing:0;fill:#d7c59f}
.migration-gallery{background:#efeae1}.migration-gallery-heading{display:grid;grid-template-columns:.45fr 1fr;gap:6vw;align-items:end;margin-bottom:4rem}.migration-gallery-heading h2{margin:0}
.migration-gallery-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:repeat(2,minmax(260px,36vw));gap:1rem}
.migration-photo{position:relative;margin:0;overflow:hidden;background:#26312c}.migration-photo-1{grid-row:1/3}.migration-photo img{transition:transform .8s ease}.migration-photo:hover img{transform:scale(1.018)}
.migration-photo figcaption{position:absolute;inset:auto 0 0;padding:3.5rem 1.4rem 1.2rem;color:#fff;background:linear-gradient(transparent,rgba(7,14,11,.76));font-family:var(--serif);font-size:1.15rem}
.migration-photo figcaption span{display:block;margin-bottom:.3rem;font-family:var(--sans);font-size:.62rem;letter-spacing:.15em;color:#e4c886}
.migration-photo-4{display:none}
.migration-calendar{padding-top:2rem}.migration-phase{display:grid;grid-template-columns:.32fr 1fr;gap:6vw;padding:5rem 0;border-top:1px solid var(--line)}
.migration-phase>div:first-child span{display:block;color:#9b5139;font-size:.7rem}.migration-phase>div:first-child p{margin-top:1rem;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:#6f746f}
.migration-phase h2{font-size:clamp(2.8rem,5vw,5rem);margin-bottom:1.5rem}.migration-phase>div:last-child>p{max-width:790px;color:#535c57;font-size:1.06rem;line-height:1.85}
.migration-truth{display:grid;grid-template-columns:1.2fr .65fr;gap:8vw;align-items:end}.migration-truth h2{font-size:clamp(3rem,5vw,5.5rem);margin:0}.migration-truth>div:last-child>p{font-family:var(--serif);font-size:1.2rem;line-height:1.65}

/* Deliberate focal points on narrow screens */
img[style*="--mobile-focus"]{object-position:var(--mobile-focus)}
.region-hero img[alt^="Serengeti"],img[src*="Wildebeast-Crossing"]{--mobile-focus:63% 50%}
.region-hero img[alt^="Ngorongoro"]{--mobile-focus:50% 58%}.region-hero img[alt^="Tarangire"]{--mobile-focus:54% 45%}
.region-hero img[alt^="Ruaha"]{--mobile-focus:50% 42%}.region-hero img[alt^="Nyerere"]{--mobile-focus:53% 50%}
.region-hero img[alt^="Mahale"]{--mobile-focus:50% 45%}.region-hero img[alt^="Zanzibar"]{--mobile-focus:58% 50%}
.journey-card:nth-child(1) img{--mobile-focus:63% 50%}.journey-card:nth-child(2) img{--mobile-focus:58% 50%}.journey-card:nth-child(4) img{--mobile-focus:50% 42%}
@media(max-width:900px){.illustrated-route{position:static}.migration-map-section,.migration-intro,.migration-truth{grid-template-columns:1fr}.migration-map-copy{max-width:720px}.migration-gallery-heading{grid-template-columns:1fr;gap:1rem}}
@media(max-width:700px){
  .hero>img{object-position:60% 50%}
  .property-hero>img,.region-hero>img,.itinerary-detail-hero>img,.journey-image img,.region-image img,.migration-photo img{object-position:var(--mobile-focus,50% 50%)}
  .property-hero,.region-hero{min-height:680px}
  .property-gallery-item img{object-position:center 45%}
  .illustrated-route svg{max-height:none}.illustrated-route figcaption{padding:1.1rem}
  .illustrated-route .stop-name{font-size:10px}.illustrated-route .stop-nights{font-size:8px}.illustrated-route .water-label,.illustrated-route .neighbour-label{font-size:9px}
  .trip-photo-strip{padding-left:1rem;padding-right:1rem}.trip-photo-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.8rem;padding-bottom:.6rem}.trip-photo-grid figure,.trip-photo-grid figure:nth-child(n){flex:0 0 84vw;height:auto;aspect-ratio:4/3;grid-column:auto;scroll-snap-align:center}.trip-photo-grid img{object-position:var(--mobile-focus,50% 50%)}
  .migration-map-section{padding-left:1rem;padding-right:1rem}.migration-map-copy{padding:3.5rem .4rem 1rem}
  .migration-gallery{padding-left:1rem;padding-right:1rem}.migration-gallery-grid{grid-template-columns:1fr;grid-template-rows:none}.migration-photo,.migration-photo-1{grid-row:auto;height:auto;aspect-ratio:4/3}.migration-photo-4{display:block}
  .migration-phase{grid-template-columns:44px 1fr;gap:1rem;padding:3.5rem 0}.migration-phase>div:first-child p{writing-mode:vertical-rl;transform:rotate(180deg);margin:.8rem 0 0}
  .migration-phase h2{font-size:2.9rem}.migration-truth{gap:2.2rem}
}

/* Kenya sister-brand journey illustration and wayfinding */
.journey-line-page{background:#f7f4ee}
.journey-line-page .page-hero{background:transparent;min-height:650px;padding-left:38%;padding-right:7%;align-items:center;isolation:isolate}
.journey-line-page .page-hero h1{font-size:clamp(3.5rem,6.2vw,6.7rem)}
.journey-motif{position:absolute;left:4%;top:2.5rem;bottom:2.5rem;width:29%;max-width:400px;display:flex;flex-direction:column;justify-content:center;color:#7c6948;pointer-events:none}
.journey-motif svg{width:100%;height:auto;max-height:440px;overflow:visible}
.journey-boundary{fill:none;stroke:#b8ac94;stroke-width:1;opacity:.36;vector-effect:non-scaling-stroke}
.journey-trace{fill:none;stroke:#9a8054;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:0;opacity:.7;vector-effect:non-scaling-stroke;animation:journey-draw 2.8s ease-out both}
.journey-motif circle{fill:#7c6948;stroke:#f7f4ee;stroke-width:2}
.journey-motif text{fill:#665b47;font-family:var(--serif);font-style:italic;font-size:16px}
.journey-motif p{margin:.5rem 0 0 1.5rem;font-size:.75rem;line-height:1.7;letter-spacing:.15em;text-transform:uppercase}
.journey-motif small{margin:.5rem 0 0 1.5rem;font-size:.75rem;color:#81796c}
.journey-line-page .journeys{background:transparent}
.journey-line-page .journey-card:not(.featured){background:rgba(255,255,255,.38)}
@keyframes journey-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(max-width:850px){.journey-line-page .page-hero{padding:3rem 1.4rem 5rem;display:flex;flex-direction:column;align-items:flex-start;gap:2rem;min-height:0}.journey-motif{position:relative;left:auto;top:auto;bottom:auto;width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.6fr);align-items:center;gap:0 1rem}.journey-motif svg{height:250px;grid-row:1/3}.journey-motif p,.journey-motif small{margin:0}.journey-motif p{align-self:end}.journey-motif small{align-self:start;margin-top:.65rem}.journey-line-page .page-hero h1{font-size:clamp(3.4rem,10vw,5rem)}}
@media(prefers-reduced-motion:reduce){.journey-trace{animation:none}}


.page-hero{position:relative}
.page-breadcrumbs{padding:1.2rem max(5vw,1.4rem);font-size:.875rem;border-bottom:1px solid var(--line);background:var(--paper)}
.page-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.5rem 1rem;list-style:none;padding:0;margin:0}
.page-breadcrumbs li+li:before{content:' / ';margin-right:1rem;color:#747a76}
.page-breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.scroll-cue{position:absolute;z-index:4;right:max(4vw,1.4rem);bottom:2rem;display:inline-flex;align-items:center;gap:.8rem;min-height:44px;padding:.65rem 0;border-bottom:1px solid currentColor;color:#fff;font-size:.75rem;line-height:1;text-transform:uppercase;letter-spacing:.16em}
.page-hero .scroll-cue{color:var(--ink)}
.scroll-target{display:block;height:0;scroll-margin-top:1rem}
.hero .scroll-cue{bottom:5rem;color:#fff}
.article-hero{position:relative}
.article-hero .scroll-cue{color:var(--ink);background:rgba(247,244,237,.94);padding:.7rem 1rem}
.contact-intro{position:relative;padding-bottom:max(7rem,8vw)}
.contact-intro .scroll-cue{right:max(4vw,1.4rem);bottom:2rem;color:#fff}
.enquiry-form{position:relative}
.enquiry-form .scroll-target{position:absolute;top:0;left:0}
.sb-hero .scroll-cue{bottom:1.2rem;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.55)}
@media(max-width:700px){.hero .scroll-cue{bottom:5.4rem}.article-hero .scroll-cue{bottom:1rem;right:1.4rem}.sb-hero .scroll-cue{bottom:1.2rem}}
.scroll-cue i{font-family:var(--sans);font-size:1rem;font-style:normal;line-height:1;transition:transform .25s ease}
.scroll-cue:hover i{transform:translateY(3px)}
[id^="explore-"],#destination-guide{scroll-margin-top:1rem}
.journey-line-page .page-hero{position:relative;padding-top:5rem;padding-bottom:6rem}
.journey-motif svg{max-height:375px}
.region-image img{width:100%;height:100%;object-fit:cover}
.region-image{aspect-ratio:8/5}
@media(max-width:850px){.journey-line-page .page-hero{padding:3rem 1.4rem 5rem}.journey-motif{order:2;display:block;max-width:430px;align-self:center}.journey-motif svg{width:100%;height:auto;max-height:none}.journey-motif p,.journey-motif small{margin-left:1.5rem}.journey-motif small{display:block;margin-top:.5rem}}
@media(max-width:700px){.scroll-cue{right:1.4rem;bottom:1.15rem}.region-image{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-cue i{transition:none}}

/* Keep the itinerary opening compact and consistent with its Kenya sister site. */
.itineraries-page .page-hero{min-height:520px;padding-top:7rem;padding-bottom:4.5rem;background:#f1ece2}
.itineraries-page .page-hero h1{white-space:nowrap;font-size:clamp(2.2rem,6vw,6rem)}
@media(max-width:540px){.itineraries-page .page-hero{min-height:460px;padding-top:6rem;padding-bottom:3.5rem}.itineraries-page .page-hero h1{font-size:clamp(2rem,8.2vw,2.25rem)}}
/* Itinerary map and gallery, aligned with the Kenya sister brand */
.painted-map-layout{grid-template-columns:1fr;gap:3rem}
.painted-map-layout .route-map-wrap{position:static;grid-row:1;width:100%;max-width:1200px;margin:0 auto}
.painted-map-layout .route-copy{grid-row:2}
.painted-route>a{display:block}
.painted-route img{width:100%;height:auto;object-fit:contain}
.painted-route figcaption{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.875rem}

/* Match the Kenya index-page heading scale and placement to the home hero. */
.page-hero.site-index-hero{display:block;min-height:580px;padding:clamp(7.5rem,9vw,9rem) max(8vw,2rem) 4.5rem}
.page-hero.site-index-hero>div{max-width:1100px}
.page-hero.site-index-hero h1,.itineraries-page .page-hero.site-index-hero h1{font-size:clamp(4rem,7.4vw,7.6rem);line-height:.98;letter-spacing:-.04em;white-space:normal;margin:0 0 2rem}
@media(min-width:1100px){.page-hero.site-index-hero h1,.itineraries-page .page-hero.site-index-hero h1{font-size:clamp(4rem,6.6vw,7.6rem)}}
@media(max-width:850px){.page-hero.site-index-hero,.itineraries-page .page-hero.site-index-hero{min-height:0;padding:5rem 1.6rem 4rem}.page-hero.site-index-hero h1,.itineraries-page .page-hero.site-index-hero h1{font-size:clamp(3.6rem,15vw,5.8rem)}}
@media(max-width:540px){.page-hero.site-index-hero,.itineraries-page .page-hero.site-index-hero{padding:4.75rem 1.5rem 4rem}.page-hero.site-index-hero h1,.itineraries-page .page-hero.site-index-hero h1{font-size:3.65rem;line-height:1.02;margin-bottom:1.5rem}}

/* Kenya-style About carousel, using the same spacing and card proportions. */
.about-team{background:#f1ece2;overflow:hidden}
.about-team-header{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}
.about-team-header h2{font-size:clamp(3.2rem,5.5vw,6rem);margin:.3rem 0 1rem}
.about-team-header p:last-child{max-width:620px;color:#59615d}
.about-team-controls{display:flex;gap:.65rem;flex:none}
.about-team-controls button{width:3.25rem;height:3.25rem;border:1px solid #acaea5;border-radius:50%;background:transparent;color:var(--ink);font:inherit;font-size:1.4rem;cursor:pointer}
.about-team-controls button:hover,.about-team-controls button:focus-visible{background:var(--ink);color:#fff}
.about-team-track{display:flex;gap:clamp(1rem,2.5vw,2.5rem);max-width:1050px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;padding-bottom:1.3rem;outline-offset:5px}
.about-team-card{flex:0 0 clamp(290px,31vw,380px);scroll-snap-align:start;min-width:0}
.about-team-card img{width:100%;height:auto;aspect-ratio:4/4.5;object-fit:cover;object-position:center 28%;background:#ddd7ca}
.about-team-card h3{font-size:clamp(1.7rem,2.2vw,2.25rem);margin:1.2rem 0 .2rem}
.about-team-card p{color:#59615d;font-size:.93rem;line-height:1.65}
.about-team-card .about-team-role{font-size:.67rem;color:#856d40;text-transform:uppercase;letter-spacing:.14em;margin:0 0 1rem}
.about-team-hint{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#856d40;margin:1rem 0 0}
.about-planning-note{max-width:770px;margin:4rem 0 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.28);color:#c7cec9;font-size:.95rem}
@media(max-width:700px){.about-team-header h2{font-size:3.3rem}.about-team-card{flex-basis:min(78vw,310px)}.about-team-controls button{width:2.8rem;height:2.8rem}}

/* Safari advice follows the Kenya guide directory layout. */
.advice-index .advice-hero{background:#f1ece2}
.advice-collection{background:#f7f4ee}
.advice-collection-intro{display:grid;grid-template-columns:1fr .55fr;gap:5vw;align-items:end;margin-bottom:3.5rem}
.advice-collection-intro h2{font-size:clamp(3rem,5.3vw,5.5rem);line-height:1.03;margin:1rem 0 0}
.advice-collection-intro>p{max-width:470px;color:#5d625f;font-size:1.05rem;line-height:1.7;margin:0 0 .4rem}
.advice-index .advice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;background:none;padding:0}
.advice-index .advice-card{border:1px solid var(--line);background:#fffdf9}
.advice-index .advice-card>a{display:flex;flex-direction:column;height:100%;min-height:0}
.advice-index .advice-image{min-height:0;aspect-ratio:3/2;width:100%}
.advice-index .advice-image img{display:block;width:100%;height:100%;object-fit:cover}
.advice-index .advice-card>a>div:last-child{flex:1;padding:clamp(1.4rem,2vw,2.25rem)}
.advice-index .advice-card h2{font-size:clamp(1.8rem,2.35vw,2.6rem);line-height:1.12;letter-spacing:-.035em;margin:1.3rem 0 1rem}
.advice-index .advice-card p{font-size:.94rem;line-height:1.65;margin:0 0 1rem}
.advice-index .advice-card b{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--line);margin-top:auto;padding-top:1rem;font-weight:600}
.advice-index .advice-card b i,.advice-next i{font-style:normal;font-size:1.1rem;transition:transform .2s ease}
.advice-index .advice-card:hover b i,.advice-next a:hover i{transform:translate(2px,-2px)}
.advice-next{display:grid;grid-template-columns:.8fr repeat(3,1fr);gap:1.5rem;align-items:center;border-top:1px solid var(--line);margin-top:4rem;padding-top:1.5rem}
.advice-next>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:#806944}
.advice-next a{font-family:var(--serif);font-size:1.3rem;display:flex;justify-content:space-between;gap:.5rem}
@media(max-width:1050px){.advice-index .advice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advice-next{grid-template-columns:repeat(3,1fr)}.advice-next>span{grid-column:1/-1}}
@media(max-width:700px){.advice-collection-intro{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.advice-collection-intro h2{font-size:clamp(2.7rem,10vw,4rem)}.advice-index .advice-grid{grid-template-columns:1fr}.advice-index .advice-image{aspect-ratio:3/2}.advice-index .advice-card h2{font-size:2.2rem}.advice-next{grid-template-columns:1fr;gap:0;margin-top:3rem}.advice-next>span{grid-column:auto;margin-bottom:.75rem}.advice-next a{padding:1rem 0;border-bottom:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){.advice-index .advice-card b i,.advice-next i{transition:none}}
.painted-route figcaption>a{text-decoration:underline;text-underline-offset:4px}
.route-map-wrap>p{margin:.9rem 0 0;color:#aeb6b1;font-size:.75rem;line-height:1.6}
.painted-map-layout .route-copy ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:3rem}
.painted-map-layout .route-copy li{align-content:start}
.itinerary-gallery{margin:0}
@media(max-width:700px){.painted-route figcaption{padding:1rem}.painted-map-layout .route-copy ol{grid-template-columns:1fr}.painted-map-layout{gap:2.5rem}}

/* Text-led routes after removal of all maps. */
.route-text-layout{display:block}.route-text-layout .route-copy{width:100%;grid-row:auto}.route-text-layout .route-copy ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem 3rem}.route-text-layout .route-copy li{align-content:start}.migration-season-section .migration-map-copy{max-width:850px}.migration-season-section h2{max-width:100%}@media(max-width:700px){.route-text-layout .route-copy ol{grid-template-columns:1fr}}
.home .lodge-carousel-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:5vw;align-items:end}
.home .lodge-carousel-heading h2{margin:0;font-size:clamp(2.8rem,5vw,5rem);line-height:1.04}
.home .lodge-carousel-heading>p{max-width:30rem;margin:0 0 .4rem;color:#5d625f;font-size:1.05rem;line-height:1.65}
.home .lodge-carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:3.6rem 0 1rem;color:#7e6747;font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.home .lodge-carousel-controls>div{display:flex;gap:.5rem}
.home .lodge-carousel-controls button{width:2.8rem;height:2.8rem;border:1px solid #a8a092;border-radius:50%;background:transparent;color:var(--ink);font:1.4rem var(--serif);cursor:pointer}
.home .lodge-carousel-controls button:hover,.home .lodge-carousel-controls button:focus-visible{background:var(--ink);color:#fff}
.home .lodge-carousel{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;padding:0 0 .8rem}
.home .lodge-carousel::-webkit-scrollbar{display:none}
.home .lodge-slide{flex:0 0 calc((100% - 2rem)/3);min-width:0;scroll-snap-align:start;color:var(--ink);text-decoration:none;background:#f7f4ee}
.home .lodge-slide-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#d4cbbd}
.home .lodge-slide-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.home .lodge-slide:hover img{transform:scale(1.035)}
.home .lodge-slide-copy{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;padding:1.45rem 1.5rem 1.6rem}
.home .lodge-slide-copy small{color:#806944;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em}
.home .lodge-slide-copy strong{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.2vw,2.1rem);line-height:1.15}
.home .lodge-slide-link{margin-top:.7rem;font-size:.73rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.home .lodge-slide-link span{margin-left:.35rem}
.home .lodge-carousel-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.3rem}
.home .lodge-carousel-bottom>span{color:#726f69;font-size:.78rem}
.home .lodge-carousel-bottom .ink-link{margin:0}
@media(max-width:850px){.home .lodge-carousel-heading{grid-template-columns:1fr;gap:1.5rem}.home .lodge-slide{flex-basis:calc((100% - 1rem)/2)}}
@media(max-width:620px){.home .lodge-carousel-heading h2{font-size:clamp(2.55rem,11vw,3.5rem)}.home .lodge-carousel-controls{margin-top:2.5rem}.home .lodge-carousel-controls>span{max-width:14rem;line-height:1.4}.home .lodge-carousel{margin-right:-1.4rem;padding-right:1.4rem}.home .lodge-slide{flex-basis:min(78vw,340px)}.home .lodge-carousel-bottom{align-items:flex-start;flex-direction:column;gap:1.1rem}}
.home-itinerary-grid{gap:1.25rem;background:transparent;margin-bottom:1.6rem}
.home-itinerary-grid .home-itinerary-card{display:flex;flex-direction:column;min-height:0;padding:0;background:#f7f4ee;overflow:hidden}
.home-itinerary-grid .home-itinerary-card:hover{background:#f7f4ee}
.home-itinerary-image{display:block;aspect-ratio:4/3;overflow:hidden;background:#d3cbbd}
.home-itinerary-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .45s ease}
.home-itinerary-card:nth-child(2) .home-itinerary-image img{object-position:50% 58%}
.home-itinerary-card:hover .home-itinerary-image img{transform:scale(1.035)}
.home-itinerary-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:1.7rem 1.7rem 1.9rem}
.home-itinerary-grid h3{margin:1.1rem 0 1.5rem;font-size:clamp(1.65rem,2.3vw,2.25rem);line-height:1.14}
.home-itinerary-grid b{line-height:1.55;padding-top:0}
@media(max-width:700px){.home-itinerary-grid{gap:1.2rem;margin-top:2.4rem}.home-itinerary-grid .home-itinerary-card{min-height:0}.home-itinerary-image{aspect-ratio:16/10}.home-itinerary-copy{padding:1.5rem}.home-itinerary-grid h3{margin:.85rem 0 1.3rem;font-size:1.85rem}}
.itinerary-price-lead{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,7vw,8rem);align-items:start;background:#f1ede5;border-bottom:1px solid var(--line)}
.itinerary-price-lead h2{font-size:clamp(2.6rem,5vw,5rem);line-height:1.05;margin:1rem 0 1.6rem}
.itinerary-price-lead h2 span{display:block;font-family:var(--sans);font-size:clamp(1rem,1.3vw,1.3rem);font-weight:400;letter-spacing:0;margin-top:.7rem}
.itinerary-price-lead h3{font-size:clamp(1.7rem,2.3vw,2.35rem);margin:0 0 1.1rem}
.itinerary-price-lead p:not(.section-kicker){color:#555e58;line-height:1.7;max-width:38rem;margin:0}
.itinerary-price-lead .ink-link{display:inline-block;margin-top:1.6rem}
@media(max-width:800px){.itinerary-price-lead{grid-template-columns:1fr;gap:2rem}}
.home-advice-grid .home-itinerary-copy{font-size:inherit;letter-spacing:normal;text-transform:none;color:var(--ink)}
.home-advice-grid .home-itinerary-copy h3{font-size:clamp(1.65rem,2.3vw,2.25rem);letter-spacing:-.025em;text-transform:none;color:var(--ink)}
.home-advice-grid .home-itinerary-copy>span{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:#806944}
@media(max-width:700px){.home-advice-grid .home-itinerary-copy h3{font-size:1.85rem}}
.home .quote .quote-shade{background:linear-gradient(90deg,rgba(7,14,11,.52),rgba(7,14,11,.39)),linear-gradient(0deg,rgba(7,14,11,.34),transparent 75%)}
@media(max-width:700px){.home .quote .quote-shade{background:rgba(7,14,11,.63)}}
.sub-brand{grid-column:1/-1;margin:1rem 0 -2rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.12);font-size:.62rem;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.46)}
.sub-brand a{color:rgba(255,255,255,.68);border-bottom:1px solid rgba(255,255,255,.28)}
.home .sub-brand{margin-top:.25rem;padding-top:1.25rem}

/* Recent itinerary and breadcrumb refinements. */
.page-breadcrumbs{padding:1.2rem max(5vw,2rem);border-bottom:1px solid var(--line);background:#f7f4ee;color:var(--ink);font-family:var(--sans);font-size:.875rem;line-height:1.6}
.page-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.5rem 1rem;list-style:none;margin:0;padding:0}
.page-breadcrumbs li{list-style:none}
.page-breadcrumbs li+li::before{content:' / ';color:#747a76;margin-right:1rem}
.page-breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.page-breadcrumbs [aria-current]{color:#59615b}
@media(max-width:700px){.page-breadcrumbs{padding:1rem 1.4rem}}
/* Match the Kenya sister site's two-column editorial itinerary rhythm. */
.itineraries-page .journey-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem;align-items:stretch}
.itineraries-page .journey-card{display:flex;grid-column:auto;background:#fff;color:var(--ink)}
.itineraries-page .journey-card.featured{grid-column:1/-1;display:grid;grid-template-columns:1.05fr .95fr;background:var(--ink);color:#fff}
.itineraries-page .journey-image,.itineraries-page .journey-card:nth-child(2) .journey-image,.itineraries-page .journey-card:nth-child(3) .journey-image{aspect-ratio:16/9;min-height:0}
.itineraries-page .journey-card.featured .journey-image{aspect-ratio:auto;min-height:610px}
.itineraries-page .journey-image img,.itineraries-page .journey-card:nth-child(2) .journey-image img,.itineraries-page .journey-card:nth-child(3) .journey-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:none}
.itineraries-page .journey-card:hover .journey-image img{transform:scale(1.012)}
.itineraries-page .journey-card:nth-child(1) .journey-image img{object-position:60% 50%}
.itineraries-page .journey-card:nth-child(2) .journey-image img{object-position:50% 70%}
.itineraries-page .journey-card:nth-child(3) .journey-image img{object-position:65% 50%}
.itineraries-page .journey-card:nth-child(6) .journey-image img{object-position:50% 50%}
.itineraries-page .journey-body{padding:clamp(1.9rem,3vw,2.8rem)}
.itineraries-page .journey-type{color:#8b7047;margin-bottom:1rem}
.itineraries-page .journey-card.featured .journey-type{color:#d5bb84}
.itineraries-page .journey-body h2{font-size:clamp(2.35rem,3.5vw,3.7rem);line-height:1.06;margin-bottom:1.3rem}
.itineraries-page .journey-lead{font-family:var(--serif);font-size:1.12rem;line-height:1.55;color:#59615b;margin-bottom:1.8rem}
.itineraries-page .journey-card.featured .journey-lead{color:#d4dad6}
.itineraries-page .night-plan{margin:0 0 2rem}
.itineraries-page .night-plan li{padding:1.1rem 0;grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1rem}
.itineraries-page .night-plan small{font-family:var(--sans);line-height:1.55;font-size:.82rem}
.itineraries-page .journey-foot p b{color:#806944;font-size:1.35rem}
.itineraries-page .journey-card.featured .journey-foot p b{color:#d5bb84}
.itineraries-page .journey-foot a{color:inherit}
.itineraries-page .pricing-note{max-width:950px;color:#69716d;font-size:.8rem;line-height:1.7}
.long-route-gallery .trip-photo-grid figure{grid-column:span 4;height:clamp(250px,29vw,410px)}
@media(max-width:900px){.itineraries-page .journey-card.featured{grid-column:auto;display:flex}.itineraries-page .journey-card.featured .journey-image{aspect-ratio:16/9;min-height:0}}
@media(max-width:700px){.itineraries-page .journey-grid{grid-template-columns:1fr;gap:1.3rem}.itineraries-page .journey-body h2{font-size:2.35rem}.itineraries-page .journey-card.featured .journey-image{aspect-ratio:4/3}.long-route-gallery .trip-photo-grid figure{grid-column:span 6;height:260px}}
@media(max-width:540px){.itineraries-page .journey-body{padding:1.5rem}.itineraries-page .night-plan li{padding:.95rem 0}.itineraries-page .journey-foot{align-items:flex-start}.long-route-gallery .trip-photo-grid figure{grid-column:1/-1;height:300px}}
/* Itinerary details: the map-free route, photographs and price panels. */
.itinerary-route.route-text-layout{display:block}
.route-text-layout .route-copy{max-width:1180px;margin:auto}
.route-text-layout .route-copy ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem,6vw,7rem)}
.trip-photo-strip{background:var(--ink);padding:0 max(5vw,2rem) clamp(5rem,8vw,8rem)}
.trip-photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:1rem}
.trip-photo-grid figure{grid-column:span 6;position:relative;height:clamp(300px,32vw,480px);margin:0;overflow:hidden;background:#27342e}
.trip-photo-grid figure:nth-last-child(1):nth-child(3){grid-column:1/-1;height:clamp(340px,38vw,530px)}
.trip-photo-grid figure img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.trip-photo-grid figure:hover img{transform:scale(1.018)}
.trip-photo-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:3rem 1.3rem 1.15rem;background:linear-gradient(transparent,rgba(7,15,11,.73));color:#fff;font-family:var(--serif);font-size:1.45rem}
.trip-photo-grid figcaption span{font-family:var(--sans);font-size:.7rem;color:#e5c98e;margin-right:1rem;letter-spacing:.12em}
.long-route-gallery .trip-photo-grid figure{grid-column:span 4;height:clamp(250px,29vw,410px)}
.property-gallery:not(.itinerary-gallery){background:#f8f6f1;color:var(--ink)}
.property-gallery:not(.itinerary-gallery) .property-gallery-heading{grid-template-columns:1.1fr .6fr;gap:5vw;margin-bottom:2.6rem}
.property-gallery:not(.itinerary-gallery) .property-gallery-heading h2{font-size:clamp(2.8rem,5vw,5rem)}
.property-gallery:not(.itinerary-gallery) .property-gallery-heading>p{color:#59615b;max-width:32rem}
.property-gallery:not(.itinerary-gallery) .property-gallery-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:auto;gap:1rem}
.property-gallery:not(.itinerary-gallery) .property-gallery-grid>.property-gallery-item{display:block;grid-column:span 2;grid-row:auto;aspect-ratio:4/3;border:0;padding:0;background:#e6e1d6;overflow:hidden;cursor:pointer}
.property-gallery:not(.itinerary-gallery) .property-gallery-grid>.property-gallery-item:nth-child(n+4){grid-column:span 3}
.property-gallery:not(.itinerary-gallery) .property-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.property-gallery:not(.itinerary-gallery) .property-gallery-item:hover img{transform:scale(1.025)}
.property-gallery:not(.itinerary-gallery) .property-gallery-item:focus-visible{outline:3px solid #8b7047;outline-offset:3px}
.gallery-lightbox{position:fixed;max-width:min(94vw,1450px);max-height:92vh;border:0;padding:3.5rem 1rem 1rem;background:#14201b;color:#fff}
.gallery-lightbox::backdrop{background:rgba(4,10,7,.88)}
.gallery-lightbox img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(92vh - 5rem);object-fit:contain;margin:auto}
.gallery-close{position:absolute;right:1rem;top:.7rem;border:0;background:transparent;color:#fff;font:600 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
/* Serengeti and Zanzibar uses an editorial image-led route rather than the standard itinerary template. */
.sb-intro{background:#f1ece2;padding-top:clamp(5rem,9vw,8rem);padding-bottom:clamp(4rem,7vw,6rem)}
.sb-intro h1{font-size:clamp(4.2rem,8vw,8rem);line-height:.97;letter-spacing:-.045em;margin:0 0 3.5rem}
.sb-intro-bottom{display:grid;grid-template-columns:1fr .75fr;gap:8vw;align-items:end;border-top:1px solid var(--line);padding-top:2rem}
.sb-intro-bottom>p{font-family:var(--serif);font-size:clamp(1.2rem,1.8vw,1.55rem);line-height:1.55;max-width:720px;margin:0}
.sb-facts{display:flex;gap:2rem;justify-content:space-between;font-size:.72rem;color:#69716d}
.sb-facts span{display:block}.sb-facts b{display:block;color:var(--ink);font-family:var(--serif);font-size:1.4rem;font-weight:400;margin-bottom:.3rem}
.sb-hero{position:relative;height:clamp(430px,57vw,800px);margin:0;background:#344239;overflow:hidden}
.sb-hero img{width:100%;height:100%;object-fit:cover;object-position:center 52%}
.sb-hero figcaption{position:absolute;bottom:0;left:0;padding:3rem max(5vw,2rem) 1.2rem;width:100%;background:linear-gradient(transparent,rgba(5,12,8,.62));color:#fff;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.sb-opening{display:grid;grid-template-columns:.34fr 1fr;gap:8vw;background:#fbfaf7}
.sb-opening h2,.sb-route-heading h2,.sb-planning h2{font-size:clamp(2.7rem,4.7vw,5rem)}
.sb-opening>div>p{color:#59615b;line-height:1.8;max-width:760px}
.sb-journey{background:#f1ece2}
.sb-route-heading{display:grid;grid-template-columns:.34fr 1fr;gap:8vw;margin-bottom:3rem}
.sb-arrival{display:grid;grid-template-columns:160px 1fr auto;gap:3vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.8rem 0;margin-bottom:3rem;align-items:start}
.sb-arrival span,.sb-arrival>b{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#806944}
.sb-arrival h3{font-size:2rem;margin:0 0 .6rem}.sb-arrival p{margin:0;color:#59615b;max-width:700px}
.sb-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);align-items:start;padding:3.5rem 0;border-bottom:1px solid var(--line)}
.sb-stage>figure{position:relative;aspect-ratio:16/11;margin:0;overflow:hidden;background:#d6d1c5}
.sb-stage>figure img{width:100%;height:100%;object-fit:cover;object-position:center}
.sb-stage>figure figcaption{position:absolute;bottom:0;left:0;right:0;padding:3rem 1.2rem 1rem;background:linear-gradient(transparent,rgba(4,10,7,.65));color:#fff;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}
.sb-stage h2{font-size:clamp(2.6rem,4vw,4.2rem);margin:0 0 1.5rem}
.sb-stage>div>p:not(.section-kicker){color:#59615b;line-height:1.75;max-width:650px}
.sb-stage:nth-of-type(2)>figure{order:2}
.sb-stays{margin-top:2.5rem;border-top:1px solid var(--line)}
.sb-stays>p{margin:1.2rem 0 .4rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:#806944}
.sb-stays>a{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:1.1rem}
.sb-stays>a span{font-family:var(--sans);font-size:.7rem;color:#69716d}
.sb-planning{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7vw;background:#fbfaf7}
.sb-planning>div{border-top:1px solid var(--line);padding-top:1.7rem}
.sb-planning p:not(.section-kicker){color:#59615b;line-height:1.75}
@media(max-width:900px){.route-text-layout .route-copy ol{grid-template-columns:1fr}.sb-intro-bottom,.sb-opening,.sb-route-heading,.sb-stage,.sb-planning{grid-template-columns:1fr}.sb-stage:nth-of-type(2)>figure{order:0}.sb-route-heading{gap:1rem}.sb-intro-bottom{gap:2rem}.property-gallery:not(.itinerary-gallery) .property-gallery-heading{grid-template-columns:1fr;gap:1rem}}
@media(max-width:700px){.trip-photo-strip{padding:0 1.4rem 4.5rem}.trip-photo-grid{gap:.75rem}.trip-photo-grid figure,.trip-photo-grid figure:nth-last-child(1):nth-child(3),.long-route-gallery .trip-photo-grid figure{grid-column:1/-1;height:clamp(260px,82vw,430px)}.property-gallery:not(.itinerary-gallery) .property-gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.7rem;padding-bottom:.6rem}.property-gallery:not(.itinerary-gallery) .property-gallery-grid>.property-gallery-item,.property-gallery:not(.itinerary-gallery) .property-gallery-grid>.property-gallery-item:nth-child(n+4){flex:0 0 min(84vw,410px);grid-column:auto;grid-row:auto;scroll-snap-align:start}.property-gallery:not(.itinerary-gallery) .gallery-mobile-note{display:block;color:#69716d;font-size:.75rem;margin:1rem 0 0}.sb-intro h1{font-size:clamp(3.8rem,13vw,5.4rem)}.sb-facts{flex-wrap:wrap}.sb-hero{height:clamp(330px,85vw,520px)}.sb-arrival{grid-template-columns:1fr auto;gap:.6rem}.sb-stage{padding:2.6rem 0}.sb-stage>figure{aspect-ratio:16/10}}

/* Safari styles: image-led cards and an editorial sequence on each style page. */
.style-idea-grid{gap:1.2rem;align-items:stretch;padding-top:4rem;background:#f4f0e9}
.safari-ideas-page .page-hero.site-index-hero{min-height:430px;padding-top:6rem;padding-bottom:3.2rem}
.safari-ideas-page .page-hero.site-index-hero h1{font-size:clamp(3.7rem,6vw,6.2rem);margin-bottom:1.25rem}
.safari-ideas-page .style-idea-grid{padding-top:2.5rem}
@media(max-width:700px){.safari-ideas-page .page-hero.site-index-hero{min-height:0;padding:3.1rem 1.5rem 2.6rem}.safari-ideas-page .page-hero.site-index-hero h1{font-size:clamp(3rem,11vw,4.1rem)}.safari-ideas-page .style-idea-grid{padding-top:1.5rem}}
.style-idea-grid .idea-card{padding:0;min-height:0;margin:0;border:0;background:#fbfaf7;display:block;overflow:hidden}
.style-idea-grid .idea-card:hover{background:#fbfaf7}
.idea-card-image{aspect-ratio:16/10;overflow:hidden;background:#d9d4c9}
.idea-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.style-idea-grid .idea-card:hover img{transform:scale(1.025)}
.style-idea-grid .honeymoon-idea-card .idea-card-image{background:#e5e0d6}
.style-idea-grid .honeymoon-idea-card .idea-card-image img{object-fit:cover}
.idea-card-copy{padding:clamp(1.6rem,3vw,3rem);display:flex;flex-direction:column;min-height:310px}
.idea-card-number{color:#8b7047;font-size:.72rem;letter-spacing:.14em}
.idea-card-copy h2{font-size:clamp(2.4rem,3.4vw,4rem);margin:1.15rem 0 1rem}
.idea-card-copy p{max-width:580px;color:#59625d;font-size:1rem;line-height:1.7}
.idea-card-best{display:block;margin-top:auto;padding-top:1.2rem;color:#876d47;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}
.idea-card-copy small{display:block;margin-top:1rem;padding-top:1.1rem;border-top:1px solid var(--line);font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--ink)}
@media(min-width:901px){.style-idea-grid .style-feature-card{grid-column:1/-1;display:grid;grid-template-columns:1.15fr .85fr}.style-idea-grid .style-feature-card .idea-card-image{height:100%;aspect-ratio:auto;min-height:480px}.style-idea-grid .style-feature-card .idea-card-copy{justify-content:center;padding:clamp(2.5rem,5vw,5rem)}.style-idea-grid .style-feature-card h2{font-size:clamp(3.4rem,5.2vw,6rem)}.style-idea-grid .style-feature-card .idea-card-best{margin-top:1.5rem}}
.style-photo-section{background:#efeae1;padding-top:clamp(5rem,8vw,8rem);padding-bottom:clamp(5rem,8vw,8rem)}
.style-photo-heading{display:grid;grid-template-columns:.35fr 1fr;gap:3rem;align-items:start;margin-bottom:3rem}
.style-photo-heading h2{font-size:clamp(2.8rem,5.4vw,5.8rem);margin:0}
.style-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.style-photo-grid figure{margin:0;min-width:0}
.style-photo-grid img{aspect-ratio:4/5;object-fit:cover;background:#d9d4c9}
.style-photo-grid figcaption{padding:1.1rem 0 0;font-family:var(--serif);font-size:1.4rem;line-height:1.25}
.style-photo-grid figcaption span{display:block;margin-top:.35rem;color:#67706a;font-family:var(--sans);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:900px){.style-idea-grid{grid-template-columns:1fr 1fr}.style-photo-heading{grid-template-columns:1fr;gap:1rem}}
@media(max-width:700px){.style-idea-grid{grid-template-columns:1fr;padding:2rem 1.4rem 4.5rem;gap:1.4rem}.style-idea-grid .idea-card{display:block}.idea-card-image{aspect-ratio:4/3}.idea-card-copy{min-height:0;padding:1.7rem}.idea-card-copy h2{font-size:2.7rem;margin:1rem 0}.idea-card-best{margin-top:0}.style-photo-section{padding-left:1.4rem;padding-right:1.4rem}.style-photo-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:.8rem;padding-bottom:.6rem}.style-photo-grid figure{flex:0 0 min(78vw,360px);scroll-snap-align:start}.style-photo-grid img{aspect-ratio:4/3;object-position:50% 50%}.style-photo-grid figcaption{font-size:1.2rem}}
@media(max-width:700px){.safari-ideas-page .style-idea-grid{padding-top:1.5rem}.safari-ideas-page .scroll-cue{position:relative;right:auto;bottom:auto;margin-top:1.4rem}}

/* Match the Kenya lodge structure while retaining Tanzania's existing palette. */
.kenya-style-lodge-hero{min-height:clamp(650px,78vh,900px);padding-bottom:clamp(5rem,8vw,8rem)}
.kenya-style-lodge-hero .property-hero-copy{position:relative;z-index:1;max-width:1100px}
.kenya-style-lodge-hero h1{max-width:1100px;color:#fff;text-wrap:balance}
.kenya-style-lodge-hero .property-hero-copy>a{display:inline-block;border-bottom:1px solid rgba(255,255,255,.8);padding-bottom:.2rem;font-size:.9rem;color:#fff}
.kenya-style-lodge-hero .property-scroll-cue{position:absolute;z-index:1;right:max(5vw,2rem);bottom:2.8rem;border-bottom:1px solid rgba(255,255,255,.8);padding-bottom:.3rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:#fff}
.kenya-lodge-facts{grid-template-columns:1fr 1fr}
.kenya-lodge-facts>div{padding:1.8rem max(5vw,2rem)}
.property-intro .property-actions{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2.3rem}
.property-intro .property-actions .ink-link{align-self:center}
.related-properties .directory-more{text-align:left}
.related-properties .property-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:850px){.kenya-style-lodge-hero{min-height:660px}.kenya-style-lodge-hero h1{font-size:clamp(3rem,10vw,5.4rem)}}
@media(max-width:700px){.kenya-style-lodge-hero{min-height:620px;padding-bottom:7rem}.kenya-style-lodge-hero h1{font-size:clamp(2.65rem,11vw,4.5rem);overflow-wrap:break-word}.kenya-style-lodge-hero .property-scroll-cue{left:1.4rem;right:auto;bottom:2.2rem}.kenya-lodge-facts{grid-template-columns:1fr}.related-properties .property-grid{grid-template-columns:1fr}}

/* Keep lodge card titles at the same scale as the Kenya collection. */
.property-card h2,.property-card h3{font-size:clamp(1.75rem,2.55vw,2.25rem);line-height:1.07;letter-spacing:-.025em}
