:root{--bg:#f5efe3;--text:#1d1a16;--accent:#1f4e5f;--primary:#c2255c;--surface:#fffaf0;--muted:#5a5248;--ink:#1d1a16;--tape:#e8dcc0;--hair:#cfc5b3;--line:#7d7568;--shadow:5px 5px 0 var(--ink)}
*{box-sizing:border-box}
.collage{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:2px solid var(--ink);box-shadow:var(--shadow);margin:0 0 1.5rem;background:var(--surface)}
.collage.p1{object-position:left center}.collage.p2{object-position:right center}.collage.p3{object-position:center top}
html{scroll-behavior:smooth}
body{margin:0;counter-reset:k;background:var(--bg);color:var(--text);font-family:Karla,system-ui,sans-serif;font-size:18px;line-height:1.6}
h1,h2,h3{font-family:Archivo,system-ui,sans-serif;line-height:1.1;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.6vw,3.3rem);font-weight:800}
h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em}
a{color:var(--accent);text-underline-offset:3px}
a:hover{color:var(--primary)}
:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--surface);padding:.6em 1em;border:1px solid var(--ink);z-index:100}
.skip:focus{left:8px;top:8px}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
header.site{background:var(--surface);border-bottom:2px solid var(--ink);position:sticky;top:0;z-index:50}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;flex:none;text-decoration:none;color:var(--text)}
.logo img{width:240px;max-width:58vw;height:auto;display:block;mix-blend-mode:multiply}
.logo:hover{color:var(--text)}
nav ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap}
nav a{display:block;padding:8px 11px;font-family:Archivo,sans-serif;font-weight:600;font-size:.95rem;color:var(--text);text-decoration:none;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current=page]{border-bottom-color:var(--primary);background:var(--tape);color:var(--text)}
.menu-btn{display:none;font:inherit;font-weight:700;background:var(--bg);border:1px solid var(--line);padding:8px 14px;cursor:pointer;color:var(--text)}
@media(max-width:1020px){.menu-btn{display:block}nav{width:100%;order:3}nav ul{display:none;flex-direction:column;padding-bottom:12px}nav.open ul{display:flex}.bar{flex-wrap:wrap;padding:8px 0}}
.split{display:grid;grid-template-columns:1fr 1fr;border-bottom:2px solid var(--ink)}
.split.wide{grid-template-columns:5fr 7fr}
.split>.l,.split>.r{padding:48px clamp(20px,4vw,56px)}
.split>.l{background:var(--surface)}
.split>.r{background:transparent;position:relative}
.split.flip>.l{order:2}.split.flip>.r{order:1}
.split.flip>.l{background:transparent}.split.flip>.r{background:var(--surface)}
.split.teal>.r{background:var(--accent);color:#fff}
.split.teal>.r a{color:#fff}
@media(max-width:860px){.split,.split.wide{grid-template-columns:1fr}.split.flip>.l,.split.flip>.r{order:0}.split>.l,.split>.r{padding:32px 20px}}
.kicker{display:inline-block;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;color:var(--ink);background:var(--tape);padding:3px 10px;border:2px solid var(--ink);margin-bottom:14px;transform:rotate(-1deg)}
.kicker::before{counter-increment:k;content:"WO-0" counter(k) " / "}
.lead{font-size:1.15rem;color:var(--text);max-width:34em}
.muted{color:var(--muted)}
.card{background:var(--surface);border:2px solid var(--ink);box-shadow:var(--shadow);padding:22px;margin-bottom:24px;position:relative}
.card.perfed{padding-left:34px;background-image:radial-gradient(circle at 0 50%,var(--bg) 0 5px,transparent 5.5px);background-size:14px 22px;background-repeat:repeat-y;background-position:-7px 0}
.card.taped::before{content:"";position:absolute;top:-13px;left:24px;width:74px;height:24px;background:var(--tape);opacity:.9;border:1px solid var(--hair);transform:rotate(-3deg)}
.perf{border:0;border-top:2px dashed var(--ink);margin:16px 0}
label{display:block;font-weight:700;margin:14px 0 6px;font-size:.98rem}
input,textarea,select{width:100%;font:inherit;color:var(--text);background:#fff;border:2px solid var(--ink);padding:10px 12px;border-radius:0}
textarea{min-height:130px;resize:vertical}
input[type=range]{padding:0;accent-color:var(--primary)}
input[type=checkbox]{width:22px;height:22px;accent-color:var(--primary);flex:none}
.btn{display:inline-block;font-family:Archivo,sans-serif;font-weight:700;font-size:1rem;background:var(--primary);color:#fff;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);padding:10px 20px;cursor:pointer;text-decoration:none;margin:14px 10px 6px 0}
.btn:hover{background:var(--ink);color:#fff}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn:disabled{opacity:.7;cursor:progress}
.btn.alt{background:var(--surface);color:var(--ink)}
.btn.alt:hover{background:var(--tape);color:var(--ink)}
.ai-status{display:inline-block;font-weight:700;color:var(--accent);margin-left:4px;min-height:1.2em}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.chip{font:inherit;font-size:.9rem;background:var(--bg);border:1px solid var(--line);padding:4px 10px;cursor:pointer;color:var(--text)}
.chip:hover{background:var(--tape)}
.out{margin-top:16px;border:2px dashed var(--ink);background:#fff;padding:14px 18px;min-height:56px}
.out:empty{display:none}
.out ul,.out ol{margin:0;padding-left:1.3em}
.out li{margin:.3em 0}
.out.err{border-color:var(--primary);color:#8a1240;font-weight:700}
table{border-collapse:collapse;width:100%;background:#fff}
th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top;font-size:.95rem}
th{background:var(--tape);font-family:Archivo,sans-serif}
.tablewrap{overflow-x:auto}
pre.md{white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid var(--line);padding:16px;font:14px/1.55 ui-monospace,Menlo,Consolas,monospace;margin:0;min-height:200px}
.stamp{display:inline-block;font-family:Archivo,sans-serif;font-weight:800;letter-spacing:.12em;font-size:1.2rem;border:3px double currentColor;padding:4px 16px;text-transform:uppercase;transform:rotate(-4deg)}
.stamp.pass{color:#1b6b3a}.stamp.hold{color:#8a5a00}.stamp.stop{color:#a3123f}
.marks{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0 4px}
.facts{list-style:none;margin:0;padding:0}
.facts li{padding:10px 0;border-bottom:1px dashed var(--ink)}
.facts li:last-child{border:0}
.facts b{font-family:Archivo,sans-serif;display:block}
input::placeholder,textarea::placeholder{color:#5c5548;opacity:1}
.previews .card:nth-child(even){transform:rotate(.5deg)}
.previews .card:nth-child(odd){transform:rotate(-.5deg)}
.fig{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:8px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;margin-top:20px}
.grid3 .card{margin:0}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.row{grid-template-columns:1fr}}
.check{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:1px dotted var(--line)}
.check label{margin:0;font-weight:500}
.check small{color:var(--muted)}
.acc{list-style:none;padding:0;margin:10px 0}
.acc li{display:flex;gap:8px;align-items:center;background:#fff;border:2px solid var(--ink);padding:6px 8px;margin-bottom:8px;cursor:grab}
.acc li input{flex:1;border:0;padding:4px}
.acc li button{font:inherit;border:1px solid var(--line);background:var(--bg);cursor:pointer;padding:2px 8px;color:var(--text)}
.acc li.drag{opacity:.5}
.sr{position:absolute;left:-9999px}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.num{font-family:Archivo,sans-serif;font-weight:800;font-size:2.4rem;color:var(--primary);line-height:1}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;padding-left:46px;position:relative;margin-bottom:12px}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:34px;height:34px;background:var(--accent);color:#fff;font-family:Archivo,sans-serif;font-weight:800;display:grid;place-items:center}
.prose{max-width:46em}
.prose h2{margin-top:1.4em}
.note{background:var(--tape);border:2px solid var(--ink);padding:10px 14px;font-size:.95rem;grid-column:1/-1}
footer.site{background:var(--ink);color:#f5efe3;padding:32px 0;font-size:.95rem}
footer.site a{color:#f5efe3}
footer.site a:hover{color:#ffd0e0}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;align-items:center}
footer.site ul{list-style:none;display:flex;gap:18px;margin:0;padding:0;flex-wrap:wrap}
.page-head{border-bottom:2px solid var(--ink);padding:44px 0 30px;background:var(--surface)}
.stack{display:grid;grid-template-columns:1fr;gap:22px;margin-top:20px}
.stack .card{margin:0}
.small{font-size:.9rem}
.h-sm{font-size:1.2rem}
.h-xs{font-size:1.15rem;margin-top:22px}
.m0{margin:0}
.mt-card{margin:14px 0 0}
.mt-s{margin:8px 0 0}
.chart{width:100%;max-width:420px;margin-top:16px}
.legal{padding-top:32px;padding-bottom:48px}
.band{border-bottom:2px solid var(--ink);padding:44px 0;background:var(--tape)}
.band.tools{background:var(--surface)}
.band h2{margin-bottom:.8em}
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:f}
.flow li{counter-increment:f;background:var(--surface);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:18px;margin-left:-2px;position:relative}
.flow li::before{content:"0" counter(f);display:block;font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:700;font-size:1.5rem;color:var(--primary);line-height:1}
.flow li:not(:last-child)::after{content:"→";position:absolute;right:-14px;top:50%;margin-top:-14px;width:26px;height:26px;background:var(--primary);color:#fff;display:grid;place-items:center;z-index:2;font-weight:700}
.flow strong{font-family:Archivo,sans-serif;display:block;margin:6px 0 2px}
@media(max-width:860px){.flow{grid-template-columns:1fr 1fr;gap:14px}.flow li{margin-left:0}.flow li::after{display:none!important}}
@media(max-width:520px){.flow{grid-template-columns:1fr}}
.sol{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;margin-bottom:28px}
.sol p{max-width:40em;margin:0}
@media(max-width:700px){.sol{grid-template-columns:1fr}}
.previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:22px}
.previews .card{margin:0;display:flex;flex-direction:column}
.previews p{flex:1}
.previews .thumb{display:block;width:100%;height:auto;object-fit:contain;aspect-ratio:3/2;object-position:center;border:2px solid var(--ink);margin:6px 0 4px;background:var(--tape)}
.previews .thumb{aspect-ratio:3/2;object-fit:cover;max-width:none}
.previews .eg{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8rem;background:#fff;border:2px dashed var(--ink);padding:8px 10px;margin:4px 0 12px;white-space:pre-wrap}
.cta{padding:56px 0;text-align:left;border-bottom:2px solid var(--ink)}
.cta .ticket{max-width:760px;background:var(--surface);border:2px solid var(--ink);padding:28px 30px 20px;position:relative;box-shadow:8px 8px 0 var(--primary)}
.cta .wo-code{display:flex;flex-wrap:wrap;gap:6px 22px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.76rem;font-weight:700;letter-spacing:.06em;color:var(--ink);border-bottom:2px dashed var(--ink);padding-bottom:10px;margin-bottom:16px}
.cta p{max-width:38em}
.cta .btn{margin:6px 14px 6px 0}
.cta .textlink{font-weight:700;font-family:Archivo,sans-serif}
.plan-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-start}
.plan-row input{flex:1 1 220px;width:auto}
.plan-row .btn{margin:0}
/* home hero: compact heading, then the input ticket and the live work order on a collage panel */
.bench{padding:16px 0 36px;border-bottom:2px solid var(--ink)}
.bench-head{margin-bottom:16px;display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px;align-items:center}
.bench-text h1{max-width:none;font-size:clamp(1.55rem,2.5vw,2.1rem);margin-bottom:.3em}
.bench-text .lead{margin-bottom:0;font-size:1rem}
.bench-text .kicker{margin-bottom:8px}
.bench-head .hero-art{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:left center;background:var(--tape);border:2px solid var(--ink);box-shadow:var(--shadow);display:block}
@media(max-width:900px){.bench-head{grid-template-columns:1fr}.bench-head .hero-art{max-width:480px;margin:0 auto}}
.bench-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.bench-in .card,.bench-out .card{margin:0}
.bench-in .card{padding:18px 22px}
.bench-in textarea{min-height:96px}
.bench-in .out{min-height:0}
.bench-out{position:relative;border:2px solid var(--ink);box-shadow:var(--shadow);overflow:hidden;padding:26px 24px;background:var(--tape)}
.bench-out .card{position:relative;background:var(--surface)}
@media(max-width:900px){.bench-grid{grid-template-columns:1fr}.bench-out{padding:18px 12px}}
.plans{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:22px}
.plans .card{margin:0}
.plans h3{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between}
.plans .price{font-family:Archivo,sans-serif;font-weight:800;font-size:1.8rem;margin:0 0 .4em}
.plans ul{padding-left:1.2em;margin:0 0 1em}
.plans .plan-form{margin-top:10px}
.road{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.road li{border:2px dashed var(--ink);background:var(--surface);padding:14px 16px}
.road b{display:block;font-family:Archivo,sans-serif}
@media(max-width:760px){.plans,.road{grid-template-columns:1fr}}
.pic{display:block;width:100%;max-width:240px;height:auto;aspect-ratio:1/1;object-fit:cover;border:2px solid var(--ink);box-shadow:var(--shadow);background:var(--surface)}
.pic.wide-pic{margin:0 0 1.5rem}
.intro-row{display:grid;grid-template-columns:1fr 220px;gap:20px;align-items:start;margin-bottom:8px}
@media(max-width:560px){.intro-row{grid-template-columns:1fr}}
.cta-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:32px;align-items:center}
.cta-art{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:2px solid var(--ink);box-shadow:var(--shadow);display:block}
.cta .ticket{max-width:none}
@media(max-width:900px){.cta-grid{grid-template-columns:1fr}}
.jump{display:none}
@media(max-width:860px){.jump{display:inline-block;margin-top:4px}}
@media(max-width:520px){.chip.long{display:none}}
@media print{header.site,footer.site,.noprint{display:none}body{background:#fff}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
