@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Libre+Caslon+Display&display=swap');

:root{
  --ink:#1c211c;
  --forest:#283126;
  --sage:#6f7764;
  --sand:#eee7da;
  --paper:#f8f5ef;
  --clay:#9a5f38;
  --line:rgba(28,33,28,.16);
  --white:#fff;
  --serif:'Libre Caslon Display', Georgia, serif;
  --sans:'DM Sans', Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.6}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
button,input,textarea{font:inherit}
::selection{background:var(--clay);color:white}

.container{width:min(1280px,calc(100% - 56px));margin:0 auto}
.eyebrow{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}
.display{font-family:var(--serif);font-weight:400;line-height:.96;letter-spacing:-.025em;margin:0}
.display-xl{font-size:clamp(4.6rem,10vw,10rem)}
.display-lg{font-size:clamp(3.1rem,6.2vw,6.8rem)}
.display-md{font-size:clamp(2.5rem,4.3vw,4.8rem)}
.lead{font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.65;max-width:700px}
.muted{color:#62675f}
.section{padding:120px 0}
.rule{border-top:1px solid var(--line)}

.nav{position:absolute;top:0;left:0;width:100%;z-index:30;color:white;padding:28px 0;transition:.3s ease}
.nav.solid{position:relative;background:var(--forest)}
.nav-inner{width:min(1400px,calc(100% - 48px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;flex-direction:column;line-height:1;min-width:max-content;align-items:flex-start}.brand-logo{width:118px;height:auto;object-fit:contain;filter:none!important;opacity:1!important;transition:.3s ease}.nav.solid .brand-logo{filter:none!important}
.brand-main{font-family:var(--serif);font-size:1.7rem;letter-spacing:.04em}
.brand-sub{font-size:.56rem;margin-top:10px;letter-spacing:.27em;text-transform:uppercase;opacity:.82}
.nav-links{display:flex;align-items:center;gap:30px;font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;font-weight:500}
.nav-links a{position:relative}
.nav-links a:not(.book-link)::after{content:'';position:absolute;left:0;bottom:-8px;width:0;height:1px;background:currentColor;transition:.25s}
.nav-links a:hover::after{width:100%}
.book-link{border:1px solid rgba(255,255,255,.55);padding:12px 18px;transition:.25s}
.book-link:hover{background:white;color:var(--forest)}
.menu-button{display:none;background:none;border:0;color:inherit;padding:7px;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}

.hero{position:relative;height:min(940px,100svh);min-height:690px;color:white;overflow:hidden;background:#263027}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.03)}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,20,14,.62) 0%,rgba(14,20,14,.20) 58%,rgba(14,20,14,.16) 100%),linear-gradient(0deg,rgba(12,16,12,.46),transparent 45%)}
.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:88px}
.hero-kicker{margin-bottom:22px}
.hero-copy{max-width:940px}
.hero-sub{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:38px;border-top:1px solid rgba(255,255,255,.4);padding-top:24px}
.hero-sub p{max-width:580px;margin:0;font-size:1.04rem}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 22px;border:1px solid var(--ink);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600;transition:.25s;cursor:pointer}
.btn-light{border-color:rgba(255,255,255,.7);color:white}
.btn-light:hover{background:white;color:var(--forest)}
.btn-dark{background:var(--forest);border-color:var(--forest);color:white}
.btn-dark:hover{background:transparent;color:var(--forest)}
.btn-ghost:hover{background:var(--ink);color:white}

.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw;align-items:start}
.intro-side{padding-top:14px}
.intro-side p{max-width:290px}
.intro-main p{margin:34px 0 0}

.stay-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:52px}
.stay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.stay-card{position:relative;min-height:600px;overflow:hidden;background:#ddd;color:white}
.stay-card img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .7s ease;filter:saturate(.85)}
.stay-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,20,16,.82),transparent 58%)}
.stay-card:hover img{transform:scale(1.035)}
.stay-card-content{position:absolute;z-index:2;left:28px;right:28px;bottom:28px}
.stay-card h3{font-family:var(--serif);font-weight:400;font-size:2.35rem;margin:0 0 8px}
.stay-meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.45);padding-top:16px;margin-top:18px;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.stay-price{font-size:1rem;letter-spacing:0;text-transform:none}

.dark{background:var(--forest);color:white}
.experience-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}
.experience-image{height:760px;object-fit:cover}
.experience-list{margin-top:58px;border-top:1px solid rgba(255,255,255,.2)}
.experience-item{display:grid;grid-template-columns:54px 1fr;gap:16px;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.experience-item span{font-family:var(--serif);font-size:1.4rem;color:#d6c2aa}
.experience-item h3{margin:0 0 6px;font-size:1.02rem;font-weight:500}
.experience-item p{margin:0;color:rgba(255,255,255,.7);font-size:.93rem}

.location-band{display:grid;grid-template-columns:1fr 1fr;min-height:620px}
.location-copy{background:var(--sand);padding:9vw;display:flex;flex-direction:column;justify-content:center}
.location-copy p{max-width:560px}
.location-image{height:100%;min-height:620px;object-fit:cover}
.facts{display:flex;gap:50px;margin-top:50px;padding-top:30px;border-top:1px solid var(--line);flex-wrap:wrap}
.fact strong{display:block;font-family:var(--serif);font-size:2rem;font-weight:400}
.fact span{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}

.gallery-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px;margin-top:50px}
.gallery-main{height:690px;object-fit:cover}
.gallery-side{display:grid;grid-template-rows:1fr 1fr;gap:16px}
.gallery-side img{height:337px;object-fit:cover}

.cta{position:relative;min-height:560px;display:flex;align-items:center;color:white;text-align:center;overflow:hidden}
.cta img{position:absolute;inset:0;height:100%;object-fit:cover}
.cta::after{content:'';position:absolute;inset:0;background:rgba(20,27,20,.6)}
.cta-inner{position:relative;z-index:2;max-width:850px;margin:auto;padding:80px 24px}
.cta p{max-width:580px;margin:24px auto 34px}

.footer{background:#171c17;color:white;padding:76px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.5fr .6fr .8fr;gap:70px;padding-bottom:70px}
.footer-brand p{max-width:430px;color:rgba(255,255,255,.65);margin-top:24px}
.footer h4{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;margin:0 0 22px;color:rgba(255,255,255,.58)}
.footer-links{display:grid;gap:11px;font-size:.92rem}
.footer-bottom{padding-top:24px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:20px;font-size:.72rem;color:rgba(255,255,255,.5)}

.page-hero{position:relative;height:600px;min-height:560px;color:white;display:flex;align-items:flex-end;background:var(--forest);overflow:hidden}
.page-hero img{position:absolute;inset:0;height:100%;object-fit:cover;filter:saturate(.82)}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,20,15,.68),rgba(15,20,15,.12) 68%)}
.page-hero-content{position:relative;z-index:2;padding-bottom:64px}
.page-hero .display{max-width:980px}

.content-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw;align-items:start}
.content-grid + .content-grid{margin-top:100px}
.pullquote{font-family:var(--serif);font-size:clamp(2rem,3.3vw,3.7rem);line-height:1.08;margin:0}

.unit{display:grid;grid-template-columns:1.15fr .85fr;min-height:620px;border-top:1px solid var(--line);padding:54px 0;gap:7vw;align-items:center}
.unit:nth-child(even){grid-template-columns:.85fr 1.15fr}
.unit:nth-child(even) .unit-image{order:2}
.unit-image{height:560px;object-fit:cover}
.unit-copy h2{font-family:var(--serif);font-size:clamp(2.6rem,4vw,4.5rem);font-weight:400;line-height:1;margin:0 0 20px}
.unit-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:30px 0;border-top:1px solid var(--line);padding-top:22px}
.unit-details div{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.unit-details strong{display:block;font-family:var(--serif);font-size:1.55rem;letter-spacing:0;text-transform:none;font-weight:400;margin-top:5px}
.note{font-size:.85rem;color:#686d65;margin-top:20px}

.experience-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.exp-card{position:relative;min-height:580px;overflow:hidden;color:white}
.exp-card img{position:absolute;inset:0;height:100%;object-fit:cover;filter:saturate(.82)}
.exp-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,17,12,.78),transparent 65%)}
.exp-card-copy{position:absolute;z-index:2;left:34px;right:34px;bottom:34px}
.exp-card h2{font-family:var(--serif);font-size:2.9rem;font-weight:400;margin:0 0 10px}
.exp-card p{max-width:520px;margin:0;color:rgba(255,255,255,.82)}

.story-block{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.story-block img{height:720px;object-fit:cover}
.story-copy p{margin-top:28px}

.gallery-mosaic{columns:3 330px;column-gap:14px}
.gallery-mosaic figure{break-inside:avoid;margin:0 0 14px;position:relative;overflow:hidden}
.gallery-mosaic img{height:auto;transition:transform .55s}
.gallery-mosaic figure:hover img{transform:scale(1.02)}
.gallery-mosaic figcaption{position:absolute;left:15px;bottom:13px;color:white;background:rgba(17,23,17,.72);padding:7px 10px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}

.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10vw}
.contact-list{border-top:1px solid var(--line);margin-top:40px}
.contact-row{padding:22px 0;border-bottom:1px solid var(--line)}
.contact-row span{display:block;font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:#777c73;margin-bottom:5px}
.contact-row a,.contact-row p{font-family:var(--serif);font-size:1.6rem;margin:0;line-height:1.3}
.contact-panel{background:var(--sand);padding:60px}
.contact-panel h2{font-family:var(--serif);font-size:3.3rem;font-weight:400;line-height:1;margin:0 0 24px}
.contact-panel p{max-width:540px}

@media (max-width: 980px){
  .container{width:min(100% - 34px,1280px)}
  .section{padding:88px 0}
  .nav-links{position:fixed;top:0;right:-100%;width:min(430px,92vw);height:100svh;background:var(--forest);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:40px;gap:28px;transition:right .3s ease;font-size:.86rem}
  .nav-links.open{right:0}
  .menu-button{display:block;z-index:31}
  .intro-grid,.experience-grid,.content-grid,.story-block,.contact-grid{grid-template-columns:1fr;gap:55px}
  .stay-grid{grid-template-columns:1fr}
  .stay-card{min-height:620px}
  .experience-image{height:600px}
  .location-band{grid-template-columns:1fr}
  .location-copy{padding:80px 28px}
  .location-image{min-height:520px}
  .unit,.unit:nth-child(even){grid-template-columns:1fr;gap:38px}
  .unit:nth-child(even) .unit-image{order:0}
  .experience-cards{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}
@media (max-width: 680px){
  .container{width:calc(100% - 28px)}
  .hero{min-height:720px}
  .hero-content{padding-bottom:52px}
  .hero-sub{align-items:flex-start;flex-direction:column}
  .hero-actions{width:100%}
  .hero-actions .btn{flex:1}
  .display-xl{font-size:clamp(4rem,21vw,6.8rem)}
  .display-lg{font-size:clamp(3rem,15vw,5rem)}
  .stay-head{align-items:flex-start;flex-direction:column}
  .stay-card{min-height:520px}
  .gallery-grid{grid-template-columns:1fr}
  .gallery-main{height:500px}
  .gallery-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
  .gallery-side img{height:230px}
  .page-hero{height:560px}
  .unit-image{height:430px}
  .experience-cards{gap:12px}
  .exp-card{min-height:520px}
  .story-block img{height:540px}
  .contact-panel{padding:38px 24px}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
  .footer-bottom{flex-direction:column}
}

/* Premium Experiences */
.experience-hero{height:760px;min-height:680px}
.experience-hero img{filter:saturate(.9) contrast(1.04)}
.experience-hero::after{background:linear-gradient(0deg,rgba(11,16,11,.78),rgba(11,16,11,.08) 72%),linear-gradient(90deg,rgba(11,16,11,.36),transparent 65%)}
.experience-hero-lead{max-width:660px;margin:28px 0 0;font-size:clamp(1.02rem,1.5vw,1.28rem);line-height:1.6;color:rgba(255,255,255,.88)}
.experience-intro{padding-bottom:105px}

.experience-film-section{padding:110px 0}
.film-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:8vw;align-items:center}
.film-layout-reverse{grid-template-columns:1.15fr .85fr}
.film-copy .display{margin:18px 0 28px}
.film-copy .lead{color:rgba(255,255,255,.76)}
.film-frame{max-width:560px;justify-self:center;width:100%}
.experience-video{display:block;width:100%;aspect-ratio:464/832;max-height:760px;object-fit:contain;background:#111;box-shadow:0 26px 70px rgba(0,0,0,.22)}
.film-caption{display:flex;justify-content:space-between;gap:20px;padding-top:13px;font-size:.67rem;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.film-note{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);font-size:.75rem;letter-spacing:.08em;color:rgba(255,255,255,.55)}
.sand-film{background:var(--sand);color:var(--ink)}
.sand-film .film-copy .lead{color:#5f655c}
.sand-film .film-caption{color:#6b7068}
.dark-note{border-color:var(--line);color:#73786f}

.story-heading{display:grid;grid-template-columns:.7fr 1.3fr;gap:8vw;align-items:end;margin-bottom:54px}
.story-heading .eyebrow{align-self:start;padding-top:12px}
.story-heading .lead{grid-column:2;margin:0}
.terrain-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:16px;min-height:780px}
.terrain-grid figure{margin:0;position:relative;overflow:hidden;background:#ddd}
.terrain-grid .terrain-large{grid-row:1/3}
.terrain-grid img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .7s ease}
.terrain-grid figure:hover img{transform:scale(1.025)}
.terrain-grid figcaption,.heritage-gallery figcaption{position:absolute;left:18px;bottom:16px;z-index:2;color:white;background:rgba(18,23,18,.66);padding:8px 11px;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}

.heritage-story{background:#171d17;color:white}
.heritage-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;align-items:start}
.heritage-copy{position:sticky;top:60px;padding-top:16px}
.heritage-copy .display{margin:18px 0 28px}
.heritage-copy .lead{color:rgba(255,255,255,.75)}
.heritage-copy .note{color:rgba(255,255,255,.48);margin-top:30px}
.heritage-gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.heritage-gallery figure{margin:0;position:relative;overflow:hidden;background:#222;min-height:380px}
.heritage-gallery .heritage-main{grid-column:1/-1;min-height:590px}
.heritage-gallery img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .7s ease}
.heritage-gallery figure:hover img{transform:scale(1.025)}

.experience-menu-head{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;margin-bottom:55px}
.experience-menu-head .display{margin-top:16px}
.experience-menu-head .lead{margin:0}
.experience-menu{border-top:1px solid var(--line)}
.journey-card{display:grid;grid-template-columns:.72fr 1.28fr;gap:5vw;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}
.journey-card img{height:360px;object-fit:cover}
.journey-copy{display:grid;grid-template-columns:52px 1fr;gap:22px}
.journey-copy>span{font-family:var(--serif);font-size:1.6rem;color:var(--clay);line-height:1}
.journey-copy h3{font-family:var(--serif);font-weight:400;font-size:clamp(2.3rem,3.4vw,3.8rem);line-height:1;margin:9px 0 18px}
.journey-copy p{max-width:590px;color:#62675f;margin:0}
.experience-availability{margin-top:30px;max-width:900px}

.experience-close{position:relative;min-height:680px;color:white;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.experience-close>img{position:absolute;inset:0;height:100%;object-fit:cover}
.experience-close-overlay{position:absolute;inset:0;background:linear-gradient(rgba(13,18,13,.54),rgba(13,18,13,.66))}
.experience-close-copy{position:relative;z-index:2;width:min(900px,calc(100% - 42px));padding:90px 0}
.experience-close-copy .display{margin:20px 0 24px}
.experience-close-copy p{max-width:650px;margin:0 auto 34px;color:rgba(255,255,255,.82)}
.experience-close-actions{justify-content:center}

@media (max-width:980px){
  .experience-hero{height:680px}
  .film-layout,.film-layout-reverse,.story-heading,.heritage-layout,.experience-menu-head{grid-template-columns:1fr;gap:48px}
  .film-frame{max-width:520px}
  .film-layout-reverse .film-frame{order:2}
  .story-heading .lead{grid-column:auto}
  .terrain-grid{min-height:650px}
  .heritage-copy{position:static}
  .experience-menu-head .lead{max-width:720px}
}
@media (max-width:680px){
  .experience-hero{height:650px;min-height:620px}
  .experience-film-section{padding:80px 0}
  .film-frame{max-width:100%}
  .experience-video{max-height:none}
  .film-caption{flex-direction:column;gap:4px}
  .terrain-grid{grid-template-columns:1fr;grid-template-rows:auto;min-height:0}
  .terrain-grid .terrain-large{grid-row:auto}
  .terrain-grid figure,.terrain-grid .terrain-large{height:430px}
  .heritage-gallery{grid-template-columns:1fr}
  .heritage-gallery .heritage-main{grid-column:auto;min-height:480px}
  .heritage-gallery figure{min-height:400px}
  .journey-card{grid-template-columns:1fr;gap:24px;padding:28px 0}
  .journey-card img{height:430px}
  .journey-copy{grid-template-columns:38px 1fr;gap:12px}
  .experience-close{min-height:620px}
  .experience-close-actions{flex-direction:column}
  .experience-close-actions .btn{width:100%}
}

/* =========================================================
   AWELANI INTERNATIONAL STORY SYSTEM — V3
   Story-led destination marketing layer
   ========================================================= */
.story-site{background:#f5f1e9;color:#1a201a;overflow-x:hidden}
.story-site em,.soft-italic{font-style:italic;font-weight:400}
.story-site .nav-cinematic{position:absolute;background:linear-gradient(180deg,rgba(10,15,10,.46),transparent);padding-top:30px}
.story-site .nav-inner{width:min(1480px,calc(100% - 64px))}
.story-site .brand-main{font-size:1.9rem}
.story-site .book-link{background:rgba(255,255,255,.08);backdrop-filter:blur(7px)}
.btn-outline-light{border-color:rgba(255,255,255,.72);color:#fff;background:transparent}
.btn-outline-light:hover{background:#fff;color:var(--forest)}
.text-link{display:inline-flex;align-items:center;gap:11px;margin-top:28px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:7px}
.text-link span{transition:transform .25s ease}
.text-link:hover span{transform:translate(4px,-4px)}
.source-note,.availability-note,.rate-note{font-size:.8rem;line-height:1.65;color:#777a72}
.availability-note{color:rgba(255,255,255,.65);max-width:620px;margin:26px 0}

/* cinematic hero */
.story-hero{position:relative;height:100svh;min-height:760px;color:#fff;overflow:hidden;background:#151b15}
.story-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.04)}
.story-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,8,.76) 0%,rgba(8,12,8,.32) 50%,rgba(8,12,8,.12) 78%),linear-gradient(0deg,rgba(8,12,8,.54),transparent 48%)}
.story-hero-topline{position:absolute;z-index:2;left:4vw;right:4vw;top:116px;display:flex;justify-content:space-between;gap:30px;border-top:1px solid rgba(255,255,255,.32);padding-top:13px;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75)}
.story-hero-copy{position:absolute;z-index:2;left:max(28px,calc((100vw - 1280px)/2));bottom:92px;width:min(890px,calc(100% - 56px))}
.story-title{font-family:var(--serif);font-weight:400;line-height:.82;letter-spacing:-.045em;font-size:clamp(5rem,10.5vw,11rem);margin:14px 0 34px}
.story-title em{color:#dbc9ad}
.story-hero-lead{font-size:clamp(1.03rem,1.45vw,1.28rem);line-height:1.65;max-width:670px;color:rgba(255,255,255,.87);margin:0 0 30px}
.story-scroll{position:absolute;right:4vw;bottom:44px;z-index:3;display:flex;align-items:center;gap:14px;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.story-scroll i{display:block;width:54px;height:1px;background:rgba(255,255,255,.65);position:relative;overflow:hidden}
.story-scroll i::after{content:'';position:absolute;width:18px;height:1px;background:#fff;left:-18px;animation:scrollLine 2.2s ease-in-out infinite}
@keyframes scrollLine{0%{left:-18px}65%,100%{left:54px}}

/* manifesto */
.manifesto{padding:150px 0 135px;background:#f5f1e9}
.manifesto-grid{display:grid;grid-template-columns:.25fr 1.75fr;gap:4vw;align-items:start}
.manifesto-mark{font-family:var(--serif);font-size:clamp(7rem,12vw,14rem);line-height:.7;color:#a0643e;opacity:.88}
.manifesto .display{margin:18px 0 34px}
.manifesto-copy{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.7rem);line-height:1.28;max-width:950px;margin:0 0 28px;color:#333931}
.manifesto .source-note{border-top:1px solid var(--line);padding-top:20px;max-width:700px;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}

/* narrative chapters */
.chapter{display:grid;grid-template-columns:1.08fr .92fr;min-height:780px;background:#eee7da}
.chapter.reverse{grid-template-columns:.92fr 1.08fr;background:#f5f1e9}
.chapter.reverse .chapter-media{order:2}
.chapter-media{overflow:hidden;min-height:780px}
.chapter-media img{height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.chapter:hover .chapter-media img{transform:scale(1.02)}
.chapter-copy{padding:9vw 8vw;display:flex;flex-direction:column;justify-content:center;position:relative}
.chapter-number{font-family:var(--serif);font-size:4.2rem;line-height:1;color:#a0643e;margin-bottom:46px}
.chapter-copy .display{margin:16px 0 34px;max-width:690px}
.chapter-copy .lead{margin:0;color:#343a33}
.chapter-copy .muted{max-width:650px}
.story-quote{padding:130px 0;background:#1b241b}
.story-quote .container{position:relative;padding-left:10vw}
.quote-mark{position:absolute;left:0;top:-36px;font-family:var(--serif);font-size:11rem;line-height:1;color:#a0643e}
.story-quote p{font-family:var(--serif);font-size:clamp(2.6rem,5vw,5.8rem);line-height:1.05;margin:0;max-width:1100px}
.story-quote em{color:#d8c5a8}

/* signature cave experience */
.signature-experience{position:relative;min-height:900px;color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:#171b16}
.signature-experience>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:saturate(.9)}
.signature-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,9,7,.82),rgba(8,9,7,.28) 62%,transparent),linear-gradient(0deg,rgba(8,9,7,.55),transparent 55%)}
.signature-copy{position:relative;z-index:2;width:min(1200px,calc(100% - 56px));margin:0 auto;padding:120px 0;align-self:flex-end}
.signature-copy .display{margin:18px 0 30px;max-width:820px}
.signature-copy .display em{color:#e2c497}
.signature-copy>p:not(.availability-note){max-width:690px;font-size:1.16rem;line-height:1.75;color:rgba(255,255,255,.85)}

/* reasons */
.why-awelani{padding:150px 0;background:#f5f1e9}
.why-head{display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:end;margin-bottom:75px}
.why-head .display{margin-top:16px}
.why-head .lead{margin:0}
.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.reason-card{padding:38px 30px 24px 0;border-right:1px solid var(--line);min-height:300px}
.reason-card:not(:first-child){padding-left:30px}
.reason-card:last-child{border-right:0}
.reason-card>span,.pillar>span{font-family:var(--serif);font-size:2rem;color:#a0643e}
.reason-card h3,.pillar h3,.checklist-item h3{font-family:var(--serif);font-size:1.8rem;font-weight:400;line-height:1.05;margin:45px 0 18px}
.reason-card p,.pillar p,.checklist-item p{color:#646a61;margin:0;font-size:.93rem}

/* editorial stay cards */
.stay-editorial{padding:140px 0;background:#1b241b;color:#fff}
.stay-editorial-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:55px}
.stay-editorial-head .display{margin-top:15px}
.stay-editorial .btn-ghost{border-color:rgba(255,255,255,.5)}
.stay-editorial .btn-ghost:hover{background:#fff;color:#1b241b}
.stay-editorial-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:14px;min-height:900px}
.editorial-stay{position:relative;overflow:hidden;min-height:440px}
.editorial-stay.large{grid-row:1/3;min-height:900px}
.editorial-stay img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .8s ease;filter:saturate(.88)}
.editorial-stay::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,12,8,.78),transparent 62%)}
.editorial-stay:hover img{transform:scale(1.025)}
.editorial-stay-copy{position:absolute;z-index:2;left:32px;right:32px;bottom:30px}
.editorial-stay-copy span{font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.editorial-stay-copy h3{font-family:var(--serif);font-size:clamp(2rem,3vw,3.4rem);font-weight:400;line-height:1;margin:10px 0 12px}
.editorial-stay-copy strong{font-size:.85rem;letter-spacing:.06em;font-weight:500}
.rate-note{color:rgba(255,255,255,.48);margin:26px 0 0;max-width:880px}

.visual-break{position:relative;height:820px;overflow:hidden;color:#fff}
.visual-break>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:saturate(.85)}
.visual-break::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,13,9,.65),transparent 55%)}
.visual-break-copy{position:absolute;z-index:2;left:max(28px,calc((100vw - 1280px)/2));bottom:70px}
.visual-break-copy p{font-family:var(--serif);font-size:clamp(2.2rem,4.5vw,5rem);line-height:1.02;margin:18px 0 0;max-width:900px}

.final-invitation{padding:145px 0;background:#e8dfd0}
.final-invitation-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:9vw;align-items:end}
.final-invitation .display em{color:#965a34}
.final-invitation-copy .lead{margin:0 0 32px}

/* common story page hero */
.story-page-hero{position:relative;height:780px;min-height:650px;color:#fff;display:flex;align-items:flex-end;overflow:hidden;background:#182018}
.story-page-hero>img{position:absolute;inset:0;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.03)}
.story-page-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,13,8,.72),rgba(8,13,8,.16) 70%),linear-gradient(0deg,rgba(8,13,8,.56),transparent 58%)}
.story-page-copy{position:relative;z-index:2;padding-bottom:82px}
.story-page-copy .display{max-width:980px;margin:18px 0 26px}
.story-page-copy .display em{color:#ddc7a4}
.story-page-copy>p{max-width:720px;font-size:1.15rem;line-height:1.7;color:rgba(255,255,255,.84);margin:0}

/* experiences V3 */
.experience-manifesto{padding:125px 0}
.experience-manifesto-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:8vw;align-items:start}
.experience-manifesto .pullquote{margin-bottom:26px}
.experience-manifesto .lead{margin:0}
.cave-night{position:relative;min-height:850px;display:flex;align-items:center;color:#fff;overflow:hidden}
.cave-night>img{position:absolute;inset:0;height:100%;object-fit:cover}
.cave-night-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,10,8,.82) 0%,rgba(9,10,8,.54) 48%,rgba(9,10,8,.12) 78%)}
.cave-night-copy{position:relative;z-index:2;padding:120px 0}
.cave-night-copy .display{margin:18px 0 30px;max-width:760px}
.cave-night-copy .display em{color:#e1bd87}
.cave-night-copy>p:not(.availability-note){max-width:670px;font-size:1.12rem;line-height:1.75;color:rgba(255,255,255,.84)}
.pafuri-gateway{display:grid;grid-template-columns:1.08fr .92fr;min-height:760px;background:#ece4d7}
.pafuri-image{overflow:hidden}
.pafuri-image img{height:100%;object-fit:cover}
.pafuri-copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}
.pafuri-copy .display{margin:16px 0 30px}
.experience-choice{background:#f5f1e9}
.v3-close{min-height:760px}

/* about V3 */
.about-origin{padding:145px 0}
.about-origin-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.about-origin-image img{height:730px;object-fit:cover}
.about-origin-copy .display{margin:18px 0 34px}
.name-story{padding:140px 0}
.name-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.name-word{font-family:var(--serif);font-size:clamp(6rem,11vw,12rem);line-height:.8;color:#d8c4a4;margin-top:30px}
.name-story .display{margin:15px 0 32px}
.name-story .lead{color:rgba(255,255,255,.75)}
.name-pronounce{margin-top:28px;border-top:1px solid rgba(255,255,255,.18);padding-top:22px;color:rgba(255,255,255,.5);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.about-pillars{padding:150px 0}
.pillar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.pillar{background:#eae1d4;padding:38px;min-height:340px}
.pillar h3{margin-top:65px;font-size:2.2rem}
.about-visual-story{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:680px 520px;gap:12px;background:#151a15;padding:12px}
.about-visual{position:relative;overflow:hidden;color:#fff}
.about-visual.one{grid-row:1/3}
.about-visual img{position:absolute;inset:0;height:100%;object-fit:cover;transition:transform .8s ease}
.about-visual:hover img{transform:scale(1.025)}
.about-visual::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,12,8,.72),transparent 55%)}
.about-visual div{position:absolute;z-index:2;left:30px;bottom:26px}
.about-visual p{font-family:var(--serif);font-size:2.3rem;line-height:1;margin:8px 0 0}
.about-future{padding:150px 0}
.about-future .hero-actions{margin-top:38px}
.about-close{min-height:720px}

/* Stay V3 */
.stay-intro-v3{padding:130px 0}
.stay-intro-v3-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end}
.stay-intro-v3 .display{margin-top:16px}
.stay-assurance{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}
.stay-assurance span{border:1px solid var(--line);padding:9px 12px;font-size:.63rem;letter-spacing:.1em;text-transform:uppercase}
.stay-feature{display:grid;grid-template-columns:1.1fr .9fr;min-height:760px;border-top:1px solid var(--line);background:#f5f1e9}
.stay-feature.reverse{grid-template-columns:.9fr 1.1fr;background:#ebe2d4}
.stay-feature.reverse .stay-feature-image{order:2}
.stay-feature-image{overflow:hidden}
.stay-feature-image img{height:100%;object-fit:cover;min-height:760px}
.stay-feature-copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}
.stay-feature-copy h2{font-family:var(--serif);font-size:clamp(3.6rem,6vw,7rem);line-height:.84;font-weight:400;margin:18px 0 34px}
.stay-feature-copy .lead{margin:0 0 40px}
.stay-price-line{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;margin-bottom:28px}
.stay-price-line span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.stay-price-line strong{font-family:var(--serif);font-size:2.5rem;line-height:1;font-weight:400}
.stay-price-line small{font-size:.76rem;color:#72766f;padding-bottom:3px}
.stay-truth>span{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#8a5b3c;font-weight:600}
.stay-truth p{margin:8px 0 0;color:#62675f}
.stay-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:34px}
.stay-actions .text-link{margin-top:0}
.stay-philosophy{padding:150px 0;text-align:center}
.stay-philosophy .container{max-width:1000px}
.stay-philosophy .display{margin:20px 0 35px}
.stay-philosophy .display em{color:#d8c3a0}
.stay-philosophy p{font-size:1.12rem;line-height:1.75;color:rgba(255,255,255,.72);max-width:760px;margin:0 auto}
.stay-final{background:#f0e9dd}

/* Gallery V3 */
.gallery-intro{padding:125px 0 80px}
.gallery-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:end}
.gallery-intro .display{margin-top:18px}
.gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.gallery-filters button{border:1px solid var(--line);background:transparent;padding:9px 14px;font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;cursor:pointer;color:#4d534b}
.gallery-filters button.active,.gallery-filters button:hover{background:#1b241b;color:#fff;border-color:#1b241b}
.gallery-story-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:340px;gap:10px;padding:10px;background:#1a201a}
.gallery-story-item{position:relative;margin:0;overflow:hidden;background:#2b322b;color:#fff;transition:opacity .3s,transform .3s}
.gallery-story-item.tall{grid-row:span 2}
.gallery-story-item.wide{grid-column:span 2}
.gallery-story-item.hidden{display:none}
.gallery-open{position:absolute;inset:0;border:0;padding:0;background:none;cursor:zoom-in;width:100%;height:100%}
.gallery-open img{height:100%;object-fit:cover;transition:transform .7s ease;filter:saturate(.88)}
.gallery-story-item:hover .gallery-open img{transform:scale(1.025)}
.gallery-story-item::after{content:'';position:absolute;pointer-events:none;inset:0;background:linear-gradient(0deg,rgba(7,11,7,.72),transparent 46%)}
.gallery-story-item figcaption{position:absolute;z-index:2;left:22px;right:22px;bottom:18px;pointer-events:none}
.gallery-story-item figcaption span{display:block;font-size:.61rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.68);margin-bottom:4px}
.gallery-story-item figcaption strong{font-family:var(--serif);font-weight:400;font-size:1.55rem}
.gallery-close{padding:125px 0}
.lightbox{position:fixed;inset:0;background:rgba(7,10,7,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:70px 24px 50px;color:#fff}
.lightbox.open{display:flex;flex-direction:column}
.lightbox img{max-width:min(1200px,92vw);max-height:78vh;object-fit:contain;width:auto}
.lightbox p{font-family:var(--serif);font-size:1.4rem;margin:18px 0 0}
.lightbox-close{position:absolute;right:26px;top:24px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;padding:9px 13px;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem;cursor:pointer}

/* Contact V3 */
.contact-v3-main{padding:140px 0}
.contact-v3-grid{display:grid;grid-template-columns:1fr .8fr;gap:9vw;align-items:start}
.contact-v3-details .display{margin:18px 0 30px}
.journey-card-panel{background:#e9dfd0;padding:70px 60px;position:sticky;top:40px}
.journey-card-panel h2{font-family:var(--serif);font-size:clamp(3rem,5vw,5.7rem);font-weight:400;line-height:.88;margin:18px 0 28px}
.journey-divider{height:1px;background:var(--line);margin:54px 0 30px}
.trip-checklist{padding:145px 0}
.trip-checklist .why-head .lead{color:rgba(255,255,255,.68)}
.checklist-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.16)}
.checklist-item{padding:34px 24px 10px 0;border-right:1px solid rgba(255,255,255,.16)}
.checklist-item:not(:first-child){padding-left:24px}
.checklist-item:last-child{border-right:0}
.checklist-item>span{font-family:var(--serif);font-size:1.8rem;color:#d5bd96}
.checklist-item h3{color:#fff;font-size:1.55rem;margin-top:45px}
.checklist-item p{color:rgba(255,255,255,.58)}
.contact-place{display:grid;grid-template-columns:1.1fr .9fr;min-height:760px;background:#eae1d4}
.contact-place-image img{height:100%;object-fit:cover;min-height:760px}
.contact-place-copy{padding:8vw;display:flex;flex-direction:column;justify-content:center}
.contact-place-copy .display{margin:18px 0 30px}
.contact-place-copy .btn{margin-top:28px;width:max-content}
.contact-final{background:#f5f1e9}

/* Footer story */
.footer-story{padding-top:0;background:#151b15}
.footer-callout{padding:70px 0;border-bottom:1px solid rgba(255,255,255,.14);margin-bottom:70px;display:flex;justify-content:space-between;gap:40px;align-items:end}
.footer-callout p{font-family:var(--serif);font-size:clamp(2rem,3.4vw,4rem);line-height:1;margin:0;color:#d9c8ad;text-align:right}
.mobile-book{display:none}

/* reveal motion */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.story-scroll i::after{animation:none}.chapter-media img,.editorial-stay img,.gallery-open img{transition:none}}

@media (max-width:1100px){
  .reason-grid,.pillar-grid{grid-template-columns:1fr 1fr}
  .reason-card:nth-child(2){border-right:0}.reason-card:nth-child(3),.reason-card:nth-child(4){border-top:1px solid var(--line)}
  .pillar{min-height:300px}
  .checklist-grid{grid-template-columns:1fr 1fr 1fr}.checklist-item{border-bottom:1px solid rgba(255,255,255,.16)}
  .gallery-story-grid{grid-template-columns:repeat(3,1fr)}
}

@media (max-width:980px){
  .story-site .nav-inner{width:calc(100% - 34px)}
  .story-hero-topline{left:24px;right:24px}
  .story-hero-copy{left:24px;width:calc(100% - 48px);bottom:80px}
  .story-scroll{display:none}
  .manifesto-grid{grid-template-columns:1fr}.manifesto-mark{font-size:7rem;margin-bottom:20px}
  .chapter,.chapter.reverse,.pafuri-gateway,.stay-feature,.stay-feature.reverse,.contact-place{grid-template-columns:1fr}
  .chapter.reverse .chapter-media,.stay-feature.reverse .stay-feature-image{order:0}
  .chapter-media,.stay-feature-image img,.contact-place-image img{min-height:580px;height:580px}
  .chapter-copy,.stay-feature-copy,.pafuri-copy,.contact-place-copy{padding:80px 34px}
  .why-head,.final-invitation-grid,.experience-manifesto-grid,.about-origin-grid,.name-story-grid,.stay-intro-v3-grid,.gallery-intro-grid,.contact-v3-grid{grid-template-columns:1fr;gap:48px}
  .reason-grid,.pillar-grid{grid-template-columns:1fr 1fr}
  .stay-editorial-grid{grid-template-columns:1fr;grid-template-rows:auto;min-height:0}
  .editorial-stay.large{grid-row:auto;min-height:650px}.editorial-stay{min-height:520px}
  .about-origin-image img{height:600px}
  .about-visual-story{grid-template-columns:1fr;grid-template-rows:600px 500px 500px}.about-visual.one{grid-row:auto}
  .journey-card-panel{position:static}
  .checklist-grid{grid-template-columns:1fr 1fr}
  .gallery-story-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-story-item.wide{grid-column:span 2}
  .footer-callout{align-items:flex-start;flex-direction:column}.footer-callout p{text-align:left}
}

@media (max-width:680px){
  body.story-site{padding-bottom:68px}
  .story-hero{min-height:720px;height:100svh}
  .story-hero-topline{top:100px;display:block}.story-hero-topline span:last-child{display:none}
  .story-title{font-size:clamp(4.5rem,22vw,7rem);margin-bottom:24px}
  .story-hero-copy{left:18px;width:calc(100% - 36px);bottom:42px}
  .story-hero-lead{font-size:.98rem}
  .story-hero-copy .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.story-hero-copy .btn{padding:12px 10px;font-size:.62rem}
  .manifesto{padding:90px 0}.manifesto-copy{font-size:1.55rem}
  .chapter-media,.stay-feature-image img,.contact-place-image img{min-height:480px;height:480px}
  .chapter-copy,.stay-feature-copy,.pafuri-copy,.contact-place-copy{padding:65px 22px}
  .chapter-number{font-size:3rem;margin-bottom:28px}
  .story-quote{padding:90px 0}.story-quote .container{padding-left:62px}.quote-mark{font-size:7rem;top:-20px}
  .signature-experience,.cave-night{min-height:720px}.signature-copy,.cave-night-copy{width:calc(100% - 36px);padding:80px 0}.signature-copy>p:not(.availability-note),.cave-night-copy>p:not(.availability-note){font-size:1rem}
  .why-awelani,.stay-editorial,.final-invitation,.about-origin,.about-pillars,.about-future,.contact-v3-main,.trip-checklist{padding:90px 0}
  .reason-grid,.pillar-grid,.checklist-grid{grid-template-columns:1fr}
  .reason-card,.reason-card:not(:first-child){padding:28px 0;border-right:0;border-top:1px solid var(--line);min-height:0}.reason-card:first-child{border-top:0}.reason-card h3{margin-top:24px}
  .pillar{min-height:260px}.pillar h3{margin-top:45px}
  .stay-editorial-head{align-items:flex-start;flex-direction:column}.editorial-stay.large,.editorial-stay{min-height:520px}
  .visual-break{height:650px}.visual-break-copy{left:20px;right:20px;bottom:45px}
  .story-page-hero{height:650px;min-height:620px}.story-page-copy{padding-bottom:55px}.story-page-copy>p{font-size:1rem}
  .experience-manifesto{padding:85px 0}
  .name-story{padding:90px 0}.name-word{font-size:5rem}
  .about-origin-image img{height:520px}
  .about-visual-story{grid-template-rows:520px 440px 440px}.about-visual p{font-size:1.8rem}
  .stay-intro-v3{padding:85px 0}.stay-price-line{grid-template-columns:1fr auto}.stay-price-line small{grid-column:2}.stay-feature-copy h2{font-size:4.3rem}
  .gallery-intro{padding:85px 0 55px}.gallery-story-grid{grid-template-columns:1fr;grid-auto-rows:480px;padding:6px;gap:6px}.gallery-story-item.tall{grid-row:span 1}.gallery-story-item.wide{grid-column:span 1}.gallery-story-item{min-height:480px}
  .journey-card-panel{padding:46px 24px}.checklist-item,.checklist-item:not(:first-child){padding:26px 0;border-right:0}.checklist-item h3{margin-top:20px}
  .footer-callout{padding:55px 0;margin-bottom:55px}.footer-callout p{font-size:2.3rem}
  .mobile-book{position:fixed;z-index:80;left:0;right:0;bottom:0;height:68px;background:#a0643e;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-top:1px solid rgba(255,255,255,.2);box-shadow:0 -8px 30px rgba(0,0,0,.16)}
  .mobile-book span{font-family:var(--serif);font-size:1.3rem}.mobile-book small{font-size:.58rem;letter-spacing:.11em;text-transform:uppercase;opacity:.75}
}
.story-site .nav.nav-scrolled{position:fixed;background:rgba(21,27,21,.94);backdrop-filter:blur(12px);padding:16px 0;box-shadow:0 1px 0 rgba(255,255,255,.08)}
.story-site .nav.nav-scrolled .brand-main{font-size:1.65rem}
@media (max-width:980px){.story-site .nav.nav-scrolled{padding:14px 0}}

/* Awelani premium refinement */
.hero-content{padding-bottom:105px}
.btn{border-radius:2px}
.stay-card{border-radius:2px}
.stay-card-content{backdrop-filter:blur(0px)}
@media(max-width:700px){.brand-logo{width:95px}.hero-content{padding-bottom:55px}}


/* Awelani premium refinement v2 - guest experience polish */
.hero-media{animation:heroScale 18s ease-out both}
@keyframes heroScale{from{transform:scale(1.04)}to{transform:scale(1)}}
.brand-logo{object-position:center}
.nav{backdrop-filter:blur(0px)}
.book-link{background:rgba(255,255,255,.04);}
.hero-copy .display-xl{max-width:900px;text-shadow:0 2px 24px rgba(0,0,0,.22)}
.stay-card{box-shadow:0 18px 45px rgba(20,24,18,.08)}
.stay-card-content{padding:0 2px}
.stay-price{font-family:var(--serif);font-size:1.35rem}
.btn{min-height:48px}
.editorial-stay{box-shadow:0 14px 40px rgba(20,24,18,.08);transition:transform .35s ease,box-shadow .35s ease}
.editorial-stay:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(20,24,18,.14)}
.footer .brand-logo{filter:none}
@media(max-width:680px){
 .brand-logo{width:88px}
 .hero-actions{width:100%}
 .hero-actions .btn{width:100%}
 .stay-card h3{font-size:2rem}
}


/* Awelani Premium V4 refinement */
:root{--gold:#b89a5a}
.nav{padding-top:34px}
.brand-logo{width:132px}
.book-link{border:1px solid rgba(255,255,255,.65);padding:14px 24px;transition:.3s ease}
.book-link:hover{background:white;color:#1d281c}
.nav.solid .book-link{border-color:rgba(0,0,0,.25)}
.hero-content{padding-bottom:105px}
.hero-copy .display{letter-spacing:-.025em}
.hero-actions .btn{min-width:170px;text-align:center}
.section-title{max-width:850px}
.stay-card{border-radius:2px}
.stay-card-content{padding-bottom:4px}
.stay-card h3{letter-spacing:-.02em}
@media(max-width:700px){
 .nav{padding-top:22px}
 .brand-logo{width:105px}
 .hero-content{padding-bottom:55px}
 .hero-actions .btn{width:100%}
}

/* NightsBridge live-rate sync */
.rate-prefix,
.rate-suffix { font: inherit; }
.stay-price-line.rate-synced > span:first-child::after {
  content: " · synced";
  opacity: .62;
  font-size: .82em;
}

/* Brand integrity: always render the original Awelani PNG without colour effects. */
.brand-logo,.nav .brand-logo,.footer .brand-logo{filter:none!important;opacity:1!important;mix-blend-mode:normal!important;}

/* Awelani V8 brand lock and header spacing.
   The PNG is displayed exactly as supplied: no recolour, filter, tint or blending. */
.brand,
.nav .brand,
.footer .brand{
  opacity:1!important;
  mix-blend-mode:normal!important;
  filter:none!important;
}
.brand-logo,
.nav .brand-logo,
.footer .brand-logo{
  filter:none!important;
  -webkit-filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
  background:transparent!important;
  image-rendering:auto;
  isolation:isolate;
}

/* Keep the location strapline clear of the taller original Awelani logo. */
.story-hero-topline{top:178px}
@media(max-width:980px){.story-hero-topline{top:158px}}
@media(max-width:700px){.story-hero-topline{top:148px}}

/* Rate verification page (not linked in guest navigation). */
.rate-check-page{min-height:100vh;background:var(--paper);padding:80px 0}
.rate-check-card{background:#fff;border:1px solid var(--line);padding:28px;margin-top:28px}
.rate-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
.rate-check-room{border:1px solid var(--line);padding:20px}
.rate-check-room h2{font-family:var(--serif);font-weight:400;margin:0 0 8px;font-size:1.8rem}
.rate-check-room strong{font-family:var(--serif);font-size:2rem;font-weight:400}
.rate-check-status{display:inline-block;margin-top:10px;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.rate-check-status.live{color:#365d35}.rate-check-status.fallback{color:#8b5a35}
.rate-check-meta{font-size:.86rem;color:#62675f;overflow-wrap:anywhere}
@media(max-width:760px){.rate-check-grid{grid-template-columns:1fr}.rate-check-page{padding:44px 0}}

/* V8.1 homepage header cleanup: keep the original Awelani logo off the hero overlay.
   The cinematic shade now fades in below the logo/header zone instead of sitting underneath it. */
body.story-site .story-hero-shade{
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 148px,rgba(0,0,0,.45) 185px,#000 230px);
  mask-image:linear-gradient(to bottom,transparent 0,transparent 148px,rgba(0,0,0,.45) 185px,#000 230px);
}
body.story-site .nav-cinematic .nav-links,
body.story-site .nav-cinematic .menu-button{
  text-shadow:0 1px 12px rgba(0,0,0,.38);
}
body.story-site .nav-cinematic .brand{
  background:transparent!important;
  box-shadow:none!important;
}
body.story-site .nav-cinematic .brand::before,
body.story-site .nav-cinematic .brand::after{
  content:none!important;
  display:none!important;
}
@media(max-width:700px){
  body.story-site .story-hero-shade{
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent 126px,rgba(0,0,0,.45) 158px,#000 205px);
    mask-image:linear-gradient(to bottom,transparent 0,transparent 126px,rgba(0,0,0,.45) 158px,#000 205px);
  }
}

/* V8.2 homepage hero spacing fix.
   Keep the location line and the opening eyebrow as two distinct rows. */
body.story-site .story-hero{
  --hero-topline-y:178px;
  --hero-copy-min-y:285px;
}
body.story-site .story-hero-topline{
  top:var(--hero-topline-y)!important;
}
body.story-site .story-hero-copy{
  top:var(--hero-copy-min-y);
  bottom:58px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
body.story-site .story-hero-copy > .eyebrow{
  flex:0 0 auto;
  margin-bottom:2px;
}
body.story-site .story-title{
  font-size:clamp(4.8rem,min(10.5vw,14vh),11rem);
}
@media(max-width:980px){
  body.story-site .story-hero{
    --hero-topline-y:158px;
    --hero-copy-min-y:250px;
  }
  body.story-site .story-hero-copy{bottom:56px}
}
@media(max-width:700px){
  body.story-site .story-hero{
    --hero-topline-y:148px;
    --hero-copy-min-y:230px;
  }
  body.story-site .story-hero-copy{bottom:38px}
  body.story-site .story-title{font-size:clamp(4.25rem,min(22vw,13.5vh),7rem)}
}
@media(max-height:760px) and (min-width:701px){
  body.story-site .story-hero{
    --hero-copy-min-y:258px;
  }
  body.story-site .story-hero-copy{bottom:34px}
  body.story-site .story-title{font-size:clamp(4.6rem,min(9.2vw,12.5vh),8.5rem);margin-bottom:22px}
  body.story-site .story-hero-lead{font-size:1rem;line-height:1.5;margin-bottom:22px}
}


/* V8.3 compact homepage hero identity block.
   Keep both location references and the opening eyebrow visually connected. */
body.story-site .story-hero-copy{
  top:auto!important;
  bottom:72px!important;
  display:block!important;
}
body.story-site .story-hero-copy .story-hero-topline{
  position:static!important;
  inset:auto!important;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 22px!important;
  width:100%;
  margin:0 0 7px!important;
  padding-top:10px!important;
  border-top:1px solid rgba(255,255,255,.32);
  font-size:.64rem;
  line-height:1.35;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
body.story-site .story-hero-copy > .eyebrow{
  margin:0 0 2px!important;
}
@media(max-width:980px){
  body.story-site .story-hero-copy{bottom:58px!important}
  body.story-site .story-hero-copy .story-hero-topline{margin-bottom:7px!important;gap:4px 16px!important}
}
@media(max-width:700px){
  body.story-site .story-hero-copy{bottom:34px!important}
  body.story-site .story-hero-copy .story-hero-topline{
    display:flex!important;
    margin-bottom:6px!important;
    gap:3px 12px!important;
    font-size:.58rem;
    letter-spacing:.11em;
  }
  body.story-site .story-hero-copy .story-hero-topline span:last-child{display:inline!important}
}

/* V8.5 hero vertical alignment.
   Keep the location identity block close to the Awelani logo/header while
   preserving the compact spacing between location, eyebrow and title. */
body.story-site .story-hero-copy{
  top:178px!important;
  bottom:auto!important;
}
@media(max-width:980px){
  body.story-site .story-hero-copy{top:158px!important;bottom:auto!important}
}
@media(max-width:700px){
  body.story-site .story-hero-copy{top:145px!important;bottom:auto!important}
}
@media(max-height:680px) and (min-width:701px){
  body.story-site .story-hero-copy{top:164px!important}
  body.story-site .story-title{margin-top:10px;margin-bottom:24px}
  body.story-site .story-hero-lead{margin-bottom:22px}
}

/* V8.6 — one-screen homepage hero
   Keep the complete opening composition inside the visible viewport on common
   laptop, desktop and mobile heights without altering the Awelani logo asset. */
body.story-site .story-hero{
  height:100svh!important;
  min-height:0!important;
}
body.story-site .story-hero-copy{
  top:clamp(132px,21svh,178px)!important;
  bottom:auto!important;
  width:min(760px,calc(100% - 56px));
}
body.story-site .story-hero-copy .story-hero-topline{
  padding-top:8px!important;
  margin-bottom:5px!important;
  gap:4px 20px!important;
  line-height:1.25;
}
body.story-site .story-hero-copy > .eyebrow{
  margin-bottom:0!important;
  font-size:clamp(.64rem,1.2vh,.72rem);
  line-height:1.25;
}
body.story-site .story-title{
  font-size:clamp(4.15rem,min(9.4vw,12.2svh),8.6rem)!important;
  line-height:.82;
  margin:8px 0 clamp(14px,2.2svh,24px)!important;
}
body.story-site .story-hero-lead{
  max-width:650px;
  font-size:clamp(.92rem,min(1.25vw,2.1svh),1.12rem)!important;
  line-height:1.48!important;
  margin:0 0 clamp(12px,2svh,20px)!important;
}
body.story-site .story-hero-copy .hero-actions{
  gap:8px;
}
body.story-site .story-hero-copy .btn{
  min-height:42px;
  padding:10px 18px;
  font-size:.66rem;
}
body.story-site .story-scroll{
  bottom:26px;
}

/* Short laptop / landscape displays: compact the header as well as the copy. */
@media(max-height:760px) and (min-width:701px){
  body.story-site .nav-cinematic{padding-top:18px!important}
  body.story-site .nav-cinematic .brand-logo{width:112px}
  body.story-site .nav-cinematic .brand-sub{margin-top:7px;font-size:.5rem}
  body.story-site .nav-cinematic .nav-links{gap:25px;font-size:.69rem}
  body.story-site .nav-cinematic .book-link{padding:11px 18px}
  body.story-site .story-hero-copy{
    top:clamp(124px,20.5svh,150px)!important;
    width:min(720px,calc(100% - 56px));
  }
  body.story-site .story-title{
    font-size:clamp(4rem,min(8.8vw,11.6svh),7.2rem)!important;
    margin:7px 0 15px!important;
  }
  body.story-site .story-hero-lead{
    max-width:625px;
    font-size:.94rem!important;
    line-height:1.42!important;
    margin-bottom:14px!important;
  }
  body.story-site .story-hero-copy .btn{min-height:40px;padding:9px 16px}
}

@media(max-width:980px){
  body.story-site .story-hero-copy{
    top:clamp(126px,19svh,158px)!important;
    width:calc(100% - 48px);
  }
  body.story-site .story-title{
    font-size:clamp(4.1rem,min(15vw,11.8svh),7rem)!important;
  }
}

@media(max-width:700px){
  body.story-site .story-hero{
    height:100svh!important;
    min-height:0!important;
  }
  body.story-site .nav-cinematic{padding-top:14px!important}
  body.story-site .nav-cinematic .brand-logo{width:88px}
  body.story-site .nav-cinematic .brand-sub{margin-top:6px;font-size:.46rem}
  body.story-site .story-hero-copy{
    top:clamp(112px,18svh,138px)!important;
    left:18px!important;
    width:calc(100% - 36px)!important;
  }
  body.story-site .story-hero-copy .story-hero-topline{
    gap:2px 10px!important;
    padding-top:7px!important;
    margin-bottom:4px!important;
    font-size:.54rem!important;
    line-height:1.3;
  }
  body.story-site .story-hero-copy > .eyebrow{
    font-size:.61rem;
  }
  body.story-site .story-title{
    font-size:clamp(3.65rem,min(19vw,10.8svh),6rem)!important;
    margin:6px 0 12px!important;
  }
  body.story-site .story-hero-lead{
    font-size:.88rem!important;
    line-height:1.4!important;
    margin-bottom:12px!important;
    max-width:100%;
  }
  body.story-site .story-hero-copy .hero-actions{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  body.story-site .story-hero-copy .btn{
    min-width:0!important;
    min-height:38px!important;
    padding:8px 8px!important;
    font-size:.57rem!important;
  }
}

@media(max-height:620px) and (min-width:701px){
  body.story-site .nav-cinematic{padding-top:12px!important}
  body.story-site .nav-cinematic .brand-logo{width:98px}
  body.story-site .story-hero-copy{top:112px!important}
  body.story-site .story-hero-copy .story-hero-topline{padding-top:6px!important;margin-bottom:3px!important}
  body.story-site .story-title{font-size:min(7.8vw,10.8svh)!important;margin:5px 0 10px!important}
  body.story-site .story-hero-lead{font-size:.88rem!important;line-height:1.35!important;margin-bottom:10px!important}
  body.story-site .story-hero-copy .btn{min-height:36px;padding:7px 14px}
  body.story-site .story-scroll{display:none}
}

/* V8.8 — global first-screen spacing
   Secondary tabs previously used a tall, bottom-aligned 780px hero, which left
   an oversized empty gap beneath the shared Awelani header. Keep all page
   heroes inside the viewport and bring the page identity directly below the
   logo/header with consistent clearance on every tab. */
body.story-site .story-page-hero{
  height:100svh!important;
  min-height:0!important;
  align-items:flex-start!important;
}
body.story-site .story-page-copy{
  padding-top:clamp(168px,20svh,190px)!important;
  padding-bottom:0!important;
  margin:0 auto;
}
body.story-site .story-page-copy .display{
  margin:10px 0 18px!important;
  font-size:clamp(3.8rem,min(6.1vw,11.5svh),6.4rem);
  line-height:.91;
}
body.story-site .story-page-copy>p{
  max-width:690px;
  font-size:clamp(.96rem,min(1.25vw,2.05svh),1.1rem)!important;
  line-height:1.55!important;
}

/* Short laptops: preserve the same visual relationship without forcing scroll. */
@media(max-height:760px) and (min-width:701px){
  body.story-site .story-page-copy{
    padding-top:clamp(138px,19svh,155px)!important;
  }
  body.story-site .story-page-copy .display{
    font-size:clamp(3.45rem,min(5.6vw,10.6svh),5.5rem)!important;
    margin:7px 0 14px!important;
  }
  body.story-site .story-page-copy>p{
    font-size:.94rem!important;
    line-height:1.45!important;
  }
}

@media(max-width:980px){
  body.story-site .story-page-copy{
    padding-top:clamp(145px,18svh,165px)!important;
  }
}

@media(max-width:700px){
  body.story-site .story-page-hero{
    height:100svh!important;
    min-height:0!important;
  }
  body.story-site .story-page-copy{
    padding-top:clamp(112px,16svh,128px)!important;
    width:calc(100% - 36px);
  }
  body.story-site .story-page-copy .display{
    font-size:clamp(3.25rem,min(16vw,10svh),5.2rem)!important;
    margin:6px 0 12px!important;
  }
  body.story-site .story-page-copy>p{
    font-size:.88rem!important;
    line-height:1.42!important;
    max-width:100%;
  }
}

/* P1 foundation — clearer booking cues and inclusive interaction states. */
.skip-link{
  position:fixed;
  z-index:200;
  top:12px;
  left:16px;
  padding:10px 14px;
  background:#fff;
  color:var(--forest);
  border:2px solid var(--forest);
  font-size:.78rem;
  font-weight:600;
  transform:translateY(-150%);
  transition:transform .2s ease;
}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #d5bd96;outline-offset:4px}
.nav-links a[aria-current="page"]::after{width:100%!important}
body.menu-open{overflow:hidden}

.booking-assurance{
  background:#ebe2d4;
  border-bottom:1px solid var(--line);
}
.booking-assurance-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) auto;
  gap:28px;
  align-items:center;
  padding-top:26px;
  padding-bottom:26px;
}
.booking-assurance-grid>div{
  min-height:46px;
  padding-left:16px;
  border-left:1px solid rgba(28,33,28,.22);
}
.booking-assurance-grid>div span,
.booking-assurance-grid>div strong{display:block}
.booking-assurance-grid>div span{
  margin-bottom:4px;
  color:#6a7068;
  font-size:.6rem;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.booking-assurance-grid>div strong{
  font-family:var(--serif);
  font-size:1.05rem;
  font-weight:400;
  line-height:1.25;
}
.booking-assurance-grid>.text-link{margin:0;white-space:nowrap}

.contact-row .contact-map-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  font-family:var(--sans);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.12em;
  line-height:1.4;
  text-transform:uppercase;
  text-decoration:underline;
  text-underline-offset:5px;
}
.contact-map-link span{display:inline;margin:0;color:inherit}
.contact-place-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}
.contact-place-copy .contact-place-actions .btn{margin-top:0}
.contact-place-actions .text-link{margin:0}

@media(max-width:1100px){
  .booking-assurance-grid{grid-template-columns:repeat(2,minmax(0,1fr)) auto}
}
@media(max-width:700px){
  .booking-assurance-grid{
    grid-template-columns:1fr 1fr;
    gap:20px 14px;
    padding-top:24px;
    padding-bottom:24px;
  }
  .booking-assurance-grid>div{padding-left:12px}
  .booking-assurance-grid>.text-link{grid-column:1/-1;margin-left:12px}
}

/* Guest enquiry form */
.enquiry-section{padding:130px 0;background:#f5f1e9;border-top:1px solid var(--line)}
.enquiry-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:start}
.enquiry-intro{position:sticky;top:120px}
.enquiry-intro .display{margin:18px 0 28px}
.enquiry-note{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);font-size:.94rem;color:#62675f;line-height:1.7}
.enquiry-form{background:#fff;padding:52px;border:1px solid rgba(40,49,38,.12);box-shadow:0 24px 60px rgba(40,49,38,.07)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 22px}
.enquiry-form label{display:flex;flex-direction:column;gap:9px}
.enquiry-form label>span{font-size:.69rem;letter-spacing:.12em;text-transform:uppercase;color:#646b61}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfc8bb;background:#fff;color:var(--ink);font:inherit;padding:14px 15px;border-radius:0;transition:border-color .2s,box-shadow .2s}
.enquiry-form textarea{resize:vertical;min-height:150px;line-height:1.55}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:none;border-color:#596653;box-shadow:0 0 0 3px rgba(89,102,83,.1)}
.form-full{grid-column:1/-1}
.consent-row{flex-direction:row!important;align-items:flex-start;gap:12px!important}
.consent-row input{width:18px;height:18px;margin-top:2px;flex:0 0 auto}
.consent-row span{font-size:.82rem!important;letter-spacing:0!important;text-transform:none!important;line-height:1.5;color:#555d52!important}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.enquiry-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:30px}
.enquiry-status{font-size:.9rem;line-height:1.5;max-width:460px}
.enquiry-status.success{color:#2f5a39}
.enquiry-status.error{color:#8a3030}
.enquiry-form.is-submitting{opacity:.72;pointer-events:none}
@media(max-width:980px){.enquiry-grid{grid-template-columns:1fr;gap:48px}.enquiry-intro{position:static}.enquiry-section{padding:90px 0}}
@media(max-width:640px){.enquiry-form{padding:32px 20px}.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}.enquiry-actions .btn{width:100%;text-align:center}.enquiry-section{padding:72px 0}}

/* Public-site staff access: intentionally visible but secondary to guest booking. */
.nav-links .staff-link{
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  padding:10px 14px;
  font-weight:600;
  white-space:nowrap;
}
.nav-links .staff-link::after{display:none!important}
.nav-links .staff-link:hover,
.nav-links .staff-link:focus-visible{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.8);
}
.nav.solid .nav-links .staff-link{
  border-color:rgba(0,0,0,.24);
}
@media (max-width:980px){
  .nav-links .staff-link{
    width:100%;
    text-align:center;
    padding:13px 18px;
    border-color:rgba(255,255,255,.55);
  }
}
