/* Kestle & Daughter v2 · base: tokens, type, chrome. Industrial spec sheet. */
@font-face{font-family:Stencil;src:url(../fonts/stencil.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Cond;src:url(../fonts/bc-300.woff2) format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:Cond;src:url(../fonts/bc-800.woff2) format('woff2');font-weight:800;font-display:swap}
@font-face{font-family:Barlow;src:url(../fonts/barlow-400.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Barlow;src:url(../fonts/barlow-600.woff2) format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Mono;src:url(../fonts/mono.woff2) format('woff2');font-weight:400;font-display:swap}
:root{
 --ink:#0D0D0B;--ink2:#191916;--ink3:#24241F;
 --paper:#EDECE7;--paper2:#E3E2DC;--paper3:#D9D8D1;
 --mute:#55554F;--mute-d:#A3A29B;--edge:#6F6E67;
 --rule:rgba(13,13,11,.16);--rule-d:rgba(237,236,231,.18);
 --or:#FF5B14;
 --f-st:Stencil,'Arial Narrow',Impact,sans-serif;--f-c:Cond,'Arial Narrow',sans-serif;--f-b:Barlow,system-ui,sans-serif;--f-m:Mono,ui-monospace,Consolas,monospace;
 --g:clamp(16px,3.4vw,40px);--max:1360px;--hh:0px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--f-b);font-feature-settings:'lnum';overflow-x:hidden}
img,svg,picture{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4{margin:0;font-weight:800;line-height:.95}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0}
:focus-visible{outline:3px solid var(--or);outline-offset:2px}
.dark :focus-visible,.foot :focus-visible{outline-color:var(--or)}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--g)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--or);color:var(--ink);padding:10px 16px;font-weight:600}
.skip:focus{top:12px}
.mono{font-family:var(--f-m);letter-spacing:.02em}
.small{font-size:14px}
.muted{color:var(--mute)}
.dark .muted{color:var(--mute-d)}
.num{font-family:var(--f-st);font-weight:400;letter-spacing:0;font-variant-numeric:tabular-nums}
.ex{display:inline-block;font:400 12px/1 var(--f-m);letter-spacing:.06em;text-transform:uppercase;border:1px solid currentColor;padding:4px 6px 3px;margin-right:6px;vertical-align:2px}
/* headings: two weights, two tones */
.h1,h1{font-family:var(--f-c);font-weight:800;text-transform:uppercase;font-size:clamp(46px,7.4vw,112px);line-height:1;letter-spacing:-.01em}
h2,.h2{font-family:var(--f-c);font-weight:800;text-transform:uppercase;font-size:clamp(36px,5vw,72px);line-height:1;letter-spacing:-.005em}
h3,.h3{font-family:var(--f-c);font-weight:800;text-transform:uppercase;font-size:clamp(22px,2.2vw,28px);line-height:1;letter-spacing:.005em}
.lt{font-weight:300;color:var(--mute)}
.dark .lt,.foot .lt{color:var(--mute-d)}
.lede{font-size:clamp(18px,1.5vw,20px);line-height:1.5;max-width:58ch}
.tag{font:400 13px/1.3 var(--f-m);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;color:var(--mute)}
.dark .tag{color:var(--mute-d)}
.link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--or)}
.link:hover{text-decoration-thickness:2px}
.arrow::after{content:' \2192'}
.dark{background:var(--ink);color:var(--paper)}
.dark .lede{color:#D6D5CF}
/* buttons: square, stencil-sign weight */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);font:800 18px/1 var(--f-c);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:0;transition:background .15s,color .15s,border-color .15s}
.btn:hover{background:var(--ink3);border-color:var(--ink3)}
.dark .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.dark .btn:hover{background:#fff}
.btn-volt,.dark .btn-volt{background:var(--or);border-color:var(--or);color:var(--ink)}
.btn-volt:hover,.dark .btn-volt:hover{background:#FF7638;border-color:#FF7638;color:var(--ink)}
.btn-ghost,.dark .btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.btn-ghost:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.dark .btn-ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn-sm{min-height:42px;padding:0 16px;font-size:16px}
.btn-block{width:100%}
.btn[disabled]{opacity:.4;cursor:not-allowed}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;background:transparent;border-radius:0;font-size:20px;line-height:1}
.icon-btn svg{width:20px;height:20px}
/* utility bar */
.util{background:var(--ink);color:var(--paper);font:400 13px/1.2 var(--f-m);letter-spacing:.04em}
.util-in{display:flex;align-items:center;gap:20px;min-height:38px}
.util a{text-decoration:none}
.util a:hover{text-decoration:underline}
.util-em span{color:var(--mute-d)}
.u-short{display:none}
@media (max-width:640px){.u-long{display:none}.u-short{display:inline}}
.util-em strong{color:var(--or);font-weight:400}
.util-status{margin:0;color:var(--mute-d);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.util-r{display:flex;gap:20px;margin-left:auto}
.count{display:inline-block;min-width:20px;padding:2px 5px;margin-left:4px;background:var(--ink3);text-align:center}
.count.has{background:var(--or);color:var(--ink)}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--ink)}
.hdr-in{display:flex;align-items:center;gap:24px;min-height:72px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.mark{width:40px;height:40px;flex-shrink:0}
.logo-t{display:flex;flex-direction:column;line-height:1}
.logo-t b{font:800 23px/1 var(--f-c);text-transform:uppercase;letter-spacing:.01em}
.logo-t small{font:400 11px/1.2 var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-top:5px}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{padding:10px 11px;font:600 15px/1 var(--f-b);text-decoration:none;position:relative}
.nav a::after{content:'';position:absolute;left:11px;right:11px;bottom:2px;height:2px;background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav a:hover::after,.nav a[aria-current]::after{transform:none}
.hdr-act{display:flex;align-items:center;gap:10px}
.em-link{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid var(--ink);text-decoration:none;font:800 16px/1 var(--f-c);letter-spacing:.05em;text-transform:uppercase}
.em-link small{font:400 12px/1 var(--f-m);color:var(--mute);letter-spacing:0;text-transform:none}
.em-link:hover,.em-link[aria-current]{background:var(--ink);color:var(--paper)}
.em-link:hover small,.em-link[aria-current] small{color:var(--mute-d)}
.menu-btn{display:none;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid var(--ink);background:transparent;font:800 16px/1 var(--f-c);text-transform:uppercase;letter-spacing:.05em}
.menu-btn svg{width:20px;height:20px}
.sheet-strip{display:flex;gap:26px;border-top:1px solid var(--rule);min-height:28px;align-items:center;font:400 11px/1 var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.sheet-strip span:first-child{color:var(--ink)}
.sheet-strip span:first-child::before{content:'';display:inline-block;width:8px;height:8px;background:var(--or);margin-right:8px;vertical-align:0}
@media (max-width:1240px){.nav a{padding:10px 8px;font-size:14px}.nav a::after{left:8px;right:8px}.util-status{display:none}}
@media (max-width:1100px){.nav,.hdr-quote{display:none}.menu-btn{display:inline-flex}.hdr-act{margin-left:auto}}
@media (max-width:640px){.util-hide,.ss-hide{display:none}.em-link small{display:none}.logo-t small{display:none}.hdr-in{min-height:62px;gap:12px}.util-in{gap:12px}.logo-t b{font-size:20px}.em-link{display:none}}
/* drawer */
.drawer{position:fixed;inset:0;z-index:120;background:rgba(13,13,11,.6)}
.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(420px,100%);background:var(--paper);padding:18px var(--g) 28px;overflow:auto;display:flex;flex-direction:column;gap:18px}
.drawer-top{display:flex;justify-content:space-between;align-items:center}
.drawer nav{display:flex;flex-direction:column;border-top:1px solid var(--ink)}
.drawer nav a{display:flex;gap:14px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--rule);font:800 24px/1 var(--f-c);text-transform:uppercase;text-decoration:none}
.drawer nav a .mono{font-size:12px;color:var(--mute);width:22px}
.drawer nav a[aria-current]{color:var(--ink);box-shadow:inset 4px 0 0 var(--or);padding-left:12px}
/* footer: drawing title block */
.foot{background:var(--ink);color:var(--paper);padding:clamp(56px,7vw,96px) 0 calc(36px + env(safe-area-inset-bottom))}
.foot a{text-decoration:none}
.foot a:hover,.foot a:focus-visible{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.foot-lede{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding-bottom:40px}
.foot-promise{margin:0;font:800 clamp(34px,5vw,64px)/1 var(--f-c);text-transform:uppercase;max-width:15ch}
.foot-promise span{font-weight:300;color:var(--mute-d)}
.tblock{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr 1fr;border:1px solid var(--rule-d)}
.tb-cell{padding:18px;border-right:1px solid var(--rule-d);font-size:15px;line-height:1.55;min-width:0}
.tb-cell:last-child{border-right:0}
.tb-cell p{margin:0}
.tb-cell ul{list-style:none}
.nw{white-space:nowrap}
.tb-k{display:block;font:400 11px/1 var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--mute-d);margin-bottom:12px}
.logo-inv .logo-t small{color:var(--mute-d)}
.logo-inv .mark rect:first-child{fill:#191916}
.foot-acc{font:400 13px/1.6 var(--f-m);color:var(--mute-d);margin:28px 0 0;max-width:110ch}
.foot-base{display:flex;flex-wrap:wrap;gap:8px 32px;margin-top:22px;padding-top:20px;border-top:1px solid var(--rule-d);font-size:14px;color:var(--mute-d)}
.foot-base p{margin:0}
.foot-base p:first-child{color:var(--paper)}
@media (max-width:1100px){.tblock{grid-template-columns:1fr 1fr 1fr}.tb-cell:nth-child(3){border-right:0}.tb-cell:nth-child(-n+3){border-bottom:1px solid var(--rule-d)}}
@media (max-width:640px){.tblock{grid-template-columns:1fr 1fr}.tb-cell{border-bottom:1px solid var(--rule-d)}.tb-cell:nth-child(3){border-right:1px solid var(--rule-d)}.tb-cell:nth-child(2n){border-right:0}.tb-brand{grid-column:1/-1;border-right:0!important}.tb-cell:nth-last-child(-n+2){border-bottom:0}}
/* bottom bar (mobile) */
.bbar{display:none}
@media (max-width:760px){
 .bbar{display:grid;grid-template-columns:1fr 1.3fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);border-top:1px solid var(--rule-d);padding-bottom:env(safe-area-inset-bottom)}
 .bbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;color:var(--paper);text-decoration:none;font:800 16px/1 var(--f-c);letter-spacing:.06em;text-transform:uppercase}
 .bbar svg{width:18px;height:18px}
 .bbar .b-quote{background:var(--or);color:var(--ink)}
 .bbar .b-em{border-left:1px solid var(--rule-d)}
 body{padding-bottom:56px}
 .concept{bottom:66px!important}
}
.concept{position:fixed;left:12px;bottom:12px;z-index:70;background:var(--ink);color:var(--paper);border:1px solid var(--rule-d);padding:7px 10px;font:400 11px/1.2 var(--f-m);letter-spacing:.03em;text-decoration:none;max-width:calc(100% - 24px)}
.concept:hover{background:var(--ink3)}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,140%);z-index:130;background:var(--ink);color:var(--paper);border-left:4px solid var(--or);padding:12px 18px;font:400 14px/1.3 var(--f-m);transition:transform .25s;max-width:calc(100% - 32px)}
.toast{visibility:hidden}.toast.show{transform:translate(-50%,0);visibility:visible}
@media (max-width:760px){.toast{bottom:76px}}
.rv{opacity:1}
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.js .rv{opacity:1;transform:none}}
