@font-face{font-family:"Inter Variable";src:url(inter.woff2) format("woff2-variations"),url(inter.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
/* Tokens from the Surface Tension portfolio (src/styles/tokens.css): white, silver, black. Blue #1F4BFF only in callouts and data visualisation. */
:root{--c-ink:#121315;--c-white:#fafafa;--c-paper:#ffffff;--c-silver-1:#d4d6da;--c-silver-2:#a9adb3;--c-silver-3:#5f646b;--line:#e6e7ea;--accent:#1F4BFF;--c-black:#0a0a0b;--c-silver-0:#e7e8ea;
--font:"Inter Variable","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
--grid-cols:12;--grid-gap:clamp(12px,1.4vw,24px);--pad-x:max(5vw,24px);--pad-y:clamp(18px,2.4vw,34px);
--s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;--s6:104px;--s7:168px;--radius:999px;
--ease:cubic-bezier(0.19,1,0.22,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-in:1s;--dur-out:.6s;--dur-ui:.6s;--dur-fade:.24s;
--fs-display:clamp(96px,14vw,240px);--fs-body:clamp(17px,1.25vw,20px);--fs-small:12.5px;--display-tracking:-0.035em;--display-leading:.8;
--max:1320px;--txt:640px;--mut:var(--c-silver-3);--fg:var(--c-ink);--bg:var(--c-paper)}
@media (max-width:1000px){:root{--grid-cols:8}}
@media (max-width:812px){:root{--grid-cols:6;--pad-x:20px;--fs-display:clamp(56px,16vw,120px);--fs-body:17px}}
@media (max-width:380px){:root{--pad-x:16px}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-weight:400;font-size:var(--fs-body);line-height:1.5;font-feature-settings:"ss01","cv11";overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--c-ink);color:var(--c-white)}
a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--c-silver-2);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color var(--dur-fade) var(--ease),text-decoration-color var(--dur-fade) var(--ease)}
@media (hover:hover){a:hover{color:var(--c-ink);text-decoration-color:var(--c-ink)}}
:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--c-ink);color:#fff;padding:8px 14px;border-radius:999px;z-index:9;font-size:var(--fs-small);text-decoration:none}.skip:focus{left:8px}
a,button{-webkit-touch-callout:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}

/* Header: the portfolio's wordmark + glass pill, no rule line */
.top{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:var(--pad-y) var(--pad-x);pointer-events:none}
.top::before{content:"";position:absolute;inset:0 0 -24px;background:linear-gradient(#fff 55%,rgba(255,255,255,0));z-index:-1;pointer-events:none}
.top>*{pointer-events:auto}
.wordmark{font-weight:400;font-size:var(--fs-body);letter-spacing:-0.04em;text-decoration:none;display:inline-flex;align-items:baseline;gap:1px;color:var(--c-ink);transition:opacity var(--dur-fade) var(--ease)}
.wordmark__mark{display:inline-block;width:.82em;height:.82em;margin-right:.4em;align-self:center}.wordmark__mark svg{display:block}
.wordmark__sub{margin-left:.7em;font-size:var(--fs-small);letter-spacing:-0.01em;color:var(--c-silver-3);align-self:center}
@media (hover:hover){.wordmark:hover{opacity:.56;color:var(--c-ink)}}.wordmark:active{opacity:.4}
.pill{position:relative;height:40px;padding:0 16px;border-radius:var(--radius);border:0;background:rgba(250,250,250,.62);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px);display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-small);font-weight:400;letter-spacing:-0.01em;color:var(--c-ink);text-decoration:none;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(18,19,21,.08);transition:background-color .5s var(--ease),color .5s var(--ease),scale .5s var(--ease)}
.pill .roll{position:relative;display:inline-block;overflow:hidden;height:1.2em;line-height:1.2em}
.pill .roll span{display:block;transition:transform var(--dur-ui) var(--ease)}.pill .roll span+span{position:absolute;top:100%;left:0}
.pill__ic{display:grid;place-items:center;transition:transform var(--dur-ui) var(--ease)}
@media (hover:hover){.pill:hover{color:var(--c-ink);text-decoration:none;transform:translateY(-1px)}.pill:hover .roll span{transform:translate3d(0,-100%,0)}.pill--live:hover .pill__ic{transform:translate(2px,-2px)}.pill--top:hover .pill__ic{transform:translateY(-2px)}}
.pill:active{scale:.96;background-color:color-mix(in srgb,currentColor 12%,transparent)}

main{padding:0 var(--pad-x)}
.intro{max-width:var(--max);margin:0 auto;padding:clamp(120px,16vw,200px) 0 var(--s3)}
.kicker,.num,.tl,.tag{font-size:var(--fs-small);letter-spacing:-0.01em;line-height:1.45;color:var(--c-silver-3);margin:0 0 var(--s2)}
h1{font-size:var(--fs-display);line-height:.86;letter-spacing:-0.065em;font-weight:400;margin:0 0 0 -.04em}
.sub{font-size:clamp(24px,3.2vw,44px);line-height:1.08;letter-spacing:-0.035em;color:var(--c-silver-3);max-width:18em;margin:var(--s3) 0 var(--s5)}
h2{font-size:clamp(44px,7.4vw,120px);line-height:.86;letter-spacing:-0.05em;font-weight:400;margin:0 0 var(--s4);max-width:12em;text-wrap:balance}
h3{font-size:clamp(20px,1.6vw,24px);line-height:1.15;letter-spacing:-0.025em;font-weight:400;margin:0 0 var(--s1)}
article{max-width:var(--max);margin:0 auto}
section{padding:var(--s6) 0 0;border-top:1px solid var(--line);margin-top:var(--s5)}
section,[id]{scroll-margin-top:84px}
#intro{border-top:0;margin-top:0;padding-top:var(--s3)}
article p,article ul,article ol.steal,blockquote,.take,dl.tools{max-width:var(--txt)}
article p{margin:0 0 1.1em}
.lead{font-size:clamp(21px,2vw,28px);line-height:1.32;letter-spacing:-0.02em}
strong{font-weight:500;color:var(--fg)}
code{font:400 .84em ui-monospace,SFMono-Regular,Menlo,monospace;background:#f4f5f7;padding:.12em .42em;border-radius:6px;color:var(--c-ink);word-break:break-word}
ul{padding-left:1.1em}li{margin:.4em 0}li::marker{color:var(--c-silver-2)}
blockquote{margin:var(--s5) 0;padding:0 0 0 var(--s3);border-left:2px solid var(--accent)}
blockquote p{font-size:clamp(28px,3.6vw,52px);line-height:1;letter-spacing:-0.045em;margin:0 0 var(--s2);text-wrap:balance}
cite{font-style:normal;color:var(--mut);font-size:var(--fs-small)}
.take{margin:var(--s4) 0 0;padding:var(--s3);background:#f3f5ff;border-radius:20px}
.take .tl{margin-bottom:var(--s1);color:var(--accent)}.take p:last-child{margin:0}
figure{margin:var(--s5) 0}
figure img,figure video{display:block;width:100%;height:auto;border-radius:20px;background:#eef0f3}
figcaption{font-size:var(--fs-small);line-height:1.45;color:var(--mut);margin-top:var(--s2);max-width:var(--txt)}
.heromedia{margin-top:0}.heromedia video{border-radius:24px}
.pair .row{display:grid;gap:var(--grid-gap);grid-template-columns:repeat(2,1fr)}
.pair.n3 .row{grid-template-columns:repeat(3,1fr)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--grid-gap);margin:var(--s4) 0 var(--s5);padding:0}
.facts div{border-top:1px solid var(--c-ink);padding-top:var(--s2)}.facts dt{font-size:var(--fs-small);color:var(--mut)}.facts dd{margin:6px 0 0;font-size:15px;line-height:1.4}
.toc{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.toc a{display:inline-flex;align-items:center;height:40px;padding:0 16px;text-decoration:none;font-size:var(--fs-small);letter-spacing:-0.01em;border-radius:999px;background:#f3f4f6;transition:background-color .5s var(--ease),color .5s var(--ease),scale .5s var(--ease)}
@media (hover:hover){.toc a:hover{background:var(--c-ink);color:#fff}}.toc a:active{scale:.96}
.chart svg{width:100%;height:auto;background:#f7f8fa;border-radius:20px}
.chart .g{stroke:#e4e5e8;stroke-width:1}.chart .ax{fill:#8a8d93;font:12px "Inter Variable",Inter,sans-serif}.chart .ln{fill:none;stroke:var(--accent);stroke-width:3;stroke-linejoin:round}
.chart circle{fill:#fff;stroke:var(--accent);stroke-width:2}.chart .big{fill:var(--accent);font:400 22px "Inter Variable",Inter,sans-serif}
.moments{list-style:none;padding:0;margin:var(--s1) 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--grid-gap);max-width:none}
.moments li{margin:0;padding:var(--s3);border-radius:20px;background:#f5f6f8;display:flex;flex-direction:column}
.moments .tag{margin-bottom:10px}.moments p{font-size:16px;color:#3a3d42;margin:0}
.moments img{margin-top:var(--s2);border-radius:12px;width:100%;height:auto;display:block}
ol.steal{padding-left:1.2em}ol.steal li{font-size:clamp(20px,1.6vw,24px);letter-spacing:-0.02em;line-height:1.3;margin:.7em 0}
dl.tools{margin:0 0 1.2em}dl.tools div{display:grid;grid-template-columns:170px 1fr;gap:var(--s2);padding:var(--s2) 0;border-top:1px solid var(--line)}
dl.tools dt{color:var(--c-silver-3);font-size:var(--fs-small);line-height:1.8}dl.tools dd{margin:0;font-size:16px}

/* The one CTA: the portfolio's big pill button (ink flood from the pointer, masked label roll, arrow out ↗ / in ↙, press squash) */
.contact{max-width:var(--max);margin:var(--s6) auto 0;padding:var(--s6) 0 var(--s4);border-top:1px solid var(--line)}
.contact__title{font-size:var(--fs-display);line-height:.86;letter-spacing:-0.065em;margin:0 0 var(--s5) -.04em;max-width:none}
.big-btn{position:relative;isolation:isolate;overflow:hidden;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:space-between;gap:18px;height:64px;padding:0 10px 0 26px;border-radius:999px;background:var(--c-ink);color:#fff;text-decoration:none;font-size:var(--fs-body);font-weight:400;letter-spacing:-0.02em;min-width:min(100%,320px);max-width:420px;border:0;cursor:pointer;transition:scale .45s cubic-bezier(.34,1.56,.64,1)}
.big-btn:hover{color:#fff}
.big-btn>.big-btn__label,.big-btn>i{position:relative;z-index:1}
.big-btn i{width:46px;height:46px;border-radius:50%;background:#fafafa;color:var(--c-ink);display:grid;place-items:center;overflow:hidden;position:relative;flex:none}
.big-btn .ink{position:absolute;inset:0;z-index:2;pointer-events:none;visibility:hidden;clip-path:circle(0px at 0px 0px);display:flex;align-items:center;justify-content:inherit;gap:inherit;padding:inherit;background:#000;color:#fff;box-shadow:inset 0 0 0 1px #fff;border-radius:inherit}
.big-btn .ink i{background:#fff;color:#000}
.big-btn .ir{position:relative;display:block;overflow:hidden;line-height:1.3em}
.big-btn .ir-a,.big-btn .ir-b{display:block;white-space:nowrap;transition:transform var(--dur-ui) var(--ease)}
.big-btn .ir-b{position:absolute;left:0;top:0;transform:translate3d(0,100%,0)}
.big-btn .ia-a,.big-btn .ia-b{display:grid;place-items:center;grid-area:1/1;transition:transform var(--dur-ui) var(--ease)}
.big-btn .ia-b{transform:translate3d(-130%,130%,0)}
.big-btn.is-on .ir-a{transform:translate3d(0,-100%,0)}.big-btn.is-on .ir-b{transform:none}
.big-btn.is-on .ia-a{transform:translate3d(130%,-130%,0)}.big-btn.is-on .ia-b{transform:none}
.big-btn.is-press{scale:1.04 .92;transition-duration:.12s}
@media (prefers-reduced-motion:reduce){.big-btn,.big-btn *{transition:none!important}}

/* Footer: the portfolio's grid footer with the progress bar, in ink on silver */
.site-footer{max-width:var(--max);margin:0 auto;padding:var(--s5) var(--pad-x) var(--pad-y);display:grid;gap:var(--s5);font-size:var(--fs-body)}
@media (min-width:1400px){.site-footer{padding-inline:0}}
.site-footer__top{display:grid;grid-template-columns:repeat(var(--grid-cols),minmax(0,1fr));column-gap:var(--grid-gap);row-gap:var(--s4);align-items:start}
.site-footer__name{grid-column:1/span 5;margin:0;line-height:1.3;letter-spacing:-0.02em}.site-footer__name span{color:var(--c-silver-3)}
.site-footer__mark{display:inline-block;width:.82em;height:.82em;margin-right:.4em;vertical-align:-.06em}.site-footer__mark svg{display:block}
.site-footer__links{grid-column:7/span 3;display:grid;gap:10px}
.site-footer__links a,.site-footer__top-link{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration-line:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:4px}
.overscroll__bar{display:grid;gap:var(--s2);width:min(100%,520px)}
.overscroll__label{margin:0;font-size:var(--fs-small);line-height:1.45;color:var(--c-silver-3)}
.overscroll__track{position:relative;height:12px;border-radius:999px;background:var(--c-silver-0);overflow:hidden;box-shadow:inset 0 1px 1.5px rgba(10,10,11,.08)}
.overscroll__fill{position:absolute;inset:0;border-radius:999px;background:var(--c-ink);transform-origin:0 50%;transform:translateX(calc((var(--f,0) - 1) * 100%));transition:transform .32s var(--ease);box-shadow:none}
.overscroll__fill::after{content:"";position:absolute;inset:2px 6px auto 6px;height:3px;border-radius:999px;background:rgba(255,255,255,.28)}
.site-footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);color:var(--c-silver-3);font-size:var(--fs-small)}
.site-footer__top-link{color:var(--c-ink);padding:8px 0;white-space:nowrap}
@media (hover:hover){.site-footer__links a:hover,.site-footer__top-link:hover{text-decoration-color:var(--c-ink)}}
@media (max-width:812px){
 .facts{grid-template-columns:1fr 1fr}
 .moments{grid-template-columns:1fr}
 .pair.n3 .row{grid-template-columns:repeat(3,1fr);gap:6px}
 figure img,figure video{border-radius:12px}.heromedia video{border-radius:16px}
 dl.tools div{grid-template-columns:1fr;gap:2px}
 .wordmark__sub{display:none}
 .site-footer__name,.site-footer__links{grid-column:1/-1}
 .contact__title{font-size:clamp(64px,19vw,120px)}
 .big-btn{width:100%;max-width:none}
}

/* Shifat 06:32Z "Use same bar from portfolio": portfolio footer bar — footer holds while the bar fills over a runway, then wraps to the top; electric lime glow on an ink track */
.site-footer{position:sticky;top:calc(100vh - var(--fh,0px));z-index:2;background:var(--bg)}
.footer-spacer{height:70vh}
/* R6.80 rubber band: the footer is the end of the page; the loop is a pull past it (script.js). Reduced motion keeps the runway */
@media (prefers-reduced-motion:no-preference){.footer-spacer{height:0}}
.overscroll__bar{position:relative}
.overscroll__track{position:relative;height:12px;border-radius:999px;background:var(--c-ink);overflow:hidden;box-shadow:none;z-index:1}
.overscroll__fill{position:absolute;inset:0;border-radius:999px;background:#a3ff12;transform-origin:0 50%;transform:translateX(calc((var(--f,0) - 1) * 100%));transition:transform .32s var(--ease);box-shadow:0 0 6px #a3ff12,0 0 14px rgba(163,255,18,.8)}
.overscroll__fill::after{content:"";position:absolute;inset:2px 6px auto 6px;height:3px;border-radius:999px;background:rgba(255,255,255,.55)}
.overscroll__bar::after{content:"";position:absolute;left:0;bottom:0;height:12px;width:100%;border-radius:999px;background:#a3ff12;transform-origin:0 50%;transform:scaleX(var(--f,0));filter:blur(9px);opacity:calc(.55 + .45*var(--f,0));transition:transform .32s var(--ease);pointer-events:none}
.overscroll__bar::before{content:"";position:absolute;left:-6px;bottom:-10px;height:32px;width:calc(100% + 12px);border-radius:999px;background:#b8ff3c;transform-origin:6px 50%;transform:scaleX(var(--f,0));filter:blur(24px);opacity:calc(.45 + .4*var(--f,0));transition:transform .32s var(--ease);pointer-events:none}
@media (prefers-reduced-motion:reduce){.overscroll__fill,.overscroll__bar::after,.overscroll__bar::before{transition:none}}
/* GPU bar (Shifat 06:33Z "Gpu version"): while the WebGL canvas draws the bar, the DOM track/fill/glow go transparent (the portfolio's html.foot-glbar); the label stays */
.overscroll__gl{position:absolute;z-index:-1;pointer-events:none}
html.foot-glbar .overscroll__track{background:transparent}
html.foot-glbar .overscroll__fill{opacity:0;box-shadow:none}
html.foot-glbar .overscroll__bar::before,html.foot-glbar .overscroll__bar::after{display:none}
/* BUTTON v2 (the portfolio's ink button, script.js): the engine drives roll, arrows, squash and magnet frame by frame */
.inkb .ir-a,.inkb .ir-b,.inkb .ia-a,.inkb .ia-b{transition:none}
.big-btn.inkb{transition:none}
.pill .pill__l{position:relative;display:block;overflow:hidden;height:1.2em;line-height:1.2em}
.pill__l .ir-a,.pill__l .ir-b{display:block;white-space:nowrap}
.pill__l .ir-b{position:absolute;left:0;top:0;transform:translate3d(0,100%,0)}
.pill .pill__ic{position:relative;display:grid;place-items:center;width:16px;height:16px;overflow:hidden}
.pill__ic .ia-a,.pill__ic .ia-b{grid-area:1/1;display:grid;place-items:center}
.pill__ic .ia-b{transform:translate3d(-130%,130%,0)}
@media (hover:hover){.pill.inkb:hover .pill__ic{transform:none}}
.pill{isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
.pill>.pill__l,.pill>.pill__ic{position:relative;z-index:1}
.pill .ink{position:absolute;inset:0;z-index:2;pointer-events:none;visibility:hidden;clip-path:circle(0px at 0px 0px);display:flex;align-items:center;gap:inherit;padding:inherit;background:var(--c-ink);color:#fff;border-radius:inherit}

/* the video player (Shifat 06:36Z): frosted pills, ink on silver, Phosphor icons, the portfolio's ink buttons */
.vp{position:relative;border-radius:20px;overflow:hidden;isolation:isolate;background:#eef0f3;-webkit-tap-highlight-color:transparent}
.heromedia .vp{border-radius:24px}
.vp video{border-radius:0;cursor:pointer}
.vp__ui{position:absolute;inset:0;pointer-events:none;color:var(--c-ink)}
.vp__big,.vp__btn{position:relative;border:0;padding:0;margin:0;color:inherit;font:inherit;cursor:pointer;overflow:hidden;display:grid;place-items:center;-webkit-user-select:none;user-select:none;touch-action:manipulation;isolation:isolate}
.vp__big{pointer-events:auto;position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:rgba(250,250,250,.62);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(18,19,21,.08);opacity:0;visibility:hidden;transform:scale(.86);transition:opacity var(--dur-fade) var(--ease),transform var(--dur-ui) var(--ease),visibility 0s linear var(--dur-fade)}
.vp[data-state=paused] .vp__big{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.vp__big .vp__ic svg{margin-left:3px}
.vp__ic{position:relative;z-index:1;display:grid;place-items:center}
.vp__big .ink,.vp__btn .ink{position:absolute;inset:0;z-index:2;pointer-events:none;visibility:hidden;clip-path:circle(0px at 0px 0px);display:grid;place-items:center;background:var(--c-ink);color:#fff;border-radius:inherit}
.vp__bar{pointer-events:auto;position:absolute;left:12px;right:12px;bottom:12px;height:44px;display:flex;align-items:center;gap:2px;padding:0 6px;border-radius:999px;background:rgba(250,250,250,.62);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px rgba(18,19,21,.08);opacity:0;transform:translate3d(0,10px,0);transition:opacity var(--dur-fade) var(--ease),transform var(--dur-ui) var(--ease)}
.vp.is-ui .vp__bar,.vp:focus-within .vp__bar{opacity:1;transform:none}
.vp:not(.is-ui):not(:focus-within) .vp__bar{pointer-events:none}
.vp__btn{flex:none;width:32px;height:32px;border-radius:50%;background:transparent}
.vp__time{flex:none;padding:0 4px 0 6px;font-size:var(--fs-small);letter-spacing:-0.01em;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.vp__time i{font-style:normal;color:var(--c-silver-3);margin:0 .35em}
.vp__scrub{flex:1;align-self:stretch;display:flex;align-items:center;padding:0 10px;cursor:pointer;touch-action:none;border-radius:999px;outline-offset:-4px}
.vp__track{position:relative;flex:1;height:3px;border-radius:999px;background:rgba(18,19,21,.14);transition:height var(--dur-fade) var(--ease)}
.vp__buf,.vp__fill{position:absolute;inset:0;border-radius:inherit;transform-origin:0 50%;transform:scaleX(0)}
.vp__buf{background:rgba(18,19,21,.12)}
.vp__fill{background:var(--c-ink)}
.vp__knob{position:absolute;top:50%;left:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--c-ink);transform:scale(0);transition:transform var(--dur-fade) var(--ease)}
@media (hover:hover){.vp__scrub:hover .vp__track{height:5px}.vp__scrub:hover .vp__knob{transform:none}}
.vp__scrub.is-drag .vp__track{height:5px}.vp__scrub.is-drag .vp__knob{transform:none}
.vp:fullscreen{border-radius:0;background:#0a0a0b;display:grid;place-items:center}
.vp:fullscreen video{width:100%;height:100%;object-fit:contain}
.vp:-webkit-full-screen{border-radius:0;background:#0a0a0b;display:grid;place-items:center}
.vp:-webkit-full-screen video{width:100%;height:100%;object-fit:contain}
@media (max-width:812px){.vp{border-radius:12px}.heromedia .vp{border-radius:16px}.vp__bar{left:8px;right:8px;bottom:8px;height:40px;padding:0 4px}.vp__big{width:60px;height:60px;margin:-30px 0 0 -30px}}
.pair .vp__time{display:none}
@media (prefers-reduced-motion:reduce){.vp__big,.vp__bar,.vp__track,.vp__knob{transition:none}}

/* R6.81: the 0.8 s hold at the top after a rubber-band loop (touch screens: stops momentum) */
html.cs-hold{overflow:hidden}

.decide__h{margin:var(--s4,32px) 0 12px;font-size:1.05rem;letter-spacing:-.01em}.decide{margin:0 0 var(--s4,32px);display:flex;flex-direction:column;gap:10px;max-width:560px}.msg{max-width:88%;padding:12px 16px;border-radius:18px;font-size:.95rem;line-height:1.45}.msg p{margin:0}.msg__who{display:block;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;opacity:.6;margin-bottom:4px}.msg--zero{align-self:flex-start;background:var(--c-silver-1,#f1f1f1);color:var(--c-ink,#0b0b0b);border-bottom-left-radius:6px}.msg--me{align-self:flex-end;background:var(--c-ink,#0b0b0b);color:#fff;border-bottom-right-radius:6px}.decide figcaption{margin-top:6px;font-size:.85rem;color:var(--c-silver-3,#777)}

/* R6.89: split-resolution diagram */
.split{max-width:860px}
.split__row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;column-gap:clamp(6px,1.6vw,22px);row-gap:var(--s2);align-items:center}
.split svg{display:block;width:100%;height:auto;border-radius:clamp(12px,1.6vw,20px)}
.split__op{font-size:clamp(20px,2.6vw,36px);line-height:1;color:var(--c-silver-2);font-weight:300}
.split__l{grid-row:2;align-self:start;margin:0;font-size:var(--fs-small);line-height:1.35;color:var(--mut)}
.split__l b{display:block;font-weight:500;color:var(--c-ink);font-size:clamp(13px,1.1vw,15px);margin-bottom:2px}
.split__x{color:var(--accent);font-weight:500;margin-right:.3em}
.split__l:nth-of-type(1){grid-column:1}.split__l:nth-of-type(2){grid-column:3}.split__l:nth-of-type(3){grid-column:5}
.split-m{max-width:860px}

/* gift sticker (Shifat Oct 23 6:40 AM: the same sticker as the live site) */
.site-footer{isolation:isolate}
.site-footer .gift-sticker{position:absolute;right:var(--pad-x);bottom:calc(var(--pad-y) + 36px);width:92px;height:92px;padding:0;margin:0;border:0;border-radius:26px;background:transparent;cursor:pointer;visibility:hidden;-webkit-tap-highlight-color:transparent;z-index:3;touch-action:pinch-zoom;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;transform-origin:50% 50%}
.site-footer .gift-sticker.is-on{visibility:visible}
.gift-sticker__cv{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none}
.site-footer .gift-sticker:active{cursor:grabbing}
.site-footer .gift-sticker.is-gone{visibility:hidden;pointer-events:none}/* R6.91: peel + drag like the portfolio (script.js drives the transform; peeled off, it gathers again) */
.site-footer .gift-sticker:focus{outline:none}
.site-footer .gift-sticker:focus-visible{outline:2px solid #ff2e93;outline-offset:6px}
@media (max-width:640px){.site-footer .gift-sticker{width:76px;height:76px;border-radius:22px;right:var(--pad-x);bottom:calc(var(--pad-y) + 150px)}}
@media (max-width:760px){.site-footer:has(.gift-sticker){overflow-x:clip}}/* R6.91: the sticker's ember canvas reaches past the screen's right edge; on phones it widened the page (423 px layout at 390) */

/* The mind: a psychology insight per chapter (Shifat Oct 23 6:41 AM) */
.mind{max-width:var(--txt);margin:var(--s4) 0 0;padding:var(--s3);background:#f4f4f2;border-radius:20px;border:1px solid #e6e6e3}
.mind .tl{margin-bottom:var(--s1);color:#121315;font-weight:600}
.mind p:last-child{margin:0}
.mind+.take{margin-top:var(--s2)}

/* Illustrations (geometry set, Oct 23) */
.ill{margin:28px 0 36px;padding:0}
.il-wrap{position:relative;border-radius:14px;overflow:hidden;background:#fff}
.il-wrap img{display:block;width:100%;height:auto}
.il-l{position:absolute;transform:translateY(-50%);font:500 13px/1.25 inherit;font-family:inherit;color:#121315;background:rgba(255,255,255,.86);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:6px 10px 6px 8px;border-radius:999px;border:1px solid rgba(18,19,21,.08);width:max-content;max-width:44%;border-radius:12px;letter-spacing:-.005em}
.il-center{max-width:88%}
.il-l b{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:7px;border-radius:50%;background:#1F4BFF;color:#fff;font-size:10.5px;font-weight:600;vertical-align:1px}
.il-right{transform:translate(-100%,-50%)}
.il-center{transform:translate(-50%,-50%)}
.il-leg{display:none;list-style:none;counter-reset:il;margin:14px 0 0;padding:0}
.il-leg li{counter-increment:il;position:relative;padding:0 0 8px 28px;font-size:14px;line-height:1.4;color:#121315}
.il-leg li::before{content:counter(il);position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:#1F4BFF;color:#fff;font-size:10.5px;font-weight:600;display:grid;place-items:center}
@media (max-width:760px){.il-l{padding:0;width:20px;height:20px;border-radius:50%;font-size:0;max-width:none;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translate(-50%,-50%)!important}.il-l b{margin:0}.il-leg{display:block}}

/* Layout v2 (Shifat Oct 23 7:58 AM: "left & right padding while text stays in center", ref practical-ux.super.site) */
:root{--read:720px}
article{max-width:var(--read)!important;margin-inline:auto!important}
article p,article ul,article ol.steal,blockquote,.take,dl.tools,.mind,figcaption,.decide{max-width:none}
article h2{font-size:clamp(40px,5.6vw,76px);max-width:none}
.intro .lead,.intro blockquote,.intro p{max-width:var(--read);margin-inline:auto}
.intro section,#intro{max-width:var(--read);margin-inline:auto}
.split,.split-m{max-width:100%}
.ill2,.ill{margin-inline:auto}

.intro{max-width:var(--read)!important;margin-inline:auto!important}
.intro h1{font-size:clamp(56px,10vw,128px)!important;margin-left:0!important}
.intro .kicker,.intro .sub{margin-left:0!important;max-width:none}
.intro .heromedia{width:min(1120px,calc(100vw - 2*var(--pad-x)));margin-left:50%;transform:translateX(-50%)}
.intro .facts{max-width:none}


/* Illustrations v2 (square, hairline labels, Oct 23 7:50) */
.ill2{margin:28px auto 36px;width:70%;max-width:560px}
.il2-wrap{position:relative}
.il2-wrap img{display:block;width:100%;height:auto}
.il2-wrap svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.il2-wrap line{stroke:#121315;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.55}
.il2-wrap circle{fill:#121315;opacity:.8}
.il2-t{position:absolute;font-size:12px;line-height:1.3;color:#121315;letter-spacing:.01em;white-space:nowrap;padding:0 4px;background:#fff}
@media (max-width:760px){.ill2{width:88%}.il2-t{font-size:11px}}


/* Shifat 8:28: a lone last key-moment card spans both columns on desktop */
@media (min-width:813px){.moments li:last-child:nth-child(odd){grid-column:1 / -1}}

/* gift without WebGL (Shifat 8:31: his Chrome had WebGL off) */
.gift-nogl{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(18,19,21,.42);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:24px}
.gift-nogl__card{max-width:380px;background:#fff;color:#121315;border-radius:24px;padding:28px;font-size:16px;line-height:1.45;box-shadow:0 20px 60px rgba(0,0,0,.25);border-top:6px solid #FF2E93}
.gift-nogl__card p{margin:0 0 12px}
.gift-nogl__t{font-weight:600}
.gift-nogl__x{margin-top:8px;height:44px;padding:0 22px;border-radius:999px;border:0;background:#121315;color:#fff;font:inherit;cursor:pointer}

/* R6.94 (Shifat Oct 23 2:00 PM): while the cursor trail runs over the gift sticker, the footer's WebGL canvas draws it (refracted); its own canvas steps aside, the button stays live */
.site-footer .gift-sticker.is-gl .gift-sticker__cv{opacity:0}
/* R6.94: the sticker's 221 px canvas reached 0.5 px past the right edge between 761 and ~1290 px (a 1 px sideways scroll); the phone rule, widened to every width where the footer is full-bleed */
@media (max-width:1320px){.site-footer:has(.gift-sticker){overflow-x:clip}}
