/* Desktop layout (index.html). Heavier: Lenis, pinned horizontal moodboard, parallax, sticky rail. */
.hero{padding:112px clamp(24px,3.4vw,56px) 0}
.hero-eyebrow{margin:0 0 22px;color:var(--c3)}
.hero-title{margin:0}
.hero-logo{width:100%;height:auto;color:var(--c2);overflow:visible}
.hero-logo .lg-type path{transform-box:fill-box}
.hero-row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:end;margin-top:clamp(26px,3vw,44px)}
.hero-lede{margin:0;font:500 clamp(1.4rem,2vw,1.95rem)/1.22 var(--serif);letter-spacing:-.012em;max-width:28ch}
.hero-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0}
.hero-meta div{border-top:1px solid var(--c2);padding-top:10px}
.hero-meta dt{font:600 .7rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--c3);margin-bottom:6px}
.hero-meta dd{margin:0;font-size:.92rem;line-height:1.4}
.hero-media{margin:clamp(40px,5vw,72px) 0 0}
.hero-img{height:min(88vh,860px);overflow:hidden;border-radius:var(--r)}
.hero-img img{width:100%;height:118%;object-fit:cover;will-change:transform}
.hero-media figcaption{margin-top:12px;color:var(--mute)}

.case{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(32px,4vw,72px);padding:clamp(96px,10vw,160px) clamp(24px,3.4vw,56px) 0}
.rail{position:sticky;top:86px;align-self:start;display:flex;flex-direction:column;gap:22px;height:calc(100vh - 120px)}
.rail-h{display:flex;align-items:center;gap:12px;margin:0;font:700 1.15rem/1.05 var(--serif)}
.rail-h small{font:600 .66rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.rail-h .mark{width:42px;height:42px;color:var(--c2)}
.rail-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;counter-reset:r}
.rail-list a{display:grid;grid-template-columns:30px 1fr;align-items:center;padding:7px 0;text-decoration:none;font-size:.92rem;color:var(--mute);transition:color .3s}
.rail-list a::before{counter-increment:r;content:counter(r,decimal-leading-zero);font:600 .68rem/1 var(--sans);letter-spacing:.1em}
.rail-list a:hover{color:var(--c2)}
.rail-list a.on{color:var(--c2);font-weight:600}
.rail-list a.on::before{color:var(--c3)}
.rail-prog{height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.rail-prog i{display:block;height:100%;width:100%;background:var(--c3);transform-origin:0 50%;transform:scaleX(0)}
.rail-note{margin-top:auto;font-size:.82rem;color:var(--mute);border-top:1px solid var(--line);padding-top:12px}
.case-main{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(120px,13vw,200px)}

.tri{grid-template-columns:repeat(3,1fr);gap:28px}

.cs-mood{--mh:min(62vh,560px)}
.mood{overflow:hidden;margin-right:calc(-1*clamp(24px,3.4vw,56px))}
.mood-track{display:flex;gap:28px;width:max-content;padding-right:clamp(24px,3.4vw,56px);will-change:transform}
.mood-card{width:calc(var(--mh)*1.42)}
.mood-card.is-tall{width:calc(var(--mh)*.72)}
.mood-img{height:calc(var(--mh) - 110px)}
.mood-card figcaption{max-width:46ch}
.mood-hint{margin:22px 0 0}
.no-pin .mood{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:14px}
.no-pin .mood-card{scroll-snap-align:start}
.principles{grid-template-columns:repeat(3,1fr);gap:28px;border-top:0}
.principles li{grid-template-columns:1fr;border-top:1px solid var(--c2);border-bottom:0;padding-top:14px;gap:6px}

.id-logos{grid-template-columns:1.3fr 1fr;grid-template-rows:auto auto}
.id-light{grid-row:span 2;min-height:420px;justify-content:center}
.id-light .id-logo{width:92%}
.id-light .mono{position:absolute;left:clamp(22px,3vw,44px);bottom:22px}
.palette{grid-template-columns:1.6fr 1.1fr .8fr}
.type{grid-template-columns:1fr 1fr;gap:32px 48px}
.type-scale{grid-column:1/-1}

.bento{grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(210px,auto)}
.b-btn{grid-column:span 4} .b-badge{grid-column:span 2}
.b-count{grid-column:span 2} .b-card{grid-column:span 2;grid-row:span 2} .b-field{grid-column:span 2}
.b-grid{grid-column:span 2} .b-icons{grid-column:span 2}
.b-card{justify-content:flex-start}

.cs-screens .browser{margin-bottom:clamp(64px,7vw,110px)}
.phones{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,64px);padding:0 clamp(0px,3vw,48px)}
.phone:nth-child(2){transform:translateY(64px)}

.fire{grid-template-columns:1.55fr 1fr;align-items:center;gap:clamp(28px,4vw,64px)}

.mrow{grid-template-columns:1.05fr 1.5fr 1.25fr}

.next{margin-top:-40px}
.foot-top{grid-template-columns:1fr 1fr;align-items:end}
.foot-cols{grid-template-columns:1.6fr 1fr}

/* magnetic + cursor polish */
.mag{will-change:transform}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}

@media (max-width:1180px){
  .case{grid-template-columns:1fr}
  .rail{display:none}
  .hero-meta{grid-template-columns:repeat(2,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .hero-img img{height:100%}
  .phone:nth-child(2){transform:none}
}
