/* ---------- HERO ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:560px;background:var(--ink);color:var(--cream);overflow:hidden}
.slides,.slide{position:absolute;inset:0}
.slide{clip-path:inset(0 0 0 100%);z-index:1}
.slide.is-active{clip-path:none;z-index:2}
.slide.is-in{z-index:3}
.slide video{width:100%;height:100%;object-fit:cover;transform-origin:50% 50%}
.hero-shade{position:absolute;inset:0;z-index:4;pointer-events:none;
  background:linear-gradient(180deg,rgba(23,19,15,.45) 0%,rgba(23,19,15,0) 30%,rgba(23,19,15,0) 45%,rgba(23,19,15,.75) 100%)}
.hero-copy{position:absolute;left:0;right:0;bottom:0;z-index:5;padding-bottom:clamp(28px,5vh,56px)}
.hero-eyebrow{color:rgba(243,236,225,.8)!important;margin:0 0 22px}
.titles{position:relative;height:calc(clamp(48px,10vw,168px) * 1.9)}
.titles .t{position:absolute;left:0;bottom:0;width:100%}
.titles .t:not(.is-active){opacity:0}
.hero-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:34px;flex-wrap:wrap}
.hero-foot .btn{color:var(--cream)}
.hero-tabs{list-style:none;margin:0;padding:0;display:flex;gap:26px}
.hero-tabs button{position:relative;display:flex;flex-direction:column;gap:6px;text-align:left;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(243,236,225,.55);padding-bottom:12px;min-width:110px;transition:color .4s}
.hero-tabs button b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:15px;letter-spacing:0}
.hero-tabs button.is-active,.hero-tabs button:hover{color:var(--cream)}
.hero-tabs i{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(243,236,225,.25);overflow:hidden}
.hero-tabs i::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(var(--p,0));transform-origin:left}
.hero-count{position:absolute;right:var(--gut);top:50%;transform:translateY(-50%);z-index:5;display:flex;align-items:flex-start;gap:8px;font-family:var(--serif);color:var(--cream)}
.hc-roll{height:clamp(60px,8vw,120px);overflow:hidden;font-size:clamp(60px,8vw,120px);line-height:1;font-style:italic}
.hc-roll span{display:block;height:1em}
.hero-count small{font-size:14px;opacity:.6;margin-top:10px;font-family:var(--sans)}
.scroll-cue{position:absolute;left:50%;top:calc(100% - 22px);transform:translate(-50%,-100%);z-index:5;display:none}
@media (max-width:1100px){.hero-tabs{display:none}}
@media (max-width:700px){
  .hero-count{top:96px;transform:none}
  .hero .h-xl{font-size:10.4vw}
  .hero .h-xl .line{white-space:nowrap}
  .titles{height:calc(10.4vw * 2.2)}
}

/* ---------- INTRO ---------- */
.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);padding-top:clamp(90px,14vw,190px);padding-bottom:clamp(90px,14vw,190px);align-items:center}
.intro-text{display:grid;gap:30px;align-content:start;justify-items:start}
.intro-text .h-l em{color:var(--terra)}
.intro-art{position:relative;min-height:640px}
.ia-1{position:absolute;right:0;top:0;width:72%;aspect-ratio:2/3}
.ia-2{position:absolute;left:0;bottom:4%;width:48%;aspect-ratio:4/5;box-shadow:0 30px 60px -20px rgba(23,19,15,.45);z-index:2}
.ia-cap{position:absolute;right:0;bottom:-34px;margin:0;font-size:12px;color:var(--muted);letter-spacing:.04em}
.stamp{position:absolute;left:12%;top:4%;width:150px;height:150px;z-index:3;display:grid;place-items:center;color:var(--ink)}
.stamp svg{position:absolute;inset:0;width:100%;height:100%;animation:spin 22s linear infinite}
.stamp text{font-size:13.5px;letter-spacing:.32em;font-family:var(--sans);fill:currentColor}
.stamp b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:46px;color:var(--terra)}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:900px){
  .intro{grid-template-columns:1fr}
  .intro-art{min-height:auto;aspect-ratio:1/1.15}
  .stamp{width:110px;height:110px;left:2%}
}

/* ---------- PILLARS ---------- */
.pillars{padding:clamp(90px,12vw,170px) 0}
.pillars-head{display:grid;gap:26px;margin-bottom:70px}
.pillars-head .h-l em{color:var(--gold)}
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,36px);perspective:1200px}
.pillar{position:relative;transform-style:preserve-3d;padding:18px 18px 30px;border:1px solid rgba(243,236,225,.14);background:linear-gradient(180deg,rgba(243,236,225,.04),rgba(243,236,225,0))}
.pillar:nth-child(2){margin-top:80px}
.pillar:nth-child(3){margin-top:160px}
.pillar-media{aspect-ratio:4/5;overflow:hidden;transform:translateZ(30px);background:#2a231c}
.pm-in{width:100%;height:100%}
.pm-in video{width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05)}
.pillar-n{position:absolute;top:30px;right:30px;font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold);transform:translateZ(70px)}
.pillar h3{margin:26px 0 10px;transform:translateZ(50px)}
.pillar h3 em{color:var(--gold)}
.pillar p{margin:0;color:rgba(243,236,225,.72);font-size:15px;transform:translateZ(40px);max-width:34ch}
@media (max-width:900px){
  .pillar-grid{grid-template-columns:1fr}
  .pillar:nth-child(2),.pillar:nth-child(3){margin-top:0}
}

/* ---------- ZOOM ---------- */
.zoom{position:relative;height:300vh;background:var(--cream)}
.zoom-stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;place-items:center}
.zoom-frame{position:absolute;left:50%;top:50%;width:28vw;height:38vh;transform:translate(-50%,-50%);overflow:hidden;z-index:2;border-radius:200px 200px 0 0}
.zoom-frame video{width:100%;height:100%;object-fit:cover}
.zoom-words{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:30vw;z-index:1;white-space:nowrap}
.zoom-words em{color:var(--terra)}
.zoom-cap{position:absolute;bottom:40px;left:0;right:0;text-align:center;z-index:3;color:var(--cream);font-family:var(--serif);font-style:italic;font-size:clamp(18px,2vw,26px);margin:0;opacity:0;padding:0 var(--gut)}
.rm .zoom{height:auto}.rm .zoom-stage{position:relative}
.rm .zoom-frame{position:relative;left:auto;top:auto;transform:none;width:100%;height:100vh;border-radius:0}
.rm .zoom-words{display:none}.rm .zoom-cap{opacity:1}
@media (max-width:700px){.zoom-frame{width:56vw;height:34vh}.zoom-words{gap:58vw;font-size:15vw}}

/* ---------- STRIP ---------- */
.strip-sec{padding:clamp(90px,12vw,170px) 0 clamp(70px,9vw,130px);overflow:hidden}
.strip-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:60px}
.strip-head .h-l em{color:var(--olive)}
.strip{overflow:hidden;cursor:grab;touch-action:pan-y}
.strip:active{cursor:grabbing}
.strip-track{display:flex;gap:22px;width:max-content;padding:0 var(--gut);align-items:flex-end;will-change:transform}
.strip figure{margin:0;width:clamp(260px,30vw,460px);flex:none}
.strip figure.tall{width:clamp(200px,20vw,320px)}
.strip figure img{width:100%;aspect-ratio:4/3;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none}
.strip figure.tall img{aspect-ratio:3/4.4}
.strip figcaption{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:12px}
