
/* ============ TOKENS (become settings rows in D1; admin-editable) ============ */
:root{
  --paper:#F4F2EF; --paper-2:#E9E5E0; --paper-3:#DCD6CF; --sheet:#FFFFFF;
  --ink:#161412; --ink-2:#5A534D; --rule:rgba(22,20,18,.14);
  --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:#121110; --paper-2:#1C1A18; --paper-3:#2A2623; --sheet:#ECE6DE;
  --ink:#EEEAE5; --ink-2:#A8A097; --rule:rgba(238,234,229,.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:#121110; --paper-2:#1C1A18; --paper-3:#2A2623; --sheet:#ECE6DE;
  --ink:#EEEAE5; --ink-2:#A8A097; --rule:rgba(238,234,229,.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{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(--paper);border-bottom:1px solid var(--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:11/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 ============ */
.ftr{border-top:1px solid var(--ink);padding-top:var(--s-5);overflow:hidden}
.ftr-grid{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr)) minmax(0,3fr);gap:var(--s-4)}
.ftr h2{margin:0 0 var(--s-2)}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ftr a{text-decoration:none}
.ftr .about{font:400 1.35rem/1.3 var(--f-display);margin:0;max-width:26ch}
.ftr address{font-style:normal;display:grid;gap:8px}
.ftr .socials{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:var(--s-2)}
.wordmark{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-3);margin-top:var(--s-5);line-height:.78}
.wordmark b{font:400 clamp(4rem,19vw,19rem)/.78 var(--f-display);letter-spacing:-.045em}
.wordmark b em{color:var(--red);font-style:normal}
.wordmark .deva{position:relative;font-size:clamp(1.1rem,.8rem + 1.2vw,2rem);color:var(--ink-2);cursor:help;padding-bottom:.6em}
.wordmark .deva::after{content:"prakashan (n.): publication";position:absolute;right:0;bottom:100%;white-space:nowrap;font:500 .7rem/1 var(--f-mono);letter-spacing:.06em;background:var(--ink);color:var(--paper);padding:6px 8px;opacity:0;transform:translateY(6px);transition:opacity var(--d-fast),transform var(--d-fast);pointer-events:none}
.wordmark .deva:hover::after,.wordmark .deva:focus::after{opacity:1;transform:none}
.colophon{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;border-top:1px solid var(--rule);padding-block:var(--s-3);margin-top:var(--s-3);font-size:.85rem;color:var(--ink-2)}

/* ============ 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)}

/* grid overlay (press G) */
.grid-ov{position:fixed;inset:0;z-index:90;pointer-events:none;display:none}
.show-grid .grid-ov{display:block}
.grid-ov div{max-width:var(--max);height:100%;margin-inline:auto;padding-inline:var(--gutter);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s-3)}
.grid-ov span{background:color-mix(in srgb,var(--red) 8%,transparent);border-inline:1px solid color-mix(in srgb,var(--red) 22%,transparent)}

/* 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}
/* ================= 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)}
.slots{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:.9rem;background:color-mix(in srgb,var(--red) 10%,transparent);color:var(--red-text);padding:8px 12px;border-radius:999px}
.slots .ico{width:16px;height:16px}

/* 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)}
.stats dd{margin:6px 0 0;font:400 clamp(2.4rem,1.6rem + 2.5vw,4rem)/1 var(--f-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.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;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}
.rcard-0{left:0;top:10%;transform:rotate(-3deg)}
.rcard-1{left:8%;bottom:4%;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}

/* footer additions, socials, cart */
.ftr-grid{grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr)) minmax(0,3fr)}
.ftr .socials a{width:40px;height:40px;border:1px solid var(--rule);border-radius:50%;display:grid;place-items:center}
.ftr .socials a:hover{background:var(--red);color:var(--on-red);border-color:var(--red)}
.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)}

/* ============ BARS: one breakpoint (1024px) for header nav, drawer and bottom bar ============ */
.bnav{flex:1;display:grid;justify-items:center;align-content:center;gap:3px;text-decoration:none;color:var(--ink-2);background:none;border:0;font:500 .66rem/1 var(--f-text);letter-spacing:.02em;cursor:pointer;position:relative;min-width:0;padding:0 2px}
.bnav .ico{width:22px;height:22px}
.bnav[aria-current="page"]{color:var(--ink)}
.bnav[aria-current="page"]::before{content:"";position:absolute;top:0;left:28%;right:28%;height:2px;background:var(--red)}
.bnav:active{background:var(--paper-2)}
@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-bottom:env(safe-area-inset-bottom,0px);background:var(--paper);border-top:1px solid var(--rule)}
  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:12px;padding-inline:var(--gutter);border-right:1px solid var(--rule);font-weight:600;text-decoration:none;color:var(--ink)}
  .bbar-main>span{min-width:0;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}
  .bbar-side{width:var(--bar);flex:none;background:var(--red);color:var(--on-red);display:grid;place-items:center}
  .bbar-side .ico{width:26px;height:26px}
  .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}
  .ftr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftr-grid>div:first-child{grid-column:1/-1}
  .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}
  .wordmark{flex-direction:column;align-items:flex-start}
  .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}
  .ftr-grid{grid-template-columns:minmax(0,1fr)}
  .rcard{width:min(260px,80%)}
  .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}
