/* _base.css */

/* ============ TOKENS (become settings rows in D1; admin-editable) ============ */
:root{
  --paper:#FFFFFF; --paper-2:#F5F5F7; --paper-3:#E8E8EC; --sheet:#FFFFFF;
  --chrome:#FFFFFF; --chrome-blur:#FFFFFF; --chrome-rule:rgba(17,17,20,.10); --chrome-ink:#111114; --chrome-ink-2:#57575F;
  --ink:#111114; --ink-2:#57575F; --rule:rgba(17,17,20,.13);
  --red:#C8102E; --red-deep:#9E0B23; --on-red:#FFFFFF; --red-text:#C8102E; --c-green:#1F7A52; --c-amber:#D9892B; --c-blue:#3E5BBF; --ok:#1F7A52; --warn:#B7791F;
  --night:#100F0E; --night-2:#1F1C1A; --night-ink:#EFEBE6; --night-ink-2:#A39B93;
  --f-display:"Bodoni Moda","Bodoni 72",Didot,Georgia,serif;
  --f-text:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --f-deva:"Tiro Devanagari Hindi","Noto Serif Devanagari",serif;
  --t-hero:clamp(3.4rem,1.2rem + 9.2vw,10.5rem);
  --t-1:clamp(2.4rem,1rem + 4.6vw,5.5rem);
  --t-2:clamp(1.7rem,1rem + 2.2vw,3.1rem);
  --t-3:clamp(1.2rem,1rem + .5vw,1.45rem);
  --t-body:1.0625rem; --t-small:.9rem; --t-label:.72rem;
  --s-1:.5rem; --s-2:1rem; --s-3:1.5rem; --s-4:2.5rem; --s-5:4rem; --s-6:clamp(4.5rem,2.5rem + 7vw,10rem);
  --gutter:clamp(16px,4vw,56px); --max:1480px;
  --bar:64px; /* header height = bottom bar height. One value. */
  --r-1:2px; --r-2:8px;
  --shadow-lift:0 28px 50px -24px rgba(22,20,18,.45),0 8px 16px -10px rgba(22,20,18,.3);
  --ease-out:cubic-bezier(.16,1,.3,1); --ease-in:cubic-bezier(.7,0,.84,0); --ease-io:cubic-bezier(.65,0,.35,1);
  --d-fast:180ms; --d-base:420ms; --d-slow:900ms; --stagger:70ms; --rise:28px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#0E0E10; --paper-2:#17171A; --paper-3:#232327; --sheet:#FFFFFF;
  --chrome:#0A0A0C; --chrome-blur:#0A0A0C; --chrome-rule:rgba(240,240,245,.14); --chrome-ink:#F4F4F6; --chrome-ink-2:#A6A6AE;
  --ink:#F1F1F4; --ink-2:#A6A6AE; --rule:rgba(240,240,245,.14);
  --red:#DB2F4A; --red-deep:#B50E2A; --on-red:#FFFFFF; --red-text:#F2667A;
  --night:#1C1A18; --night-2:#2A2623; --night-ink:#EEEAE5; --night-ink-2:#A8A097;
  --shadow-lift:0 28px 50px -24px rgba(0,0,0,.8),0 8px 16px -10px rgba(0,0,0,.6);
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --paper:#0E0E10; --paper-2:#17171A; --paper-3:#232327; --sheet:#FFFFFF;
  --chrome:#0A0A0C; --chrome-blur:#0A0A0C; --chrome-rule:rgba(240,240,245,.14); --chrome-ink:#F4F4F6; --chrome-ink-2:#A6A6AE;
  --ink:#F1F1F4; --ink-2:#A6A6AE; --rule:rgba(240,240,245,.14);
  --red:#DB2F4A; --red-deep:#B50E2A; --on-red:#FFFFFF; --red-text:#F2667A;
  --night:#1C1A18; --night-2:#2A2623; --night-ink:#EEEAE5; --night-ink-2:#A8A097;
  --shadow-lift:0 28px 50px -24px rgba(0,0,0,.8),0 8px 16px -10px rgba(0,0,0,.6);
  color-scheme:dark;
}
html[data-motion="subtle"]{--rise:10px;--stagger:35ms;--d-slow:600ms}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--bar) + 16px)}
html.locked{overflow:hidden}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--t-body)/1.6 var(--f-text);-webkit-font-smoothing:antialiased;overflow-x:clip;padding-top:0}
a{color:inherit}
img{max-width:100%}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.label{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.deva{font-family:var(--f-deva)}
.skip{position:fixed;left:8px;top:-60px;z-index:200;background:var(--ink);color:var(--paper);padding:10px 14px}
.skip:focus{top:8px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.7em;min-height:52px;padding:0 1.4em;border-radius:999px;font:600 1rem/1 var(--f-text);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform var(--d-base) var(--ease-out),background var(--d-fast)}
.btn-red{background:var(--red);color:var(--on-red)}
.btn-red:hover{background:var(--red-deep)}
.btn-ghost{border-color:currentColor;background:transparent;color:inherit}
.btn .ico{transition:transform var(--d-base) var(--ease-out)}
.btn:hover .ico{transform:translateX(4px)}
.ink-link{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0% 1px no-repeat;transition:background-size var(--d-base) var(--ease-out);padding-bottom:2px}
.ink-link:hover{background-size:100% 1px}

/* ============ HEADER ============ */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);background:var(--chrome);color:var(--chrome-ink);border-bottom:1px solid var(--chrome-rule)}

.hdr-row{height:var(--bar);display:flex;align-items:stretch}
.hdr-menu{width:var(--bar);flex:none;background:var(--red);color:var(--on-red);border:0;border-right:1px solid var(--rule);display:grid;place-items:center;cursor:pointer;padding:0}
.burger{display:grid;gap:5px;width:22px}
.burger i{display:block;height:2px;background:currentColor;transition:transform var(--d-base) var(--ease-out)}
.burger i:nth-child(2){width:70%;transform-origin:left}
.hdr-menu:hover .burger i:nth-child(2){transform:scaleX(1.43)}
.logo{display:flex;flex-direction:column;justify-content:center;padding-inline:18px;text-decoration:none;line-height:1}
.logo b{font:600 1.6rem/1 var(--f-display);letter-spacing:-.01em}
.logo b em{color:var(--red);font-style:normal}
.logo small{font:500 .56rem/1 var(--f-mono);letter-spacing:.32em;text-transform:uppercase;margin-top:5px;color:var(--ink-2)}
.hdr-nav{margin-left:auto;display:flex;align-items:stretch}
.hdr-nav>a,.dd>button{display:flex;align-items:center;gap:8px;padding-inline:15px;text-decoration:none;font:500 .95rem/1 var(--f-text);color:var(--ink);background:none;border:0;cursor:pointer;position:relative}
.hdr-nav>a::after,.dd>button::after{content:"";position:absolute;left:15px;right:15px;bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform var(--d-base) var(--ease-out)}
.hdr-nav>a:hover::after,.dd>button:hover::after,.dd>button[aria-expanded="true"]::after{transform:scaleX(1)}
.hdr-nav .ico{width:17px;height:17px;color:var(--ink-2)}
.dd{position:relative;display:flex}
.dd>button .chev{width:14px;height:14px;transition:transform var(--d-fast)}
.dd>button[aria-expanded="true"] .chev{transform:rotate(180deg)}
.dd-panel{position:absolute;top:100%;right:0;width:340px;background:var(--paper);border:1px solid var(--rule);box-shadow:var(--shadow-lift);padding:8px;display:grid;gap:2px}
.dd-panel[hidden]{display:none}
.dd-panel a{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;padding:10px;text-decoration:none;border-radius:var(--r-2)}
.dd-panel a:hover{background:var(--paper-2)}
.dd-panel .tile{width:40px;height:40px;display:grid;place-items:center;background:var(--paper-2);border-radius:var(--r-1)}
.dd-panel a:hover .tile{background:var(--red);color:var(--on-red)}
.dd-panel strong{display:block;font-weight:600;font-size:.95rem}
.dd-panel span.d{display:block;font-size:.8rem;color:var(--ink-2);line-height:1.35}
.hdr-tools{display:flex;margin-left:auto}
@media (min-width:1025px){.hdr-nav~.hdr-tools{margin-left:0}}
.tool{width:var(--bar);display:grid;place-items:center;border:0;border-left:1px solid var(--rule);background:none;color:var(--ink);cursor:pointer;position:relative;text-decoration:none}
.tool:hover{background:var(--paper-2)}
.tool .ico{width:22px;height:22px}
.badge{position:absolute;top:14px;right:13px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--red);color:var(--on-red);font:600 .66rem/17px var(--f-mono);text-align:center}
.dir-pill-unused{position:fixed;z-index:40;top:calc(var(--bar) + env(safe-area-inset-top,0px) + 12px);right:var(--gutter);background:var(--ink);color:var(--paper);font:500 .68rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;padding:9px 12px;border-radius:999px;text-decoration:none}

/* ============ DRAWER ============ */
.drawer{position:fixed;inset:0;z-index:80;background:var(--night);color:var(--night-ink);overflow:auto;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);visibility:hidden;transform:translateX(-100%);transition:transform var(--d-base) var(--ease-io),visibility 0s linear var(--d-base)}
.drawer.open{visibility:visible;transform:none;transition:transform var(--d-base) var(--ease-out),visibility 0s}
.drawer-top{height:var(--bar);display:flex;align-items:stretch;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;background:var(--night);z-index:1}
.drawer-close{width:var(--bar);background:var(--red);color:#fff;border:0;display:grid;place-items:center;cursor:pointer}
.drawer-close .ico{width:24px;height:24px}
.drawer-top .logo small{color:var(--night-ink-2)}
.drawer-top .tool{margin-left:auto;color:var(--night-ink);border-left-color:rgba(255,255,255,.1)}
.drawer-top .tool:hover{background:var(--night-2)}
.drawer-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--s-4) var(--s-5);padding:var(--s-5) var(--gutter);max-width:var(--max);margin-inline:auto}
.dgroup h2{font:500 var(--t-label)/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--night-ink-2);margin:0 0 var(--s-2);padding-bottom:var(--s-1);border-bottom:1px solid rgba(255,255,255,.12)}
.drow{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:center;padding:12px 0;text-decoration:none}
.drow .tile{width:52px;height:52px;display:grid;place-items:center;background:var(--night-2);border:1px solid rgba(255,255,255,.08);transition:background var(--d-fast),transform var(--d-base) var(--ease-out)}
.drow .tile .ico{width:22px;height:22px}
.drow:hover .tile{background:var(--red);transform:rotate(-6deg)}
.drow strong{display:block;font:400 1.65rem/1.05 var(--f-display)}
.drow span.d{display:block;font-size:.85rem;color:var(--night-ink-2);margin-top:3px}
.drawer-foot{padding:var(--s-3) var(--gutter) var(--s-5);max-width:var(--max);margin-inline:auto;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-4);color:var(--night-ink-2);font-size:.9rem}
.motion .drawer.open .drow,.motion .drawer.open .dgroup h2{animation:rise var(--d-slow) var(--ease-out) both;animation-delay:calc(var(--i,0) * 45ms + 140ms)}
@keyframes rise{from{opacity:0;transform:translateY(var(--rise))}to{opacity:1;transform:none}}

/* ============ HERO ============ */
.hero{position:relative;min-height:100vh;min-height:100svh;display:grid;grid-template-rows:1fr auto;padding-top:calc(var(--bar) + env(safe-area-inset-top,0px));overflow:hidden;isolation:isolate}
@supports (height:100dvh){.hero{min-height:100dvh}}
.hero-canvas,.hero-poster{position:absolute;inset:0;z-index:-1}
.hero-canvas{width:100%;height:100%;opacity:0;transition:opacity 1.4s var(--ease-out)}
.hero--live .hero-canvas{opacity:1}
.hero-poster{pointer-events:none;overflow:hidden;transition:opacity 1s var(--ease-out)}
.hero-poster span{position:absolute;left:73%;top:44%;transform:translate(-50%,-50%);font:italic 700 min(44vw,84svh)/1 var(--f-display);color:var(--paper-2)}
.hero--live .hero-poster{opacity:0}
.hero-copy{align-self:end;width:100%;max-width:var(--max);margin-inline:auto;padding:var(--s-5) var(--gutter) var(--s-4)}
.hero .eyebrow{margin:0 0 var(--s-3);display:flex;align-items:center;gap:12px}
.eyebrow{display:flex;align-items:center;gap:12px}.eyebrow::before{content:"";width:28px;height:1px;background:var(--red)}
.hero h1{font:400 var(--t-hero)/.88 var(--f-display);letter-spacing:-.025em;margin:0 0 var(--s-4)}
.hero h1 em{color:var(--red);font-style:italic}
.split .ln{display:block;overflow:hidden;padding:0 .12em .08em 0;margin-bottom:-.08em}
.split .ln>span{display:inline-block}
.motion .split .ln>span{animation:lineUp 1.1s var(--ease-out) both;animation-delay:calc(var(--i,0) * 110ms + 120ms)}
@keyframes lineUp{from{transform:translateY(108%)}to{transform:none}}
.hero-sub{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-4)}
.hero-sub p{margin:0;max-width:40ch;font-size:clamp(1.05rem,1rem + .35vw,1.3rem);line-height:1.45;color:var(--ink-2)}
.motion .hero-sub{animation:rise var(--d-slow) var(--ease-out) .55s both}
.hero-foot{display:flex;justify-content:space-between;align-items:end;gap:var(--s-2);padding:0 var(--gutter) var(--s-3);max-width:var(--max);width:100%;margin-inline:auto;border-top:0}
.cue{display:flex;align-items:center;gap:12px;text-decoration:none}
.cue i{display:block;width:1px;height:44px;background:var(--rule);position:relative;overflow:hidden}
.cue i::after{content:"";position:absolute;left:0;top:0;width:1px;height:45%;background:var(--red)}
.motion .cue i::after{animation:cue 2.2s var(--ease-io) infinite}
@keyframes cue{from{transform:translateY(-100%)}to{transform:translateY(230%)}}
.regmark{position:absolute;top:calc(var(--bar) + env(safe-area-inset-top,0px) + 60px);left:var(--gutter);width:26px;height:26px;color:var(--ink-2);opacity:.6}

/* ============ SECTIONS ============ */
.sec{padding-block:var(--s-6)}
.sec-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-2) var(--s-3);align-items:end;border-top:1px solid var(--ink);padding-top:var(--s-2);margin-bottom:var(--s-5)}
.sec-head .label{grid-column:1/4;align-self:start}
.sec-head h2{grid-column:4/11;font:400 var(--t-1)/.95 var(--f-display);letter-spacing:-.02em;margin:0}
.sec-head h2 em{color:var(--red)}
.sec-head .aside{grid-column:8/13;justify-self:end;text-align:right;font-size:var(--t-small)}

/* motion: reveal floor. Content is visible unless the motion script has loaded AND confirmed it runs. */
.motion.mo-ready .rv{opacity:0;transform:translateY(var(--rise));transition:opacity var(--d-slow) var(--ease-out),transform var(--d-slow) var(--ease-out);transition-delay:calc(var(--i,0) * var(--stagger))}
.motion.mo-ready .rv.in{opacity:1;transform:none}

/* placeholders: dominant colour + weave, captioned */
.ph{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 28% 18%,color-mix(in srgb,var(--ph,#9C7A64) 62%,#fff) 0%,var(--ph,#9C7A64) 52%,color-mix(in srgb,var(--ph,#9C7A64) 62%,#000) 100%);margin:0}
.ph::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 2px,transparent 2px 10px)}
.ph-cap{position:absolute;left:10px;bottom:10px;right:10px;width:fit-content;max-width:calc(100% - 20px);background:rgba(16,15,14,.74);color:#F4F2EF;padding:5px 8px;font:500 .64rem/1.3 var(--f-mono);letter-spacing:.06em;text-transform:uppercase}

/* marquee */
.mq{border-block:1px solid var(--ink);overflow:hidden;padding-block:1.05rem}
.mq-track{display:flex;width:max-content}
.mq-set{display:flex;align-items:center;flex:none;margin:0;padding:0;list-style:none}
.mq-set li{font:italic 400 clamp(1.5rem,1rem + 2.2vw,2.8rem)/1 var(--f-display);white-space:nowrap;padding-inline:.55em;display:flex;align-items:center;gap:1.1em}
.mq-set li::after{content:"⁂";font-style:normal;color:var(--red);font-size:.7em}
.motion .mq-track.ready{animation:mq var(--mq-dur,40s) linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(calc(-1 * var(--mq-w,0px)))}}

/* intro */
.intro-text{font:400 clamp(1.9rem,1rem + 3.3vw,4.3rem)/1.1 var(--f-display);letter-spacing:-.015em;margin:0 0 var(--s-5);max-width:24ch}
.intro-text em{color:var(--red)}
.inl{display:inline-block;width:2.1em;height:.78em;border-radius:999px;vertical-align:.02em;transition:width var(--d-base) var(--ease-out)}
.intro-text:hover .inl{width:2.5em}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3);margin:0;padding:0}
.facts div{border-top:1px solid var(--rule);padding-top:var(--s-2)}
.facts dt{margin-bottom:6px}
.facts dd{margin:0;font-size:1.05rem;max-width:36ch}
/* ============ CHAPTER: HOW A BOOK GETS MADE ============ */
.chap-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s-5)}
.stage-col{position:relative}
.stage{position:sticky;top:calc(var(--bar) + 5vh);height:calc(100svh - var(--bar) - 10vh);min-height:420px;border-radius:var(--r-2);overflow:hidden;background-color:var(--paper-2);background-image:radial-gradient(var(--rule) 1px,transparent 1.3px);background-size:22px 22px;perspective:1300px;display:grid;place-items:center;--bw:clamp(140px,15vw,210px);--bh:calc(var(--bw) * 1.5);--bt:calc(var(--bw) * .2)}
.stage-meta{position:absolute;left:18px;right:18px;top:16px;display:flex;justify-content:space-between;gap:12px}
.stage-cap{position:absolute;left:18px;right:18px;bottom:16px;margin:0;font:italic 400 1rem/1.3 var(--f-display);color:var(--ink-2)}
.stage-cap b{font:500 var(--t-label)/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;font-style:normal;color:var(--red-text);margin-right:8px}
.obj{position:absolute;left:50%;top:50%;transition:opacity var(--d-slow) var(--ease-out),transform var(--d-slow) var(--ease-out)}
.sheets{width:calc(var(--bw) * 1.08);height:calc(var(--bh) * .95);transform:translate(-50%,-50%)}
.sheet{position:absolute;inset:0;background:var(--sheet);box-shadow:0 10px 24px -14px rgba(0,0,0,.5);padding:14% 12%;display:flex;flex-direction:column;gap:9px}
.sheet.s3{transform:rotate(6deg) translate(10px,6px)}
.sheet.s2{transform:rotate(-4deg) translate(-8px,4px)}
.sheet i{display:block;height:5px;background:rgba(22,20,18,.16);border-radius:2px}
.sheet i:nth-child(3n){width:78%}
.sheet i:nth-child(5n){width:55%}
.sheet i.gap{background:none;height:4px}
.mk{position:absolute;color:#C8102E;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out)}
.mk1{left:12%;top:calc(14% + 28px);width:58%;height:2px;background:#C8102E}
.mk2{right:9%;top:calc(14% + 83px);width:48px;height:22px;border:2px solid #C8102E;border-radius:50%}
.mk3{left:10%;top:calc(14% + 124px);font:italic 600 1.1rem/1 var(--f-display)}
.mk4{right:8%;top:calc(14% + 150px);font:italic 600 1.1rem/1 var(--f-display)}
.book{transform:translate(-50%,-50%) translateY(40px) scale(.85);opacity:0}
.book-body{position:relative;width:var(--bw);height:var(--bh);transform-style:preserve-3d;transform:rotateY(-8deg) rotateX(4deg);transition:transform 1.1s var(--ease-out)}
.book-body>div{position:absolute;backface-visibility:hidden}
.bk-front{inset:0;transform:translateZ(calc(var(--bt) / 2));background:#C8102E;color:#fff;padding:14% 12%;display:flex;flex-direction:column;box-shadow:inset 6px 0 10px -6px rgba(0,0,0,.35)}
.bk-front::before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.35);pointer-events:none}
.bk-kicker{font:500 .55rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.bk-title{font:400 calc(var(--bw) * .19)/.9 var(--f-display);margin-top:auto;letter-spacing:-.02em}
.bk-title em{font-style:italic}
.bk-author{font:500 .62rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;margin-top:14px}
.bk-back{inset:0;transform:rotateY(180deg) translateZ(calc(var(--bt) / 2));background:#9E0B23}
.bk-spine{top:0;height:100%;width:var(--bt);left:calc(50% - var(--bt) / 2);transform:rotateY(-90deg) translateZ(calc(var(--bw) / 2));background:#A70D27;color:#fff;display:flex;align-items:center;justify-content:center}
.bk-spine span{writing-mode:vertical-rl;font:italic 400 .8rem/1 var(--f-display);letter-spacing:.04em;white-space:nowrap}
.bk-pages{top:3px;height:calc(100% - 6px);width:calc(var(--bt) - 4px);left:calc(50% - (var(--bt) - 4px) / 2);transform:rotateY(90deg) translateZ(calc(var(--bw) / 2 - 3px));background:repeating-linear-gradient(90deg,#f3eee6 0 1px,#dcd4c8 1px 2px)}
.shelf{position:absolute;left:10%;right:10%;bottom:17%;height:3px;background:var(--ink);transform:scaleX(0);transition:transform var(--d-slow) var(--ease-out)}
.sb{position:absolute;bottom:3px;width:calc(var(--bt) * .9);opacity:0;transition:opacity var(--d-slow) var(--ease-out),transform var(--d-slow) var(--ease-out)}
.sb1{left:4%;height:calc(var(--bh) * .82);background:#2C3E73;transform:translateX(-30px)}
.sb2{left:calc(4% + var(--bt));height:calc(var(--bh) * .7);background:#E39B2D;transform:translateX(-30px)}
.sb3{right:4%;height:calc(var(--bh) * .9);background:#2F6B5A;transform:translateX(30px) rotate(-6deg);transform-origin:bottom right}
.sb4{right:calc(4% + var(--bt) * 1.1);height:calc(var(--bh) * .76);background:var(--ink);transform:translateX(30px)}
.sticker{position:absolute;top:16%;right:13%;width:92px;height:92px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;text-align:center;font:italic 400 1rem/1 var(--f-display);transform:scale(0) rotate(-40deg);transition:transform .7s cubic-bezier(.34,1.56,.64,1)}
.stage[data-step="1"] .mk{transform:none}
.stage[data-step="1"] .mk2{transition-delay:.15s}.stage[data-step="1"] .mk3{transition-delay:.3s}.stage[data-step="1"] .mk4{transition-delay:.45s}
.stage[data-step="2"] .sheets,.stage[data-step="3"] .sheets,.stage[data-step="4"] .sheets{opacity:0;transform:translate(-50%,-50%) translateY(-50px) rotate(-8deg) scale(.9)}
.stage[data-step="2"] .book,.stage[data-step="3"] .book,.stage[data-step="4"] .book{opacity:1;transform:translate(-50%,-50%)}
.stage[data-step="3"] .book-body{transform:rotateY(42deg) rotateX(8deg)}
.stage[data-step="4"] .book{transform:translate(-50%,-50%) translateY(-4%) scale(.92)}
.stage[data-step="4"] .book-body{transform:rotateY(-22deg) rotateX(3deg)}
.stage[data-step="4"] .shelf{transform:scaleX(1)}
.stage[data-step="4"] .sb{opacity:1;transform:none}
.stage[data-step="4"] .sb3{transform:rotate(-6deg)}
.stage[data-step="4"] .sticker{transform:rotate(-12deg);transition-delay:.35s}
.steps{list-style:none;margin:0;padding:0}
.step{min-height:78svh;display:flex;flex-direction:column;justify-content:center;border-top:1px solid var(--rule);transition:opacity var(--d-base)}
.chap-live .step{opacity:.28}
.chap-live .step.is-on{opacity:1}
.step-n{font:500 var(--t-label)/1 var(--f-mono);letter-spacing:.14em;color:var(--red-text)}
.step h3{font:400 var(--t-2)/1 var(--f-display);letter-spacing:-.015em;margin:.45em 0 .35em}
.step p{max-width:34ch;margin:0;font-size:1.15rem;color:var(--ink-2)}
.step ul{margin:var(--s-3) 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.step li{font:500 .72rem/1 var(--f-mono);letter-spacing:.06em;border:1px solid var(--rule);border-radius:999px;padding:7px 10px}
@media (prefers-reduced-motion:reduce){.obj,.book-body,.shelf,.sb,.sticker,.mk{transition:none!important}}
html[data-motion="off"] .obj,html[data-motion="off"] .book-body,html[data-motion="off"] .shelf,html[data-motion="off"] .sb,html[data-motion="off"] .sticker,html[data-motion="off"] .mk{transition:none!important}

/* ============ BOOKS ============ */
.shelf-row{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(170px,19vw,270px);gap:var(--s-4);overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 0 var(--s-3);margin:0;list-style:none;scrollbar-width:thin;scrollbar-color:var(--ink) transparent}
.bk-card{scroll-snap-align:start}
.bk-card a{text-decoration:none;display:block}
.cover{aspect-ratio:2/3;max-width:100%;position:relative;display:flex;flex-direction:column;padding:12% 11%;color:#fff;box-shadow:inset 7px 0 10px -7px rgba(0,0,0,.4),0 14px 24px -18px rgba(0,0,0,.6);transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base) var(--ease-out);overflow:hidden}
.bk-card a:hover .cover,.bk-card a:focus-visible .cover{transform:translateY(-10px) rotate(-1.5deg);box-shadow:inset 7px 0 10px -7px rgba(0,0,0,.4),var(--shadow-lift)}
.cv-k{font:500 .55rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;opacity:.8}
.cv-t{font:400 clamp(1.3rem,.9rem + 1.3vw,2rem)/.95 var(--f-display);letter-spacing:-.01em;margin-top:auto}
.cv-a{font:500 .58rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;margin-top:12px;opacity:.9}
.cv-1{background:#2C3E73}.cv-1::after{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:#E39B2D;top:12%;right:-18%;mix-blend-mode:screen;opacity:.9}
.cv-2{background:#EDE6DA;color:#161412}.cv-2::after{content:"";position:absolute;left:11%;right:11%;top:30%;height:26%;background:repeating-linear-gradient(0deg,#C8102E 0 3px,transparent 3px 9px)}
.cv-3{background:#2F6B5A}.cv-3 .cv-t{font-style:italic}.cv-3::after{content:"";position:absolute;inset:auto -10% 38% -10%;height:1px;background:#fff;box-shadow:0 12px 0 #fff,0 24px 0 rgba(255,255,255,.5)}
.cv-4{background:#161412}.cv-4::after{content:"9";position:absolute;right:6%;top:-4%;font:italic 700 12rem/1 var(--f-display);color:#C8102E}
.cv-5{background:#E39B2D;color:#161412}.cv-5::after{content:"";position:absolute;left:50%;top:14%;width:46%;aspect-ratio:1;transform:translateX(-50%) rotate(45deg);border:2px solid #161412}
.cv-6{background:#5E2A4B}.cv-6::after{content:"";position:absolute;left:0;right:0;top:0;height:42%;background:linear-gradient(180deg,#8FA3B8,transparent)}
.cover>*{position:relative;z-index:1}
.bk-card h3{font:400 1.25rem/1.15 var(--f-display);margin:var(--s-2) 0 4px}
.bk-card p{margin:0;font-size:.88rem;color:var(--ink-2)}

/* ============ STUDIO ============ */
.bento{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-3)}
.svc{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4);background:var(--paper-2);border-radius:var(--r-2);text-decoration:none;position:relative;overflow:hidden;min-height:220px}
.svc-lg{grid-row:span 3}
.svc .tile{width:52px;height:52px;display:grid;place-items:center;border:1px solid var(--rule);border-radius:50%;transition:transform var(--d-base) var(--ease-out),background var(--d-fast)}
.svc .tile .ico{width:22px;height:22px}
.svc:hover .tile{transform:rotate(-20deg);background:var(--paper)}
.svc h3{font:400 var(--t-2)/1 var(--f-display);margin:auto 0 0;letter-spacing:-.015em}
.svc p{margin:0;max-width:40ch;color:var(--ink-2)}
.svc .more{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem}
.svc .more .ico{transition:transform var(--d-base) var(--ease-out)}
.svc:hover .more .ico{transform:translateX(6px)}
.svc-lg .ph{aspect-ratio:16/10;max-width:100%;border-radius:var(--r-1);margin-block:var(--s-2)}
.svc-red{background:var(--red);color:var(--on-red)}
.svc-red p{color:rgba(255,255,255,.86)}
.svc-red .tile{border-color:rgba(255,255,255,.4)}
.svc-red:hover .tile{background:rgba(255,255,255,.14)}

/* ============ INTERVIEW ============ */
.q-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s-5);align-items:center}
.q-photo{aspect-ratio:4/5;max-width:100%;border-radius:var(--r-1)}
.q blockquote{margin:0}
.q p.big{font:400 clamp(1.8rem,1rem + 2.8vw,3.9rem)/1.08 var(--f-display);letter-spacing:-.015em;margin:var(--s-3) 0;position:relative;text-indent:-.42em}
.q p.big::before{content:"\201C";color:var(--red)}
.q footer{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;color:var(--ink-2)}
.q cite{font-style:normal;font-weight:600;color:var(--ink)}

/* ============ JOURNAL ============ */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-4)}
.card a{text-decoration:none;display:flex;flex-direction:column;gap:10px}
.card .ph{aspect-ratio:3/2;max-width:100%;border-radius:var(--r-1)}
.card .ph::after{content:"";position:absolute;inset:0;background:var(--ink);opacity:0;transition:opacity var(--d-base)}
.card a:hover .ph::after{opacity:.12}
.card h3{font:400 var(--t-3)/1.2 var(--f-display);margin:4px 0 0;font-size:clamp(1.3rem,1rem + .9vw,1.8rem)}
.card p{margin:0;color:var(--ink-2);font-size:.95rem}
.card:nth-child(2){margin-top:var(--s-5)}

/* ============ AUTHORRISE BAND ============ */
.ar-band{background:var(--night);color:var(--night-ink);padding-block:var(--s-6)}
.ar-band .label{color:var(--night-ink-2)}
.ar-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--s-5);align-items:center}
.ar-band h2{font:400 var(--t-1)/.95 var(--f-display);letter-spacing:-.02em;margin:var(--s-2) 0 var(--s-3)}
.ar-band h2 em{color:var(--red)}
.ar-band p{color:var(--night-ink-2);max-width:42ch;margin:0 0 var(--s-4);font-size:1.1rem}
.flow{display:grid;gap:0;margin:0;padding:0;list-style:none;counter-reset:f}
.flow li{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:center;position:relative;padding-block:14px}
.flow li:not(:last-child)::after{content:"";position:absolute;left:31px;top:64px;bottom:-14px;width:1px;background-image:linear-gradient(var(--night-ink-2) 50%,transparent 50%);background-size:1px 8px;opacity:.6}
.motion .flow li:not(:last-child)::after{animation:dash 1.2s linear infinite}
@keyframes dash{to{background-position:0 16px}}
.flow .tile{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--night-2);border:1px solid rgba(255,255,255,.12)}
.flow li:last-child .tile{background:var(--red);border-color:var(--red)}
.flow .tile .ico{width:26px;height:26px}
.flow strong{display:block;font:400 1.6rem/1.1 var(--f-display)}
.flow span.d{color:var(--night-ink-2);font-size:.92rem}
.ar-band .btn-ghost{color:var(--night-ink)}

/* ============ SUBMIT ============ */
.submit{text-align:left}
.submit-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-4);align-items:center;border-top:1px solid var(--ink);padding-top:var(--s-4)}
.submit h2{font:400 clamp(3rem,1rem + 8vw,9.5rem)/.86 var(--f-display);letter-spacing:-.03em;margin:0}
.submit h2 em{color:var(--red)}
.submit p{margin:var(--s-3) 0 0;color:var(--ink-2);max-width:44ch;font-size:1.1rem}
.orb{width:clamp(140px,14vw,190px);aspect-ratio:1;border-radius:50%;background:var(--red);color:var(--on-red);display:grid;place-items:center;text-align:center;text-decoration:none;font:italic 400 1.5rem/1.05 var(--f-display);transition:transform var(--d-base) var(--ease-out),background var(--d-fast)}
.orb:hover{background:var(--red-deep)}

/* ============ FOOTER: see _shell.css ============ */

/* ============ BOTTOM BAR (<=1024px). The only breakpoint for the bar system. ============ */
.bbar{display:none}
.toast{position:fixed;left:50%;bottom:calc(var(--bar) + 24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:999px;font-size:.92rem;opacity:0;pointer-events:none;z-index:95;transition:opacity var(--d-base),transform var(--d-base) var(--ease-out);max-width:calc(100vw - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* cursor */
.cursor{position:fixed;left:0;top:0;z-index:99;pointer-events:none}
.cursor>span{position:absolute;left:0;top:0;transform:translate(-50%,-50%);min-width:10px;height:10px;border-radius:999px;background:var(--red);color:#fff;display:grid;place-items:center;font:500 .66rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;transition:min-width var(--d-base) var(--ease-out),height var(--d-base) var(--ease-out),padding var(--d-base) var(--ease-out),opacity var(--d-fast)}
.cursor.is-link span{min-width:34px;height:34px;opacity:.28}
.cursor.is-label span{height:64px;min-width:64px;padding:0 10px;opacity:1}
.cursor.gone span{opacity:0}

/* _components.css */
/* ================= SITE COMPONENTS (beyond the approved homepage) ================= */
.muted{color:var(--ink-2)}
.center{text-align:center}
.strong{font-weight:600}
.narrow{max-width:880px}
.h1{font:400 var(--t-1)/.95 var(--f-display);letter-spacing:-.02em;margin:.2em 0 .3em}
.h1 em,.h2 em,.h3 em{color:var(--red)}
.h2{font:400 var(--t-2)/1.02 var(--f-display);letter-spacing:-.015em;margin:.3em 0 .5em}
.h3{font:400 clamp(1.35rem,1.1rem + .8vw,1.8rem)/1.1 var(--f-display);margin:0 0 .6em}
.lede{max-width:62ch;color:var(--ink-2);font-size:1.12rem;margin:-1.5rem 0 var(--s-4)}
.sec-tight{padding-block:clamp(3rem,2rem + 4vw,6.5rem)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:var(--red);color:var(--on-red)}
.btn-block{width:100%;justify-content:center}
.btn[disabled],.btn.is-busy{opacity:.6;pointer-events:none}
.linkish{background:none;border:0;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}
kbd{font:500 .8em var(--f-mono);border:1px solid var(--rule);border-bottom-width:2px;border-radius:4px;padding:0 5px}
.ico.flip{transform:scaleX(-1)}
.media{position:relative;margin:0;overflow:hidden;background:var(--paper-2);max-width:100%}
.media img{width:100%;height:100%;object-fit:cover;display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* page hero */
.phero{padding-top:calc(var(--bar) + env(safe-area-inset-top,0px) + clamp(3rem,2rem + 5vw,7rem));padding-bottom:clamp(2rem,1rem + 3vw,4rem)}
.phero h1{font:400 var(--t-1)/.92 var(--f-display);letter-spacing:-.025em;margin:.25em 0 .35em;max-width:18ch}
.phero h1 em{color:var(--red)}
.phero-sub{max-width:58ch;font-size:clamp(1.05rem,1rem + .35vw,1.3rem);line-height:1.5;color:var(--ink-2);margin:0 0 var(--s-3)}
.subtitle{font:italic 400 1.4rem/1.3 var(--f-display);color:var(--ink-2);margin:0 0 1rem}
.byline{color:var(--ink-2);margin:0 0 1.5rem}

/* prose */
.prose{font-size:1.1rem;line-height:1.75;max-width:68ch}
.prose h2{font:400 var(--t-2)/1.1 var(--f-display);margin:2em 0 .5em}
.prose h3{font:400 1.5rem/1.2 var(--f-display);margin:1.6em 0 .4em}
.prose a{color:var(--red-text);text-underline-offset:3px}
.prose img{height:auto;border-radius:var(--r-1)}
.prose blockquote,.pull{margin:1.8em 0;padding-left:1.2em;border-left:3px solid var(--red);font:italic 400 1.5rem/1.35 var(--f-display)}
.prose ul,.prose ol{padding-left:1.3em}
.post-body{margin-block:var(--s-4)}
.post-foot{color:var(--ink-2);font-size:.9rem;border-top:1px solid var(--rule);padding-top:var(--s-2);margin-bottom:var(--s-6)}

/* split, values, process, includes */
.split-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-5);align-items:center}
.values{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3);counter-reset:v}
.values li{border-top:1px solid var(--ink);padding-top:var(--s-2);counter-increment:v}
.values li::before{content:counter(v,upper-roman);font:italic 400 1.1rem var(--f-display);color:var(--red)}
.values h3{font:400 1.6rem/1.1 var(--f-display);margin:.4em 0}
.values p{margin:0;color:var(--ink-2)}
.process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--s-3)}
.process li{position:relative}
.p-n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--red);color:var(--on-red);font:600 .95rem var(--f-mono)}
.process h3{font:400 1.4rem/1.1 var(--f-display);margin:.6em 0 .3em}
.process p{margin:0;color:var(--ink-2)}
.process-compact{grid-template-columns:1fr;gap:var(--s-2)}
.process-compact li{display:grid;grid-template-columns:40px 1fr;column-gap:14px}
.process-compact h3{margin:0;align-self:center}
.process-compact p{grid-column:2}
.includes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--s-2)}
.includes li{display:flex;gap:12px;align-items:flex-start;background:var(--paper-2);padding:18px;border-radius:var(--r-2);font-size:1.05rem}
.includes .ico{color:var(--red);margin-top:3px}
.svc-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-5);align-items:end}

/* empty, pager */
.empty{border:1px dashed var(--rule);border-radius:var(--r-2);padding:clamp(2rem,1rem + 5vw,5rem) var(--s-3);text-align:center;display:grid;justify-items:center;gap:10px}
.empty-glyph{font:400 3rem/1 var(--f-display);color:var(--red)}
.empty h2{font:400 var(--t-2)/1.05 var(--f-display);margin:0}
.empty h2 em{color:var(--red)}
.empty p{margin:0 0 10px;color:var(--ink-2);max-width:46ch}
.pager{display:flex;justify-content:space-between;align-items:center;gap:var(--s-2);margin-top:var(--s-5);border-top:1px solid var(--rule);padding-top:var(--s-2)}
.pager a{text-decoration:none;display:inline-flex;gap:8px;align-items:center;font-weight:600}
.pager-nums{display:flex;gap:6px;flex-wrap:wrap}
.pager-nums a,.pager-nums span{min-width:38px;height:38px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--rule)}
.pager-nums span{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* grids for collections */
.book-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:var(--s-4) var(--s-3)}
.cover.has-img{padding:0}
.cover.has-img img{width:100%;height:100%;object-fit:cover;display:block}
.cards-flat .card:nth-child(2){margin-top:0}
.author-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:var(--s-3)}
.author-card{text-decoration:none;display:grid;gap:8px}
.author-card .ph,.author-card .media{border-radius:50%}
.author-card h3{font:400 1.35rem/1.1 var(--f-display);margin:6px 0 0}
.author-card p{margin:0;color:var(--ink-2);font-size:.9rem}
.author-head{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:var(--s-5);align-items:center}
.author-photo{border-radius:50%}
.book-grid-detail{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--s-5);padding-top:calc(var(--bar) + 4rem);padding-bottom:var(--s-6);align-items:start}
.book-cover .cover{box-shadow:var(--shadow-lift)}
.book-cover .cv-t{font-size:clamp(1.8rem,1rem + 2vw,3rem)}
.buy{display:flex;flex-wrap:wrap;gap:10px;margin:var(--s-3) 0}
.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s-2);margin:var(--s-4) 0 0;border-top:1px solid var(--rule);padding-top:var(--s-3)}
.specs dd{margin:4px 0 0;font-variant-numeric:tabular-nums}

/* forms */
.form{display:grid;gap:var(--s-3)}
.card-form{background:var(--paper-2);border-radius:var(--r-2);padding:clamp(1.25rem,1rem + 2vw,2.5rem)}
.field{display:grid;gap:6px;min-width:0}
.field label{font-weight:600;font-size:.92rem}
.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}
input:not([type=radio]):not([type=checkbox]):not([type=file]),select,textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:10px;padding:13px 14px;min-height:50px;transition:border-color var(--d-fast),box-shadow var(--d-fast)}
textarea{resize:vertical;min-height:120px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 22%,transparent)}
input[type=file]{font:inherit;font-size:.9rem;max-width:100%}
input[type=file]::file-selector-button{font:600 .9rem var(--f-text);border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:999px;padding:9px 14px;margin-right:12px;cursor:pointer}
.hint{margin:0;font-size:.85rem;color:var(--ink-2)}
.check{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:.95rem}
.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--red);flex:none}
.form-msg{margin:0;font-weight:600;min-height:1.2em}
.form-msg.is-ok{color:var(--ok)}
.form-msg.is-err{color:var(--red-text)}
.note{background:var(--paper);border-left:3px solid var(--red);padding:12px 14px;margin:0;font-size:.95rem}
.note-card{background:var(--paper-2);border-radius:var(--r-2);padding:var(--s-3);margin:var(--s-3) 0}
.ship{font-style:normal;font:500 1rem/1.6 var(--f-mono);background:var(--paper);padding:14px;border-radius:8px;margin:8px 0}
.search-form{display:flex;gap:10px;margin-top:var(--s-3)}
.search-form input{flex:1}
.results{list-style:none;margin:var(--s-2) 0 0;padding:0;display:grid;gap:4px}
.results a{display:block;text-decoration:none;padding:var(--s-2) 0;border-bottom:1px solid var(--rule)}
.results h2{font:400 1.5rem/1.2 var(--f-display);margin:4px 0}
.results p{margin:0;color:var(--ink-2)}
.results mark{background:color-mix(in srgb,var(--red) 18%,transparent);color:inherit;padding:0 2px}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ticks li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.ticks .ico{color:var(--ok);margin-top:2px}
.news{margin-top:var(--s-3);display:grid;gap:8px;max-width:420px}
.news-row{display:flex;gap:8px}
.news-row input{min-width:0}

/* contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--s-4);align-items:start}
.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}
.contact-cards.cc-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:var(--s-4)}
.ccard{display:flex;flex-direction:column;gap:6px;background:var(--paper-2);border-radius:var(--r-2);padding:var(--s-3);text-decoration:none;transition:transform var(--d-base) var(--ease-out)}
a.ccard:hover{transform:translateY(-4px)}
.ccard .tile{width:46px;height:46px;border-radius:50%;background:var(--paper);display:grid;place-items:center;margin-bottom:8px}
a.ccard:hover .tile{background:var(--red);color:var(--on-red)}
.ccard strong{font:400 1.4rem/1.15 var(--f-display);overflow-wrap:anywhere}
.ccard span:not(.tile):not(.label),.ccard address{color:var(--ink-2);font-size:.95rem;font-style:normal}
.ccard small{margin-top:auto;padding-top:8px;font:500 .72rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ok)}
.submit-form-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s-5);align-items:start}
.submit-aside{position:sticky;top:calc(var(--bar) + 2rem)}
.quote-card{display:grid;grid-template-columns:minmax(0,2fr) auto;gap:var(--s-4);align-items:center;background:var(--paper-2);border-radius:var(--r-2);padding:clamp(1.5rem,1rem + 3vw,3rem)}
.quote-card h3{font:400 var(--t-2)/1.05 var(--f-display);margin:0 0 .4em}
.quote-card p{margin:0;color:var(--ink-2);max-width:56ch}
.quote-actions{display:flex;flex-wrap:wrap;gap:10px}

/* FAQ */
.faq{display:grid;border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:var(--s-2);align-items:center;padding:20px 0;font:400 clamp(1.2rem,1rem + .7vw,1.6rem)/1.2 var(--f-display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ico{transition:transform var(--d-base) var(--ease-out);flex:none}
.faq details[open] summary .ico{transform:rotate(180deg)}
.faq-a p{margin:0 0 22px;color:var(--ink-2);max-width:68ch;font-size:1.05rem}

/* plans */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:var(--s-2);align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--paper-2);border:1px solid transparent;border-radius:var(--r-2);padding:var(--s-3)}
.plan-best{background:var(--paper);border-color:var(--ink);box-shadow:var(--shadow-lift)}
.plan-badge{position:absolute;top:-11px;left:var(--s-3);background:var(--red);color:var(--on-red);font:600 .66rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;padding:6px 9px;border-radius:999px}
.plan-name{margin:0;display:grid;gap:4px}
.plan-title{font:400 1.5rem/1.1 var(--f-display)}
.plan-price{margin:0;display:flex;align-items:baseline;gap:10px;font-variant-numeric:tabular-nums}
.plan-price strong{font:400 clamp(2.2rem,1.6rem + 1.5vw,2.9rem)/1 var(--f-display);letter-spacing:-.02em}
.plan-price strong.quote{font-size:1.6rem}
.plan-price s{color:var(--ink-2);font-size:1rem}
.plan-tag{margin:0;font:italic 400 1.1rem/1.3 var(--f-display);color:var(--ink-2)}
.plan-feats{list-style:none;margin:6px 0 0;padding:12px 0 0;border-top:1px solid var(--rule);display:grid;gap:9px}
.plan-feats li{display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;font-size:.95rem}
.plan-feats .ico{width:16px;height:16px;color:var(--ok)}
.plan-feats b{font:600 .95rem var(--f-mono)}
.plan-extras{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:.88rem;color:var(--ink-2)}
.plan-extras li::before{content:"+ ";color:var(--red)}
.plan-meta{margin:0;display:flex;gap:8px;align-items:center;font-size:.85rem;color:var(--ink-2)}
.plan-meta .ico{width:16px;height:16px}
.plan-save{margin:0;font:600 .8rem var(--f-mono);color:var(--ok)}
.plan-cta{margin-top:auto;justify-content:center}
.free-strip{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s-2);border:1px dashed var(--ink);border-radius:var(--r-2);padding:16px 20px;margin-bottom:var(--s-4)}
.free-strip div{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.free-strip strong{font:400 2rem/1 var(--f-display)}
.free-strip span:last-child{color:var(--ink-2)}
/* One line, always. In a narrow column this used to wrap into three ragged columns. */
.slots{display:inline-flex;align-items:center;gap:.45em;margin:0;white-space:nowrap;font-size:.84rem;line-height:1;background:color-mix(in srgb,var(--red) 9%,transparent);color:var(--red-text);padding:9px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--red) 18%,transparent)}
.slots .ico{width:15px;height:15px;flex:none}
.slots b{font-weight:600}
.slots span{color:color-mix(in srgb,var(--red-text) 78%,transparent)}
@media (max-width:420px){.slots{font-size:.76rem;padding:8px 11px}}

/* stars, stats, charts, tracker */
.stars{color:#E39B2D;letter-spacing:2px;font-size:1rem}
.stars-off{color:var(--rule)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:var(--s-2);margin:0}
.stats>div{border-top:1px solid var(--ink);padding-top:var(--s-2);container-type:inline-size;min-width:0}
/* sized against the cell it lives in, so a long number shrinks instead of spilling out */
.stats dd{margin:6px 0 0;min-width:0;font:400 clamp(1.9rem,24cqi,4rem)/1 var(--f-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;overflow:hidden}
.stats dd small{font-size:.5em;color:var(--red);margin-left:4px}
.charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2)}
.chart-card{margin:0;background:var(--paper-2);border-radius:var(--r-2);padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}
.chart-card h3{font:400 1.4rem/1.15 var(--f-display);margin:0}
.chart-card figcaption p{margin:4px 0 0;color:var(--ink-2);font-size:.88rem}
.chart-note{margin:auto 0 0;font-size:.78rem;color:var(--ink-2);line-height:1.45}
.bars{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;height:210px;align-items:end}
.bars li{display:grid;grid-template-rows:auto 1fr auto;height:100%;text-align:center;gap:6px}
.bars .bar{align-self:end;height:var(--h);background:var(--ink-2);opacity:.35;border-radius:4px 4px 0 0;transform-origin:bottom}
.bars li.is-now .bar{background:var(--red);opacity:1}
.bar-v{font:500 .78rem var(--f-mono);align-self:end}
.bar-l{font-size:.78rem;color:var(--ink-2)}
.motion.mo-ready .rv .bars .bar,.motion.mo-ready .chart-card .bar{transform:scaleY(0);transition:transform 1s var(--ease-out)}
.motion.mo-ready .in .bars .bar,.motion.mo-ready .chart-card.in .bar{transform:none}
.donut{display:grid;grid-template-columns:minmax(0,130px) 1fr;gap:var(--s-2);align-items:center}
.donut svg{width:100%;height:auto}
.donut ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.9rem}
.donut li{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center}
.donut i{width:12px;height:12px;border-radius:3px}
.donut b{font:500 .85rem var(--f-mono)}
.line{width:100%;height:auto;overflow:visible}
.line .grid{stroke:var(--rule);stroke-width:1}
.line .area{fill:color-mix(in srgb,var(--red) 12%,transparent)}
.line .stroke{fill:none;stroke:var(--red);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.line .dot{fill:var(--red)}
.line .val{font:600 12px var(--f-mono);fill:var(--ink)}
.line .lbl{font:500 10px var(--f-mono);fill:var(--ink-2)}
.motion.mo-ready .chart-card .stroke{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease-out) .2s}
.motion.mo-ready .chart-card.in .stroke{stroke-dashoffset:0}
.tracker{list-style:none;margin:var(--s-2) 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;counter-reset:t}
.tracker li{position:relative;display:grid;justify-items:center;text-align:center;gap:10px;padding:0 6px}
.tracker li::before{content:"";position:absolute;top:21px;left:calc(-50% + 22px);right:calc(50% + 22px);height:2px;background:var(--rule)}
.tracker li:first-child::before{display:none}
.tracker li.is-done::before,.tracker li.is-now::before{background:var(--red)}
.tk-dot{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--rule);background:var(--paper);font:600 .9rem var(--f-mono);position:relative;z-index:1}
.tracker li.is-done .tk-dot{background:var(--red);border-color:var(--red);color:var(--on-red)}
.tracker li.is-now .tk-dot{border-color:var(--red);color:var(--red-text);box-shadow:0 0 0 6px color-mix(in srgb,var(--red) 15%,transparent)}
.motion .tracker li.is-now .tk-dot{animation:pulse 2s var(--ease-io) infinite}
@keyframes pulse{50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--red) 5%,transparent)}}
.tracker strong{display:block;font-weight:600;font-size:.95rem}
.tracker small{display:block;color:var(--ink-2);font-size:.8rem}

/* AuthorRise */
.subnav{position:fixed;left:0;right:0;top:calc(var(--bar) + env(safe-area-inset-top,0px));z-index:45;background:var(--ink);color:var(--paper);font-size:.88rem}
.subnav-row{display:flex;align-items:center;gap:4px;height:44px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.subnav-row::-webkit-scrollbar{display:none}
.subnav a{color:inherit;text-decoration:none;padding:6px 12px;border-radius:999px;opacity:.8}
.subnav a:hover,.subnav a.is-on{opacity:1;background:rgba(255,255,255,.12)}
.subnav-brand{display:inline-flex;align-items:center;gap:8px;font:italic 400 1.05rem var(--f-display);margin-right:10px;color:#F2667A}
.subnav-brand .ico{width:18px;height:18px}
.ar-hero{padding-top:calc(var(--bar) + 44px + env(safe-area-inset-top,0px) + clamp(2.5rem,1.5rem + 4vw,5.5rem));padding-bottom:var(--s-5);overflow:hidden}
.ar-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-5);align-items:center}
.ar-hero h1{font:400 clamp(2.8rem,1.2rem + 5.6vw,7rem)/.9 var(--f-display);letter-spacing:-.03em;margin:.3em 0}
.ar-hero h1 em{color:var(--red)}
.ar-tagline{font:italic 400 clamp(1.2rem,1rem + .7vw,1.6rem)/1.3 var(--f-display);margin:0 0 .6em}
.ar-sub{max-width:54ch;color:var(--ink-2);font-size:1.1rem;margin:0 0 var(--s-3)}
.ar-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--s-3)}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{display:inline-flex;gap:6px;align-items:center;font-size:.85rem;border:1px solid var(--rule);border-radius:999px;padding:6px 12px}
.chips .ico{width:16px;height:16px;color:var(--ok)}
.ar-hero-art{position:relative;min-height:460px}
.ar-photo{position:relative;margin:0 0 0 auto;width:min(100%,380px);aspect-ratio:4/5;border-radius:var(--r-2);overflow:hidden;background:var(--paper-2);box-shadow:var(--shadow-lift);transform:rotate(2deg)}
.ar-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 28%;display:block}
.ar-photo figcaption{position:absolute;left:12px;bottom:12px;background:rgba(16,15,14,.72);color:#F4F2EF;padding:5px 8px}
.ar-photo-tag{position:absolute;top:12px;right:12px;background:var(--red);color:#fff;font:600 .66rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;padding:7px 9px;border-radius:999px}
.rcard{position:absolute;margin:0;width:min(280px,72%);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-2);padding:14px;box-shadow:var(--shadow-lift);display:grid;gap:6px}
/* The cards hang off the lower left of the photo. They used to sit at the top, which is where
   the reader's face is, so the one thing the picture is for was the one thing you could not see. */
.rcard-0{left:-6%;top:42%;transform:rotate(-3deg)}
.rcard-1{left:2%;bottom:-3%;transform:rotate(2deg)}
.motion .rcard-0{animation:bob 6s var(--ease-io) infinite}
.motion .rcard-1{animation:bob 7s var(--ease-io) -2s infinite}
@keyframes bob{50%{translate:0 -8px}}
.rcard-top,.tcard-top{display:flex;gap:10px;align-items:center}
.rcard-top img,.tcard-top img{border-radius:50%;object-fit:cover;flex:none;background:var(--paper-2)}
.rcard figcaption,.tcard figcaption{display:grid;line-height:1.2}
.rcard figcaption span,.tcard figcaption span{font-size:.8rem;color:var(--ink-2)}
.rcard blockquote,.tcard blockquote{margin:0;font:italic 400 1.1rem/1.3 var(--f-display)}
.ar-stats{padding-block:var(--s-4) var(--s-5)}
.press-title{margin:var(--s-5) 0 var(--s-2);text-align:center}
.mq-logos{border-color:var(--rule)}
.mq-logos li::after{content:none}
.mq-logos img{height:28px;width:auto;filter:grayscale(1);opacity:.7;display:block}
:root[data-theme="dark"] .mq-logos img{filter:grayscale(1) invert(1)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .mq-logos img{filter:grayscale(1) invert(1)}}
.truth{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3)}
.truth-card{display:flex;flex-direction:column;gap:10px}
.truth-card .media{border-radius:var(--r-2)}
.truth-card h3{font:400 1.7rem/1.1 var(--f-display);margin:0}
.truth-card p{margin:0;color:var(--ink-2)}
.ar-proof{background:var(--night);color:var(--night-ink);padding-block:var(--s-6)}
.ar-proof .label{color:var(--night-ink-2)}
.ar-proof .sec-head{border-color:var(--night-ink)}
.proof-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--s-5);align-items:start}
.notice{margin:0;background:var(--night-2);border-radius:var(--r-2);overflow:hidden;transform:rotate(-1.5deg)}
.notice img{width:100%;height:auto;display:block}
.notice figcaption{padding:12px 14px;font-size:.85rem;color:var(--night-ink-2);display:grid;gap:4px}
.notice figcaption .label{color:#F2667A}
.proof-sub{font-size:1.15rem;color:var(--night-ink-2);max-width:60ch;margin:0 0 var(--s-4)}
.vs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:var(--s-2);align-items:center}
.vs-col{border-radius:var(--r-2);padding:var(--s-3);height:100%}
.vs-risk{background:rgba(232,54,79,.12);border:1px solid rgba(232,54,79,.35)}
.vs-safe{background:rgba(31,122,82,.16);border:1px solid rgba(62,180,120,.35)}
.vs-col h3{font:400 1.5rem/1.1 var(--f-display);margin:.3em 0 .6em}
.vs-col ol{margin:0;padding-left:1.2em;display:grid;gap:8px;font-size:.95rem}
.vs-risk .label{color:#F2667A}
.vs-safe .label{color:#6FD3A0}
.vs-mark{font:italic 700 1.6rem var(--f-display);color:var(--night-ink-2)}
.proof-close{max-width:70ch;color:var(--night-ink-2);margin:var(--s-4) 0 var(--s-3);font-size:1.05rem}
.routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);margin-bottom:var(--s-4)}
.route{position:relative;background:var(--paper-2);border-radius:var(--r-2);padding:var(--s-3);display:grid;gap:8px;align-content:start}
.route-best{background:var(--paper);outline:1px solid var(--ink)}
.route .tile{width:46px;height:46px;border-radius:50%;border:1px solid var(--rule);display:grid;place-items:center}
.route h3{font:400 1.6rem/1.1 var(--f-display);margin:0}
.route ul{margin:0;padding-left:1.1em;color:var(--ink-2)}
.route-who{margin:0;font:600 .78rem var(--f-mono);text-transform:uppercase;letter-spacing:.06em}
.ar-love .sec-head{margin-bottom:var(--s-3)}
.mq-cards{border:0;padding-block:10px}
.mq-cards .mq-set{display:flex;gap:var(--s-2);padding-right:var(--s-2)}
.tcard{margin:0;width:320px;flex:none;background:var(--paper-2);border-radius:var(--r-2);padding:18px;display:grid;gap:8px;white-space:normal}
.mq-rev .mq-track{animation-direction:reverse!important}
.promise-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-4);align-items:start}
.promise{background:var(--ink);color:var(--paper);border-radius:var(--r-2);padding:clamp(1.5rem,1rem + 2vw,2.5rem);display:grid;gap:12px}
.promise .label{color:#F2667A}
.promise h3{font:400 var(--t-2)/1.05 var(--f-display);margin:0}
.promise p{margin:0;opacity:.8}
.promise .ticks .ico{color:#6FD3A0}
.ar-final{text-align:center;display:grid;justify-items:center}
.ar-final .wrap{display:grid;justify-items:center;gap:var(--s-2)}
.ar-final .giant{font:400 clamp(2.6rem,1rem + 6vw,7rem)/.92 var(--f-display);letter-spacing:-.03em;margin:.2em 0}
.ar-final .giant em{color:var(--red)}
.ar-final p{max-width:52ch;color:var(--ink-2);margin:0}
.ar-final .ar-actions{justify-content:center;margin:var(--s-2) 0 0}
.giant em{color:var(--red)}
.submit .giant{font:400 clamp(3rem,1rem + 8vw,9.5rem)/.86 var(--f-display);letter-spacing:-.03em;margin:1rem 0 0}

/* checkout */
.checkout{padding-top:calc(var(--bar) + env(safe-area-inset-top,0px) + 3rem);padding-bottom:var(--s-6)}
.checkout-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:var(--s-5);align-items:start}
.co-steps{list-style:none;margin:var(--s-3) 0 0;padding:0;display:grid;gap:var(--s-3)}
.co-step{background:var(--paper-2);border-radius:var(--r-2);padding:clamp(1.2rem,1rem + 1.5vw,2rem);display:grid;gap:var(--s-2)}
.co-step h2{display:flex;align-items:center;gap:12px;margin:0}
.co-n{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:600 .9rem var(--f-mono);flex:none}
.plan-radios,.route-radios{display:grid;gap:8px}
.plan-radio,.route-radio{position:relative;display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color var(--d-fast)}
.plan-radio:has(input:checked),.route-radio:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.plan-radio input,.route-radio input{width:20px;height:20px;accent-color:var(--red);margin:0}
.pr-body,.route-radio>span:not(.plan-badge){display:grid;line-height:1.3}
.pr-body span,.route-radio>span>span{font-size:.85rem;color:var(--ink-2)}
.pr-price{font:600 1.05rem var(--f-mono);text-align:right;display:grid}
.pr-price s{font-size:.75rem;color:var(--ink-2);font-weight:400}
.route-radio .plan-badge{position:static}
.route-radio.is-disabled{opacity:.45;pointer-events:none}
.route-panel{display:grid;gap:var(--s-2)}
.co-summary{position:sticky;top:calc(var(--bar) + 1.5rem)}
.co-card{background:var(--paper);border:1px solid var(--ink);border-radius:var(--r-2);padding:var(--s-3);display:grid;gap:12px}
.sum{margin:0;display:grid;gap:8px}
.sum>div{display:flex;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}
.sum dt{color:var(--ink-2)}
.sum dd{margin:0;font-weight:600;text-align:right}
.sum-total{border-top:1px solid var(--rule);padding-top:10px;margin-top:4px}
.sum-total dd{font:400 2rem/1 var(--f-display)}
.fine{margin:0;font-size:.8rem;color:var(--ink-2)}

/* account */
.order-card{background:var(--paper-2);border-radius:var(--r-2);padding:var(--s-3);margin-bottom:var(--s-2);display:grid;gap:var(--s-2)}
.order-card header,.order-card footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.order-card h2{margin:4px 0 0}
.order-card footer{border-top:1px solid var(--rule);padding-top:12px;font-weight:600}
.pill{display:inline-block;font:600 .7rem/1 var(--f-mono);text-transform:uppercase;letter-spacing:.06em;padding:6px 10px;border-radius:999px;background:var(--paper-3);color:var(--ink)}
.pill-paid,.pill-confirmed,.pill-completed{background:color-mix(in srgb,var(--ok) 20%,transparent);color:var(--ok)}
.pill-pending_payment,.pill-awaiting_payment{background:color-mix(in srgb,var(--warn) 22%,transparent);color:var(--warn)}
.pill-cancelled,.pill-refunded{background:color-mix(in srgb,var(--red) 16%,transparent);color:var(--red-text)}
.tickets{list-style:none;margin:0 0 var(--s-3);padding:0;display:grid;gap:6px}
.tickets li{display:flex;flex-wrap:wrap;gap:12px;align-items:center;background:var(--paper-2);padding:12px 14px;border-radius:10px}
.upload label{cursor:pointer}

/* errors */
.err{padding-top:calc(var(--bar) + 5rem);padding-bottom:var(--s-6);position:relative;overflow:hidden}
.err-code{position:absolute;right:-2vw;top:calc(var(--bar) + 1rem);margin:0;font:italic 700 clamp(8rem,30vw,26rem)/1 var(--f-display);color:var(--paper-2);z-index:-1}
.err-links{list-style:none;margin:var(--s-4) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px 24px;font-weight:600}

/* cart */
.cart-item{display:grid;grid-template-columns:1fr auto;gap:var(--s-2);align-items:center;background:var(--paper-2);border-radius:var(--r-2);padding:var(--s-3)}
.cart-item h2{margin:0}
.cart-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s-3)}

/* bottom bar items: see _shell.css */

/* _auth.css */
/* Passkeys, the lock screen and the device list */
.pk-first{display:grid;gap:10px;margin-bottom:var(--s-3)}
.pk-first .btn{display:flex;align-items:center;justify-content:center;gap:.6em}
.or{display:flex;align-items:center;gap:12px;color:var(--ink-2);font-size:var(--t-small);margin:6px 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--rule)}
.lockwrap{position:fixed;inset:0;z-index:150;display:grid;place-items:center;padding:24px;background:var(--paper);background-image:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--red) 10%,transparent),transparent 60%)}
.lock{width:min(420px,100%);text-align:center;display:grid;gap:12px}
.lock h2{font:400 var(--t-2)/1.1 var(--f-display);margin:0}
.lock h2 em{font-style:italic;color:var(--red-text)}
.lock-sub{color:var(--ink-2);margin:0}
.lock-main{position:relative;padding-block:16px;font-size:1.02rem}
.lock-print{display:inline-block;width:26px;height:26px;margin-right:.6em;vertical-align:-6px;border-radius:50%;
  background:radial-gradient(circle at 50% 60%,transparent 0 4px,currentColor 4px 5px,transparent 5px 8px,currentColor 8px 9px,transparent 9px 12px,currentColor 12px 13px,transparent 13px)}
.lock-form{display:grid;gap:8px;text-align:left}
.lock-form label{font:500 var(--t-label)/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.lock-form input,.lock-code input{padding:12px 14px;border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper-2);color:inherit;font:inherit;width:100%}
.lock-code{display:grid;gap:8px;text-align:left}
.lock-out{margin-top:8px;color:var(--ink-2)}
.pk-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.pk-list li{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--rule);border-radius:var(--r-2);padding:12px 14px;background:var(--paper-2)}
.pk-list small{display:block;color:var(--ink-2);font-size:var(--t-small)}
.pk-tools{display:flex;gap:10px}
.pk-log{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:var(--t-small)}
.pk-log li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--rule);padding:6px 0;color:var(--ink-2)}

/* _catalog.css */
/* ============ CATALOG: books, authors, careers, trust ============ */
.phero-cat{padding-top:calc(var(--bar) + var(--s-5))}
.cat-kpis{display:flex;flex-wrap:wrap;gap:var(--s-4);margin-top:var(--s-3)}
.cat-kpis dt{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.cat-kpis dd{margin:0;font:400 clamp(1.8rem,1.2rem + 1.8vw,2.8rem)/1 var(--f-display)}
.cat-badges{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:var(--s-3) 0 0;padding:0}
.cat-badges li{display:inline-flex;align-items:center;gap:.5em;border:1px solid var(--rule);border-radius:999px;padding:7px 14px;font-size:var(--t-small);color:var(--ink-2)}
.cat-badges .ico{width:16px;height:16px;color:var(--ok)}
.cat-lede{max-width:64ch;color:var(--ink-2);margin:0 0 var(--s-3)}
.cat-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:var(--s-3)}
.cat-search{position:relative;display:flex;align-items:center;flex:1 1 240px;max-width:360px}
.cat-search .ico{position:absolute;left:12px;color:var(--ink-2)}
.cat-search input{width:100%;padding:11px 14px 11px 40px;border:1px solid var(--rule);background:var(--paper-2);color:inherit;font:inherit;border-radius:var(--r-2)}
.cat-select{position:relative;display:inline-flex;align-items:center}
.cat-select .ico{position:absolute;right:10px;pointer-events:none;width:16px;height:16px}
.cat-select select{appearance:none;padding:10px 34px 10px 12px;border:1px solid var(--rule);background:var(--paper-2);color:inherit;font:inherit;font-size:var(--t-small);border-radius:var(--r-2)}
.cat-view{display:inline-flex;border:1px solid var(--rule);border-radius:var(--r-2);overflow:hidden}
.cat-view button{padding:9px 11px;background:transparent;border:0;color:var(--ink-2);cursor:pointer;display:grid;place-items:center}
.cat-view button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.cat-none{color:var(--ink-2)}
.cat-empty{text-align:center;max-width:58ch;margin-inline:auto;padding:var(--s-5) 0}
.cat-empty-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto var(--s-2);border:1px solid var(--rule);border-radius:50%;color:var(--red-text)}
.cat-quote{background:var(--paper-2);padding:var(--s-5) 0;border-block:1px solid var(--rule)}
.cat-quote blockquote{margin:.5em 0 0;max-width:34ch}
.cat-quote p{font:italic 400 clamp(1.4rem,1rem + 1.6vw,2.2rem)/1.25 var(--f-display);margin:0}
.cat-quote cite{display:block;margin-top:.7em;font:500 var(--t-label)/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;font-style:normal;color:var(--ink-2)}
.cat-cta-in{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;justify-content:space-between;border:1px solid var(--rule);border-radius:var(--r-2);padding:clamp(22px,3vw,44px);background:var(--paper-2)}
.cat-cta-in h2{margin:0 0 .3em}
.cat-cta-in em{font-style:italic;color:var(--red-text)}
.cat-cta-in p{margin:0;color:var(--ink-2);max-width:52ch}

/* covers and book cards */
.cat-cover{display:block;position:relative;aspect-ratio:2/3;overflow:hidden;border-radius:2px;box-shadow:var(--shadow-lift);background:var(--paper-3)}
.cat-cover img{width:100%;height:100%;object-fit:cover;display:block}
.cat-cover--ph{display:grid;align-content:center;gap:.6em;padding:16px;text-align:center;background:linear-gradient(150deg,var(--tone,#2C3E73),color-mix(in oklab,var(--tone,#2C3E73) 55%,#000));color:#fff}
.cat-cover--ph b{font:400 1.15rem/1.2 var(--f-display)}
.cat-cover--ph small{font-size:.72rem;opacity:.75}
.bk-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.bk{position:relative}
.bk-a{display:grid;gap:.7rem;text-decoration:none;color:inherit}
.bk-a .cat-cover{transition:transform var(--d-base) var(--ease-out)}
.bk-a:hover .cat-cover{transform:translateY(-6px) rotate(-1deg)}
.bk-meta{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.bk-t{display:block;font:400 1.15rem/1.2 var(--f-display)}
.bk-au{color:var(--ink-2);font-size:var(--t-small)}
.bk-quick{position:absolute;right:8px;top:8px;display:inline-flex;align-items:center;gap:.35em;border:0;border-radius:999px;background:rgba(22,20,18,.72);color:#fff;font-size:.72rem;padding:6px 10px;cursor:pointer;opacity:0;transition:opacity var(--d-fast)}
.bk:hover .bk-quick,.bk-quick:focus-visible{opacity:1}
.bk-quick .ico{width:14px;height:14px}
.bk-grid[data-view="list"]{grid-template-columns:1fr}
.bk-grid[data-view="list"] .bk-a{grid-template-columns:90px minmax(0,1fr);align-items:center;gap:var(--s-2);border-bottom:1px solid var(--rule);padding-bottom:var(--s-2)}
.bk-feat{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.bk-feat a{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--s-2);text-decoration:none;color:inherit;border:1px solid var(--rule);border-radius:var(--r-2);padding:16px;background:var(--paper-2)}
.bk-feat strong{display:block;font:400 1.3rem/1.15 var(--f-display);margin:.2em 0}
.bk-feat em{font-style:normal;color:var(--ink-2);font-size:var(--t-small)}
.bk-blurb{display:block;margin:.5em 0;color:var(--ink-2);font-size:var(--t-small)}
.bk-feat .more,.bk-feat-go{color:var(--red-text);font-weight:600;font-size:var(--t-small);display:inline-flex;gap:.4em;align-items:center}
.bk-hero{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:var(--s-4);padding-top:calc(var(--bar) + var(--s-4))}
.cat-cover.is-hero{max-width:320px}
.bk-sub{font-size:1.15rem;color:var(--ink-2);margin:.2em 0}
.bk-by{margin:.4em 0 var(--s-2);font-size:1.05rem}
.bk-buy{margin:var(--s-3) 0}
.bk-buy-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:.5em}
.bk-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--s-2);margin:var(--s-3) 0 0;padding-top:var(--s-2);border-top:1px solid var(--rule)}
.bk-facts dt{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.bk-facts dd{margin:0;font-size:var(--t-small)}
.cat-authorcard{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--s-3);border:1px solid var(--rule);border-radius:var(--r-2);padding:clamp(18px,2.4vw,28px);background:var(--paper-2);align-items:start}
.cat-av{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;overflow:hidden;background:var(--tone,#8C6F55);color:#fff;font:500 .9rem/1 var(--f-mono);flex:none}
.cat-av img{width:100%;height:100%;object-fit:cover}
.cat-av-lg{width:120px;height:120px;font-size:2rem}

/* authors */
.au-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.au-a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--s-2);align-items:start;text-decoration:none;color:inherit;border:1px solid var(--rule);border-radius:var(--r-2);padding:18px;background:var(--paper-2);transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base)}
.au-a:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.au-ph{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--tone,#8C6F55);color:#fff;font:500 1.1rem/1 var(--f-mono)}
.au-ph img{width:100%;height:100%;object-fit:cover}
.au-ph-lg{width:88px;height:88px}
.au-ph-hero{width:clamp(120px,22vw,200px);height:clamp(120px,22vw,200px);font-size:2.4rem}
.au-body strong{display:block;font:400 1.2rem/1.2 var(--f-display)}
.au-role,.au-loc,.au-bio,.au-books{display:block;font-size:var(--t-small);color:var(--ink-2)}
.au-loc{display:flex;align-items:center;gap:.35em;margin:.2em 0}
.au-loc .ico{width:14px;height:14px}
.au-books{margin-top:.5em;color:var(--red-text);font-weight:600}
.au-feat{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.au-feat a{display:grid;gap:.8rem;justify-items:center;text-align:center;text-decoration:none;color:inherit;border:1px solid var(--rule);border-radius:var(--r-2);padding:26px 20px;background:var(--paper-2)}
.au-feat strong{font:400 1.3rem/1.2 var(--f-display)}
.au-feat em{font-style:italic;color:var(--ink-2)}
.au-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-4);padding-top:calc(var(--bar) + var(--s-4));align-items:start}
.au-role-lg{color:var(--ink-2);font-size:1.1rem;margin:.2em 0}
.au-tags{display:flex;flex-wrap:wrap;gap:8px;margin:var(--s-2) 0}
.au-tags span{border:1px solid var(--rule);border-radius:999px;padding:5px 12px;font-size:var(--t-small);color:var(--ink-2)}
.au-links{display:flex;flex-wrap:wrap;gap:12px}
.au-links a{display:inline-flex;align-items:center;gap:.4em;font-size:var(--t-small);color:var(--ink-2)}
.au-posts{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}
.au-posts a{display:grid;gap:.3em;text-decoration:none;color:inherit;border:1px solid var(--rule);border-radius:var(--r-2);padding:16px;background:var(--paper-2)}
.au-posts strong{font:400 1.2rem/1.2 var(--f-display)}
.au-posts span:last-child{color:var(--ink-2);font-size:var(--t-small)}

/* careers */
.job-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.job{display:flex;flex-direction:column;gap:.6rem;border:1px solid var(--rule);border-radius:var(--r-2);padding:24px;background:var(--paper-2)}
.job h3{font:400 1.35rem/1.2 var(--f-display);margin:0}
.job-meta{display:flex;flex-wrap:wrap;gap:.4em .8em;font:500 var(--t-label)/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin:0}
.job p{margin:0;color:var(--ink-2);font-size:var(--t-small)}
.job details summary{cursor:pointer;font-weight:600;font-size:var(--t-small);display:flex;align-items:center;gap:.4em;list-style:none}
.job details summary::-webkit-details-marker{display:none}
.job details[open] summary .ico{transform:rotate(180deg)}
.job details ul{margin:.5em 0 0;padding-left:1.1em;font-size:var(--t-small);color:var(--ink-2)}
.job-tags{display:flex;flex-wrap:wrap;gap:6px}
.job-tags span{border:1px solid var(--rule);border-radius:999px;padding:4px 10px;font-size:.75rem;color:var(--ink-2)}
.job .tile,.doc .tile{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--rule);border-radius:50%;color:var(--red-text)}
.job .btn{margin-top:auto}
.perks{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.promises{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}

/* ---- image cards: a picture with the words laid over it ---- */
.imgcards{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2)}
.imgcard{position:relative;display:block;aspect-ratio:4/3;min-height:260px;border-radius:var(--r-2);overflow:hidden;isolation:isolate;background:var(--ink);color:#fff;transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base) var(--ease-out)}
.imgcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
.imgcard-img{position:absolute;inset:0;display:block;overflow:hidden;background:var(--tone,#8C6F55)}
.imgcard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease-out)}
.imgcard:hover .imgcard-img img{transform:scale(1.05)}
.imgcard-ph{position:absolute;inset:0;background:
  repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 3px,transparent 3px 7px),
  repeating-linear-gradient(-45deg,rgba(0,0,0,.08) 0 3px,transparent 3px 7px),
  var(--tone,#8C6F55)}
.imgcard-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,9,.34) 0%,rgba(10,9,9,.12) 30%,rgba(10,9,9,.86) 100%)}
.imgcard-body{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:var(--s-3)}
.imgcard .tile{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;border:1px solid rgba(255,255,255,.5);background:rgba(18,16,15,.28);backdrop-filter:blur(3px);color:#fff}
.imgcard .tile .ico{width:20px;height:20px}
.imgcard-copy{display:grid;gap:5px}
.imgcard-copy strong{font:400 clamp(1.15rem,1.02rem + .5vw,1.45rem)/1.18 var(--f-display);text-shadow:0 1px 16px rgba(0,0,0,.35)}
.imgcard-copy p{margin:0;color:rgba(255,255,255,.85);font-size:.92rem;line-height:1.45}
@media (max-width:1024px){.imgcards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .imgcards{grid-template-columns:minmax(0,1fr);gap:12px}
  .imgcard{aspect-ratio:16/10;min-height:0}
  .imgcard-body{padding:16px}
}

/* trust */
.trust-hero{background:linear-gradient(180deg,var(--paper-2),var(--paper))}
.doc-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.doc{border:1px solid var(--rule);border-radius:var(--r-2);padding:24px;background:var(--paper-2);display:grid;gap:.6rem;align-content:start}
.doc h3{font:400 1.2rem/1.2 var(--f-display);margin:0}
.doc-num{display:grid;gap:.2em;margin:0}
.doc-num b{font:500 1rem/1.3 var(--f-mono);word-break:break-all}
.doc-how{color:var(--ink-2);font-size:var(--t-small);margin:0}
.doc-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0}
.doc-lightbox{position:fixed;inset:0;z-index:120;background:rgba(10,9,8,.86);display:grid;place-items:center;padding:24px}
.doc-lightbox img{max-width:min(920px,92vw);max-height:86vh;display:block}
.doc-lightbox iframe{width:min(920px,92vw);height:86vh;border:0;background:#fff}
.doc-close{position:absolute;top:18px;right:18px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}
.vfacade{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;overflow:hidden;border-radius:var(--r-2);background:var(--paper-3);cursor:pointer}
.vfacade img{width:100%;height:100%;object-fit:cover}
.vfacade-ph{position:absolute;inset:0;background:linear-gradient(140deg,var(--tone,#2C3E73),#161412)}
.vfacade-play{position:absolute;inset:0;margin:auto;width:70px;height:70px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;transition:transform var(--d-fast) var(--ease-out)}
.vfacade:hover .vfacade-play{transform:scale(1.08)}
.vfacade-t{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.66);color:#fff;font-size:.78rem;padding:6px 10px;border-radius:999px}
.vframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r-2)}
.trust-founder,.trust-pay,.trust-contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--s-4);align-items:center}
.story-row{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.team-grid,.tst-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.tm{display:grid;justify-items:center;text-align:center;gap:.5rem;border:1px solid var(--rule);border-radius:var(--r-2);padding:26px 20px;background:var(--paper-2)}
.tm strong{font:400 1.2rem/1.2 var(--f-display)}
.tm p{color:var(--ink-2);font-size:var(--t-small);margin:0}
.partner-grid{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.pn{display:grid;place-items:center;gap:.4em;border:1px solid var(--rule);border-radius:var(--r-2);padding:20px;background:var(--paper-2);min-height:92px;text-align:center}
.pn img{max-height:34px;width:auto;filter:grayscale(1);opacity:.85}
.pn:hover img{filter:none;opacity:1}
.pn span{font:500 .9rem/1.3 var(--f-mono);color:var(--ink-2)}
.pn small{color:var(--ink-2);font-size:.72rem}
.tst{display:grid;gap:.6rem;border:1px solid var(--rule);border-radius:var(--r-2);padding:24px;background:var(--paper-2)}
.tst blockquote{margin:0}
.tst p{margin:0;font:italic 400 1.1rem/1.45 var(--f-display)}
.tst cite{font-style:normal;font-size:var(--t-small);color:var(--ink-2)}
.tst cite span{display:block;font-size:.78rem}
.trust-contact-row{display:grid;gap:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.cat-modal{position:fixed;inset:0;z-index:120;background:rgba(10,9,8,.7);display:grid;place-items:center;padding:24px}
.cat-modal-card{position:relative;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-2);padding:26px;max-width:420px;display:grid;gap:12px;justify-items:center;text-align:center}
.cat-modal-card .cat-cover{max-width:180px}
.cat-modal-x{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:1.6rem;line-height:1;color:var(--ink-2);cursor:pointer}
@media (max-width:900px){
  .bk-hero,.au-hero{grid-template-columns:1fr}
  .cat-cover.is-hero{max-width:220px}
  .cat-authorcard{grid-template-columns:1fr;justify-items:start}
  .bk-feat a{grid-template-columns:90px minmax(0,1fr)}
  .cat-kpis{gap:var(--s-3)}
}

/* _crm.css */
/* Supermail and the unsubscribe page */
.unsub-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s-3)}
.sm{padding:calc(var(--bar) + var(--s-4)) 0 var(--s-5)}
.sm-head{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:space-between;align-items:flex-start;margin-bottom:var(--s-3)}
.sm-head h1{margin:.2em 0}
.sm-head em{font-style:italic;color:var(--red-text)}
.sm-head p{max-width:60ch}
.sm-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--s-3);align-items:start}
.sm-col{display:grid;gap:8px}
.sm-col textarea,.sm-col input,.sm-col select{width:100%;padding:11px 13px;border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper-2);color:inherit;font:inherit}
.sm-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sm-count{font:500 var(--t-label)/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.sm-tools{display:flex;flex-wrap:wrap;gap:6px}
.sm-tb{padding:7px 11px;border:1px solid var(--rule);border-radius:6px;background:var(--paper-2);color:inherit;font-size:.8rem;cursor:pointer}
.sm-tb:hover{background:var(--paper-3)}
.sm-editor{min-height:260px;padding:18px;border:1px solid var(--rule);border-radius:var(--r-2);background:var(--sheet);color:#161412;font:1rem/1.65 var(--f-text)}
.sm-editor:focus{outline:2px solid var(--red);outline-offset:2px}
.sm-preview .sm-frame{border:1px solid var(--rule);border-radius:var(--r-2);background:var(--sheet);color:#161412;padding:20px;min-height:260px}
.sm-sub{font-weight:600;border-bottom:1px solid #e3ddd4;padding-bottom:8px;margin:0 0 12px}
.sm-progress{height:6px;border-radius:999px;background:var(--paper-3);overflow:hidden}
.sm-progress span{display:block;height:100%;width:0;background:var(--red);transition:width var(--d-base)}
@media (max-width:900px){.sm-grid{grid-template-columns:1fr}}

/* _editorial.css */
/* ============ EDITORIAL: section landings and article pages ============ */
.ed-progress,.art-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:60;background:transparent;pointer-events:none}
.ed-progress span,.art-progress span{display:block;height:100%;background:var(--red);transform:scaleX(0);transform-origin:0 50%;transition:transform 120ms linear}

/* ---- hero ---- */
.ed-hero{position:relative;padding:calc(var(--bar) + var(--s-5)) 0 var(--s-4);overflow:clip}
.ed-hero-grid{display:grid;gap:var(--s-4);grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);align-items:end}
.ed-ghost{position:absolute;right:-.06em;top:-.12em;font:400 clamp(9rem,26vw,24rem)/1 var(--f-display);color:var(--ink);opacity:.045;pointer-events:none;user-select:none}
.ed-dot-red{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:.55em;vertical-align:middle}
.ed-h1{font:400 var(--t-1)/1.02 var(--f-display);letter-spacing:-.02em;margin:.2em 0 0}
.ed-h1 em{font-style:italic;color:var(--red-text)}
.ed-hero-sub{max-width:54ch;margin-top:var(--s-2);color:var(--ink-2);font-size:1.075rem}
.ed-stats{display:grid;gap:var(--s-2);margin:0;border-left:1px solid var(--rule);padding-left:var(--s-3)}
.ed-stats dt{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.ed-stats dd{margin:0;font:400 clamp(1.6rem,1rem + 1.6vw,2.4rem)/1 var(--f-display)}
.ed-stats-date{font-family:var(--f-text);font-size:1rem}

/* ---- featured ---- */
.ed-feat-wrap{margin-top:var(--s-3)}
.ed-feat{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0;border:1px solid var(--rule);background:var(--paper-2);text-decoration:none;overflow:hidden;border-radius:var(--r-2)}
.ed-feat-media{position:relative;display:block;aspect-ratio:16/11;overflow:hidden;background:var(--paper-3)}
.ed-feat-media img,.ed-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--d-slow) var(--ease-out)}
.ed-feat:hover .ed-feat-media img,.ed-card-a:hover .ed-card-media img{transform:scale(1.04)}
.ed-feat-body{display:flex;flex-direction:column;gap:.6rem;padding:clamp(20px,3vw,40px);justify-content:center}
.ed-feat-flag{display:inline-flex;align-items:center;gap:.4em;align-self:start;background:var(--red);color:var(--on-red);font:500 var(--t-label)/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;padding:7px 10px}
.ed-feat-t{font:400 clamp(1.5rem,1rem + 2vw,2.5rem)/1.08 var(--f-display);margin:0}
.ed-feat-x{color:var(--ink-2);max-width:56ch}
.ed-feat-go{font-weight:600;display:inline-flex;align-items:center;gap:.5em;color:var(--red-text)}
.ed-feat-go .ico,.ed-card-t .ico{width:18px;height:18px}
.ed-feat:hover .ed-feat-go .ico{transform:translateX(4px)}
.ed-feat-rating{display:flex;align-items:center;gap:.5em;font-size:var(--t-small);color:var(--ink-2)}

/* ---- tools ---- */
.ed-tools{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;justify-content:space-between;margin:var(--s-4) 0 var(--s-2);padding-bottom:var(--s-2);border-bottom:1px solid var(--rule)}
.ed-search{position:relative;display:flex;align-items:center;flex:1 1 240px;max-width:340px}
.ed-search .ico{position:absolute;left:12px;color:var(--ink-2)}
.ed-search input{width:100%;padding:11px 14px 11px 40px;border:1px solid var(--rule);background:var(--paper-2);color:inherit;font:inherit;border-radius:var(--r-2)}
.ed-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1 1 100%;order:3;padding-bottom:2px}
.ed-chips::-webkit-scrollbar{display:none}
.ed-chip{flex:none;padding:8px 14px;border:1px solid var(--rule);border-radius:999px;font-size:var(--t-small);text-decoration:none;white-space:nowrap;transition:background var(--d-fast),color var(--d-fast),border-color var(--d-fast)}
.ed-chip:hover{border-color:var(--ink)}
.ed-chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.ed-ctrl{display:flex;gap:8px;align-items:center}
.ed-select{position:relative;display:inline-flex;align-items:center}
.ed-select .ico{position:absolute;right:10px;pointer-events:none;width:16px;height:16px}
.ed-select select{appearance:none;padding:10px 34px 10px 12px;border:1px solid var(--rule);background:var(--paper-2);color:inherit;font:inherit;font-size:var(--t-small);border-radius:var(--r-2)}
.ed-view{display:inline-flex;border:1px solid var(--rule);border-radius:var(--r-2);overflow:hidden}
.ed-view button{padding:9px 11px;background:transparent;border:0;color:var(--ink-2);cursor:pointer;display:grid;place-items:center}
.ed-view button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.ed-count{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin:0 0 var(--s-2)}

/* ---- cards ---- */
.ed-results{padding-bottom:var(--s-5)}
.ed-grid{display:grid;gap:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(285px,1fr))}
.ed-grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.ed-card{border:1px solid var(--rule);background:var(--paper-2);border-radius:var(--r-2);overflow:hidden;transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base) var(--ease-out),border-color var(--d-base)}
.ed-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:transparent}
.ed-card-a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.ed-card-media{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:var(--paper-3)}
.ed-ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(140deg,var(--tone,#8C6F55),color-mix(in oklab,var(--tone,#8C6F55) 55%,#000))}
.ed-ph span{font:400 4rem/1 var(--f-display);color:rgba(255,255,255,.82)}
.ed-card-body{display:flex;flex-direction:column;gap:.5rem;padding:18px 20px 20px;flex:1}
.ed-card-meta{display:flex;flex-wrap:wrap;gap:.4em .8em;font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.ed-card-cat{color:var(--red-text)}
.ed-card-t{font:400 1.32rem/1.2 var(--f-display);margin:0}
.ed-card-x{color:var(--ink-2);font-size:var(--t-small);margin:0}
.ed-card-by{display:flex;align-items:center;gap:.6em;margin-top:auto;padding-top:.7rem;font-size:var(--t-small);color:var(--ink-2)}
.ed-card-counts{margin-left:auto;font:500 var(--t-label)/1 var(--f-mono);letter-spacing:.08em}
.ed-av,.art-av,.art-guest-ph{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;overflow:hidden;background:var(--tone,#8C6F55);color:#fff;font:500 .72rem/1 var(--f-mono)}
.ed-av img,.art-av img,.art-guest-ph img{width:100%;height:100%;object-fit:cover}
.ed-grid[data-view="list"]{grid-template-columns:1fr}
.ed-grid[data-view="list"] .ed-card-a{flex-direction:row;align-items:stretch}
.ed-grid[data-view="list"] .ed-card-media{width:minmax(0,34%);flex:0 0 clamp(120px,30%,280px);aspect-ratio:auto}
.ed-grid[data-view="list"] .ed-card-t{font-size:1.5rem}
.ed-stars{display:inline-grid;font-size:1rem;letter-spacing:.06em;line-height:1}
.ed-stars .st-off,.ed-stars .st-on{grid-area:1/1;color:var(--rule)}
.ed-stars .st-on{color:#E0A100;overflow:hidden;white-space:nowrap}
.ed-stars-lg{font-size:1.5rem}
.ed-stars-onimg{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.62);padding:5px 9px;border-radius:999px}
.ed-more{display:flex;justify-content:center;margin-top:var(--s-4)}
.ed-sentinel{display:block;height:1px}
.ed-noresults,.ed-empty{text-align:center;padding:var(--s-5) 0;max-width:56ch;margin-inline:auto}
.ed-noresults h2,.ed-empty h2{font:400 var(--t-2)/1.1 var(--f-display);margin:0 0 .4em}
.ed-noresults em,.ed-empty em{font-style:italic;color:var(--red-text)}
.ed-empty-mark{display:grid;place-items:center;width:64px;height:64px;margin:0 auto var(--s-2);border:1px solid var(--rule);border-radius:50%;color:var(--red-text)}
.ed-empty-mark .ico{width:26px;height:26px}
.ed-empty-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:var(--s-3)}

/* ---- newsletter band ---- */
.ed-news{background:var(--night);color:var(--night-ink);padding:var(--s-5) 0}
.ed-news-grid{display:grid;gap:var(--s-3);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}
.ed-news .label{color:var(--night-ink-2)}
.ed-news-t{font:400 var(--t-2)/1.08 var(--f-display);margin:.2em 0}
.ed-news-t em{font-style:italic;color:#F2667A}
.ed-news-copy p{color:var(--night-ink-2);max-width:48ch}
.ed-news-row{display:flex;gap:10px;flex-wrap:wrap}
.ed-news-row input{flex:1 1 220px;padding:13px 15px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:var(--night-ink);font:inherit;border-radius:var(--r-2)}
.ed-news-fine{font-size:var(--t-small);color:var(--night-ink-2);margin-top:.7rem}

/* ============ ARTICLE ============ */
.art-preview-flag{background:#F2C94C;color:#161412;text-align:center;padding:10px;font-weight:600;margin:0}
.art-head{padding:calc(var(--bar) + var(--s-4)) 0 var(--s-3)}
.art-head-in{max-width:840px;margin-inline:auto;padding-inline:var(--gutter)}
.art-crumbs{display:flex;flex-wrap:wrap;gap:.5em;font:500 var(--t-label)/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.art-crumbs a{text-decoration:none}
.art-crumbs a:hover{color:var(--red-text)}
.art-kicker{display:flex;flex-wrap:wrap;gap:.8em;align-items:center;margin:var(--s-2) 0 .3em}
.art-kind{display:inline-flex;align-items:center;gap:.45em;font:500 var(--t-label)/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red-text)}
.art-kind .ico{width:16px;height:16px}
.art-cat{font-size:var(--t-small);color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--rule)}
.art-title{font:400 clamp(2.1rem,1.2rem + 3.4vw,3.9rem)/1.04 var(--f-display);letter-spacing:-.02em;margin:.1em 0 .25em}
.art-dek{font-size:1.2rem;color:var(--ink-2);max-width:60ch;margin:0}
.art-meta{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center;justify-content:space-between;margin-top:var(--s-3);padding-top:var(--s-2);border-top:1px solid var(--rule)}
.art-byline{display:flex;align-items:center;gap:.7em}
.art-byline span{display:flex;flex-direction:column;line-height:1.35}
.art-byline small{font:500 var(--t-label)/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.art-byline em{font-style:normal;font-size:var(--t-small);color:var(--ink-2)}
.art-facts{display:flex;flex-wrap:wrap;gap:var(--s-3);margin:0}
.art-facts dt{font:500 var(--t-label)/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.art-facts dd{margin:0;font-size:var(--t-small)}
.art-checked{display:flex;gap:.6em;align-items:center;margin-top:var(--s-2);font-size:var(--t-small);color:var(--ink-2)}
.art-checked .ico{width:18px;height:18px;color:var(--ok)}
.art-checked i{font-style:normal;margin:0 .5em}
.art-cover{margin:0 auto var(--s-4);max-width:1240px;padding-inline:var(--gutter)}
.art-cover img{width:100%;height:auto;display:block;border-radius:var(--r-2)}
.art-cover figcaption{font-size:var(--t-small);color:var(--ink-2);margin-top:.6em}
.art-cover figcaption span{font-style:italic}
.art-layout{display:grid;grid-template-columns:64px minmax(0,820px) minmax(0,220px);gap:var(--s-4);justify-content:center;padding-inline:var(--gutter);align-items:start;padding-block:var(--s-4) var(--s-5)}
.art-main{min-width:0}
.art-rail{position:sticky;top:calc(var(--bar) + 28px)}
.art-rail-in{display:flex;flex-direction:column;align-items:center;gap:12px}
.art-rail-n{display:grid;justify-items:center;gap:2px;padding-bottom:6px;border-bottom:1px solid var(--rule);width:100%;font:500 var(--t-label)/1.2 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);text-align:center}

.art-rail-n b{font:400 1.25rem/1 var(--f-display);color:var(--ink)}
.art-rail-n small{font-size:.6rem;letter-spacing:.12em}
.art-sh,.art-sh2,.art-pb{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--rule);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;text-decoration:none;transition:transform var(--d-fast) var(--ease-out),background var(--d-fast),color var(--d-fast),border-color var(--d-fast)}
.art-sh:hover,.art-sh2:hover,.art-pb:hover{transform:translateY(-2px)}
.art-sh.sh-whatsapp:hover,.art-pb.sh-whatsapp:hover{background:#25D366;border-color:#25D366;color:#fff}
.art-sh.sh-facebook:hover,.art-pb.sh-facebook:hover{background:#1877F2;border-color:#1877F2;color:#fff}
.art-sh.sh-x:hover,.art-pb.sh-x:hover{background:#000;border-color:#000;color:#fff}
.art-sh.sh-linkedin:hover,.art-pb.sh-linkedin:hover{background:#0A66C2;border-color:#0A66C2;color:#fff}
.art-sh.sh-telegram:hover,.art-pb.sh-telegram:hover{background:#26A5E4;border-color:#26A5E4;color:#fff}
.art-sh.sh-pinterest:hover,.art-pb.sh-pinterest:hover{background:#BD081C;border-color:#BD081C;color:#fff}
.art-sh.sh-email:hover,.art-pb.sh-email:hover,.art-sh.sh-copy:hover,.art-pb.sh-copy:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.art-sh.is-done,.art-sh2.is-done,.art-pb.is-done{background:var(--ok);border-color:var(--ok);color:#fff}
.bico{width:18px;height:18px;fill:currentColor;stroke:none}
.art-sh2{width:auto;height:44px;padding:0 16px;gap:.5em;border-radius:999px;font-size:var(--t-small);font-weight:600;grid-auto-flow:column}
.art-toc{position:sticky;top:calc(var(--bar) + 28px);font-size:var(--t-small);align-self:start}
.art-toc ol{list-style:none;margin:.6em 0;padding:0;border-left:1px solid var(--rule)}
.art-toc li a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:2px solid transparent;color:var(--ink-2);text-decoration:none}
.art-toc li a:hover{color:var(--ink)}
.art-toc li a[aria-current]{color:var(--ink);border-left-color:var(--red);font-weight:600}
.art-toc .toc-l3 a{padding-left:26px;font-size:.84rem}
.art-toc-top{display:inline-block;margin-top:.5em;color:var(--ink-2)}
.art-toc-m{display:none;border:1px solid var(--rule);border-radius:var(--r-2);margin-bottom:var(--s-3);background:var(--paper-2)}
.art-toc-m summary{display:flex;align-items:center;gap:.6em;padding:14px 16px;cursor:pointer;font-weight:600;list-style:none}
.art-toc-m summary::-webkit-details-marker{display:none}
.art-toc-m summary small{margin-left:auto;color:var(--ink-2);font-weight:400}
.art-toc-m[open] summary .chev,.art-toc-m summary .ico:last-child{transition:transform var(--d-fast)}
.art-toc-m[open] summary .ico:last-child{transform:rotate(180deg)}
.art-toc-m nav{padding:0 16px 12px}
.art-toc-m ol{list-style:none;margin:0;padding:0}
.art-toc-m a{display:block;padding:8px 0;border-top:1px solid var(--rule);text-decoration:none;color:var(--ink-2)}

/* ---- body typography ---- */
.art-body{font-size:1.14rem;line-height:1.75}
.art-body:not(.art-body--box)>p:first-of-type::first-letter,.art-lede-box>p:first-of-type::first-letter{float:left;font:400 3.6em/.78 var(--f-display);color:var(--red-text);padding:.06em .1em 0 0}
.art-body h2{font:400 clamp(1.6rem,1.1rem + 1.6vw,2.2rem)/1.14 var(--f-display);margin:1.9em 0 .5em;scroll-margin-top:calc(var(--bar) + 20px)}
.art-body h3{font:600 1.22rem/1.3 var(--f-text);margin:1.6em 0 .4em;scroll-margin-top:calc(var(--bar) + 20px)}
.art-body p{margin:0 0 1.1em}
.art-body a{color:var(--red-text);text-decoration:underline;text-underline-offset:3px}
.art-body ul,.art-body ol{margin:0 0 1.2em;padding-left:1.3em}
.art-body li{margin:.4em 0}
.art-body blockquote{margin:1.6em 0;padding:0 0 0 1.2em;border-left:3px solid var(--red);font:400 1.35rem/1.45 var(--f-display);font-style:italic}
.art-body blockquote.pull{border:0;padding:0;text-align:center;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem);color:var(--ink)}
.art-body blockquote cite{display:block;font:500 var(--t-label)/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;font-style:normal;color:var(--ink-2);margin-top:.7em}
.art-body figure{margin:1.8em 0}
.art-body figure img{width:100%;height:auto;display:block;border-radius:var(--r-2)}
.art-body figcaption{font-size:var(--t-small);color:var(--ink-2);margin-top:.6em}
.art-body hr{border:0;border-top:1px solid var(--rule);margin:2.4em 0}
.art-table{overflow-x:auto;margin:1.6em 0}
.art-table table{border-collapse:collapse;width:100%;font-size:var(--t-small)}
.art-table th,.art-table td{border:1px solid var(--rule);padding:10px 12px;text-align:left}
.art-table th{background:var(--paper-2);font-weight:600}
.art-embed{margin:1.8em 0}
.yt-facade{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;background:var(--paper-3);cursor:pointer;overflow:hidden;border-radius:var(--r-2)}
.yt-facade img{width:100%;height:100%;object-fit:cover}
.yt-play{position:absolute;inset:0;margin:auto;width:72px;height:72px;display:grid;place-items:center;border-radius:50%;background:var(--red);color:#fff;transition:transform var(--d-fast) var(--ease-out)}
.yt-facade:hover .yt-play{transform:scale(1.08)}
.yt-note{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.65);color:#fff;font-size:.74rem;padding:5px 9px;border-radius:999px}
.yt-frame{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r-2)}
.art-body--qa .qa-q{font-weight:600;font-size:1.16rem;margin-top:1.8em;position:relative;padding-left:2.2em}
.art-body--qa .qa-q::before{content:attr(data-mark);position:absolute;left:0;top:.05em;font:500 .8rem/1.7 var(--f-mono);color:var(--on-red);background:var(--red);width:1.7em;height:1.7em;text-align:center;border-radius:50%}
.art-body--qa .qa-a{padding-left:2.2em;position:relative}
.art-body--qa .qa-a::before{content:attr(data-mark);position:absolute;left:0;top:.15em;font:500 .72rem/1.7 var(--f-mono);color:var(--ink-2);border:1px solid var(--rule);width:1.9em;height:1.9em;text-align:center;border-radius:50%}
.art-lede-quote{margin:0 0 1.6em;padding:1.2em 1.4em;background:var(--paper-2);border-left:3px solid var(--red);font:400 1.35rem/1.45 var(--f-display);font-style:italic}
.art-disclose{display:flex;gap:.7em;background:var(--paper-2);border:1px solid var(--rule);padding:14px 16px;border-radius:var(--r-2);font-size:var(--t-small);margin:0 0 1.6em}
.art-disclose .ico{flex:none;color:var(--ink-2)}

/* ---- boxes ---- */
.art-guest,.art-book,.art-verdict,.art-sources,.art-author{border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper-2);padding:clamp(18px,2.4vw,28px);margin:var(--s-3) 0}
.art-guest{display:flex;gap:var(--s-2);align-items:flex-start}
.art-guest-ph{width:64px;height:64px;font-size:1rem}
.art-guest-n{font:400 1.35rem/1.2 var(--f-display);margin:.2em 0 0}
.art-guest-r{font-size:var(--t-small);color:var(--ink-2);margin:.2em 0}
.art-guest-b{font-size:var(--t-small);margin:.5em 0 0}
.art-book{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--s-3)}
.art-book-cover img,.art-book-ph{width:100%;aspect-ratio:2/3;object-fit:cover;display:grid;place-content:center;gap:.4em;text-align:center;padding:14px;border-radius:2px;box-shadow:var(--shadow-lift)}
.art-book-ph{background:var(--tone,#2C3E73);color:#fff}
.art-book-ph b{font:400 1.1rem/1.2 var(--f-display)}
.art-book-ph small{font-size:.72rem;opacity:.8}
.art-book-t{font:400 1.5rem/1.15 var(--f-display);margin:.2em 0 0}
.art-book-a{color:var(--ink-2);margin:.2em 0 .6em}
.art-book dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.7em;margin:.8em 0}
.art-book dt{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.art-book dd{margin:0;font-size:var(--t-small)}
.art-book-go{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:.6em}
.art-verdict-score{display:flex;align-items:center;gap:.7em;margin:.5em 0}
.art-verdict-x{font:400 1.3rem/1.45 var(--f-display);font-style:italic;margin:.4em 0}
.art-verdict-by{font-size:var(--t-small);color:var(--ink-2);margin:0}
.art-sources ol{margin:.7em 0 0;padding-left:1.2em;font-size:var(--t-small)}
.art-sources li{margin:.45em 0}
.art-sources span{color:var(--ink-2)}
.art-endshare{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;justify-content:space-between;margin:var(--s-4) 0;padding:clamp(18px,2.4vw,28px);border:1px dashed var(--rule);border-radius:var(--r-2)}
.art-endshare-t{font:400 1.5rem/1.15 var(--f-display);margin:0 0 .3em}
.art-endshare-t em{font-style:italic;color:var(--red-text)}
.art-endshare p{margin:0;color:var(--ink-2);max-width:46ch}
.art-endshare-row{display:flex;flex-wrap:wrap;gap:10px}
.art-author{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--s-3);align-items:start}
.art-author-ph{width:120px;height:120px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--tone,#8C6F55)}
.art-author-ph img{width:100%;height:100%;object-fit:cover}
.art-author-ph span{font:400 2.6rem/1 var(--f-display);color:#fff;width:100%;height:100%;display:grid;place-items:center;background:var(--tone,#8C6F55)}
.art-author-n{font:400 1.6rem/1.15 var(--f-display);margin:.15em 0 0}
.art-author-r{color:var(--ink-2);font-size:var(--t-small);margin:.2em 0 .6em}
.art-author-b{margin:0 0 .8em}
.art-creds{list-style:none;margin:0 0 .8em;padding:0;display:grid;gap:.35em;font-size:var(--t-small)}
.art-creds li{display:flex;gap:.5em;align-items:flex-start}
.art-creds .ico{width:16px;height:16px;color:var(--ok);flex:none;margin-top:.2em}
.art-knows{display:flex;flex-wrap:wrap;gap:.5em;align-items:center;font-size:var(--t-small);margin:0 0 .8em}
.art-knows span:not(.label){border:1px solid var(--rule);padding:4px 10px;border-radius:999px;color:var(--ink-2)}
.art-author-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.art-socials{display:flex;gap:8px}
.art-soc{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--rule);border-radius:50%;color:var(--ink-2)}
.art-soc:hover{color:var(--ink);border-color:var(--ink)}
.art-related{background:var(--paper-2);padding:var(--s-5) 0;margin-top:var(--s-5);border-top:1px solid var(--rule)}
.art-related-head{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:baseline;justify-content:space-between;margin-bottom:var(--s-3)}
.art-related-head h2{font:400 var(--t-2)/1.1 var(--f-display);margin:0}
.art-related-head em{font-style:italic;color:var(--red-text)}
.art-pill{position:fixed;left:50%;transform:translate(-50%,180%);opacity:0;pointer-events:none;visibility:hidden;bottom:calc(var(--bar) + 26px + env(safe-area-inset-bottom,0px));z-index:45;display:flex;gap:8px;padding:8px;background:var(--paper);border:1px solid var(--rule);border-radius:999px;box-shadow:var(--shadow-lift);transition:transform var(--d-base) var(--ease-out),opacity var(--d-base),visibility var(--d-base)}
.art-pill.is-on{transform:translate(-50%,0);opacity:1;pointer-events:auto;visibility:visible}
.art-pill-more{display:flex;gap:8px}
.art-pb{width:40px;height:40px}
@media (min-width:901px){.art-pill{display:none}}
@media (max-width:1240px){
  .art-layout{grid-template-columns:64px minmax(0,1fr);max-width:980px;margin-inline:auto}
  .art-toc{display:none}.art-toc-m{display:block}
}
@media (max-width:900px){
  .ed-hero-grid,.ed-news-grid,.ed-feat{grid-template-columns:1fr}
  .ed-stats{border-left:0;border-top:1px solid var(--rule);padding:var(--s-2) 0 0;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
  .ed-feat-media{aspect-ratio:16/10}
  .art-layout{display:flex;flex-direction:column;gap:0}
  .art-rail{display:none}
  .art-toc{display:none}
  .art-book{grid-template-columns:110px minmax(0,1fr)}
  .art-body{font-size:1.06rem}
  .ed-grid[data-view="list"] .ed-card-a{flex-direction:column}
  .ed-grid[data-view="list"] .ed-card-media{flex:none;width:100%;aspect-ratio:3/2}
}
@media (max-width:520px){
  .art-meta{gap:var(--s-2)}
  .art-facts{gap:var(--s-2)}
  .art-endshare{flex-direction:column;align-items:flex-start}
  .art-guest{flex-direction:column}
}
html.motion .ed-card{opacity:0;transform:translateY(var(--rise));animation:edIn var(--d-base) var(--ease-out) forwards}
html.motion .ed-card:nth-child(2){animation-delay:60ms}
html.motion .ed-card:nth-child(3){animation-delay:120ms}
html.motion .ed-card:nth-child(n+4){animation-delay:180ms}
@keyframes edIn{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html.motion .ed-card{opacity:1;transform:none;animation:none}}

/* ---- Wikipedia style infobox ---- */

.art-infobox-k{font:500 var(--t-label)/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red-text);margin:0}
.art-infobox-t{font:600 1.02rem/1.25 var(--f-text);margin:0;text-align:center;padding-bottom:8px;border-bottom:1px solid var(--rule)}
.art-infobox-a{color:var(--ink-2);font-size:var(--t-small);margin:0}
.art-infobox-cover{margin:0 auto;max-width:132px;width:100%}
.art-infobox .art-book-ph{width:170px;aspect-ratio:2/3;padding:12px;margin-inline:auto}
.art-infobox-cover img{width:100%;max-width:190px;height:auto;display:block;border-radius:2px;box-shadow:var(--shadow-lift);margin-inline:auto}
.art-infobox-cover--person{display:grid;place-items:center}
.art-infobox-av{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--tone,#8C6F55);color:#fff;font:500 1.6rem/1 var(--f-mono)}
.art-infobox-av img{width:100%;height:100%;object-fit:cover}
.art-infobox-facts{margin:0;display:grid;gap:0;font-size:.84rem}
.art-infobox-facts>div{display:grid;grid-template-columns:42% minmax(0,58%);gap:8px;padding:6px 0;border-top:1px solid var(--rule)}
.art-infobox-facts dt{font:500 var(--t-label)/1.4 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.art-infobox-facts dd{margin:0;overflow-wrap:anywhere}
.art-infobox-verdict{display:flex;gap:.5em;margin:0;font:italic 400 1rem/1.4 var(--f-display);color:var(--ink)}
.art-infobox-verdict .ico{flex:none;width:18px;height:18px;color:var(--red-text)}
.art-infobox-go{display:flex;flex-wrap:wrap;gap:10px;align-items:center}




/* ---- featured image hero: the picture is the top of the page ---- */
.art-hero{position:relative;min-height:clamp(520px,78svh,860px);display:flex;align-items:flex-end;padding-top:calc(var(--bar) + env(safe-area-inset-top,0px));color:#fff;overflow:hidden;isolation:isolate;background:#111}
.art-hero-img{position:absolute;inset:0;z-index:-2}
.art-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.art-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,9,9,calc(var(--ov,.58) * .5)) 0%,rgba(10,9,9,calc(var(--ov,.58) * .25)) 38%,rgba(10,9,9,calc(var(--ov,.58) + .3)) 100%)}
.art-hero-copy{position:relative;width:100%;max-width:1000px;padding-block:var(--s-5) clamp(2rem,1.4rem + 3vw,4rem)}
.art-hero .art-crumbs,.art-hero .art-kicker{color:rgba(255,255,255,.86)}
.art-hero .art-crumbs a:hover{color:#fff}
.art-hero .art-kind{color:#FF8596}
.art-hero .art-cat{color:rgba(255,255,255,.9);border-bottom-color:rgba(255,255,255,.4)}
.art-hero .art-title{margin:.1em 0 .25em;text-shadow:0 2px 26px rgba(0,0,0,.35);max-width:20ch}
.art-hero .art-dek{color:rgba(255,255,255,.9);max-width:62ch}
.art-hero .art-meta{border-top:1px solid rgba(255,255,255,.22)}
.art-hero .art-byline small,.art-hero .art-facts dt{color:rgba(255,255,255,.72)}
.art-hero .art-byline a{color:#fff}
.art-hero-cap{position:absolute;right:var(--gutter);bottom:10px;margin:0;font-size:.72rem;color:rgba(255,255,255,.6)}
.art-checked-wrap{max-width:1000px;margin:var(--s-2) auto 0}
@media (max-width:760px){
  .art-hero{min-height:clamp(420px,70svh,640px)}
  .art-hero .art-title{font-size:clamp(1.9rem,1.2rem + 4.6vw,2.8rem)}
}

/* ---- poster cards for reviews and interviews ---- */
.ed-poster{position:relative;border-radius:var(--r-2);overflow:hidden;background:var(--paper-3);aspect-ratio:3/4;box-shadow:0 1px 0 var(--rule);transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base)}
.ed-poster:hover{transform:translateY(-5px);box-shadow:var(--shadow-lift)}
.ed-poster-a{position:absolute;inset:0;display:flex;align-items:flex-end;text-decoration:none;color:#fff}
.ed-poster-img{position:absolute;inset:0;display:block;overflow:hidden}
.ed-poster-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease-out)}
.ed-poster:hover .ed-poster-img img{transform:scale(1.05)}
.ed-poster-img .ed-ph{position:absolute;inset:0}
.ed-poster-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,9,0) 28%,rgba(10,9,9,.55) 62%,rgba(10,9,9,.92) 100%)}
.ed-poster-copy{position:relative;display:grid;gap:.45rem;padding:clamp(16px,2vw,22px);width:100%}
.ed-poster-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ed-poster-cat{font:500 var(--t-label)/1.2 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#FF9FAC}
.ed-stars-poster{font-size:.95rem}
.ed-stars-poster .st-off{color:rgba(255,255,255,.35)}
.ed-poster-t{font:400 clamp(1.15rem,1rem + .7vw,1.5rem)/1.18 var(--f-display);margin:0;text-shadow:0 1px 18px rgba(0,0,0,.4)}
.ed-poster-meta{font-size:.8rem;color:rgba(255,255,255,.78);display:flex;flex-wrap:wrap;gap:.35em;align-items:center}
.ed-poster-meta i{font-style:normal;opacity:.6}
.ed-grid[data-view="list"] .ed-poster{aspect-ratio:16/7}


/* ---- infobox details ---- */
.art-infobox-cap{margin:0;text-align:center;font-size:.74rem;color:var(--ink-2)}
.art-infobox-facts>div.is-rating,.art-infobox-facts>div.is-verdict{grid-template-columns:1fr;gap:4px}
.art-infobox-facts>div.is-rating dd,.art-infobox-facts>div.is-verdict dd{padding-top:1px}
.art-infobox-rating{display:flex;align-items:center;flex-wrap:wrap;gap:.45em;white-space:nowrap}
.art-infobox-rating .ed-stars{font-size:1.02rem;letter-spacing:.02em}
.art-infobox-rating b{font:600 .95rem/1 var(--f-mono);color:var(--ink)}
.art-infobox-rating i{font-style:normal;font-size:.76rem;color:var(--ink-2)}
.art-infobox-verdict{font-style:italic}
.art-infobox-av{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;margin-inline:auto;background:var(--tone,#8C6F55);color:#fff;font:400 2.4rem/1 var(--f-display)}
.art-infobox-cover--person img{max-width:190px;border-radius:var(--r-2)}
.art-body--box::after{content:"";display:block;clear:both}

/* ---- author card ---- */
.art-author{display:grid;grid-template-columns:132px minmax(0,1fr);gap:var(--s-3);align-items:start;border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper-2);padding:clamp(20px,2.6vw,30px);margin:var(--s-4) 0 0}
.art-author-ph{width:132px;height:132px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--tone,#8C6F55)}
.art-author-ph img{width:100%;height:100%;object-fit:cover}
.art-author-ph span{width:100%;height:100%;display:grid;place-items:center;background:var(--tone,#8C6F55);color:#fff;font:400 2.6rem/1 var(--f-display)}
.art-author-n{font:400 1.7rem/1.12 var(--f-display);margin:.1em 0 0}
.art-author-r{color:var(--ink-2);font-size:var(--t-small);margin:.15em 0 .6em}
.art-author-b{margin:0 0 .8em}
.art-knows{display:flex;flex-wrap:wrap;gap:.4em;margin:0 0 .9em}
.art-knows span{border:1px solid var(--rule);border-radius:999px;padding:4px 11px;font-size:.78rem;color:var(--ink-2)}
.art-author-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);padding-top:14px}
.art-socials{display:flex;gap:8px;flex-wrap:wrap}
.art-soc{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--rule);border-radius:50%;color:var(--ink-2);background:var(--paper);transition:transform var(--d-fast) var(--ease-out),color var(--d-fast),border-color var(--d-fast),background var(--d-fast)}
.art-soc:hover{transform:translateY(-2px);color:var(--paper);background:var(--ink);border-color:var(--ink)}
@media (max-width:640px){
  .art-author{grid-template-columns:1fr;justify-items:center;text-align:center}
  .art-author-foot{justify-content:center}
  .art-knows{justify-content:center}
}

.art-lede-box::after{content:"";display:block;clear:none}
.art-lede-box>p:first-of-type{margin-top:0}
.art-infobox{float:right;width:min(330px,42%);margin:.2em 0 1.4em 2em;border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper-2);padding:14px;display:block;font-size:.9rem}

/* infobox spacing: the cover, the caption and the fact table need air between them */
.art-infobox>*+*{margin-top:10px}
.art-infobox-cover{margin-bottom:4px}
.art-infobox-cover+.art-infobox-facts,.art-infobox-cap+.art-infobox-facts{margin-top:12px}
.art-infobox-facts>div:first-child{border-top:1px solid var(--rule)}
.art-infobox-facts>div.is-verdict dd{padding-bottom:2px}

/* on a phone the table drops below the opening paragraph, full width, one column */
@media (max-width:860px){
  .art-lede-box{display:flex;flex-direction:column}
  .art-lede-box>p{order:1;margin-top:0}
  .art-infobox{order:2;float:none;width:auto;max-width:none;margin:1.6em 0 0}
  .art-infobox-facts>div{grid-template-columns:38% minmax(0,62%)}
}
@media (max-width:480px){
  .art-infobox-facts>div{grid-template-columns:1fr;gap:2px;padding:8px 0}
  .art-infobox-facts dt{font-size:.66rem}
}

/* the author card is its own box, never resting on the band below it */
.art-author{box-shadow:0 1px 0 var(--rule)}
.art-main>.art-author:last-child{margin-bottom:var(--s-2)}
@media (max-width:860px){
  .art-layout{padding-bottom:var(--s-5)}
}

/* _services.css */
/* ================= SERVICES MODULE: homepage hero, press, ampersand, stats, trust, studio plans, sales pages ================= */

/* ---------- full-bleed homepage hero ---------- */
.hx{position:relative;min-height:clamp(620px,92svh,980px);display:flex;align-items:flex-end;padding-top:calc(var(--bar) + env(safe-area-inset-top,0px));color:#F7F3EE;overflow:hidden;isolation:isolate;background:#171311}
.hx-media,.hx-shade{position:absolute;inset:0;z-index:-2}
.hx-media picture,.hx-media img{display:block;width:100%;height:100%}
.hx-media img{object-fit:cover}
.motion .hx-media img{animation:hxZoom 18s var(--ease-out) both}
@keyframes hxZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.hx-shade{z-index:-1;background:linear-gradient(180deg,rgba(12,10,9,calc(var(--ov) * .55)) 0%,rgba(12,10,9,calc(var(--ov) * .35)) 35%,rgba(12,10,9,calc(var(--ov) + .15)) 100%),linear-gradient(90deg,rgba(12,10,9,calc(var(--ov) * .8)) 0%,transparent 70%)}
.hx-ph{position:absolute;inset:0;background:radial-gradient(90% 70% at 80% 15%,#5a1320 0%,transparent 60%),radial-gradient(70% 60% at 10% 90%,#3a2a20 0%,transparent 60%),linear-gradient(160deg,#1d1715,#0f0c0b)}
.hx-ph::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.035) 0 1px,transparent 1px 14px)}
.hx-ph i{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}
.hx-ph i:nth-child(1){width:46vw;height:46vw;right:-8vw;top:-10vw;background:#C8102E}
.hx-ph i:nth-child(2){width:30vw;height:30vw;left:30vw;bottom:-12vw;background:#9C6B3E;opacity:.35}
.hx-ph i:nth-child(3){width:22vw;height:22vw;right:24vw;bottom:10vh;background:#E39B2D;opacity:.18}
.motion .hx-ph i{animation:hxDrift 16s var(--ease-io) infinite alternate}
.motion .hx-ph i:nth-child(2){animation-duration:21s;animation-delay:-6s}
.motion .hx-ph i:nth-child(3){animation-duration:13s;animation-delay:-3s}
@keyframes hxDrift{to{transform:translate(-6vw,4vh) scale(1.15)}}
.hx-copy{position:relative;width:100%;padding-block:var(--s-5) clamp(3rem,2rem + 4vw,6rem)}
.hx-eyebrow{color:rgba(247,243,238,.82);display:flex;align-items:center;gap:12px;margin:0 0 var(--s-3)}
.hx-eyebrow i{width:28px;height:1px;background:#F2667A}
.hx h1{font:400 clamp(3rem,1.2rem + 7.4vw,8.6rem)/.9 var(--f-display);letter-spacing:-.03em;margin:0 0 var(--s-3);max-width:13ch;text-shadow:0 2px 30px rgba(0,0,0,.25)}
.hx h1 em{color:#FF8596;font-style:italic}
.hx-sub{max-width:52ch;margin:0 0 var(--s-4);font-size:clamp(1.05rem,1rem + .4vw,1.35rem);line-height:1.5;color:rgba(247,243,238,.88)}
.motion .hx-sub,.motion .hx-actions,.motion .hx-chips,.motion .hx-eyebrow{animation:rise var(--d-slow) var(--ease-out) both}
.motion .hx-eyebrow{animation-delay:.05s}.motion .hx-sub{animation-delay:.45s}.motion .hx-actions{animation-delay:.6s}.motion .hx-chips{animation-delay:.8s}
.hx-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:var(--s-3)}
.hx-btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 22px;border-radius:999px;text-decoration:none;color:#fff;position:relative;overflow:hidden;font:600 1.02rem/1 var(--f-text);transition:transform var(--d-fast) var(--ease-out),background var(--d-fast),box-shadow var(--d-base)}
.hx-btn>.ico:last-child{width:18px;height:18px;transition:transform var(--d-base) var(--ease-out)}
.hx-btn:hover>.ico:last-child{transform:translateX(5px)}
.hx-btn>.ico:first-child{width:19px;height:19px;opacity:.9}




.hx-btn-red{background:#C8102E;box-shadow:0 18px 40px -16px rgba(200,16,46,.8)}
.hx-btn-red:hover{background:#9E0B23;box-shadow:0 24px 50px -16px rgba(200,16,46,.9)}

.hx-btn-red::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%)}
.motion .hx-btn-red::after{animation:hxShine 4.5s var(--ease-io) 2s infinite}
@keyframes hxShine{0%,70%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.hx-btn-glass{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.34);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%)}
.hx-btn-glass:hover{background:rgba(255,255,255,.22)}

.hx-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.92rem;color:rgba(247,243,238,.9)}
.hx-chips li{display:inline-flex;align-items:center;gap:7px}
.hx-chips .ico{width:16px;height:16px;color:#6FD3A0}
.hx-cue{position:absolute;right:var(--gutter);bottom:var(--s-3);display:flex;align-items:center;gap:10px;color:rgba(247,243,238,.75);text-decoration:none}
.hx-cue i{display:block;width:1px;height:44px;background:rgba(255,255,255,.25);position:relative;overflow:hidden}
.hx-cue i::after{content:"";position:absolute;left:0;top:0;width:1px;height:45%;background:#FF8596}
.motion .hx-cue i::after{animation:cue 2.2s var(--ease-io) infinite}

/* ---------- press marquee ---------- */
.press{padding-block:clamp(2rem,1.5rem + 2vw,3.5rem);border-bottom:1px solid var(--rule)}
.press-label{display:flex;align-items:center;gap:14px;margin:0 0 var(--s-2)}
.press-label::before,.press-label::after{content:"";height:1px;flex:1;background:var(--rule)}
.press-label span{white-space:nowrap}
.press-mq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.press-track{display:flex;width:max-content}
.motion .press-track{animation:pressMq calc(var(--n,10) * 3.4s) linear infinite}
.press-mq:hover .press-track,.press-mq:focus-within .press-track{animation-play-state:paused}
@keyframes pressMq{to{transform:translateX(-50%)}}
.press-set{list-style:none;margin:0;padding:0;display:flex;flex:none}
.press-set li{flex:none;padding-inline:10px}
.press-cell{display:grid;place-items:center;width:188px;height:76px;border-radius:14px;text-decoration:none;color:var(--ink-2);transition:background var(--d-base),transform var(--d-base) var(--ease-out)}
.press-cell img{max-width:150px;max-height:44px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.62;transition:filter var(--d-base),opacity var(--d-base)}
.press-word{font:italic 600 1.25rem/1.1 var(--f-display);text-align:center;opacity:.7}
a.press-cell:hover,a.press-cell:focus-visible{background:var(--sheet);transform:translateY(-3px);box-shadow:0 10px 24px -16px rgba(0,0,0,.4)}
.press-cell:hover img{filter:none;opacity:1}
.press-cell:hover .press-word{opacity:1;color:#161412}
html:not(.motion) .press-mq{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
html:not(.motion) .press-set[aria-hidden="true"]{display:none}
:root[data-theme="dark"] .press-cell img{filter:grayscale(1) invert(1);opacity:.7}
:root[data-theme="dark"] .press-cell:hover img{filter:none;opacity:1}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .press-cell img{filter:grayscale(1) invert(1);opacity:.7}:root:not([data-theme="light"]) .press-cell:hover img{filter:none;opacity:1}}

/* ---------- ampersand editorial section (canvas animated by site.js) ---------- */
.hero.amp{min-height:clamp(620px,96svh,940px);padding-top:0;display:flex;align-items:center;border-bottom:1px solid var(--rule)}
.amp-copy{width:100%;position:relative;z-index:1;padding-block:var(--s-6)}
.amp-copy>*{max-width:min(46%,640px)}
.amp-label{display:flex;align-items:center;gap:12px}
.amp-label i{width:28px;height:1px;background:var(--red)}
.amp h2{font:400 clamp(2.4rem,1rem + 4.2vw,5.4rem)/.95 var(--f-display);letter-spacing:-.025em;margin:.35em 0 .4em}
.amp h2 em{color:var(--red)}
.amp-sub{font-size:clamp(1.05rem,1rem + .35vw,1.3rem);line-height:1.55;color:var(--ink-2);margin:0 0 var(--s-3)}
.amp-chips{list-style:none;margin:0;padding:0;display:none;flex-wrap:wrap;gap:8px}
.amp-chips li{border:1px solid var(--rule);background:var(--paper);border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:500}
.amp-orbit{position:absolute;left:73%;top:44%;width:min(46vw,760px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;z-index:0}
.amp-ring{position:absolute;inset:0}
.motion .amp-ring{animation:ampSpin 70s linear infinite}
.amp-o{position:absolute;left:50%;top:50%;transform:rotate(var(--a)) translateX(calc(min(46vw,760px) * .5)) rotate(calc(-1 * var(--a)))}
.amp-o>span{display:block;transform:translate(-50%,-50%);white-space:nowrap;background:var(--paper);border:1px solid var(--rule);box-shadow:0 12px 30px -18px rgba(0,0,0,.45);border-radius:999px;padding:9px 16px;font:500 .9rem/1 var(--f-text)}
.motion .amp-o>span{animation:ampSpinBack 70s linear infinite}
.amp-o:nth-child(3n+1)>span{border-color:color-mix(in srgb,var(--red) 45%,transparent);color:var(--red-text)}
@keyframes ampSpin{to{transform:rotate(360deg)}}
@keyframes ampSpinBack{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(-360deg)}}

/* ---------- house stats ---------- */
.hstats-label{margin:0 0 var(--s-3)}
/* Three across, which is what the 3n border rules below were drawn for. auto-fit was giving six
   narrow columns on a wide screen and a five figure number simply did not fit one of them. */
.hstats{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--ink)}
.hstat{position:relative;container-type:inline-size;min-width:0;display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:12px;padding:var(--s-3) var(--s-3) var(--s-4) 0;border-bottom:1px solid var(--rule)}
.hstat:not(:nth-child(3n)){border-right:1px solid var(--rule)}
.hstat:not(:nth-child(3n+1)){padding-left:var(--s-3)}
/* The number is sized against its own cell, not the window, so it can never outgrow the box. */
.hstat dd{margin:0;min-width:0;font:400 clamp(2.6rem,22cqi,6rem)/.9 var(--f-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:clip}
.hstat dd sup{font-size:.45em;color:var(--red);vertical-align:.9em;margin-left:2px}
.hstat dt strong{display:block;font:600 1rem/1.2 var(--f-text)}
.hstat dt span{display:block;color:var(--ink-2);font-size:.95rem;max-width:30ch;margin-top:4px}
.hstat-bar{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease-out) .2s}
.hstat.in .hstat-bar,html:not(.mo-ready) .hstat-bar{transform:scaleX(.35)}

/* ---------- service cards: a picture with the words on it ---------- */
.svx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2)}
.svx{position:relative;display:block;aspect-ratio:4/5;min-height:340px;border-radius:var(--r-2);background:var(--ink);color:#fff;text-decoration:none;overflow:hidden;isolation:isolate;transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base) var(--ease-out),opacity var(--d-base)}
.svx-img{position:absolute;inset:0;display:block;overflow:hidden;background:var(--tone,#8C6F55)}
.svx-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease-out)}
.svx-ph{position:absolute;inset:0;background:
  repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 3px,transparent 3px 7px),
  repeating-linear-gradient(-45deg,rgba(0,0,0,.08) 0 3px,transparent 3px 7px),
  var(--ph,#8C6F55)}
.svx-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,9,.46) 0%,rgba(10,9,9,.16) 34%,rgba(10,9,9,.82) 100%)}
.svx-body{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:var(--s-3)}
.svx:hover,.svx:focus-visible{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.svx:hover .svx-img img,.svx:focus-visible .svx-img img{transform:scale(1.06)}
.svx-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.svx-top .label{color:rgba(255,255,255,.88)}
.svx-ico{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(18,16,15,.28);backdrop-filter:blur(3px);display:grid;place-items:center;flex:none;transition:transform var(--d-base) var(--ease-out),background var(--d-fast),border-color var(--d-fast)}
.svx-ico .ico{width:21px;height:21px}
.svx:hover .svx-ico{transform:rotate(-18deg) scale(1.06);background:var(--red);border-color:var(--red)}
.svx-copy{display:grid;gap:8px}
.svx h3{margin:0;font:400 clamp(1.3rem,1.1rem + .6vw,1.7rem)/1.14 var(--f-display);text-shadow:0 1px 16px rgba(0,0,0,.35)}
.svx p{margin:0;color:rgba(255,255,255,.84);font-size:.95rem;line-height:1.45}
.svx-more{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;color:#fff}
.svx-more .ico{transition:transform var(--d-base) var(--ease-out)}
.svx:hover .svx-more .ico{transform:translateX(6px)}
.svx-red .svx-shade{background:linear-gradient(180deg,rgba(120,8,26,.4) 0%,rgba(120,8,26,.2) 34%,rgba(92,6,20,.88) 100%)}
.svx-ink .svx-shade{background:linear-gradient(180deg,rgba(10,9,9,.5) 0%,rgba(10,9,9,.22) 34%,rgba(10,9,9,.9) 100%)}
.svx-all{margin:var(--s-4) 0 0;text-align:center}
.svx-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.svx.is-out{display:none}
.svx.is-pop{animation:rise .6s var(--ease-out) both;animation-delay:calc(var(--k,0) * 45ms)}

/* services index filter */
.svc-index-hero .chips{margin-top:var(--s-2)}
.svf{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 14px;margin-bottom:var(--s-3);scrollbar-width:none;position:sticky;top:calc(var(--bar) + env(safe-area-inset-top,0px));z-index:20;background:var(--paper)}
.svf::-webkit-scrollbar{display:none}
.svf-b{flex:none;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--rule);background:var(--paper);color:var(--ink);font:600 .95rem/1 var(--f-text);cursor:pointer;transition:background var(--d-fast),color var(--d-fast),border-color var(--d-fast)}
.svf-b b{font:500 .72rem/1 var(--f-mono);background:var(--paper-2);color:var(--ink-2);border-radius:999px;padding:4px 7px}
.svf-b:hover{border-color:var(--ink)}
.svf-b.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.svf-b.is-on b{background:var(--red);color:#fff}

/* ---------- trust band ---------- */
.tband{background:var(--night);color:var(--night-ink);padding-block:var(--s-6)}
.tband .label{color:var(--night-ink-2)}
.tband-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-5);align-items:center}
.tband h2{font:400 var(--t-1)/.95 var(--f-display);letter-spacing:-.02em;margin:.3em 0 .4em}
.tband h2 em{color:#F2667A}
.tband-copy p{color:var(--night-ink-2);max-width:46ch;font-size:1.08rem;margin:0 0 var(--s-3)}
.tband .btn-ghost{color:var(--night-ink)}
.tband-docs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tband-docs li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:start;background:var(--night-2);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-2);padding:18px;transition:border-color var(--d-base),transform var(--d-base) var(--ease-out)}
.tband-docs li:hover{border-color:rgba(242,102,122,.6);transform:translateY(-3px)}
.tband-ico{width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.06);display:grid;place-items:center;color:#F2667A}
.tband-t{display:grid;gap:4px;min-width:0}
.tband-t strong{font:400 1.3rem/1.1 var(--f-display)}
.tband-t code{font:500 .9rem/1.3 var(--f-mono);letter-spacing:.04em;overflow-wrap:anywhere;color:var(--night-ink)}
.tband-link{grid-column:2;display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.88rem;color:#6FD3A0;text-decoration:none}
.tband-link .ico{width:16px;height:16px;transform:rotate(-45deg);transition:transform var(--d-base) var(--ease-out)}
.tband-link:hover .ico{transform:rotate(-45deg) translateX(4px)}

/* ---------- pillars ---------- */
.pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--s-2)}
.pillar{position:relative;background:var(--paper-2);border-radius:var(--r-2);padding:var(--s-4) var(--s-3) var(--s-3);overflow:hidden;transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base)}
.pillar:hover{transform:translateY(-6px);box-shadow:var(--shadow-lift)}
.pillar-n{position:absolute;right:14px;top:4px;font:italic 400 5.5rem/1 var(--f-display);color:var(--paper-3);pointer-events:none}
.pillar-ico{position:relative;width:58px;height:58px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;margin-bottom:var(--s-3);box-shadow:0 12px 24px -12px color-mix(in srgb,var(--red) 80%,transparent)}
.pillar-ico .ico{width:26px;height:26px}
.pillar:hover .pillar-ico{animation:pillarWob .7s var(--ease-out)}
@keyframes pillarWob{40%{transform:rotate(-14deg) scale(1.08)}}
.pillar h3{position:relative;font:400 1.8rem/1.05 var(--f-display);margin:0 0 .4em}
.pillar p{position:relative;margin:0;color:var(--ink-2)}

/* ---------- guarantee ---------- */
.gcard{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-5);align-items:center;background:#161412;color:#F4F2EF;border:1px solid var(--rule);border-radius:calc(var(--r-2) * 2);padding:clamp(1.75rem,1rem + 4vw,4.5rem);position:relative;overflow:hidden}
.gcard::after{content:"";position:absolute;right:-10%;top:-40%;width:50%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--red) 40%,transparent),transparent 65%);pointer-events:none}
.gcard .label{color:#F2667A}
.gcopy{position:relative;z-index:1}
.gcard h2{font:400 var(--t-1)/.95 var(--f-display);letter-spacing:-.02em;margin:.25em 0 .35em}
.gcard h2 em{color:#FF8596}
.gcopy>p{margin:0 0 var(--s-3);max-width:52ch;opacity:.8;font-size:1.08rem}
.gticks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.gticks li{display:flex;gap:10px;align-items:flex-start;font-size:1.02rem}
.gticks .ico{color:#6FD3A0;flex:none;margin-top:3px}
.gseal{position:relative;width:clamp(150px,16vw,230px);aspect-ratio:1;display:grid;place-items:center}
.gseal svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.gseal text{font:600 12px var(--f-mono);letter-spacing:1px;fill:currentColor;opacity:.85}
.motion .gseal svg{animation:ampSpin 30s linear infinite}
.gseal-core{width:62%;aspect-ratio:1;border-radius:50%;background:var(--red);color:#fff;display:grid;place-content:center;text-align:center;font:400 clamp(1.8rem,1.2rem + 1.4vw,2.8rem)/.9 var(--f-display);box-shadow:0 0 0 8px rgba(255,255,255,.06)}
.gseal-core small{font:500 .62rem/1.4 var(--f-mono);letter-spacing:.2em;text-transform:uppercase}

/* ---------- sales hero ---------- */
.btn-xl{min-height:60px;padding:0 1.7em;font-size:1.05rem}
.btn-sm{min-height:40px;padding:0 1em;font-size:.9rem}
.shero{padding-top:calc(var(--bar) + env(safe-area-inset-top,0px) + clamp(2.5rem,1.5rem + 4vw,6rem));padding-bottom:var(--s-5);overflow:hidden;position:relative}
.shero::before{content:"";position:absolute;right:-15vw;top:-10vw;width:60vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--red) 14%,transparent),transparent 62%);z-index:-1}
.shero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-5);align-items:center}
.shero-label{display:flex;align-items:center;gap:12px}
.shero-label i{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 0 color-mix(in srgb,var(--red) 50%,transparent)}
.motion .shero-label i{animation:sDot 2.2s var(--ease-io) infinite}
@keyframes sDot{60%{box-shadow:0 0 0 10px transparent}}
.shero h1{font:400 clamp(2.7rem,1.1rem + 5.2vw,6.6rem)/.92 var(--f-display);letter-spacing:-.03em;margin:.3em 0 .35em;max-width:15ch}
.shero h1 em{color:var(--red)}
.shero-sub{max-width:56ch;color:var(--ink-2);font-size:clamp(1.05rem,1rem + .35vw,1.28rem);line-height:1.55;margin:0 0 var(--s-3)}
.shero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:var(--s-3)}
.shero-chips .ico{color:var(--ok)}
.shero-art{position:relative;min-height:480px;display:grid;place-items:center;perspective:1400px}
.sbook{position:relative;--bw:clamp(190px,19vw,270px);--bh:calc(var(--bw) * 1.48);--bt:calc(var(--bw) * .17)}
.sbook-body{position:relative;width:var(--bw);height:var(--bh);transform-style:preserve-3d;transform:rotateY(-24deg) rotateX(6deg)}
.motion .sbook-body{animation:sbook 9s var(--ease-io) infinite alternate}
@keyframes sbook{from{transform:rotateY(-30deg) rotateX(8deg) translateY(0)}to{transform:rotateY(-8deg) rotateX(3deg) translateY(-14px)}}
.sbook-body>div{position:absolute;backface-visibility:hidden}
.sbook-front{inset:0;transform:translateZ(calc(var(--bt) / 2));background:linear-gradient(145deg,#D8173A,#9E0B23);color:#fff;padding:13% 12%;display:flex;flex-direction:column;gap:10px;box-shadow:inset 8px 0 12px -8px rgba(0,0,0,.45);border-radius:2px 6px 6px 2px}
.sbook-front::before{content:"";position:absolute;inset:9px;border:1px solid rgba(255,255,255,.35);pointer-events:none}
.sbook-k{font:500 .58rem/1 var(--f-mono);letter-spacing:.2em;text-transform:uppercase;opacity:.85}
.sbook-ico{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.45);display:grid;place-items:center;margin-top:12%}
.sbook-t{font:400 calc(var(--bw) * .15)/.92 var(--f-display);letter-spacing:-.02em;margin-top:auto;overflow-wrap:anywhere}
.sbook-t em{font-style:italic}
.sbook-a{font:500 .6rem/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.sbook-spine{top:0;height:100%;width:var(--bt);left:calc(50% - var(--bt) / 2);transform:rotateY(-90deg) translateZ(calc(var(--bw) / 2));background:#8A0A20}
.sbook-pages{top:4px;height:calc(100% - 8px);width:calc(var(--bt) - 4px);left:calc(50% - (var(--bt) - 4px) / 2);transform:rotateY(90deg) translateZ(calc(var(--bw) / 2 - 4px));background:repeating-linear-gradient(90deg,#f3eee6 0 1px,#d9d0c3 1px 2px)}
.sbook-shadow{position:absolute;left:10%;right:-10%;bottom:-40px;height:30px;border-radius:50%;background:rgba(0,0,0,.28);filter:blur(14px)}
.stag{position:absolute;display:inline-flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--rule);border-radius:999px;padding:10px 16px;font-weight:600;font-size:.9rem;box-shadow:var(--shadow-lift);white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}
.stag .ico{width:16px;height:16px;color:var(--ok)}
.stag-0{left:0;top:14%}.stag-1{right:0;top:44%}.stag-2{left:6%;bottom:10%}.stag-3{right:8%;top:4%}
.motion .stag{animation:bob 6s var(--ease-io) infinite}
.motion .stag-1{animation-duration:7s;animation-delay:-2s}.motion .stag-2{animation-duration:8s;animation-delay:-4s}

/* ---------- studio plan cards ---------- */
.sp-switch{display:none}
.sp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-2);align-items:stretch;padding-top:18px}
.sp-grid.sp-n1{grid-template-columns:minmax(0,480px)}
.sp-grid.sp-n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sp-grid.sp-n3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sp{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--rule);border-radius:calc(var(--r-2) * 1.5);overflow:visible;transition:transform var(--d-base) var(--ease-out),box-shadow var(--d-base) var(--ease-out),border-color var(--d-base);scroll-margin-top:calc(var(--bar) + 80px)}
.sp:hover{transform:translateY(-8px);box-shadow:var(--shadow-lift);border-color:var(--ink)}
.sp-best{border:2px solid var(--red);box-shadow:0 30px 60px -30px color-mix(in srgb,var(--red) 55%,transparent)}
.sp-flag{position:absolute;top:-15px;left:50%;transform:translateX(-50%);z-index:2;display:inline-flex;align-items:center;gap:6px;background:var(--red);color:#fff;border-radius:999px;padding:7px 14px;font:600 .7rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.sp-flag .ico{width:14px;height:14px;fill:currentColor}
.sp-head{position:relative;background:#161412;color:#F4F2EF;border-radius:calc(var(--r-2) * 1.5 - 1px) calc(var(--r-2) * 1.5 - 1px) 0 0;padding:var(--s-4) var(--s-3) var(--s-3);overflow:hidden;display:grid;gap:8px}
.sp-best .sp-head{background:linear-gradient(160deg,#2a1317,#161412 60%)}
.sp-head .label{color:#A8A097}
.sp-ribbon{position:absolute;top:22px;right:-44px;width:170px;text-align:center;transform:rotate(45deg);background:var(--red);color:#fff;font:600 .68rem/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;padding:8px 0}
.sp-name{font:400 clamp(1.8rem,1.3rem + 1vw,2.3rem)/1 var(--f-display);margin:0;letter-spacing:-.015em;padding-right:40px}
.sp-tag{margin:0;font:italic 400 1.02rem/1.35 var(--f-display);color:#CFC7BE;min-height:2.7em}
.sp-price{display:grid;gap:2px;margin-top:6px;font-variant-numeric:tabular-nums}
.sp-price s{font-size:.9rem;color:#A8A097}
.sp-price strong{font:400 clamp(2.6rem,2rem + 1.6vw,3.5rem)/1 var(--f-display);letter-spacing:-.02em}
.sp-quote{font-size:1.8rem!important}
.sp-save{margin:0;display:inline-block;justify-self:start;background:rgba(111,211,160,.14);color:#6FD3A0;border-radius:999px;padding:5px 10px;font:600 .74rem/1 var(--f-mono)}
.sp-perks{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--rule)}
.sp-perks span{display:grid;gap:2px;padding:14px var(--s-3);font-size:.82rem;color:var(--ink-2);line-height:1.25}
.sp-perks span+span{border-left:1px solid var(--rule)}
.sp-perks b{font:400 1.9rem/1 var(--f-display);color:var(--red-text)}
.sp-list{list-style:none;margin:0;padding:var(--s-3);display:grid;gap:10px;align-content:start;flex:1}
.sp-list li{display:grid;grid-template-columns:18px 1fr;gap:10px;font-size:.95rem;line-height:1.35}
.sp-list .ico{width:17px;height:17px;color:var(--ok);margin-top:1px}
.sp-list .sp-lead{display:block;font-weight:600;padding-bottom:6px;border-bottom:1px dashed var(--rule)}
.sp-cta{margin:0 var(--s-3);justify-content:center}
.sp-after{margin:12px var(--s-3) var(--s-3);display:flex;gap:8px;align-items:center;justify-content:center;font-size:.8rem;color:var(--ink-2);text-align:center}
.sp-after .ico{width:15px;height:15px}
.sp-notes{list-style:none;margin:var(--s-4) 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;color:var(--ink-2);font-size:.92rem}
.sp-notes li{display:inline-flex;align-items:center;gap:8px}
.sp-notes .ico{width:16px;height:16px;color:var(--ok)}

/* comparison table */
.cmp-wrap{overflow-x:auto;max-width:100%;contain:paint;border:1px solid var(--rule);border-radius:var(--r-2);background:var(--paper)}
.cmp{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;font-size:.95rem}
.cmp th,.cmp td{padding:13px 16px;border-bottom:1px solid var(--rule);text-align:center;vertical-align:middle}
.cmp thead th{position:sticky;top:0;background:var(--paper-2);z-index:1}
.cmp th[scope="row"],.cmp thead th:first-child{text-align:left;font-weight:500;position:sticky;left:0;background:var(--paper);z-index:1;min-width:220px}
.cmp thead th:first-child{background:var(--paper-2);z-index:2}
.cmp-name{display:block;font:400 1.25rem/1.1 var(--f-display)}
.cmp thead b{font:600 .9rem var(--f-mono)}
.cmp .is-best{background:color-mix(in srgb,var(--red) 4%,var(--paper))}
#compare{overflow-x:clip}
.cmp thead .is-best{background:var(--red);color:#fff}
.cmp tbody tr:hover th,.cmp tbody tr:hover td{background:var(--paper-2)}
.cmp-key b{font:400 1.5rem/1 var(--f-display);color:var(--red-text)}
.cmp-yes{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok)}
.cmp-yes .ico{width:16px;height:16px}
.cmp-no{display:inline-block;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--rule)}
.cmp tfoot td,.cmp tfoot th{border-bottom:0;padding-block:18px}
.cmp-hint{display:none;margin:10px 0 0;text-align:center}

/* ---------- service sales page ---------- */
.pains-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-5);align-items:start}
.pains-head{position:sticky;top:calc(var(--bar) + 2rem)}
.pains{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-2)}
.pains li{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:center;background:var(--paper-2);border-radius:var(--r-2);padding:22px;border-left:3px solid var(--red)}
.pains p{margin:0;font:italic 400 clamp(1.25rem,1rem + .8vw,1.7rem)/1.25 var(--f-display)}
.pain-q{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--paper);font:italic 400 1.6rem/1 var(--f-display);color:var(--red-text)}
.bens{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:0;border-top:1px solid var(--ink)}
.bens li{padding:var(--s-3) var(--s-3) var(--s-3) 0;border-bottom:1px solid var(--rule)}
.ben-n{font:500 var(--t-label)/1 var(--f-mono);letter-spacing:.14em;color:var(--red-text)}
.bens h3{font:400 1.6rem/1.1 var(--f-display);margin:.5em 0 .3em}
.bens p{margin:0;color:var(--ink-2);max-width:40ch}
.incl-sec{background:var(--paper-2)}
.incl-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s-5);align-items:start}
.incl li{background:var(--paper)}
.steps4{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3);counter-reset:s4;position:relative}
.steps4::before{content:"";position:absolute;left:24px;right:24px;top:24px;height:1px;background-image:linear-gradient(90deg,var(--ink-2) 50%,transparent 50%);background-size:10px 1px;opacity:.5}
.motion .steps4::before{animation:dashX 1.4s linear infinite}
@keyframes dashX{to{background-position:20px 0}}
.steps4 li{position:relative}
.s4-n{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--paper);font:600 1rem var(--f-mono)}
.steps4 li:last-child .s4-n{background:var(--red);color:#fff}
.steps4 h3{font:400 1.45rem/1.1 var(--f-display);margin:.7em 0 .3em}
.steps4 p{margin:0;color:var(--ink-2)}
.quote-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s-5);align-items:start}
.quote-copy .process-compact{margin:var(--s-3) 0}
.quote-sec .card-form{border:1px solid var(--rule);box-shadow:var(--shadow-lift);background:var(--paper)}
.quote-sec .card-form .hint{display:flex;gap:6px;align-items:center}
.quote-sec .card-form .hint .ico{width:15px;height:15px}
.quote-sec{scroll-margin-top:var(--bar)}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .sp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tband-grid{grid-template-columns:minmax(0,1fr)}
  .steps4{grid-template-columns:repeat(2,minmax(0,1fr))}.steps4::before{display:none}
}
@media (max-width:1024px){
  .amp-orbit{display:none}
  .hero.amp{align-items:flex-end;min-height:100svh}
  .amp-copy{padding-block:52svh var(--s-5)}
  .amp-copy>*{max-width:100%}
  .amp-chips{display:flex}
  .shero-grid,.pains-grid,.incl-grid,.quote-grid{grid-template-columns:minmax(0,1fr)}
  .shero-art{min-height:360px;margin-top:var(--s-2)}
  .shero{padding-top:calc(var(--bar) + env(safe-area-inset-top,0px) + 1.5rem)}
  .pains-head{position:static}
  .gcard{grid-template-columns:minmax(0,1fr);justify-items:start}
  .hstats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hstat{padding-left:0!important;border-right:0!important}
  .hstat:nth-child(odd){border-right:1px solid var(--rule)!important;padding-right:var(--s-2)}
  .hstat:nth-child(even){padding-left:var(--s-2)!important}
  .sp-switch{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;position:sticky;top:calc(var(--bar) + env(safe-area-inset-top,0px));z-index:15;background:var(--paper);padding:10px 0;margin:0 calc(var(--gutter) * -1);padding-inline:var(--gutter)}
  .sp-switch::-webkit-scrollbar{display:none}
  .sp-switch a{flex:none;display:grid;gap:2px;text-decoration:none;border:1px solid var(--rule);border-radius:12px;padding:8px 14px;font-size:.85rem;line-height:1.1}
  .sp-switch a b{font:600 .8rem var(--f-mono);color:var(--ink-2)}
  .sp-switch a.is-on{background:var(--ink);color:var(--paper);border-color:var(--ink)}
  .sp-switch a.is-on b{color:#F2667A}
  .sp-grid,.sp-grid.sp-n2,.sp-grid.sp-n3{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin:0 calc(var(--gutter) * -1);padding:22px var(--gutter) 18px;scroll-padding-inline:var(--gutter);scrollbar-width:none}
  .sp-grid::-webkit-scrollbar{display:none}
  .sp{flex:0 0 min(86vw,400px);scroll-snap-align:center}
  .sp:hover{transform:none}
  .cmp-hint{display:block}
}
@media (max-width:760px){
  .hx{min-height:100svh}
  .hx-copy{padding-bottom:var(--s-5)}
  .hx-actions{flex-direction:column;align-items:stretch}
  .hx-btn{min-height:50px;width:auto}
  .hx-cue{display:none}
  .hx-chips{gap:8px 14px;font-size:.85rem}
  .svx-grid,.svx-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .svx{min-height:0;aspect-ratio:3/4}
  .svx-body{padding:14px}
  .svx-ico{width:38px;height:38px}
  .svx-ico .ico{width:17px;height:17px}
  .svx p{font-size:.84rem;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .svx-more{font-size:.82rem}
  .tband-docs,.gticks{grid-template-columns:minmax(0,1fr)}
  .hstats{grid-template-columns:minmax(0,1fr)}
  .hstat:nth-child(n){border-right:0!important;padding-inline:0!important}
  .steps4{grid-template-columns:minmax(0,1fr)}
  .shero-art{min-height:320px}
  .sbook{--bw:clamp(150px,42vw,200px)}
  .stag{font-size:.8rem;padding:8px 12px}
  .stag-3{display:none}
  .shero-actions .btn{width:100%;justify-content:center}
  .pains li{grid-template-columns:40px 1fr;padding:16px}
  .pain-q{width:40px;height:40px;font-size:1.2rem}
  .press-cell{width:150px;height:64px}
  .press-cell img{max-width:120px;max-height:38px}
}
@media (prefers-reduced-motion:reduce){.amp-ring,.amp-o>span,.gseal svg,.sbook-body,.stag,.press-track{animation:none!important}}

@media (max-width:430px){
  .svx-grid,.svx-grid-3{grid-template-columns:minmax(0,1fr)}
  .svx{aspect-ratio:16/11}
}

/* _shell.css */
/* ================= SHELL: logo, header fit, bottom bar, password eye, drawer foot, footer ================= */

/* ---- brand icons (filled marks from simple-icons) ---- */
.ico.brand{fill:currentColor;stroke:none}

/* ---- logo: real images, theme aware, text fallback ---- */
.logo.has-img{flex-direction:row;align-items:center}
.logo-img{display:block;height:34px;width:auto;max-width:min(52vw,230px);object-fit:contain;object-position:left center}
.logo-d{display:none}
:root[data-theme="dark"] .logo-l{display:none}
:root[data-theme="dark"] .logo-d{display:block}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .logo-l{display:none}
  :root:not([data-theme="light"]) .logo-d{display:block}
}
.logo.has-img .logo-txt{display:none}
.logo.is-txt .logo-img{display:none}
.logo-txt{display:flex;flex-direction:column;justify-content:center}
.drawer .logo-txt b{color:var(--night-ink)}
.drawer .logo-txt small{color:var(--night-ink-2)}

/* ---- header: nav fits from 1025px to 1440px without wrapping ---- */
.hdr-nav{white-space:nowrap}
@media (min-width:1025px) and (max-width:1199px){
  .hdr-nav>a,.dd>button{padding-inline:11px;font-size:.92rem;gap:6px}
  .hdr-nav>a::after,.dd>button::after{left:11px;right:11px}
  .hdr-nav>a .ico,.dd>button .ico:not(.chev){display:none}
}
@media (min-width:1025px) and (max-width:1120px){
  .hdr-nav>a,.dd>button{padding-inline:9px;font-size:.88rem}
  .hdr-nav>a::after,.dd>button::after{left:9px;right:9px}
  .hdr .logo{padding-inline:14px}
  .hdr .logo-img{max-width:150px}
}

/* ---- bottom bar (nav mode): five equal items, full-height rules ---- */
.bbar-nav .bnav{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0 2px env(safe-area-inset-bottom,0px);margin:0;border:0;border-radius:0;background:none;color:var(--ink-2);font:500 .68rem/1 var(--f-text);letter-spacing:.02em;text-decoration:none;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent;transition:color var(--d-fast),background var(--d-fast)}
/* Full height hairline dividers, the same weight as the header rule. */
.bbar-nav .bnav+.bnav::after{content:"";position:absolute;left:-0.5px;top:0;bottom:0;width:1px;background:color-mix(in srgb,var(--ink) 20%,transparent)}
.bbar-nav .bnav{color:var(--chrome-ink-2)}
.bbar-nav .bnav[aria-current="page"]{color:var(--chrome-ink)}
.bbar-nav .bnav .ico{width:22px;height:22px;transition:transform var(--d-base) var(--ease-out)}
.bbar-nav .bnav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bbar-nav .bnav[aria-current="page"]{color:var(--ink);background:color-mix(in srgb,var(--red) 7%,transparent)}
.bbar-nav .bnav[aria-current="page"] .ico{color:var(--red)}
.bbar-nav .bnav[aria-current="page"]::before{content:"";position:absolute;top:-1px;left:0;right:0;height:2px;background:var(--red)}
.bbar-nav .bnav[aria-expanded="true"]{color:var(--ink)}
.bbar-nav .bnav:active{background:var(--paper-2)}
.bbar-nav .bnav:active .ico{transform:scale(.9)}
.bbar-nav .bnav:focus-visible{outline:2px solid var(--red);outline-offset:-4px}
.bbar-sale .bbar-side .ico.brand{width:24px;height:24px}

/* ---- password eye ---- */
.pw-wrap{position:relative;display:block;min-width:0;width:100%}
.pw-wrap>input{padding-right:52px!important}
.pw-eye{position:absolute;top:0;right:0;bottom:0;width:50px;display:grid;place-items:center;margin:0;padding:0;border:0;background:none;color:var(--ink-2);cursor:pointer;border-radius:0 10px 10px 0}
.pw-eye:hover,.pw-wrap.is-shown .pw-eye{color:var(--ink)}
.pw-eye .ico{width:20px;height:20px}
.pw-eye:focus-visible{outline:2px solid var(--red);outline-offset:-5px}

/* ---- drawer foot ---- */
.drawer-foot{display:grid;gap:var(--s-2);border-top:1px solid rgba(255,255,255,.1)}
.drawer-note{margin:var(--s-2) 0 0;max-width:46ch;font:italic 400 1.25rem/1.35 var(--f-display);color:var(--night-ink)}
.drawer-contact{display:flex;flex-wrap:wrap;gap:10px}
.drawer-contact a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:var(--night-ink);text-decoration:none;font-size:.9rem;transition:background var(--d-fast),border-color var(--d-fast)}
.drawer-contact a:hover{background:var(--red);border-color:var(--red);color:#fff}
.drawer-contact .ico{width:17px;height:17px}

/* ---- footer ---- */
.ftr{border-top:1px solid var(--rule);padding-top:clamp(3rem,2rem + 4vw,5.5rem);overflow:hidden;background:var(--paper)}
.ftr a{text-decoration:none}
.ftr h2{margin:0 0 var(--s-2)}
.ftr ul{list-style:none;margin:0;padding:0}
/* Three columns that start on the same line and end within the same band: nothing juts out
   below or past the others any more. */
.ftr-grid{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(0,6.2fr) minmax(0,3.6fr);grid-template-areas:"brand links talk";gap:var(--s-4) clamp(1.8rem,1rem + 2.4vw,3.6rem);align-items:start}
.ftr-brand{grid-area:brand;min-width:0}
.ftr-links{grid-area:links;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-3);min-width:0}
.ftr-talk{grid-area:talk;min-width:0}
.ftr-logo{padding:0;margin:0 0 var(--s-3);display:inline-flex}
.ftr-logo .logo-img{height:46px;max-width:min(100%,280px)}
.ftr-line{font:400 clamp(1.05rem,.98rem + .3vw,1.2rem)/1.45 var(--f-display);margin:0 0 var(--s-3);max-width:30ch;color:var(--ink)}
.ftr-socials{margin-top:auto}
.ftr-socials .soc{width:38px;height:38px}
.ftr-socials .soc .ico{width:16px;height:16px}
.ftr .news{margin-top:var(--s-3);max-width:none}
.ftr-news{padding-top:var(--s-3);border-top:1px solid var(--rule)}
.ftr-news .news-row{display:flex;gap:8px}
.ftr-news input{min-width:0;flex:1}
.ftr-news .btn{flex:none;white-space:nowrap}
.news-hint{margin:2px 0 0;font-size:.82rem;color:var(--ink-2)}
.ftr-col ul{display:grid;gap:4px;font-size:.93rem;list-style:none;margin:10px 0 0;padding:0}
.ftr-col li{min-height:30px}
.ftr-col a{display:flex;align-items:center;gap:9px;padding:5px 0;text-decoration:none;color:var(--ink);min-width:0;transition:color var(--d-fast)}
.ftr-col a .ico{width:16px;height:16px;flex:none;color:var(--ink-2);transition:color var(--d-fast),transform var(--d-fast)}
.ftr-col a:hover{color:var(--red-text)}
.ftr-col a:hover .ico{color:var(--red);transform:translateX(2px)}

.ftr-contact{display:grid;gap:2px}
.ftr-contact a,.ftr-contact .fc-row{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:7px 0;color:var(--ink);font-size:.95rem;line-height:1.35}
.ftr-contact span{min-width:0;overflow-wrap:anywhere}
.ftr-contact small{display:block;font:500 .62rem/1.2 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:3px}
.fc-ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);color:var(--ink);transition:background var(--d-fast),color var(--d-fast),transform var(--d-base) var(--ease-out)}
.fc-ico .ico{width:18px;height:18px}
.ftr-contact a:hover .fc-ico{background:var(--red);color:var(--on-red);transform:rotate(-8deg)}

.socials{display:flex;flex-wrap:wrap;gap:8px}
.soc{--bc:var(--ink);--bf:var(--paper);width:44px;height:44px;border-radius:50%;border:1px solid var(--rule);display:grid;place-items:center;color:var(--ink);transition:background var(--d-fast),color var(--d-fast),border-color var(--d-fast),transform var(--d-base) var(--ease-out)}
.soc .ico{width:18px;height:18px}
.soc:hover,.soc:focus-visible{background:var(--bc);border-color:var(--bc);color:var(--bf);transform:translateY(-3px)}
.soc-instagram{--bc:#E4405F;--bf:#fff}.soc-facebook{--bc:#0866FF;--bf:#fff}.soc-linkedin{--bc:#0A66C2;--bf:#fff}.soc-youtube{--bc:#FF0000;--bf:#fff}
.soc-pinterest{--bc:#BD081C;--bf:#fff}.soc-telegram{--bc:#26A5E4;--bf:#fff}.soc-whatsapp{--bc:#25D366;--bf:#fff}.soc-goodreads{--bc:#553B08;--bf:#fff}


.colophon{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 28px;border-top:1px solid var(--rule);margin-top:clamp(2.2rem,1.4rem + 2.4vw,3.6rem);padding-block:var(--s-3);font-size:.85rem;color:var(--ink-2)}
.colophon p{margin:0}
.colophon .legal{display:flex;flex-wrap:wrap;gap:6px 22px}
.colophon .legal a{color:var(--ink-2)}
.colophon .legal a:hover{color:var(--ink)}
.crafted{display:inline-flex;align-items:center;gap:6px}
.heart{display:inline-grid;place-items:center;color:var(--red)}
.heart .ico{width:15px;height:15px}
html.motion .heart .ico{animation:shell-beat 2.4s var(--ease-io) infinite}
@keyframes shell-beat{0%,60%,100%{transform:scale(1)}10%{transform:scale(1.22)}20%{transform:scale(1)}30%{transform:scale(1.14)}}

@media (max-width:1180px){
  .ftr-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"brand talk" "links links";gap:var(--s-4)}
}
@media (max-width:760px){
  .ftr-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"brand" "links" "talk";gap:var(--s-4)}
  .ftr-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}
  .ftr-logo .logo-img{height:38px}
  .colophon{flex-direction:column;align-items:flex-start}
  .drawer-note{font-size:1.1rem}
}

/* _tools.css */
/* ============ TOOLS: certificates, publishing agreement, manuscript submission ============ */
.mono{font-family:var(--f-mono);letter-spacing:.02em}
.up{text-transform:uppercase}
.tl-hero-tight{padding-bottom:var(--s-2)}
.tl-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-5);align-items:center}
.tl-cta{display:flex;flex-wrap:wrap;gap:12px;margin:var(--s-3) 0 var(--s-2)}
.tl-badges{list-style:none;margin:var(--s-3) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.tl-badges li{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--rule);border-radius:999px;font-size:.9rem;background:var(--paper)}
.tl-badges .ico{color:var(--red-text)}

/* how it works */
.tl-how{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-3);counter-reset:none}
.tl-how li{border-top:1px solid var(--ink);padding-top:var(--s-2);position:relative}
.tl-how li.is-done{border-top-color:var(--ok)}
.tl-how li.is-done .tl-n::after{content:" \2713";color:var(--ok)}
.tl-n{font:500 var(--t-label)/1 var(--f-mono);letter-spacing:.14em;color:var(--red-text)}
.tl-how h2{margin:.7em 0 .4em}
.tl-how p{margin:0;color:var(--ink-2)}
.tl-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3);margin-top:var(--s-5)}
.tl-notes .note-card{margin:0}
.tl-notes h2{display:flex;align-items:center;gap:10px}
.tl-notes h2 .ico{color:var(--red-text)}
.tl-notes p{margin:0}

/* ---------- verify form ---------- */
.cv-form{display:grid;gap:8px;max-width:640px;margin-top:var(--s-3)}
.cv-row{display:flex;gap:8px;align-items:stretch;position:relative;background:var(--sheet);border-radius:999px;padding:6px;box-shadow:var(--shadow-lift)}
.cv-row .cv-icon{display:grid;place-items:center;padding-left:14px;color:#6b635c}
.cv-row input:not([type=radio]):not([type=checkbox]){flex:1;min-width:0;border:0;background:transparent;color:#161412;font:500 1.05rem var(--f-mono);letter-spacing:.06em;text-transform:uppercase;box-shadow:none;padding:0 6px}
.cv-row input::placeholder{color:#8b837b;text-transform:none}
.cv-row .btn{flex:none}
.cv-form.is-compact .cv-row{box-shadow:none;border:1px solid var(--rule)}
/* hero art: a little certificate */
.cv-art{display:grid;place-items:center;perspective:900px}
.cv-mini{position:relative;width:min(100%,420px);aspect-ratio:297/210;background:#FDFBF7;color:#161412;border:5px solid #C8102E;outline:1px solid #C8102E;outline-offset:-12px;box-shadow:var(--shadow-lift);display:grid;justify-items:center;align-content:center;gap:4px;padding:18px;text-align:center;transform:rotate(-3deg)}
.motion .cv-mini{animation:cvFloat 7s var(--ease-io) infinite alternate}
@keyframes cvFloat{from{transform:rotate(-3deg) translateY(0)}to{transform:rotate(-1deg) translateY(-10px)}}
.cv-mini-logo{font:700 1rem/1 var(--f-display)}.cv-mini-logo b{color:#C8102E}
.cv-mini-h{font:400 clamp(1.3rem,1rem + 1.4vw,2rem)/1 var(--f-display);color:#C8102E;text-transform:uppercase;letter-spacing:.12em;margin-top:4px}
.cv-mini-s{font:600 .5rem/1.2 var(--f-text);letter-spacing:.12em;text-transform:uppercase}
.cv-mini-name{font:italic 700 clamp(1rem,.8rem + .9vw,1.45rem)/1.1 var(--f-display);margin-top:8px}
.cv-mini-line{width:55%;height:1px;background:#C8102E}
.cv-mini-book{font:700 .62rem/1.2 var(--f-display);color:#C8102E;letter-spacing:.08em}
.cv-mini-id{position:absolute;left:22px;bottom:18px;font:600 .5rem var(--f-mono);color:#C8102E}
.cv-mini-seal{position:absolute;right:20px;bottom:14px;width:30px;height:30px;border:1.5px solid #C8102E;border-radius:50%;display:grid;place-items:center;color:#C8102E}
.cv-mini-seal .ico{width:16px;height:16px}

/* ---------- verified card ---------- */
.cv-card{position:relative;overflow:hidden;background:#FDFBF7;color:#161412;border-radius:4px;padding:clamp(1.5rem,1rem + 4vw,3.5rem) clamp(1.25rem,1rem + 3vw,3rem);text-align:center;box-shadow:var(--shadow-lift);border:6px double #C8102E}
.cv-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(200,16,46,.35);pointer-events:none}
.cv-card.is-revoked{border-color:#8b837b;filter:saturate(.4)}
.cv-seal{width:92px;height:92px;margin:0 auto var(--s-2)}
.cv-seal svg{width:100%;height:100%;overflow:visible}
.cv-seal circle,.cv-seal path{fill:none;stroke:#C8102E;stroke-linecap:round;stroke-linejoin:round}
.cv-card.is-valid .cv-seal circle,.cv-card.is-valid .cv-seal path{stroke:#1F7A52}
.cv-ring{stroke-width:3}.cv-ring2{stroke-width:1.2;stroke-dasharray:.02 .015}.cv-tick{stroke-width:6}
.motion .cv-ring,.motion .cv-tick{stroke-dasharray:1;stroke-dashoffset:1;animation:cvDraw 1s var(--ease-out) forwards}
.motion .cv-tick{animation-delay:.55s}
@keyframes cvDraw{to{stroke-dashoffset:0}}
.cv-kicker{color:#5A534D;margin:0 0 var(--s-2)}
.cv-pre{margin:.2em 0;color:#5A534D;font-size:.95rem}
.cv-name{font:italic 700 clamp(2rem,1.2rem + 3.5vw,3.6rem)/1.05 var(--f-display);margin:.1em 0 .15em;overflow-wrap:anywhere}
.cv-book{font:600 clamp(1.1rem,1rem + 1vw,1.6rem)/1.2 var(--f-display);color:#C8102E;text-transform:uppercase;letter-spacing:.05em;margin:.2em 0 var(--s-3);overflow-wrap:anywhere}
.cv-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(22,20,18,.12);border:1px solid rgba(22,20,18,.12);border-radius:8px;overflow:hidden;margin:0;text-align:left}
.cv-meta div{background:#FDFBF7;padding:12px 16px;min-width:0}
.cv-meta dt{font:500 .66rem/1.3 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:#6b635c}
.cv-meta dd{margin:4px 0 0;font-weight:600;overflow-wrap:anywhere}
.cv-meta dd.mono{color:#C8102E}
.cv-foot{display:flex;justify-content:center;align-items:center;gap:8px;margin:var(--s-3) 0 0;font-size:.85rem;color:#5A534D}
.cv-foot .ico{color:#1F7A52}
.cv-stamp{position:absolute;top:26%;left:50%;transform:translateX(-50%) rotate(-14deg);font:700 clamp(2rem,1rem + 5vw,4rem)/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(200,16,46,.75);border:5px solid rgba(200,16,46,.7);padding:6px 18px;border-radius:8px;pointer-events:none}
.cv-card .pill-paid{background:rgba(31,122,82,.14);color:#1F7A52}
.cv-card .pill-cancelled{background:rgba(200,16,46,.12);color:#9E0B23}
.cv-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:var(--s-4)}
.cv-miss{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-3);align-items:center;background:var(--paper-2);border-radius:var(--r-2);padding:var(--s-3);margin-bottom:var(--s-3)}
.cv-miss-glyph{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--red-text)}
.cv-miss-glyph .ico{width:32px;height:32px}
.motion .cv-miss-glyph .ico{animation:cvLook 3.2s var(--ease-io) infinite}
@keyframes cvLook{0%,100%{transform:translate(0,0)}30%{transform:translate(-5px,2px)}60%{transform:translate(5px,-2px)}}
.cv-miss .cv-form{margin:0}

/* staff lock */
.tl-lock-ico{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);color:var(--red-text);margin-bottom:var(--s-2)}
.tl-lock-ico .ico{width:38px;height:38px}
.motion .tl-lock-ico .ico{animation:tlShake 4s var(--ease-io) infinite}
@keyframes tlShake{0%,86%,100%{transform:rotate(0)}89%{transform:rotate(-10deg)}93%{transform:rotate(9deg)}96%{transform:rotate(-4deg)}}

/* ---------- issue page ---------- */
.ci-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:var(--s-5);align-items:start}
.ci-form{display:grid;gap:var(--s-2)}
.ci-legacy summary{cursor:pointer;font-weight:600;font-size:.92rem;padding:6px 0}
.ci-legacy[open] summary{margin-bottom:var(--s-2)}
.ci-side{position:sticky;top:calc(var(--bar) + 20px);display:grid;gap:var(--s-2)}
.ci-paper{position:relative;aspect-ratio:297/210;background:#FDFBF7;color:#161412;border:6px solid #C8102E;outline:1px solid #C8102E;outline-offset:-14px;display:grid;justify-items:center;align-content:center;gap:3px;padding:6% 8%;text-align:center;box-shadow:var(--shadow-lift);container-type:inline-size;overflow:hidden}
.ci-p-logo{font:700 3.6cqw/1 var(--f-display)}.ci-p-logo b{color:#C8102E}
.ci-p-h{font:400 8cqw/1 var(--f-display);color:#C8102E;text-transform:uppercase;letter-spacing:.1em;margin-top:2cqw}
.ci-p-s{font:600 1.7cqw/1.2 var(--f-text);letter-spacing:.12em;text-transform:uppercase}
.ci-p-pre{font-size:1.9cqw;color:#5A534D;margin-top:1.4cqw}
.ci-p-name{font:italic 700 6cqw/1.1 var(--f-display);border-bottom:1px solid #C8102E;padding:0 3cqw .6cqw;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ci-p-book{font:700 3.2cqw/1.15 var(--f-display);color:#C8102E;letter-spacing:.04em;max-width:90%}
.ci-p-foot{position:absolute;left:8%;right:8%;bottom:7%;display:flex;justify-content:space-between;font:600 1.6cqw var(--f-mono);color:#5A534D}
.ci-p-foot span:first-child{color:#C8102E}
.ci-done{background:var(--paper-2);border-radius:var(--r-2);padding:var(--s-3);text-align:center}
.ci-done-ico{width:56px;height:56px;border-radius:50%;background:var(--ok);color:#fff;display:inline-grid;place-items:center}
.motion .ci-done-ico{animation:wzPop .6s var(--ease-out) both}
.ci-done-id{font-size:1.2rem;color:var(--red-text);margin:.2em 0}
.ci-done-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:var(--s-2)}

/* ---------- wizard (agreement and submission) ---------- */
.wz-sec{padding-top:var(--s-3)}
.wz{position:relative}
.wz-progress{position:sticky;top:var(--bar);z-index:5;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:14px 0 12px;margin-bottom:var(--s-3);border-bottom:1px solid var(--rule)}
.wz-steps{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;gap:6px}
.wz-steps li{display:flex;align-items:center;gap:10px;color:var(--ink-2);font-size:.9rem;min-width:0}
.wz-dot{flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--rule);display:grid;place-items:center;font:600 .85rem var(--f-mono);background:var(--paper);transition:background var(--d-base),border-color var(--d-base),color var(--d-base)}
.wz-dot .ico{display:none;width:16px;height:16px}
.wz-steps li.is-now{color:var(--ink);font-weight:600}
.wz-steps li.is-now .wz-dot{border-color:var(--red);color:var(--red-text);box-shadow:0 0 0 5px color-mix(in srgb,var(--red) 14%,transparent)}
.wz-steps li.is-done .wz-dot{background:var(--red);border-color:var(--red);color:var(--on-red)}
.wz-steps li.is-done .wz-dot b{display:none}.wz-steps li.is-done .wz-dot .ico{display:block}
.wz-bar{height:3px;background:var(--rule);border-radius:3px;margin-top:12px;overflow:hidden}
.wz-bar i{display:block;height:100%;width:0;background:var(--red);transition:width var(--d-slow) var(--ease-out)}
.wz-restored{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--paper-2);border-radius:var(--r-2);padding:10px 14px;font-size:.92rem;margin:0 0 var(--s-3)}
.wz-restored .ico{color:var(--red-text)}
.sb-prev .ico{color:var(--ok)}
.wz-grid{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:var(--s-5);align-items:start}
.wz-form{min-width:0}
.wz-panel{border:0;margin:0;padding:0;min-width:0;display:grid;gap:var(--s-2)}
.motion .wz-panel.is-on{animation:wzIn .6s var(--ease-out) both}
@keyframes wzIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes wzPop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.08);opacity:1}100%{transform:scale(1)}}
.wz-head{margin-bottom:var(--s-1)}
.wz-head .h2{font:400 var(--t-2)/1 var(--f-display);letter-spacing:-.015em;margin:.3em 0 .35em}
.wz-head .h2 em{color:var(--red)}
.wz-head p:not(.label){margin:0;color:var(--ink-2);max-width:60ch}
.wz-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid var(--rule)}
.wz-msg:empty{display:none}
.wz-form .is-bad{border-color:var(--red)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 22%,transparent)}
.motion .wz-form .is-bad{animation:wzNudge .4s}
@keyframes wzNudge{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.wz-cond{display:grid;gap:var(--s-2)}
.wz-cond[hidden]{display:none}
.motion .wz-cond:not([hidden]){animation:wzIn .5s var(--ease-out) both}

/* plan cards */
.wz-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-2)}
.wz-plan{position:relative;display:grid;align-content:start;gap:12px;padding:var(--s-3) var(--s-3) var(--s-2);border:1.5px solid var(--rule);border-radius:14px;background:var(--paper);cursor:pointer;transition:border-color var(--d-fast),transform var(--d-base) var(--ease-out),box-shadow var(--d-base)}
.wz-plan:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.wz-plan input{position:absolute;opacity:0;pointer-events:none}
.wz-plan:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--red) 40%,transparent);outline-offset:2px}
.wz-plan:has(input:checked){border-color:var(--red);box-shadow:0 0 0 1px var(--red),var(--shadow-lift)}
.wz-plan-top{display:grid;gap:4px}
.wz-plan-top strong{font:400 1.6rem/1.05 var(--f-display)}
.wz-plan-top .plan-badge{position:static;justify-self:start;margin-bottom:4px}
.wz-plan-price{font:600 1.25rem var(--f-text)}.wz-plan-price s{font-weight:400;font-size:.9rem;color:var(--ink-2)}
.wz-plan-top small{color:var(--ink-2);font-size:.9rem}
.wz-plan ul{list-style:none;margin:0;padding:0;display:grid;gap:5px;font-size:.88rem}
.wz-plan li{display:flex;gap:8px;align-items:flex-start}.wz-plan li .ico{flex:none;color:var(--ok);width:16px;height:16px;margin-top:2px}
.wz-plan-copies{display:flex;gap:8px;align-items:center;font-weight:600;font-size:.88rem;color:var(--red-text)}
.wz-plan-pick{display:grid;place-items:center;min-height:42px;border-radius:999px;border:1px solid var(--ink);font-weight:600;font-size:.92rem;margin-top:4px}
.wz-plan-pick span:last-child{display:none}
.wz-plan:has(input:checked) .wz-plan-pick{background:var(--red);border-color:var(--red);color:var(--on-red)}
.wz-plan:has(input:checked) .wz-plan-pick span:first-child{display:none}
.wz-plan:has(input:checked) .wz-plan-pick span:last-child{display:inline-flex;align-items:center;gap:6px}

/* choice cards */
.wz-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wz-choice{display:flex;gap:12px;align-items:center;padding:14px 16px;border:1.5px solid var(--rule);border-radius:12px;cursor:pointer;background:var(--paper);transition:border-color var(--d-fast),background var(--d-fast)}
.wz-choice input{position:absolute;opacity:0;pointer-events:none}
.wz-choice strong{display:block}.wz-choice small{display:block;color:var(--ink-2);font-size:.86rem}
.wz-choice-ico{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--paper-2);color:var(--ink-2);transition:background var(--d-fast),color var(--d-fast)}
.wz-choice:has(input:checked){border-color:var(--red);background:color-mix(in srgb,var(--red) 6%,var(--paper))}
.wz-choice:has(input:checked) .wz-choice-ico{background:var(--red);color:var(--on-red)}
.wz-choice:has(input:focus-visible){outline:3px solid color-mix(in srgb,var(--red) 40%,transparent);outline-offset:2px}
.wz-box{display:grid;gap:12px;background:var(--paper-2);border-radius:var(--r-2);padding:var(--s-2) var(--s-3) var(--s-3)}
.wz-check{padding:10px 12px;border-radius:10px;background:var(--paper);transition:background var(--d-fast)}
.wz-check:has(input:checked){background:color-mix(in srgb,var(--ok) 10%,var(--paper))}
.wz-check.is-guardian{border:1.5px solid var(--red)}
.wz-guardian{display:grid;gap:var(--s-2);border:1.5px solid color-mix(in srgb,var(--red) 40%,transparent);border-radius:14px;padding:var(--s-3)}
.wz-guardian h3{display:flex;align-items:center;gap:10px;margin:0}.wz-guardian h3 .ico{color:var(--red-text)}
.wz-mask{position:relative;display:flex;align-items:center}
.wz-mask input{letter-spacing:.08em;font-family:var(--f-mono)}
.wz-mask .linkish{position:absolute;right:14px;font-size:.88rem}
.wz-mask.is-masked input{background:var(--paper-2)}
.wz-count{justify-self:end;font:500 .72rem var(--f-mono);color:var(--ink-2)}
.wz-count.is-near{color:var(--red-text)}

/* terms */
.wz-terms{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);border-radius:14px;overflow:hidden;border:1px solid var(--rule)}
.wz-royalty{background:var(--red);color:var(--on-red);padding:var(--s-3);display:grid;align-content:center;gap:6px}
.wz-royalty span{font:400 clamp(1.5rem,1rem + 1.6vw,2.2rem)/1.05 var(--f-display)}
.wz-royalty small{opacity:.9}
.wz-terms dl{margin:0;display:grid;background:var(--paper)}
.wz-terms dl div{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:10px;padding:10px 16px;border-bottom:1px solid var(--rule)}
.wz-terms dl div:last-child{border-bottom:0}
.wz-terms dt{font:500 .7rem/1.6 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.wz-terms dd{margin:0;font-weight:600;font-size:.95rem}
.wz-clauses{border:1px solid var(--rule);border-radius:12px;padding:0 var(--s-2)}
.wz-clauses summary{cursor:pointer;display:flex;align-items:center;gap:10px;font-weight:600;padding:14px 0}
.wz-clauses ol{margin:0 0 var(--s-2);padding-left:1.3em;display:grid;gap:12px;max-height:340px;overflow:auto}
.wz-clauses p{margin:.2em 0 0;color:var(--ink-2);font-size:.93rem}

/* preview + signature */
.wz-preview{max-height:360px;overflow:auto;border:1px solid var(--rule);border-radius:12px;background:#FDFBF7;color:#161412}
.wz-doc{padding:var(--s-3)}
.wz-doc .label{color:#C8102E}
.wz-doc h3{font:400 1.5rem/1.15 var(--f-display);margin:.3em 0 .6em}.wz-doc h3 em{color:#C8102E}
.wz-doc-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:0 0 var(--s-2);font-size:.9rem}
.wz-doc-meta dt{font:500 .66rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#6b635c}.wz-doc-meta dd{margin:2px 0 0;font-weight:600}
.wz-doc ol{margin:0;padding-left:1.2em;display:grid;gap:10px;font-size:.9rem}.wz-doc ol p{margin:.15em 0 0;color:#3d3833}
.wz-sign{display:grid;gap:10px}
.wz-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--paper-2);border-radius:999px;justify-self:start}
.wz-tabs button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--ink-2);font:600 .9rem var(--f-text);padding:9px 16px;border-radius:999px;cursor:pointer}
.wz-tabs button.is-on{background:var(--paper);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.wz-pad{position:relative;height:190px;border-radius:14px;background:#FFFFFF;border:1.5px dashed #b9b0a6;overflow:hidden}
.wz-pad canvas{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair;touch-action:none}
.wz-pad::after{content:"";position:absolute;left:12%;right:8%;bottom:48px;height:1px;background:#cfc7be;pointer-events:none}
.wz-pad-x{position:absolute;left:6%;bottom:44px;font:400 1.4rem/1 var(--f-display);color:#b9b0a6;pointer-events:none}
.wz-pad-hint{position:absolute;inset:0;display:grid;place-items:center;color:#9a9189;font:italic 400 1.5rem var(--f-display);pointer-events:none}
.wz-sign .linkish{justify-self:start;display:inline-flex;gap:6px;align-items:center;font-size:.9rem}
.wz-drop{position:relative;display:grid;justify-items:center;gap:6px;text-align:center;padding:var(--s-4) var(--s-2);border:1.5px dashed var(--rule);border-radius:14px;background:var(--paper-2);cursor:pointer;transition:border-color var(--d-fast),background var(--d-fast),transform var(--d-base) var(--ease-out)}
.wz-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.wz-drop:hover,.wz-drop.is-over{border-color:var(--red);background:color-mix(in srgb,var(--red) 6%,var(--paper-2))}
.wz-drop.is-over{transform:scale(1.01)}
.wz-drop-ico{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--red-text)}
.motion .wz-drop:hover .wz-drop-ico .ico{animation:wzBob .9s var(--ease-io) infinite alternate}
@keyframes wzBob{to{transform:translateY(-4px)}}
.wz-drop small{color:var(--ink-2)}
.wz-sig-prev{display:flex;align-items:center;gap:14px}
.wz-sig-prev img{max-width:240px;max-height:110px;background:#fff;border:1px solid var(--rule);border-radius:8px;padding:8px}

/* aside */
.wz-aside{position:sticky;top:calc(var(--bar) + 96px);display:grid;gap:var(--s-2)}
.wz-sum{background:var(--night);color:var(--night-ink);border-radius:14px;padding:var(--s-3)}
.wz-sum .label{color:var(--night-ink-2)}
.wz-sum .h3{margin:.4em 0 .2em}
.wz-sum-price{margin:0 0 var(--s-2);color:var(--night-ink-2);font-size:.92rem}
.wz-sum .ticks li{font-size:.9rem}.wz-sum .ticks .ico{color:#6FD3A0}
.wz-privacy{display:flex;gap:12px;align-items:flex-start;background:var(--paper-2);border-radius:14px;padding:var(--s-2);font-size:.9rem}
.wz-privacy p{margin:0}.wz-privacy .ico{flex:none;color:var(--ok);margin-top:3px}

/* done */
.wz-done{text-align:center;max-width:760px;margin:0 auto;padding:var(--s-4) 0;outline:none}
.wz-done .h1{margin-inline:auto}
.wz-done .phero-sub{margin-inline:auto}
.wz-done-mark{width:120px;height:120px;margin:0 auto var(--s-2)}
.wz-done-mark svg{width:100%;height:100%}
.wz-done-mark circle{fill:color-mix(in srgb,var(--ok) 12%,transparent);stroke:var(--ok);stroke-width:3}
.wz-done-mark path{fill:none;stroke:var(--ok);stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.motion .wz-done:not([hidden]) .wz-done-mark circle,.motion .wz-done:not([hidden]) .wz-done-mark path{stroke-dasharray:1;stroke-dashoffset:1;animation:cvDraw .9s var(--ease-out) forwards}
.motion .wz-done:not([hidden]) .wz-done-mark path{animation-delay:.5s}
.motion .wz-done:not([hidden]) .wz-done-mark{animation:wzPop .7s var(--ease-out) both}
.wz-done-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:var(--s-3) 0}
.wz-next{list-style:none;padding:0;margin:var(--s-3) auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);text-align:left}
.wz-next li{display:flex;gap:10px;align-items:flex-start;background:var(--paper-2);border-radius:12px;padding:var(--s-2);font-size:.92rem}
.wz-next .ico{flex:none;color:var(--red-text)}

/* ---------- submission ---------- */
.sb-quote{margin:var(--s-3) 0 0;max-width:52ch;border-left:2px solid var(--red);padding-left:var(--s-2);transition:opacity .45s var(--ease-out)}
.sb-quote.is-out{opacity:0}
.sb-quote blockquote{margin:0;font:italic 400 clamp(1.1rem,1rem + .6vw,1.45rem)/1.35 var(--f-display)}
.sb-quote figcaption{margin-top:6px;font:500 var(--t-label) var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.sb-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border:1.5px solid var(--rule);border-radius:14px;padding:14px 8px 14px 16px;background:var(--paper)}
.sb-file.is-done{border-color:var(--ok)}
.sb-file-ico{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--paper-2);color:var(--red-text)}
.sb-file.is-done .sb-file-ico{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}
.sb-file-body{display:grid;gap:4px;min-width:0}
.sb-file-body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-file-body small{color:var(--ink-2)}
.sb-file .tool{border-left:0;width:44px;height:44px}
.sb-meter{height:8px;border-radius:8px;background:var(--paper-3);overflow:hidden}
.sb-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red),#E8526A);border-radius:8px;transition:width .25s linear}
.sb-file.is-done .sb-meter i{background:var(--ok)}
.sb-fstate.is-ok{color:var(--ok);font-weight:600}.sb-fstate.is-err{color:var(--red-text);font-weight:600}
.sb-review{display:grid;gap:12px}
.sb-rev{border:1px solid var(--rule);border-radius:12px;padding:var(--s-2)}
.sb-rev header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.sb-rev h3{margin:0;font:500 var(--t-label) var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--red-text)}
.sb-rev dl{margin:0;display:grid;gap:6px}
.sb-rev dl div{display:grid;grid-template-columns:9em minmax(0,1fr);gap:10px}
.sb-rev dt{color:var(--ink-2)}.sb-rev dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.sb-syn{margin:0;padding:var(--s-2);border-left:2px solid var(--red);background:var(--paper-2);border-radius:0 12px 12px 0;font:italic 400 1.05rem/1.5 var(--f-display)}
/* locked door art */
.sb-door{position:relative;height:320px;display:grid;place-items:center}
.sb-door-page{position:absolute;width:190px;height:250px;background:var(--sheet);border-radius:6px;box-shadow:var(--shadow-lift);border:1px solid var(--rule)}
.sb-door-page:nth-child(1){transform:rotate(-9deg) translateX(-26px)}
.sb-door-page:nth-child(2){transform:rotate(5deg) translateX(20px)}
.sb-door-page:nth-child(3){transform:rotate(-1deg);background-image:repeating-linear-gradient(to bottom,transparent 0 22px,rgba(22,20,18,.12) 22px 23px);background-position:0 40px;background-size:100% calc(100% - 70px);background-repeat:no-repeat}
.motion .sb-door-page:nth-child(1){animation:sbFan1 6s var(--ease-io) infinite alternate}
.motion .sb-door-page:nth-child(2){animation:sbFan2 6s var(--ease-io) infinite alternate}
@keyframes sbFan1{to{transform:rotate(-13deg) translateX(-38px)}}
@keyframes sbFan2{to{transform:rotate(9deg) translateX(32px)}}
.sb-door-lock{position:relative;width:78px;height:78px;border-radius:50%;background:var(--red);color:var(--on-red);display:grid;place-items:center;box-shadow:0 12px 30px -8px color-mix(in srgb,var(--red) 70%,transparent)}
.sb-door-lock .ico{width:34px;height:34px}
.motion .sb-door-lock{animation:sbPulse 2.6s var(--ease-io) infinite}
@keyframes sbPulse{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--red) 45%,transparent)}50%{box-shadow:0 0 0 18px transparent}}

/* ---------- thank-you page: upload card ---------- */
.ty-upload{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--s-3);align-items:start;margin:0 0 var(--s-3);padding:clamp(1.5rem,1rem + 3vw,3rem);border-radius:18px;background:var(--red);color:var(--on-red);box-shadow:0 30px 60px -30px color-mix(in srgb,var(--red) 80%,transparent)}
.ty-upload-glow{position:absolute;width:420px;height:420px;right:-140px;top:-180px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 65%);pointer-events:none}
.motion .ty-upload-glow{animation:tyGlow 8s var(--ease-io) infinite alternate}
@keyframes tyGlow{to{transform:translate(-80px,60px) scale(1.2)}}
.ty-upload-ico{position:relative;width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center}
.ty-upload-ico .ico{width:30px;height:30px}
.motion .ty-upload-ico .ico{animation:wzBob 1.2s var(--ease-io) infinite alternate}
.ty-upload-body{position:relative}
.ty-upload .label{color:rgba(255,255,255,.82)}
.ty-upload h2{font:400 clamp(1.9rem,1.2rem + 2.6vw,3.2rem)/1 var(--f-display);margin:.25em 0 .35em;letter-spacing:-.015em}
.ty-upload h2 em{color:#fff;font-style:italic}
.ty-upload p{margin:0 0 var(--s-3);max-width:52ch;opacity:.95}
.ty-upload .btn-red{background:#fff;color:#9E0B23}
.ty-upload .btn-red:hover{background:var(--night);color:#fff}

@media (max-width:980px){
  .tl-hero-grid,.ci-grid,.wz-grid{grid-template-columns:minmax(0,1fr)}
  .cv-art,.sb-door{display:none}
  .ci-side,.wz-aside{position:static}
  .wz-lab{display:none}
  .wz-steps li.is-now .wz-lab{display:inline}
}
@media (max-width:640px){
  .tl-how,.tl-notes,.wz-plans,.wz-choices,.wz-next,.cv-meta,.wz-doc-meta{grid-template-columns:minmax(0,1fr)}
  .wz-terms{grid-template-columns:minmax(0,1fr)}
  .wz-terms dl div{grid-template-columns:minmax(0,1fr);gap:2px}
  .cv-row{flex-wrap:wrap;border-radius:18px}
  .cv-row input:not([type=radio]):not([type=checkbox]){min-height:46px;flex-basis:calc(100% - 50px)}
  .cv-row .btn{width:100%;justify-content:center}
  .cv-miss{grid-template-columns:minmax(0,1fr)}
  .ty-upload{grid-template-columns:minmax(0,1fr)}
  .wz-nav .btn{padding:0 1.1em}
  .sb-rev dl div{grid-template-columns:minmax(0,1fr);gap:0}
  .wz-steps li.is-now .wz-lab{display:none}
}

/* _responsive.css */
@media (max-width:1024px){
  .hdr-nav,.hdr-tools .t-theme{display:none}
  .bbar{display:flex;position:fixed;inset:auto 0 0 0;z-index:50;height:calc(var(--bar) + env(safe-area-inset-bottom,0px));padding:0;background:var(--chrome);color:var(--chrome-ink);border-top:1px solid var(--chrome-rule);align-items:stretch}
  body{padding-bottom:calc(var(--bar) + env(safe-area-inset-bottom,0px))}
  .bbar-main{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-inline:var(--gutter) 10px;padding-bottom:env(safe-area-inset-bottom,0px);border-right:1px solid var(--chrome-rule);font-weight:600;text-decoration:none;color:var(--ink)}
  .bbar-txt{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bbar-main small{display:block;font:500 .62rem/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:4px}
  /* the thing to press: a real, labelled button, so nobody mistakes the green square for the order */
  .bbar-go{flex:none;display:grid;place-items:center;height:40px;padding:0 16px;border-radius:999px;background:var(--red);color:var(--on-red);font:600 .88rem/1 var(--f-text);white-space:nowrap;box-shadow:0 1px 10px color-mix(in srgb,var(--red) 28%,transparent)}
  .bbar-main:active .bbar-go{transform:scale(.97)}
  .bbar-side{width:var(--bar);flex:none;background:#25D366;color:#fff;display:grid;place-items:center;padding-bottom:env(safe-area-inset-bottom,0px)}
  .bbar-side .ico{width:26px;height:26px}
  @media (max-width:400px){
    .bbar-main{padding-inline:12px 8px}
    .bbar-go{height:38px;padding:0 13px;font-size:.82rem}
    .bbar-main small{font-size:.58rem}
  }
  .toast{bottom:calc(var(--bar) + 24px + env(safe-area-inset-bottom,0px))}
  .hero-poster span{left:58%;top:30%;font-size:min(80vw,50svh)}
  .hero--live .hero-canvas{opacity:.42}
  .chap-grid{display:block}
  .stage-col{position:sticky;top:calc(var(--bar) + env(safe-area-inset-top,0px));z-index:2;background:var(--paper);padding-block:10px}
  .stage{position:relative;top:0;height:40svh;min-height:300px;--bw:clamp(110px,26vw,170px)}
  .step{min-height:56svh}
  .bento,.q-grid,.ar-grid,.split-grid,.svc-hero,.contact-grid,.submit-form-grid,.proof-grid,.promise-grid,.checkout-grid,.ar-hero-grid,.book-grid-detail,.author-head{grid-template-columns:minmax(0,1fr)}
  .svc-lg{grid-row:auto}
  .values{grid-template-columns:repeat(2,minmax(0,1fr))}
  .charts,.truth,.routes,.contact-cards.cc-3{grid-template-columns:minmax(0,1fr)}
  .co-summary,.submit-aside{position:static}
  .ar-hero-art{min-height:420px;max-width:520px}
  .book-cover{max-width:320px}
  .author-photo{max-width:220px}
  .subnav-row{padding-inline:12px}
}
@media (max-width:760px){
  .sec-head .label,.sec-head h2,.sec-head .aside{grid-column:1/-1;justify-self:start;text-align:left}
  .facts,.cards,.values,.contact-cards,.field-row{grid-template-columns:minmax(0,1fr)}
  .card:nth-child(2){margin-top:0}
  .submit-grid,.quote-card{grid-template-columns:minmax(0,1fr)}
  .hero-foot .label:first-child{max-width:22ch}
  .q-photo{max-width:260px}
  .logo{padding-inline:14px}
  .logo b{font-size:1.35rem}
  .logo-img{height:28px}
  .vs{grid-template-columns:minmax(0,1fr)}
  .vs-mark{justify-self:center}
  .tracker{grid-template-columns:minmax(0,1fr);gap:14px}
  .tracker li{grid-template-columns:44px 1fr;justify-items:start;text-align:left;align-items:center}
  .tracker li::before{top:auto;bottom:calc(50% + 22px);height:14px;left:21px;right:auto;width:2px}
  .search-form{flex-direction:column}
  .news-row{flex-direction:column}
  .rcard{width:min(260px,74%)}
  .rcard-0{left:-4%;top:46%}
  .tcard{width:270px}
  .plan-radio,.route-radio{grid-template-columns:22px 1fr}
  .pr-price{grid-column:2;text-align:left;display:flex;gap:8px;align-items:baseline}
  .route-radio .plan-badge{grid-column:2;justify-self:start}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition-duration:.01ms!important}

/* On a phone the reader's photo stands on its own and the review cards sit under it.
   Floating them over a full-width portrait buried the face completely. */
@media (max-width:760px){
  .ar-hero-art{min-height:0;display:grid;gap:14px;max-width:460px;margin-inline:auto}
  .ar-photo{width:100%;margin:0;transform:none;aspect-ratio:4/3}
  .rcard{position:static;width:auto;transform:none;animation:none!important;box-shadow:none;background:var(--paper-2)}
  .rcard blockquote{font-size:1.02rem}
}
