/* Dinesh PP v2 — re-engineered from the LIVE reference.fiddle.digital.
   Tokens observed live: #0b0b0c page, #f4f1ea clarity panel, vermillion #d9381e accent.
   Original copy and art throughout — structure studied, nothing copied. */
:root{
  --ink:#0b0b0c;
  --ink2:#101013;
  --paper:#f4f1ea;
  --red:#d9381e;
  --red-dim:#a32c16;
  --teal:#16262e;
  --cream:#f0e8d5;
  --mut:#8a8a8a;
  --white:#fff;
  --font:"Space Grotesk",system-ui,sans-serif;
  --mono:"Space Mono",ui-monospace,monospace;
  --f-smooth:cubic-bezier(.5,0,.3,1);
  --f-bounce:cubic-bezier(.6,.5,0,2);
  --gap:clamp(16px,2.4vw,36px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scrollbar-width:thin;scrollbar-color:#333 var(--ink)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--ink);color:var(--white);font-family:var(--font);
  font-size:1rem;line-height:1.35;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--red);color:#fff}
a{color:inherit}
@font-face{font-family:"Space Grotesk";src:url("../assets/fonts/space-grotesk-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("../assets/fonts/space-grotesk-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url("../assets/fonts/space-grotesk-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Space Mono";src:url("../assets/fonts/space-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Space Mono";src:url("../assets/fonts/space-mono-latin-700-normal.woff2") format("woff2");font-weight:700;font-display:swap}

/* cursor */
.cursor{position:fixed;top:0;left:0;width:10px;height:10px;border-radius:50%;
  background:var(--red);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:difference}
.cursor-ring{position:fixed;top:0;left:0;width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(255,255,255,.5);pointer-events:none;z-index:9998;transform:translate(-50%,-50%);
  transition:width .3s var(--f-smooth),height .3s var(--f-smooth),border-color .3s}
.cursor-ring.is-hover{width:64px;height:64px;border-color:var(--red)}
@media(hover:none){.cursor,.cursor-ring{display:none}}

/* film grain */
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:9000;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 8s steps(10) infinite}
@keyframes grain{0%,100%{transform:translate(0,0)}10%{transform:translate(-2%,-3%)}30%{transform:translate(3%,-2%)}50%{transform:translate(-3%,2%)}70%{transform:translate(2%,3%)}90%{transform:translate(-1%,1%)}}

/* red progress bar, top edge */
.topbar{position:fixed;top:0;left:0;right:0;height:3px;z-index:9500;pointer-events:none}
.topbar span{display:block;height:100%;background:var(--red);transform:scaleX(0);transform-origin:0 50%}

/* shared */
.w-welcome,.s-journey{position:relative;overflow:hidden}
.w-transition,.w-tree{position:relative} /* no overflow:hidden — sticky children need it */
.wrap{padding:0 var(--gap);max-width:1600px;margin:0 auto;position:relative;z-index:1}
.micro{font-family:var(--mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.micro .p{color:var(--red)}
.micro-dark{color:#3a3a38}
[data-reveal]{opacity:0;transform:translateY(48px)}
.h-xl{font-size:clamp(2.6rem,6.4vw,5.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.02;margin-top:.6em}
.h-lg{font-size:clamp(2.2rem,5vw,4.4rem);font-weight:700;letter-spacing:-.02em;line-height:1.02;margin-top:.6em}

/* pills */
.pill{display:inline-flex;align-items:center;padding:.55em 1.2em;border-radius:999px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;text-decoration:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  transition:background .3s,border-color .3s}
.pill:hover{background:rgba(255,255,255,.16)}
.pill-hot{background:var(--red);border-color:var(--red)}
.pill-hot:hover{background:var(--red-dim)}
.pill-ghost{background:transparent}

/* ══ WELCOME / TRANSITION / TREE — ported from reference reference ══ */
:root{
  --st-black:#101214;
  --st-grey:#e6dfe4;
  --st-grey-dark:#544d56;
  --st-purple:#a399a8;
  --st-red:#ff4f36;
  --st-cubic:cubic-bezier(.35,.35,0,1);
  --st-display:"KHTeka",system-ui,sans-serif;
  --st-mono:"KHTekaMono","Space Mono",ui-monospace,monospace;
}
@font-face{font-family:"KHTeka";src:url("../assets/fonts/KHTeka-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"KHTekaMono";src:url("../assets/fonts/KHTekaMono-Regular.woff2") format("woff2");font-weight:400;font-display:swap}

/* ---- 1 · WELCOME ---- */
.w-welcome{min-height:100svh;background:var(--st-black);color:var(--st-grey);
  position:relative;overflow:hidden;font-family:var(--st-display)}
#dragon-canvas{position:absolute;top:0;right:0;width:58%;height:100%;display:block;opacity:0;z-index:1}
.hud-top{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;
  justify-content:space-between;align-items:center;padding:calc(var(--gap)*.7) var(--gap)}
.w-ver{position:absolute;top:calc(var(--gap)*.8);left:0;right:0;text-align:center;z-index:3;
  font-family:var(--st-mono);font-size:.8rem;letter-spacing:.14em;color:var(--st-grey-dark);pointer-events:none}
.w-head{position:absolute;left:var(--gap);top:13%;z-index:4;margin:0;
  font-size:clamp(2.6rem,5.2vw,4.6rem);font-weight:400;line-height:1.02;letter-spacing:-.01em}
.w-head .l{display:block;overflow:hidden}
.w-head .l>span{display:inline-block}
.w-head .inc{display:flex;align-items:flex-start;gap:1.2rem}
.w-head .built{font-family:var(--st-mono);font-size:.78rem;letter-spacing:.06em;line-height:1.7;
  color:var(--st-grey);margin-top:.6em;font-weight:400}
.w-head .built a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.w-card{position:absolute;left:var(--gap);bottom:32%;z-index:5;width:min(300px,26vw);
  text-decoration:none;display:block}
.w-card::before{content:attr(data-name);display:block;color:var(--st-purple);
  font-family:var(--st-mono);font-size:.85rem;letter-spacing:.06em;margin-bottom:.7em}
.w-card .video-wrap{position:relative;display:block;aspect-ratio:16/9;background:#000;
  border-radius:14px;overflow:hidden;
  -webkit-mask-image:linear-gradient(135deg,transparent 25%,#000 50%);
  mask-image:linear-gradient(135deg,transparent 25%,#000 50%);
  -webkit-mask-size:250% 100%;mask-size:250% 100%;-webkit-mask-position:100% 0;mask-position:100% 0;
  transition:mask-position 1.2s var(--st-cubic),-webkit-mask-position 1.2s var(--st-cubic)}
.w-card video{width:100%;height:100%;object-fit:cover;opacity:.45;scale:1;
  transition:opacity .6s var(--st-cubic),scale .6s var(--st-cubic)}
.w-card:hover .video-wrap{-webkit-mask-position:0 0;mask-position:0 0}
.w-card:hover video{opacity:1;scale:1.25}
.w-giant{position:absolute;left:0;right:0;bottom:5%;z-index:4;margin:0;text-align:center;pointer-events:none;
  font-family:var(--st-display);
  font-size:clamp(3rem,14.5vw,14.5vw);font-weight:400;letter-spacing:-.02em;line-height:.95;white-space:nowrap;
  color:transparent;
  background:linear-gradient(180deg,#f2ede6 20%,#8f8a93 90%);
  -webkit-background-clip:text;background-clip:text}
.w-giant .ch{display:inline-block}
.w-caret{display:inline-block;width:.075em;height:.82em;margin-left:.08em;vertical-align:-.06em;
  background:#f2ede6;animation:caretBlink 1.02s steps(2,start) infinite}
@keyframes caretBlink{50%{opacity:0}}
.w-sub{position:absolute;bottom:calc(var(--gap)*.9);z-index:4;margin:0;
  font-family:var(--st-mono);font-size:.72rem;letter-spacing:.22em;color:var(--st-grey)}
.w-sub.s1{left:var(--gap)}
.w-sub.s2{right:var(--gap);text-align:right}

/* ---- 2 · TRANSITION (pinned) : blood crimson ---- */
.w-transition{position:relative;height:800vh;z-index:10;
  background:radial-gradient(ellipse at 50% 38%,#b01424 0%,#7d0d1a 52%,#46060f 100%)}
.t-progress{position:sticky;top:0;height:0;z-index:6}
.t-progress span{display:block;height:3px;background:#f3e9d2;transform:scaleX(0);transform-origin:0 50%}
.t-stage{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden}
.t-ph{grid-area:1/1;margin:0;text-align:center;color:#f3e9d2;
  font-family:'Archivo Black',sans-serif;font-size:clamp(2.6rem,7vw,6rem);font-weight:400;
  letter-spacing:.01em;line-height:1.05;max-width:18ch;text-transform:uppercase;
  text-shadow:0 6px 40px rgba(40,0,5,.55)}
.t-ph .ch{display:inline-block;opacity:.08;filter:blur(12px);will-change:opacity,filter,transform}

/* ---- 3 · TREE ---- */
@media(max-width:760px){
  #dragon-canvas{width:100%;height:52%;top:auto;bottom:0}
  .w-head{top:10%;font-size:clamp(2.2rem,9vw,3.4rem)}
  .w-card{bottom:auto;top:37%;width:min(240px,52vw)}
  .w-giant{font-size:13.5vw;bottom:9%}
  .w-sub.s1{display:none}
  .t-ph{font-size:clamp(1.8rem,8vw,2.6rem)}
  .composition{min-height:52vh}
  /* mobile: transition is 800vh of red on desktop — 320vh keeps the
     phrases + dragon flight, without the endless empty scroll */
  .w-transition{height:320vh}
  img{max-width:100%}
}
.brand{display:flex;align-items:center;gap:.7em;text-decoration:none}
.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--red);display:grid;place-items:center}
.brand-mark svg{width:18px;height:18px}
.brand-word{font-weight:700;font-size:1.02rem;letter-spacing:-.01em}
.brand-word sup{font-size:.55em;color:var(--mut)}
.pills{display:flex;align-items:center;gap:.55em}
.pct{font-family:var(--mono);font-size:.78rem;color:var(--mut);margin-left:.6em;min-width:3.2em;text-align:right}
@media(max-width:760px){
  /* mobile: show the Project pill too — it was hidden, so there was no
     way to reach Projects from the header on a phone. Compact everything
     so brand + Project + Start a Project still fit at 390px. The %
     number is hidden (the red progress bar above still shows it). */
  .hud-top{padding-left:12px;padding-right:12px}
  .brand{gap:.5em}
  .brand-mark{width:30px;height:30px}
  .brand-word{font-size:.95rem}
  .brand-word sup{display:none}
  .pills{gap:.4em}
  .pills .pill{display:inline-flex;padding:.5em .8em;font-size:.68rem}
  .pct{display:none}
  /* header: white logo text was invisible on the cream sections —
     dark bar on mobile keeps it readable everywhere */
  .hud-top{background:rgba(13,17,20,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
}

/* ══ 3 · JOURNEY (pinned storm chapter) ══ */
.s-journey{min-height:100svh;background:#0d1114}
#storm{position:absolute;inset:0;width:100%;height:100%}
.ch-title{position:absolute;top:9%;left:0;right:0;text-align:center;z-index:3;pointer-events:none}
.ch-title span{font-family:var(--mono);font-size:clamp(1.4rem,3.4vw,2.6rem);letter-spacing:.34em;color:var(--cream)}
/* journey story : paper character walks through 4 stages */
.journey-track{position:absolute;left:0;right:0;bottom:0;top:24%;z-index:4}
.j-path{position:absolute;left:4%;right:4%;bottom:6%;width:92%;height:38%}
.j-path path{stroke:rgba(240,232,213,.35);stroke-width:2;stroke-dasharray:9 11;fill:none}
.j-char{position:absolute;bottom:16%;left:8%;width:clamp(64px,7vw,96px);z-index:5;
  transform:translateX(-50%);filter:drop-shadow(0 10px 12px rgba(0,0,0,.45))}
.j-char.walking svg{animation:jWalk .45s ease-in-out infinite alternate}
@keyframes jWalk{from{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-10px) rotate(2deg)}}
.j-stages{position:absolute;inset:0;pointer-events:none}
.j-stage{position:absolute;left:var(--sx);top:2%;width:min(300px,24vw);transform:translateX(-50%);
  text-align:center;opacity:.28;transition:opacity .5s,transform .5s;filter:blur(1px)}
.j-stage.is-active{opacity:1;filter:none;transform:translateX(-50%) translateY(-8px)}
.j-kicker{font-family:var(--mono);font-size:.68rem;letter-spacing:.3em;color:var(--red);margin:0 0 .6em}
.j-stage h3{font-family:var(--st-display);font-weight:400;font-size:clamp(1.1rem,1.8vw,1.5rem);
  color:#fff;margin:0 0 .2em;line-height:1.25}
.j-sub{font-size:.85rem;color:#8b95a0;margin:0 0 .4em}
.j-score{font-family:var(--mono);font-size:.85rem;letter-spacing:.12em;color:var(--cream);margin:.4em 0}
.j-note{font-size:.82rem;color:#6a7683;font-style:italic;margin:0}
@media(max-width:760px){
  /* journey cards: all 4 were spread across the screen at 44vw and overlapped —
     stack them in one centred slot, only the active one visible */
  .j-stage{left:50%;width:min(320px,86vw);opacity:0}
  .j-stage h3{font-size:1rem}
  .j-note{display:none}
  .ch-outro{font-size:.82rem;letter-spacing:.16em;padding:0 .8rem}
}

.ch-outro{position:absolute;top:20%;left:0;right:0;text-align:center;z-index:3;pointer-events:none;
  font-family:var(--mono);font-size:clamp(.9rem,2vw,1.3rem);letter-spacing:.3em;color:var(--cream);
  opacity:0}

/* ══════════ 5–9 · TECHNIQUES / MASONRY / FOR / CLARITY / FOOTER ══════════ */
.w-masonry,.w-for,.w-clarity{padding:16vh 0;position:relative}
.w-summary{padding:16vh 0;position:relative;background:#0e0d0c;color:#f2ece2;overflow:hidden}
.sum-glow{position:absolute;top:-12%;left:50%;transform:translateX(-50%);width:min(940px,92vw);height:72%;
  background:radial-gradient(ellipse at center,rgba(217,56,30,.17),transparent 65%);pointer-events:none;will-change:transform}
.sum-head{margin:.7em 0 1em;position:relative;z-index:1}
.sum-script{display:block;font-family:'Pinyon Script',cursive;font-weight:400;
  font-size:clamp(3.6rem,9.5vw,8rem);line-height:1.15;color:#f5efe4}
.sum-line{display:block;font-family:var(--st-display);font-weight:600;letter-spacing:-.02em;
  font-size:clamp(1.9rem,4.4vw,3.7rem);line-height:1.14;margin-top:.3em;max-width:22ch}
.sum-line em{font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;color:#e0492b}
.sum-line .w{display:inline-block}
.sum-body{position:relative;z-index:1;max-width:68ch;font-size:clamp(1rem,1.35vw,1.18rem);
  line-height:1.78;color:#b9b0a4;margin:0 0 9vh}
.sum-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(1.5rem,3vw,3rem)}
.sum-stat{border-top:1px solid #3a332c;padding-top:1.6rem;text-decoration:none;color:inherit;display:block}
.sum-num{font-family:var(--st-display);font-weight:600;font-size:clamp(2.1rem,4.2vw,3.4rem);
  letter-spacing:-.02em;color:#f5efe4;margin-bottom:.7rem}
.sum-cap{font-size:.95rem;line-height:1.65;color:#8d8478;margin:0}
.sum-cta .sum-link{color:#e0492b;transition:color .3s}
.sum-cta:hover .sum-link{color:#f5efe4}
.sum-cta .arr{display:inline-block;transition:transform .3s}
.sum-cta:hover .arr{transform:translateX(8px)}
@media(max-width:760px){.sum-grid{grid-template-columns:1fr;gap:2.4rem}.sum-body{margin-bottom:6vh}}
/* masonry — rebuilt 2026-11-04: interests pager (no cards) */
.w-masonry{background:#f7f4ef;color:#101214;overflow:hidden}
.interest-wrap{position:relative;z-index:2}
.interest-eyebrow{opacity:0;transform:translateY(14px);transition:opacity .8s ease,transform .8s ease}
.interest-stage{position:relative;min-height:clamp(420px,58vh,560px);margin-top:2.2rem}
.interest-slide{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:center;
  opacity:0;visibility:hidden;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease,visibility 0s .7s}
.interest-slide.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .7s ease,transform .7s ease}
.interest-head{font-family:'Instrument Serif',serif;font-weight:400;letter-spacing:-.01em;
  font-size:clamp(2.6rem,5.4vw,4.8rem);line-height:1.04;margin:0 0 1.4rem}
.interest-head em{font-style:italic;color:#c33d1e}
.interest-text{font-size:1.02rem;line-height:1.75;color:#4a4640;max-width:34rem;margin:0}
.interest-img{overflow:hidden;border-radius:6px;box-shadow:0 30px 80px -30px rgba(60,40,30,.35)}
.interest-img img{display:block;width:100%;height:clamp(280px,44vh,440px);object-fit:cover;
  transform:scale(1.12);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.interest-slide.is-active .interest-img img{transform:scale(1)}
.interest-dots{display:flex;align-items:center;justify-content:center;gap:.9rem;margin-top:3rem;
  opacity:0;transition:opacity .8s ease .3s}
.interest-dots::before,.interest-dots::after{content:"";height:1px;width:min(120px,20vw);background:#d8d2c6}
.interest-dots button{width:11px;height:11px;border-radius:50%;border:1px solid #c33d1e;background:transparent;
  padding:0;cursor:pointer;transition:background .3s,transform .3s}
.interest-dots button.is-active{background:#c33d1e;transform:scale(1.25)}
/* petal wipe transition */
.petal-wipe{position:absolute;inset:0;z-index:5;background:#f7f4ef;pointer-events:none;
  transform:translateY(0);transition:transform 1.1s cubic-bezier(.7,0,.2,1)}
.w-masonry.is-in .petal-wipe{transform:translateY(-101%)}
.pw-petal{position:absolute;border-radius:50%;background:radial-gradient(closest-side,rgba(195,61,30,.5),rgba(195,61,30,0));
  filter:blur(6px)}
.pw-1{width:34vmax;height:34vmax;left:-8vmax;top:-10vmax}
.pw-2{width:22vmax;height:22vmax;right:-6vmax;top:12%}
.pw-3{width:16vmax;height:16vmax;left:32%;bottom:-8vmax}
.pw-4{width:10vmax;height:10vmax;left:12%;top:38%}
.pw-5{width:13vmax;height:13vmax;right:22%;bottom:6%}
.w-masonry.is-in .interest-eyebrow{opacity:1;transform:none;transition-delay:.55s}
.w-masonry.is-in .interest-dots{opacity:1}
/* ambient petal field */
.petal-field{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity 1.2s ease .8s}
.w-masonry.is-in .petal-field{opacity:1}

/* for */
.f-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.8rem)}
.f-card{border:1px solid #2c2c30;border-radius:18px;padding:2.2rem 1.8rem;background:rgba(255,255,255,.02);
  transition:border-color .35s,transform .35s}
.f-card:hover{border-color:var(--st-red);transform:translateY(-6px)}
.f-card h3{font-family:var(--st-display);font-weight:400;font-size:1.7rem;margin:0 0 .8rem}
.f-card p{color:#a399a8;line-height:1.7;margin:0;font-size:.98rem}

/* clarity */
.c-head{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:3em;flex-wrap:wrap}
.c-right{font-family:var(--st-mono);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:#5a5a52;margin:0;max-width:220px;text-align:right}
.c-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;border-top:2px solid #101214;padding-top:2rem}
.c-grid li{align-items:baseline;
  padding:1.6rem 0;border-bottom:1px solid rgba(16,18,20,.16)}
.c-grid b{font-family:var(--st-mono);font-weight:400;font-size:1rem;color:#c33d1e;display:block;margin-bottom:.8em}
.c-grid p{font-size:1.05rem;font-family:var(--st-display);margin:0;line-height:1.5;color:#3a3632}

/* ══════════ 9 · STARBURST THANKS FOOTER ══════════ */
.stf{--stf-bg:#0b0b0c;--stf-ink:#f4f1ea;--stf-accent:#ff4f36;--stf-display:var(--st-display);
  --stf-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--stf-grain:.16;
  position:relative;isolation:isolate;overflow:hidden;overflow:clip;container-type:inline-size;
  display:flex;flex-direction:column;width:100%;box-sizing:border-box;min-height:100svh;
  background:var(--stf-bg);color:var(--stf-ink);font-family:var(--stf-sans);
  -webkit-font-smoothing:antialiased;touch-action:pan-y}
.stf::before{content:'';position:absolute;inset:-50%;z-index:0;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .7 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size:180px 180px;opacity:var(--stf-grain);mix-blend-mode:difference;
  animation:stf-grain .9s steps(1) infinite}
.stf::after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 75% 70% at 50% 45%,transparent 45%,rgba(0,0,0,.55) 100%)}
:where(.stf) button{appearance:none;background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}
:where(.stf) a{color:inherit;text-decoration:none}
.stf :focus-visible{outline:2px solid var(--stf-accent);outline-offset:4px}
.stf-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.stf-fx{position:absolute;inset:0;z-index:0;pointer-events:none}
.stf-dust{position:absolute;border-radius:50%;background:var(--stf-ink)}
.stf-scratch{position:absolute;width:1px;background:linear-gradient(transparent,var(--stf-ink),transparent);opacity:.18}
.stf-in{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;
  padding:clamp(28px,4.5cqw,60px) 16px clamp(28px,4cqw,56px)}
.stf-logo{display:inline-flex;align-items:center;gap:.55em;font-size:clamp(12px,1.45cqw,18px)}
.stf-mark{display:block;flex:none;max-width:none;overflow:visible}
.stf-mark path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;
  transition:transform .45s cubic-bezier(.2,.9,.3,1.3)}
.stf-mark-i path{stroke-width:1.7}
.stf-logo:hover .stf-mark-l{transform:translateX(-1.6px)}
.stf-logo:hover .stf-mark-r{transform:translateX(1.6px)}
.stf-name{display:flex;flex-direction:column;font-family:var(--stf-display);font-weight:400;
  text-transform:uppercase;line-height:.92;letter-spacing:.01em}
.stf-mid{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:clamp(56px,8cqw,120px) 0 clamp(40px,6cqw,90px)}
.stf-stage{position:relative;display:flex;flex-direction:column;align-items:center;
  font-size:clamp(34px,8.6cqw,124px)}
.stf-stage:hover{--stf-orot:-2.5deg;--stf-osc:1.03}
.stf-h{position:relative;z-index:2;margin:0;font-family:var(--stf-display);font-weight:400;
  font-size:1em;line-height:.95;letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap;
  transform:scaleX(1.12);color:var(--stf-ink)}
.stf-ch{display:inline-block}
.stf:not(.is-in) .stf-ch{opacity:0}
.stf.is-in .stf-ch{animation:stf-drop .7s cubic-bezier(.2,1.5,.35,1) both}
.stf-tag{position:relative;z-index:2;margin:.06em 0 0 -.3em;color:var(--stf-ink)}
.stf-orbit{position:absolute;left:-11%;top:-32%;width:120%;height:154%;z-index:1;overflow:visible;
  max-width:none;pointer-events:none;color:var(--stf-ink);
  transform:translate(calc(var(--stf-px,0) * -6px),calc(var(--stf-py,0) * -4px)) rotate(var(--stf-orot,0deg)) scale(var(--stf-osc,1));
  transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.stf-orbit path{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;
  stroke-dasharray:var(--l,999) var(--l,999);stroke-dashoffset:var(--l,999)}
.stf.is-in .stf-orbit path{animation:stf-write 2.2s .25s cubic-bezier(.5,0,.3,1) forwards}
.stf-star-wrap{position:absolute;z-index:3;right:-.62em;top:-1.2em;width:1.5em;height:1.5em;
  transform:translate(calc(var(--stf-px,0) * 18px),calc(var(--stf-py,0) * 12px));
  transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.stf-star{position:relative;display:block;width:100%;height:100%;border-radius:50%;
  color:var(--stf-accent);transition:transform .35s cubic-bezier(.2,.9,.3,1.4)}
.stf-star:hover{transform:scale(1.08)}
.stf-star:active{transform:scale(.94)}
.stf-star-pop{display:block;width:100%;height:100%}
.stf-star-svg{display:block;width:100%;height:100%;max-width:none;overflow:visible;
  animation:stf-spin 48s linear infinite;transition:filter .3s}
.stf-star:hover .stf-star-svg{filter:drop-shadow(0 0 .1em var(--stf-accent))}
.stf-star-svg path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:miter}
.stf-sparks{position:absolute;inset:0;pointer-events:none}
.stf-spark{position:absolute;left:50%;top:50%;width:62%;height:2px;margin-top:-1px;
  transform-origin:0 50%;transform:rotate(var(--a))}
.stf-spark i{display:block;height:100%;border-radius:2px;background:var(--stf-accent);
  transform-origin:0 50%;animation:stf-shoot .7s cubic-bezier(.15,.8,.3,1) forwards}
.stf-signoff{position:relative;z-index:2;margin:2.4em 0 0;font-size:clamp(11px,1.15cqw,15px);
  letter-spacing:.01em;opacity:.92}
.stf-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;
  gap:clamp(12px,1.4cqw,20px) clamp(8px,1cqw,14px);font-size:clamp(12px,1.3cqw,17px)}
.stf-item{display:flex;flex-direction:column;align-items:center}
.stf-item.has-hand{padding-bottom:1.3em}
.stf-cap{height:1.9em;display:flex;align-items:flex-end;justify-content:center;margin-bottom:.3em}
.stf-cap-copied{color:var(--stf-accent)}
.stf-pillwrap{position:relative}
.stf-pill{display:inline-flex;align-items:center;border:1.5px solid var(--stf-ink);
  border-radius:999px;padding:.32em .85em;line-height:1.25;white-space:nowrap;color:var(--stf-ink);
  transition:background .25s,color .25s,transform .25s cubic-bezier(.2,.9,.3,1.4)}
.stf-pill:hover,.stf-pill:focus-visible{background:var(--stf-ink);color:var(--stf-bg)}
.stf-pill:active{transform:scale(.96)}
.stf-hand{position:absolute;left:54%;top:calc(100% - .75em);z-index:2;width:1.45em;height:1.85em;
  pointer-events:none;animation:stf-bob 2.4s ease-in-out infinite}
.stf-item:nth-child(4n+3) .stf-hand{animation-delay:-1.2s}
.stf-hand svg{display:block;width:100%;height:100%;max-width:none;overflow:visible;
  transition:transform .22s cubic-bezier(.2,.9,.3,1.4)}
.stf-hand .stf-palm{fill:var(--stf-ink);stroke:var(--stf-bg);stroke-width:1.5;stroke-linejoin:round}
.stf-hand .stf-knuckle{fill:none;stroke:var(--stf-bg);stroke-width:1.1;stroke-linecap:round}
.stf-hand .stf-click{fill:none;stroke:var(--stf-ink);stroke-width:1.4;stroke-linecap:round;
  opacity:0;transition:opacity .2s}
.stf-pillwrap:hover .stf-hand svg,.stf-pillwrap:focus-within .stf-hand svg{transform:translateY(-14%) scale(.9)}
.stf-pillwrap:hover .stf-click,.stf-pillwrap:focus-within .stf-click{opacity:1}
.stf-sep{display:block;flex:none;width:.72em;height:.72em;margin-top:2.55em;max-width:none;
  fill:var(--stf-ink);transition:transform .6s cubic-bezier(.2,.9,.3,1.3)}
.stf-links:hover .stf-sep{transform:rotate(45deg) scale(1.15)}
.stf-phone{margin-top:.75em;font-size:.92em;letter-spacing:.02em;opacity:.92;transition:color .2s}
.stf-phone:hover{color:var(--stf-accent)}
.stf-script{display:block;flex:none;max-width:none;overflow:visible}
.stf .stf-script path{fill:none;stroke:currentColor;stroke-width:.85;stroke-linecap:round;
  stroke-linejoin:round;stroke-dasharray:var(--l,999) var(--l,999);stroke-dashoffset:var(--l,999)}
.stf.is-in .stf-script path{animation:stf-write .45s cubic-bezier(.6,.05,.3,1) forwards}
@container (max-width:640px){
  .stf-links{flex-direction:column;align-items:center}
  .stf-sep{display:none}
  .stf-cap{height:1.6em}}
@keyframes stf-write{to{stroke-dashoffset:0}}
@keyframes stf-drop{0%{opacity:0;transform:translateY(-.35em) rotate(-8deg)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes stf-spin{to{transform:rotate(360deg)}}
@keyframes stf-shoot{0%{transform:translateX(40%) scaleX(.15);opacity:1}100%{transform:translateX(110%) scaleX(.55);opacity:0}}
@keyframes stf-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}
@keyframes stf-grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-6%,-2%)}80%{transform:translate(5%,4%)}}
@media (prefers-reduced-motion:reduce){
  .stf::before,.stf-star-svg,.stf-hand{animation:none}
  .stf:not(.is-in) .stf-ch{opacity:1}
  .stf.is-in .stf-ch{animation:none}
  .stf .stf-script path,.stf .stf-orbit path{stroke-dashoffset:0}
  .stf.is-in .stf-script path,.stf.is-in .stf-orbit path{animation:none}
  .stf-sparks{display:none}
  .stf-star-wrap,.stf-orbit{transform:none;transition:none}}

@media(max-width:1000px){
  .t-grid{grid-template-columns:repeat(2,1fr)}
  .f-grid{grid-template-columns:1fr}
  .interest-slide{grid-template-columns:1fr;gap:1.6rem}
  .interest-stage{min-height:0}
  .interest-slide{position:relative;opacity:0;height:0;overflow:hidden}
  .interest-slide.is-active{height:auto}
}
@media(max-width:600px){
  .t-grid{grid-template-columns:1fr}
  .c-grid{grid-template-columns:repeat(2,1fr)}
  .c-grid li{grid-template-columns:52px 1fr}
}

/* ══════════ showcase : how i work (east64 style) ══════════ */
.w-showcase{background:#0a0a0a;color:#f4f1ea;position:relative}
.sc-pin{position:sticky;top:0;height:100vh;height:100svh;display:grid;place-items:center;overflow:hidden}
.sc-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:clamp(1rem,3vw,3rem);
  width:min(1500px,94vw);align-items:center}
.sc-eyebrow{color:#f4f1ea !important;margin-bottom:2.4rem}
.sc-eyebrow .p{color:#fff}
.sc-index{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.sc-index li{display:flex;align-items:baseline;gap:1rem;padding:.55rem 0;cursor:pointer;
  opacity:.32;transition:opacity .4s;border-bottom:1px solid rgba(255,255,255,.08)}
.sc-index li:hover{opacity:.7}
.sc-index li.is-active{opacity:1}
.sc-num{font-family:var(--st-mono);font-size:.75rem;letter-spacing:.14em}
.sc-name{font-family:'Instrument Serif',serif;font-size:clamp(1.3rem,2vw,1.9rem);letter-spacing:-.01em}
.sc-center{text-align:center}
.sc-preview{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#111}
.sc-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transform:scale(1.06);transition:opacity .8s ease,transform 6s linear}
.sc-preview img.is-active{opacity:1;transform:scale(1)}
.sc-title{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(2.6rem,5vw,4.6rem);
  letter-spacing:-.01em;margin:1.6rem 0 .8rem;min-height:1.2em}
.sc-title .ch{display:inline-block;opacity:0;transform:translateY(.6em);animation:scChIn .7s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes scChIn{to{opacity:1;transform:none}}
.sc-desc{font-size:1rem;line-height:1.7;color:#a399a8;max-width:36rem;margin:0 auto;min-height:3.4em}
.sc-right{text-align:right}
.sc-meta{font-family:var(--st-mono);font-size:.78rem;letter-spacing:.22em;margin:0 0 .9rem;text-transform:uppercase}
.sc-meta.dim{color:#6a655e;letter-spacing:.1em}
@media(max-width:900px){
  .sc-grid{grid-template-columns:1fr;gap:1.4rem;text-align:center}
  .sc-left{order:2}.sc-center{order:1}.sc-right{order:3}
  .sc-index{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem}
  .sc-index li{border-bottom:none;padding:.3rem 0}
  .sc-right{text-align:center}
  .sc-right .sc-meta{display:inline;margin:0 .6rem}
}

/* header adapts over light sections */
.hud-top.on-light .brand-word{color:#101214}
.hud-top.on-light .brand-word sup{color:#544d56}
.hud-top.on-light .pill{background:rgba(16,18,20,.07);border-color:rgba(16,18,20,.16);color:#101214}
.hud-top.on-light .pill-hot{background:var(--red);border-color:var(--red);color:#fff}
.hud-top.on-light .pct{color:#544d56}

/* ══════════ 4 · NOW — live dashboard ══════════ */
.s-now{background:var(--ink);padding:calc(var(--gap)*5) 0}
.now-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:calc(var(--gap)*2)}
.now-grid>div{border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:calc(var(--gap)*1.6);
  background:linear-gradient(150deg,rgba(255,255,255,.03),transparent 60%);min-height:300px;
  display:flex;flex-direction:column;justify-content:center;gap:.8em;position:relative;overflow:hidden}
.now-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.28em;color:var(--mut);text-transform:uppercase}
.now-time{font-size:clamp(3.4rem,7vw,5.6rem);font-weight:700;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}
.now-time span{color:var(--white)}
.now-date{font-family:var(--mono);font-size:.85rem;color:var(--mut);letter-spacing:.1em}
.now-avail{display:flex;align-items:center;gap:.7em;font-size:clamp(1.4rem,2.6vw,2.1rem);font-weight:700}
.pulse-dot{width:14px;height:14px;border-radius:50%;background:#3ddc74;flex:none;position:relative}
.pulse-dot::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #3ddc74;
  animation:pulse 1.8s ease-out infinite}
@keyframes pulse{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.4);opacity:0}}
.now-note{color:var(--mut);line-height:1.65;font-size:.98rem}
.now-big{font-size:clamp(1.9rem,3.6vw,3rem);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.now-big em{font-style:italic;color:var(--red)}
.now-focus{border-color:rgba(217,56,30,.4)!important;
  background:linear-gradient(150deg,rgba(217,56,30,.1),transparent 65%)!important}
@media(max-width:900px){.now-grid{grid-template-columns:1fr}.now-grid>div{min-height:0}}

/* ══════════ 5 · PLAYGROUND ══════════ */
.s-play{background:#0d0d0f;padding:calc(var(--gap)*5) 0;border-top:1px solid rgba(255,255,255,.07)}
.play-sub{color:var(--mut);font-size:clamp(1.05rem,1.8vw,1.35rem);margin-top:1em;max-width:56ch}
.play-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:calc(var(--gap)*2)}
.toy{border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:calc(var(--gap)*1.4);
  background:rgba(255,255,255,.02);display:flex;flex-direction:column;gap:1.1em;min-height:380px}
.toy-label{font-family:var(--mono);font-size:.72rem;letter-spacing:.26em;color:var(--red)}
.toy-cap{color:var(--mut);font-size:.92rem;line-height:1.6;margin-top:auto}
.tilt-stage{perspective:800px;display:grid;place-items:center;flex:1;min-height:180px}
.tilt-card{width:150px;height:190px;border-radius:16px;display:grid;place-items:center;
  background:linear-gradient(140deg,#2a1210,#141014 70%),radial-gradient(120px 90px at 70% 25%,rgba(217,56,30,.8),transparent 70%);
  border:1px solid rgba(217,56,30,.5);transform-style:preserve-3d;transition:transform .15s ease-out;
  box-shadow:0 24px 50px -18px rgba(217,56,30,.35)}
.tilt-card span{font-size:2.4rem;font-weight:700;color:#fff;transform:translateZ(46px);letter-spacing:-.02em}
.motion-stage{flex:1;min-height:180px;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer}
.motion-stage span{width:16px;height:16px;border-radius:50%;background:#3a3a3e;flex:none}
.type-stage{flex:1;min-height:140px;display:grid;place-items:center;overflow:hidden}
.type-stage p{font-weight:700;letter-spacing:-.03em;line-height:1;white-space:nowrap;color:#fff}
#typeRange{width:100%;accent-color:var(--red);cursor:pointer}
@media(max-width:900px){.play-grid{grid-template-columns:1fr}}

/* ══════════ 6 · NUMBERS ══════════ */
.s-numbers{background:var(--ink);padding:calc(var(--gap)*5) 0}
.num-list{margin-top:calc(var(--gap)*2);display:flex;flex-direction:column}
.num{display:grid;grid-template-columns:auto 1fr;gap:clamp(1rem,4vw,3rem);align-items:baseline;
  padding:calc(var(--gap)*1.2) 0;border-top:1px solid rgba(255,255,255,.12)}
.num:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.num-val{font-size:clamp(4rem,11vw,9rem);font-weight:700;letter-spacing:-.04em;line-height:1;
  font-variant-numeric:tabular-nums;color:#2c2c2e;transition:color .6s}
.num.lit .num-val{color:var(--white)}
.num-val .num-count{color:inherit}
.num-label{font-family:var(--mono);font-size:.82rem;letter-spacing:.14em;color:var(--mut);text-transform:uppercase;max-width:30ch}

/* ══════════ 7 · MENU ══════════ */
.s-menu{background:#0d0d0f;padding:calc(var(--gap)*5) 0;border-top:1px solid rgba(255,255,255,.07)}
.s-menu .h-lg em{font-style:italic;color:var(--red)}
.menu-note{color:var(--mut);margin-top:1em;max-width:52ch;font-size:clamp(1rem,1.6vw,1.2rem)}
.menu-list{margin-top:calc(var(--gap)*2);border-top:1px solid rgba(255,255,255,.14)}
.dish{padding:calc(var(--gap)*1.4) 0;border-bottom:1px solid rgba(255,255,255,.14);transition:background .3s,padding .35s var(--f-smooth)}
.dish:hover{background:rgba(217,56,30,.05);padding-left:1em;padding-right:1em}
.dish-top{display:flex;align-items:baseline;gap:1em}
.dish-top h3{font-size:clamp(1.6rem,3.2vw,2.6rem);font-weight:700;letter-spacing:-.02em;white-space:nowrap}
.dish-top .dots{flex:1;border-bottom:2px dotted rgba(255,255,255,.25);transform:translateY(-8px);min-width:2em}
.dish-top .price{font-family:var(--mono);font-size:clamp(1rem,1.8vw,1.3rem);color:var(--red);white-space:nowrap}
.dish-desc{color:var(--mut);margin-top:.7em;max-width:60ch;line-height:1.65}
.menu-foot{margin-top:calc(var(--gap)*1.6);font-family:var(--mono);font-size:.85rem;letter-spacing:.06em;color:var(--mut)}
.menu-foot a{color:#fff;text-decoration:underline;text-underline-offset:4px}

/* ══════════ 8 · QA ══════════ */
.s-qa{background:var(--ink);padding:calc(var(--gap)*5) 0}
.qa-list{margin-top:calc(var(--gap)*2);border-top:1px solid rgba(255,255,255,.14)}
.qa{border-bottom:1px solid rgba(255,255,255,.14)}
.qa-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1em;
  background:none;border:none;color:#fff;text-align:left;cursor:pointer;
  font-size:clamp(1.25rem,2.4vw,1.9rem);font-weight:700;letter-spacing:-.01em;
  padding:1.3em .2em;font-family:var(--font);transition:color .3s,padding .3s}
.qa-q span{font-family:var(--mono);font-weight:400;color:var(--red);font-size:1.4rem;flex:none;
  transition:transform .4s var(--f-smooth);display:inline-block}
.qa.open .qa-q span{transform:rotate(45deg)}
.qa-q:hover{color:var(--red)}
.qa-a{max-height:0;overflow:hidden;transition:max-height .5s var(--f-smooth)}
.qa.open .qa-a{max-height:16rem}
.qa-a p{color:#c9c9c9;line-height:1.7;padding:0 .2em 1.6em;max-width:62ch;font-size:1.02rem}

/* ══════════ 9 · DOOR — contact ══════════ */
.s-door{background:linear-gradient(180deg,var(--ink) 0%,#140c0a 100%);padding:calc(var(--gap)*5) 0 calc(var(--gap)*1.5);position:relative;overflow:hidden}
.door-title{font-size:clamp(3rem,9vw,8rem);font-weight:700;letter-spacing:-.035em;line-height:1;margin:calc(var(--gap)*1.2) 0 .4em}
.door-sub{color:var(--mut);font-size:clamp(1.1rem,2vw,1.5rem)}
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin:calc(var(--gap)*2.2) 0}
.door{border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:calc(var(--gap)*1.8) calc(var(--gap)*1.4);
  text-decoration:none;display:flex;flex-direction:column;gap:.5em;position:relative;overflow:hidden;
  background:rgba(255,255,255,.02);transition:border-color .35s,transform .4s var(--f-smooth)}
.door::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(217,56,30,.22),transparent 60%);
  opacity:0;transition:opacity .45s}
.door:hover{border-color:var(--red);transform:translateY(-8px)}
.door:hover::before{opacity:1}
.door-name{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;letter-spacing:-.02em;position:relative;z-index:1}
.door-hint{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;color:var(--mut);text-transform:uppercase;position:relative;z-index:1}
.door-arrow{position:absolute;right:1.2em;top:1.1em;font-size:1.3rem;color:var(--red);z-index:1;
  transition:transform .4s var(--f-smooth)}
.door:hover .door-arrow{transform:translate(6px,-6px)}
.door-meta{display:flex;flex-wrap:wrap;gap:1.6em;justify-content:space-between;padding-top:calc(var(--gap));
  border-top:1px solid rgba(255,255,255,.12);font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--mut)}
.door-meta a{text-decoration:none}
.door-meta b{color:#fff;font-weight:400}
@media(max-width:900px){.doors{grid-template-columns:1fr}}


/* loader */
.loader{position:fixed;inset:0;background:var(--ink);z-index:10000;display:grid;place-items:center;
  transition:opacity .8s var(--f-smooth),visibility .8s}
.loader.done{opacity:0;visibility:hidden}
.loader .mark{font-family:var(--mono);color:var(--red);font-size:.9rem;letter-spacing:.3em}

/* ══════════ MAGIC: unique per section (Awwwards study, own implementation) ══════════ */

/* 4 · PRINCIPLES — scroll-driven text fill */
.s-principles .h-xl .w{display:inline-block;color:#3a3a3c;transition:color .3s}
.s-principles .h-xl .w.lit{color:var(--white)}
.s-principles .h-xl .w.lit em{color:var(--red)}

/* 5 · SKILLS — hover ignite */
.s-skills .tech{position:relative;overflow:hidden;cursor:default;transition:transform .35s var(--f-smooth)}
.s-skills .tech::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(217,56,30,.14),transparent);transform:translateX(-101%);transition:transform .55s var(--f-smooth);pointer-events:none}
.s-skills .tech:hover::before{transform:translateX(101%)}
.s-skills .tech:hover{transform:translateX(10px)}
.s-skills .tech:hover .arr{transform:translateX(8px);color:var(--red)}
.s-skills .tech .arr{display:inline-block;transition:transform .35s,color .35s}

/* 6 · HUB — cinematic hover */
.s-hub .cell{position:relative;overflow:hidden;transition:transform .4s var(--f-smooth),border-color .4s}
.s-hub .cell::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(217,56,30,.22),transparent 60%);opacity:0;transition:opacity .45s;pointer-events:none}
.s-hub .cell:hover{transform:translateY(-6px) scale(1.015);border-color:rgba(217,56,30,.55)}
.s-hub .cell:hover::after{opacity:1}
.s-hub .cell h3{transition:transform .4s var(--f-smooth)}
.s-hub .cell:hover h3{transform:translateX(6px)}
.s-hub .cell .idx{transition:transform .4s var(--f-smooth),color .4s;display:inline-block}
.s-hub .cell:hover .idx{transform:scale(1.35);color:var(--red)}

/* 7 · FOR — accordion */
.s-for .row{cursor:pointer}
.s-for .row .more{max-height:0;overflow:hidden;transition:max-height .55s var(--f-smooth),margin .4s}
.s-for .row.open .more{max-height:12rem;margin-top:.9rem}
.s-for .row .arr{transition:transform .45s var(--f-smooth)}
.s-for .row.open .arr{transform:rotate(90deg);color:var(--red)}
.s-for .row{transition:background .35s,padding .35s}
.s-for .row.open{background:rgba(217,56,30,.06)}

/* 8 · CLARITY — counting numerals */
.s-clarity .stats{display:flex;gap:clamp(1.5rem,4vw,4rem);margin:2.2rem 0 0;flex-wrap:wrap}
.s-clarity .stat b{display:block;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:700;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.s-clarity .stat span{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;color:#666;text-transform:uppercase}

/* 9 · FOOTER — live clock */
.s-footer .clock{font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;color:var(--mut)}
.s-footer .clock b{color:var(--white);font-weight:400}

/* ══════════ 4–11 · CREED / WORK / ARSENAL / METHOD / SIGNAL / PROOF / TRANSMIT / FINALE ══════════ */

/* 4 · CREED */
.s-creed{padding:24vh 0 20vh}
.creed-line{font-size:clamp(1.9rem,4.6vw,4.1rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;max-width:22ch;margin:1.4em 0 0}
.creed-line em{font-style:normal;color:var(--red)}
.creed-line .w{opacity:.12}

/* 5 · WORK filmstrip */
.s-work{padding:14vh 0;overflow:hidden}
.work-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.6rem}
.work-title{margin:0}
.work-nav{display:flex;gap:.8rem;flex-shrink:0}
.wbtn{width:64px;height:64px;border-radius:50%;border:1px solid #333;background:transparent;color:var(--white);font-size:1.35rem;cursor:pointer;transition:border-color .3s,color .3s,transform .3s}
.wbtn:hover{border-color:var(--red);color:var(--red);transform:scale(1.06)}
.film{display:flex;gap:var(--gap);overflow-x:auto;padding:.4rem var(--gap) 1.6rem;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.film::-webkit-scrollbar{display:none}
.film:focus{outline:1px solid var(--red);outline-offset:4px}
.frame{flex:0 0 clamp(300px,34vw,460px);scroll-snap-align:start;border:1px solid #26262a;border-radius:18px;padding:4.6rem 2.2rem 2.2rem;min-height:400px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;background:linear-gradient(160deg,#101013,#0b0b0c);transition:border-color .35s,transform .35s}
.frame:hover{border-color:var(--red);transform:translateY(-6px)}
.frame-no{font-family:var(--mono);color:var(--red);font-size:.85rem;letter-spacing:.2em;position:absolute;top:2rem;left:2.2rem}
.frame h3{font-size:clamp(1.9rem,3vw,2.7rem);letter-spacing:-.02em;margin:0 0 .5rem;line-height:1.05}
.frame-tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;color:var(--mut);margin:0 0 1rem}
.frame-desc{color:#b9b9bd;line-height:1.65;margin:0 0 1.4rem;max-width:36ch}
.frame-link{font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;color:var(--white);text-decoration:none;align-self:flex-start}
.frame-link:hover{color:var(--red)}
.film-hint{margin-top:1.2rem}

/* 6 · ARSENAL */
.s-arsenal{padding:14vh 0}
.tabs{display:flex;gap:.6rem;margin:2.6rem 0 0;flex-wrap:wrap}
.tab{font-family:var(--mono);font-size:.8rem;letter-spacing:.18em;padding:.85em 1.7em;border-radius:999px;border:1px solid #333;background:transparent;color:var(--mut);cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.tab.is-on{background:var(--red);border-color:var(--red);color:#fff}
.tab:not(.is-on):hover{border-color:var(--white);color:var(--white)}
.panels{margin-top:2.2rem;border-top:1px solid #222;min-height:340px}
.panel{display:none;list-style:none;margin:0;padding:0}
.panel.is-on{display:block}
.panel li{display:flex;justify-content:space-between;align-items:baseline;gap:2rem;padding:1.5rem .2rem;border-bottom:1px solid #1c1c20}
.panel li b{font-size:clamp(1.25rem,2.4vw,1.9rem);letter-spacing:-.01em;color:var(--white);font-weight:700}
.panel li span{font-family:var(--mono);font-size:.78rem;color:var(--mut);text-align:right;max-width:38ch}

/* 7 · METHOD cues */
.s-method{padding:14vh 0}
.cues{list-style:none;margin:3.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.cues li{border-top:2px solid var(--red);padding-top:1.4rem}
.cue-no{font-family:var(--mono);font-size:.75rem;letter-spacing:.22em;color:var(--red)}
.cues h3{font-size:1.7rem;margin:.9rem 0 .6rem;letter-spacing:-.01em}
.cues p{color:#b9b9bd;line-height:1.65;margin:0;max-width:30ch}

/* 8 · SIGNAL */
.s-signal{padding:9vh 0;border-top:1px solid #1c1c20;border-bottom:1px solid #1c1c20;background:#0e0e10}
.signal-row{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.pulse{width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 rgba(217,56,30,.6);animation:pulse 2s infinite;flex-shrink:0}
@keyframes pulse{70%{box-shadow:0 0 0 14px rgba(217,56,30,0)}100%{box-shadow:0 0 0 0 rgba(217,56,30,0)}}
.signal-text{font-family:var(--mono);font-size:.9rem;letter-spacing:.1em;color:var(--white);margin:0;flex:1;min-width:230px}
.signal-text b{color:var(--red);font-weight:400}
.btn-line{display:inline-block;font-family:var(--mono);font-size:.85rem;letter-spacing:.16em;color:var(--white);text-decoration:none;border:1px solid #3a3a3e;padding:1em 2em;border-radius:999px;transition:border-color .3s,color .3s}
.btn-line:hover{border-color:var(--red);color:var(--red)}

/* 9 · PROOF */
.s-proof{padding:14vh 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);margin-top:3.2rem}
.stat{border-left:2px solid #26262a;padding-left:1.4rem}
.num{font-size:clamp(3rem,7vw,5.4rem);font-weight:700;letter-spacing:-.03em;color:var(--white);display:block;line-height:1;font-variant-numeric:tabular-nums}
.lbl{font-family:var(--mono);font-size:.75rem;letter-spacing:.16em;color:var(--mut);text-transform:uppercase;display:block;margin-top:.9rem;line-height:1.6}

/* 10 · TRANSMIT */
.s-transmit{padding:20vh 0 18vh}
.chips{display:flex;gap:.8rem;flex-wrap:wrap;margin:2.8rem 0 3.2rem}
.chip{font-size:1rem;font-family:var(--font);padding:1em 1.9em;border-radius:999px;border:1px solid #3a3a3e;background:transparent;color:var(--white);cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.chip:hover{background:var(--red);border-color:var(--red);color:#fff}
.direct{display:flex;gap:2.2rem;flex-wrap:wrap;border-top:1px solid #222;padding-top:2.2rem}
.direct a{font-family:var(--mono);font-size:.85rem;letter-spacing:.12em;color:var(--mut);text-decoration:none;transition:color .3s}
.direct a:hover{color:var(--red)}

/* 11 · FINALE */
.s-finale{padding:10vh 0 4vh;border-top:1px solid #1c1c20;overflow:hidden}
.giant-foot{font-weight:700;font-size:clamp(2.8rem,11.5vw,10.5rem);letter-spacing:-.02em;line-height:.95;color:transparent;-webkit-text-stroke:1px #2e2e33;margin:0;white-space:nowrap}
.foot-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:3rem;font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;color:var(--mut)}
.foot-row b{color:var(--red);font-weight:400}
.to-top{color:var(--mut);text-decoration:none;transition:color .3s}
.to-top:hover{color:var(--red)}

@media(max-width:900px){
  .cues{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .frame{flex-basis:min(78vw,380px);min-height:360px}
}
@media(max-width:560px){
  .cues{grid-template-columns:1fr}
  .work-head{flex-direction:column;align-items:flex-start}
  .panel li{flex-direction:column;gap:.4rem;align-items:flex-start}
  .panel li span{text-align:left}
}

/* ══════════ 5–14 · ten highlight sections (from awwwards study — own build, own content) ══════════ */

/* ---- 5 · CRAFT · deep navy / warm skin — Zeyra ---- */
.s-craft{position:relative;background:#0a1428;color:#f3ede2;overflow:hidden;padding:26vh 0;min-height:100vh;display:flex;align-items:center}
.craft-sparkles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.craft-glow{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;will-change:transform}
.craft-glow.g1{width:52vw;height:52vw;left:-12vw;top:-14vw;background:radial-gradient(circle,rgba(64,110,178,.5),transparent 65%)}
.craft-glow.g2{width:44vw;height:44vw;right:-10vw;bottom:-12vw;background:radial-gradient(circle,rgba(214,164,120,.34),transparent 65%)}
.craft-inner{position:relative;z-index:2;text-align:center}
.craft-word{font-size:clamp(4.5rem,17vw,15rem);font-weight:700;letter-spacing:-.04em;line-height:.9;margin:.3em 0;text-transform:lowercase}
.craft-state{font-size:clamp(1.4rem,3.4vw,2.6rem);letter-spacing:-.01em;margin:0}
.craft-sub{color:#a9b6cc;max-width:52ch;margin:1.2em auto 0;line-height:1.7}

/* ---- 6 · PATHS · cream / forest / lime — Réno ---- */
.s-paths{background:#f4f1ea;color:#101410;padding:16vh 0}
.s-paths .micro-dark{color:#5a5a52}
.s-paths .micro-dark .p{color:#1d4a38}
.paths-title{color:#101410}
.path-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:3rem}
.path-card{background:#fff;border:2px solid #101410;border-radius:20px;padding:2.6rem;text-align:left;cursor:pointer;font-family:var(--font);color:#101410;display:flex;flex-direction:column;gap:.7rem;transition:transform .3s,box-shadow .3s,background .3s;box-shadow:6px 6px 0 #101410}
.path-card.alt{background:#1d4a38;border-color:#1d4a38;color:#f4f1ea;box-shadow:6px 6px 0 #101410}
.path-card:hover{transform:translate(-3px,-3px);box-shadow:10px 10px 0 #101410}
.path-card[aria-expanded="true"]{background:#c6f24e}
.path-card.alt[aria-expanded="true"]{background:#c6f24e;color:#101410}
.path-kicker{font-family:var(--mono);font-size:.75rem;letter-spacing:.24em;color:#1d4a38}
.path-card.alt .path-kicker{color:#c6f24e}
.path-card[aria-expanded="true"] .path-kicker{color:#101410}
.path-name{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:700;letter-spacing:-.02em}
.path-hint{font-family:var(--mono);font-size:.8rem;letter-spacing:.1em;opacity:.65}
.path-panel{margin-top:2rem;background:#fff;border:2px solid #101410;border-radius:20px;padding:2.4rem;box-shadow:6px 6px 0 #101410}
.path-panel[hidden]{display:none}
.panel-label{font-family:var(--mono);font-size:.78rem;letter-spacing:.2em;color:#5a5a52;margin:0 0 1.2rem;text-transform:uppercase}
.panel-chips{display:flex;gap:.8rem;flex-wrap:wrap}
.pchip{font-family:var(--mono);font-size:.85rem;letter-spacing:.1em;color:#101410;text-decoration:none;border:2px solid #101410;border-radius:999px;padding:.9em 1.7em;background:#fff;transition:background .25s,color .25s;display:inline-block}
.pchip:hover{background:#101410;color:#f4f1ea}
.pchip.solid{background:#1d4a38;border-color:#1d4a38;color:#fff}
.pchip.solid:hover{background:#101410;border-color:#101410}
.guide-steps{list-style:none;margin:0 0 1.8rem;padding:0;display:grid;gap:1.1rem}
.guide-steps li{display:flex;gap:1.2rem;align-items:baseline}
.guide-steps b{font-family:var(--mono);color:#fff;background:#1d4a38;border-radius:8px;padding:.3em .7em;font-size:.8rem;letter-spacing:.1em}
.guide-steps span{line-height:1.6}

/* ---- 7 · ORACLE · aurora glass — Miljøfyrtårn ---- */
.s-oracle{position:relative;background:linear-gradient(160deg,#08131f,#0b2233 55%,#08131f);color:#eef6fb;overflow:hidden;padding:18vh 0}
.aurora{position:absolute;border-radius:50%;filter:blur(110px);opacity:.5;pointer-events:none;animation:drift 14s ease-in-out infinite alternate}
.aurora.a1{width:46vw;height:46vw;left:-10vw;top:-8vw;background:radial-gradient(circle,rgba(53,224,255,.4),transparent 65%)}
.aurora.a2{width:40vw;height:40vw;right:-8vw;bottom:-10vw;background:radial-gradient(circle,rgba(64,120,255,.35),transparent 65%);animation-delay:-7s}
@keyframes drift{to{transform:translate(6vw,4vh) scale(1.12)}}
.oracle-inner{position:relative;z-index:2}
.glass{margin-top:2.6rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:2.2rem;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);max-width:640px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.glass-label{font-family:var(--mono);font-size:.75rem;letter-spacing:.2em;color:#9fc3d8;text-transform:uppercase}
.glass-row{display:flex;gap:.8rem;margin-top:1rem}
.glass-input{flex:1;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.2);border-radius:14px;color:#fff;font-family:var(--font);font-size:1.05rem;padding:1em 1.2em;outline:none;min-width:0}
.glass-input:focus{border-color:#35e0ff}
.glass-input::placeholder{color:#6f8b9e}
.glass-go{width:60px;height:60px;flex-shrink:0;border-radius:50%;border:none;background:#35e0ff;color:#04222e;font-size:1.5rem;cursor:pointer;transition:transform .25s}
.glass-go:hover{transform:scale(1.08)}
.glass-try{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-top:1.1rem;font-family:var(--mono);font-size:.75rem;color:#9fc3d8}
.glass-try button{background:transparent;border:1px solid rgba(255,255,255,.25);color:#dff2fb;border-radius:999px;padding:.5em 1.1em;font-family:var(--mono);font-size:.75rem;cursor:pointer;transition:border-color .25s,color .25s}
.glass-try button:hover{border-color:#35e0ff;color:#35e0ff}
.oracle-out{margin-top:1.4rem;min-height:76px}
.oracle-idle{color:#6f8b9e;font-family:var(--mono);font-size:.85rem;letter-spacing:.06em;margin:0}
.oracle-card{background:rgba(53,224,255,.1);border:1px solid rgba(53,224,255,.35);border-radius:14px;padding:1.2rem 1.4rem}
.oracle-card b{display:block;font-size:1.15rem;margin-bottom:.35rem}
.oracle-card p{margin:0 0 .9rem;color:#b9d4e2;line-height:1.6}
.oracle-card a{font-family:var(--mono);font-size:.8rem;letter-spacing:.12em;color:#35e0ff;text-decoration:none}
.oracle-card a:hover{text-decoration:underline}

/* ---- 8 · PHILOSOPHY · warm charcoal serif — NAKAGAWA ---- */
.s-philo{position:relative;background:#161310;color:#f0e8d5;overflow:hidden;padding:24vh 0}
.philo-bg{position:absolute;inset:-12%;background:
  radial-gradient(42vw 42vw at 18% 30%,rgba(150,110,70,.28),transparent 65%),
  radial-gradient(50vw 50vw at 82% 72%,rgba(90,70,50,.32),transparent 65%),
  #161310;animation:kenburns 26s ease-in-out infinite alternate;pointer-events:none}
@keyframes kenburns{to{transform:scale(1.14) translate(-2%,2%)}}
.philo-grain{position:absolute;inset:0;opacity:.5;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E")}
.philo-inner{position:relative;z-index:2}
.philo-giant{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,9vw,8.5rem);line-height:1.02;letter-spacing:-.01em;margin:1em 0 .5em}
.philo-giant em{font-style:italic;color:#d8b98a}
.philo-body{font-family:var(--mono);font-size:.95rem;letter-spacing:.08em;line-height:2;color:#b8a98e}

/* ---- 9 · LAB · paper playground — Poulo ---- */
.s-lab{background:#f7f5ef;color:#141412;padding:16vh 0;transition:background .5s,color .5s}
.s-lab.lit{background:#141412;color:#f7f5ef}
.s-lab .micro-dark{color:#6a6a60}.s-lab .micro-dark .p{color:#c33d1e}
.lab-title{color:inherit}
.s-lab.lit .lab-cell{border-color:#3a3a36;background:#1b1b19}
.s-lab.lit .lab-tag{color:#8a8a80}
.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:3rem}
.lab-cell{border:2px solid #141412;border-radius:20px;padding:2.4rem;min-height:230px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.4rem;background:#fff;transition:background .5s,border-color .5s}
.lab-tag{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;color:#8a8a80;margin:0}
.lab-mag{font-size:1.05rem;font-family:var(--font);font-weight:700;padding:1em 2.2em;border-radius:999px;border:2px solid #141412;background:#c33d1e;color:#fff;cursor:pointer}
.s-lab.lit .lab-mag{border-color:#f7f5ef}
.lab-scramble{font-family:var(--mono);font-size:clamp(1.1rem,2.6vw,1.7rem);letter-spacing:.14em;margin:0;cursor:default;min-height:2.2em}
.lab-marquee{overflow:hidden;white-space:nowrap;width:100%;border-top:2px solid currentColor;border-bottom:2px solid currentColor;padding:.7em 0;font-family:var(--mono);letter-spacing:.2em}
.lab-marquee span{display:inline-block;will-change:transform}
.lab-range{width:100%;accent-color:#c33d1e}
.lab-inv{font-family:var(--mono);font-size:.85rem;letter-spacing:.14em;padding:1em 1.8em;border-radius:999px;background:transparent;border:2px solid currentColor;color:inherit;cursor:pointer}

/* ---- 10 · REEL · pinned scroll film — TY1 ---- */
.s-reel{position:relative;height:420vh;background:#0a0a0a}
.reel-pin{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;color:#f5f2ec}
.reel-blob{position:absolute;width:44vmin;height:44vmin;left:8vw;top:50%;margin-top:-22vmin;background:#ff5c1a;border-radius:58% 42% 55% 45%/48% 56% 44% 52%;filter:blur(2px);opacity:.9;transition:border-radius 1s,background 1s,transform 1s;pointer-events:none}
.reel-micro{position:absolute;top:calc(var(--gap) + 70px);left:var(--gap);z-index:3}
.reel-scenes{position:relative;z-index:2;max-width:640px;margin-left:auto;margin-right:12vw;padding:0 var(--gap)}
.rscene{position:absolute;inset:auto 0;opacity:0;transform:translateY(40px);transition:opacity .6s,transform .6s;pointer-events:none;padding:0 var(--gap)}
.rscene.is-on{opacity:1;transform:none;pointer-events:auto;position:relative}
.rscene-no{font-family:var(--mono);font-size:.78rem;letter-spacing:.24em;color:#ff5c1a}
.rscene h3{font-size:clamp(3rem,8vw,7rem);letter-spacing:-.03em;line-height:1;margin:.3em 0}
.rscene p{color:#a39e93;line-height:1.7;max-width:44ch;margin:0}
.reel-progress{position:absolute;left:var(--gap);right:var(--gap);bottom:8vh;height:2px;background:#262626;z-index:3}
.reel-progress span{display:block;height:100%;width:100%;background:#ff5c1a;transform:scaleX(0);transform-origin:left}

/* ---- 11 · FIELD · particle dust — Janis ---- */
.s-field{position:relative;background:#f6f1e7;color:#191712;overflow:hidden;padding:20vh 0;min-height:92vh;display:flex;align-items:center}
.field-canvas{position:absolute;inset:0;width:100%;height:100%}
.field-inner{position:relative;z-index:2;pointer-events:none}
.field-inner .micro-dark{color:#7a6f5c}.field-inner .micro-dark .p{color:#e8622c}
.field-title{color:#191712}
.field-sub{font-family:var(--mono);font-size:.85rem;letter-spacing:.1em;color:#7a6f5c}
.field-shuffle{pointer-events:auto;margin-top:1.6rem;font-family:var(--mono);font-size:.85rem;letter-spacing:.14em;padding:1em 2em;border-radius:999px;border:2px solid #191712;background:transparent;color:#191712;cursor:pointer;transition:background .3s,color .3s}
.field-shuffle:hover{background:#e8622c;border-color:#e8622c;color:#fff}

/* ---- 12 · MATERIAL · wave ribbons — Davaris ---- */
.s-material{position:relative;background:#0c2226;color:#f2ead8;overflow:hidden;padding:22vh 0;min-height:96vh;display:flex;align-items:center}
.material-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.material-inner{position:relative;z-index:2}
.material-title{text-shadow:0 2px 30px rgba(0,0,0,.5)}
.material-sub{color:#b9c4bb;max-width:48ch;line-height:1.7}

/* ---- 13 · ONAIR · show clock — LAYERS OF TIME ---- */
.s-onair{background:#0a0a0b;color:#f2f2f4;padding:18vh 0;border-top:1px solid #1a1a1d}
.onair-clock{display:flex;align-items:center;gap:1.1rem;margin:2.2rem 0 3rem;font-family:var(--mono);font-size:clamp(2.6rem,7vw,5.5rem);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.onair-dot{width:16px;height:16px;border-radius:50%;background:#ff2e88;animation:blink 1.2s steps(2) infinite;flex-shrink:0}
@keyframes blink{50%{opacity:.15}}
.onair-rows{border-top:1px solid #222;max-width:720px}
.orow{display:flex;gap:2rem;align-items:baseline;padding:1.3rem 0;border-bottom:1px solid #1c1c1f}
.orow-k{font-family:var(--mono);font-size:.75rem;letter-spacing:.24em;color:#ff2e88;min-width:90px}
.orow-v{font-size:1.15rem}
.orow-v b{color:#ff2e88;font-weight:400}
.onair-cta{margin-top:2.6rem;border-color:#3a3a3e}
.onair-cta:hover{border-color:#ff2e88;color:#ff2e88}

/* ---- 14 · INDEX · ink + gallery — NEUV ---- */
.s-index{position:relative;background:#050505;color:#f3efe4;overflow:hidden;padding:16vh 0 0}
.goo-defs{position:absolute}
.ink-stage{position:absolute;inset:0;filter:url(#goo);pointer-events:none;opacity:.5}
.ink-blob{position:absolute;border-radius:50%;background:#e9e2d0}
.ink-blob.b1{width:34vmin;height:34vmin;left:6vw;top:6vh;animation:ink1 11s ease-in-out infinite alternate}
.ink-blob.b2{width:24vmin;height:24vmin;left:26vw;top:16vh;animation:ink2 9s ease-in-out infinite alternate}
.ink-blob.b3{width:18vmin;height:18vmin;left:14vw;top:2vh;animation:ink3 13s ease-in-out infinite alternate}
@keyframes ink1{to{transform:translate(9vw,10vh) scale(1.25)}}
@keyframes ink2{to{transform:translate(-7vw,8vh) scale(.8)}}
@keyframes ink3{to{transform:translate(6vw,-6vh) scale(1.4)}}
.s-index .wrap{position:relative;z-index:2}
.index-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.6rem}
.index-head h2{margin:0}
.index-film{display:flex;gap:var(--gap);overflow-x:auto;padding:.4rem var(--gap) 1.6rem;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative;z-index:2}
.index-film::-webkit-scrollbar{display:none}
.index-film:focus{outline:1px solid #e9e2d0;outline-offset:4px}
.icard{flex:0 0 clamp(300px,32vw,440px);scroll-snap-align:start;border:1px solid #2a2a26;border-radius:16px;padding:4.4rem 2.1rem 2.1rem;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;background:rgba(10,10,8,.72);backdrop-filter:blur(6px);transition:border-color .35s,transform .35s}
.icard:hover{border-color:#e9e2d0;transform:translateY(-6px)}
.icard-no{font-family:var(--mono);color:#e9e2d0;opacity:.55;font-size:.85rem;letter-spacing:.2em;position:absolute;top:1.9rem;left:2.1rem}
.icard h3{font-size:clamp(1.8rem,2.8vw,2.5rem);letter-spacing:-.02em;margin:0 0 .7rem}
.icard p{color:#a49e8d;line-height:1.65;margin:0 0 1.1rem}
.icard-link{font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;color:#f3efe4;text-decoration:none;align-self:flex-start}
.icard-link:hover{color:#fff;text-decoration:underline}
.endbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:6vh;padding:2.2rem 0;border-top:1px solid #1c1c18;font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;color:#6f6a5c;position:relative;z-index:2}
.endbar .to-top{color:#6f6a5c;text-decoration:none}
.endbar .to-top:hover{color:#f3efe4}

@media(max-width:900px){
  .path-cards{grid-template-columns:1fr}
  .lab-grid{grid-template-columns:1fr}
  .reel-scenes{margin-right:0}
  .reel-blob{left:50%;margin-left:-22vmin;opacity:.35}
  .icard{flex-basis:min(78vw,380px)}
}

/* ══════════ 5,7–14 · nine ORIGINAL sections (own design, own code) ══════════ */

/* ---- 5 · MANIFESTO · kinetic mask-wipe type ---- */
.s-manifesto{background:#0b0b0c;padding:22vh 0;overflow:hidden}
.mani-lines{margin:1.1em 0 0;font-size:clamp(2.6rem,7.2vw,6.6rem);font-weight:700;letter-spacing:-.03em;line-height:1.04}
.mline{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.mline>span{display:inline-block;will-change:transform}
.mline i{font-style:normal;color:var(--red)}
.mani-sub{margin-top:2rem;color:var(--mut);font-size:1.05rem;max-width:52ch;line-height:1.7}
.mani-sub b{color:var(--white);font-weight:600}

/* ---- 7 · SERVICES · accordion ---- */
.s-services{background:#0e0e10;padding:16vh 0}
.acc{margin-top:3rem;border-top:1px solid #232326}
.arow{border-bottom:1px solid #232326}
.ahead{width:100%;display:flex;align-items:center;gap:1.6rem;background:none;border:none;color:var(--white);font-family:var(--font);padding:1.7rem .4rem;cursor:pointer;text-align:left;position:relative;overflow:hidden}
.ahead::before{content:"";position:absolute;inset:0;background:#161618;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--f-smooth);z-index:0}
.ahead:hover::before{transform:scaleX(1)}
.anum{font-family:var(--mono);font-size:.8rem;letter-spacing:.2em;color:var(--red);z-index:1;min-width:44px}
.atitle{font-size:clamp(1.5rem,3.4vw,2.5rem);font-weight:700;letter-spacing:-.02em;z-index:1;flex:1}
.aicon{position:relative;width:22px;height:22px;flex-shrink:0;z-index:1}
.aicon::before,.aicon::after{content:"";position:absolute;background:var(--white);transition:transform .4s,background .4s;left:0;top:10px;width:22px;height:2px}
.aicon::after{transform:rotate(90deg)}
.ahead[aria-expanded="true"] .aicon::after{transform:rotate(0deg)}
.ahead[aria-expanded="true"] .aicon::before{background:var(--red)}
.abody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--f-smooth)}
.arow.open .abody{grid-template-rows:1fr}
.abody-in{overflow:hidden;min-height:0}
.abody-in p{color:#b9b9bd;line-height:1.7;max-width:62ch;margin:0 0 1.4rem;padding:0 .4rem 0 calc(44px + 1.6rem + .4rem)}
.alinks{display:inline-block;margin:0 0 2rem calc(44px + 1.6rem + .4rem);font-family:var(--mono);font-size:.82rem;letter-spacing:.14em;color:var(--red);text-decoration:none;border-bottom:1px solid var(--red);padding-bottom:3px}
.alinks:hover{color:var(--white);border-color:var(--white)}

/* ---- 8 · PROCESS · drawing line ---- */
.s-process{background:#0b0b0c;padding:16vh 0}
.proc-track{margin-top:4rem;position:relative}
.proc-rail{position:absolute;left:0;right:0;top:9px;height:2px;background:#232326}
.proc-fill{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--red),#ff7a4d);transform:scaleX(0);transform-origin:left}
.proc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.pstep{position:relative;padding-top:2.4rem;opacity:.35;transition:opacity .5s}
.pstep.lit{opacity:1}
.pdot{position:absolute;top:2px;left:0;width:16px;height:16px;border-radius:50%;background:#0b0b0c;border:2px solid #3a3a3e;transition:background .4s,border-color .4s,box-shadow .4s}
.pstep.lit .pdot{background:var(--red);border-color:var(--red);box-shadow:0 0 18px rgba(217,56,30,.8)}
.pnum{font-family:var(--mono);font-size:.75rem;letter-spacing:.22em;color:var(--red)}
.pstep h3{font-size:1.5rem;margin:.8rem 0 .5rem;letter-spacing:-.01em}
.pstep p{color:#b9b9bd;line-height:1.65;margin:0;font-size:.95rem}

/* ---- 9 · STACK · scatter pills ---- */
.s-stack{background:#101013;padding:16vh 0;overflow:hidden}
.stack-field{position:relative;height:380px;margin-top:3rem;border:1px dashed #2a2a2e;border-radius:20px;overflow:hidden;background:radial-gradient(60% 90% at 50% 110%,rgba(217,56,30,.08),transparent 70%)}
.spill{position:absolute;font-family:var(--mono);font-size:.82rem;letter-spacing:.1em;color:var(--white);background:#1a1a1e;border:1px solid #333;padding:.7em 1.3em;border-radius:999px;white-space:nowrap;will-change:transform;user-select:none;transition:background .3s,border-color .3s}
.spill.hot{background:var(--red);border-color:var(--red);color:#fff}
.stack-hint{margin-top:1.4rem}

/* ---- 10 · SHOWCASE · editorial rows ---- */
.s-showcase{background:#0b0b0c;padding:16vh 0}
.show-rows{margin-top:3.5rem;display:grid;gap:2.6rem}
.srow{display:grid;grid-template-columns:300px 1fr;gap:2.4rem;align-items:stretch;border:1px solid #1e1e22;border-radius:20px;overflow:hidden;background:#101013;transition:border-color .35s,transform .35s}
.srow:hover{border-color:#3a3a40;transform:translateY(-4px)}
.scover{position:relative;min-height:240px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.scover span{font-size:4.4rem;font-weight:700;letter-spacing:-.04em;color:rgba(255,255,255,.92);text-shadow:0 4px 30px rgba(0,0,0,.4);z-index:1}
.scover::after{content:"";position:absolute;inset:-40%;transition:transform 1.2s var(--f-smooth)}
.srow:hover .scover::after{transform:rotate(24deg) scale(1.15)}
.scover.c1{background:linear-gradient(135deg,#3b1d5e,#d9381e)}
.scover.c1::after{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),transparent 55%)}
.scover.c2{background:linear-gradient(135deg,#0e3a4a,#35e0ff)}
.scover.c2::after{background:repeating-linear-gradient(115deg,transparent 0 14px,rgba(255,255,255,.14) 14px 16px)}
.scover.c3{background:linear-gradient(135deg,#5e2c10,#ffb03a)}
.scover.c3::after{background:radial-gradient(circle at 70% 60%,rgba(0,0,0,.3),transparent 55%)}
.scover.c4{background:linear-gradient(135deg,#123f2a,#7ee081)}
.scover.c4::after{background:repeating-linear-gradient(45deg,transparent 0 18px,rgba(0,0,0,.16) 18px 20px)}
.scover.c5{background:linear-gradient(135deg,#4a2c14,#e8b04b)}
.scover.c5::after{background:radial-gradient(circle at 50% 20%,rgba(255,255,255,.4),transparent 50%)}
.scover.c6{background:linear-gradient(135deg,#2a2a30,#8a8a96)}
.scover.c6::after{background:repeating-linear-gradient(0deg,transparent 0 12px,rgba(255,255,255,.1) 12px 14px)}
.smeta{padding:2.2rem 2.2rem 2.2rem 0;display:flex;flex-direction:column;justify-content:center}
.snum{font-family:var(--mono);font-size:.78rem;letter-spacing:.22em;color:var(--red)}
.smeta h3{font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.02em;margin:.6rem 0}
.smeta p{color:#b9b9bd;line-height:1.65;margin:0 0 1rem;max-width:56ch}
.stags{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;color:var(--mut);text-transform:uppercase}
.svisit{margin-top:1.1rem;font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;color:var(--white);text-decoration:none;align-self:flex-start;border-bottom:1px solid var(--red);padding-bottom:3px}
.svisit:hover{color:var(--red)}

/* ---- 11 · PRINCIPLES · glassmorphism ---- */
.s-principles{position:relative;background:#0a0e1a;padding:18vh 0;overflow:hidden}
.pr-aurora{position:absolute;border-radius:50%;filter:blur(100px);opacity:.45;pointer-events:none;animation:drift 16s ease-in-out infinite alternate}
.pr-aurora.pa1{width:44vw;height:44vw;left:-12vw;top:-10vw;background:radial-gradient(circle,rgba(120,80,255,.5),transparent 65%)}
.pr-aurora.pa2{width:38vw;height:38vw;right:-10vw;top:20%;background:radial-gradient(circle,rgba(53,224,255,.4),transparent 65%);animation-delay:-5s}
.pr-aurora.pa3{width:34vw;height:34vw;left:30%;bottom:-14vw;background:radial-gradient(circle,rgba(217,56,30,.4),transparent 65%);animation-delay:-10s}
.pr-inner{position:relative;z-index:2}
.pr-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);margin-top:3rem}
.pr-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:2.4rem;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 20px 50px rgba(0,0,0,.35);transition:transform .35s,border-color .35s;will-change:transform}
.pr-card:hover{border-color:rgba(255,255,255,.32)}
.pr-no{font-family:var(--mono);font-size:.78rem;letter-spacing:.22em;color:#9fb4ff}
.pr-card h3{font-size:1.6rem;margin:.9rem 0 .6rem;letter-spacing:-.01em}
.pr-card p{color:#b9c2d8;line-height:1.65;margin:0}

/* ---- 12 · ROAD · vertical timeline ---- */
.s-road{background:#0b0b0c;padding:16vh 0}
.tl{position:relative;margin-top:4rem;max-width:640px}
.tl-rail{position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:#232326}
.tl-fill{display:block;width:100%;background:linear-gradient(180deg,var(--red),#ff7a4d);transform:scaleY(0);transform-origin:top;height:100%}
.tl-dot{position:absolute;left:50%;top:0;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--red);box-shadow:0 0 18px rgba(217,56,30,.9)}
.tl-items{list-style:none;margin:0;padding:0;display:grid;gap:3.2rem}
.tl-item{position:relative;padding-left:3.4rem;opacity:.3;transition:opacity .5s}
.tl-item.lit{opacity:1}
.tl-year{font-family:var(--mono);font-size:.75rem;letter-spacing:.24em;color:var(--red)}
.tl-item h3{font-size:1.5rem;margin:.7rem 0 .5rem;letter-spacing:-.01em}
.tl-item p{color:#b9b9bd;line-height:1.65;margin:0;max-width:52ch}

/* ---- 13 · STATUS · availability board ---- */
.s-status{background:#0d0d0f;padding:16vh 0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:34px 34px}
.status-card{margin-top:1rem;border:1px solid #26262b;border-radius:22px;background:linear-gradient(160deg,#121215,#0b0b0d);padding:2.8rem;box-shadow:0 30px 80px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.06);max-width:860px}
.st-head{display:flex;align-items:center;gap:1rem;font-family:var(--mono);font-size:.82rem;letter-spacing:.2em;color:var(--white);flex-wrap:wrap}
.st-dot{width:12px;height:12px;border-radius:50%;background:#3ddc74;box-shadow:0 0 0 0 rgba(61,220,116,.5);animation:stpulse 2s infinite}
@keyframes stpulse{70%{box-shadow:0 0 0 12px rgba(61,220,116,0)}100%{box-shadow:0 0 0 0 rgba(61,220,116,0)}}
.st-clock{margin-left:auto;color:var(--red);font-variant-numeric:tabular-nums;letter-spacing:.1em}
.st-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;margin:2.4rem 0;padding:2rem 0;border-top:1px solid #222;border-bottom:1px solid #222}
.st-cell span{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.2em;color:var(--mut);margin-bottom:.6rem}
.st-cell b{font-size:1.02rem;font-weight:600}
.st-cta{display:inline-block;font-family:var(--mono);font-size:.85rem;letter-spacing:.16em;color:#fff;background:var(--red);text-decoration:none;padding:1.1em 2.4em;border-radius:999px;transition:transform .3s,background .3s}
.st-cta:hover{background:#b32d18;transform:translateY(-2px)}

/* ---- 14 · CONTACT · giant CTA ---- */
.s-contact{background:#08080a;padding:20vh 0 0;overflow:hidden}
.cta-giant{margin:1.2em 0 0;font-size:clamp(3.4rem,11vw,10rem);font-weight:700;letter-spacing:-.04em;line-height:.98}
.cta-giant a{display:block;color:transparent;-webkit-text-stroke:2px var(--white);text-decoration:none;transition:color .45s}
.cta-giant a span{display:block}
.cta-giant a:hover{color:var(--red);-webkit-text-stroke:2px var(--red)}
.c-rows{margin-top:4rem;border-top:1px solid #1e1e22}
.crow{display:flex;justify-content:space-between;align-items:center;padding:1.5rem .4rem;border-bottom:1px solid #1e1e22;color:var(--white);text-decoration:none;font-size:1.15rem;transition:padding .35s,background .35s}
.crow:hover{background:#101013;padding-left:1.2rem}
.crow-a{font-family:var(--mono);color:var(--red);transition:transform .35s}
.crow:hover .crow-a{transform:translate(6px,-6px)}
.endbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:8vh;padding:2.2rem 0;border-top:1px solid #1a1a1d;font-family:var(--mono);font-size:.75rem;letter-spacing:.14em;color:var(--mut)}
.endbar .to-top{color:var(--mut);text-decoration:none}
.endbar .to-top:hover{color:var(--red)}

@media(max-width:900px){
  .proc-steps{grid-template-columns:1fr 1fr;gap:2rem}
  .pr-grid{grid-template-columns:1fr}
  .st-grid{grid-template-columns:1fr 1fr}
  .srow{grid-template-columns:1fr}
  .scover{min-height:180px}
  .smeta{padding:0 1.6rem 1.8rem}
  .stack-field{height:440px}
  .spill{font-size:.7rem;padding:.6em 1em}
  .abody-in p,.alinks{padding-left:.4rem;margin-left:0}
}

/* ══════════ chapters 01–09 · portfolio-study rebuild (own design) ══════════ */

/* ---- chapter rail ---- */
.chapters{position:fixed;right:22px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;z-index:60}
.chapters a{display:flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;color:#5a5a60;flex-direction:row-reverse}
.chapters a i{width:22px;height:2px;background:#333338;transition:width .35s,background .35s}
.chapters a.on{color:var(--white)}
.chapters a.on i{width:38px;background:var(--red)}
.chapters a:hover{color:var(--white)}

/* ---- 02 · MISSIONS ---- */
.s-missions{background:#0c0c0e;padding:16vh 0}
.ms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:3rem}
.ms-card{position:relative;border:1px solid #232328;border-radius:20px;padding:2.4rem;background:linear-gradient(165deg,#121215,#0b0b0d);overflow:hidden;transition:border-color .35s,transform .35s;display:flex;flex-direction:column}
.ms-card::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 60% at 50% 0%,rgba(217,56,30,.14),transparent 60%);opacity:0;transition:opacity .4s}
.ms-card:hover{border-color:#3d3d44;transform:translateY(-6px)}
.ms-card:hover::before{opacity:1}
.ms-no{font-family:var(--mono);font-size:.75rem;letter-spacing:.24em;color:var(--red)}
.ms-card h3{font-size:1.9rem;margin:1rem 0 .7rem;letter-spacing:-.02em}
.ms-card p{color:#b9b9bd;line-height:1.65;margin:0 0 1.6rem;flex:1}
.ms-load{border-top:1px solid #222228;padding-top:1.2rem;margin-bottom:1.8rem}
.ms-load span{display:block;font-family:var(--mono);font-size:.68rem;letter-spacing:.22em;color:var(--mut);margin-bottom:.5rem}
.ms-load b{font-family:var(--mono);font-size:.85rem;font-weight:400;color:var(--white);letter-spacing:.06em}
.ms-go{align-self:flex-start;font-family:var(--mono);font-size:.82rem;letter-spacing:.14em;color:#fff;background:var(--red);border:none;border-radius:999px;padding:1em 1.9em;cursor:pointer;transition:background .3s,transform .3s;font-family:var(--mono)}
.ms-go:hover{background:#b32d18;transform:translateY(-2px)}
.ms-go span{display:inline-block;transition:transform .3s}
.ms-go:hover span{transform:translate(3px,-3px)}

/* ---- 03 · ARSENAL ---- */
.s-arsenal{background:#0e0c0a;padding:16vh 0;overflow:hidden}
.arsenal-field{position:relative;height:380px;margin-top:3rem;border:1px dashed #2e2823;border-radius:20px;overflow:hidden;background:radial-gradient(60% 90% at 50% 110%,rgba(217,56,30,.12),transparent 70%)}
.tag{position:absolute;font-family:var(--mono);font-size:.82rem;letter-spacing:.1em;color:#f3ede2;background:#1c1917;border:1px solid #3a332c;padding:.7em 1.3em;border-radius:6px;white-space:nowrap;will-change:transform;user-select:none;transition:background .3s,border-color .3s,color .3s;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.tag.hot{background:var(--red);border-color:#ff7a4d;color:#fff;box-shadow:0 0 22px rgba(217,56,30,.55)}
.tag-hint{margin-top:1.4rem}

/* ---- 05 · WORK · pinned horizontal ---- */
.s-work{background:#0b0b0c;overflow:hidden}
.work-pin{height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.work-top{display:flex;justify-content:space-between;align-items:center;width:100%}
.work-count{font-family:var(--mono);font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:.1em;color:var(--white);font-variant-numeric:tabular-nums}
.work-count .wc-sep{color:var(--mut);margin:0 .3em}
.work-count #workNow{color:var(--red)}
.work-track{display:flex;gap:clamp(1.2rem,3vw,2.6rem);padding:2.6rem var(--gap);width:max-content;will-change:transform}
.wcard{flex:0 0 clamp(300px,58vw,540px);border:1px solid #1e1e22;border-radius:20px;overflow:hidden;background:#101013}
.wcard .scover{min-height:220px}
.wmeta{padding:1.8rem}
.wmeta h3{font-size:clamp(1.5rem,2.6vw,2.1rem);letter-spacing:-.02em;margin:.55rem 0 .6rem}
.wmeta p{color:#b9b9bd;line-height:1.6;margin:0 0 1rem}
.work-hint{text-align:center;margin-top:.6rem}

/* ---- 09 · PLAYGROUND ---- */
.s-play{background:#08080a;padding:16vh 0 0;overflow:hidden}
.play-field{position:relative;height:62vh;min-height:420px;margin-top:3rem;border-top:1px solid #1a1a1e;border-bottom:1px solid #1a1a1e;background:radial-gradient(80% 100% at 50% 100%,rgba(217,56,30,.1),transparent 70%),#0a0a0c}
#playCanvas{position:absolute;inset:0;width:100%;height:100%}
.play-hint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);white-space:nowrap;color:#6f6a5c}
.od-toast{position:fixed;left:50%;top:24px;transform:translate(-50%,-80px);background:var(--red);color:#fff;font-family:var(--mono);font-size:.8rem;letter-spacing:.24em;padding:1em 2em;border-radius:999px;z-index:80;transition:transform .5s var(--f-smooth)}
.od-toast.show{transform:translate(-50%,0)}
html.overdrive{--red:#35e0ff}
html.overdrive .od-toast{background:#35e0ff;color:#04222e}

@media(max-width:1100px){.chapters{display:none}}
@media(max-width:900px){
  .ms-grid{grid-template-columns:1fr}
  .arsenal-field{height:440px}
  .tag{font-size:.7rem;padding:.6em 1em}
  .wcard{flex-basis:82vw}
  .play-hint{white-space:normal;text-align:center;width:90%}
}

/* ══════════ sticky-stack panels · 10 unique worlds ══════════ */
.stack{position:relative}
.panel{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;display:flex;align-items:center}
.panel-in{width:100%;position:relative;z-index:2}
.p-h{font-size:clamp(2.1rem,4.6vw,3.9rem);font-weight:700;letter-spacing:-.03em;line-height:1.02;margin:1em 0 0;color:var(--white)}
.p-h-dark{color:#141412}
.ch-dark{color:#4a1512}.ch-dark .p{color:#0d0d0f}
.p-process .ch-dark{color:#6a6256}.p-process .ch-dark .p{color:var(--red)}
.p-contact .ch-dark{color:#6a5f4c}.p-contact .ch-dark .p{color:var(--red)}
.p-creed{background:#0b0b0c}
.p-missions{background:#d9381e}
.p-missions .p-h{color:#fff}
.p-arsenal{background:#1a1410}
.p-process{background:#f4f1ea}
.p-work{background:#0a1428}
.p-principles{background:#0a0f22;overflow:hidden}
.p-road{background:#0e1512}
.p-status{background:#0c0c0e;background-image:radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px);background-size:34px 34px}
.p-play{background:#060608}
.p-contact{background:#ece5d3}

/* missions on red */
.ms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.8rem);margin-top:2.2rem}
.ms-card{background:#0d0d0f;border-radius:18px;padding:1.7rem;display:flex;flex-direction:column;transition:transform .35s}
.ms-card:hover{transform:translateY(-6px)}
.ms-card h3{font-size:1.5rem;margin:.8rem 0 .5rem;color:#fff}
.ms-card p{color:#c9c2b8;line-height:1.55;margin:0 0 1.4rem;font-size:.92rem;flex:1}

/* work grid */
.wk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,1.8vw,1.6rem);margin-top:2rem}
.wk{border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.03);transition:transform .35s,border-color .35s}
.wk:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.3)}
.wk .scover{min-height:120px}
.wk .scover span{font-size:2.2rem}
.wk-m{padding:1rem 1.1rem 1.1rem}
.wk-m h3{font-size:1.05rem;margin:0 0 .3rem;letter-spacing:-.01em}
.wk-m span,.wk-m a{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;color:#8fa0b8;text-transform:uppercase}
.wk-m a{color:#ff8a5c;text-decoration:none}
.wk-m a:hover{text-decoration:underline}

/* road row */
.rd-row{list-style:none;margin:2.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.4vw,2rem)}
.rd-row li{border-top:2px solid #2a3a2e;padding-top:1.2rem}
.rd-row .tl-year{font-family:var(--mono);font-size:.72rem;letter-spacing:.24em;color:var(--red)}
.rd-row h3{font-size:1.25rem;margin:.7rem 0 .4rem}
.rd-row p{color:#a9b8ac;line-height:1.55;margin:0;font-size:.9rem}

/* playground fill */
.play-fill{position:absolute;inset:0;z-index:1}
#playCanvas{position:absolute;inset:0;width:100%;height:100%}
.play-in{text-align:left}
.play-hint{margin-top:1.6rem;color:#6f6a5c}

/* contact on bone */
.p-contact .cta-giant a{color:transparent;-webkit-text-stroke:2px #141412}
.p-contact .cta-giant a:hover{color:var(--red);-webkit-text-stroke:2px var(--red)}
.p-contact .crow{color:#141412;border-color:#d8cfb8}
.p-contact .crow:hover{background:#e2d9c2}
.p-contact .endbar{border-color:#d8cfb8;color:#6a5f4c}
.p-contact .endbar .to-top{color:#6a5f4c}

/* tighten reused bits for 100vh */
.p-arsenal .arsenal-field{height:34vh;min-height:240px;margin-top:1.8rem}
.p-principles .pr-grid{grid-template-columns:repeat(4,1fr);margin-top:2rem}
.p-principles .pr-card{padding:1.6rem}
.p-principles .pr-card h3{font-size:1.15rem}
.p-principles .pr-card p{font-size:.88rem}
.p-status .status-card{margin-top:1.6rem;padding:2rem}
.p-process .proc-track{margin-top:2.6rem}
.panel .mani-lines{font-size:clamp(2.4rem,6vw,5.4rem)}

@media(max-width:900px){
  .ms-grid{grid-template-columns:1fr;gap:.9rem;margin-top:1.6rem}
  .ms-card{padding:1.3rem}.ms-card p{margin-bottom:1rem}
  .wk-grid{grid-template-columns:repeat(2,1fr);gap:.8rem}
  .wk .scover{min-height:88px}.wk .scover span{font-size:1.6rem}
  .wk-m h3{font-size:.92rem}
  .rd-row{grid-template-columns:1fr 1fr;gap:1.2rem}
  .p-principles .pr-grid{grid-template-columns:1fr 1fr;gap:.9rem}
  .p-principles .pr-card{padding:1.2rem}
  .p-arsenal .arsenal-field{height:36vh}
  .panel{min-height:620px}
}
.p-process .pstep h3{color:#141412}
.p-process .pstep p{color:#5a564e}
.p-process .proc-rail{background:#d8d2c2}
@media(max-height:760px) and (max-width:900px){
  .p-h{font-size:1.8rem;margin-top:.7em}
  .ms-card{padding:1rem}.ms-card h3{font-size:1.15rem;margin:.5rem 0 .35rem}
  .ms-card p{font-size:.8rem;margin-bottom:.8rem}
  .ms-go{padding:.8em 1.5em;font-size:.75rem}
  .ms-grid{margin-top:1.2rem;gap:.7rem}
  .wk .scover{min-height:64px}.wk .scover span{font-size:1.3rem}
  .wk-m{padding:.7rem}.wk-m h3{font-size:.82rem}
  .rd-row{gap:.9rem;margin-top:1.4rem}
  .panel .mani-lines{font-size:2rem}
}
/* small phones: panels flow normally so nothing clips (wipe magic stays on desktop) */
@media(max-width:900px){
  .panel{position:relative;height:auto;min-height:100svh;padding:9vh 0}
  .panel-in{transform:none!important}
}

/* ══ 4-8 · REBUILT FROM Dinesh_1 ══ */
.s-strengths,.s-projects,.s-skills,.s-for,.s-closing{padding:clamp(80px,10vw,140px) 0;background:var(--ink)}
.s-strengths{border-top:1px solid rgba(255,255,255,.08)}
.lede{font-size:clamp(1.05rem,1.6vw,1.35rem);color:#c9c9c9;margin-top:1.2em;max-width:60ch;line-height:1.5}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);margin-top:2.5em}
.cards-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{background:var(--ink);padding:1.8em 1.5em;transition:background .3s}
.card:hover{background:var(--ink2)}
.card-n{font-family:var(--mono);font-size:.75rem;color:var(--red);letter-spacing:.15em;margin-bottom:1em}
.card h4{font-size:1.25rem;font-weight:700;margin-bottom:.6em;letter-spacing:-.01em}
.card p{color:#a8a8a8;font-size:.95rem;line-height:1.55}
.card .fps{font-family:var(--mono);color:var(--red);font-size:.85rem;letter-spacing:.1em;margin-bottom:.5em}
.proj-list{display:flex;flex-direction:column;margin-top:2.5em;border-top:1px solid rgba(255,255,255,.1)}
.proj{display:block;padding:2.2em 0;border-bottom:1px solid rgba(255,255,255,.1);text-decoration:none;transition:padding .3s var(--f-smooth)}
.proj:hover{padding-left:1em}
.proj-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1em;gap:1em;flex-wrap:wrap}
.proj h4{font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:700;letter-spacing:-.02em;margin-bottom:.4em}
.proj p{color:#a8a8a8;max-width:60ch;line-height:1.55}
.proj-go{display:inline-block;margin-top:1em;font-family:var(--mono);font-size:.8rem;letter-spacing:.12em;color:var(--red);text-transform:uppercase}
.skill-grid{display:flex;flex-wrap:wrap;gap:.8em;margin-top:2.5em}
.skill{font-family:var(--mono);font-size:.9rem;letter-spacing:.06em;padding:.7em 1.3em;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#e8e8e8;transition:border-color .3s,background .3s}
.skill:hover{border-color:var(--red);background:rgba(217,56,30,.08)}
.points{list-style:none;margin-top:2.5em;display:flex;flex-direction:column}
.points li{display:flex;gap:1.5em;padding:1.8em 0;border-bottom:1px solid rgba(255,255,255,.1)}
.points li span{font-family:var(--mono);font-size:.85rem;color:var(--red);letter-spacing:.1em;flex-shrink:0;padding-top:.3em}
.points h4{font-size:1.3rem;font-weight:700;margin-bottom:.5em}
.points p{color:#a8a8a8;line-height:1.55;max-width:60ch}
.cta{margin-top:3.5em;padding:2.5em;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.02)}
.cta p{margin-bottom:.8em;color:#c9c9c9}
.cta .lede{margin:1.2em 0}
.cta .pill{margin-right:.8em;margin-top:.5em}
.foot{margin-top:clamp(80px,10vw,140px);padding:2.5em 0;border-top:1px solid rgba(255,255,255,.1)}
.foot-in{display:flex;justify-content:space-between;gap:1em;flex-wrap:wrap}
@media(max-width:700px){.points li{flex-direction:column;gap:.5em}.foot-in{flex-direction:column}}
.cards-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.s-cta{padding:clamp(60px,8vw,100px) 0;background:var(--ink);border-top:1px solid rgba(255,255,255,.08)}
.cta-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5em;margin:1.5em 0}
.cta-cols p{color:#a8a8a8}
.cta .h-lg{margin-bottom:.5em}

/* ══════════ Contact ══════════ */
.pp-contact{background:#101214;color:#f5f3f6;padding:6rem 0;text-align:center}
.pp-wrap{max-width:1200px;margin:0 auto;padding:0 2rem}
.pp-eyebrow{font-family:var(--font-mono,monospace);font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:#d9381e;margin-bottom:1rem}
.pp-h2{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.05;font-weight:700;margin-bottom:3rem;letter-spacing:-.02em}
.pp-contact .pp-eyebrow{color:#f4ff1e}

/* Strength cards */
.pp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.pp-card{background:#fff;border:1px solid #e6dfe4;border-radius:12px;padding:2rem;transition:transform .3s,box-shadow .3s}
.pp-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(16,18,20,.1)}
.pp-num{font-family:monospace;font-size:.8rem;color:#d9381e;display:block;margin-bottom:1rem}
.pp-card h3{font-size:1.25rem;margin-bottom:.75rem}
.pp-card p{color:#544d56;line-height:1.6}

/* Projects */
.pp-proj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}
.pp-proj{background:#fff;border:1px solid #e6dfe4;border-radius:12px;padding:2rem}
.pp-proj-main{grid-column:1/-1;background:#101214;color:#f5f3f6;border:none}
.pp-proj-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}
.pp-proj h3{font-size:1.5rem}
.pp-tag{font-size:.75rem;background:#e6dfe4;padding:.3rem .8rem;border-radius:20px}
.pp-proj-main .pp-tag{background:#f4ff1e;color:#101214}
.pp-proj-desc{color:#a399a8;margin-bottom:1.5rem}
.pp-proj p{color:#544d56;line-height:1.6}
.pp-proj-main p{color:#a399a8}
.pp-stats{display:flex;gap:2rem}
.pp-stats div{text-align:center}
.pp-stats b{display:block;font-size:2rem;color:#f4ff1e}
.pp-stats span{font-size:.8rem;color:#a399a8}
.pp-skills{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.pp-skills span{background:#fff;border:1px solid #e6dfe4;padding:.5rem 1rem;border-radius:20px;font-size:.9rem}

/* Audience */
.pp-aud-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:3rem}
.pp-aud{background:#fff;border:1px solid #e6dfe4;border-radius:12px;padding:2.5rem}
.pp-aud h3{font-size:1.4rem;margin-bottom:1rem}
.pp-aud p{color:#544d56;line-height:1.7}
.pp-cta-line{font-size:1.25rem;text-align:center;color:#544d56}
.pp-cta-line strong{color:#101214}

/* Process steps */
.pp-steps{list-style:none;display:grid;gap:1.5rem}
.pp-steps li{display:flex;gap:2rem;background:#fff;border:1px solid #e6dfe4;border-radius:12px;padding:2rem;align-items:flex-start}
.pp-step-n{font-size:2.5rem;font-weight:700;color:#d9381e;min-width:60px}
.pp-steps h3{font-size:1.3rem;margin-bottom:.5rem}
.pp-steps p{color:#544d56;line-height:1.6}

/* Contact */
.pp-contact-sub{font-size:1.2rem;color:#a399a8;margin-bottom:2rem}
.pp-contact-links{display:flex;flex-direction:column;gap:1rem;margin-bottom:3rem}
.pp-contact-links a{color:#f4ff1e;font-size:1.1rem;text-decoration:none}
.pp-contact-links a:hover{text-decoration:underline}
.pp-foot{font-size:.85rem;color:#544d56;letter-spacing:.1em}

/* Scroll animations - initial state */
.pp-card,.pp-proj,.pp-aud,.pp-steps li{opacity:0;transform:translateY(30px)}

.c-right-particles{position:relative;max-width:480px;min-height:100px;margin:0;display:flex;align-items:center;justify-content:flex-end}
.c-right-particles canvas{display:block;cursor:crosshair}


/* ══════════ LIQUID SCULPTURE HERO (Forma style) ══════════ */
.sh-root{position:relative;min-height:100svh;background:#f4f1ea;color:#151514;overflow:hidden;display:flex;flex-direction:column}
.sh-backdrop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(200px,38vw,560px);line-height:1;letter-spacing:-.04em;color:#151514;opacity:.045;pointer-events:none;user-select:none;white-space:nowrap}
.sh-stage{position:absolute;inset:0;pointer-events:none}
.sh-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.sh-nav{position:relative;z-index:5;display:flex;align-items:center;gap:2rem;padding:1.4rem 2.5rem}
.sh-brand{font-weight:700;font-size:1.15rem;letter-spacing:-.02em;color:#151514;text-decoration:none;margin-right:auto}
.sh-links{display:flex;gap:1.8rem;list-style:none;margin:0;padding:0}
.sh-links a{color:#151514;text-decoration:none;font-size:.95rem;opacity:.75;transition:opacity .25s}
.sh-links a:hover{opacity:1}
.sh-contact{color:#151514;text-decoration:none;font-size:.95rem;border:1px solid rgba(21,21,20,.25);border-radius:999px;padding:.6rem 1.4rem;transition:background .25s,color .25s}
.sh-contact:hover{background:#151514;color:#f4f1ea}
.sh-hint{position:relative;z-index:4;text-align:center;font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;opacity:.45;margin:0;padding-top:1rem}
.sh-bottom{position:relative;z-index:5;margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;padding:2.5rem 2.5rem 3rem;flex-wrap:wrap}
.sh-eyebrow{display:flex;align-items:center;gap:.8rem;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;opacity:.6;margin:0 0 1.2rem}
.sh-eyebrow span{display:block;width:2.2rem;height:1px;background:#151514;opacity:.5}
.sh-title{font-size:clamp(3rem,7vw,6.5rem);line-height:.95;letter-spacing:-.03em;margin:0;font-weight:600}
.sh-title em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400}
.sh-right{max-width:380px}
.sh-desc{font-size:1.02rem;line-height:1.6;opacity:.75;margin:0 0 1.8rem}
.sh-ctas{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap}
.sh-cta-solid{display:inline-flex;align-items:center;gap:.7rem;background:#151514;color:#f4f1ea;text-decoration:none;font-weight:600;padding:1rem 1.8rem;border-radius:999px;transition:transform .25s}
.sh-cta-solid:hover{transform:translateY(-2px)}
.sh-cta-line{color:#151514;text-decoration:none;font-weight:500;border-bottom:1px solid rgba(21,21,20,.35);padding-bottom:.3rem;display:inline-flex;align-items:center;gap:.6rem}
.sh-credit{position:absolute;z-index:5;right:2.5rem;bottom:1rem;font-size:.72rem;opacity:.35;margin:0}
@media(max-width:768px){
  .sh-nav{padding:1rem 1.2rem;gap:1rem}
  .sh-links{display:none}
  .sh-bottom{padding:1.5rem 1.2rem 2.5rem;flex-direction:column;align-items:flex-start}
  .sh-credit{display:none}
}

/* ══════════ CLARITY (rebuilt from scratch) ══════════ */
.w-clarity{background:#f4f1ea;color:#151514;padding:6rem 0}
.w-clarity .wrap{max-width:1400px;margin:0 auto;padding:0 2.5rem}
.w-clarity .c-head{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-bottom:3rem;flex-wrap:wrap}
.w-clarity h2{font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.03em;margin:0;font-weight:600}
.w-clarity h2 em{color:#c33d1e;font-style:normal}
.w-clarity .c-particles{position:relative;min-width:300px;min-height:100px;display:flex;align-items:center;justify-content:flex-end}
.w-clarity .c-particles canvas{display:block;cursor:crosshair}
.w-clarity .c-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;list-style:none;margin:0;padding:2rem 0 0;border-top:2px solid #151514}
.w-clarity .c-grid li{border-bottom:1px solid rgba(21,21,20,.15);padding-bottom:1.5rem}
.w-clarity .c-grid b{display:block;color:#c33d1e;font-weight:500;margin-bottom:.8rem}
.w-clarity .c-grid p{margin:0;line-height:1.6;opacity:.85}
@media(max-width:900px){.w-clarity .c-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.w-clarity .c-grid{grid-template-columns:1fr}}

/* ══════════ FORMA HERO (exact from reference) ══════════ */
.forma-hero{position:relative;min-height:100svh;background:#f4f1ea;color:#151514;overflow:hidden;display:flex;flex-direction:column}
.fh-backdrop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(200px,38vw,560px);line-height:1;letter-spacing:-.04em;color:#151514;opacity:.05;pointer-events:none;user-select:none;white-space:nowrap}
.fh-stage{position:absolute;inset:0;pointer-events:none}
.fh-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.fh-nav{position:relative;z-index:5;display:flex;align-items:center;gap:2rem;padding:1.4rem 2.5rem}
.fh-brand{font-weight:700;font-size:1.15rem;letter-spacing:-.02em;color:#151514;text-decoration:none;margin-right:auto}
.fh-links{display:flex;gap:1.8rem;list-style:none;margin:0;padding:0}
.fh-links a{color:#151514;text-decoration:none;font-size:.95rem;opacity:.75}
.fh-links a:hover{opacity:1}
.fh-contact{color:#151514;text-decoration:none;font-size:.95rem;border:1px solid rgba(21,21,20,.25);border-radius:999px;padding:.6rem 1.4rem}
.fh-contact:hover{background:#151514;color:#f4f1ea}
.fh-bottom{position:relative;z-index:5;margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;padding:2.5rem 2.5rem 3rem;flex-wrap:wrap}
.fh-eyebrow{display:flex;align-items:center;gap:.8rem;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;opacity:.6;margin:0 0 1.2rem}
.fh-eyebrow span{display:block;width:2.2rem;height:1px;background:#151514;opacity:.5}
.fh-title{font-size:clamp(3rem,7vw,6.5rem);line-height:.95;letter-spacing:-.03em;margin:0;font-weight:600}
.fh-title em{font-family:Georgia,serif;font-style:italic;font-weight:400}
.fh-right{max-width:380px}
.fh-desc{font-size:1.02rem;line-height:1.6;opacity:.75;margin:0 0 1.8rem}
.fh-ctas{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap}
.fh-cta-solid{display:inline-flex;align-items:center;gap:.7rem;background:#151514;color:#f4f1ea;text-decoration:none;font-weight:600;padding:1rem 1.8rem;border-radius:999px}
.fh-cta-solid:hover{transform:translateY(-2px)}
.fh-cta-line{color:#151514;text-decoration:none;font-weight:500;border-bottom:1px solid rgba(21,21,20,.35);padding-bottom:.3rem;display:inline-flex;align-items:center;gap:.6rem}
@media(max-width:768px){.fh-links{display:none}.fh-bottom{flex-direction:column;align-items:flex-start;padding:1.5rem 1.2rem 2.5rem}}

/* ══════════ CLARITY with sculpture ══════════ */
.w-clarity{position:relative;background:#f4f1ea;color:#151514;padding:6rem 0;overflow:hidden}
.clarity-sculpture{position:absolute;inset:0;pointer-events:none;opacity:.9}
.clarity-sculpture canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.w-clarity .wrap{position:relative;z-index:2;max-width:1400px;margin:0 auto;padding:0 2.5rem}
.w-clarity .c-head{margin-bottom:3rem}
.w-clarity h2{font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.03em;margin:0;font-weight:600}
.w-clarity h2 em{color:#c33d1e;font-style:normal}
.w-clarity .c-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;list-style:none;margin:12rem 0 0;padding:2rem 0 0;border-top:2px solid #151514}
.w-clarity .c-grid li{border-bottom:1px solid rgba(21,21,20,.15);padding-bottom:1.5rem}
.w-clarity .c-grid b{display:block;color:#c33d1e;font-weight:500;margin-bottom:.8rem}
.w-clarity .c-grid p{margin:0;line-height:1.6;opacity:.85}
@media(max-width:900px){.w-clarity .c-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.w-clarity .c-grid{grid-template-columns:1fr}}

/* ══════════ 8 · READY FOR PROJECT (exact Forma reference) ══════════ */
.rfp{position:relative;min-height:100svh;background:#f4f1ea;color:#151514;overflow:hidden;display:flex;flex-direction:column}
.rfp-backdrop{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:clamp(200px,38vw,560px);line-height:1;letter-spacing:-.04em;color:#151514;opacity:.05;pointer-events:none;user-select:none;white-space:nowrap}
.rfp-stage{position:absolute;inset:0;pointer-events:none}
.rfp-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.rfp-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rfp-bottom{position:relative;z-index:5;margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;padding:2.5rem 2.5rem 3rem;flex-wrap:wrap}
.rfp-eyebrow{display:flex;align-items:center;gap:.8rem;font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;opacity:.6;margin:0 0 1.2rem}
.rfp-eyebrow span{display:block;width:2.2rem;height:1px;background:#151514;opacity:.5}
.rfp-title{font-size:clamp(3rem,7vw,6.5rem);line-height:.95;letter-spacing:-.03em;margin:0;font-weight:600}
.rfp-title em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400}
.rfp-right{max-width:380px}
.rfp-desc{font-size:1.02rem;line-height:1.6;opacity:.75;margin:0 0 1.8rem}
.rfp-ctas{display:flex;align-items:center;gap:1.8rem;flex-wrap:wrap}
.rfp-cta-solid{display:inline-flex;align-items:center;gap:.7rem;background:#151514;color:#f4f1ea;text-decoration:none;font-weight:600;padding:1rem 1.8rem;border-radius:999px;transition:transform .25s}
.rfp-cta-solid:hover{transform:translateY(-2px)}
.rfp-cta-line{color:#151514;text-decoration:none;font-weight:500;border-bottom:1px solid rgba(21,21,20,.35);padding-bottom:.3rem;display:inline-flex;align-items:center;gap:.6rem}
@media(max-width:768px){.rfp-bottom{padding:1.5rem 1.2rem 2.5rem;flex-direction:column;align-items:flex-start}}

/* ══════════ 8 · READY FOR PROJECT — exact reference refinements ══════════ */
.rfp{font-family:'Inter','Helvetica Neue',Arial,sans-serif}
.rfp-title em{font-family:'Instrument Serif','Times New Roman',serif}
.rfp-fallback{position:absolute;opacity:0;transition:opacity .5s ease;max-width:none;pointer-events:none}
.rfp[data-gl="on"] .rfp-fallback{opacity:0}
.rfp-hint{position:absolute;z-index:4;left:50%;transform:translateX(-50%);top:18%;display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:11px;letter-spacing:.14em;text-transform:uppercase;opacity:.5;pointer-events:none}
.rfp-hint::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:rfp-pulse 2.4s ease-in-out infinite}
@keyframes rfp-pulse{0%,100%{transform:scale(.6);opacity:.45}50%{transform:scale(1);opacity:1}}
.rfp-credit{position:absolute;z-index:5;right:2.5rem;bottom:1rem;font-size:10px;letter-spacing:.06em;color:inherit;opacity:.38;text-decoration:none}
.rfp-credit:hover{opacity:.8}

/* ══════════ 7 · WATER RIPPLE SECTION ══════════ */
.w-ripple {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  background: #f4f1ea;
}

/* Phase 1: AI Generation */
.ripple-gen {
  position: absolute;
  inset: 0;
  transition: opacity 0.8s ease;
  z-index: 2;
  background: #faf8f5;
  overflow: hidden;
}
.ripple-blobs {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.6;
  animation: blobDrift 8s ease-in-out infinite;
}
.blob-1 {
  width: 50%; height: 60%;
  left: -5%; top: 5%;
  background: linear-gradient(135deg, #b8c4ff, #dcc4ff);
  animation-delay: 0s;
}
.blob-2 {
  width: 45%; height: 55%;
  right: -5%; top: 15%;
  background: linear-gradient(135deg, #ffc4a8, #ffdcc0);
  animation-delay: -2s;
}
.blob-3 {
  width: 40%; height: 50%;
  left: 20%; bottom: -5%;
  background: linear-gradient(135deg, #c4e8ff, #e8d4ff);
  animation-delay: -4s;
}
.blob-4 {
  width: 35%; height: 45%;
  right: 15%; bottom: 10%;
  background: linear-gradient(135deg, #ffd4e8, #fff0d4);
  animation-delay: -1s;
}
.blob-5 {
  width: 30%; height: 40%;
  left: 40%; top: 30%;
  background: linear-gradient(135deg, #d4fff0, #e8f4ff);
  animation-delay: -3s;
}
@keyframes blobDrift {
  0%, 100% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(40px, -30px) scale(1.15); }
  66% { transform: translate(-30px, 35px) scale(0.9); }
}
.ripple-gen-footer {
  position: absolute;
  bottom: 80px; left: 0; right: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 48px;
  font-size: 15px;
  color: #666;
  z-index: 2;
}
.ripple-gen-footer b { color: #111; font-weight: 700; }
.ripple-gen-text {
  position: absolute;
  bottom: 40px; left: 0; right: 0;
  text-align: center;
  font-size: 16px;
  color: #666;
  margin: 0;
  z-index: 2;
}

/* Phase 2: Water Ripple */
.ripple-water {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.2s ease;
  z-index: 1;
}
.ripple-water.active { z-index: 3; }
#rippleCanvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.ripple-content {
  position: relative;
  z-index: 2;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 24px;
  text-align: center;
  color: #111;
}
.ripple-eyebrow {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  opacity: 0.9;
  margin: 0 0 16px;
}
.ripple-title {
  font-size: clamp(48px, 8vw, 96px);
  font-weight: 600;
  line-height: 1.05;
  margin: 0 0 48px;
}
.ripple-title em {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-weight: 400;
}
.ripple-sub {
  font-size: 18px;
  letter-spacing: 0.1em;
  opacity: 0.9;
  margin: 0;
}
  
/* Ripple deck — circular testimonials style */
.ripple-deck-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
  max-width: 1100px;
  width: 100%;
  margin-top: 20px;
}
.ripple-deck { flex-shrink: 0; }
.ripple-stack {
  position: relative;
  width: 380px;
  height: 480px;
}
.r-card {
  position: absolute;
  inset: 0;
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.6s ease;
}
.r-card:not([data-pos]) { transform: translate(0, 0) scale(1); z-index: 4; opacity: 1; }
.r-card:not([data-pos]) ~ .r-card:not([data-pos]) { opacity: 0.7; }
.r-card-img {
  width: 100%;
  height: 100%;
  border-radius: 24px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 28px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.12);
  overflow: hidden;
  position: relative;
}
.r-card-img span {
  font-size: 28px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0,0,0,0.3);
  z-index: 1;
}
.r-img-1 { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); }
.r-img-2 { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); }
.r-img-3 { background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); }
.r-img-4 { background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%); }
.r-img-5 { background: linear-gradient(135deg, #fa709a 0%, #fee140 100%); }
.r-img-6 { background: linear-gradient(135deg, #30cfd0 0%, #330867 100%); }
/* Stack positions: 0=front, 1,2,3 behind */
.r-card[data-pos="0"] { transform: translate(0, 0) rotate(0deg) scale(1); z-index: 4; opacity: 1; }
.r-card[data-pos="1"] { transform: translate(-28px, -18px) rotate(-4deg) scale(0.96); z-index: 3; opacity: 0.85; }
.r-card[data-pos="2"] { transform: translate(24px, -32px) rotate(3deg) scale(0.92); z-index: 2; opacity: 0.7; }
.r-card[data-pos="3"] { transform: translate(-12px, -48px) rotate(-2deg) scale(0.88); z-index: 1; opacity: 0.55; }
.r-card[data-pos="4"] { transform: translate(16px, -62px) rotate(2deg) scale(0.84); z-index: 0; opacity: 0.4; }
.r-card[data-pos="5"] { transform: translate(-8px, -74px) rotate(-1deg) scale(0.8); z-index: -1; opacity: 0.28; }

.ripple-text {
  text-align: left;
  max-width: 420px;
}
.ripple-name {
  font-size: 42px;
  font-weight: 700;
  margin: 0 0 8px;
  color: #111;
}
.ripple-role {
  font-size: 18px;
  color: #666;
  margin: 0 0 24px;
}
.ripple-desc {
  font-size: 17px;
  line-height: 1.7;
  color: #333;
  margin: 0 0 32px;
}
.ripple-nav {
  display: flex;
  gap: 12px;
}
.ripple-arrow {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: none;
  background: #111;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, background 0.2s ease;
}
.ripple-arrow:hover { transform: scale(1.08); background: #333; }
.ripple-arrow:active { transform: scale(0.95); }

@media (max-width: 900px) {
  .ripple-deck-wrap { flex-direction: column; gap: 32px; padding: 0 16px; }
  .ripple-stack { width: min(300px, 80vw); height: 380px; margin: 0 auto; }
  .ripple-text { text-align: center; max-width: 100%; }
  .ripple-nav { justify-content: center; }
  .ripple-name { font-size: 32px; }
  /* section was locked to 100vh while its content is ~1030px tall on phones —
     the <- -> buttons sat below the section edge, clipped and unreachable.
     Let the section grow with its content on mobile. */
  .w-ripple { min-height: 0; }
  .ripple-water { position: relative; }
  .ripple-content { min-height: 0; }
}

.ripple-headline {
  font-size: clamp(34px, 5vw, 64px);
  font-weight: 700;
  letter-spacing: -0.02em;
  text-align: center;
  color: #111;
  margin: 12px 0 10px;
  padding: 0 24px;
}
.ripple-headline em { font-family: 'Instrument Serif', serif; font-style: italic; font-weight: 400; }
.ripple-tagline {
  font-size: clamp(15px, 2vw, 19px);
  color: #555;
  text-align: center;
  max-width: 640px;
  margin: 0 auto 8px;
  padding: 0 24px;
  line-height: 1.6;
}
