@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,500;1,600&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');
:root{--ink:#151a16;--deep:#07120e;--forest:#12271f;--ivory:#f3eee5;--sand:#ddd0bc;--gold:#e7b36c;--ember:#b96243;--line:rgba(21,26,22,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}em{font-family:'Italiana',Georgia,serif;font-style:normal}.shell{width:min(1180px,88vw);margin:auto}.nav{height:94px;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:20;left:0;right:0;top:0;padding:0 5vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}.nav.dark{position:relative;background:var(--deep)}.brand{display:flex;align-items:center;gap:13px}.brand img{width:46px;height:46px}.brand b{font-family:'Italiana',serif;font-size:23px;font-weight:400;letter-spacing:.08em;text-transform:uppercase}.brand small{display:block;margin-top:3px;font-size:7px;letter-spacing:.2em;text-transform:uppercase;opacity:.65}.nav-links{display:flex;gap:25px;align-items:center;font-size:11px}.nav-links a{opacity:.8}.nav-links a:hover,.nav-links .active{opacity:1}.book-pill,.button{border-radius:100px;display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:14px 21px;font-size:11px;font-weight:500}.book-pill{border:1px solid rgba(255,255,255,.45)}.button.light{background:var(--ivory);color:var(--ink)}.button.gold{background:var(--gold);color:var(--ink)}.button.outline{border:1px solid currentColor}.menu{display:none}.eyebrow{text-transform:uppercase;font-size:9px;letter-spacing:.25em;font-weight:500}.display{font-size:clamp(55px,7.5vw,112px);line-height:.88;letter-spacing:-.055em;font-weight:300}.section-title{font-size:clamp(44px,5.5vw,82px);line-height:.96;letter-spacing:-.045em;font-weight:300}.section{padding:120px 0}.lead{font-family:'Italiana',serif;font-size:clamp(23px,2.5vw,34px);line-height:1.35}.copy{font-size:14px;line-height:1.85}.hero-atmosphere{height:100svh;min-height:720px;position:relative;overflow:hidden;background:linear-gradient(180deg,#6b8192 0%,#e4a775 33%,#efbd79 48%,#243d31 49%,#0a1712 100%);color:#fff}.hero-atmosphere:before{content:"";position:absolute;width:26vw;height:26vw;min-width:260px;min-height:260px;border-radius:50%;left:54%;top:18%;background:radial-gradient(circle,#ffe5a8 0 8%,#edaf62 9% 38%,rgba(237,175,98,.15) 65%,transparent 70%);filter:blur(.2px);animation:breathe 8s ease-in-out infinite}.hero-atmosphere:after{content:"";position:absolute;inset:auto -8% 0;height:43%;background:linear-gradient(165deg,transparent 0 22%,rgba(8,22,16,.35) 23% 33%,#07120e 34%);clip-path:polygon(0 32%,10% 26%,19% 30%,27% 18%,37% 29%,48% 12%,58% 28%,70% 17%,82% 29%,91% 22%,100% 31%,100% 100%,0 100%)}@keyframes breathe{50%{transform:scale(1.06);opacity:.88}}.starscape{position:absolute;inset:0;background-image:radial-gradient(circle at 10% 18%,rgba(255,255,255,.8) 0 1px,transparent 1.5px),radial-gradient(circle at 25% 8%,rgba(255,255,255,.55) 0 1px,transparent 1.5px),radial-gradient(circle at 82% 14%,rgba(255,255,255,.7) 0 1px,transparent 1.5px);background-size:190px 160px;opacity:.55}.stay-shape{position:absolute;right:7vw;bottom:12vh;width:min(40vw,590px);height:330px;z-index:3}.stay-shape .roof{position:absolute;inset:0 0 auto;height:160px;background:linear-gradient(135deg,#d2b892,#907657);clip-path:polygon(8% 100%,18% 18%,82% 18%,97% 100%)}.stay-shape .room{position:absolute;left:12%;right:8%;bottom:0;height:210px;background:linear-gradient(90deg,#221d17 0 14%,rgba(55,42,28,.92) 14% 86%,#221d17 86%);border:1px solid rgba(255,255,255,.16)}.stay-shape .room:before{content:"";position:absolute;inset:24px 18% 20px;background:linear-gradient(180deg,rgba(232,179,108,.75),rgba(176,91,55,.42));box-shadow:0 0 80px rgba(232,179,108,.35)}.stay-shape .deck{position:absolute;left:0;right:-4%;bottom:-8px;height:18px;background:#2a2118}.stay-shape .lantern{position:absolute;width:8px;height:16px;border-radius:8px;background:#ffd38a;box-shadow:0 0 22px #ffc264;bottom:25px;z-index:4}.stay-shape .l1{left:8%}.stay-shape .l2{right:2%}.hero-copy{position:absolute;z-index:6;left:7vw;bottom:14vh;width:min(620px,44vw)}.hero-copy p:not(.eyebrow){max-width:530px;font-size:15px;line-height:1.75}.hero-actions{display:flex;gap:18px;margin-top:30px}.hero-meta{position:absolute;z-index:6;left:5vw;right:5vw;bottom:0;border-top:1px solid rgba(255,255,255,.22);padding:21px 0;display:flex;justify-content:space-between;font-size:8px;text-transform:uppercase;letter-spacing:.2em}.intro-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:9vw}.crest-large{width:180px}.story-band{background:var(--ember);color:#fff;display:grid;grid-template-columns:1fr 1fr}.story-band img{height:760px;width:100%;object-fit:cover}.story-copy{padding:100px 7vw;display:flex;justify-content:center;flex-direction:column}.story-copy blockquote{font-family:'Italiana',serif;font-size:28px;line-height:1.35;margin:30px 0;padding:25px 0;border-block:1px solid rgba(255,255,255,.35)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{background:#fff;padding:34px;min-height:280px;display:flex;flex-direction:column;justify-content:space-between}.card span{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:#8d583e}.card h3{font-family:'Italiana',serif;font-size:30px;font-weight:400}.card p{font-size:13px;line-height:1.75}.daystrip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--deep);color:#fff}.day{min-height:580px;padding:40px;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center;position:relative}.day:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(5,10,8,.8))}.day>*{position:relative;z-index:1}.day h3{font-family:'Italiana',serif;font-size:37px;font-weight:400}.day p{font-size:12px;line-height:1.7}.day.sunrise{background-image:url('/images/nashipai-cheetah-family.webp')}.day.sunset{background-image:url('/images/sunset-camp.webp')}.day.night{background-image:url('/images/night-camp.webp')}.cta{background:var(--forest);color:#fff;padding:105px 0}.cta .shell{display:flex;justify-content:space-between;align-items:end;gap:50px}.subhero{background:var(--deep);color:#fff;padding:180px 0 105px;position:relative;overflow:hidden}.subhero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(232,179,108,.28);border-radius:50%;right:-80px;top:40px;box-shadow:0 0 0 60px rgba(232,179,108,.03),0 0 0 130px rgba(232,179,108,.02)}.subhero p{max-width:600px;line-height:1.8}.media-split{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.media-split .image{background-size:cover;background-position:center}.media-split .text{padding:95px 8vw;display:flex;flex-direction:column;justify-content:center}.image.sunset{background-image:url('/images/sunset-camp.webp')}.image.cheetah{background-image:url('/images/nashipai-cheetah-family.webp')}.image.night{background-image:url('/images/night-camp.webp')}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.fact{padding:45px 25px;border-right:1px solid var(--line)}.fact:last-child{border:0}.fact b{display:block;font-family:'Italiana',serif;font-size:29px;font-weight:400}.fact small{text-transform:uppercase;font-size:8px;letter-spacing:.15em}.leadership{display:grid;grid-template-columns:1fr 1fr;gap:24px}.person{background:#e8dfd1;padding:55px;min-height:480px}.person .avatar{width:118px;height:118px;border-radius:50%;background:var(--forest);display:grid;place-items:center;margin-bottom:40px}.person .avatar img{width:94px}.person h3{font-family:'Italiana',serif;font-size:42px;font-weight:400}.person .role{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#8d583e}.journal-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px}.post{border-top:1px solid var(--line);padding-top:20px}.post-image{height:280px;background-size:cover;background-position:center;margin-bottom:25px}.post:first-child .post-image{height:410px}.post h2,.post h3{font-family:'Italiana',serif;font-weight:400;line-height:1.1}.post h2{font-size:40px}.post h3{font-size:29px}.post p{font-size:13px;line-height:1.7}.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.booking-form{background:#fff;padding:50px}.booking-form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-form label{display:block;text-transform:uppercase;font-size:8px;letter-spacing:.17em;margin-bottom:20px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;display:block;margin-top:9px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;font:300 14px 'DM Sans',sans-serif;outline:none}.booking-form textarea{border:1px solid var(--line);padding:12px}.booking-form button{width:100%;border:0;margin-top:10px;cursor:pointer}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.contact-panel{background:var(--sand);padding:55px}.contact-panel a{display:block;margin:14px 0}.notice{padding:16px 20px;background:#e8dfd1;border-left:3px solid var(--ember);font-size:12px;line-height:1.7}.footer{background:#050a08;color:rgba(255,255,255,.75);padding:80px 0 26px}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}.footer-col{display:flex;flex-direction:column;gap:12px;font-size:11px}.footer-col>span{font-size:8px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);margin-bottom:10px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.15);margin-top:65px;padding-top:24px;font-size:8px;text-transform:uppercase;letter-spacing:.17em}.success{min-height:75vh;display:grid;place-items:center;text-align:center;padding:100px 20px}.success img{width:130px;margin:0 auto 25px}.success p{max-width:570px}.ssl-note{font-size:10px;opacity:.7}
@media(max-width:960px){.nav-links{display:none}.menu{display:block}.menu summary{list-style:none;font-size:11px;cursor:pointer}.menu summary::-webkit-details-marker{display:none}.menu div{position:absolute;right:4vw;top:72px;background:var(--deep);padding:25px;display:flex;flex-direction:column;gap:16px;min-width:210px}.hero-copy{width:70vw}.stay-shape{opacity:.72;width:55vw}.intro-grid,.booking,.contact-grid{grid-template-columns:1fr}.story-band,.media-split{grid-template-columns:1fr}.story-band img{height:560px}.cards{grid-template-columns:1fr 1fr}.daystrip{grid-template-columns:1fr}.day{min-height:520px}.facts{grid-template-columns:1fr 1fr}.journal-grid{grid-template-columns:1fr 1fr}.journal-grid .post:first-child{grid-column:1/3}.footer-top{grid-template-columns:1.5fr 1fr 1fr}.footer-top .last{display:none}}
@media(max-width:640px){.shell{width:min(88vw,540px)}.nav{height:78px;padding:0 6vw}.brand img{width:40px}.brand b{font-size:18px}.nav>.book-pill{display:none}.hero-atmosphere{min-height:760px}.hero-atmosphere:before{left:35%;top:15%}.hero-copy{left:6vw;right:6vw;bottom:23vh;width:auto}.display{font-size:59px}.hero-copy p:not(.eyebrow){font-size:13px;max-width:92%}.stay-shape{width:88vw;right:-30vw;height:250px;bottom:7vh;opacity:.5}.stay-shape .room{height:170px}.hero-meta{left:6vw;right:6vw}.hero-meta span:nth-child(2){display:none}.section{padding:82px 0}.section-title{font-size:48px}.intro-grid{gap:45px}.crest-large{width:135px}.story-band img{height:420px}.story-copy{padding:75px 7vw}.cards,.leadership,.journal-grid{grid-template-columns:1fr}.journal-grid .post:first-child{grid-column:auto}.facts{grid-template-columns:1fr}.fact{border-right:0;border-bottom:1px solid var(--line)}.cta .shell{display:block}.cta .button{margin-top:25px}.booking-form{padding:32px 22px}.booking-form .row{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}.footer-top>a{grid-column:1/3}.footer-top .last{display:flex}.footer-bottom{display:block}.footer-bottom span,.footer-bottom a{display:block;margin:9px 0}.subhero{padding:145px 0 80px}}

/* Final home art direction: black dawn, cheetah procession and immersive gallery */
.hero-atmosphere{background:#020403;isolation:isolate}.hero-atmosphere:before{z-index:-1;left:50%;top:auto;bottom:-24vw;width:78vw;height:42vw;min-width:760px;min-height:420px;transform:translateX(-50%);background:radial-gradient(ellipse at center,#fff4d1 0 2%,#ffc66f 3% 8%,#d06b35 14%,rgba(143,52,25,.6) 25%,rgba(55,21,14,.25) 43%,transparent 68%);filter:blur(3px);animation:dawnPulse 9s ease-in-out infinite}.hero-atmosphere:after{z-index:-1;inset:auto 0 0;height:46%;clip-path:none;background:linear-gradient(180deg,transparent,rgba(4,8,6,.62) 38%,#020403 100%)}.starscape{z-index:-2;background:radial-gradient(ellipse at 50% 103%,rgba(213,93,42,.28),transparent 47%),linear-gradient(#020403,#020403);opacity:1}.stay-shape{display:none}@keyframes dawnPulse{50%{transform:translateX(-50%) scale(1.04);opacity:.9}}
.reality-reveal{padding:76px 5vw 86px;background:var(--forest);color:#fff}
.reality-reveal-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:38px}
.reality-reveal-head .eyebrow{color:var(--gold)}
.reality-reveal-head .section-title{margin:6px 0 0;font-size:clamp(30px,3.4vw,46px)}
.reality-reveal-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;align-items:stretch}
.reality-reveal-grid figure{margin:0;position:relative;overflow:hidden}
.reality-reveal-grid img{width:100%;height:440px;object-fit:cover;display:block;transition:transform .8s ease}
.reality-reveal-grid figure:hover img{transform:scale(1.04)}
.reality-reveal-grid figcaption{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;background:linear-gradient(0deg,rgba(3,9,6,.78),transparent);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.92)}
@media(max-width:860px){.reality-reveal-grid{grid-template-columns:1fr}.reality-reveal-grid img{height:300px}}
.icon-marquee{overflow:hidden;background:#e7b36c;border-block:1px solid rgba(21,26,22,.2);padding:16px 0}.icon-track{display:flex;width:max-content;animation:cheetahScroll 28s linear infinite}.icon-track span{display:flex;align-items:center;gap:14px;padding:0 36px;white-space:nowrap;border-right:1px solid rgba(21,26,22,.22);text-transform:uppercase;font-size:9px;letter-spacing:.22em}.icon-track img{width:32px;height:32px}.icon-track b{font-weight:500}@keyframes cheetahScroll{to{transform:translateX(-50%)}}
.gallery-section{background:#0a100d;color:#fff;overflow:hidden}.gallery-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:56px}.gallery-head .copy{max-width:410px;color:rgba(255,255,255,.68)}.gallery-scroller{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 6vw 28px;scrollbar-width:thin;scrollbar-color:var(--gold) rgba(255,255,255,.12)}.gallery-item{flex:0 0 min(68vw,890px);margin:0;scroll-snap-align:center}.gallery-item:nth-child(even){flex-basis:min(52vw,680px)}.gallery-item img{width:100%;height:clamp(390px,58vw,680px);object-fit:cover}.gallery-item figcaption{display:flex;justify-content:space-between;padding:17px 2px 0;text-transform:uppercase;font-size:9px;letter-spacing:.16em;color:rgba(255,255,255,.74)}.gallery-item figcaption span{color:var(--gold)}
@media(max-width:640px){.hero-atmosphere:before{bottom:-150px;min-width:680px;min-height:360px}.hero-copy{bottom:21vh}.icon-track{animation-duration:22s}.icon-track span{padding:0 25px}.gallery-head{display:block;margin-bottom:34px}.gallery-head .copy{margin-top:25px}.gallery-scroller{gap:14px}.gallery-item,.gallery-item:nth-child(even){flex-basis:84vw}.gallery-item img{height:62vh;min-height:430px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}

/* V4 editorial system: one type family throughout */
html,body{max-width:100%;overflow-x:hidden}
body,.brand b,em,.lead,.story-copy blockquote,.card h3,.day h3,.fact b,.person h3,.post h2,.post h3,.booking-form input,.booking-form select,.booking-form textarea,button{font-family:'Newsreader',Georgia,serif}
body{font-weight:400;font-size:17px}
em,.story-copy blockquote{font-style:italic}
.brand b,.card h3,.day h3,.fact b,.person h3,.post h2,.post h3{font-weight:500}
.nav-links{font-size:14px}
.book-pill,.button{font-size:14px}
.eyebrow{font-size:11px}
.copy{font-size:17px;line-height:1.75}
.card p,.post p{font-size:16px}
.footer-col{font-size:14px}
.footer{overflow:hidden}
.founder-signoff{font-size:24px;font-style:italic;line-height:1.45;padding-top:24px;border-top:1px solid var(--line)}
.text-link{display:inline-block;margin-top:20px;border-bottom:1px solid currentColor}
.board-announcement{background:#f8f4ec;padding:130px 0}
.board-announcement .shell{display:grid;grid-template-columns:.55fr 1.45fr;gap:9vw}
.announcement-kicker span{font-size:13px;color:#766b5f}
.announcement-copy>p:not(.lead){font-size:19px;line-height:1.8;max-width:800px}
.announcement-copy footer{border-top:1px solid var(--line);margin-top:45px;padding-top:25px}
.announcement-copy footer b,.announcement-copy footer span{display:block}
.announcement-copy footer b{font-size:24px}
.announcement-copy footer span{font-size:13px;text-transform:uppercase;letter-spacing:.12em;margin-top:5px}
.mara-films{background:#050a08;color:#fff;padding:125px 0}
.film-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:55px}
.film-heading>p{max-width:440px;font-size:18px;line-height:1.7;color:rgba(255,255,255,.66)}
.film-grid{width:min(1180px,88vw);margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:start}
.film-grid figure{margin:0;position:relative}
.film-grid video{width:100%;height:720px;display:block;object-fit:cover;background:#0b120e}
.film-grid figure:nth-child(2){margin-top:120px}
.film-grid figure:nth-child(2) video{height:610px}
.film-play{position:absolute;left:24px;bottom:96px;border:1px solid rgba(255,255,255,.75);background:rgba(5,10,8,.7);color:#fff;border-radius:50%;width:78px;height:78px;cursor:pointer}
.film-play.playing{opacity:.55}
.film-grid figcaption{display:grid;grid-template-columns:auto 1fr;gap:3px 18px;padding-top:14px}
.film-grid figcaption span{grid-row:1/3;color:var(--gold);font-size:13px}
.film-grid figcaption b{font-size:19px;font-weight:400;line-height:1.2}
.film-grid figcaption small{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.55)}
@media(max-width:760px){
  body{font-size:16px}
  .display{font-size:56px}
  .copy{font-size:16px}
  .nav-links{font-size:13px}
  .board-announcement{padding:85px 0}
  .board-announcement .shell{grid-template-columns:1fr;gap:45px}
  .announcement-copy>p:not(.lead){font-size:17px}
  .film-heading{display:block}
  .film-heading>p{margin-top:25px}
  .film-grid{grid-template-columns:1fr}
  .film-grid video,.film-grid figure:nth-child(2) video{height:68vh;min-height:520px}
  .film-grid figure:nth-child(2){margin-top:35px}
  .film-play{bottom:92px;width:65px;height:65px}
  .footer-top,.footer-bottom{max-width:100%}
}
.install-app{position:fixed;right:18px;bottom:18px;z-index:90;border:1px solid #ebc07e;background:#07120e;color:#fff;border-radius:100px;padding:13px 18px;box-shadow:0 12px 35px rgba(0,0,0,.3)}
.analytics-consent{position:fixed;left:20px;right:20px;bottom:20px;z-index:100;background:#f8f4ec;color:#151a16;border:1px solid rgba(21,26,22,.18);box-shadow:0 20px 60px rgba(0,0,0,.25);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.analytics-consent p{margin:0;max-width:760px;font-size:15px;line-height:1.5}
.analytics-consent div{display:flex;gap:8px;align-items:center;white-space:nowrap}
.analytics-consent button,.analytics-consent a{border:1px solid #151a16;background:transparent;padding:9px 12px;cursor:pointer}
.analytics-consent button[data-choice="yes"]{background:#12271f;color:#fff}
@media(max-width:640px){.analytics-consent{display:block;left:10px;right:10px;bottom:10px}.analytics-consent div{margin-top:14px;flex-wrap:wrap}.install-app{right:12px;bottom:12px}}

/* V5 typography: one modern travel sans + one expressive editorial italic */
body,.brand b,.lead,.card h3,.day h3,.fact b,.person h3,.post h2,.post h3,
.booking-form input,.booking-form select,.booking-form textarea,button{
  font-family:'DM Sans',Arial,sans-serif;
}
body{font-weight:400}
.display,.section-title{font-family:'DM Sans',Arial,sans-serif;font-weight:300}
em,.story-copy blockquote,.founder-signoff{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:500;
  letter-spacing:-.025em;
}
.brand b,.card h3,.day h3,.fact b,.person h3,.post h2,.post h3{font-weight:500}

/* Always-available guest contact channels */
.contact-dock{position:fixed;right:18px;bottom:18px;z-index:88;display:flex;gap:9px;align-items:center}
.contact-dock a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 17px;border-radius:999px;font:600 12px/1 'DM Sans',sans-serif;letter-spacing:.04em;box-shadow:0 12px 32px rgba(0,0,0,.24);transition:transform .2s ease,background .2s ease}
.contact-dock a:hover{transform:translateY(-2px)}
.contact-dock .whatsapp{background:#176b4d;color:#fff}
.contact-dock .call{background:var(--gold);color:var(--ink)}
.direct-contact{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.direct-contact .button{margin:0}
.form-channels{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.form-channels a{width:100%}
.delivery-note{font-size:12px;line-height:1.65;color:#655e55;margin-top:16px}
@media(max-width:640px){
  .contact-dock{right:10px;left:10px;bottom:10px}
  .contact-dock a{flex:1;padding:0 10px}
  .form-channels{grid-template-columns:1fr}
  .analytics-consent~.contact-dock{bottom:92px}
}

/* V6 readability and editorial travel system */
html{font-size:18px}
body{font-size:18px;line-height:1.65}
.nav{min-height:96px;padding:14px 4vw}
.brand b{font-size:22px}.brand small{font-size:10px;line-height:1.35;margin-top:5px}
.nav-links{font-size:15px;gap:22px}.book-pill,.button{font-size:15px}
.eyebrow{font-size:12px}.copy,.lead{font-size:19px;line-height:1.78}
.card p,.post p,.day p,.contact-card p{font-size:17px;line-height:1.72}
.footer-col{font-size:15px}.footer-bottom{font-size:13px}
.booking-form label{font-size:16px}.booking-form input,.booking-form select,.booking-form textarea{font-size:17px}
.subhero>div>p:last-child{font-size:19px;line-height:1.7;max-width:760px}
.hero-copy{left:50%;right:auto;bottom:17vh;width:min(920px,86vw);transform:translateX(-50%);text-align:center}
.hero-copy>p:not(.eyebrow){font-size:19px;line-height:1.65;max-width:690px;margin-left:auto;margin-right:auto}
.hero-actions{justify-content:center}
.film-frame{position:relative;overflow:hidden;background:#07110d}
.film-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.62));pointer-events:none}
.film-cover{position:absolute;z-index:2;left:30px;right:30px;top:30px;color:#fff;pointer-events:none}
.film-cover span{display:block;font:600 11px/1.3 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.16em;color:#ebc07e}
.film-cover strong{display:block;margin-top:18px;font:300 clamp(38px,4vw,68px)/.95 'DM Sans',sans-serif;letter-spacing:-.045em}
.film-play{z-index:3;bottom:28px}
.film-frame:has(.film-play.playing) .film-cover{opacity:0}.film-frame:has(.film-play.playing):after{opacity:.18}
.film-grid figcaption{grid-template-columns:auto 1fr auto;align-items:start}
.film-grid figcaption a{grid-column:2/4;color:#ebc07e;font-size:14px;margin-top:8px}
.community-gallery{padding:125px 0;background:#f3eee5}
.gallery-head.light{color:#151a16}.gallery-head.light .copy{color:#5b615c}
.community-photo-grid{display:grid;grid-template-columns:.84fr 1.16fr;gap:22px;align-items:start}
.community-photo-grid figure{margin:0}.community-photo-grid figure:nth-child(2){margin-top:90px}
.community-photo-grid img{width:100%;height:680px;object-fit:cover}.community-photo-grid figure:first-child img{height:590px}
.community-photo-grid figcaption{padding-top:14px;font-size:14px;line-height:1.5;color:#67635c}
.community-story{max-width:850px;margin:90px auto 0}
.community-story h3{font:300 clamp(36px,5vw,68px)/1.02 'DM Sans',sans-serif;letter-spacing:-.04em}
.community-story p,.long-copy p,.journal-intro p{font-size:19px;line-height:1.8;color:#515850}
.camping-hero{min-height:92vh;background:linear-gradient(90deg,rgba(4,11,8,.85),rgba(4,11,8,.18)),url('/images/sunset-camp.webp') center/cover;display:flex;align-items:end;color:#fff;padding:10vw 6vw}
.camping-hero-copy{max-width:830px}.camping-hero-copy>p:not(.eyebrow){font-size:20px;line-height:1.65;max-width:690px}
.camping-gallery{display:grid;grid-template-columns:1fr 1fr;background:#07110d;color:#fff}
.camping-gallery figure{margin:0}.camping-gallery img{width:100%;height:720px;object-fit:cover}
.camping-gallery figcaption{padding:20px 5vw 45px;font-size:16px}.camping-gallery figcaption span{color:#ebc07e;margin-right:20px;text-transform:uppercase;letter-spacing:.14em}
.camp-details .long-copy{max-width:920px;margin:100px auto 0}.long-copy h2,.journal-intro h2{font:300 clamp(42px,5vw,72px)/1.05 'DM Sans',sans-serif;letter-spacing:-.04em}
.article-hero{min-height:82vh;position:relative;background:#07110d;color:#fff;display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch}
.article-hero>img{width:100%;height:82vh;object-fit:cover}.article-hero>div{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:end}
.article-hero>div>p:last-child{font-size:20px;line-height:1.65;color:rgba(255,255,255,.72)}
.longread{padding:110px 0}.article-grid{display:grid;grid-template-columns:240px 1fr;gap:8vw}
.article-grid aside{display:flex;flex-direction:column;gap:16px;position:sticky;top:130px;align-self:start}
.article-grid aside span{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:#887b6c}
.article-grid aside a{font-size:15px;border-bottom:1px solid #c7bcae;padding-bottom:10px}
.article-copy{max-width:790px}.article-copy>p:first-child{font-size:26px;line-height:1.58;color:#1d251f}
.article-copy>p{font-size:19px;line-height:1.88;color:#4d554f;margin-bottom:28px}
.article-cta{margin-top:75px;padding:55px;background:#10251d;color:#fff}.article-cta h2{font:300 42px/1.1 'DM Sans',sans-serif}.article-cta p{font-size:17px;line-height:1.7;color:rgba(255,255,255,.7)}
.journal-grid.expanded{grid-template-columns:repeat(2,1fr)}.journal-grid.expanded .post{padding-bottom:55px}.journal-grid.expanded .post-image{height:500px}
.journal-intro{padding:20px 0 120px}.journal-intro .shell{max-width:920px}
.map-section{padding:120px 0;background:#f3eee5}.map-frame{width:100%;height:560px;border:0;margin-top:45px;filter:saturate(.82) contrast(.96)}
.thank-hero .hero-actions{justify-content:flex-start}

@media(min-width:1200px){
  body{font-size:19px}.copy,.lead{font-size:20px}.card p,.post p{font-size:18px}
  .nav-links{font-size:16px}.subhero>div>p:last-child{font-size:20px}
}
@media(max-width:980px){
  .nav-links{display:none}.menu{display:block}
  .article-hero{grid-template-columns:1fr}.article-hero>img{height:58vh}.article-hero>div{padding:70px 7vw}
  .article-grid{grid-template-columns:1fr}.article-grid aside{position:static}
}
@media(max-width:640px){
  html{font-size:17px}body{font-size:17px}.nav{min-height:84px;padding:11px 16px}
  .brand b{font-size:20px}.brand small{font-size:9px}.menu summary{font-size:16px}.menu div a{font-size:17px}
  .book-pill{display:none}.display{font-size:clamp(54px,16vw,72px)}
  .hero-copy{bottom:19vh;width:90vw}.hero-copy>p:not(.eyebrow),.subhero>div>p:last-child{font-size:17px}
  .copy,.lead,.community-story p,.long-copy p,.journal-intro p,.article-copy>p{font-size:17px}
  .card p,.post p,.day p{font-size:16px}.button{font-size:14px}
  .film-grid figcaption{grid-template-columns:auto 1fr}.film-grid figcaption a{grid-column:2}.film-cover{left:22px;top:22px}
  .community-gallery{padding:85px 0}.community-photo-grid{grid-template-columns:1fr}.community-photo-grid figure:nth-child(2){margin-top:25px}
  .community-photo-grid img,.community-photo-grid figure:first-child img{height:58vh;min-height:470px}.community-story{margin-top:65px}
  .camping-hero{min-height:86vh;padding:90px 6vw 70px}.camping-hero-copy>p:not(.eyebrow){font-size:17px}
  .camping-gallery{grid-template-columns:1fr}.camping-gallery img{height:62vh}
  .article-hero>img{height:52vh}.article-hero>div>p:last-child{font-size:17px}.longread{padding:75px 0}
  .article-copy>p:first-child{font-size:21px}.article-cta{padding:34px 25px}.article-cta h2{font-size:34px}
  .journal-grid.expanded{grid-template-columns:1fr}.journal-grid.expanded .post-image{height:420px}
  .map-section{padding:85px 0}.map-frame{height:440px}
}

/* V7 — River View Villa architectural story */
body{font-size:18px}
.copy,.lead{font-size:18px}
@media(min-width:1200px){body{font-size:18px}.copy,.lead{font-size:18px}}

.suite-hero{position:relative;min-height:94vh;display:flex;align-items:flex-end;overflow:hidden;background:#07120e;color:#fff;padding:0 6vw 10vh;isolation:isolate}
.suite-hero-image{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;z-index:-3;transform:scale(1.02);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.suite-hero:hover .suite-hero-image{transform:scale(1)}
.suite-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,9,7,.83) 0%,rgba(4,9,7,.28) 58%,rgba(4,9,7,.16)),linear-gradient(0deg,rgba(4,9,7,.68),transparent 54%)}
.suite-orbit{position:absolute;border:1px solid rgba(235,192,126,.38);border-radius:50%;pointer-events:none;z-index:-1}
.orbit-one{width:520px;height:520px;right:-160px;top:12%;transform:rotate(25deg)}
.orbit-two{width:760px;height:240px;right:-120px;top:30%;transform:rotate(-15deg)}
.suite-hero-copy{max-width:950px}.suite-hero-copy .display{font-size:clamp(66px,8.8vw,142px);line-height:.82;letter-spacing:-.065em}
.suite-hero-copy>p:not(.eyebrow){max-width:700px;font-size:20px;line-height:1.65;color:rgba(255,255,255,.82)}
.suite-hero-copy .hero-actions{justify-content:flex-start}
.suite-hero-index{position:absolute;right:5vw;bottom:8vh;display:grid;grid-template-columns:auto auto;gap:2px 18px;align-items:end}
.suite-hero-index span{grid-row:1/3;font:300 58px/1 'DM Sans',sans-serif;color:var(--gold)}
.suite-hero-index b{font-size:18px;font-weight:500}.suite-hero-index small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}

.suite-manifesto{padding:140px 0;background:#f3eee5}.suite-manifesto-grid{display:grid;grid-template-columns:.42fr 1.58fr;gap:8vw}
.suite-line{display:block;width:1px;height:180px;margin:35px 0 0 6px;background:linear-gradient(var(--gold),transparent)}
.suite-manifesto .section-title{font-size:clamp(54px,6.6vw,100px)}
.suite-manifesto .copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:55px}.suite-manifesto .copy p{margin:0}

.suite-reveal{display:grid;grid-template-columns:1.18fr .82fr;min-height:850px;background:#07120e;color:#fff}
.suite-reveal-visual{position:relative;margin:55px 0 55px 5vw;overflow:hidden;transform-style:preserve-3d}
.suite-reveal-visual img{width:100%;height:100%;min-height:720px;object-fit:cover}
.image-note{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(7,18,14,.78);backdrop-filter:blur(18px);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.image-note span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.image-note b{font-size:15px;font-weight:500}
.suite-reveal-copy{padding:110px 6vw;display:flex;flex-direction:column;justify-content:center}.suite-reveal-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;color:rgba(255,255,255,.68)}
.suite-spec-list{margin-top:48px;border-top:1px solid rgba(255,255,255,.16)}
.suite-spec-list div{display:grid;grid-template-columns:170px 1fr;gap:25px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.suite-spec-list b{font-weight:500}.suite-spec-list span{font-size:14px;color:rgba(255,255,255,.58)}

.suite-interior{padding:140px 0;background:#ded3c2}.suite-section-head{display:grid;grid-template-columns:1.4fr .6fr;gap:9vw;align-items:end;margin-bottom:65px}
.suite-section-head>p{font-size:18px;line-height:1.8;color:#5a5e58}
.interior-stage{margin:0;position:relative;transform-style:preserve-3d}.interior-stage img{width:100%;height:min(72vw,820px);object-fit:cover}
.interior-stage figcaption{position:absolute;right:25px;bottom:25px;width:min(460px,calc(100% - 50px));background:rgba(243,238,229,.9);backdrop-filter:blur(18px);padding:24px 28px;display:grid}
.interior-stage figcaption span,.interior-stage figcaption small{text-transform:uppercase;font-size:10px;letter-spacing:.14em}.interior-stage figcaption span{color:#866843}.interior-stage figcaption b{font-size:20px;font-weight:500;margin:8px 0}.interior-stage figcaption small{color:#6e726c}

.suite-details{padding:130px 0;background:#f8f5ef}.suite-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.suite-detail-grid article{padding:36px 28px 44px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.suite-detail-grid span{font-size:11px;color:#a57843}.suite-detail-grid h3{font:400 28px/1.1 'DM Sans',sans-serif;margin:45px 0 18px;letter-spacing:-.035em}.suite-detail-grid p{font-size:15px;line-height:1.75;color:#646861}

.suite-gallery{padding:7vw 5vw;background:#07120e;display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:18px;align-items:start;perspective:1400px}
.suite-gallery figure{margin:0;transform-style:preserve-3d}.suite-gallery figure:nth-child(2){margin-top:110px}.suite-gallery figure:nth-child(3){margin-top:35px}
.suite-gallery img{width:100%;height:560px;object-fit:cover}.suite-gallery figure:nth-child(2) img{height:470px}
.suite-gallery figcaption{padding-top:14px;color:rgba(255,255,255,.65);font-size:11px;text-transform:uppercase;letter-spacing:.12em}

.floorplan-section{padding:145px 0;background:#f3eee5}.floorplan-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center}
.floorplan-copy>p{font-size:17px;line-height:1.8;color:#555c56}.floorplan-copy .button{margin-top:22px}
.floorplan-card{border:0;background:#fff;padding:16px;box-shadow:0 30px 90px rgba(44,34,24,.15);cursor:zoom-in;transform:perspective(1200px) rotateY(-2.5deg);transition:.45s ease;text-align:left}
.floorplan-card:hover{transform:perspective(1200px) rotateY(0) translateY(-5px)}.floorplan-card img{width:100%;display:block}.floorplan-card span{display:block;padding:14px 6px 2px;font-size:13px;color:#4c504c}

.seo-story{padding:110px 0;background:#07120e;color:#fff}.seo-story.light{background:#f3eee5;color:#151a16}.seo-story h2{font:300 clamp(46px,5.5vw,82px)/1.04 'DM Sans',sans-serif;letter-spacing:-.045em;max-width:950px}
.seo-columns{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin-top:45px}.seo-columns p{font-size:17px;line-height:1.86;color:rgba(255,255,255,.66)}.seo-story.light .seo-columns p{color:#555c56}

.suite-cta{position:relative;min-height:84vh;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}.suite-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.suite-cta:after{content:"";position:absolute;inset:0;background:rgba(3,9,6,.57);z-index:-1}.suite-cta>div{max-width:850px;padding:80px 6vw}
.suite-cta h2{font:300 clamp(58px,8vw,120px)/.9 'DM Sans',sans-serif;letter-spacing:-.06em}.suite-cta h2 em{color:var(--gold)}.suite-cta p:not(.eyebrow){font-size:18px;line-height:1.7;color:rgba(255,255,255,.76)}

.stay-vision-hero{position:relative;min-height:84vh;display:flex;align-items:end;padding:9vh 6vw;color:#fff;overflow:hidden}.stay-vision-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.stay-vision-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,9,7,.82),rgba(3,9,7,.08)),linear-gradient(0deg,rgba(3,9,7,.55),transparent);z-index:-1}
.stay-vision-copy{max-width:850px}.stay-vision-copy>p:not(.eyebrow){font-size:19px;line-height:1.7;max-width:630px}
.stay-feature{display:grid;grid-template-columns:1.12fr .88fr;min-height:760px;background:#ded3c2}.stay-feature-image{margin:55px 0 55px 5vw}.stay-feature-image img{width:100%;height:100%;min-height:650px;object-fit:cover}.stay-feature-copy{padding:90px 6vw;display:flex;flex-direction:column;justify-content:center}
.stay-feature-copy>p{font-size:17px;line-height:1.8;color:#565b56}.stay-feature-copy ul{list-style:none;padding:0;margin:28px 0}.stay-feature-copy li{padding:11px 0;border-bottom:1px solid rgba(21,26,22,.15);font-size:15px}

.home-suite-feature{display:grid;grid-template-columns:1.22fr .78fr;background:#ded3c2;align-items:stretch}.home-suite-image{position:relative;margin:70px 0 70px 5vw}.home-suite-image img{width:100%;height:680px;object-fit:cover}.home-suite-image span{position:absolute;left:20px;bottom:20px;background:rgba(7,18,14,.82);color:#fff;padding:12px 16px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.home-suite-copy{padding:90px 6vw;display:flex;flex-direction:column;justify-content:center}.home-suite-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;color:#555d56}

.compact-map{padding:105px 0;background:#ded3c2}.compact-map-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:7vw;align-items:center}.compact-map-grid>div:first-child>p:not(.eyebrow){font-size:17px;line-height:1.75;color:#565d56}
.map-card{background:#f7f3ec;padding:12px;box-shadow:0 25px 70px rgba(43,35,25,.13)}.map-card iframe{width:100%;height:370px;border:0;filter:saturate(.75) contrast(.95)}.map-card span{display:block;padding:13px 8px 3px;font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:#696e68}
.contact-card.premium{box-shadow:0 35px 90px rgba(25,31,27,.1)}

.thanks-experience{min-height:88vh;display:grid;grid-template-columns:1.08fr .92fr;background:#f3eee5}.thanks-visual{position:relative;overflow:hidden}.thanks-visual img{width:100%;height:100%;object-fit:cover}.thanks-visual span{position:absolute;left:24px;bottom:24px;background:rgba(7,18,14,.8);color:#fff;padding:12px 16px;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.thanks-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}.thanks-mark{width:72px;margin-bottom:38px}.thanks-copy h1{font:300 clamp(52px,6vw,94px)/.92 'DM Sans',sans-serif;letter-spacing:-.055em;margin:15px 0 30px}.thanks-copy h1 em{color:#a97941}.thanks-copy>p:not(.eyebrow){font-size:18px;line-height:1.75;color:#565e57;max-width:640px}
.thanks-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.thanks-next{border-top:1px solid var(--line);margin-top:55px;padding-top:25px;display:grid;gap:11px}.thanks-next span{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:#8b755c}.thanks-next a{font-size:15px}
.thanks-location{display:grid;grid-template-columns:.72fr 1.28fr;background:#07120e;color:#fff;padding:70px 5vw;gap:6vw;align-items:center}.thanks-location h2{font:300 clamp(42px,5vw,76px)/1 'DM Sans',sans-serif;letter-spacing:-.045em}.thanks-location a{color:var(--gold)}.mini-map{padding:10px;background:#f3eee5}.mini-map iframe{width:100%;height:310px;border:0;filter:saturate(.7)}
.booking-seo{padding:100px 0;background:#ded3c2}.booking-seo h2{font:300 clamp(44px,5.5vw,78px)/1.04 'DM Sans',sans-serif;letter-spacing:-.045em;max-width:950px}.booking-seo .seo-columns p{color:#565d56}

.lightbox{position:fixed;inset:0;z-index:999;background:rgba(3,8,6,.92);display:grid;place-items:center;padding:4vw;opacity:0;pointer-events:none;transition:.25s ease}.lightbox.open{opacity:1;pointer-events:auto}.lightbox img{max-width:94vw;max-height:88vh;object-fit:contain;background:#fff}.lightbox button{position:absolute;right:24px;top:20px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;border-radius:99px;width:48px;height:48px;cursor:pointer}
.tilt-card{transition:transform .18s ease-out;will-change:transform}

@media(max-width:980px){
  .suite-hero-index{display:none}.suite-manifesto-grid,.suite-reveal,.suite-section-head,.floorplan-grid,.stay-feature,.home-suite-feature,.compact-map-grid,.thanks-experience,.thanks-location{grid-template-columns:1fr}
  .suite-manifesto .copy,.seo-columns{grid-template-columns:1fr}.suite-line{height:70px}
  .suite-reveal-visual,.stay-feature-image,.home-suite-image{margin:35px 5vw 0}.suite-reveal-copy,.stay-feature-copy,.home-suite-copy{padding:70px 7vw}
  .suite-detail-grid{grid-template-columns:1fr 1fr}.suite-gallery{grid-template-columns:1fr 1fr}.suite-gallery figure:nth-child(3){grid-column:1/3}.thanks-visual{height:58vh}
}
@media(max-width:640px){
  body{font-size:17px}.copy,.lead{font-size:17px}
  .suite-hero{min-height:88vh;padding:0 5vw 9vh}.suite-hero-copy .display{font-size:clamp(54px,16vw,76px);line-height:.87}.suite-hero-copy>p:not(.eyebrow){font-size:17px}
  .suite-manifesto,.suite-interior,.suite-details,.floorplan-section{padding:85px 0}.suite-manifesto .copy{margin-top:35px}
  .suite-reveal{min-height:auto}.suite-reveal-visual{margin:20px 18px 0}.suite-reveal-visual img{min-height:500px}.suite-reveal-copy{padding:65px 22px}
  .suite-spec-list div{grid-template-columns:1fr;gap:6px}.suite-section-head{gap:25px}.interior-stage img{height:64vh;min-height:480px}.interior-stage figcaption{left:12px;right:12px;bottom:12px;width:auto}
  .suite-detail-grid{grid-template-columns:1fr}.suite-gallery{grid-template-columns:1fr;padding:70px 18px}.suite-gallery figure,.suite-gallery figure:nth-child(2),.suite-gallery figure:nth-child(3){margin:0 0 35px;grid-column:auto}.suite-gallery img,.suite-gallery figure:nth-child(2) img{height:52vh;min-height:420px}
  .floorplan-card{transform:none;padding:8px}.seo-story{padding:85px 0}.seo-columns{gap:16px;margin-top:30px}.seo-columns p{font-size:16px}
  .suite-cta{min-height:72vh}.suite-cta h2{font-size:58px}
  .stay-vision-hero{min-height:78vh;padding:80px 5vw 65px}.stay-feature-image,.home-suite-image{margin:18px 18px 0}.stay-feature-image img{min-height:500px}.home-suite-image img{height:52vh;min-height:430px}
  .map-card iframe{height:290px}.thanks-visual{height:48vh}.thanks-copy{padding:70px 22px}.thanks-mark{width:60px}.thanks-location{padding:70px 22px}.mini-map iframe{height:250px}
}

/* V8 — the hotel itself leads the home page */
.hotel-hero{position:relative;min-height:96vh;display:flex;align-items:flex-end;padding:0 6vw 12vh;color:#fff;overflow:hidden;background:#07120e;isolation:isolate}
.hotel-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;animation:hotel-breathe 14s ease-in-out infinite alternate}
.hotel-hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(3,9,6,.86) 0%,rgba(3,9,6,.42) 50%,rgba(3,9,6,.16)),linear-gradient(0deg,rgba(3,9,6,.86) 0%,rgba(3,9,6,.5) 34%,transparent 68%)}
.hotel-hero-copy{position:relative;z-index:3;max-width:930px;display:flex;flex-direction:column;gap:22px}.hotel-hero-copy .eyebrow{text-shadow:0 1px 10px rgba(0,0,0,.4)}.hotel-hero-copy .display{margin:0;font-size:clamp(72px,9.4vw,150px);line-height:.82;letter-spacing:-.07em;text-shadow:0 4px 30px rgba(0,0,0,.45)}
.hotel-hero-copy>p:not(.eyebrow){margin:0;max-width:720px;font-size:20px;line-height:1.65;color:rgba(255,255,255,.88);text-shadow:0 2px 14px rgba(0,0,0,.35)}
.hotel-hero-copy .hero-actions{justify-content:flex-start;margin-top:0}
.hotel-hero-foot{position:absolute;z-index:3;left:6vw;right:6vw;bottom:28px;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.28);padding-top:14px;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.7);text-shadow:0 1px 8px rgba(0,0,0,.4)}
@keyframes hotel-breathe{from{transform:scale(1.01)}to{transform:scale(1.055)}}

.home-camp-intro{padding:130px 5vw;background:#ded3c2;display:grid;grid-template-columns:.72fr 1.28fr;gap:7vw;align-items:center}
.home-camp-copy>p:not(.eyebrow){font-size:18px;line-height:1.8;color:#565d56;max-width:650px}
.home-camp-visual{position:relative;padding:0 0 100px 55px;perspective:1400px}
.home-camp-main{margin:0}.home-camp-main img{width:100%;height:690px;object-fit:cover;box-shadow:0 34px 90px rgba(54,40,26,.16)}
.home-camp-inset{position:absolute;left:0;bottom:0;width:48%;margin:0;background:#f5f1ea;padding:10px;box-shadow:0 26px 70px rgba(43,32,22,.2)}
.home-camp-inset img{width:100%;height:255px;object-fit:cover}.home-camp-inset figcaption{padding:11px 5px 3px;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#6c716a}

@media(max-width:900px){
  .home-camp-intro{grid-template-columns:1fr;gap:60px}.home-camp-visual{padding-left:35px}
}
@media(max-width:640px){
  .hotel-hero{min-height:88vh;padding:0 5vw 10vh}.hotel-hero-copy .display{font-size:clamp(58px,17vw,80px);line-height:.86}.hotel-hero-copy>p:not(.eyebrow){font-size:17px}.hotel-hero-foot{display:none}
  .home-camp-intro{padding:85px 18px}.home-camp-copy>p:not(.eyebrow){font-size:17px}.home-camp-visual{padding:0 0 72px 18px}.home-camp-main img{height:55vh;min-height:440px}.home-camp-inset{width:66%}.home-camp-inset img{height:180px}
}

/* V9 — Maasai heritage cinema, resized field-film, luxury camp collection, beadwork motif */
.film-compact .film-frame video{height:520px}
.film-compact .film-cover strong{font-size:clamp(30px,3.2vw,52px)}
.film-grid figure.film-compact{margin-top:150px}

.maasai-cinema{position:relative;min-height:92vh;display:flex;align-items:center;color:#fff;overflow:hidden;isolation:isolate;background:#050a08}
.maasai-cinema video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.maasai-cinema-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,8,6,.86) 0%,rgba(3,8,6,.42) 55%,rgba(3,8,6,.18)),linear-gradient(0deg,rgba(3,8,6,.7),transparent 46%)}
.maasai-cinema-copy{width:min(1180px,88vw);margin:0 auto;max-width:760px;padding:14vh 0}
.maasai-cinema-copy .section-title{font-size:clamp(44px,6vw,88px)}.maasai-cinema-copy .section-title em{color:var(--gold)}
.maasai-cinema-copy>p:not(.eyebrow){margin:26px 0 34px;font-size:19px;line-height:1.75;color:rgba(255,255,255,.82);max-width:620px}
.maasai-cinema-tag{position:absolute;left:6vw;bottom:28px;z-index:1;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.62)}
@media(max-width:640px){
  .maasai-cinema{min-height:78vh}.maasai-cinema-copy{padding:11vh 0 9vh}.maasai-cinema-copy>p:not(.eyebrow){font-size:16px}.maasai-cinema-tag{left:5vw;bottom:18px;font-size:9px}
  .film-compact .film-frame video{height:56vh;min-height:420px}.film-grid figure.film-compact{margin-top:35px}
}

/* Luxury camps collection language on the camping page */
.camp-collection-tag{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--gold)}
.camp-collection-tag:before{content:"";width:26px;height:1px;background:var(--gold)}

/* Beaded bracelet motif — Maasai / Kenyan colour story */
.bead-motif{display:flex;align-items:center;gap:7px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.35))}
.bead-motif span{width:15px;height:15px;border-radius:50%;flex:none;box-shadow:inset -2px -3px 4px rgba(0,0,0,.35),inset 2px 3px 3px rgba(255,255,255,.5)}
.bead-motif span.b-black{background:radial-gradient(circle at 35% 30%,#4a4a4a,#0c0c0c 70%)}
.bead-motif span.b-red{background:radial-gradient(circle at 35% 30%,#e0574a,#7c1710 70%)}
.bead-motif span.b-white{background:radial-gradient(circle at 35% 30%,#ffffff,#cfc9bd 70%)}
.bead-motif span.b-green{background:radial-gradient(circle at 35% 30%,#3f9a5f,#0e3d20 70%)}
.bead-motif span.b-gold{background:radial-gradient(circle at 35% 30%,#ffe1a3,#b9782f 70%)}
.bead-motif.large span{width:34px;height:34px;box-shadow:inset -4px -6px 8px rgba(0,0,0,.4),inset 4px 5px 6px rgba(255,255,255,.55)}

.maasai-story{background:#f8f4ec;padding:135px 0;overflow:hidden}
.maasai-story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}
.maasai-story-copy>p:not(.eyebrow){font-size:18px;line-height:1.85;color:#565c56;margin-bottom:22px}
.maasai-story-visual{position:relative}
.bracelet-plate{background:#0b1310;padding:70px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;box-shadow:0 40px 100px rgba(15,20,15,.22)}
.bracelet-arc{display:flex;gap:10px}
.bracelet-caption{text-align:center;color:rgba(255,255,255,.72)}
.bracelet-caption b{display:block;color:#fff;font-size:19px;font-weight:500;margin-bottom:6px}
.bracelet-caption span{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold)}
.bead-legend{margin-top:36px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px 28px}
.bead-legend div{display:flex;align-items:center;gap:12px;font-size:14px;color:#565c56}
.bead-legend div b{font-weight:500;color:#151a16}
@media(max-width:900px){
  .maasai-story-grid{grid-template-columns:1fr;gap:55px}
}
@media(max-width:640px){
  .maasai-story{padding:85px 0}.maasai-story-copy>p:not(.eyebrow){font-size:16px}
  .bracelet-plate{padding:45px 24px}.bead-motif.large span{width:26px;height:26px}
  .bead-legend{grid-template-columns:1fr}
}

.camp-amenities{padding:135px 0;background:#f8f5ef}
.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.amenity-grid article{padding:34px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.amenity-grid b{display:block;font-size:18px;font-weight:500;margin-bottom:8px}
.amenity-grid span{font-size:14px;color:#6c716a}
@media(max-width:900px){.amenity-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .camp-amenities{padding:85px 0}.amenity-grid{grid-template-columns:1fr;margin-top:40px}
}

/* Final content spacing polish */
.intro-grid>div:first-child .eyebrow{margin-top:22px}
@media (max-width:760px){.intro-grid>div:first-child .eyebrow{margin-top:18px}}
/* Final readability & seasonal campaign layer */
@media(max-width:960px){
  .display{font-size:clamp(46px,12vw,72px);line-height:.94;letter-spacing:-.04em}
  .section-title{font-size:clamp(38px,10vw,58px);line-height:1.02;letter-spacing:-.035em}
  .lead{font-size:clamp(22px,6vw,30px);line-height:1.42}
  .copy{font-size:16px;line-height:1.82}
  .hero-copy p:not(.eyebrow),.subhero p,.card p,.day p,.post p{font-size:15px;line-height:1.78}
  .eyebrow{font-size:10px}.nav-links{font-size:13px}.button,.book-pill{font-size:12px;padding:15px 20px}
}
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:1000;max-width:620px;background:#fff;color:var(--ink);padding:24px;box-shadow:0 20px 70px rgba(0,0,0,.22);border:1px solid var(--line);display:none}.cookie-banner.show{display:block}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.cookie-actions button{border:0;padding:11px 16px;border-radius:999px;cursor:pointer;font:500 12px 'DM Sans',sans-serif}.cookie-actions .accept{background:var(--forest);color:#fff}.cookie-actions .decline{background:#eee8dd;color:var(--ink)}
.migration-pop{position:fixed;inset:0;z-index:999;background:rgba(5,10,8,.72);display:none;align-items:center;justify-content:center;padding:20px}.migration-pop.show{display:flex}.migration-card{width:min(680px,100%);background:linear-gradient(145deg,#12271f,#07120e);color:#fff;padding:clamp(32px,6vw,62px);position:relative;box-shadow:0 30px 100px rgba(0,0,0,.5);background-image:linear-gradient(rgba(7,18,14,.83),rgba(7,18,14,.9)),url('/images/elephants.webp');background-size:cover;background-position:center}.migration-card h2{font-family:'Italiana',serif;font-size:clamp(48px,8vw,86px);font-weight:400;line-height:.92;margin:12px 0 20px}.migration-card p{font-size:16px;line-height:1.75;max-width:52ch}.migration-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}
