:root{
  --paper:#f8f5ef;
  --paper-2:#ede7dc;
  --ink:#171512;
  --muted:#746b5e;
  --line:rgba(23,21,18,.14);
  --dark:#080807;
  --white:#fff;
  --gold:#a98243;
  --serif:'Bodoni Moda', Georgia, serif;
  --sans:'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:auto;background:var(--paper);overscroll-behavior-y:auto;color:var(--ink)}
body{margin:0;font-family:var(--sans);background:var(--paper);color:var(--ink);overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}

.loader{position:fixed;inset:0;background:#080807;color:#f9f3e8;z-index:9999;display:grid;place-items:center;gap:18px;align-content:center;transition:opacity 900ms ease,visibility 900ms ease}
.loader.is-hidden{opacity:0;visibility:hidden}
.loader__mark{font-family:var(--serif);font-size:clamp(44px,8vw,96px);letter-spacing:.06em}
.loader__line{width:min(320px,60vw);height:1px;background:rgba(255,255,255,.22);overflow:hidden}
.loader__line span{display:block;height:100%;width:0;background:#f8f5ef}
.loader p{font-size:11px;text-transform:uppercase;letter-spacing:.26em;color:rgba(255,255,255,.68)}

.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;display:flex;justify-content:space-between;align-items:center;padding:26px clamp(22px,4vw,64px);mix-blend-mode:difference;color:#fff;pointer-events:none}
.brand{font-size:12px;letter-spacing:.24em;font-weight:500;pointer-events:auto}
.nav{display:flex;gap:28px;pointer-events:auto}
.nav a{font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.78;transition:opacity .4s ease,transform .4s ease}
.nav a:hover{opacity:1;transform:translateY(-2px)}

.section-dark{color:#fff;background:#080807}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.28em;color:var(--gold);margin:0 0 18px;font-weight:500}
.hero{min-height:100svh;position:relative;overflow:hidden;display:grid;align-items:end;padding:0 clamp(24px,6vw,96px) clamp(70px,9vh,120px)}
.hero__image-wrap{position:absolute;inset:0;overflow:hidden}
.hero__image{width:100%;height:100%;object-fit:cover;transform:scale(1.08);filter:saturate(.92) contrast(1.03);transition:transform 1.6s cubic-bezier(.19,1,.22,1),filter 1.6s ease}
.hero:hover .hero__image{transform:scale(1.13);filter:saturate(1) contrast(1.08)}
.hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.28) 48%,rgba(0,0,0,.46));}
.hero__content{position:relative;max-width:900px;will-change:transform}
.hero__title{font-family:var(--serif);font-size:clamp(56px,10vw,150px);line-height:.9;letter-spacing:-.065em;font-weight:400;margin:0 0 28px;max-width:1100px}
.hero__lead{font-size:clamp(15px,1.3vw,19px);line-height:1.7;max-width:520px;color:rgba(255,255,255,.72);font-weight:300;margin:0}
.scroll-cue{position:absolute;right:clamp(24px,4vw,64px);bottom:48px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.65);writing-mode:vertical-rl}

.editorial-split{min-height:380vh;display:grid;grid-template-columns:minmax(320px,40vw) 1fr;position:relative;background:var(--paper);}
.split-copy{position:sticky;top:0;height:100vh;padding:clamp(90px,12vh,150px) clamp(28px,5vw,86px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;overflow:hidden}
.story-step{display:none;position:relative;max-width:460px;opacity:0;transform:translateY(22px);pointer-events:none}
.story-step.is-active{display:block;opacity:1;transform:none;pointer-events:auto}
.story-step h2{font-family:var(--serif);font-size:clamp(38px,5vw,76px);line-height:.98;letter-spacing:-.045em;font-weight:400;margin:0 0 28px}
.story-step p{font-size:15px;line-height:1.9;color:var(--muted);margin:0;max-width:390px}
.split-visual{position:sticky;top:0;height:100vh;overflow:hidden;background:#ddd}
.split-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);will-change:opacity,transform,clip-path}
.mobile-story-image{display:none}
#storyImageB{opacity:0;clip-path:inset(0 0 100% 0)}

.walk-section{height:680vh;background:#090807;position:relative;color:#fff}
.walk-sticky{position:sticky;top:0;height:100vh;overflow:hidden;background:#050505}
.video-stage{position:absolute;inset:0;overflow:hidden;background:#050505}
.scroll-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.018);filter:saturate(.95) contrast(1.02);will-change:opacity,transform}
.scroll-video.is-visible{opacity:1}
.walk-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.06) 52%,rgba(0,0,0,.4));pointer-events:none}
.walk-copy{position:absolute;left:clamp(24px,6vw,92px);bottom:clamp(56px,10vh,110px);max-width:560px;z-index:2}
.walk-copy h2{font-family:var(--serif);font-size:clamp(50px,8vw,118px);line-height:.9;letter-spacing:-.06em;font-weight:400;margin:0 0 22px}
.walk-copy p:last-child{font-size:15px;line-height:1.8;color:rgba(255,255,255,.72);max-width:440px;margin:0}
.walk-counter{position:absolute;right:clamp(24px,4vw,64px);bottom:clamp(56px,10vh,110px);font-family:var(--serif);font-size:28px;color:rgba(255,255,255,.72);letter-spacing:.04em}
.walk-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;background:rgba(255,255,255,.15);z-index:3}
.walk-progress span{display:block;width:0;height:100%;background:#f7efe2}

.kuula-section{padding:clamp(90px,14vw,180px) clamp(20px,5vw,80px);background:#111;color:#fff}
.kuula-intro{max-width:780px;margin:0 auto 56px;text-align:center}
.kuula-intro h2{font-family:var(--serif);font-size:clamp(44px,7vw,108px);line-height:.95;letter-spacing:-.055em;font-weight:400;margin:0 0 24px}
.kuula-intro p{color:rgba(255,255,255,.65);line-height:1.8;max-width:560px;margin:0 auto}
.tour-frame{max-width:1320px;margin:0 auto;border:1px solid rgba(255,255,255,.18);background:#000;overflow:hidden}
.tour-frame iframe{display:block;min-height:640px}

.gallery-section{background:#0d0c0a;color:#fff;height:100vh;min-height:100vh;padding:0;overflow:hidden;position:relative;display:flex;align-items:center}
.gallery-intro{position:absolute;top:clamp(72px,12vh,120px);left:clamp(24px,5vw,80px);z-index:3;max-width:min(720px,62vw);margin:0;pointer-events:none}
.gallery-intro h2{font-family:var(--serif);font-size:clamp(42px,6.7vw,104px);line-height:.9;letter-spacing:-.06em;font-weight:400;margin:0;text-wrap:balance}
.horizontal-gallery{position:relative;z-index:1;display:flex;align-items:flex-end;gap:28px;width:max-content;padding:22vh clamp(24px,5vw,80px) 0}
.horizontal-gallery figure{width:36vw;min-width:340px;margin:0;position:relative}.horizontal-gallery figure.wide{width:54vw;min-width:580px}.horizontal-gallery figure:nth-child(even){transform:translateY(-5vh)}.horizontal-gallery figure:nth-child(3n){transform:translateY(4vh)}.horizontal-gallery img{width:100%;height:56vh;max-height:620px;object-fit:cover}.horizontal-gallery figcaption{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:18px}

.details-section{padding:clamp(90px,14vw,180px) clamp(24px,6vw,96px);background:var(--paper)}
.details-title{max-width:780px;margin-bottom:72px}.details-title h2{font-family:var(--serif);font-size:clamp(42px,7vw,104px);line-height:.95;letter-spacing:-.055em;font-weight:400;margin:0}
.details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.details-grid>div{background:var(--paper);padding:44px 30px 54px;min-height:260px}.details-grid span{font-family:var(--serif);color:var(--gold);font-size:32px}.details-grid h3{font-family:var(--serif);font-weight:400;font-size:28px;letter-spacing:-.02em;margin:50px 0 14px}.details-grid p{color:var(--muted);line-height:1.8;margin:0;font-size:14px}

.final-cta{min-height:100vh;position:relative;display:grid;place-items:center;text-align:center;overflow:hidden;padding:60px 24px}.final-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45;filter:saturate(.9);transform:scale(1.08)}.final-cta:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42)}.final-cta div{position:relative;z-index:1;max-width:980px}.final-cta h2{font-family:var(--serif);font-size:clamp(44px,8vw,118px);line-height:.92;letter-spacing:-.06em;font-weight:400;margin:0 0 28px}.final-cta p:last-child{color:rgba(255,255,255,.68);line-height:1.8}
.footer{padding:42px clamp(24px,5vw,80px);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.footer img{width:110px;height:auto}

@media(max-width:900px){
  html,body{overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch}
  .nav{display:none}
  .site-header{padding:22px 20px}
  .hero{min-height:100dvh;height:100dvh;touch-action:pan-y;overscroll-behavior:auto}
  .hero__image{transition:none}
  .editorial-split{display:block!important;min-height:auto!important;height:auto!important;background:var(--paper);padding:0 0 42px}
  .split-copy{position:relative!important;top:auto!important;height:auto!important;min-height:auto!important;padding:84px 22px 10px;display:block;overflow:visible!important}
  .split-copy>.eyebrow{margin-bottom:28px}
  .story-step,.story-step.is-active{display:block!important;position:relative!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important;max-width:none;margin:0 0 58px;padding-bottom:58px;border-bottom:1px solid var(--line)}
  .story-step:last-child{margin-bottom:0;border-bottom:0}
  .mobile-story-image{display:block;width:100%;height:54svh;object-fit:cover;margin:0 0 28px;will-change:clip-path,transform}
  .story-step h2{font-size:clamp(39px,12vw,66px);line-height:.94;letter-spacing:-.055em;margin:0 0 18px;max-width:94vw}
  .story-step p{font-size:15px;line-height:1.78;max-width:90vw;color:var(--muted)}
  .split-visual{display:none!important}
  .walk-section{height:900svh;min-height:900svh}
  .walk-sticky{height:100svh}
  .scroll-video{object-fit:cover;transform:scale(1.01)}
  .walk-overlay{background:linear-gradient(180deg,rgba(0,0,0,.22),rgba(0,0,0,.1) 45%,rgba(0,0,0,.72))}
  .walk-copy{left:22px;right:22px;bottom:44px;max-width:none}
  .walk-copy h2{font-size:clamp(48px,16vw,84px)}
  .walk-copy p:last-child{font-size:14px;line-height:1.65;max-width:88vw}
  .details-grid{grid-template-columns:1fr 1fr}
  .horizontal-gallery figure,.horizontal-gallery figure.wide{min-width:78vw;width:78vw}
  .gallery-intro{max-width:82vw}
  .horizontal-gallery{padding-top:28vh}
  .tour-frame iframe{height:520px;min-height:520px}
}
@media(max-width:600px){
  .hero{padding-bottom:80px}
  .hero__title{font-size:54px}
  .hero__lead{font-size:14px;max-width:88vw}
  .walk-counter{display:none}
  .walk-section{height:1050svh;min-height:1050svh}
  .details-grid{grid-template-columns:1fr}
  .footer{display:block}.footer img{margin-bottom:22px}
  .horizontal-gallery img{height:52vh}.gallery-intro h2{font-size:46px}
}
