/* /audit/ in the split stage (2026-10-22). Loads on top of home-split.css, which is the world
   (tokens, the seam, the split layout, type and controls); everything here is this page only.
   Paper is your side: the question a customer asks, the free check, the rubric I score with.
   Ink is the AI answer surface: what two models actually said, and the honest limit of a score. */

/* ------------------------------------------------------------------------------ the page's scale --
   Dave, 2026-10-24: "its very inconsistent with the fonts and whitepaces etc". It was: the page
   carried 46 distinct size/weight/line-height combinations for about eight actual roles, because
   home-split.css names tokens only down to body (--t-display, --t-h2, --t-body, --t-quote) and
   everything smaller was set by hand, declaration by declaration. Three line-heights for the same
   caption, eight versions of a label, four card headings, fifteen different margins.

   So the roles under body are named here, once, and nothing below sets a size or a gap by hand.
   The three small sizes step up with the viewport in the same proportion as --t-body does above
   761px, so the whole scale moves together instead of the small text staying behind on a wide
   screen. At 1440 the page reads 40.7 / 19.6 / 18.9 / 16.6 / 14 and nothing else. */
.split-page main{
  --t-title:clamp(1.0625rem,1rem + .2vw,1.1875rem);   /* a card's heading, a post title, a question */
  --t-small:clamp(.9375rem,.9rem + .15vw,1.0625rem);  /* card copy, captions, notes, labels */
  --t-micro:clamp(.8125rem,.8rem + .08vw,.875rem);    /* row numerals, meta lines, fine print */
  --t-figure:clamp(1.25rem,1.1rem + .4vw,1.5rem);     /* one measured number standing alone */
  --t-figure-lg:clamp(1.5rem,1.25rem + .55vw,1.75rem);/* the four numbers of the measured ground */
  --lh-tight:1.15;                                    /* figures */
  --lh-title:1.32;                                    /* titles and labels */
  --lh-small:1.58;                                    /* everything under body */
  --lh-body:1.62;
  /* one vertical scale: every gap on this page is one of these four */
  --s1:.4rem;    /* inside one line group (a label and its control) */
  --s2:.75rem;   /* between the lines of a group */
  --s3:1.1rem;   /* between groups, and the shared .sh-stack step */
  --s4:1.8rem;   /* between blocks */
  --pad-card:1.15rem 1.3rem;   /* every card on the page */
  --pad-row:.9rem 1.05rem;     /* a list row that happens to be boxed */
}
/* the shared stack used two steps (1rem, and 1.1rem after a heading) for one job */
.split-page main .sh-stack>*+*,.split-page main .sh-stack>h2+*{margin-top:var(--s3)}

/* ------------------------------------------------------------------- 0 · the ask (flowing) --
   Two rows: the H1 reads across the seam, then the two sides. The hero is NOT pinned, because the
   form has to be reachable with the keyboard and visible without scrolling; a pinned stage parks
   progress at 0 whenever a control inside it takes focus.
   The eyebrow that used to sit above the H1 is gone: it is the one thing both DESIGN.md and the
   craft floor ban outright, and it said what the headline and the title tag already say. */
.au-hero{grid-template-rows:auto minmax(0,1fr);grid-template-areas:"h1 h1" "pm im";
  min-height:calc(100svh - var(--hdr,64px));padding-top:0;padding-bottom:clamp(1.6rem,4vh,3rem);
  position:relative}
.au-hero .hero-h1{grid-area:h1;display:grid;grid-template-columns:1fr 1fr;column-gap:4.5rem;align-items:end;
  margin:0;padding:clamp(1.4rem,3.4vh,2.6rem) var(--gut) 0;font-size:var(--t-display);font-weight:800;
  line-height:1.04;letter-spacing:-.032em;text-wrap:balance;max-width:none}
.au-hero .h1-a{justify-self:end;text-align:right;color:var(--paper-text);max-width:13em}
.au-hero .h1-b{color:var(--ink-text);max-width:9em}
.au-pm{grid-area:pm} .au-im{grid-area:im}
.au-hero .side-body{padding-top:clamp(.8rem,2.2vh,1.4rem);max-width:none}
.au-offer{font-size:var(--t-body);line-height:var(--lh-body);color:var(--paper-soft);max-width:30em}

/* the free check: a paper card, the site's own controls, no pills and no uppercase labels */
.au-form{--s-field:.3rem;--s-label:.6rem;
  max-width:34rem;margin-top:var(--s3);padding:var(--pad-card);border:1px solid var(--hair-paper);
  border-radius:var(--r-m);background:var(--paper-card);box-shadow:var(--shadow-paper);display:block}
.au-form .hf-head{font:600 var(--t-small)/var(--lh-title) var(--sc-font-text);color:var(--paper-soft)}
.hf-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.hf-field{display:grid;gap:var(--s-field);min-width:0;align-content:start}
.au-form label{margin-top:var(--s-label);font:600 var(--t-small)/var(--lh-title) var(--sc-font-text);
  color:var(--paper-text)}
.au-form :is(input,select,textarea){width:100%;padding:.6rem .7rem;border:1px solid var(--hair-paper);
  border-radius:var(--r-s);font:400 1rem/1.4 var(--sc-font-text);background:var(--paper);color:var(--paper-text)}
.au-form select{padding-right:2rem;-webkit-appearance:none;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--paper-soft) 50%),linear-gradient(135deg,var(--paper-soft) 50%,transparent 50%);
  background-position:calc(100% - 1.05rem) 1.15rem,calc(100% - .75rem) 1.15rem;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat}
.au-form :is(input,select,textarea):focus-visible{outline:2px solid var(--paper-accent);outline-offset:1px;
  border-color:var(--paper-accent)}
/* a native <option> falls back to the platform UI font in the open list; naming it keeps the
   select reading in Inter like every other control */
.au-form option{font-family:var(--sc-font-text)}
.au-form textarea{min-height:0;height:3.2rem;resize:vertical}
.hf-note-field{grid-column:1 / -1}
.hf-opt{font-weight:400;color:var(--paper-soft)}
.hf-hint{margin:var(--s1) 0 0!important;font-size:var(--t-micro);line-height:var(--lh-small);color:var(--paper-soft)}
/* .hf-field sets display:grid, which beats the UA [hidden] rule: without this the hidden phone
   field still takes a grid row and eats the fold. */
.hf-field[hidden],.hf-hint[hidden]{display:none}
.au-form:not(.has-tel) .hf-email{grid-column:1/-1}
.au-form .sh-btn{margin-top:var(--s2)}
.au-form .ct-state{min-height:0;margin:var(--s2) 0 0!important;font-size:var(--t-small);color:var(--paper-text)}
.hf-note{margin:var(--s2) 0 0!important;font-size:var(--t-micro);line-height:var(--lh-small);color:var(--paper-soft)}
.hf-alt{margin-top:var(--s3)!important;font-size:var(--t-small);line-height:var(--lh-small)}

/* the shape of an AI answer, drawn the way the ink side draws everything else */
.au-answer{max-width:30rem}
.au-answer .ha-q{margin:var(--s2) 0 0!important;min-height:2.9em;font-size:var(--t-quote);
  line-height:var(--lh-body);color:var(--ink-text);transition:opacity .26s}
.au-answer .ha-q.out{opacity:0}
.ha-rows{display:flex;flex-direction:column;gap:var(--s2);margin-top:var(--s3)!important}
.ha-rows li{display:flex;align-items:center;gap:var(--s2)}
.ha-n{flex:none;width:1.1em;font-size:var(--t-micro);color:var(--ink-soft)}
.ha-bar{height:13px;border-radius:4px;
  background:repeating-linear-gradient(-45deg,rgba(232,234,242,.22) 0 6px,rgba(232,234,242,.10) 6px 12px)}
.ha-bar.w1{width:64%}.ha-bar.w2{width:82%}.ha-bar.w3{width:53%}
.au-answer .ha-rest{margin-top:var(--s3)!important;padding-top:var(--s2);border-top:1px solid var(--hair-ink);
  font:600 var(--t-small)/var(--lh-title) var(--sc-font-text);color:var(--ink-soft)}
.ha-cap{margin-top:var(--s3)!important;font-size:var(--t-small);line-height:var(--lh-small);
  color:var(--ink-soft);max-width:30rem}
.au-art{margin:var(--s3) 0 0;width:min(26rem,100%)}
.au-art img{display:block;width:100%;height:auto}
.side--paper .au-art img{filter:var(--draw-paper)}
.side--ink .au-art img{filter:var(--draw-ink)}
.au-art--hero{display:none}

/* the scroll invitation, the site's own hand-drawn arrow turned down. Same size as the homepage's
   (Dave, 2026-10-24: "make the initial blue arropw to urge scrolling larger"): the arrow is one long
   stroke, so it is measured off the viewport height and not set in rem. */
.au-down{--arw:clamp(9rem,25vh,15rem);
  position:absolute;z-index:6;left:calc(50% - 3.6rem - var(--arw) * .105);
  top:calc(100svh - var(--hdr,64px) - var(--arw) - 1.6rem);
  display:block;width:calc(var(--arw) * .21);height:var(--arw);opacity:var(--au-arrow,1);
  animation:au-bob 2.4s cubic-bezier(.45,0,.55,1) infinite}
.au-down img{position:absolute;left:50%;top:50%;width:var(--arw);height:auto;max-width:none;
  translate:-50% -50%;rotate:90deg;filter:var(--draw-paper)}
.au-down:focus-visible{outline:2px solid var(--paper-accent);outline-offset:6px;border-radius:4px}
@keyframes au-bob{0%,100%{translate:0 0}50%{translate:0 .7rem}}
@media (prefers-reduced-motion:reduce){.au-down{animation:none}}
.rm .au-down{animation:none;opacity:1}

/* ------------------------------------------------------- 2 · the measurement (held frame) --
   Two models, five-five names, arriving in turn; the rows are redaction bars, never text. The CSS
   fallback of every value is the resolved state, so the flowing version (phones, reduced motion)
   simply shows the finished frame. */
.measure{height:100vh;height:100svh;align-items:center;padding-block:clamp(.9rem,2.2vh,1.75rem)}
.au-sub{margin-top:var(--s2)!important;font-size:var(--t-body);line-height:var(--lh-body);
  color:var(--paper-soft);max-width:30em}
.q--ask{margin-top:var(--s3);margin-left:0;max-width:28rem}
.au-method{margin-top:var(--s3)!important;font-size:var(--t-small);line-height:var(--lh-small);
  color:var(--paper-soft);max-width:30em}
.au-method b{color:var(--paper-text)}
.au-punch{margin-top:var(--s4)!important;font:800 clamp(1.15rem,.9rem + .7vw,1.5rem)/1.25 var(--sc-font-display);
  letter-spacing:-.02em;color:var(--paper-text);max-width:19em}
.ms-wrap{border:1px solid var(--hair-ink);border-radius:var(--r-m);background:var(--ink-surface);
  box-shadow:var(--shadow-ink);padding:var(--pad-card);max-width:34rem}
.ms-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
.ms-h{font:600 var(--t-small)/var(--lh-title) var(--sc-font-text);color:var(--ink-soft);
  margin-bottom:var(--s2)!important}
.ms-list{display:grid;gap:var(--s2)}
.ms-list li{display:flex;align-items:center;gap:var(--s2);padding:.2rem .35rem;margin:-.2rem -.35rem;border-radius:6px;
  opacity:clamp(0,calc(var(--n,5) - var(--i)),1);
  translate:calc((1 - clamp(0,calc(var(--n,5) - var(--i)),1)) * 12px) 0}
.ms-list--a li{--n:var(--na,5)}
.ms-list--b li{--n:var(--nb,5)}
.ms-n{flex:none;width:1.1em;font-size:var(--t-micro);color:var(--ink-soft);font-variant-numeric:tabular-nums}
.ms-bar{height:14px;border-radius:4px;
  background:repeating-linear-gradient(-45deg,rgba(232,234,242,.22) 0 6px,rgba(232,234,242,.10) 6px 12px)}
.ms-bar.w1{width:78%}.ms-bar.w2{width:62%}.ms-bar.w3{width:88%}.ms-bar.w4{width:54%}.ms-bar.w5{width:71%}
.ms-list li.is-match{box-shadow:inset 0 0 0 calc(var(--match,1) * 1.5px) var(--ink-accent);
  background:rgba(96,165,250,calc(var(--match,1) * .12))}
.ms-list li.is-match .ms-bar{background:repeating-linear-gradient(-45deg,
  rgba(96,165,250,calc(.25 + var(--match,1) * .45)) 0 6px,rgba(96,165,250,calc(.12 + var(--match,1) * .2)) 6px 12px)}
.ms-match-note{margin-top:var(--s3)!important;opacity:var(--match,1)}
.ms-match-note span{display:inline-block;border:1px dashed var(--ink-accent);border-radius:var(--r-s);
  padding:.25rem .6rem;font:600 var(--t-micro)/var(--lh-title) var(--sc-font-text);color:var(--ink-accent)}
.ms-lead{margin-top:var(--s3)!important;font-size:var(--t-body);line-height:var(--lh-body);
  color:var(--ink-soft);max-width:30em}

/* ------------------------------------------------------------------- 2 · who is left out -- */
.au-ev-h{font:600 var(--t-small)/var(--lh-title) var(--sc-font-text);color:var(--ink-soft)}
.au-ev{display:grid;gap:var(--s3)}
.au-ev li{display:grid;grid-template-columns:5.2rem 1fr;gap:var(--s2);align-items:baseline}
.au-ev b{font:800 var(--t-figure)/var(--lh-tight) var(--sc-font-display);letter-spacing:-.02em;
  color:var(--ink-accent);font-variant-numeric:tabular-nums}
.au-ev span{font-size:var(--t-small);line-height:var(--lh-small);color:var(--ink-soft)}

/* ---------------------------------------------------------------- 1 · the film (held frame) --
   The player is never animated and never transformed: a transform on a <video> drifts on scroll and
   has frozen the frame before (the site's own rule). While the frame holds, the stage is one screen
   tall and the player gets the larger size; flowing (phones, reduced motion, a screen too short for
   the frame) it is an ordinary section. */
.au-player{border-radius:var(--r-m);overflow:hidden;background:#0a0d14;box-shadow:var(--shadow-ink);
  aspect-ratio:16/9;max-width:34rem}
#video:not(.is-flow) .au-film{height:100vh;height:100svh;align-items:center;padding-block:clamp(.9rem,2.2vh,1.75rem)}
#video:not(.is-flow) .au-player{max-width:min(46rem,100%)}
.au-player video{display:block;width:100%;height:100%;object-fit:contain;background:#0a0d14}
.au-film-meta{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);align-items:center;
  font-size:var(--t-micro);color:var(--paper-soft)}
.au-ai{border:1px solid var(--hair-paper);border-radius:var(--r-s);padding:.2em .6em}

/* ------------------------------------------------------------------- 4 · how it works --
   Three lines in place of the held frame the three steps used to run, and a link in place of the
   seven-dimension rubric, because /modszertan/ is that page. */
.au-steps{display:grid;gap:var(--s3)}
.au-steps li{padding-bottom:var(--s3);border-bottom:1px solid var(--hair-paper)}
.au-steps li:last-child{padding-bottom:0;border-bottom:0}
.au-steps b{display:block;font:700 var(--t-title)/var(--lh-title) var(--sc-font-display);
  letter-spacing:-.012em;color:var(--paper-text)}
.au-steps span{display:block;margin-top:var(--s1);font-size:var(--t-small);line-height:var(--lh-small);
  color:var(--paper-soft)}
.au-note{margin-top:var(--s3)!important;font-size:var(--t-small);line-height:var(--lh-small);
  color:var(--paper-soft)}
.au-note--ink{color:var(--ink-soft)}

/* ---------------------------------------------------------------- shared small parts -- */
.split-page main .side-body>p:not([class]){font-size:var(--t-small);line-height:var(--lh-small)}
/* the customer's question is a quotation on both sides of the page, so it reads at quote size in
   the hero and in the held frame, with the same leading */
.measure .q p{font-size:var(--t-quote);line-height:var(--lh-body)}
.au-honest{font-size:var(--t-body);line-height:var(--lh-body);color:var(--ink-soft)}
.au-honest b{color:var(--ink-text)}
.au-turn{font:800 clamp(1.15rem,.9rem + .7vw,1.5rem)/1.25 var(--sc-font-display);letter-spacing:-.02em;
  color:var(--ink-text);max-width:20em}
.au-acts{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)!important}

/* ------------------------------------------------------- the generated questions and sources -- */
.au-faq .faq{margin:0}
.au-faq .faq h2{margin-bottom:var(--s3)}
.au-faq details{border:0;border-bottom:1px solid var(--hair-paper);border-radius:0;background:transparent;
  box-shadow:none;margin-bottom:0}
.au-faq summary{padding:var(--s3) 0;font:600 var(--t-title)/var(--lh-title) var(--sc-font-text);
  color:var(--paper-text);gap:1.2em}
.au-faq summary::after{font-family:var(--sc-font-display);font-size:1.35rem;font-weight:700;color:var(--paper-accent)}
.au-faq details>div{padding:0 0 var(--s3)}
.au-faq details p{font-size:var(--t-small);line-height:var(--lh-small);color:var(--paper-soft)}
/* the English mirror carries the film's transcript under its FAQ (no /en/video/ page exists) */
.au-transcript{margin-top:var(--s4)}
.au-faq .sources h2{font-size:var(--t-title);line-height:var(--lh-title);margin-bottom:var(--s2)}
.au-faq .sources ul{display:grid;gap:var(--s2)}
.au-faq .sources li{font-size:var(--t-small);line-height:var(--lh-small)}
.au-faq .sources a{color:var(--ink-soft)!important;text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:3px}
.au-faq .sources a:hover{color:var(--ink-text)!important}

/* ----------------------------------------------------------------- the vertical rhythm --
   A section opens with its heading, so its top padding is the air above that heading and its bottom
   padding the air after the last line. More above than below, which is the rule the page broke
   everywhere: it ran 45px both ways and then let the taller column decide, so a heading sat closer
   to the paragraph above it than to its own body. */
.au-gap,.au-film,.au-how,.au-faq{
  padding-block:clamp(2.4rem,6.5vh,4.25rem) clamp(1.5rem,3.75vh,2.5rem)}
/* The two halves of a flowing section are independent columns of different lengths. Letting the
   shorter one keep all of its slack at the foot is what read as a hole; centring it splits the
   slack and the section closes up. The headings still meet at the top, because the taller column
   sets the height and both start at the same padding. */
.au-gap .side,.au-film .side,.au-how .side,.au-faq .side{display:flex;flex-direction:column;justify-content:center}

/* ------------------------------------------------------------------------- desktop sizes -- */
@media (min-width:1024px){
  .au-art--hero{display:block;width:min(9.5rem,32%);margin-top:var(--s3)}
  .au-answer{max-width:32rem}
}
@media (min-width:761px) and (max-height:820px){
  .au-hero .hero-h1{font-size:clamp(1.7rem,.9rem + 1.9vw,2.4rem);padding-top:.6rem}
  .au-form{--s-field:.22rem;--s-label:.42rem;padding:.85rem 1.05rem}
  .au-form :is(input,select,textarea){padding:.45rem .7rem}
  .au-form select{background-position:calc(100% - 1.05rem) 1rem,calc(100% - .75rem) 1rem}
  .au-form textarea{height:2.5rem}
  .au-offer{font-size:var(--t-small);line-height:var(--lh-small)}
  .au-art--hero{display:none}
  .measure .au-punch{font-size:1.15rem}
}

/* ------------------------------------------------------------------------ phones (<=760px) -- */
@media (max-width:760px){
  .au-hero{display:block;min-height:0;padding-bottom:0}
  .au-down{display:none}   /* the next heading already peeks at the foot of a phone screen */
  .au-hero .hero-h1,.au-pm,.au-im{grid-area:auto}
  .au-hero .hero-h1{display:block;padding-inline:var(--gut);column-gap:0}
  .au-hero .h1-a,.au-hero .h1-b{display:block;max-width:none;margin-top:0;text-align:left}
  .au-hero .h1-b{color:var(--paper-text)}
  .au-hero .hero-h1{font-size:1.85rem;padding-top:var(--s3)}
  .au-pm{padding-bottom:1.6rem}
  .au-im{padding-block:1.6rem 2rem}
  .measure{height:auto;padding-block:0}
  .measure .side--paper{padding-block:2rem 1.6rem}
  .measure .side--ink{padding-block:2rem 2.2rem}
  .ms-cols{grid-template-columns:1fr;gap:var(--s4)}
  .au-gap,.au-film,.au-how,.au-faq{padding-block:0}
  .au-gap .side,.au-film .side,.au-how .side{display:block}
  .au-gap .side--paper,.au-film .side--paper,.au-how .side--paper,.au-faq .side--paper{padding-block:2rem 1.6rem}
  .au-gap .side--ink,.au-film .side--ink,.au-how .side--ink,.au-faq .side--ink{padding-block:2rem 2.2rem}
  .hf-row{grid-template-columns:1fr}
  .au-ev li{grid-template-columns:4.2rem 1fr;gap:var(--s2)}
  .au-player{max-width:none}
}
