:root{color-scheme:light;font:17px/1.65 system-ui,sans-serif;color:#262821;background:#f7f5ec;--site-max-width:1620px}
*{box-sizing:border-box}body{margin:0;background:#f7f5ec}a{color:#285238;text-underline-offset:.2em}a:hover{color:#814322}
header{background:#243a2c;color:white}main,footer{width:min(calc(100% - 3rem),calc(var(--site-max-width) - 3rem));margin-inline:auto}
.bar,nav{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.3rem}.bar{justify-content:space-between;padding:1rem 0}
header a{color:#fff}header a:hover{color:#f3cf91}.brand{font-family:Georgia,serif;font-size:1.3rem;font-weight:bold;text-decoration:none}
main{padding:2rem 0 3rem}h1,h2,h3{line-height:1.18;font-family:Georgia,serif}h1{font-size:clamp(2rem,5vw,3.3rem);margin:.2em 0 .65em}h2{font-size:1.65rem}
article{max-width:53rem;white-space:pre-line;overflow-wrap:anywhere}article p,article ul,article table{white-space:normal}
article img{max-width:100%;height:auto;border-radius:.3rem}article figure{margin:1rem 0}iframe{width:100%;min-height:280px;border:0}
table{border-collapse:collapse;display:block;overflow-x:auto;max-width:100%}td,th{padding:.4rem .7rem;border:1px solid #d4d0bc}
.filters{margin:0 0 1.5rem}.filters a,.button{display:inline-block;padding:.4rem .8rem;background:#e8eadf;border-radius:.25rem}
.button{background:#285238;color:white}.button:hover{color:#f3cf91}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:.75rem;list-style:none;padding:0}
.cards li{background:white;border:1px solid #dedbce;border-radius:.3rem}.cards a{display:block;padding:.85rem 1rem;font-weight:600}
footer{border-top:1px solid #dedbce;padding:1.25rem 0 2rem}

.skip-link{position:absolute;left:1rem;top:1rem;z-index:2;transform:translateY(-200%);background:#fff;color:#243a2c;padding:.5rem 1rem}
.skip-link:focus{transform:none}a:focus-visible{outline:2px solid #ae6433;outline-offset:4px}
.categories{margin:0 0 1.25rem}
article h2{margin-top:1.75rem}article iframe{display:block;margin:1.25rem 0}
@media(max-width:600px){.bar{align-items:flex-start;flex-direction:column}.bar nav{gap:.55rem 1rem}main{padding-top:1.45rem}}

/* Shared navigation and footer */
:root{--ink:#23302a;--forest:#243a2d;--deep:#172c22;--brass:#885121;--linen:#f4efe4;--line:#ded5c5;--paper:#fcfaf5;--heading:"Playfair Display",Georgia,serif}
.site-width{width:min(calc(100% - 3rem),calc(var(--site-max-width) - 3rem));margin-inline:auto}
.site-header,.site-footer,.home-page main>section:not(.full-width-hero){max-width:var(--site-max-width);margin-inline:auto}
.site-header{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}
.topline{background:var(--deep);color:#f5eddd;font-size:.78rem}
.topline .site-width,.topline .site-width>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1.2rem}
.topline .site-width{padding:.45rem 0}
.topline a{color:inherit;text-decoration:none}
.site-navigation{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:84px;padding-block:.7rem}
.wordmark{display:inline-flex;align-items:baseline;gap:.45rem;color:inherit;font:bold 2rem/1 var(--heading);text-decoration:none;white-space:nowrap}
.wordmark span{font:700 .7rem/1.2 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.09em}
.site-navigation nav{justify-content:center;gap:.35rem 1.1rem}
.site-navigation nav a{color:var(--ink);text-decoration:none;font-size:.82rem;font-weight:650;white-space:nowrap}
.site-navigation nav a:hover,.site-navigation nav a[aria-current]{color:var(--brass);text-decoration:underline}
.site-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:.7rem 1.1rem;background:var(--forest);border:1px solid transparent;color:#fff;border-radius:.2rem;font:700 .82rem/1.25 system-ui,sans-serif;text-decoration:none;text-align:center;cursor:pointer}
.site-button:hover{background:#355641;color:#fff}
.light-button{background:#efd8ad;color:#2d2b20}
.light-button:hover{background:#f9e6c2;color:#2d2b20}
.site-footer{width:100%;max-width:none;margin:0;background:var(--deep);color:#f3ead9;border:0;padding:3rem 0 1rem}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}
.site-footer a{color:inherit}.site-footer a:not(.wordmark){display:block;width:fit-content}
.site-footer h2{margin:0 0 .65rem;font:700 1rem system-ui,sans-serif}
.site-footer p{margin:.5rem 0;font-size:.9rem}.footer-end{border-top:1px solid #ffffff35;margin-top:2rem;padding-top:1rem;font-size:.78rem}

/* Homepage */
.home-page{background:var(--paper);color:var(--ink)}
.home-page main{width:100%;max-width:none;padding:0}
.home-page h1,.home-page h2,.home-page h3{font-family:var(--heading);letter-spacing:-.025em}
.home-page h2{font-size:clamp(2rem,4vw,3.15rem);margin:0 0 .6rem}
.home-page h3{font-size:1.35rem;margin:0 0 .45rem}
.home-page p{margin:0 0 .8rem}
.full-width-hero{width:100%;max-width:none}
.home-hero{position:relative;isolation:isolate;background:#28392b;color:#fff}
.hero-photo,.home-hero::after{position:absolute;inset:0;width:100%;height:100%}
.hero-photo{object-fit:cover;object-position:center 56%;z-index:-2}
.home-hero::after{content:"";background:linear-gradient(90deg,#0f221bea 0%,#14291baa 48%,#14291b35 100%);z-index:-1}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,490px);align-items:center;gap:clamp(2rem,6vw,6rem);padding-block:clamp(2.7rem,6vw,5.8rem)}
.hero-copy h1{max-width:11ch;font-size:clamp(3rem,7.1vw,6.2rem);line-height:.99;margin:.15em 0 .27em;color:#fff}
.hero-copy>p:not(.eyebrow){max-width:35rem;font-size:1.1rem;color:#fff6e9;margin-bottom:1.5rem}
.eyebrow{color:var(--brass);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.hero-copy .eyebrow{color:#efd8ad}
.enquiry-card{background:var(--paper);color:var(--ink);padding:clamp(1.2rem,3vw,2rem);border:1px solid #e7d9c1;border-radius:.35rem;scroll-margin-top:1rem}
.home-page .enquiry-card h2{font-size:clamp(1.55rem,3vw,2.1rem);margin-bottom:1rem}
.enquiry-card label{display:block;font-size:.8rem;font-weight:700;margin-bottom:.65rem}
.enquiry-card label span{font-weight:400}
.enquiry-card input:not([type=hidden]),.enquiry-card textarea{display:block;width:100%;background:white;color:var(--ink);border:1px solid #a79d8b;border-radius:.15rem;padding:.58rem .64rem;margin-top:.2rem;font:inherit;font-weight:400}
.enquiry-card textarea{resize:vertical}
.enquiry-card button{width:100%}
.email-alternative{display:block;text-align:center;font-size:.78rem;margin-top:.6rem}
.form-message{border-left:3px solid #9c512e;background:#f6e7dc;padding:.45rem .65rem;font-size:.8rem}
.success-message{border-color:#2d6446;background:#e8f3eb}
.home-section{padding-block:clamp(2.7rem,6.6vw,5.5rem)}
.warm-section{background:var(--linen)}
.section-heading{margin-bottom:1.55rem}
.about-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.4rem,6vw,5rem);align-items:center}
.about-photo{margin:0;background:var(--line);border:1px solid var(--line);padding:.4rem}
.about-photo img{width:100%;aspect-ratio:1.38;display:block;object-fit:cover}
.text-arrow{display:inline-flex;gap:.4rem;align-items:center;font-size:.83rem;font-weight:750;color:#34553d}
.safari-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem}
.safari-card{max-width:none;background:var(--paper);border:1px solid var(--line);white-space:normal;border-radius:.28rem;overflow:hidden}
.safari-card>a,.excursion-rail a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.safari-card a:hover h3,.excursion-rail a:hover h3{text-decoration:underline}
.safari-card img,.attraction img,.excursion-rail img{width:100%;height:auto;aspect-ratio:1.85;object-fit:cover;display:block;background:#d8cfbc;border-radius:0}
.safari-card a>div,.excursion-rail a>div{padding:1.15rem 1.25rem}
.safari-card p,.attraction p{font-size:.92rem}
.why-section{background:#23372a;color:#fff8e9}
.reasons,.attraction-grid,.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.reasons>div{border-top:1px solid #a88c63;padding-top:1rem}
.reasons p{color:#e7ddcb;font-size:.93rem}
.attraction{display:block;color:inherit;text-decoration:none;background:#fff;border:1px solid var(--line)}
.attraction:hover h3{text-decoration:underline}
.attraction>div{padding:.8rem 1rem}
.cta-band{background:#4b3525;color:#fff4e2;padding:2.15rem 0}
.cta-band>.site-width{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.cta-band p{margin:0}
.carousel-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}
.carousel-buttons{display:flex;gap:.4rem}.carousel-buttons[hidden]{display:none}
.carousel-buttons button{width:44px;height:44px;border:1px solid var(--line);background:#fff;color:var(--forest);font-size:1.25rem;cursor:pointer}
.carousel-buttons button:disabled{opacity:.38;cursor:default}
.excursion-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2.4rem)/3);gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;list-style:none;padding:0 0 .8rem;margin:0}
.excursion-rail li{scroll-snap-align:start;background:#fff;border:1px solid var(--line)}
.review-card{background:var(--paper);border:1px solid var(--line);border-top:3px solid #a87d48;padding:1.1rem;white-space:normal}
.review-card p{font-size:.92rem}.review-card .review-credit{font-size:.78rem;font-weight:700;margin:1rem 0 0}
.review-link{margin-top:1.1rem}
.tailored-end{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem 2.4rem}
.departure-links{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.departure-links a{background:var(--linen);border:1px solid var(--line);padding:.8rem;font-size:.85rem;font-weight:700}
.all-trips{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1rem}
.all-trips summary{cursor:pointer;font-weight:750;color:var(--forest)}
@media(max-width:1050px){.site-navigation{flex-wrap:wrap}.site-navigation nav{order:3;width:100%;justify-content:flex-start;border-top:1px solid var(--line);padding-top:.65rem}}
@media(max-width:760px){.site-width,.inner-page main{width:calc(100% - 2rem)}.hero-layout,.about-layout,.tailored-end{grid-template-columns:1fr}.hero-layout{gap:1.5rem}.hero-copy h1{max-width:15ch}.home-hero::after{background:#14291bb0}.attraction-grid,.review-grid,.reasons{grid-template-columns:repeat(2,minmax(0,1fr))}.excursion-rail{grid-auto-columns:calc((100% - 1.2rem)/2)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:500px){.site-navigation{gap:.6rem}.wordmark{font-size:1.6rem}.wordmark span{font-size:.59rem}.site-navigation .site-button{padding-inline:.65rem}.site-navigation nav{gap:.4rem .85rem}.safari-grid,.review-grid,.reasons,.footer-grid{grid-template-columns:1fr}.excursion-rail{grid-auto-columns:83%}.attraction-grid{gap:.65rem}.attraction>div{padding:.6rem}.attraction h3{font-size:1.12rem}.attraction p{font-size:.8rem}}

.module-photo{margin:0 0 1.5rem;background:#d8cfbc;border-radius:.28rem;overflow:hidden}
.module-photo img{display:block;width:100%;height:clamp(210px,38vw,530px);object-fit:cover}
