@font-face{font-family:"Sora Underpin";src:url("fonts/display.woff2");font-weight:600;font-style:normal;font-display:swap}
/* Underpin Technologies — "Olive & charcoal workshop". System fonts only. */
:root{
 --char:#24221e;--char-2:#2e2b26;--char-3:#3a362f;--soot:#1a1916;
 --olive:#5c5f2e;--olive-2:#6f7338;--olive-3:#8b9047;--moss:#454823;
 --brass:#d2a64c;--brass-d:#a9822f;--rust:#c46a3c;
 --ink:#ece4cf;--ink-2:#c9c0a6;--ink-3:#9c947c;
 --slab:"Sora Underpin","Rockwell","Rockwell Nova","Roboto Slab","Bookman Old Style","Georgia",serif;
 --body:"Seravek","Gill Sans Nova","Gill Sans","Gill Sans MT","Trebuchet MS",sans-serif;
 --mono:"Cascadia Mono","SF Mono",Consolas,"Liberation Mono","Courier New",monospace;
 --bevel:inset 0 1px 0 rgba(255,240,200,.14),inset 0 -3px 0 rgba(0,0,0,.35);
 --drop:0 18px 40px -18px rgba(0,0,0,.7),0 4px 0 rgba(0,0,0,.35);
}
[hidden]{display:none!important}
fieldset{min-width:0;min-inline-size:0}
fieldset>legend+*{clear:both}
.enq,.ck-form,.formwrap,.triage,.ck-result,.chk,.chk-grp,.stamp-body{min-width:0}
.chk{overflow-wrap:anywhere}.stamp h1,.lead{overflow-wrap:break-word}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--char)}
body{margin:0;background:var(--char);color:var(--ink);font:1.0625rem/1.65 var(--body);
 background-image:radial-gradient(120% 60% at 50% -10%,rgba(139,144,71,.22),transparent 60%),repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 2px,transparent 2px 7px)}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.07;mix-blend-mode:overlay;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%}
a{color:var(--brass);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:#f0c46a}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
h1,h2,h3{font-family:var(--slab);line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em;font-weight:600}
h2{font-size:clamp(1.6rem,3.4vw,2.6rem)}h3{font-size:1.25rem}
p{margin:0 0 1em}
.wrap,.legal,address{overflow-wrap:anywhere}
address{font-style:normal}
.sr-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;background:var(--brass);color:var(--soot);padding:.6rem 1rem;z-index:200;font-weight:700}
.skip:focus{top:1rem}
main{display:block;outline:none}
main>section{padding:clamp(3rem,7vw,6rem) clamp(1.1rem,5vw,4.5rem)}
.lead{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--ink-2);max-width:40rem}
small,.small{font-size:.86rem;color:var(--ink-3)}

/* Buttons: machined blocks */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.35rem;font:700 .95rem/1.2 var(--body);letter-spacing:.04em;text-transform:uppercase;
 color:var(--ink);background:var(--char-3);border:0;border-radius:4px;box-shadow:var(--bevel),0 3px 0 var(--soot);text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn:hover{color:var(--ink);transform:translateY(-2px);box-shadow:var(--bevel),0 5px 0 var(--soot)}
.btn:active{transform:translateY(2px);box-shadow:var(--bevel),0 1px 0 var(--soot)}
.btn-brass,.btn-solid{background:linear-gradient(180deg,#e2b85e,var(--brass) 45%,var(--brass-d));color:var(--soot)}
.btn-brass:hover,.btn-solid:hover{color:var(--soot)}
.btn:disabled{opacity:.55;cursor:wait;transform:none}
.cta{display:flex;flex-wrap:wrap;gap:.8rem}
.linkish{background:none;border:0;padding:0;color:var(--brass);font:inherit;text-decoration:underline;cursor:pointer;min-height:32px}

/* Header bench: heavy beam with stamped nameplate */
.bench{position:sticky;top:0;z-index:50;display:flex;align-items:stretch;gap:1rem;padding:0 clamp(.8rem,3vw,2.2rem);min-height:76px;
 background:linear-gradient(180deg,var(--olive-2),var(--olive) 60%,var(--moss));box-shadow:0 6px 0 var(--soot),0 14px 30px -10px rgba(0,0,0,.6);border-bottom:2px solid #7c8040}
.plate{align-self:center;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:.7rem;align-items:center;text-decoration:none;color:var(--ink);
 background:linear-gradient(180deg,#34312b,var(--soot));padding:.45rem .9rem;border-radius:3px;box-shadow:var(--bevel),0 3px 0 rgba(0,0,0,.4)}
.plate .bolt{grid-row:1/3;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f1d08b,var(--brass-d) 60%,#6a5020);box-shadow:0 1px 0 rgba(0,0,0,.6)}
.plate-word{font:600 1.55rem/1 var(--slab);letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}
.plate-sub{grid-column:2;font:.62rem/1.3 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.plate:hover .plate-word{color:#f0c46a}
.bench-quick{margin-left:auto;display:flex;align-items:stretch}
.bench-quick a{display:flex;align-items:center;padding:0 1.1rem;color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.85rem;border-left:1px solid rgba(0,0,0,.25);box-shadow:inset 1px 0 0 rgba(255,255,255,.08)}
.bench-quick a:hover,.bench-quick a[aria-current]{background:rgba(26,25,22,.35);color:var(--brass)}
.bench-quick .bench-cta{background:var(--brass);color:var(--soot)}
.bench-quick .bench-cta:hover,.bench-quick .bench-cta[aria-current]{background:#e9bd62;color:var(--soot)}
.dir-btn{display:flex;align-items:center;gap:.6rem;align-self:center;min-height:48px;padding:.5rem 1rem;background:var(--soot);color:var(--ink);border:0;border-radius:4px;box-shadow:var(--bevel);font:700 .85rem var(--body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.dir-ico{display:grid;grid-template-columns:repeat(3,5px);gap:3px}.dir-ico i{width:5px;height:14px;background:var(--brass);border-radius:1px}
.dir-btn[aria-expanded="true"] .dir-ico i:nth-child(2){transform:translateY(3px)}

/* Tool wall: full-weight drop-down directory */
.toolwall{position:fixed;inset:76px 0 auto 0;z-index:49;max-height:calc(100dvh - 76px);overflow:auto;background:var(--soot);border-bottom:8px solid var(--olive);box-shadow:0 30px 60px rgba(0,0,0,.6)}
.toolwall:not([hidden]){animation:drop .32s cubic-bezier(.2,.8,.2,1)}
@keyframes drop{from{transform:translateY(-14px);opacity:0}to{transform:none;opacity:1}}
.tw-inner{padding:2rem clamp(1rem,5vw,4.5rem) 2.4rem;position:relative}
.tw-title{font:.75rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.tw-list{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.7rem}
.tw-list a{display:flex;flex-direction:column;gap:.2rem;min-height:92px;padding:1rem 1.1rem;background:linear-gradient(180deg,var(--char-3),var(--char-2));border-radius:4px;box-shadow:var(--bevel),0 4px 0 #0f0e0c;text-decoration:none;color:var(--ink);border-top:4px solid var(--olive-3);transition:transform .2s}
.tw-list a:hover{transform:translateY(-3px);color:var(--ink)}
.tw-list a[aria-current]{border-top-color:var(--brass);background:linear-gradient(180deg,var(--olive),var(--moss))}
.tl-tag{font:.7rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
.tl-name{font:600 1.3rem/1.15 var(--slab)}
.tw-meta{color:var(--ink-2);font-size:.95rem;overflow-wrap:anywhere}
.tw-close{position:absolute;top:1.2rem;right:clamp(1rem,5vw,4.5rem);min-height:44px;padding:.4rem .9rem;background:var(--char-3);color:var(--ink);border:0;border-radius:4px;font:700 .85rem var(--body);cursor:pointer;box-shadow:var(--bevel)}

/* Home: forge hero, giant set type on charcoal with anvil slabs */
.forge{position:relative;min-height:min(88dvh,860px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;
 background:radial-gradient(80% 70% at 85% 20%,rgba(210,166,76,.16),transparent 60%),linear-gradient(180deg,var(--char) 0%,var(--char-2) 100%)}
.forge-loc{position:absolute;top:2rem;left:clamp(1.1rem,5vw,4.5rem);right:clamp(1.1rem,5vw,4.5rem);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font:.75rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.forge-h{position:relative;z-index:2;margin:0 0 2rem;font-size:clamp(2.7rem,9.5vw,9rem);line-height:.9;letter-spacing:-.03em;display:flex;flex-direction:column}
.forge-h span{display:block;animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
.fh-a{color:var(--ink-2)}
.fh-b{color:var(--brass);padding-left:clamp(0rem,8vw,9rem);animation-delay:.12s!important}
.fh-c{color:var(--ink);font-size:.55em;padding-left:clamp(0rem,16vw,18rem);margin-top:.15em;animation-delay:.24s!important}
@keyframes rise{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.forge-foot{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2rem;align-items:end;padding-top:1.6rem;border-top:6px solid var(--olive)}
.forge-foot .lead{margin:0}
.forge-foot .cta{justify-content:flex-end}
.anvil{position:absolute;right:-4vw;top:12%;width:46vw;max-width:640px;display:flex;flex-direction:column;gap:14px;opacity:.85;z-index:1}
.anvil span{height:clamp(30px,5vw,64px);border-radius:4px;background:linear-gradient(180deg,var(--olive-2),var(--moss));box-shadow:var(--bevel),var(--drop);animation:slab 1s cubic-bezier(.2,.8,.2,1) both}
.anvil span:nth-child(1){width:55%;margin-left:30%;background:linear-gradient(180deg,#e2b85e,var(--brass-d));animation-delay:.3s}
.anvil span:nth-child(2){width:80%;margin-left:12%;animation-delay:.4s}
.anvil span:nth-child(3){width:70%;margin-left:22%;background:linear-gradient(180deg,var(--char-3),var(--soot));animation-delay:.5s}
.anvil span:nth-child(4){width:100%;animation-delay:.6s;background:linear-gradient(180deg,var(--olive),#33361a)}
@keyframes slab{from{transform:translateX(60px);opacity:0}to{transform:none;opacity:1}}

/* Home: drawer cabinet */
.cabinet{background:linear-gradient(180deg,var(--olive),var(--moss));box-shadow:inset 0 10px 0 rgba(0,0,0,.25)}
.cab-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}
.cab-head h2{max-width:24ch;margin:0}.cab-head p{margin:0;color:var(--ink);font-family:var(--mono);font-size:.85rem;letter-spacing:.05em}
.drawers{display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--soot);border-radius:6px;box-shadow:inset 0 0 0 2px #0c0b0a,var(--drop)}
.drawer{background:linear-gradient(180deg,#3d3a32,var(--char-2));border-radius:4px;box-shadow:var(--bevel)}
.drawer summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem clamp(1rem,3vw,2rem);min-height:72px}
.drawer summary::-webkit-details-marker{display:none}
.d-label{font:600 clamp(1.4rem,3.2vw,2.3rem)/1 var(--slab)}
.d-handle{width:clamp(70px,12vw,140px);height:16px;border-radius:10px;background:linear-gradient(180deg,#f0cd85,var(--brass-d));box-shadow:0 3px 0 #3d2e10;transition:transform .3s}
.drawer[open] .d-handle{transform:translateX(-10px) scaleX(.9)}
.drawer[open]{background:linear-gradient(180deg,#4a463b,var(--char-3))}
.drawer[open] .d-label{color:var(--brass)}
.d-body{padding:0 clamp(1rem,3vw,2rem) 1.4rem;display:flex;flex-wrap:wrap;gap:1rem 2rem;align-items:baseline;justify-content:space-between}
.d-body p{margin:0;max-width:44rem;color:var(--ink-2);font-size:1.1rem}
.d-body a{font-weight:700}

/* Home: lintel beams */
.lintel{position:relative;background:var(--char)}
.lintel h2{max-width:20ch;margin-bottom:2.2rem}
.beam{position:relative;padding:1.6rem clamp(1.2rem,3vw,2.2rem);margin-bottom:14px;border-radius:4px;box-shadow:var(--bevel),var(--drop)}
.beam h3{font-size:clamp(1.3rem,2.4vw,1.8rem)}.beam p{margin:0;max-width:44rem}
.beam-1{background:linear-gradient(180deg,var(--olive-2),var(--olive));width:min(100%,62rem)}
.beam-2{background:linear-gradient(180deg,#4a463b,var(--char-3));width:min(100%,54rem);margin-left:auto}
.beam-3{background:linear-gradient(180deg,#e2b85e,var(--brass-d));color:var(--soot);width:min(100%,70rem);margin-inline:auto}
.beam-3 a{color:#3a2a08}
.posts{display:flex;justify-content:space-around;height:40px}.posts span{width:24px;background:linear-gradient(90deg,var(--soot),var(--char-3));}

/* Tag CTA */
.tag-cta{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin:0 clamp(1.1rem,5vw,4.5rem);padding:2rem 2.4rem!important;background:var(--rust);color:var(--soot);border-radius:6px 40px 40px 6px;box-shadow:var(--drop)}
.tag-cta p{margin:0;flex:1 1 18rem;font:600 clamp(1.3rem,2.6vw,1.9rem)/1.2 var(--slab)}
.tag-hole{width:26px;height:26px;border-radius:50%;background:var(--char);box-shadow:inset 0 2px 4px rgba(0,0,0,.6)}
.tag-cta .btn-brass{background:var(--soot);color:var(--brass)}

/* FAQs */
.faq{display:grid;gap:10px;max-width:60rem}
.faq details{background:var(--char-2);border-left:8px solid var(--olive-3);border-radius:3px;box-shadow:var(--bevel)}
.faq summary{cursor:pointer;padding:1rem 1.2rem;min-height:48px;font:600 1.1rem var(--slab);list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);color:var(--brass);font-size:1.3rem;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details[open]{border-left-color:var(--brass)}
.faq details>div{padding:0 1.2rem 1rem;color:var(--ink-2)}
.home-faq{background:var(--char-2)}

/* Inner page heads: stamped plate with side tab; varies per page */
.stamp{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0;padding:0!important;background:var(--olive);border-bottom:10px solid var(--soot);position:relative;overflow:hidden}
.stamp-tab{background:var(--soot);display:flex;align-items:flex-end;justify-content:center;padding:2rem .9rem}
.stamp-tab span{writing-mode:vertical-rl;transform:rotate(180deg);font:700 .8rem var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--brass)}
.stamp-body{padding:clamp(3rem,8vw,6.5rem) clamp(1.1rem,5vw,4.5rem) clamp(2.4rem,5vw,4rem);position:relative;z-index:1}
.stamp h1{font-size:clamp(2.2rem,6vw,5.2rem);max-width:18ch;animation:rise .8s cubic-bezier(.2,.8,.2,1) both}
.stamp .lead{color:var(--ink)}
.stamp::after{content:"";position:absolute;right:-6rem;bottom:-6rem;width:22rem;height:22rem;border-radius:50%;border:40px solid rgba(0,0,0,.14)}
.platehd{background:linear-gradient(135deg,var(--olive-2),var(--moss))}
.platehd .stamp-body{text-align:center}.platehd h1,.platehd .lead{margin-inline:auto}
.cabhd{background:var(--char-3)}.cabhd::after{border-color:rgba(139,144,71,.25)}
.jig{background:var(--moss)}.jig::after{border-radius:0;transform:rotate(45deg)}
.gaugehd{background:var(--soot)}.gaugehd .stamp-tab{background:var(--olive)}.gaugehd .stamp-tab span{color:var(--ink)}
.shelfhd{background:linear-gradient(180deg,var(--olive-2),var(--olive))}
.counter{background:var(--rust)}.counter .stamp-body,.counter .lead{color:var(--soot)}.counter::after{border-color:rgba(0,0,0,.18)}
.ticket{background:linear-gradient(180deg,#e2b85e,var(--brass-d))}.ticket .stamp-body,.ticket .lead{color:var(--soot)}
.ledgerhd{background:var(--char-3)}.ledgerhd h1{font-size:clamp(2rem,5vw,4rem)}

/* Company: maker's plate */
.makers{background:var(--char)}
.ledger{margin:0 auto;max-width:62rem;padding:clamp(1.4rem,4vw,3rem);background:linear-gradient(180deg,#3d3a32,var(--soot));border-radius:8px;box-shadow:var(--bevel),var(--drop);border:2px solid #4c483d;position:relative}
.ledger::before,.ledger::after{content:"";position:absolute;top:14px;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f1d08b,var(--brass-d))}
.ledger::before{left:14px}.ledger::after{right:14px}
.ledger-row{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:1rem;padding:.9rem 0;border-bottom:1px dashed rgba(201,192,166,.25)}
.ledger-row:last-child{border:0}
.ledger dt{font:.75rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);padding-top:.3rem}
.ledger dd{margin:0;font:600 1.15rem var(--slab)}
.prose{max-width:none}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.4rem,4vw,3rem);background:var(--olive)}
.two>div{background:var(--char-2);padding:clamp(1.4rem,3vw,2.4rem);border-radius:4px;box-shadow:var(--bevel),var(--drop)}
.two>div:nth-child(2){transform:translateY(2.5rem)}
.band-cta{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;justify-content:center;text-align:center;background:var(--soot);border-top:6px solid var(--brass)}
.band-cta p{margin:0;font:600 clamp(1.3rem,2.6vw,1.9rem) var(--slab)}

/* Services: each a pulled drawer */
.jump{position:sticky;top:76px;z-index:20;display:flex;overflow-x:auto;background:var(--soot);box-shadow:0 6px 0 rgba(0,0,0,.3)}
.jump a{flex:1 0 auto;padding:1rem 1.4rem;min-height:52px;text-align:center;color:var(--ink);text-decoration:none;font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;border-right:1px solid var(--char-3)}
.jump a:hover{background:var(--olive);color:var(--ink)}
.svc{margin:clamp(1.6rem,4vw,3rem) clamp(1.1rem,5vw,4.5rem);border-radius:6px;overflow:hidden;box-shadow:var(--drop);scroll-margin-top:140px;background:var(--char-2)}
.svc-front{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.6rem clamp(1.2rem,3vw,2.4rem);background:linear-gradient(180deg,var(--olive-2),var(--olive));box-shadow:var(--bevel)}
.svc:nth-of-type(even) .svc-front{background:linear-gradient(180deg,#4a463b,var(--char-3))}
.svc-front h2{margin:0}
.svc-pull{flex:0 0 auto;width:clamp(60px,10vw,120px);height:16px;border-radius:10px;background:linear-gradient(180deg,#f0cd85,var(--brass-d));box-shadow:0 3px 0 #3d2e10}
.svc-intro{padding:1.6rem clamp(1.2rem,3vw,2.4rem) 0;font-size:1.2rem;max-width:52rem}
.svc-cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.6rem;padding:0 clamp(1.2rem,3vw,2.4rem) 2rem}
.ticks{list-style:none;padding:0;margin:0}
.ticks li{position:relative;padding:.45rem 0 .45rem 1.8rem;border-bottom:1px solid rgba(201,192,166,.12)}
.ticks li::before{content:"";position:absolute;left:0;top:.95rem;width:12px;height:6px;border-left:3px solid var(--olive-3);border-bottom:3px solid var(--olive-3);transform:rotate(-45deg)}
.ask{background:var(--soot);padding:1.4rem;border-radius:4px;border-top:6px solid var(--brass)}
.ask h3{color:var(--brass);font-size:1rem;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase}

/* Method: jig track */
.method{background:var(--char)}
.courses-v{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;counter-reset:st;position:relative}
.courses-v li{counter-increment:st;position:relative;padding:4.2rem 1.6rem 2rem;background:var(--char-2);border-right:4px solid var(--char);min-height:15rem;box-shadow:var(--bevel)}
.courses-v li:nth-child(odd){background:var(--olive);}
.courses-v li::before{content:counter(st);position:absolute;top:1rem;left:1.6rem;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--brass);color:var(--soot);font:700 1.1rem var(--mono);box-shadow:0 3px 0 #3d2e10}
.courses-v h2{font-size:1.6rem}
.criteria{background:var(--moss)}
.crit-cap{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem;color:var(--ink)}
.specs{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.specs li{background:var(--soot);padding:1.5rem;border-radius:4px;box-shadow:var(--bevel),var(--drop);border-left:10px solid var(--brass)}
.specs li:nth-child(4n+2),.specs li:nth-child(4n+3){border-left-color:var(--olive-3)}
.specs p{margin:0;color:var(--ink-2)}.specs span{font:.75rem var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--brass);display:block}

/* Handover checker: bench with dial readout */
.checker{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(1.2rem,3vw,2.4rem);align-items:start;background:var(--char)}
.ck-form{display:grid;gap:14px}
.chk-grp{margin:0;border:0;background:var(--char-2);border-radius:4px;padding:1rem 1.2rem 1.2rem;box-shadow:var(--bevel);border-top:6px solid var(--olive-3)}
.chk-grp legend{float:left;width:100%;font:600 1.2rem var(--slab);margin-bottom:.4rem;color:var(--brass)}
.chk{display:flex;gap:.7rem;align-items:flex-start;padding:.45rem 0;min-height:44px;cursor:pointer}
.chk input{width:22px;height:22px;flex:0 0 22px;margin:.15rem 0 0;accent-color:var(--olive-3)}
.ck-actions{display:flex}
.ck-result{position:sticky;top:96px;background:linear-gradient(180deg,var(--olive-2),var(--moss));padding:1.6rem;border-radius:6px;box-shadow:var(--bevel),var(--drop)}
.kicker{font:.75rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
.ck-result .kicker{color:var(--ink)}
.gauge{height:28px;background:var(--soot);border-radius:14px;overflow:hidden;box-shadow:inset 0 3px 6px rgba(0,0,0,.6)}
.gauge-fill{height:100%;background:repeating-linear-gradient(-45deg,var(--brass) 0 12px,var(--brass-d) 12px 24px);transform-origin:left;transform:scaleX(0);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.ck-score{font:600 2.4rem/1 var(--slab);margin:1rem 0 .5rem}
.gaps{padding-left:1.1rem;font-size:.95rem;max-height:16rem;overflow:auto}

/* Resources: shelf of hanging tags */
.res{background:var(--char)}
.res-tools{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:end;padding:1.4rem;background:var(--olive);border-radius:6px;box-shadow:var(--bevel)}
.search{display:grid;gap:.3rem;font-weight:700;flex:1 1 16rem}
.pills{display:flex;flex-wrap:wrap;gap:.5rem}
.pill{min-height:44px;padding:.4rem 1rem;border:0;border-radius:22px;background:var(--soot);color:var(--ink);font:700 .85rem var(--body);cursor:pointer;box-shadow:var(--bevel)}
.pill[aria-pressed="true"]{background:var(--brass);color:var(--soot)}
.res-count{font-family:var(--mono);color:var(--ink-3);margin:1.2rem 0}
.notes{columns:3 18rem;column-gap:18px}
.note{break-inside:avoid;margin:0 0 18px;padding:2.2rem 1.4rem 1.4rem;background:var(--char-2);border-radius:4px 4px 30px 4px;position:relative;box-shadow:var(--bevel),var(--drop)}
.note::before{content:"";position:absolute;top:.8rem;left:1.4rem;width:14px;height:14px;border-radius:50%;background:var(--char);box-shadow:inset 0 2px 3px rgba(0,0,0,.7)}
.note[data-tag="release"]{background:var(--olive)}.note[data-tag="access"]{background:#4a463b}.note[data-tag="it"]{background:var(--moss)}
.note h2{font-size:1.3rem}.note p:last-child{margin:0;color:var(--ink-2)}
.tag{font:.7rem var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--brass);margin:0 0 .5rem}
.empty{padding:2rem;background:var(--soot);border-radius:6px;font-size:1.1rem}

/* Support & contact: counter + job ticket forms */
.support-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(1.2rem,3vw,2.6rem);align-items:start;background:var(--char)}
.p-contact .support-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.triage{background:var(--char-2);padding:clamp(1.2rem,3vw,2rem);border-radius:6px;box-shadow:var(--bevel)}
.triage .faq{margin-top:1.4rem}
.formwrap{position:relative;background:linear-gradient(180deg,var(--olive-2),var(--olive));padding:clamp(1.4rem,3vw,2.4rem);border-radius:6px;box-shadow:var(--bevel),var(--drop)}
.formwrap::before{content:"";position:absolute;top:-12px;left:2rem;right:2rem;height:12px;background:repeating-linear-gradient(90deg,var(--brass) 0 18px,transparent 18px 30px);border-radius:3px 3px 0 0}
.formwrap h2{font-size:1.9rem}
.enq{display:grid;gap:1rem}
.enq fieldset{border:0;margin:0;padding:1rem;background:rgba(26,25,22,.45);border-radius:4px}
.enq legend{font-weight:700;padding:0;float:left;width:100%;margin-bottom:.3rem}
.chks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.enq>label,.row2>label,.callback-only{display:grid;gap:.35rem;font-weight:700;min-width:0}
input:not([type=checkbox]):not([type=radio]),textarea{width:100%;min-width:0;min-height:48px;padding:.7rem .85rem;font:1rem var(--body);color:var(--ink);background:var(--soot);border:2px solid #0e0d0b;border-radius:4px;box-shadow:inset 0 3px 6px rgba(0,0,0,.5)}
input:focus,textarea:focus{border-color:var(--brass);outline:none}
textarea{resize:vertical}
.opt,.req{font:400 .78rem var(--mono);color:var(--ink-2);letter-spacing:.04em}
.req{color:var(--brass)}
.consent{font-weight:400}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.status{margin:0;font-weight:700;min-height:1.4em}
.status.err{color:#ffd7b8;background:rgba(150,50,20,.5);padding:.6rem .8rem;border-radius:4px}
.status.ok{color:var(--soot);background:var(--brass);padding:.6rem .8rem;border-radius:4px}
.formwrap .small{color:var(--ink-2)}
.mapbox{margin:1.2rem 0;padding:1.2rem;background:var(--soot);border-left:8px solid var(--rust);border-radius:4px}

/* Privacy: ledger book */
.legaltext{background:var(--char);display:grid;grid-template-columns:minmax(0,46rem);justify-content:center}
.legaltext h2{font-size:1.5rem;margin-top:1.6em;padding-left:1rem;border-left:8px solid var(--olive-3)}
.legaltext p{color:var(--ink-2)}

/* 404 */
.lost{min-height:70dvh;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(60% 60% at 70% 40%,rgba(196,106,60,.25),transparent),var(--char)}
.lost h1{font-size:clamp(2.6rem,8vw,7rem);max-width:14ch}

/* Footer: foundry floor */
.foundry{background:var(--soot);border-top:14px solid var(--olive);padding:0 0 1.4rem;position:relative}
.foundry-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;padding:clamp(2rem,5vw,3.6rem) clamp(1.1rem,5vw,4.5rem);background:linear-gradient(180deg,var(--moss),var(--soot))}
.foundry-line{margin:0;font:600 clamp(1.8rem,5vw,3.8rem)/1 var(--slab)}
.foundry-line em{font-style:normal;color:var(--brass)}
.foundry-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:1.8rem;padding:2rem clamp(1.1rem,5vw,4.5rem)}
.fg-plate{background:var(--char-2);padding:1.4rem;border-radius:4px;box-shadow:var(--bevel);border-top:6px solid var(--brass)}
.foot-h{font:700 .78rem var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-bottom:.8rem}
.foundry p,.foundry address{color:var(--ink-2)}
.foot-dir{list-style:none;margin:0;padding:0;columns:2;column-gap:1rem}
.foot-dir a{display:inline-block;padding:.25rem 0;min-height:32px;color:var(--ink)}
.foot-dir a[aria-current]{color:var(--brass)}
.foundry-base{margin:0;padding:1rem clamp(1.1rem,5vw,4.5rem) 0;border-top:1px solid var(--char-3)}

/* Cookie */
.cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:120;max-width:44rem;margin-inline:auto;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:1.1rem 1.3rem;background:var(--char-3);border-top:6px solid var(--brass);border-radius:6px;box-shadow:0 20px 50px rgba(0,0,0,.7)}
.cookie p{margin:0;flex:1 1 20rem;font-size:.95rem}
.cookie-btns{display:flex;gap:.6rem;flex-wrap:wrap}

/* Responsive */
@media (max-width:1100px){.foundry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.courses-v{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.bench-quick a:not(.bench-cta){display:none}.anvil{opacity:.35}.forge-foot{grid-template-columns:minmax(0,1fr)}.forge-foot .cta{justify-content:flex-start}
 .checker,.support-grid,.p-contact .support-grid,.svc-cols{grid-template-columns:minmax(0,1fr)}.ck-result{position:static}}
@media (max-width:767px){
 .bench{min-height:64px;gap:.5rem}.toolwall{inset:64px 0 auto 0;max-height:calc(100dvh - 64px)}.jump{top:64px}
 .plate{padding:.35rem .6rem;column-gap:.45rem}.plate-word{font-size:1.15rem}.plate-sub{font-size:.52rem;letter-spacing:.1em}
 .bench-quick{display:none}.dir-btn{margin-left:auto;padding:.5rem .7rem}.dir-btn>span:last-child{font-size:.75rem}
 .two,.specs,.courses-v,.row2,.chks,.foundry-grid{grid-template-columns:minmax(0,1fr)}
 .two>div:nth-child(2){transform:none}
 .ledger-row{grid-template-columns:minmax(0,1fr);gap:.2rem}
 .stamp-tab{padding:1.4rem .5rem}.forge{min-height:auto;padding-top:5rem!important}
 .anvil{display:none}.fh-b,.fh-c{padding-left:0}
 .tw-close{position:static;margin-top:.5rem}.tag-cta{border-radius:6px}
 .foot-dir{columns:1}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
