*,*::before,*::after{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;background:var(--basalt);color:var(--bone);font-family:var(--sans);font-size:var(--fs-body);line-height:1.62;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.skip{position:absolute;left:-9999px;top:0;background:var(--filament);color:var(--ink);padding:12px 16px;z-index:999}
.skip:focus{left:16px;top:16px}
.lbl{font-family:var(--mono);font-size:var(--fs-label);line-height:1.2;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.meta{font-family:var(--mono);font-size:var(--fs-meta);line-height:1.55;letter-spacing:.02em;color:var(--stone-400)}
.filament{color:var(--filament)}
.muted{color:var(--stone-400)}
.acc{color:var(--filament)}
.ink-muted{color:var(--ink-600)}
.ph{color:var(--stone-400);font-style:italic}
.plate--paper .ph{color:var(--ink-600)}

/* header */
.site-header{position:fixed;left:0;right:0;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:20px var(--margin)}
.wordmark{font-family:var(--serif);font-size:20px;letter-spacing:-0.01em}
.wordmark--signature{display:block;width:94px;height:60px}.wordmark--signature img{display:block;width:100%;height:100%;object-fit:contain}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.glass-nav{display:none;gap:8px;align-items:center;padding:6px;border-radius:var(--r-pill);background:rgba(236,231,221,.06);border:1px solid var(--glass-edge);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%)}
@media (min-width:900px){.glass-nav{display:flex;position:absolute;left:50%;transform:translateX(-50%)}}
.glass-nav__item{padding:12px 16px;border-radius:var(--r-pill);color:var(--stone-400);border:0;background:none;font:inherit;cursor:pointer;transition:color var(--d-hover) var(--settle),background var(--d-hover) var(--settle)}
.glass-nav__item.is-active{background:rgba(236,231,221,.08);color:var(--bone)}
.glass-nav__item:hover{color:var(--filament)}
.glass-nav__item:focus-visible,.index-btn:focus-visible,a:focus-visible,button:focus-visible{outline:1px solid var(--filament);outline-offset:3px}
.counter{display:none;gap:12px;align-items:center;color:var(--stone-400)}
@media (min-width:900px){.counter{display:flex}}
.counter__now{color:var(--filament)}
.counter__bar{width:32px;height:1px;background:var(--stone-600)}
.index-btn{display:flex;gap:10px;align-items:center;height:44px;padding:0 16px;border-radius:var(--r-pill);color:var(--bone);background:rgba(236,231,221,.07);border:1px solid var(--glass-edge);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);cursor:pointer}
@media (min-width:900px){.index-btn{display:none}}

main{position:relative}

/* seam */
.seam{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.seam path{fill:none}
.seam__base{stroke:var(--stone-600);stroke-width:1}
.seam__drawn{stroke:var(--filament);stroke-width:1;filter:drop-shadow(0 0 3px rgba(240,178,90,.5))}
.seam__cursor{display:none;pointer-events:none}
body[data-case="gopro"] .seam__cursor{display:block}
.seam__cursor-ring{fill:rgba(5,7,10,.84);stroke:var(--filament);stroke-width:1.5;filter:drop-shadow(0 0 8px rgba(37,184,242,.7))}
.seam__cursor-core{fill:var(--filament)}
.node{position:absolute;left:calc(var(--seam) - 5px);width:11px;height:11px;border-radius:999px;background:var(--basalt);border:1px solid var(--stone-600);z-index:2;transition:border-color var(--d-scene) var(--settle),box-shadow var(--d-scene) var(--settle)}
.node.is-passed{border-color:var(--filament)}
.node.is-current{background:var(--filament);border-color:var(--filament);box-shadow:var(--glow-node);animation:breathe 3.2s var(--traverse) infinite}
@keyframes breathe{0%,100%{opacity:.7}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.node.is-current{animation:none}}

.reveal{opacity:0;transform:translateY(16px);transition:opacity var(--d-reveal) var(--settle),transform var(--d-reveal) var(--settle)}
.reveal.in{opacity:1;transform:none}
.js .reveal{opacity:0}
.no-js .reveal,.reveal.in{opacity:1;transform:none}

/* hero */
.hero{position:relative;min-height:100vh;padding:0}
.hero__media{position:absolute;inset:0;overflow:hidden}
.hero__media img{position:absolute;left:50%;top:-6%;width:120%;max-width:none;height:110%;object-fit:cover;transform:translateX(-50%)}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,11,.55) 0%,rgba(10,10,11,0) 28%,rgba(10,10,11,.25) 55%,var(--basalt) 96%)}
.grain{position:absolute;inset:0;background-image:url(../assets/grain.png);background-repeat:repeat;mix-blend-mode:overlay;opacity:.55;pointer-events:none}
.grain--paper{mix-blend-mode:multiply;opacity:.35}
.seam-origin{display:block;height:1px}
.hero__title{position:relative;padding:min(58vh,470px) var(--margin) 0;max-width:1100px}
.rule-label{display:flex;gap:16px;align-items:center;margin:0 0 28px}
.rule-label .rule{width:48px;height:1px;background:var(--filament)}
.display-xl{margin:0;font-family:var(--display-sans);font-weight:900;font-size:calc(var(--fs-display-xl) * .78);line-height:.92;letter-spacing:-0.01em;text-transform:uppercase}
.display-xl em{font-style:normal;color:var(--filament)}
.pull-quote em{font-style:italic;font-weight:250}
.line{display:block;overflow:hidden}
.line>span{display:block;transform:translateY(100%);transition:transform var(--d-scene) var(--settle)}
.js .line>span{transform:translateY(100%)}
.in .line>span,.hero.is-ready .line>span,.no-js .line>span{transform:none}
.line--seam>span{padding-left:0}
@media (max-width:640px){.line--seam>span{padding-left:0}}
.wall-label{position:absolute;right:var(--margin);top:160px;width:280px;max-width:calc(100vw - 2 * var(--margin));padding:20px 22px;background:var(--glass-fill);border:1px solid var(--glass-edge);backdrop-filter:blur(var(--glass-blur)) saturate(130%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(130%);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),var(--elev-pane);display:none}
.wall-label dl{display:grid;grid-template-columns:76px 1fr;row-gap:10px;column-gap:12px;font-family:var(--mono);font-size:var(--fs-meta);margin:12px 0 0}
.wall-label dt{color:var(--stone-400)}
.wall-label dd{margin:0}
.scroll-cue{position:absolute;right:var(--margin);bottom:48px;display:flex;gap:12px;align-items:center}
.scroll-cue span{display:inline-block;width:1px;height:28px;background:var(--filament)}
.case-thesis{position:absolute;left:var(--margin);bottom:46px;max-width:520px;padding-left:20px;border-left:1px solid var(--filament);z-index:2}
.case-thesis p{margin:0}
.case-thesis p:last-child{margin-top:8px;color:var(--bone-400);font-family:var(--serif);font-size:clamp(18px,1.35vw,24px);line-height:1.35}
@media(min-width:900px){.case-thesis{display:none}}
@media(max-width:899px){.case-thesis{left:36px;right:36px;bottom:88px}.scroll-cue{display:none}}
@media(min-width:900px){
  .hero{min-height:max(100svh,900px)}
  .hero__title{width:min(1100px,calc(100vw - (2 * var(--margin))));max-width:none;margin-left:var(--margin);padding:clamp(460px,48vh,520px) 0 220px}
  .display-xl{font-size:clamp(62px,5.5vw,88px)}
}

/* scene layout */
.scene{position:relative;padding:0 var(--margin);margin-top:var(--scene-gap)}
.scene__index{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;position:relative}
.scene__index--sub{margin-top:var(--s9)}
.scene__index .node{position:absolute;left:calc(var(--seam) - var(--margin) - 5px);top:2px}
@media (max-width:899px){.scene__index{padding-left:20px}}
@media (min-width:900px){
  .scene{display:block;padding-left:calc(var(--seam) + 60px);padding-right:var(--margin)}
  .scene__index{position:absolute;left:var(--margin);width:calc(var(--seam) - var(--margin) - 24px);top:0}
  .scene__index .node{position:absolute;left:calc(var(--seam) - var(--margin) - 5px);top:2px}
}
.scene__body{width:100%;max-width:900px}
.scene__body--wide{max-width:1000px}
.lede{font-family:var(--serif);font-weight:340;font-size:var(--fs-lede);line-height:1.16;letter-spacing:-0.018em;max-width:22ch;margin:0 0 32px}
.headline,.display{font-family:var(--display-sans);font-weight:900;letter-spacing:-0.01em;margin:0 0 40px;text-transform:uppercase}
.headline{font-size:calc(var(--fs-headline) * .82);line-height:.98}
@media (min-width:900px){.scene__body--wide .headline{font-size:clamp(42px,3.5vw,54px)}}
.display{font-size:calc(var(--fs-display) * .78);line-height:.96;letter-spacing:-0.008em}
.headline em,.display em{font-style:normal;color:var(--filament)}
.two-col{display:grid;grid-template-columns:1fr;gap:24px;max-width:820px}
@media (min-width:700px){.two-col{grid-template-columns:1fr 1fr;gap:48px}}
.two-col p{margin:0;color:var(--bone-400)}
.prompt{display:flex;flex-direction:column;gap:8px;padding-left:16px;border-left:1px solid var(--stone-600);color:var(--stone-400)!important;font-style:italic}
.plate--paper .prompt{border-color:rgba(22,20,15,.25);color:var(--ink-600)!important}

/* plates */
.plate{position:relative;margin:0}
.plate--paper{background:var(--bone);color:var(--ink);box-shadow:var(--elev-plate)}
.plate--stone{background:var(--stone-900);border:1px solid var(--stone-700)}
.sysmap{margin:0;padding:32px}
.plate__head{display:flex;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.sysmap__h{display:none;width:100%;height:auto;color:var(--ink)}
.sysmap__v{display:block;width:100%;max-width:354px;height:auto;color:var(--ink);margin:0 auto}
@media (min-width:900px){.sysmap__h{display:block}.sysmap__v{display:none}}
.sysmap text{font-family:var(--mono);font-size:15px;fill:var(--ink)}
.sysmap .t-lbl{font-size:11px;letter-spacing:.08em;fill:var(--ink-600)}
.sysmap .t-name{font-family:var(--serif);font-size:26px;fill:var(--ink)}
.sysmap .t-acc{fill:var(--filament-ink)}
.sysmap .t-left{text-anchor:start}
.sysmap line[stroke]{stroke:var(--ink);stroke-opacity:.18}
.sysmap .ring{fill:var(--bone);stroke:var(--ink)}
.sysmap .halo{fill:none;stroke:var(--ink);stroke-opacity:.25;stroke-dasharray:2 4}
.sysmap circle[r="4"],.sysmap circle[r="3"]{fill:var(--ink)}
.sysmap .edge line{stroke:var(--filament-stroke)}
.sysmap .edge text{fill:var(--filament-ink);font-size:11px}
.sysmap .bracket{stroke:var(--filament-stroke);stroke-width:1.5}
.sysmap .bracket-dot{fill:var(--filament-stroke)}
.draw{stroke-dasharray:1;stroke-dashoffset:1;pathLength:1;transition:stroke-dashoffset 1.1s var(--traverse)}
.in .draw{stroke-dashoffset:0}
.tensions{display:grid;grid-template-columns:1fr;gap:24px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(22,20,15,.18)}
@media (min-width:700px){.tensions{grid-template-columns:repeat(3,1fr)}}
.tensions p{margin:8px 0 0;font-size:17px;line-height:1.5}

/* aperture */
.aperture{position:relative;height:340vh}
.aperture__sticky{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;padding:0 var(--margin)}
.aperture__index{position:absolute;left:var(--margin);top:96px}
.aperture__media{position:relative;width:min(72vw,720px);height:min(72vw,720px);border-radius:999px;overflow:hidden;box-shadow:0 0 0 1px rgba(236,231,221,.14),0 80px 160px -40px rgba(0,0,0,.9)}
.aperture__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.08)}
.aperture__dial{position:absolute;width:min(84vw,840px);height:min(84vw,840px);pointer-events:none}
.dial-ring{fill:none;stroke:var(--stone-700)}
.dial-ticks{fill:none;stroke:var(--stone-700);stroke-dasharray:1 10.26}
.dial-arc{fill:none;stroke:var(--filament);stroke-dasharray:1;stroke-dashoffset:.83}
.aperture__readout{position:absolute;top:calc(50% - min(42vw,420px) - 36px)}
.aperture__caption{position:absolute;bottom:64px;left:var(--margin);display:flex;flex-direction:column;gap:20px;max-width:400px}
.aperture__quote{margin:0;font-family:var(--serif);font-size:34px;line-height:1.2;font-weight:340;letter-spacing:-0.012em}
.aperture__fig{display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:var(--glass-fill);border:1px solid var(--glass-edge);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}

/* decisions */
.decisions{list-style:none;margin:0;padding:0 var(--margin);display:flex;flex-direction:column;gap:56px}
@media (min-width:900px){.decisions{grid-column:1 / -1;padding:0}}
.decision{position:relative;display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start}
@media (min-width:900px){.decision{grid-template-columns:120px 1fr 300px;align-items:center}}
.decision--flip{grid-template-columns:56px 1fr}
@media (min-width:900px){.decision--flip{grid-template-columns:300px 1fr}}
@media (min-width:900px) and (max-width:1199px){
  .decision{grid-template-columns:72px minmax(0,1fr) 220px}
  .decision--flip{grid-template-columns:220px minmax(0,1fr)}
}
.decision__num{font-family:var(--serif);font-style:italic;font-weight:200;font-size:48px;line-height:1;color:var(--stone-600)}
@media (min-width:900px){.decision__num{font-size:80px}}
.decision.reveal .decision__num{color:var(--filament)}
.decision:nth-child(2) .decision__num{color:var(--filament)}
.decision__text{display:flex;flex-direction:column;gap:8px}
.decision__text--wide{max-width:560px}
.title{margin:0;font-family:var(--serif);font-weight:400;font-size:var(--fs-title);line-height:1.14;letter-spacing:-0.012em}
.decision__text p{margin:0;color:var(--bone-400)}
.decision__fig{width:100%;min-height:180px;display:flex;align-items:flex-end;padding:16px;cursor:pointer}
.decision__fig--image{min-height:240px;padding:0;overflow:hidden;display:grid;grid-template-rows:1fr auto}
.decision__fig--image img{width:100%;height:100%;min-height:200px;object-fit:cover;transition:transform var(--d-reveal) var(--settle)}
.decision__fig--image figcaption{padding:12px 16px}
.decision__fig--image:hover img{transform:scale(1.02)}
.decision--flip .decision__fig{order:-1}
@media(min-width:900px){.decision--flip .decision__fig{order:0}}

/* quote */
.quote{padding:96px var(--margin) 0;border-top:1px solid var(--stone-700);margin-top:var(--scene-gap)}
.pull-quote{margin:0;font-family:var(--serif);font-style:italic;font-weight:250;font-size:var(--fs-pull);line-height:.92;letter-spacing:-0.04em}
.quote figcaption{margin-top:32px;color:var(--stone-400)}

/* evidence */
.evidence__rail{display:flex;gap:24px;overflow-x:auto;padding:0 var(--margin) 8px;scroll-snap-type:x proximity}
@media (min-width:900px){.evidence__rail{grid-column:1 / -1;padding:0 0 8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}}
.ev{flex:0 0 82vw;max-width:420px;min-height:420px;scroll-snap-align:start;padding:20px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;cursor:pointer}
@media (min-width:900px){.ev{flex-basis:auto;max-width:none}}
.phones{display:flex;gap:12px;flex:1}
.phone{flex:1;border-radius:24px;border:1px solid var(--stone-700);background:var(--stone-800);display:flex;align-items:center;justify-content:center}
.phone--lit{border-color:rgba(240,178,90,.5)}
.ev--b{background:var(--bone);color:var(--ink)}
.ev__ph{flex:1;border:1px dashed rgba(22,20,15,.3);display:flex;align-items:center;justify-content:center;text-align:center;padding:16px}
.ev--c{overflow:hidden;position:relative}
.ev__image{width:100%;height:320px;object-fit:contain;background:rgba(255,255,255,.02)}
.ev--b .ev__image{object-fit:cover;filter:saturate(.65) contrast(1.04)}
.ev--c .ev__image{object-fit:cover}
.ev__cap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.rail-meta{display:none;justify-content:space-between;align-items:center;padding:16px var(--margin) 0}
@media (min-width:900px){.rail-meta{grid-column:1 / -1;display:flex;padding:16px 0 0}}
.rail-dots{display:flex;gap:6px}
.rail-dots i{display:block;width:12px;height:1px;background:var(--stone-600)}
.rail-dots i.on{width:24px;background:var(--filament)}

/* metrics / mine */
.metrics{display:grid;grid-template-columns:1fr;gap:24px;margin:0;border-top:1px solid var(--stone-700);padding-top:28px}
@media (min-width:700px){.metrics{grid-template-columns:repeat(3,1fr)}}
.metrics dt{margin-bottom:8px}
.numeral{margin:0;font-family:var(--serif);font-weight:200;font-size:var(--fs-numeral);line-height:.9;letter-spacing:-0.04em;font-variant-numeric:tabular-nums}
.mine{font-family:var(--serif);font-size:28px;line-height:1.3;font-weight:350;color:#D8D2C6;max-width:780px;margin:0}

/* threshold */
.threshold{position:relative;margin-top:var(--scene-gap);padding-bottom:40px}
.seam-exit{display:block;height:1px}
.threshold__link{position:relative;display:block;height:66vh;min-height:420px;overflow:hidden}
.threshold__link--pending{cursor:default}
.threshold__link img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--d-page) var(--traverse)}
.threshold__link:not(.threshold__link--pending):hover img{transform:scale(1.06)}
.threshold__scrim{position:absolute;inset:0;background:linear-gradient(180deg,var(--basalt) 0%,rgba(10,10,11,.2) 40%,rgba(10,10,11,.8) 100%)}
.threshold__text{position:absolute;left:var(--margin);bottom:64px;display:flex;flex-direction:column;gap:16px}
.threshold__name{font-family:var(--serif);font-weight:300;font-size:clamp(56px,7vw,120px);line-height:.9;letter-spacing:-0.035em}
.threshold__name em{font-style:italic;font-weight:250;color:var(--stone-400);transition:transform var(--d-hover) var(--settle)}
.threshold__link:not(.threshold__link--pending):hover .threshold__name em{transform:translateX(8px)}
.colophon{padding:24px var(--margin) 0;text-align:right}

/* index sheet + lightbox */
dialog{border:0;padding:0;background:transparent;color:inherit;max-width:none;width:100%;height:100%;margin:0;position:fixed;inset:0}
dialog:not([open]){display:none}
dialog::backdrop{background:rgba(10,10,11,.7);backdrop-filter:blur(6px)}
.index-sheet__inner,.lightbox__stage{background:var(--stone-900);width:min(560px,100%);height:100%;margin-left:auto;padding:32px var(--margin);overflow-y:auto}
.lightbox{display:flex;align-items:center;justify-content:center}
.lightbox__stage{background:transparent;margin:0;width:min(90vw,1000px);height:auto;max-height:85vh;display:flex;align-items:center;justify-content:center}
.index-sheet__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.close{background:none;border:1px solid var(--stone-700);color:var(--bone);padding:10px 14px;border-radius:999px;cursor:pointer;display:flex;gap:8px;align-items:center}
.lightbox .close{position:absolute;top:24px;right:24px}
.index-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.index-list li{border-top:1px solid var(--stone-700)}
.index-list li:last-child{border-bottom:1px solid var(--stone-700)}
.index-list button{width:100%;text-align:left;background:none;border:0;color:inherit;padding:20px 0;display:flex;gap:16px;align-items:baseline;cursor:pointer;font:inherit}
.index-list button:hover .idx-name{color:var(--filament)}
.idx-num{font-family:var(--mono);font-size:12px;color:var(--stone-400);width:28px}
.idx-name{font-family:var(--serif);font-size:22px}

/* cursor */
.cursor{position:fixed;left:0;top:0;width:8px;height:8px;border-radius:999px;background:var(--bone);pointer-events:none;z-index:200;transform:translate(-50%,-50%);transition:width var(--d-hover) var(--settle),height var(--d-hover) var(--settle),background var(--d-hover) var(--settle);display:none}
@media (hover:hover) and (pointer:fine){.cursor{display:block}}
.cursor.on-plate{width:72px;height:72px;background:rgba(236,231,221,.08);border:1px solid rgba(236,231,221,.2);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center}
.cursor__label{display:none;color:var(--bone)}
.cursor.on-plate .cursor__label{display:block}

@media (prefers-reduced-motion:reduce){
  .line>span,.reveal,.decision__num,.decision__fig--image img,.threshold__link img,.threshold__name em{transition:none!important;animation:none!important}
  .js .line>span{transform:none}
  .js .reveal{opacity:1;transform:none}
}

/* C13 Belief — bold uppercase fragments in Mario's own voice (brand fusion) */
.beliefs{display:flex;flex-wrap:wrap;gap:12px 32px;padding:32px var(--margin);border-top:1px solid var(--stone-700);border-bottom:1px solid var(--stone-700);margin-top:var(--s9)}
@media (min-width:900px){.beliefs{padding-left:calc(var(--seam) + 60px)}}
.belief{font-family:var(--display-sans);font-size:15px;line-height:1.3;letter-spacing:-0.005em;text-transform:uppercase;color:var(--stone-400)}
.belief:nth-child(3n+1){color:var(--filament)}

/* contour texture — from mariotrujillo.com case backgrounds */
.contour{position:absolute;inset:0;opacity:.5;pointer-events:none;mix-blend-mode:screen;
  background-image:repeating-radial-gradient(circle at 30% 20%, transparent 0, transparent 18px, rgba(240,178,90,.10) 19px, rgba(240,178,90,.10) 20px);
  background-size:100% 100%}

/* hero transition section */
.hero-transition{position:relative;background:#000}
.hero-transition__content{position:relative;max-width:1400px;min-height:792px;margin:0 auto}
.hero-transition__thesis{position:absolute;top:337px;left:0;width:520px;padding:20px 0 0 20px;border-left:1px solid var(--filament)}
.hero-transition__thesis p{margin:0}.hero-transition__thesis p:first-child{position:absolute;top:-7px;left:20px;font-family:var(--mono);font-size:11px;font-weight:500;line-height:13.2px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone-400)}
.hero-transition__thesis p:last-child{color:var(--bone-400);font-family:var(--serif);font-size:24px;line-height:1.35}
.hero-transition__facts{position:absolute;top:258px;right:0;width:334px;padding:31px 23px 21px;border:1px solid var(--glass-edge);background:rgba(5,7,10,.56);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 40px 80px -24px rgba(0,0,0,.7)}
.hero-transition__facts dl{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px 12px;margin:0;font-family:var(--mono);font-size:12px;line-height:19.44px}.hero-transition__facts dt{color:var(--stone-400)}.hero-transition__facts dd{margin:0;color:var(--bone)}
@media(max-width:1439px) and (min-width:900px){.hero-transition__content{margin-left:var(--margin);margin-right:var(--margin)}.hero-transition__thesis{left:0}.hero-transition__facts{right:0}}
@media(max-width:899px){.hero-transition{display:none}}

/* Case 02 — GoPro. Shared Seam components, case-scoped capture character. */
body[data-case="gopro"]{
  --basalt:#05070A;--stone-900:#0B0E12;--stone-800:#11161C;--stone-700:#27313A;
  --stone-600:#384653;--stone-400:#92A0AC;--bone:#F2F6F8;--bone-400:#B9C5CD;
  --filament:#25B8F2;--filament-ink:#075D88;--filament-stroke:#1599D0;
  --glass-fill:rgba(5,7,10,.56);--glass-edge:rgba(117,207,244,.18);
  --glow-node:0 0 0 6px rgba(37,184,242,.14),0 0 24px 4px rgba(37,184,242,.48)
}
body[data-case="gopro"] .seam{--gopro-phone-top:clamp(122px,16vw,245px);mask-image:linear-gradient(to bottom,transparent 0,transparent calc(var(--gopro-phone-top) - 140px),#000 var(--gopro-phone-top));-webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent calc(var(--gopro-phone-top) - 140px),#000 var(--gopro-phone-top))}
body[data-case="gopro"] .seam__drawn{filter:drop-shadow(0 0 4px rgba(37,184,242,.6))}
.gopro-hero{min-height:clamp(760px,64vw,1200px);background:#000}
.gopro-hero__media{overflow:visible}
.gopro-hero__media img.gopro-hero__topography{position:absolute;inset:-3% 0;width:100%;height:106%;max-width:none;object-fit:cover;opacity:.95;filter:contrast(1.04) brightness(.94);transform:none;z-index:0}
.gopro-hero__media::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.16);z-index:1;pointer-events:none}
.gopro-hero__media video{position:absolute;right:clamp(7%,11vw,14%);top:clamp(122px,16vw,245px);width:clamp(274px,26.4vw,499px);height:auto;background:#000;z-index:2}
.gopro-hero__media img.gopro-hero__camera{position:absolute;left:calc(55.4167% - 95px);right:auto;top:calc(47.8333% + 250px);width:min(22.28125vw,428px);height:auto;max-width:none;object-fit:contain;transform:none;filter:drop-shadow(18px 20px 75px rgba(8,0,0,.65));z-index:3}
.gopro-grid{position:absolute;inset:0;opacity:.12;z-index:1;background-image:
  linear-gradient(110deg,transparent 0%,rgba(37,184,242,.08) 20%,rgba(37,184,242,.04) 40%,transparent 50%,rgba(37,184,242,.06) 70%,transparent 100%),
  linear-gradient(135deg,transparent 0%,rgba(37,184,242,.07) 15%,transparent 35%,rgba(37,184,242,.05) 60%,transparent 80%),
  linear-gradient(35deg,rgba(37,184,242,.04) 0%,transparent 25%,rgba(37,184,242,.06) 45%,transparent 70%,rgba(37,184,242,.03) 100%),
  linear-gradient(155deg,transparent 0%,rgba(37,184,242,.05) 30%,transparent 60%,rgba(37,184,242,.04) 80%,transparent 100%);
background-size:800px 600px,600px 500px,700px 550px,750px 700px;
background-position:0 0,100px 50px,50px 100px,150px 0;
mask-image:linear-gradient(90deg,transparent 0,#000 40%,#000 70%,transparent 100%)}
.gopro-logo{position:absolute;top:clamp(106px,10vw,190px);left:50%;width:clamp(100px,8.6vw,165px);height:auto;transform:translateX(-50%);z-index:10}
.gopro-hero__title{position:relative;max-width:min(67%,1135px);padding-right:40px;z-index:4}
.gopro-hero .seam-origin{position:absolute;left:var(--seam);top:clamp(710px,58vw,900px);z-index:4}
.gopro-title{font-family:'Archivo Black',var(--display-sans);font-size:clamp(56px,7.4vw,112px);max-width:none;line-height:.92;color:#f2f6f8;text-transform:uppercase}
.gopro-title em{font-style:normal;color:var(--filament)}
.gopro-title__r{letter-spacing:.044em}
.signal-map{margin:0;padding:clamp(20px,3vw,44px);overflow:hidden}
.signal-map .tensions{border-top-color:var(--stone-700)}
.signal-map__flow{display:grid;grid-template-columns:1fr;gap:0;align-items:center;padding:18px 0 8px}
.signal-stop{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:12px;align-items:center;padding:16px;border:1px solid var(--stone-700);background:linear-gradient(135deg,rgba(37,184,242,.07),transparent)}
.signal-stop__dot{grid-row:1 / span 2;width:10px;height:10px;border-radius:50%;background:var(--filament);box-shadow:0 0 18px rgba(37,184,242,.6)}
.signal-stop strong{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.1}
.signal-stop small{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--stone-400)}
.signal-link{width:1px;height:28px;background:var(--filament);justify-self:center}
.gopro-decisions .decisions{margin-top:48px}
.gopro-decisions .decision{border-top:1px solid var(--stone-700);padding-top:32px}
.gopro-decisions .decision__fig--image img{object-fit:contain;background:#05070A}
.gopro-decisions .decision__fig--wide img{min-height:280px}
.camera-line{display:grid;grid-template-rows:1fr auto;min-height:280px;padding:0;overflow:hidden;cursor:pointer}
.camera-line__items{display:grid;grid-template-columns:repeat(2,1fr);align-items:end;gap:8px;padding:24px;background:radial-gradient(circle at 50% 100%,rgba(37,184,242,.12),transparent 65%)}
.camera-line__items img{width:100%;height:120px;object-fit:contain}
.camera-line figcaption{padding:12px 16px;border-top:1px solid var(--stone-700)}
.evidence-intro{margin-bottom:40px}
.gopro-evidence .ev{min-height:480px;background:var(--stone-900);color:var(--bone)}
.gopro-evidence .ev__image{height:340px;object-fit:contain;filter:none;background:#05070A}
.gopro-evidence .ev__cap{color:var(--stone-400)}
.gopro-evidence .ev__cap span:first-child{color:var(--bone)}
.gopro-evidence .ev__cap span:last-child{max-width:34ch}
.proof-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:0 0 32px}
.proof-grid article{padding:24px;border:1px solid var(--stone-700);background:linear-gradient(135deg,rgba(37,184,242,.06),transparent)}
.proof-grid p{margin:0}.proof-grid p:last-child{margin-top:10px;color:var(--bone-400)}
.ownership-list{margin:0;display:grid;gap:0;border-top:1px solid var(--stone-700)}
.ownership-list div{display:grid;grid-template-columns:minmax(90px,150px) 1fr;gap:20px;padding:22px 0;border-bottom:1px solid var(--stone-700)}
.ownership-list dt{font-family:var(--mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--filament)}
.ownership-list dd{margin:0;color:var(--bone-400)}
@media (min-width:700px){
  .signal-map__flow{grid-template-columns:repeat(9,minmax(0,1fr))}
  .signal-stop{display:flex;min-width:0;min-height:150px;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px}
  .signal-link{width:auto;height:1px;justify-self:stretch}
  .proof-grid{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:900px){
  .gopro-hero .hero__title{padding-top:clamp(255px,22vw,420px);padding-bottom:80px}
  .gopro-evidence .evidence__rail{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gopro-decisions .decision{grid-template-columns:96px minmax(0,1fr) minmax(300px,44%)}
  .gopro-decisions .decision--flip{grid-template-columns:96px minmax(280px,44%) minmax(0,1fr)}
}
@media (max-width:899px){
  .gopro-hero{min-height:max(760px,100svh)}
  body[data-case="gopro"] .seam{--gopro-phone-top:140px}
  .gopro-hero__media img.gopro-hero__topography{opacity:.55}
  .gopro-hero__media video{right:0;top:18%;width:min(61.6vw,421px);opacity:.86}
  .gopro-hero__media img.gopro-hero__camera{left:calc(55.4167% - 95px);right:auto;top:calc(47.8333% + 150px);width:min(48.3vw,380px)}
  .gopro-hero__title{max-width:80%}
  .gopro-hero .seam-origin{top:calc(42vh + 5.2em)}
  .gopro-title{font-size:clamp(42px,12vw,72px);max-width:none}
  .gopro-decisions .decision,.gopro-decisions .decision--flip{grid-template-columns:44px minmax(0,1fr)}
  .gopro-decisions .decision__fig{grid-column:1 / -1;order:3}
}
@media (max-width:520px){
  .gopro-hero .hero__title{padding-top:42vh}
  .gopro-hero .case-thesis{left:24px;right:24px}
  .gopro-title{font-size:clamp(38px,11.4vw,54px);line-height:.94;max-width:none}
  .ownership-list div{grid-template-columns:1fr;gap:8px}
  .gopro-evidence .ev{min-height:420px}.gopro-evidence .ev__image{height:270px}
}
