/* KESEY | css/after.css
   The after-CRM layer, shipped 2026-09-16 from the concept at
   claude.ai/artifact/DZNQXwTRLqrR5uaE5jM7eq. One shared framework for the
   picture pages (the sk- switch and picker driving the same rows in two
   states), the keyboard and the van on the home page, and the page pictures.

   EVERY SELECTOR IS SCOPED UNDER .ac, the wrapper class on <main>, so nothing
   in here can reach the nav or the footer: the concept named .btn, .card,
   .hero, .lede, .eyebrow and .split, and every one of those already means
   something in css/kesey.css or css/practice.css. The scope is what keeps the
   two sheets apart on one page.

   THE MODEL IS THE SITE'S: dark on bare :root in css/kesey.css, light under
   :root[data-theme="light"], the toggle going dark by REMOVING the attribute.
   So the tokens the concept invented sit on body and body under the light
   attribute, never on :root and never behind prefers-color-scheme, which
   matches nothing here. tests/public-themes.mjs refuses both constructions.

   THE GUTTER IS DERIVED FROM THE NAV'S .wrap (1160px, 28px each side), so the
   content edge lines up with the wordmark at every width and a tinted section
   can run edge to edge with no negative margin and no vw, which includes the
   scrollbar and is how a page grows a sideways scroll. */

body{ --ink3:#1F1C29; --glow:rgba(124,92,255,.22); --glow2:rgba(255,77,157,.14);
  --keycap:#221F2E; --keyedge:#3A3448; --keytext:#A9A3B8; }
:root[data-theme="light"] body{ --ink3:#E9E3F2; --glow:rgba(124,92,255,.14); --glow2:rgba(255,77,157,.10);
  --keycap:#FFFFFF; --keyedge:#CFC7E0; --keytext:#5A5372; }

.ac{display:block; width:100%; font-size:16px; line-height:1.6; color:var(--bone);}
.ac > .hero, .ac > .sec, .ac > .close{padding-inline:max(28px, calc((100% - 1160px) / 2 + 28px));}

/* WHERE THE SHARED SHEETS NAME THE SAME CLASS OR ELEMENT, the rules below win on
   every property both declare, and these are the properties css/kesey.css
   declares that the concept never did. Found by matching every rule in the two
   shared sheets against the converted pages in a browser, not by reading: a
   22px margin under every eyebrow, 38px under every lede, 100px of section
   padding and a border under every section, dim text on every card paragraph
   including the quotes, and 110px of centred padding on the marks band. Each
   is reset to what the concept's own stylesheet left it at, which was nothing. */
.ac h1{margin-bottom:0;}
.ac h2{margin-bottom:0; max-width:none;}
.ac h3{margin-bottom:0;}
.ac section{border-bottom:0;}
.ac .eyebrow{margin-bottom:0;}
.ac .lede{margin-bottom:0;}
.ac .sub{margin-bottom:0; max-width:none;}
.ac .card{transition:none;}
.ac .card p{color:inherit;}
.ac .card p.dim{color:var(--dim);}
.ac .split{align-items:start;}
.ac .band{padding:0; text-align:left; overflow:visible; position:static;}
/* and css/practice.css: .kick is a lime eyebrow there and a flex column here, so every
   h2 inside a kick rendered lime; .rail is a fixed, hidden route rail there and the
   two column layout here, so the whole block sat on top of the hero at 1200 and
   vanished under 900; .pull carries a gradient bar there and none here. */
.ac .kick{color:inherit; margin-bottom:0;}
.ac .rail{position:static; inset:auto; width:auto; z-index:auto; pointer-events:auto; display:block;}
.ac .pull{border:0; border-image:none; padding:0; margin-bottom:0;}

.ac a:focus-visible, .ac button:focus-visible{outline:2px solid var(--lime-mark); outline-offset:3px; border-radius:6px;}
.ac h1, .ac h2, .ac h3{font-family:var(--display); font-weight:600; letter-spacing:-.02em; text-wrap:balance;}
.ac h1{font-size:clamp(2.2rem,5.2vw,4.1rem); line-height:1.02; max-width:24ch;}
.ac h2{font-size:clamp(1.55rem,2.6vw,2.15rem); line-height:1.12;}
.ac h3{font-size:1.15rem; line-height:1.3; letter-spacing:-.01em;}
.ac p{max-width:64ch;}
.ac .eyebrow{font-family:var(--mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--dim);}
.ac .eyebrow b{font-weight:400; color:var(--lime-ink);}
.ac .lede{font-size:clamp(1.05rem,1.5vw,1.2rem); color:var(--dim); max-width:62ch; margin-top:18px;}
.ac .lede strong{color:var(--bone); font-weight:500;}
.ac .dim{color:var(--dim);}
.ac .ext::after{content:"\2197"; font-family:var(--mono); font-size:.8em; margin-left:4px; opacity:.7;}
.ac .inl{color:var(--lime-ink); text-decoration:underline; text-decoration-color:var(--lime-mark); text-underline-offset:3px;}
.ac .btn{display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:15px; line-height:1;
  padding:13px 22px; border-radius:999px; border:1px solid transparent; cursor:pointer; white-space:nowrap;
  background:linear-gradient(90deg,var(--pink),var(--orange)); color:var(--on-accent); transition:transform .15s, box-shadow .2s;}
.ac .btn:hover{transform:translateY(-1px); box-shadow:0 8px 24px rgba(255,122,47,.25);}
.ac .btn-sm{padding:9px 16px; font-size:13.5px;}
.ac .btn-ghost{background:transparent; border-color:var(--line); color:var(--bone);}
.ac .btn-ghost:hover{box-shadow:none; border-color:var(--dim);}
.ac .ctas{display:flex; gap:12px; flex-wrap:wrap; margin-top:28px;}
.ac .chip{display:inline-block; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  padding:5px 10px; border:1px solid var(--line); border-radius:999px; color:var(--dim);}
.ac .hero{position:relative; padding-block:64px 24px; overflow:visible;}
.ac .hero .aura{position:absolute; inset:-80px -20px auto -20px; height:420px; pointer-events:none; z-index:-1;
  background:radial-gradient(ellipse 60% 55% at 22% 30%, var(--glow), transparent 70%),
             radial-gradient(ellipse 40% 45% at 80% 20%, var(--glow2), transparent 70%);
  filter:blur(6px);}
.ac .sec{padding-block:56px; border-top:1px solid var(--line);}
.ac .sec.tint{background:var(--ink2);}
.ac .head{display:grid; gap:14px 48px; margin-bottom:28px;}
.ac .head .kick{display:flex; flex-direction:column; gap:12px;}
@media (min-width:900px){
  .ac .rail{display:grid; grid-template-columns:300px 1fr; gap:24px 56px; align-items:start;}
  .ac .rail .kick{position:sticky; top:96px;}
}
.ac .prose p + p{margin-top:16px;}
.ac .prose p{font-size:17px;}
.ac .rows{list-style:none; border-top:1px solid var(--line);}
.ac .rows li{display:grid; grid-template-columns:44px 1fr; gap:14px 18px; padding:20px 0; border-bottom:1px solid var(--line);}
.ac .rows .n{font-family:var(--mono); font-size:12px; color:var(--lime-ink); padding-top:5px;}
.ac .rows .t{font-family:var(--display); font-size:1.15rem; font-weight:600; letter-spacing:-.01em; margin-bottom:6px; display:block;}
.ac .rows p{color:var(--dim); font-size:15.5px;}
.ac .rows li.last{border-bottom:0;}
.ac .rows li.last .t{font-size:1.35rem;}
.ac .rows li.last p{color:var(--bone);}
@media (max-width:520px){
  .ac .rows li{grid-template-columns:1fr;}
  .ac .rows .n{padding-top:0;}
}
.ac .grid{display:grid; gap:16px; grid-template-columns:repeat(auto-fit, minmax(min(250px,100%), 1fr));}
.ac .card{background:var(--ink2); border:1px solid var(--line); border-radius:14px; padding:22px;}
.ac .card p{font-size:15.5px;}
.ac .card .q{font-family:var(--display); font-size:1.2rem; line-height:1.3; letter-spacing:-.01em; font-weight:500;}
.ac .card .q::before{content:"\201C"; color:var(--pink-ink); margin-right:2px;}
.ac .card .q::after{content:"\201D"; color:var(--pink-ink); margin-left:2px;}
.ac .card .n{font-family:var(--mono); font-size:11px; color:var(--lime-ink); letter-spacing:.1em; margin-bottom:12px; display:block;}
.ac .card h3{margin-bottom:8px;}
.ac .card .dim{margin-top:10px;}
.ac .note{margin-top:22px; color:var(--dim); font-size:15.5px; border-left:2px solid var(--lime-mark); padding-left:16px;}
.ac .tn{display:grid; gap:0; border-top:1px solid var(--line);}
.ac .tn .pair{display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:18px 0; border-bottom:1px solid var(--line);}
.ac .tn .lab{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; display:block; margin-bottom:6px;}
.ac .tn .then .lab{color:var(--dim);}
.ac .tn .now .lab{color:var(--lime-ink);}
.ac .tn .then p{color:var(--dim); text-decoration:line-through; text-decoration-color:var(--pink-mark); text-decoration-thickness:1px;}
.ac .tn p{font-size:15.5px;}
@media (max-width:560px){
  .ac .tn .pair{grid-template-columns:1fr; gap:10px;}
}
.ac .split{display:grid; gap:18px; grid-template-columns:repeat(auto-fit, minmax(min(280px,100%),1fr));}
.ac .split ul{list-style:none;}
.ac .split li{padding:10px 0; border-bottom:1px solid var(--line); font-size:15.5px; display:flex; gap:12px;}
.ac .split li::before{font-family:var(--mono); font-size:12px; width:14px; flex:0 0 14px; padding-top:3px;}
.ac .split .mine li::before{content:"+"; color:var(--lime-ink);}
.ac .split .yours li::before{content:"x"; color:var(--pink-ink);}
.ac .split h3{margin-bottom:10px;}
.ac .oldjob{display:grid; gap:18px; grid-template-columns:1fr; align-items:stretch;}
@media (min-width:860px){
  .ac .oldjob{grid-template-columns:1fr 44px 1fr;}
}
.ac .oj-said, .ac .oj-typed{background:var(--ink2); border:1px solid var(--line); border-radius:14px; padding:20px 22px;}
.ac .oj-said .eyebrow, .ac .oj-typed .eyebrow{margin-bottom:12px;}
.ac .oj-quote{font-family:var(--display); font-size:clamp(1.1rem,1.6vw,1.35rem); line-height:1.35; letter-spacing:-.01em; font-weight:500; color:var(--bone); max-width:none;}
.ac .oj-quote::before{content:"\201C"; color:var(--pink-ink);}
.ac .oj-quote::after{content:"\201D"; color:var(--pink-ink);}
.ac .oj-arrow{display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--dim);}
@media (min-width:860px){
  .ac .oj-arrow{writing-mode:vertical-rl; transform:rotate(180deg);}
}
.ac .oj-form{display:grid; gap:10px;}
.ac .oj-form .f{display:grid; grid-template-columns:92px 1fr; gap:10px; align-items:center; font-size:14.5px;}
.ac .oj-form .f > span:first-child{font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--dim);}
.ac .oj-form .v{border:1px solid var(--line); background:var(--ink); border-radius:8px; padding:8px 12px; color:var(--bone); position:relative;}
.ac .oj-form .v.dd::after{content:"\25BE"; position:absolute; right:10px; color:var(--dim);}
.ac .kbd{grid-column:1 / -1; margin-top:6px; background:var(--ink2); border:1px solid var(--line); border-radius:16px; padding:16px; display:grid; gap:7px; overflow:hidden;}
.ac .krow{display:flex; gap:6px; justify-content:center; flex-wrap:nowrap;}
.ac .key{flex:0 0 auto; width:38px; height:34px; border-radius:7px; background:var(--keycap); border:1px solid var(--keyedge); border-bottom-width:3px;
  font-family:var(--mono); font-size:11px; color:var(--keytext); display:flex; align-items:center; justify-content:center; letter-spacing:.04em;
  transition:transform .08s, background .12s, color .12s, border-color .12s;}
.ac .key.fn{width:auto; padding:0 9px; font-size:9.5px; letter-spacing:.14em; color:var(--cyan-ink);}
.ac .key.wide{width:78px;}
.ac .key.space{width:220px;}
.ac .key.hit{transform:translateY(2px); border-bottom-width:1px; background:linear-gradient(90deg,var(--pink),var(--orange)); color:var(--on-accent); border-color:transparent;}
.ac .key.lit{background:color-mix(in srgb, var(--lime) 28%, var(--keycap)); border-color:var(--lime-mark); color:var(--bone);}
@media (max-width:640px){
  .ac .key{width:26px; height:28px; font-size:9.5px; border-radius:5px;}
  .ac .key.fn{padding:0 5px; font-size:8px; letter-spacing:.08em;}
  .ac .key.wide{width:52px;}
  .ac .key.space{width:140px;}
  .ac .krow{gap:4px;}
}
@media (max-width:380px){
  .ac .key{width:22px;}
  .ac .key.wide{width:44px;}
  .ac .key.space{width:110px;}
  .ac .key.fn{font-size:7px; padding:0 3px;}
}
.ac .kbdcap{grid-column:1 / -1; font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); text-align:center;}
.ac .kstrip{list-style:none; margin-top:26px; display:grid; gap:10px;}
.ac .kstrip li{display:grid; grid-template-columns:64px 1fr; gap:14px; align-items:start; font-size:15.5px; color:var(--dim);}
.ac .kstrip kbd{font-family:var(--mono); font-size:12px; color:var(--bone); background:var(--keycap); border:1px solid var(--keyedge); border-bottom-width:3px; border-radius:7px; padding:5px 0; text-align:center; display:block;}
.ac .oj-punch{margin-top:24px; font-family:var(--display); font-size:clamp(1.15rem,1.8vw,1.5rem); line-height:1.3; letter-spacing:-.01em; font-weight:600; max-width:30ch;}
.ac .oj-punch b{color:var(--lime-ink); font-weight:600;}
.ac .lane{position:relative; height:74px; margin-top:34px; overflow:hidden;}
.ac .lane .track{position:absolute; left:0; right:0; bottom:8px; height:1px; background:var(--line);}
.ac .lane .track::after{content:""; position:absolute; inset:0;
  background:repeating-linear-gradient(90deg, var(--dim) 0 12px, transparent 12px 26px); opacity:.55;}
.ac .lane .run{position:absolute; bottom:9px; left:0; width:max-content; transform:translateX(calc(-100% - 40px)); will-change:transform;}
.ac .wagon{width:118px; height:auto; display:block; filter:drop-shadow(0 0 16px rgba(255,122,47,.35));}
.ac .lane.go .run{animation:arrive 2.1s cubic-bezier(.3,0,.28,1) forwards;}
@keyframes arrive{ to{ transform:translateX(var(--park, 70vw)); } }
.ac .lane.go .track::after{animation:road 1.4s linear 2;}
@keyframes road{ to{ transform:translateX(-26px); } }
.ac .lane.parked .run{transform:translateX(var(--park, 70vw)); animation:none;}
.ac .lanecap{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); margin-top:10px;}
@media (prefers-reduced-motion: reduce){
  .ac .lane.go .run{animation:none; transform:translateX(var(--park, 70vw));}
  .ac .lane.go .track::after{animation:none;}
}
.ac .sk-ctl{display:flex; flex-wrap:wrap; gap:16px 32px; align-items:flex-end; justify-content:space-between; margin-bottom:8px;}
.ac .sk-ctl .lab{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); margin-bottom:8px;}
.ac .sk-chips{display:flex; flex-wrap:wrap; gap:8px;}
.ac .sk-chips button, .ac .sk-seg button{appearance:none; font:inherit; font-size:13px; padding:8px 13px; border-radius:999px; border:1px solid var(--line); background:var(--ink); color:var(--dim); cursor:pointer; width:auto;}
.ac .sk-chips button:hover, .ac .sk-chips button:focus-visible, .ac .sk-seg button:focus-visible{border-color:var(--dim); color:var(--bone); outline:none;}
.ac .sk-chips button.on{border-color:var(--lime-mark); color:var(--lime-ink); background:color-mix(in srgb, var(--lime) 18%, var(--ink));}
.ac .sk-seg{display:inline-flex; gap:3px; padding:3px; border:1px solid var(--line); border-radius:999px; background:var(--ink2);}
.ac .sk-seg button{border-color:transparent; background:transparent; padding:8px 18px;}
.ac .sk-seg button.on{background:var(--bone); color:var(--ink); border-color:var(--bone);}
.ac .sk-stack{display:grid; margin-top:14px;}
.ac .sk-row{display:grid; gap:10px 24px; padding:18px 0;}
.ac .sk-row .rl{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); padding-top:4px;}
.ac .sk-card{border:1px solid var(--line); border-radius:14px; padding:20px 22px; background:var(--ink2);}
.ac .sk-card h3{font-size:1.35rem; margin-bottom:8px;}
.ac .sk-card p{color:var(--dim); font-size:15.5px;}
.ac .sk-tags{display:flex; flex-wrap:wrap; gap:6px; margin:4px 0 12px;}
.ac .sk-tags span{font-family:var(--mono); font-size:11.5px; color:var(--lime-ink); padding:4px 9px; border:1px solid var(--lime-mark); border-radius:6px; background:var(--ink);}
.ac .sk-card.today{border-style:dashed; background:transparent;}
.ac .sk-card.after{border-color:var(--lime-mark); box-shadow:0 0 0 4px color-mix(in srgb, var(--lime-mark) 16%, transparent);}
.ac .sk-card.made{border-style:dashed; background:transparent;}
.ac .sk-card.made .sk-tags span{color:var(--dim); border-color:var(--line);}
.ac .sk-card.bought{border-color:var(--lime-mark); box-shadow:0 0 0 4px color-mix(in srgb, var(--lime-mark) 16%, transparent);}
.ac .sk-stack[data-state="made"] .bought{display:none;}
.ac .sk-stack[data-state="bought"] .made{display:none;}
.ac .sk-stack[data-state="made"] .sk-arrow i{background:repeating-linear-gradient(180deg, var(--pink-mark) 0 4px, transparent 4px 8px);}
.ac .sk-stack[data-state="made"] .sk-arrow i::after{border-bottom-color:var(--pink-mark);}
.ac .sk-card.s-mind{border-style:dashed; background:transparent;}
.ac .sk-card.s-rec{border-color:var(--lime-mark); box-shadow:0 0 0 4px color-mix(in srgb, var(--lime-mark) 16%, transparent);}
.ac .sk-stack[data-state="mind"] .s-rec{display:none;}
.ac .sk-stack[data-state="rec"] .s-mind{display:none;}
.ac .sk-stack[data-state="mind"] .sk-arrow i{background:repeating-linear-gradient(180deg, var(--pink-mark) 0 4px, transparent 4px 8px);}
.ac .sk-stack[data-state="mind"] .sk-arrow i::after{border-bottom-color:var(--pink-mark);}
.ac .hd-rec{display:grid; gap:6px;}
.ac .hd-rec .r{display:grid; grid-template-columns:minmax(110px, 2fr) 3fr; gap:10px; font-size:14.5px; border:1px solid var(--line); border-radius:8px; padding:8px 12px; background:var(--ink);}
.ac .hd-rec .r b{font-family:var(--mono); font-weight:400; font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--dim); padding-top:2px;}
.ac .hd-rec em{font-style:normal; color:var(--pink-ink);}
.ac .sk-card.s-rec .hd-rec em{color:var(--lime-ink);}
.ac .hd-who{display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start;}
.ac .hd-who svg{width:38px; height:44px; fill:var(--bone);}
.ac .sk-card.s-rec .hd-who svg{fill:var(--line);}
.ac .hd-who .nm{font-family:var(--display); font-weight:600; font-size:1.15rem; letter-spacing:-.01em;}
.ac .hd-who .sub{color:var(--dim); font-size:14.5px; margin-top:2px;}
.ac .hd-tags{margin-top:12px;}
.ac .hd-tags span{color:var(--pink-ink); border-color:var(--pink-mark);}
.ac .hd-leave{font-family:var(--mono); font-size:11.5px; color:var(--pink-ink); margin-top:10px;}
.ac .pv-pic{margin-top:6px;}
.ac .pv-room{display:none;}
.ac .pv-room.on{display:block;}
.ac .pv-q{font-family:var(--display); font-size:1.4rem; line-height:1.3; letter-spacing:-.01em; font-weight:500;}
.ac .pv-q::before{content:"\201C"; color:var(--pink-ink); margin-right:2px;}
.ac .pv-q::after{content:"\201D"; color:var(--pink-ink); margin-left:2px;}
.ac .pv-who{font-family:var(--mono); font-size:11.5px; color:var(--dim); margin-top:8px;}
.ac .pv-chain{display:grid; gap:10px; margin-top:18px;}
.ac .pv-link{position:relative; border:1px solid var(--line); border-radius:12px; padding:14px 16px; background:var(--ink2); display:grid; gap:6px; align-content:start;}
.ac .pv-link .lk{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); display:flex; justify-content:space-between; gap:8px; align-items:center;}
.ac .pv-link .lk i{font-style:normal; font-size:10.5px; padding:2px 8px; border-radius:999px; border:1px solid var(--lime-mark); color:var(--lime-ink); letter-spacing:.06em;}
.ac .pv-link.broken{border-style:dashed; background:transparent;}
.ac .pv-link.broken .lk i{border-color:var(--pink-mark); color:var(--pink-ink);}
.ac .pv-link b{display:block; font-family:var(--display); font-weight:600; font-size:1.05rem; letter-spacing:-.01em; line-height:1.3;}
.ac .pv-link p{color:var(--dim); font-size:14px;}
.ac .pv-verdict{margin-top:14px; color:var(--dim); font-size:15px; border-left:2px solid var(--lime-mark); padding-left:14px;}
.ac .pv-pic[data-state="home"] .pv-verdict{border-left-color:var(--pink-mark);}
.ac .pv-pic[data-state="home"] .s-work{display:none;}
.ac .pv-pic[data-state="work"] .s-home{display:none;}
@media (min-width:820px){
  .ac .pv-chain{grid-template-columns:repeat(4,1fr); gap:14px;}
  .ac .pv-link:not(:first-child)::before{content:""; position:absolute; left:-14px; top:50%; width:14px; height:2px; background:var(--lime-mark);}
  .ac .pv-link.broken::before{background:repeating-linear-gradient(90deg, var(--pink-mark) 0 3px, transparent 3px 6px);}
}
.ac .sk-arrow.down i::after{top:auto; bottom:-2px; border-bottom:0; border-top:8px solid var(--lime-mark);}
.ac .sk-stack[data-state="today"] .sk-arrow.down i::after{border-top-color:var(--pink-mark);}
.ac .sk-card.after .hd-rec em{color:var(--lime-ink);}
.ac .sk-stack[data-state="today"] .after{display:none;}
.ac .sk-stack[data-state="after"] .today{display:none;}
.ac .sk-arrow{display:flex; align-items:center; gap:14px; padding:2px 0 2px 10px;}
.ac .sk-arrow i{display:block; position:relative; width:2px; height:38px; margin-left:8px; background:var(--lime-mark);}
.ac .sk-arrow i::after{content:""; position:absolute; top:-2px; left:-4px; width:0; height:0; border-left:5px solid transparent; border-right:5px solid transparent; border-bottom:8px solid var(--lime-mark);}
.ac .sk-stack[data-state="today"] .sk-arrow i{background:repeating-linear-gradient(180deg, var(--pink-mark) 0 4px, transparent 4px 8px);}
.ac .sk-stack[data-state="today"] .sk-arrow i::after{border-bottom-color:var(--pink-mark);}
.ac .sk-arrow span{font-family:var(--mono); font-size:11.5px; color:var(--dim);}
.ac .sk-keep{display:grid; gap:10px; grid-template-columns:repeat(auto-fit, minmax(min(150px,100%),1fr));}
.ac .sk-tile{border:1px solid var(--line); border-radius:12px; padding:14px 14px 12px; background:var(--ink);}
.ac .sk-tile .tk{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--dim);}
.ac .sk-tile b{display:block; font-family:var(--display); font-weight:600; font-size:1.05rem; letter-spacing:-.01em; margin-top:6px; line-height:1.25;}
.ac .sk-tile small{display:block; color:var(--dim); font-size:12.5px; line-height:1.4; margin-top:6px;}
.ac .sk-tile.rec{border-color:var(--lime-mark);}
.ac .sk-cap{margin-top:14px; color:var(--dim); font-size:14.5px;}
.ac .sk-stack[data-state="own"] .s-wl{display:none;}
.ac .sk-stack[data-state="wl"] .s-own{display:none;}
.ac .sk-card.ships{border-color:var(--lime-mark); box-shadow:0 0 0 4px color-mix(in srgb, var(--lime-mark) 16%, transparent);}
.ac #agstack .hd-rec{margin:14px 0 12px;}
.ac #agstack .hd-rec .r{grid-template-columns:minmax(96px, 1fr) 4fr;}
.ac #agstack .hd-rec em.fix{color:var(--lime-ink);}
.ac .sk-name{display:flex; justify-content:space-between; align-items:baseline; gap:8px 16px; flex-wrap:wrap; margin-bottom:8px;}
.ac .sk-name b{font-family:var(--display); font-weight:600; font-size:1.35rem; letter-spacing:-.01em;}
.ac .sk-name span{font-family:var(--mono); font-size:12px; letter-spacing:.06em; color:var(--lime-ink);}
.ac .gc-setup{font-size:13.5px; margin-top:10px;}
.ac .gc-rail{display:flex; flex-wrap:wrap; gap:6px; margin:14px 0 10px;}
.ac .gc-tab{font-family:var(--mono); font-size:11.5px; padding:6px 10px; border:1px dashed var(--line); border-radius:6px; color:var(--dim);}
.ac .gc-tab.on{border-style:solid; border-color:var(--lime-mark); color:var(--lime-ink); background:color-mix(in srgb, var(--lime) 18%, var(--ink));}
.ac .gc-count{font-size:14.5px; color:var(--dim);}
.ac .gc-count b{color:var(--bone); font-weight:600;}
.ac .gc-lab{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); margin-top:14px;}
.ac .sk-card p.sub{font-size:13.5px; margin-top:10px;}
.ac .da-people svg.free{fill:var(--lime-ink);}
.ac .sk-stack[data-state="pilot"] :is(.s-keep,.s-replace){display:none;}
.ac .sk-stack[data-state="keep"] :is(.s-pilot,.s-replace){display:none;}
.ac .sk-stack[data-state="replace"] :is(.s-pilot,.s-keep){display:none;}
.ac .rv-ticks{display:grid; gap:8px; grid-template-columns:repeat(auto-fit, minmax(min(300px,100%),1fr));}
.ac .rv-ticks button{border-radius:12px; text-align:left; font-size:14.5px; line-height:1.4; padding:12px 14px; white-space:normal; color:var(--bone);}
.ac .rv-verdict{margin-top:16px; font-size:15.5px;}
.ac .rv-verdict b{font-family:var(--display); font-weight:600; font-size:1.35rem; margin-right:4px;}
.ac .ph-lapse{position:relative; margin:34px 0 40px;}
.ac .ph-odo{position:absolute; left:50%; bottom:calc(100% + 6px); transform:translateX(-50%); white-space:nowrap; font-family:var(--mono); font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--dim);}
.ac .ph-odo b{font-weight:400; color:var(--bone); font-variant-numeric:tabular-nums;}
.ac .ph-road{position:relative; height:92px;}
.ac .ph-road::before{content:""; position:absolute; left:0; right:0; bottom:10px; height:2px; background:var(--line);}
.ac .ph-dash{position:absolute; left:0; bottom:9px; width:100%; height:4px; display:block;}
.ac .ph-dot{position:absolute; bottom:6px; width:10px; height:10px; border-radius:50%; background:var(--tc); box-shadow:0 0 0 3px var(--ink);}
.ac .ph-van{--vw:84px; position:absolute; bottom:11px; left:calc(100% - var(--vw)); width:var(--vw); height:calc(var(--vw) * .52);}
.ac .ph-era{position:absolute; inset:0; width:100%; height:100%; display:block; opacity:0;}
.ac .ph-era-26{opacity:1;}
.ac .ph-era .hub{transform-origin:center; transform-box:fill-box;}
.ac .ph-lapse.go .ph-van{animation:ph-drive 10s linear .3s both;}
.ac .ph-lapse.go .ph-era-26{animation:ph-era-26 10s linear .3s both;}
.ac .ph-lapse.go .ph-era-06{animation:ph-era-06 10s linear .3s both;}
.ac .ph-lapse.go .ph-era-then{animation:ph-era-then 10s linear .3s both;}
.ac .ph-lapse.go .ph-era .hub{animation:ph-spin .5s linear .3s 5 reverse, ph-spin .5s linear 3.84s 13;}
.ac .ph-lapse.go .ph-road .road-dash{animation:ph-roll 1.15s linear .3s 2 reverse, ph-roll 1.4s linear 3.84s 5;}
@keyframes ph-drive{
  0%{left:calc(100% - var(--vw)); animation-timing-function:cubic-bezier(.4,0,.2,1);}
  23%{left:0;} 35.4%{left:0; animation-timing-function:cubic-bezier(.45,0,.2,1);}
  100%{left:calc(100% - var(--vw));}
}
@keyframes ph-era-26{0%{opacity:1;} 17%{opacity:0;} 82%{opacity:0;} 92%{opacity:1;} 100%{opacity:1;}}
@keyframes ph-era-06{0%{opacity:0;} 19%{opacity:1;} 54%{opacity:1;} 63%{opacity:0;} 100%{opacity:0;}}
@keyframes ph-era-then{0%{opacity:0;} 56%{opacity:0;} 65%{opacity:1;} 79%{opacity:1;} 87%{opacity:0;} 100%{opacity:0;}}
@keyframes ph-spin{to{transform:rotate(360deg);}}
@keyframes ph-roll{to{stroke-dashoffset:-25;}}
.ac .ph-stops{display:grid; grid-template-columns:1fr 1fr 1fr; gap:18px;}
.ac .ph-stop{min-width:0;}
.ac .ph-stop:nth-child(2){text-align:center;}
.ac .ph-stop:nth-child(3){text-align:right;}
.ac .ph-yr{font-family:var(--mono); font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--tc-ink); margin-bottom:6px;}
.ac .ph-stop h3{font-size:18px; max-width:22ch;}
.ac .ph-stop:nth-child(2) h3{margin:0 auto;}
.ac .ph-stop:nth-child(3) h3{margin-left:auto;}
.ac .ph-stop p{font-size:14.5px; line-height:1.5; color:var(--dim); margin-top:6px; max-width:28ch;}
.ac .ph-stop:nth-child(2) p{margin-left:auto; margin-right:auto;}
.ac .ph-stop:nth-child(3) p{margin-left:auto;}
@media (prefers-reduced-motion:reduce){
  .ac .ph-lapse.go .ph-van, .ac .ph-lapse.go .ph-era, .ac .ph-lapse.go .ph-era .hub, .ac .ph-lapse.go .ph-road .road-dash{animation:none;}
  .ac .ph-lapse.go .ph-van{left:calc(100% - var(--vw));}
  .ac .ph-lapse.go .ph-era-26{opacity:1;}
}
@media (max-width:640px){
  .ac .ph-road{height:70px; margin-bottom:22px;}
  .ac .ph-van{--vw:56px;}
  .ac .ph-odo{font-size:10px;}
  .ac .ph-odo-l{display:none;}
  .ac .ph-stops{grid-template-columns:1fr; gap:14px;}
  .ac .ph-stop, .ac .ph-stop:nth-child(2), .ac .ph-stop:nth-child(3){text-align:left; border-left:2px solid var(--tc); padding-left:14px;}
  .ac .ph-stop:nth-child(2) h3, .ac .ph-stop:nth-child(3) h3, .ac .ph-stop:nth-child(2) p, .ac .ph-stop:nth-child(3) p{margin-left:0; margin-right:0;}
}
.ac .da-people{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px;}
.ac .da-people svg{width:22px; height:26px; fill:var(--line);}
.ac .da-people svg.agent{fill:var(--lime-ink);}
.ac .sk-stack[data-state="seat"] .da-people svg{fill:var(--pink-ink);}
.ac .sk-card.s-seat{border-style:dashed; background:transparent;}
.ac .sk-card.s-agent{border-color:var(--lime-mark); box-shadow:0 0 0 4px color-mix(in srgb, var(--lime-mark) 16%, transparent);}
.ac .sk-stack[data-state="seat"] .s-agent{display:none;}
.ac .sk-stack[data-state="agent"] .s-seat{display:none;}
.ac .sk-stack[data-state="seat"] .sk-arrow i{background:repeating-linear-gradient(180deg, var(--pink-mark) 0 4px, transparent 4px 8px);}
.ac .sk-stack[data-state="seat"] .sk-arrow i::after{border-bottom-color:var(--pink-mark);}
@media (min-width:820px){
  .ac .sk-row{grid-template-columns:200px 1fr;}
  .ac .sk-arrow{padding-left:234px;}
  .ac .sk-keep{grid-template-columns:repeat(3, 1fr);}
}
@media (max-width:819px){
  .ac #bdstack .sk-keep{grid-template-columns:1fr;}
}
.ac .cr-pair{display:grid; gap:14px; margin-top:6px;}
.ac .cr-panel{border:1px solid var(--line); border-radius:14px; padding:18px 20px 20px; background:var(--ink2); display:grid; gap:12px; align-content:start;}
.ac .cr-panel.typed{border-style:dashed; background:transparent;}
.ac .cr-panel.kept{border-color:var(--lime-mark); box-shadow:0 0 0 4px color-mix(in srgb, var(--lime-mark) 16%, transparent);}
.ac .cr-panel .ph{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--dim);}
.ac .cr-panel.kept .ph{color:var(--lime-ink);}
.ac .cr-case{display:none;}
.ac .cr-case.on{display:grid; gap:12px;}
.ac .cr-tag{font-family:var(--mono); font-size:11.5px; color:var(--dim);}
.ac .cr-line{color:var(--dim); font-size:15px;}
.ac .cr-months{display:grid; grid-template-columns:repeat(9,1fr); gap:4px; align-items:end;}
.ac .cr-months i{display:block; height:28px; border:1px dashed var(--line); border-radius:5px;}
.ac .cr-months i.f{border:1px solid var(--lime-mark); background:color-mix(in srgb, var(--lime) 34%, var(--ink));}
.ac .cr-months b{font-family:var(--mono); font-weight:400; font-size:10px; color:var(--dim); text-align:center;}
.ac .cr-steps{display:grid; gap:8px;}
.ac .cr-steps span{display:grid; grid-template-columns:22px 1fr; gap:8px; align-items:baseline; font-size:14.5px; padding:9px 12px; border:1px solid var(--line); border-radius:8px; background:var(--ink);}
.ac .cr-steps b{font-family:var(--mono); font-weight:400; font-size:11px; color:var(--dim);}
.ac .cr-panel.kept .cr-steps b{color:var(--lime-ink);}
.ac .cr-rec{border:1px solid var(--line); border-radius:10px; padding:12px 14px; background:var(--ink); display:grid; gap:8px;}
.ac .cr-rec .k{font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--dim);}
.ac .cr-rec .fld{display:flex; justify-content:space-between; gap:12px; font-size:14.5px;}
.ac .cr-rec .fld span:first-child{color:var(--dim);}
.ac .cr-rec .trail{border-top:1px solid var(--line); padding-top:8px; font-size:13.5px; color:var(--dim); display:grid; gap:5px;}
.ac .cr-rec .say{font-family:var(--display); font-size:1.05rem; line-height:1.3; color:var(--bone);}
.ac .cr-rec small{font-size:12px; display:flex; align-items:center; gap:6px;}
.ac .cr-play{width:13px; height:13px; fill:var(--lime-ink); flex:none;}
.ac .cr-people{display:flex; flex-wrap:wrap; gap:12px;}
.ac .cr-people span{display:grid; justify-items:center; gap:4px; color:var(--bone);}
.ac .cr-people svg{width:30px; height:34px; fill:currentColor;}
.ac .cr-people em{font-style:normal; font-family:var(--mono); font-size:10.5px; color:var(--dim);}
.ac .cr-people .locked{color:var(--line);}
.ac .cr-people .locked em{color:var(--pink-ink);}
.ac .cr-screen{border:1px solid var(--line); border-radius:10px; background:var(--ink); overflow:hidden;}
.ac .cr-screen .bar{display:flex; gap:5px; padding:8px 10px; border-bottom:1px solid var(--line);}
.ac .cr-screen .bar i{width:8px; height:8px; border-radius:50%; background:var(--line);}
.ac .cr-screen .body{padding:12px 14px; display:grid; gap:8px; font-size:13.5px;}
.ac .cr-screen .ttl{font-family:var(--display); font-weight:600; font-size:1rem; display:flex; justify-content:space-between; gap:10px;}
.ac .cr-screen .ttl b{font-family:var(--mono); font-weight:400; font-size:12px; color:var(--dim);}
.ac .cr-screen .empty{color:var(--dim); text-align:center; padding:12px 0; border:1px dashed var(--line); border-radius:8px;}
.ac .cr-screen .btn2{display:inline-block; font-size:12px; padding:5px 10px; border:1px solid var(--line); border-radius:999px; color:var(--dim); margin:0 6px 4px 0;}
.ac .cr-screen .row{display:flex; justify-content:space-between; gap:10px; border-bottom:1px solid var(--line); padding-bottom:6px;}
.ac .cr-screen .row:last-child{border-bottom:0; padding-bottom:0;}
.ac .cr-screen .row small{color:var(--dim); font-size:12px; text-align:right;}
.ac .cr-nouns{display:grid; gap:6px;}
.ac .cr-nouns span{display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:14.5px; border:1px solid var(--line); border-radius:8px; padding:8px 12px; background:var(--ink);}
.ac .cr-nouns em{font-style:normal; font-family:var(--mono); font-size:11px; color:var(--dim); text-align:right;}
.ac .cr-panel.kept .cr-nouns em{color:var(--lime-ink);}
@media (min-width:820px){
  .ac .cr-pair{grid-template-columns:1fr 1fr; gap:18px;}
}
.ac .band{display:flex; flex-wrap:wrap; gap:8px; margin-top:8px;}
.ac .mark{font-family:var(--mono); font-size:12px; padding:8px 12px; border:1px solid var(--line); border-radius:8px;
  background:var(--ink2); color:var(--bone); transition:opacity .4s ease, transform .46s cubic-bezier(.2,.85,.3,1.25); transition-delay:var(--d,0ms);}
.ac .mark.p{border-color:var(--lime-mark); color:var(--lime-ink);}
.ac .band.wake .mark{opacity:0; transform:translateY(-12px) scale(.92);}
.ac .band.wake.drop .mark{opacity:1; transform:none;}
.ac .stacklane{height:64px; margin-top:18px;}
.ac .stacklane .wagon{width:92px;}
.ac .stacklane.go .run{animation:arrive 2.05s cubic-bezier(.36,0,.5,1) forwards;}
@media (prefers-reduced-motion: reduce){
  .ac .band.wake .mark{opacity:1; transform:none; transition:none;}
}
.ac .poster{position:relative; overflow:hidden; border-radius:18px; background:#0B0A0F; color:#F4F1F7;
  padding:40px 28px; border:1px solid #2A2733; isolation:isolate; margin-top:26px;}
.ac .poster::before{content:""; position:absolute; left:0; right:0; top:0; height:4px; background:linear-gradient(90deg,#FF4D9D,#FF7A2F,#C8F542);}
.ac .poster::after{content:""; position:absolute; inset:auto -20% -60% auto; width:70%; height:120%; z-index:-1;
  background:radial-gradient(ellipse at center, rgba(124,92,255,.35), transparent 60%); filter:blur(20px);}
.ac .poster .eyebrow{color:#A9A3B8;}
.ac .poster h2{font-size:clamp(1.8rem,4vw,3rem); max-width:16ch; margin-top:14px; font-weight:700; color:#F4F1F7;}
.ac .poster p{color:#A9A3B8; margin-top:16px; font-size:16px;}
.ac .poster .cred{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:#A9A3B8; margin-top:26px; line-height:1.9;}
.ac .poster .btn{margin-top:22px;}
.ac .poster .stars{position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:radial-gradient(circle, rgba(244,241,247,.55) .8px, transparent 1.2px), radial-gradient(circle, rgba(244,241,247,.3) .7px, transparent 1.1px);
  background-size:120px 90px, 70px 140px; background-position:10px 20px, 40px 60px; opacity:.6;}
.ac .busmap{display:grid; gap:38px; align-items:start;}
@media (min-width:900px){
  .ac .busmap{grid-template-columns:minmax(230px,286px) minmax(0,1fr); gap:60px; align-items:center;}
}
.ac .busplan{position:relative;}
.ac .busplan svg{width:100%; height:auto; display:block; overflow:visible;}
@media (max-width:899px){
  .ac .busplan{max-width:248px; margin:0 auto;}
}
.ac .eseat{pointer-events:none;}
.ac .eseat rect{fill:#1D1A29; stroke:#312C42; stroke-width:1.5;}
.ac .doorwell .panel{fill:#100E19; stroke:#312C42; stroke-width:1.4; stroke-dasharray:5 5;}
.ac .doorwell .step{fill:#2A2639;}
.ac .doorwell .lbl{font-family:var(--mono); font-size:8.5px; letter-spacing:.22em; fill:#6B6484; text-anchor:middle;}
.ac .aisle{stroke:url(#spine); stroke-width:3; stroke-linecap:round; opacity:.78;}
.ac .bseat{cursor:pointer;}
.ac .bseat rect, .ac .bseat circle, .ac .bseat line, .ac .bseat text{transition:fill .22s ease, stroke .22s ease, r .22s ease;}
.ac .bseat .back, .ac .bseat .arm{fill:#2C2740; stroke:#453E5C; stroke-width:1.7;}
.ac .bseat .cushion{fill:#221E31; stroke:#453E5C; stroke-width:2;}
.ac .bseat .who{font-family:var(--display); font-weight:700; font-size:15px; letter-spacing:-.012em; font-variation-settings:'WONK' 1; fill:#8E87A6; text-anchor:middle; pointer-events:none;}
.ac .bseat .yr{font-family:var(--display); font-weight:900; font-size:20.5px; font-variant-numeric:tabular-nums; letter-spacing:-.035em; font-variation-settings:'WONK' 1,'opsz' 40; fill:#8B85A0; text-anchor:end;}
.ac .bseat .tick{stroke:#3A3450; stroke-width:2; stroke-linecap:round;}
.ac .bseat .node{fill:#3A3450;}
.ac .bseat .wheel{fill:none; stroke:#4A4364; stroke-width:2.4;}
.ac .bseat .hub{fill:#4A4364;}
.ac .bseat:hover .cushion, .ac .bseat:focus-visible .cushion{stroke:var(--sc,var(--violet));}
.ac .bseat:hover .yr, .ac .bseat:focus-visible .yr, .ac .bseat:hover .who, .ac .bseat:focus-visible .who{fill:var(--dim);}
.ac .bseat.on{filter:drop-shadow(0 0 15px color-mix(in srgb, var(--sc,var(--violet)) 42%, transparent));}
.ac .bseat.on .cushion{fill:color-mix(in srgb, var(--sc,var(--violet)) 26%, #221E31); stroke:var(--sc,var(--violet));}
.ac .bseat.on .back, .ac .bseat.on .arm{fill:color-mix(in srgb, var(--sc,var(--violet)) 42%, #2C2740); stroke:var(--sc,var(--violet));}
.ac .bseat.on .who{fill:#F4F1F7;}
.ac .bseat.on .yr, .ac .bseat.on .tick{fill:var(--sc,var(--violet)); stroke:var(--sc,var(--violet));}
.ac .bseat.on .node{fill:var(--sc,var(--violet)); r:6;}
.ac .bseat.on .wheel{stroke:var(--sc,var(--violet));}
.ac .bseat.on .hub{fill:var(--sc,var(--violet));}
.ac .bseat:focus{outline:none;}
.ac .bseat:focus-visible .cushion{stroke-width:3.2;}
.ac .sdetail{display:none;}
.ac .sdetail.on{display:block; animation:seatin .34s cubic-bezier(.2,.8,.3,1) both;}
@keyframes seatin{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:none;}}
@media (prefers-reduced-motion:reduce){
  .ac .sdetail.on{animation:none;}
}
.ac .sd-head{display:flex; align-items:baseline; gap:15px; flex-wrap:wrap; margin-bottom:14px;}
.ac .sd-yr{font-family:var(--display); font-weight:900; font-size:clamp(42px,6.4vw,66px); line-height:.88; letter-spacing:-.045em; font-variant-numeric:tabular-nums; font-variation-settings:'WONK' 1,'opsz' 90; color:var(--sc,var(--violet));}
.ac .sd-meta{font-family:var(--mono); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--dim); padding:5px 12px; border-radius:999px; border:1px solid var(--line); white-space:nowrap;}
.ac .sd-role{font-family:var(--display); font-weight:900; font-size:clamp(28px,4vw,44px); line-height:1.02; letter-spacing:-.025em; font-variation-settings:'WONK' 1,'opsz' 60; color:var(--bone); margin-bottom:18px;}
.ac .sd-lead{font-family:var(--display); font-weight:800; font-size:clamp(19px,2.2vw,24px); line-height:1.24; letter-spacing:-.015em; color:var(--bone); margin-bottom:16px; padding-left:17px; border-left:3px solid var(--sc,var(--violet));}
.ac .sdetail p{color:var(--dim); font-size:16.5px; line-height:1.55; max-width:56ch;}
.ac .sd-hint{display:block; color:var(--dim); font-size:13.5px; margin-top:26px; padding-top:15px; border-top:1px solid var(--line);}
.ac .janlink{color:var(--dim); border-bottom:1px solid var(--line); padding-bottom:2px;}
.ac .janlink:hover{color:var(--bone); border-color:var(--dim);}
.ac .bseat[data-k="janitor"]{--sc:var(--bone);}
.ac .sdetail[data-k="janitor"]{--sc:var(--bone);}
.ac .close{padding-block:64px; border-top:1px solid var(--line);}
.ac .close h2{font-size:clamp(1.8rem,3.6vw,2.8rem); max-width:18ch;}
.ac .close p{margin-top:14px; color:var(--dim);}
.ac .quiz .qrow{display:grid; gap:12px; padding:16px 0; border-top:1px solid var(--line); align-items:center;}
@media (min-width:760px){
  .ac .quiz .qrow{grid-template-columns:1fr 250px;}
}
.ac .quiz .qrow p{font-size:15.5px; color:var(--dim);}
.ac .quiz .qrow p b{color:var(--bone);}
.ac .quiz .qb{display:flex; gap:8px; justify-content:flex-end;}
.ac .quiz .qb button{appearance:none; font:inherit; font-size:13px; padding:8px 12px; border-radius:999px; border:1px solid var(--line); background:var(--ink); color:var(--dim); cursor:pointer; width:auto; height:auto;}
.ac .quiz .qb button.on{border-color:var(--lime-mark); color:var(--lime-ink); background:color-mix(in srgb, var(--lime) 18%, var(--ink));}
.ac .quiz .qb button.on.no{border-color:var(--pink-mark); color:var(--pink-ink); background:color-mix(in srgb, var(--pink) 12%, var(--ink));}
.ac .calc{background:var(--ink2); border:1px solid var(--line); border-radius:14px; padding:20px 22px; display:grid; gap:10px;}
.ac .calc label{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--dim);}
.ac .calc input{font:inherit; font-size:20px; font-family:var(--display); padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:var(--ink); color:var(--bone); width:100%; max-width:220px; height:auto;}
.ac .calc p{font-size:15.5px;}
.ac .calc p b{color:var(--bone);}
.ac [id]{scroll-margin-top:96px;}
.ac .rows .t a{color:var(--lime-ink); text-decoration:underline; text-decoration-color:var(--lime-mark); text-underline-offset:3px;}
.ac .split .vary li::before{content:"~"; color:var(--orange-ink);}
.ac .pull{margin-top:22px; font-family:var(--display); font-size:clamp(1.1rem,1.7vw,1.4rem); line-height:1.35; letter-spacing:-.01em; font-weight:500; max-width:40ch;}
.ac .qa{list-style:none; display:grid; gap:12px; grid-template-columns:repeat(auto-fit, minmax(min(300px,100%),1fr));}
.ac .qa li{background:var(--ink2); border:1px solid var(--line); border-radius:14px; padding:18px 20px;}
.ac .qa .ask{font-family:var(--display); font-size:1.15rem; line-height:1.3; letter-spacing:-.01em; font-weight:500;}
.ac .qa .ans{color:var(--dim); font-size:15px; margin-top:8px; padding-top:8px; border-top:1px solid var(--line);}
.ac .fit{list-style:none; display:grid; gap:12px;}
.ac .fit li{display:grid; grid-template-columns:28px 1fr; gap:12px; font-size:15.5px;}
.ac .fit .y{font-family:var(--mono); color:var(--lime-ink); padding-top:2px;}
.ac .fit b{color:var(--bone); font-weight:600;}
.ac .gc-tour{display:grid; gap:28px;}
.ac .gc-stop{display:grid; gap:16px 36px; align-items:center; padding:24px 0; border-top:1px solid var(--line);}
@media (min-width:860px){
  .ac .gc-stop{grid-template-columns:minmax(0,5fr) minmax(0,7fr);}
  .ac .gc-stop.flip .gc-copy{order:2;}
}
.ac .gc-copy .n{font-family:var(--mono); font-size:11px; color:var(--lime-ink); letter-spacing:.1em; display:block; margin-bottom:10px;}
.ac .gc-copy h3{font-size:1.3rem; margin-bottom:10px;}
.ac .gc-copy p{color:var(--dim); font-size:15.5px;}
.ac .gc-copy p b{color:var(--bone); font-weight:600;}
.ac .gc-shot{margin:0; min-width:0;}
.ac .gc-shot img{display:block; width:100%; height:auto; max-width:100%; border-radius:12px; border:1px solid var(--line); background:var(--ink2); box-shadow:0 18px 50px rgba(20,18,32,.16);}
.ac .gc-shot figcaption{font-family:var(--mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); margin-top:8px;}
.ac .shotwrap{margin-top:24px;}
.ac .nums{display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:12px; overflow:hidden; grid-template-columns:repeat(auto-fit, minmax(min(220px,100%),1fr));}
.ac .num{background:var(--ink); padding:20px 18px; display:grid; gap:6px; min-width:0;}
.ac .num .fig{font-family:var(--display); font-weight:800; font-size:clamp(28px,4vw,38px); line-height:1; letter-spacing:-.03em; color:var(--lime-ink); font-variant-numeric:tabular-nums;}
.ac .num .cap{font-size:14.5px; color:var(--dim); line-height:1.42;}
.ac .faq{display:grid; gap:0; border-top:1px solid var(--line);}
.ac .faq details{border-bottom:1px solid var(--line);}
.ac .faq summary{cursor:pointer; list-style:none; padding:16px 0; font-family:var(--display); font-size:1.1rem; font-weight:500; letter-spacing:-.01em; display:flex; gap:12px; align-items:baseline;}
.ac .faq summary::-webkit-details-marker{display:none;}
.ac .faq summary::before{content:"+"; font-family:var(--mono); color:var(--lime-ink); flex:0 0 14px;}
.ac .faq details[open] summary::before{content:"\2212";}
.ac .faq details p{color:var(--dim); font-size:15.5px; padding:0 0 18px 26px; max-width:70ch;}
.ac .cform{display:grid; gap:14px; grid-template-columns:1fr 1fr; max-width:760px; margin-top:22px;}
@media (max-width:640px){
  .ac .cform{grid-template-columns:1fr;}
}
.ac .cform > div{display:grid; gap:6px; min-width:0;}
.ac .cform .full{grid-column:1 / -1;}
.ac .cform label{font-family:var(--mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--dim);}
.ac .cform input, .ac .cform select, .ac .cform textarea{font:inherit; font-size:15px; color:var(--bone); background:var(--ink2); border:1px solid var(--line); border-radius:10px; padding:11px 13px; width:100%; height:auto; max-width:none;}
.ac .cform textarea{min-height:100px; resize:vertical; line-height:1.5;}
.ac .cform input:focus, .ac .cform select:focus, .ac .cform textarea:focus{outline:none; border-color:var(--lime-mark); box-shadow:0 0 0 3px color-mix(in srgb, var(--lime) 18%, transparent);}
.ac .cform .hp{position:absolute; left:-9999px;}
.ac .cform .btn{width:auto; height:auto; border:0;}
.ac .cform .fine{grid-column:1 / -1; font-size:13px; color:var(--dim);}
.ac .cform .fine a{color:var(--lime-ink); text-decoration:underline; text-underline-offset:3px;}
.ac .tbl{overflow-x:auto; margin-top:18px; border:1px solid var(--line); border-radius:12px;}
.ac .tbl table{border-collapse:collapse; width:100%; min-width:520px; font-size:14.5px;}
.ac .tbl th, .ac .tbl td{text-align:left; padding:11px 14px; border-bottom:1px solid var(--line); vertical-align:top;}
.ac .tbl th{font-family:var(--mono); font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--dim); font-weight:400; background:var(--ink2);}
.ac .tbl tr:last-child td{border-bottom:0;}
.ac .tbl td.p{font-family:var(--display); font-weight:600; font-size:1.05rem; white-space:nowrap;}
.ac .tbl td.d{color:var(--dim);}

/* ---- site adjustments, AFTER the concept rules so equal specificity wins on order ----
   The aura is inset -20px on both sides in the concept, where the page wrapper clipped it.
   On the site nothing clips <main>, so it was the one element past the viewport on every
   page at every width (div.aura [-20..1220] in 1200, reported by tests/lib/overflow.mjs).
   Placed at the HEAD of this file the same rule lost to the concept's own, which comes
   later at the same specificity; that is why it lives here. */
.ac .hero .aura{inset:-80px 0 auto 0;}
/* A 30 character ghost button ("Read the build versus buy argument") is 305px at 320
   against a 264px column, and the nav CTA rule in kesey.css does not reach inside .ac.
   Under 360px a button may wrap; line-height comes up so a two line label is legible. */
@media (max-width:359px){ .ac .btn{white-space:normal; text-align:center; line-height:1.25;} }
