/* joshuaparkinson.me — maroon v3 (burgundy, parchment, earth tones)
   Versioned file: if you change it, copy it to a new filename and update every HTML reference. */
@font-face{font-family:'Fraunces';src:url(assets/fonts/fraunces-opsz-normal.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url(assets/fonts/fraunces-opsz-italic.woff2) format('woff2');font-weight:100 900;font-style:italic;font-display:swap}
:root{--oxblood:#53131C;--oxblood-deep:#3D0D13;--maroon:#7B1C28;--maroon-hover:#92232F;--espresso:#2B201C;--espresso-2:#3A2C26;--parchment:#F3ECE1;--linen:#FAF6EF;--sand:#E8DCC8;--sage:#E3E1CD;--rose:#EFDDD3;--ink:#2B1D1A;--ink-soft:#4A3B36;--muted:#6A5A52;--moss:#565B3E;--clay:#9A4F33;--gold:#D9B77E;--brass:#B98A4B;--line:#DDD0BD;--line-strong:#8E7B6E;--on-dark:#F6EDE0;--on-dark-muted:#D5C2B2;--on-dark-line:rgba(246,237,224,.16);--shadow:0 30px 60px -34px rgba(43,29,26,.45);--radius:.8rem;--radius-sm:.4rem;--display:'Fraunces',Georgia,'Times New Roman',serif;--sans:'Aptos','Segoe UI',system-ui,-apple-system,sans-serif;--ease:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);--section:clamp(4.5rem,9vw,7.5rem)}

/* Base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem;-webkit-text-size-adjust:100%;scrollbar-color:var(--line-strong) var(--parchment)}
body{margin:0;background:var(--parchment);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--maroon);color:var(--on-dark)}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
button{font:inherit;color:inherit}
h1,h2,h3,h4{text-wrap:balance;font-optical-sizing:auto}
img{max-width:100%}
.shell{width:min(1180px,100% - 3rem);margin-inline:auto}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:fixed;left:1rem;top:1rem;z-index:1000;background:var(--maroon);color:var(--on-dark);padding:.75rem 1rem;border-radius:var(--radius-sm);font-weight:700;transform:translateY(-220%);transition:transform .3s var(--ease-out)}
.skip:focus{transform:none}
html:not(.js) .js-only{display:none!important}
:focus-visible{outline:2px solid var(--maroon);outline-offset:3px;border-radius:2px}
.hero :focus-visible,.artifact-hero :focus-visible,.presentation-section :focus-visible,.about-section :focus-visible,.video-frame :focus-visible,.dark-top .site-header:not(.is-light) :focus-visible{outline-color:var(--gold)}
.i-out,.i-down{display:inline-block;transition:transform .45s var(--ease-out)}
a:hover>.i-out{transform:translate(2px,-2px)}
a:hover>.i-down{transform:translateY(3px)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;color:var(--ink);background:rgba(243,236,225,.9);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);border-bottom:1px solid transparent;transition:background-color .6s var(--ease),color .6s var(--ease),border-color .6s var(--ease),box-shadow .6s var(--ease)}
.site-header.scrolled{border-bottom-color:var(--line);box-shadow:0 12px 28px -24px rgba(43,29,26,.55)}
.dark-top .site-header:not(.is-light){background:var(--oxblood-deep);color:var(--on-dark);border-bottom-color:transparent;box-shadow:none}
.scroll-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--maroon),var(--brass));transform:scaleX(0);transform-origin:left;pointer-events:none}
@supports (animation-timeline:scroll()){.scroll-progress,.calm .scroll-progress{animation:progress linear both!important;animation-timeline:scroll(root)!important}}
@keyframes progress{to{transform:scaleX(1)}}
.header-inner{height:4.5rem;display:flex;align-items:center;gap:2rem}
.wordmark{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:650;letter-spacing:-.005em}
.brand-glyph{display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:50%;background:var(--maroon);color:var(--on-dark);font:500 .8rem/1 var(--display);letter-spacing:.04em;transition:background-color .6s var(--ease),color .6s var(--ease),box-shadow .6s var(--ease)}
.accent{color:var(--maroon);transition:color .6s var(--ease)}
.dark-top .site-header:not(.is-light) .brand-glyph{background:transparent;color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.dark-top .site-header:not(.is-light) .accent{color:var(--gold)}
.header-inner nav{display:flex;gap:1.9rem;margin-left:auto}
.header-inner nav a{position:relative;text-decoration:none;font-size:.9rem;font-weight:600;padding-block:.35rem;opacity:.86;transition:opacity .3s}
.header-inner nav a::after{content:"";position:absolute;left:0;right:0;bottom:.1rem;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-out)}
.header-inner nav a:hover{opacity:1}
.header-inner nav a:hover::after{transform:scaleX(1);transform-origin:left}
.header-cta{background:var(--maroon);color:var(--on-dark);text-decoration:none;border-radius:999px;padding:.58rem 1.05rem;font-weight:600;font-size:.88rem;white-space:nowrap;transition:background-color .4s var(--ease),color .4s var(--ease)}
.header-cta:hover{background:var(--maroon-hover)}
.dark-top .site-header:not(.is-light) .header-cta{background:var(--on-dark);color:var(--oxblood)}
.dark-top .site-header:not(.is-light) .header-cta:hover{background:var(--gold)}

/* Shared type */
.eyebrow{margin:0 0 1rem;font-size:.74rem;line-height:1.3;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--maroon)}
.section-heading h2,.longtail-copy h2,.lab-grid h2,.about-grid h2,.contact-section h2,.artifact-reading>header h2,.artifact-download h2{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.04;letter-spacing:-.02em;margin:0;color:var(--ink)}
.section-heading h2 em,.longtail-copy h2 em,.lab-grid h2 em,.about-grid h2 em,.contact-section h2 em{font-style:italic;font-weight:340;color:var(--maroon);padding-bottom:.04em;background:linear-gradient(rgba(185,138,75,.6),rgba(185,138,75,.6)) no-repeat 0 94%/0 1px;transition:background-size 1.2s var(--ease-out) .45s}
html:not(.reveal-ready) h2 em,.visible h2 em{background-size:100% 1px}
.large{font-family:var(--display);font-weight:400;font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.42}

/* Buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.9rem;padding:.65rem 1.25rem;border-radius:999px;font-size:.92rem;font-weight:600;line-height:1.2;text-decoration:none;border:1px solid transparent;transition:background-color .4s var(--ease),border-color .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease)}
.button.primary{background:var(--maroon);color:var(--on-dark)}
.button.primary:hover{background:var(--maroon-hover);box-shadow:0 12px 24px -14px rgba(123,28,40,.7)}
.button.quiet,.button.outline{border-color:var(--ink);background:transparent;color:var(--ink)}
.button.quiet:hover,.button.outline:hover{background:var(--linen);border-color:var(--maroon);color:var(--maroon)}
.button-meta{font-size:.7rem;font-weight:700;letter-spacing:.1em;opacity:.75}
.inline-link{display:inline-block;font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:var(--brass)}
.inline-link:hover{color:var(--maroon)}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;color:var(--on-dark);background:radial-gradient(900px 620px at 88% -8%,rgba(146,35,47,.55),transparent 62%),linear-gradient(180deg,var(--oxblood-deep) 0%,var(--oxblood) 78%,#5A1520 100%)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(560px circle at var(--mx,74%) var(--my,30%),rgba(217,183,126,.14),transparent 66%)}
.hero::after,.artifact-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(217,183,126,.5),transparent)}
.contours{position:absolute;top:-6%;left:-6%;width:112%;height:112%;max-width:none;z-index:-2;object-fit:cover;opacity:.16;pointer-events:none;animation:contour-drift 40s ease-in-out infinite alternate}
@keyframes contour-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-2.5%,1.8%,0) scale(1.05)}}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center;padding-block:clamp(3.25rem,7vw,6rem) clamp(4rem,8vw,6.75rem)}
.hero-id{display:grid;gap:.2rem;margin:0 0 1.75rem;padding-left:1rem;border-left:1px solid var(--gold);animation:fade-up .9s var(--ease-out) both}
.hero-name{font-size:1.08rem;font-weight:600;letter-spacing:.01em;color:var(--on-dark)}
.hero-id>span:last-child{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.hero h1,.artifact-hero h1{font-family:var(--display);font-weight:360;font-size:clamp(2.6rem,5.3vw,4.55rem);line-height:1.02;letter-spacing:-.025em;margin:0;color:var(--on-dark)}
.hero h1 em,.artifact-hero h1 em{font-style:italic;font-weight:300;color:var(--gold)}
.line{display:block;overflow:hidden;padding:0 .12em .1em 0;margin-bottom:-.1em}
.line>span{display:inline-block;animation:line-up 1.15s var(--ease-out) .1s both}
.line+.line>span{animation-delay:.22s}
@keyframes line-up{from{transform:translateY(108%)}to{transform:none}}
@keyframes fade-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-lede{max-width:34rem;margin:1.5rem 0 2.1rem;font-size:clamp(1.05rem,1.55vw,1.2rem);line-height:1.62;color:var(--on-dark-muted);animation:fade-up .9s var(--ease-out) .42s both}
.hero-actions,.feature-actions,.detail-links{display:flex;gap:.75rem;flex-wrap:wrap}
.hero .hero-actions{animation:fade-up .9s var(--ease-out) .52s both}
.detail-links{gap:.5rem 1.5rem}
.hero .button.primary,.artifact-hero .button.primary{background:var(--on-dark);color:var(--oxblood)}
.hero .button.primary:hover,.artifact-hero .button.primary:hover{background:var(--gold);box-shadow:0 14px 30px -16px rgba(0,0,0,.6)}
.hero .button.quiet,.artifact-hero .button.outline{border-color:rgba(246,237,224,.5);color:var(--on-dark)}
.hero .button.quiet:hover,.artifact-hero .button.outline:hover{background:rgba(246,237,224,.08);border-color:var(--on-dark);color:var(--on-dark)}
.hero-role{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .75rem;max-width:34rem;margin:2.4rem 0 0;padding-top:1.25rem;border-top:1px solid var(--on-dark-line);font-size:.95rem;font-weight:500;color:var(--on-dark);animation:fade-up .9s var(--ease-out) .62s both}
.hero-role span{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.hero-panel{position:relative;background:linear-gradient(170deg,var(--linen),var(--parchment));color:var(--ink);border-radius:var(--radius);padding:clamp(1.5rem,3vw,2.4rem);box-shadow:0 44px 80px -40px rgba(0,0,0,.6),0 0 0 1px rgba(217,183,126,.4);animation:panel-in 1.3s var(--ease-out) .3s both}
.hero-panel::before{content:"";position:absolute;inset:.5rem;border:1px solid rgba(185,138,75,.28);border-radius:calc(var(--radius) - .3rem);pointer-events:none}
@keyframes panel-in{from{opacity:0;transform:translateY(28px) scale(.985)}to{opacity:1;transform:none}}
.panel-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.panel-head h2{margin:0;font:700 .72rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--maroon)}
.panel-head p{margin:0;font:italic 400 1rem/1.3 var(--display);color:var(--muted)}
.practice-list{list-style:none;margin:0;padding:0}
.practice-list li{position:relative;display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:.75rem;padding:1.35rem 0;border-bottom:1px solid var(--line);animation:fade-up .9s var(--ease-out) both}
.practice-list li:nth-child(1){animation-delay:.6s}.practice-list li:nth-child(2){animation-delay:.72s}.practice-list li:nth-child(3){animation-delay:.84s}
.practice-list li:last-child{border-bottom:0;padding-bottom:.25rem}
.practice-list li::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--maroon);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-out)}
.practice-list li:last-child::after{display:none}
.practice-list li:hover::after{transform:scaleX(1)}
.practice-num{font:400 1.05rem/1.7 var(--display);color:var(--maroon);transition:transform .6s var(--ease-out)}
.practice-list li:hover .practice-num{transform:translateX(5px)}
.practice-list h3{margin:0 0 .3rem;font:500 1.5rem/1.2 var(--display);letter-spacing:-.012em;color:var(--ink)}
.practice-list p{margin:0;font-size:.95rem;line-height:1.55;color:var(--muted)}
.practice-list .practice-tags{margin-top:.6rem;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--moss)}

/* Overview band */
.signal-band{background:var(--linen);border-bottom:1px solid var(--line)}
.signal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.3fr);gap:1px;background:var(--line);border-inline:1px solid var(--line)}
.signal-grid>div{display:flex;align-items:center;gap:1rem;padding:1.6rem 1.5rem;background:var(--linen)}
.signal-grid strong{font:400 2.7rem/1 var(--display);color:var(--maroon);white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.signal-grid strong [data-count]{display:inline-block}
.signal-grid>div>span{font-size:.82rem;font-weight:500;line-height:1.4;color:var(--muted)}
.signal-grid .signal-manifesto{display:block;background:var(--sage)}
.signal-manifesto span{font-size:.7rem;font-weight:700;letter-spacing:.16em;color:var(--moss)}
.signal-manifesto p{font:italic 400 1.25rem/1.3 var(--display);margin:.45rem 0 0;color:var(--ink)}

/* Sections */
.section,.archive-section,.play-section,.contact-section{padding-block:var(--section)}
.section-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1rem,5vw,4rem);align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.section-heading>p{font-size:1.05rem;color:var(--muted);max-width:30rem;margin:0 0 .35rem}

/* Selected work */
.filter-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;border-block:1px solid var(--line);padding:.6rem 0;margin-bottom:1.5rem}
.filter-bar>div{display:flex;gap:.3rem;flex-wrap:wrap}
.filter-bar button{border:0;background:transparent;padding:.5rem .95rem;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:background-color .35s var(--ease),color .35s var(--ease)}
.filter-bar button:hover{background:var(--sand);color:var(--ink)}
.filter-bar button[aria-pressed=true]{background:var(--maroon);color:var(--on-dark)}
.filter-bar button span{font-weight:400;margin-left:.2rem}
.filter-bar p{margin:0;font-size:.82rem;color:var(--muted)}
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.case-card{background:var(--linen);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-rows:330px auto}
.case-card.reveal{transition:opacity .9s var(--ease-out) var(--reveal-delay,0s),transform .9s var(--ease-out) var(--reveal-delay,0s),box-shadow .6s var(--ease),border-color .6s var(--ease)}
.case-card:hover{box-shadow:var(--shadow);border-color:#CDBBA3}
.case-card[hidden]{display:none}
.case-feature,.case-wide{grid-column:1/-1;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:none}
.case-wide{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.case-wide .case-visual{order:2}
.case-visual{--px:0;--py:0;position:relative;overflow:hidden;min-height:330px;padding:1.15rem 1.3rem;background:var(--oxblood);color:var(--on-dark)}
.case-visual>*:not(.visual-label){translate:calc(var(--px)*12px) calc(var(--py)*9px);transition:translate .8s var(--ease-out)}
.case-visual>.quest-tag{translate:calc(var(--px)*22px) calc(var(--py)*16px)}
.case-content{padding:clamp(1.4rem,3vw,2.3rem)}
.case-content .case-kicker{margin:0;color:var(--maroon);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em}
.case-content h3{font:400 clamp(1.75rem,2.7vw,2.35rem)/1.1 var(--display);letter-spacing:-.018em;margin:.45rem 0 .9rem;color:var(--ink)}
.case-content>p{color:var(--muted)}
.case-content dl{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);margin:1.5rem 0 0}
.case-content dl div{padding:.85rem 0}
.case-content dl div+div{border-left:1px solid var(--line);padding-left:1rem}
.case-content dt{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.case-content dd{margin:.2rem 0 0;font-weight:600;color:var(--ink)}
.case-content details{border-bottom:1px solid var(--line)}
.case-content summary{list-style:none;padding:.95rem 0;cursor:pointer;font-size:.88rem;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:color .3s}
.case-content summary:hover{color:var(--maroon)}
.case-content summary::-webkit-details-marker{display:none}
.case-content details[open] summary .i-out{transform:rotate(90deg)}
.case-content details>div{padding:0 0 1.35rem}
.case-content details[open]>div{animation:fade-up .6s var(--ease-out) both}
.case-content h4{font:500 1.2rem/1.3 var(--display);margin:.15rem 0 .35rem;color:var(--ink)}
.case-content details p{color:var(--muted)}
.case-content details .note{border-left:2px solid var(--brass);padding:.75rem 1rem;background:var(--sand);color:var(--ink-soft)}
.visual-label,.builder-head{position:relative;display:flex;justify-content:space-between;gap:1rem;font-size:.68rem;font-weight:700;letter-spacing:.14em}
.visual-label{color:var(--on-dark-muted)}

/* Case visuals, with a gentle draw-in when each card is revealed */
.access-flow{position:absolute;inset:2.75rem 1rem 3.5rem;display:flex;align-items:center;justify-content:center;gap:5%;font-size:1.5rem;color:var(--gold)}
.access-flow>*{transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.access-flow>:nth-child(2){transition-delay:.25s}.access-flow>:nth-child(3){transition-delay:.4s}.access-flow>:nth-child(4){transition-delay:.6s}.access-flow>:nth-child(5){transition-delay:.75s}
.reveal-ready .case-card:not(.visible) .access-flow>*{opacity:0;transform:translateY(14px)}
.file-stack{position:relative;flex:none;width:100px;height:126px}
.file-stack i,.file-stack b{position:absolute;inset:0;border-radius:.45rem;background:var(--linen);border:1px solid rgba(43,29,26,.35)}
.file-stack i:first-child{transform:translate(-14px,14px);opacity:.28}
.file-stack i:nth-child(2){transform:translate(-7px,7px);opacity:.55}
.file-stack b{display:grid;place-items:center;color:var(--maroon);font:400 2.2rem var(--display)}
.hub-node,.evidence-check{flex:none;width:122px;height:122px;border-radius:50%;display:grid;place-content:center;justify-items:center;gap:.25rem;text-align:center;line-height:1}
.hub-node{background:var(--sand);color:var(--oxblood)}
.hub-node b{font-size:1.6rem}
.hub-node small,.evidence-check small{font-size:.58rem;font-weight:700;letter-spacing:.12em;line-height:1.3}
.evidence-check{border:1px solid var(--gold);color:var(--gold);font-size:1.9rem}
.evidence-check small{display:block;color:var(--on-dark)}
.mini-ticker{position:absolute;bottom:1.1rem;left:1.3rem;right:1.3rem;display:flex;justify-content:space-between;gap:1rem;padding-top:.8rem;border-top:1px solid var(--on-dark-line);color:var(--on-dark-muted);font-size:.62rem;font-weight:700;letter-spacing:.12em}
.visual-game{background:var(--sage);color:var(--ink)}
.visual-tail{background:var(--sand);color:var(--ink)}
.visual-game .visual-label,.visual-tail .visual-label{color:var(--muted)}
.quest-line{position:absolute;inset:60px 30px 24px;width:calc(100% - 60px);height:calc(100% - 84px);overflow:visible}
.quest-line path{fill:none;stroke:var(--maroon);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 2s var(--ease) .2s}
.quest-line circle{fill:var(--linen);stroke:var(--ink);stroke-width:1.5;transform-box:fill-box;transform-origin:center;transition:transform .7s var(--ease-out)}
.quest-line circle:nth-of-type(2){transition-delay:.7s}.quest-line circle:nth-of-type(3){transition-delay:1.2s}.quest-line circle:nth-of-type(4){fill:var(--maroon);stroke:var(--maroon);transition-delay:1.8s}
.quest-line circle:nth-of-type(1){transition-delay:.2s}
.reveal-ready .case-card:not(.visible) .quest-line path{stroke-dashoffset:1}
.reveal-ready .case-card:not(.visible) .quest-line circle{transform:scale(0)}
.quest-tag{position:absolute;background:var(--linen);color:var(--ink);border:1px solid rgba(43,29,26,.2);font-size:.6rem;font-weight:700;letter-spacing:.08em;padding:.3rem .6rem;border-radius:999px}
.q1{left:5%;bottom:12%}.q2{left:28%;top:22%}.q3{left:57%;bottom:27%}.q4{right:4%;top:16%;background:var(--maroon);color:var(--on-dark);border-color:var(--maroon)}
.tail-chart{position:absolute;inset:64px 44px 36px;border-left:1px solid rgba(43,29,26,.45);border-bottom:1px solid rgba(43,29,26,.45)}
.tail-chart i{position:absolute;bottom:0;left:0;transform-origin:bottom;transition:transform 1.2s var(--ease-out) .2s}
.tail-chart .head{width:40%;height:90%;background:linear-gradient(125deg,var(--maroon),rgba(123,28,40,.12) 78%);clip-path:polygon(0 0,100% 100%,0 100%)}
.tail-chart .tail{left:35%;width:64%;height:28%;background:linear-gradient(90deg,var(--brass),rgba(185,138,75,.12));clip-path:polygon(0 0,100% 75%,100% 100%,0 100%);transition-delay:.55s}
.reveal-ready .case-card:not(.visible) .tail-chart i{transform:scaleY(0)}
.chart-head,.chart-tail{position:absolute;font-size:.62rem;font-weight:700;letter-spacing:.12em}
.chart-head{left:7%;top:13%}
.chart-tail{right:5%;bottom:13%}
.open-road{position:absolute;right:0;top:0;background:var(--maroon);color:var(--on-dark);font-size:.6rem;font-weight:700;letter-spacing:.08em;padding:.45rem .7rem;border-radius:999px}
.visual-code{background:var(--espresso)}
.terminal{position:absolute;inset:60px 44px 34px;overflow:hidden;background:#1D1512;border:1px solid rgba(217,183,126,.25);border-radius:.6rem;padding:1rem 1.1rem;color:#EFE3D2;font:600 .76rem/1.5 Consolas,'SFMono-Regular',Menlo,monospace;box-shadow:0 24px 40px -24px rgba(0,0,0,.7)}
.terminal>div{display:flex;align-items:center;gap:.35rem;padding-bottom:.75rem;border-bottom:1px solid rgba(246,237,224,.1)}
.terminal>div i{width:.55rem;height:.55rem;border-radius:50%;background:#7A5C4E}
.terminal>div i:nth-child(2){background:var(--clay)}
.terminal>div i:nth-child(3){background:var(--gold)}
.terminal>div span{margin-left:auto;color:#A89484;font-weight:400}
.terminal p{display:grid;grid-template-columns:2rem 1fr auto;margin:0;padding:.6rem .35rem;border-bottom:1px solid rgba(246,237,224,.07);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.terminal p:nth-of-type(1){transition-delay:.3s}.terminal p:nth-of-type(2){transition-delay:.65s}.terminal p:nth-of-type(3){transition-delay:1s}
.reveal-ready .case-card:not(.visible) .terminal p{opacity:0;transform:translateX(-8px)}
.terminal p span{color:#A89484}
.terminal p b{color:var(--gold)}
.terminal p:last-child b{animation:caret 1.1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}

/* Presentations */
.presentation-section{background:var(--espresso);color:var(--on-dark);padding-block:var(--section)}
.section-heading.light h2{color:var(--on-dark)}
.section-heading.light .eyebrow,.section-heading.light h2 em{color:var(--gold)}
.section-heading.light>p{color:var(--on-dark-muted)}
.deck-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.deck-card{background:var(--espresso-2);border:1px solid rgba(246,237,224,.12);border-radius:var(--radius);overflow:hidden}
.deck-card.reveal{transition:opacity .9s var(--ease-out) var(--reveal-delay,0s),transform .7s var(--ease-out) var(--reveal-delay,0s),box-shadow .7s var(--ease),border-color .7s var(--ease)}
.deck-card:hover{transform:translateY(-6px);box-shadow:0 34px 50px -30px rgba(0,0,0,.8);border-color:rgba(217,183,126,.5)}
.deck-preview{position:relative;overflow:hidden;min-height:340px;padding:1.5rem;display:flex;flex-direction:column;color:var(--ink)}
.deck-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translateX(-130%);transition:transform 1.1s var(--ease-out);pointer-events:none}
.deck-card:hover .deck-preview::after{transform:translateX(130%)}
.deck-access .deck-preview{background:var(--rose)}
.deck-game .deck-preview{background:var(--sage)}
.deck-tail .deck-preview{background:var(--sand)}
.deck-number{font:400 .95rem var(--display);color:var(--maroon)}
.deck-symbol{width:84px;height:84px;border:1px solid rgba(43,29,26,.28);border-radius:50%;display:grid;place-items:center;font:400 1.8rem var(--display);color:var(--maroon);margin:1.6rem 0 1.9rem;background:rgba(255,255,255,.4);transition:transform .9s var(--ease-out)}
.deck-card:hover .deck-symbol{transform:rotate(-10deg) scale(1.05)}
.deck-topic{font-size:.66rem;font-weight:700;letter-spacing:.13em;color:var(--muted)}
.deck-preview h3{font:400 1.8rem/1.1 var(--display);letter-spacing:-.015em;margin:.45rem 0 .75rem}
.deck-preview p{margin:auto 0 0;padding-top:.9rem;border-top:1px solid rgba(43,29,26,.15);font-size:.92rem;color:var(--ink-soft)}
.deck-actions{padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:.5rem 1rem;flex-wrap:wrap}
.deck-actions span{font-size:.8rem;color:var(--on-dark-muted)}
.deck-actions a{color:var(--on-dark);font-size:.88rem;font-weight:600;text-decoration-color:var(--gold)}
.deck-actions a:hover{color:var(--gold)}

/* Long Tail spotlight */
.longtail-feature{padding-block:var(--section);background:var(--sand)}
.longtail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.video-frame{background:var(--oxblood-deep);padding:.55rem;border-radius:var(--radius);box-shadow:var(--shadow)}
.video-poster{position:relative;overflow:hidden;min-height:420px;padding:1.75rem;display:flex;flex-direction:column;color:var(--on-dark);text-decoration:none;border-radius:.5rem;background:radial-gradient(circle at 78% 22%,rgba(217,183,126,.18),transparent 45%),linear-gradient(160deg,#5E1A24,#300B10)}
.video-poster::before{content:"";position:absolute;inset:0;background:url(assets/images/contours.svg) center/cover no-repeat;opacity:.12;transition:transform 1.4s var(--ease-out);pointer-events:none}
.video-poster:hover::before{transform:scale(1.06)}
.video-poster>*{position:relative}
.video-meta{font-size:.68rem;font-weight:700;letter-spacing:.14em;color:var(--on-dark-muted)}
.play-button{position:relative;display:grid;place-items:center;width:78px;height:78px;margin:auto;padding-left:.2rem;border-radius:50%;background:var(--on-dark);color:var(--oxblood);font-size:1.35rem;transition:transform .6s var(--ease-out),background-color .5s var(--ease)}
.play-button::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--gold);opacity:0;transform:scale(1);pointer-events:none}
.video-poster:hover .play-button{transform:scale(1.06);background:var(--gold)}
.video-poster:hover .play-button::after{animation:ring 1.3s var(--ease-out) both}
@keyframes ring{from{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}
.video-title{font:400 clamp(2rem,3.2vw,2.7rem)/1.02 var(--display);letter-spacing:-.02em}
.video-credit{font-size:.88rem;color:var(--on-dark-muted);margin-top:.6rem}
.longtail-copy p{color:var(--ink-soft)}
.longtail-copy .large,.lab-grid .large,.about-copy .large{margin-top:1.4rem;color:var(--ink)}
.feature-actions{margin-top:1.75rem}

/* Archive */
.timeline{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}
.timeline li{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,4fr);gap:1.5rem;padding:1.7rem 0;border-bottom:1px solid var(--line)}
.timeline li::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--maroon);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease-out)}
.timeline li:hover::after{transform:scaleX(1)}
.timeline time{font:350 2.3rem/1.05 var(--display);letter-spacing:-.02em;color:var(--maroon);transition:font-weight .9s var(--ease-out),letter-spacing .9s var(--ease-out)}
.reveal-ready .timeline li:not(.visible) time{font-weight:150;letter-spacing:.02em}
.timeline li:hover time{font-weight:560}
.timeline li>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.8fr) minmax(0,1.8fr) 7rem;gap:1.5rem;align-items:center}
.timeline li>div>a{justify-self:end}
.timeline span{font-size:.68rem;font-weight:700;letter-spacing:.13em;color:var(--muted)}
.timeline h3{font:450 1.3rem/1.22 var(--display);margin:0;color:var(--ink)}
.timeline p{color:var(--muted);margin:0;font-size:.95rem}
.timeline a{font-weight:600;font-size:.88rem;white-space:nowrap;color:var(--ink);text-decoration-color:var(--brass)}
.timeline a:hover{color:var(--maroon)}

/* Learning path lab */
.lab-section{background:var(--sage);padding-block:var(--section)}
.lab-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.lab-grid .inline-link{margin-top:.5rem}
.path-builder{background:var(--linen);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;box-shadow:var(--shadow)}
.builder-head{padding-bottom:.9rem;border-bottom:1px solid var(--line);color:var(--muted)}
.builder-head span:first-child{color:var(--maroon)}
.path-builder>p{color:var(--muted);margin:.9rem 0}
.path-builder ol{list-style:none;margin:1rem 0;padding:0}
.path-builder li{position:relative;display:grid;grid-template-columns:2.5rem 1fr 2rem auto;gap:1rem;align-items:center;padding:.8rem .75rem;border-top:1px solid var(--line);background:var(--linen)}
.path-builder li:last-child{border-bottom:1px solid var(--line)}
.path-builder li>span{font:400 1rem var(--display);color:var(--maroon);font-variant-numeric:tabular-nums}
.path-builder li b{font:450 1.35rem var(--display);color:var(--ink)}
.path-builder li em{font-style:normal;font-size:1.15rem;color:var(--brass)}
.move{display:flex;gap:.35rem}
.move button,.reset{border:1px solid var(--line-strong);background:var(--linen);color:var(--ink);cursor:pointer;font-weight:600;border-radius:999px;transition:background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}
.move button{width:2.5rem;height:2.5rem}
.move button:hover,.reset:hover{border-color:var(--maroon);background:var(--maroon);color:var(--on-dark)}
.move button[aria-disabled=true]{opacity:.35;cursor:not-allowed;background:transparent;border-color:var(--line-strong);color:var(--ink)}
.builder-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem}
.builder-foot p{font-weight:600;color:var(--ink);margin:0}
.reset{padding:.55rem 1rem;font-size:.88rem}
.just-moved{animation:moved 1.4s var(--ease)}
@keyframes moved{from{background:var(--rose)}to{background:var(--linen)}}

/* Creative practice */
.play-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.play-card{min-height:380px;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;text-decoration:none;display:flex;flex-direction:column;position:relative;overflow:hidden;color:var(--ink)}
.play-card.reveal{transition:opacity .9s var(--ease-out) var(--reveal-delay,0s),transform .7s var(--ease-out) var(--reveal-delay,0s),box-shadow .7s var(--ease),border-color .7s var(--ease)}
.play-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#CDBBA3}
.play-card.beatbox{background:var(--rose)}
.play-card.mutagen{background:var(--sage)}
.play-card.dungeon{background:var(--sand)}
.play-index{font-size:.7rem;font-weight:700;letter-spacing:.13em;color:var(--muted)}
.play-card h3{font:400 1.8rem/1.12 var(--display);letter-spacing:-.015em;margin:auto 0 .35rem}
.play-card p{margin:0 0 1.2rem;color:var(--ink-soft)}
.play-card b{font-size:.88rem;font-weight:600;text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:.22em}
.equalizer{height:160px;display:flex;gap:.45rem;align-items:end;justify-content:center;padding-top:1.5rem}
.equalizer i{width:7%;background:var(--maroon);border-radius:2px;transform-origin:bottom}
.equalizer i:nth-child(even){background:var(--moss)}
.equalizer i:nth-child(1){height:20%}.equalizer i:nth-child(2){height:70%}.equalizer i:nth-child(3){height:42%}.equalizer i:nth-child(4){height:92%}.equalizer i:nth-child(5){height:55%}.equalizer i:nth-child(6){height:32%}.equalizer i:nth-child(7){height:78%}.equalizer i:nth-child(8){height:48%}
.play-card:hover .equalizer i{animation:eq .9s ease-in-out infinite alternate}
.play-card:hover .equalizer i:nth-child(3n){animation-duration:.7s}.play-card:hover .equalizer i:nth-child(3n+1){animation-duration:1.15s;animation-delay:-.4s}
@keyframes eq{to{transform:scaleY(.45)}}
.cells{height:170px;position:relative}
.cells i{position:absolute;border:1.5px solid var(--ink);border-radius:48% 52% 40% 60%;width:100px;height:100px;left:18%;top:36px;transition:transform 1.4s var(--ease-out),border-radius 1.4s var(--ease-out)}
.cells i:nth-child(2){left:44%;top:58px;width:82px;height:82px;border-color:var(--maroon)}
.cells i:nth-child(3){left:56%;top:12px;width:112px;height:112px}
.play-card:hover .cells i:nth-child(1){transform:translate(8px,-6px) rotate(18deg);border-radius:58% 42% 55% 45%}
.play-card:hover .cells i:nth-child(2){transform:translate(-6px,8px) scale(1.08)}
.play-card:hover .cells i:nth-child(3){transform:translate(-4px,4px) rotate(-14deg);border-radius:40% 60% 52% 48%}
.map{height:170px;display:grid;grid-template-columns:repeat(3,58px);gap:.45rem;justify-content:center;align-content:center;transform:rotate(12deg);transition:transform 1.2s var(--ease-out)}
.map i{height:58px;background:var(--ink);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);transition:background-color .6s var(--ease)}
.map i:nth-child(2),.map i:nth-child(6){background:var(--maroon)}
.map i:nth-child(4){background:var(--brass)}
.play-card:hover .map{transform:rotate(22deg) scale(1.04)}
.play-card:hover .map i:nth-child(3){background:var(--moss)}

/* About */
.about-section{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--oxblood),var(--oxblood-deep));color:var(--on-dark);padding-block:var(--section)}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,7vw,6rem)}
.about-section .eyebrow,.about-grid h2 em{color:var(--gold)}
.about-grid h2{color:var(--on-dark)}
.signature{max-width:22rem;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid var(--on-dark-line);font:italic 300 1.7rem/1.2 var(--display);color:var(--on-dark)}
.signature span{display:block;margin-top:.5rem;font:normal 700 .7rem/1.4 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.about-copy{color:var(--on-dark-muted)}
.about-copy .large{margin-top:0;color:var(--on-dark)}
.degree-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem;margin-top:2rem;border-top:1px solid var(--on-dark-line)}
.degree-grid>div{padding:1.1rem 0;display:grid;gap:.2rem}
.degree-grid span{font:400 1.6rem/1.2 var(--display);color:var(--gold)}
.degree-grid b{font-weight:600;color:var(--on-dark)}
.degree-grid small{font-size:.88rem;color:var(--on-dark-muted)}

/* Contact */
.contact-section>div{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem 2rem;flex-wrap:wrap}
.contact-section h2{font-size:clamp(2.4rem,5vw,4.2rem)}
.contact-button{min-height:3.2rem;padding-inline:1.6rem;font-size:1rem}
.contact-section>p:not(.eyebrow){margin:2rem 0 .1rem;color:var(--muted)}
.contact-section>.email{display:inline-block;margin:0 0 1.4rem;font:400 clamp(1.45rem,3vw,2.2rem)/1.35 var(--display);color:var(--ink);text-decoration:none;background:linear-gradient(var(--brass),var(--brass)) no-repeat 0 100%/100% 1px;transition:background-size .7s var(--ease-out),color .4s;overflow-wrap:anywhere}
.contact-section>.email:hover{color:var(--maroon);background-size:0 1px;background-position:100% 100%}
.contact-section nav{display:flex;gap:.5rem 1.5rem;flex-wrap:wrap}
.contact-section nav a{font-weight:600;color:var(--ink);text-decoration-color:var(--brass)}
.contact-section nav a:hover{color:var(--maroon)}

/* Footer */
footer{background:var(--parchment);border-top:1px solid var(--line);padding-block:2rem}
footer .shell>div{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;flex-wrap:wrap}
footer .shell>div>span{font-size:.88rem;color:var(--muted)}
footer a,footer button{font-size:.88rem;font-weight:600;color:var(--ink)}
footer button{border:1px solid var(--line-strong);background:transparent;border-radius:999px;padding:.45rem .9rem;cursor:pointer;transition:background-color .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}
footer button:hover{border-color:var(--maroon);color:var(--maroon)}
footer button[aria-pressed=true]{background:var(--maroon);border-color:var(--maroon);color:var(--on-dark)}
footer details{max-width:760px;margin:1.5rem 0;color:var(--muted);font-size:.92rem}
footer summary{color:var(--ink);font-weight:600;cursor:pointer}
footer details a{color:var(--ink)}
.copyright{margin:0;font-size:.82rem;color:var(--muted)}

/* Reveal: content is only hidden once the script has confirmed it can show it again */
.reveal{transition:opacity .9s var(--ease-out) var(--reveal-delay,0s),transform .9s var(--ease-out) var(--reveal-delay,0s)}
.reveal-ready .reveal:not(.visible){opacity:0;transform:translateY(22px)}

/* Cross-page transitions in browsers that support them */
@view-transition{navigation:auto}
.site-header{view-transition-name:site-header}
::view-transition-old(root){animation:.3s var(--ease) both vt-out}
::view-transition-new(root){animation:.6s var(--ease-out) both vt-in}
@keyframes vt-out{to{opacity:0;transform:translateY(-10px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(14px)}}

/* Motion preferences */
html.calm{scroll-behavior:auto}
.calm *,.calm *::before,.calm *::after{scroll-behavior:auto!important;animation:none!important;transition-duration:0s!important;transition-delay:0s!important}
.calm .deck-card:hover,.calm .play-card:hover{transform:none}
.calm .case-visual>*{translate:none}
@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  html:not(.motion-ok){scroll-behavior:auto}
  html:not(.motion-ok) *,html:not(.motion-ok) *::before,html:not(.motion-ok) *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}
}

/* Responsive */
@media (max-width:1000px){
  .header-inner{gap:1.25rem}.header-inner nav{gap:1.25rem}
  .hero-grid{grid-template-columns:1fr}
  .signal-grid{grid-template-columns:1fr 1fr}
  .case-feature,.case-wide{grid-template-columns:1fr;grid-template-rows:330px auto}
  .case-wide .case-visual{order:0}
  .deck-grid,.play-grid{grid-template-columns:1fr 1fr}
  .deck-card:last-child,.play-card:last-child{grid-column:1/-1}
  .longtail-grid,.lab-grid,.about-grid{grid-template-columns:1fr}
  .timeline li>div{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.timeline li>div p{grid-column:1/-1}.timeline li>div>a{grid-column:1/-1;justify-self:start}
}
@media (max-width:680px){
  html{scroll-padding-top:1rem}
  .shell{width:calc(100% - 2rem)}
  .site-header{position:relative}
  .scroll-progress{display:none}
  .header-inner{height:auto;flex-wrap:wrap;gap:.35rem 1rem;padding-block:.7rem .3rem}
  .header-cta{margin-left:auto}
  .cta-extra{display:none}
  .header-inner nav{order:3;width:100%;margin-left:0;justify-content:space-between;gap:.5rem;border-top:1px solid var(--line);padding-top:.2rem}
  .dark-top .site-header:not(.is-light) .header-inner nav{border-top-color:var(--on-dark-line)}
  .header-inner nav a{padding-block:.55rem}
  .hero-grid{gap:2.5rem;padding-block:2.5rem 3.25rem}
  .hero-id{margin-bottom:1.3rem}
  .hero h1{font-size:2.6rem}
  .hero-lede{margin:1.1rem 0 1.6rem}
  .hero-actions .button{flex:1 1 9rem}
  .hero-role{margin-top:1.9rem}
  .practice-list li{grid-template-columns:2.1rem minmax(0,1fr);gap:.5rem;padding:1.15rem 0}
  .practice-list h3{font-size:1.3rem}
  .signal-grid{grid-template-columns:1fr;border-inline:0}
  .signal-grid>div{padding:1rem}
  .signal-grid strong{min-width:4.75rem;font-size:2.2rem}
  .section-heading{grid-template-columns:1fr;gap:.9rem}
  .case-grid,.deck-grid,.play-grid{grid-template-columns:1fr}
  .deck-card:last-child,.play-card:last-child{grid-column:auto}
  .case-card,.case-feature,.case-wide{grid-template-rows:260px auto}
  .case-visual{min-height:260px}
  .case-content dl{grid-template-columns:1fr}
  .case-content dl div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .access-flow{inset:2.25rem 0 1rem;transform:scale(.72)}
  .mini-ticker{display:none}
  .quest-line{inset:52px 16px 20px;width:calc(100% - 32px);height:calc(100% - 72px)}
  .tail-chart{inset:56px 24px 28px}
  .terminal{inset:52px 14px 18px;padding:.85rem;font-size:.7rem}
  .deck-preview{min-height:290px}
  .video-poster{min-height:300px;padding:1.25rem}
  .timeline li{grid-template-columns:1fr;gap:.35rem}
  .timeline li>div{grid-template-columns:1fr;gap:.45rem}
  .timeline li>div>a{justify-self:start}
  .timeline time{font-size:1.8rem}
  .path-builder{padding:1rem}
  .path-builder li{grid-template-columns:1.75rem 1fr auto;gap:.6rem;padding:.7rem .25rem}
  .path-builder li em{display:none}
  .builder-foot{flex-wrap:wrap}
  .play-card{min-height:320px}
  .contact-section>div{display:block}
  .contact-button{margin-top:1.5rem}
  .degree-grid{grid-template-columns:1fr}
  footer .shell>div{align-items:flex-start;flex-direction:column}
}
@media print{
  .site-header,.filter-bar,.lab-section,footer button,.skip,.contours{display:none!important}
  .reveal,.line>span,.hero-panel,.practice-list li,.hero-id,.hero-lede,.hero-actions,.hero-role{opacity:1!important;transform:none!important;animation:none!important}
  .hero,.hero-panel,.presentation-section,.about-section,.artifact-hero{background:#fff!important;color:#000!important;box-shadow:none}
  .hero h1,.hero h1 em,.hero-name,.hero-role{color:#000!important}
  .hero-grid{grid-template-columns:1fr}
  .case-card,.deck-card,.play-card{break-inside:avoid}
}

/* Long Tail artifact page */
.artifact-page{background:var(--parchment)}
.artifact-hero{position:relative;isolation:isolate;overflow:hidden;color:var(--on-dark);background:radial-gradient(900px 600px at 90% -10%,rgba(146,35,47,.5),transparent 62%),linear-gradient(180deg,var(--oxblood-deep),var(--oxblood));padding-block:clamp(3.5rem,8vw,6rem)}
.artifact-hero .contours{opacity:.12}
.artifact-hero .eyebrow{color:var(--gold);animation:fade-up .9s var(--ease-out) both}
.artifact-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2.5rem,6vw,5rem);align-items:center}
.artifact-hero h1{font-size:clamp(2.5rem,5vw,4.3rem)}
.artifact-deck{font-size:1.15rem;color:var(--on-dark-muted);max-width:40rem;margin:1.4rem 0 2rem;animation:fade-up .9s var(--ease-out) .4s both}
.artifact-hero .hero-actions{animation:fade-up .9s var(--ease-out) .5s both}
.artifact-mark{position:relative;height:340px;border:1px solid var(--on-dark-line);border-radius:var(--radius);background:rgba(246,237,224,.03);animation:panel-in 1.3s var(--ease-out) .3s both}
.artifact-mark::before,.artifact-mark::after{content:"";position:absolute;left:10%;right:8%;bottom:18%;height:1px;background:rgba(246,237,224,.4)}
.artifact-mark::after{top:12%;left:14%;right:auto;width:1px;height:auto}
.artifact-mark i{position:absolute;left:14%;bottom:18%;width:78%;height:66%;background:linear-gradient(145deg,var(--gold),rgba(217,183,126,.04) 70%);clip-path:polygon(0 0,30% 72%,100% 92%,100% 100%,0 100%);opacity:.85;transform-origin:bottom left;animation:grow 1.6s var(--ease-out) .7s both}
@keyframes grow{from{transform:scale(.2,0);opacity:0}to{transform:none;opacity:.85}}
.artifact-mark span,.artifact-mark b,.artifact-mark small{position:absolute;font-size:.66rem;letter-spacing:.13em;font-weight:700}
.artifact-mark span{left:26%;top:24%}
.artifact-mark b{right:8%;bottom:22%}
.artifact-mark small{right:8%;top:8%;color:var(--gold)}
.artifact-facts{background:var(--sage);border-bottom:1px solid var(--line)}
.artifact-facts .shell{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(43,29,26,.12);border-inline:1px solid rgba(43,29,26,.12)}
.artifact-facts .shell>div{padding:1.4rem;background:var(--sage)}
.artifact-facts span{display:block;margin-bottom:.45rem;font-size:.66rem;font-weight:700;letter-spacing:.14em;color:var(--moss)}
.artifact-facts strong{font:450 1.12rem/1.3 var(--display);color:var(--ink)}
.artifact-watch{padding-block:clamp(4rem,8vw,6.5rem)}
.embed-wrap{position:relative;aspect-ratio:16/9;background:var(--oxblood-deep);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.embed-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.embed-fallback{text-align:center;margin-top:1rem}
.embed-fallback a{font-weight:600;color:var(--ink);text-decoration-color:var(--brass)}
.artifact-reading{padding-bottom:clamp(4rem,8vw,6.5rem)}
.artifact-reading>header{max-width:860px;margin:0 auto 3rem;text-align:center}
.artifact-reading>header h2,.artifact-download h2{font-size:clamp(2rem,3.6vw,3.1rem);line-height:1.08;margin:.4rem 0}
.byline{color:var(--muted)}
.reading-grid{display:grid;grid-template-columns:260px minmax(0,700px);justify-content:center;gap:4rem}
.reading-grid aside{border-top:2px solid var(--maroon);padding-top:1.1rem;height:max-content;position:sticky;top:6rem}
.reading-grid aside strong{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--maroon)}
.reading-grid aside p{color:var(--muted);font-size:.92rem}
.prose{font:400 1.15rem/1.8 var(--display);color:var(--ink)}
.prose h3{font:700 .8rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-top:2.75rem;color:var(--maroon)}
.prose blockquote{margin:2.5rem 0;padding:.5rem 0 .5rem 1.5rem;border-left:2px solid var(--brass);font-size:1.5rem;line-height:1.4;font-style:italic;font-weight:350;color:var(--maroon)}
.artifact-download{background:var(--sand);padding-block:clamp(4rem,8vw,6rem)}
.artifact-download .shell{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem)}
.download-list{border-top:1px solid var(--ink)}
.download-list a{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) 6rem;gap:1rem;align-items:center;padding:1.3rem 0;border-bottom:1px solid rgba(43,29,26,.2);text-decoration:none;color:var(--ink)}
.download-list a::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--maroon);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease-out)}
.download-list a:hover::after{transform:scaleX(1)}
.download-list a:hover strong{color:var(--maroon)}
.download-list span{font-size:.66rem;font-weight:700;letter-spacing:.12em;color:var(--muted)}
.download-list strong{font:450 1.15rem/1.35 var(--display);transition:color .3s}
.download-list b{justify-self:end;font-size:.88rem;font-weight:600;color:var(--maroon)}
@media (max-width:900px){
  .artifact-hero-grid,.artifact-download .shell{grid-template-columns:1fr}
  .artifact-mark{height:260px}
  .artifact-facts .shell{grid-template-columns:1fr 1fr}
  .reading-grid{grid-template-columns:1fr;gap:2rem}
  .reading-grid aside{position:static}
  .download-list a{grid-template-columns:1fr;gap:.35rem}
  .download-list b{justify-self:start}
}
@media (max-width:560px){
  .artifact-mark{height:220px}
  .artifact-facts .shell{grid-template-columns:1fr;border-inline:0}
  .prose{font-size:1.08rem}
  .prose blockquote{font-size:1.3rem}
}
