/* deckhaus v1.2 — case template v2. One template, every case. Depends on styles.css tokens + v5-base nav. */
:root{--k-ink:#08080A;--k-paper:#F4F4EF;--k-line:rgba(244,244,239,.14);--gut:clamp(20px,4vw,64px);--maxw:1480px}
html{scroll-behavior:smooth}
body.k2{background:var(--sand-200);color:var(--ink-900);margin:0}
.k2 .wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.k2 img,.k2 video{display:block;max-width:100%}
.k-mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.k-lab{display:flex;gap:12px;align-items:center;color:var(--text-muted)}
.k-lab b{font-weight:400;color:var(--lime-text)}
.k-dark .k-lab{color:rgba(244,244,239,.55)}.k-dark .k-lab b{color:var(--lime-500)}
.k-dark{background:var(--k-ink);color:var(--k-paper)}
/* progress */
.k-prog{position:fixed;top:0;left:0;height:2px;width:0;background:var(--lime-500);z-index:80;pointer-events:none}
/* hero */
.k-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--k-ink);color:var(--k-paper)}
.k-hero .media{position:absolute;inset:0}
.k-hero .media img,.k-hero .media video{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);animation:k-in 1.6s cubic-bezier(.16,1,.3,1) both}
@keyframes k-in{from{transform:scale(1.08);opacity:.4}to{transform:scale(1);opacity:1}}
.k-hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,.55) 0%,rgba(8,8,10,0) 30%,rgba(8,8,10,.15) 55%,rgba(8,8,10,.9) 100%)}
.k-hero .in{position:relative;padding-top:140px;padding-bottom:clamp(28px,4vw,52px)}
.k-back{display:inline-flex;gap:10px;align-items:center;color:rgba(244,244,239,.7);text-decoration:none}
.k-back:hover{color:var(--k-paper)}
.k-tag{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:7px 12px;border:1px solid rgba(244,244,239,.28);border-radius:99px;color:rgba(244,244,239,.85)}
.k-tag i{width:6px;height:6px;border-radius:50%;background:var(--lime-500)}
.k-h1{font-family:var(--font-display);font-weight:400;font-size:clamp(64px,12.5vw,220px);line-height:.9;letter-spacing:-.01em;margin:18px 0 0}
.k-sub{font-size:clamp(19px,1.8vw,26px);line-height:1.4;max-width:34ch;margin:22px 0 0;color:rgba(244,244,239,.86);text-wrap:balance}
.k-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:clamp(36px,5vw,72px);border-top:1px solid var(--k-line)}
.k-strip>div{padding:16px 16px 0 0;display:flex;flex-direction:column;gap:8px}
.k-strip .k{color:rgba(244,244,239,.5)}
.k-strip .v{font-size:15px;color:var(--k-paper)}
@media(max-width:820px){.k-strip{grid-template-columns:repeat(2,1fr)}.k-strip>div:nth-child(n+3){padding-top:18px}}
/* sections */
.k-sec{padding:clamp(80px,11vw,170px) 0;position:relative}
.k-two{display:grid;grid-template-columns:minmax(0,.32fr) minmax(0,.68fr);gap:clamp(24px,5vw,90px);align-items:start}
@media(max-width:900px){.k-two{grid-template-columns:1fr}}
.k-h2{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,4.6vw,76px);line-height:1.04;letter-spacing:-.005em;margin:0;text-wrap:balance}
.k-h2 em{font-style:normal;color:var(--lime-text)}
.k-dark .k-h2 em{color:var(--lime-500)}
.k-p{font-size:clamp(17px,1.35vw,20px);line-height:1.62;color:var(--text-secondary);max-width:56ch;margin:26px 0 0;text-wrap:pretty}
.k-dark .k-p{color:rgba(244,244,239,.72)}
/* idea slab */
.k-idea{text-align:center}
.k-idea .k-h2{font-size:clamp(40px,6.4vw,112px);max-width:16ch;margin:28px auto 0}
.k-idea .k-p{margin:28px auto 0;text-align:center}
.k-idea .k-lab{justify-content:center}
/* full-bleed media */
.k-bleed{position:relative;overflow:hidden;background:var(--k-ink)}
.k-bleed img,.k-bleed video{width:100%;height:auto}
.k-bleed.cap figcaption{position:absolute;left:var(--gut);bottom:20px;color:rgba(244,244,239,.8)}
/* gallery wall (12-col) */
.k-wall{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(8px,1vw,16px);margin-top:clamp(40px,5vw,72px)}
.k-wall figure{margin:0;position:relative;overflow:hidden;border-radius:6px;background:var(--sand-300)}
.k-dark .k-wall figure{background:#141416}
.k-wall figure img,.k-wall figure video{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}
.k-wall figure:hover img{transform:scale(1.025)}
.k-wall figcaption{position:absolute;left:12px;bottom:10px;padding:5px 8px;border-radius:4px;background:rgba(8,8,10,.62);color:#F4F4EF;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.k-wall figure.contain{background:#E6E3DA}.k-wall figure.contain img{object-fit:contain}
@media(max-width:820px){.k-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.k-wall figure{grid-column:span 2!important}.k-wall figure.half{grid-column:span 1!important}}
/* routes (Direction Room) */
.k-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.4vw,22px);margin-top:clamp(40px,5vw,64px)}
.k-route{border:1px solid var(--k-line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.k-route .ph{aspect-ratio:16/9;overflow:hidden;background:#141416}.k-route .ph img{width:100%;height:100%;object-fit:cover}
.k-route .tx{padding:20px 20px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.k-route h3{font-family:var(--font-display);font-weight:400;font-size:clamp(22px,2vw,30px);margin:0}
.k-route p{margin:0;font-size:15px;line-height:1.55;color:rgba(244,244,239,.66)}
.k-route .st{margin-top:auto;padding-top:12px;color:rgba(244,244,239,.45)}
.k-route.won{border-color:var(--lime-500)}.k-route.won .st{color:var(--lime-500)}
@media(max-width:900px){.k-routes{grid-template-columns:1fr}}
/* system chips (identity) */
.k-sys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--border-default);border:1px solid var(--border-default);margin-top:clamp(36px,4vw,56px)}
.k-sys>div{background:var(--sand-100);padding:22px;display:flex;flex-direction:column;gap:10px}
.k-sys b{font-family:var(--font-mono);font-weight:400;font-size:11px;letter-spacing:.16em;color:var(--lime-text)}
.k-sys h4{margin:0;font-size:17px}.k-sys p{margin:0;font-size:15px;line-height:1.55;color:var(--text-secondary)}
@media(max-width:900px){.k-sys{grid-template-columns:1fr 1fr}}@media(max-width:560px){.k-sys{grid-template-columns:1fr}}
/* quote */
.k-quote{text-align:left}
.k-quote blockquote{margin:28px 0 0;font-family:var(--font-display);font-weight:400;font-size:clamp(30px,3.8vw,60px);line-height:1.12;max-width:24ch;text-wrap:balance}
.k-quote .who{margin-top:28px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;color:rgba(244,244,239,.6)}
.k-draft{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:99px;border:1px dashed rgba(244,244,239,.4);color:rgba(244,244,239,.8)}
.k-draft:before{content:'';width:6px;height:6px;border-radius:50%;background:#FFC24B}
/* delivered ledger */
.k-led{border-top:1px solid var(--border-default);margin-top:clamp(36px,4vw,56px)}
.k-led>div{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.2fr);gap:clamp(12px,2.4vw,40px);padding:20px 0;border-bottom:1px solid var(--border-default);align-items:baseline}
.k-led b{font-family:var(--font-mono);font-weight:400;font-size:12px;letter-spacing:.14em;color:var(--lime-text)}
.k-led h4{margin:0;font-size:18px;font-weight:700}.k-led p{margin:0;font-size:15.5px;line-height:1.55;color:var(--text-secondary)}
@media(max-width:720px){.k-led>div{grid-template-columns:36px 1fr}.k-led p{grid-column:2}}
.k-note{margin-top:22px;color:var(--text-muted)}
/* next */
.k-next{position:relative;display:block;min-height:min(78vh,760px);overflow:hidden;color:var(--k-paper);text-decoration:none;background:var(--k-ink)}
.k-next img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;transition:transform 1.6s cubic-bezier(.16,1,.3,1),opacity .6s}
.k-next:hover img{transform:scale(1.03);opacity:.78}
.k-next .in{position:relative;padding-top:clamp(80px,10vw,140px);padding-bottom:clamp(48px,6vw,80px);display:flex;flex-direction:column;min-height:min(78vh,760px);justify-content:space-between}
.k-next .k-h1{font-size:clamp(56px,10vw,170px)}
.k-next .go{display:inline-flex;gap:12px;align-items:center;margin-top:18px;font-size:18px}
/* cta */
.k-cta{padding:clamp(72px,9vw,130px) 0;text-align:center}
.k-cta .k-h2{max-width:18ch;margin:0 auto}
.k-cta .row{display:flex;gap:12px;justify-content:center;margin-top:34px;flex-wrap:wrap}
/* footer */
.k-foot{padding:44px 0 36px;border-top:1px solid var(--k-line)}
.k-foot .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:rgba(244,244,239,.55)}
.k-foot a{color:rgba(244,244,239,.75);text-decoration:none;margin-right:18px}.k-foot a:hover{color:#fff}
/* reveal: scroll-driven, never leaves content hidden */
.rv2{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.22,1,.28,1),transform 1.2s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0)*70ms)}
.rv2.in{opacity:1;transform:none}
html.no-rv .rv2{opacity:1;transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.rv2{opacity:1;transform:none;transition:none}.k-hero .media img,.k-hero .media video{animation:none}}
