/* ===== header + footer: drawn as a title block on the same drafting table ===== */
.bk-head{position:sticky;top:0;z-index:30;max-width:1280px;margin:-24px auto clamp(28px,4vw,48px);padding-top:10px}
.bk-head .bar{position:relative;background:var(--paper);border:1px solid var(--ink);transition:box-shadow .25s}
.bk-head.stuck .bar{box-shadow:0 10px 28px -18px rgba(18,22,20,.45)}
.bk-head .bar::before,.bk-head .bar::after{content:"";position:absolute;width:13px;height:13px;border:0 solid var(--ink);pointer-events:none}
.bk-head .bar::before{top:-7px;left:-7px;border-right-width:1px;border-bottom-width:1px}
.bk-head .bar::after{bottom:-7px;right:-7px;border-left-width:1px;border-top-width:1px}
.bk-util{display:flex;justify-content:space-between;gap:16px;padding:7px 18px;border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);transition:margin .25s,opacity .25s}
.bk-util a{text-decoration:none}.bk-util a:hover{color:var(--green)}
.bk-util .l,.bk-util .r{display:flex;gap:18px;align-items:center}
.bk-util .lang{display:flex;gap:2px;border:1px solid var(--rule)}.bk-util .lang>*{padding:1px 7px}.bk-util .lang b{background:var(--ink);color:var(--paper);font-weight:500}
.bk-util .dot{width:6px;height:6px;border-radius:50%;background:var(--green-2);display:inline-block;margin-right:6px;vertical-align:1px}
.bk-head.stuck .bk-util{margin-top:-30px;opacity:0;pointer-events:none}
@media (max-width:860px){.bk-util .hide-s{display:none}}
.bk-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;min-height:68px}
.bk-logo{display:flex;align-items:center;gap:12px;padding:0 20px;text-decoration:none;border-right:1px solid var(--ink)}
.bk-logo svg{width:30px;height:34px;flex-shrink:0}
.bk-main>nav{display:flex;justify-content:center;min-width:0}
.bk-logo .t{display:flex;flex-direction:column;line-height:1}
.bk-logo b{font-family:var(--display);font-weight:700;font-size:25px;letter-spacing:.12em}
.bk-logo i{font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.24em;color:var(--ink-2);margin-top:4px}
.bk-nav{display:flex;height:100%;align-items:stretch;justify-content:center;gap:0;margin:0;padding:0;list-style:none}
.bk-nav>li{display:flex}
.bk-nav>li>a,.bk-nav>li>button{all:unset;cursor:pointer;display:flex;align-items:center;gap:6px;padding:0 15px;font-size:15px;font-weight:500;position:relative;white-space:nowrap}
.bk-nav>li>a::after,.bk-nav>li>button::after{content:"";position:absolute;left:15px;right:15px;bottom:-1px;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.bk-nav>li>a:hover::after,.bk-nav>li>button:hover::after,.bk-nav>li>button[aria-expanded="true"]::after,.bk-nav>li.on>a::after,.bk-nav>li.on>button::after{transform:none}
.bk-nav>li>button .chev{width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.bk-nav>li>button[aria-expanded="true"] .chev{transform:rotate(-135deg) translateY(-1px)}
.bk-nav>li>a:focus-visible,.bk-nav>li>button:focus-visible{outline:2px solid var(--green);outline-offset:-4px}
.bk-act{display:flex;align-items:stretch;border-left:1px solid var(--ink)}
.bk-act .ph-l{display:flex;flex-direction:column;justify-content:center;padding:0 18px;text-decoration:none;line-height:1.15}
.bk-act .ph-l span{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.bk-act .ph-l b{font-weight:600;font-size:15px;font-variant-numeric:tabular-nums}
.bk-act .ph-l:hover b{color:var(--green)}
.bk-act .q{display:flex;align-items:center;gap:0;white-space:nowrap;padding:0 22px;background:var(--green);color:var(--paper);text-decoration:none;font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;transition:background .2s}
.bk-act .q:hover{background:var(--ink)}
.bk-burger{all:unset;display:none;cursor:pointer;width:64px;place-items:center;border-left:1px solid var(--ink)}
.bk-burger span{display:block;width:22px;height:1.5px;background:var(--ink);position:relative;transition:background .2s}
.bk-burger span::before,.bk-burger span::after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:var(--ink);transition:transform .25s}
.bk-burger span::before{top:-7px}.bk-burger span::after{top:7px}
.bk-burger[aria-expanded="true"] span{background:transparent}
.bk-burger[aria-expanded="true"] span::before{transform:translateY(7px) rotate(45deg)}
.bk-burger[aria-expanded="true"] span::after{transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1180px){.bk-act .ph-l{display:none}.bk-nav>li>a,.bk-nav>li>button{padding:0 11px;font-size:14.5px}}
@media (max-width:1000px){.bk-nav{display:none}.bk-burger{display:grid}.bk-main{grid-template-columns:auto minmax(0,1fr) auto auto}}
@media (max-width:520px){.bk-act .q{padding:0 14px;font-size:11px}.bk-act .q .lg{display:none}.bk-logo{padding:0 14px}.bk-logo b{font-size:21px}.bk-burger{width:56px}}
/* mega panel */
.bk-mega{position:absolute;left:-1px;right:-1px;top:100%;background:var(--paper);border:1px solid var(--ink);display:grid;grid-template-columns:minmax(0,1fr) 340px;opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;transition:opacity .18s,transform .18s,visibility 0s .18s;box-shadow:0 24px 40px -28px rgba(18,22,20,.5);max-height:calc(100vh - 120px);overflow:auto}
.bk-mega.open{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition-delay:0s}
.bk-mega .cols{padding:26px 28px 30px;display:grid;grid-template-columns:1fr;gap:0 32px;align-content:start}
.bk-mega .cols.two{grid-template-columns:1fr 1fr}
.bk-mega .grp{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 24px;align-content:start}
.bk-mega .cols.two .grp{grid-template-columns:1fr}
.bk-mega .cols h5{grid-column:1/-1;margin:0 0 10px;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);display:flex;justify-content:space-between;border-bottom:1px solid var(--rule);padding-bottom:10px}
.bk-mega .cols h5 a{color:var(--green);text-decoration:none}
.bk-mega .cols a.it{display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px 8px;padding:10px 8px;text-decoration:none;border-left:2px solid transparent;transition:background .15s,border-color .15s}
.bk-mega .cols a.it:hover,.bk-mega .cols a.it:focus-visible{background:var(--green-wash);border-left-color:var(--green);outline:0}
.bk-mega .cols a.it i{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--ink-2);grid-row:span 2;padding-top:3px}
.bk-mega .cols a.it b{font-weight:600;font-size:15px}
.bk-mega .cols a.it span{font-size:13px;color:var(--ink-2);line-height:1.35}
.bk-mega .feat{border-left:1px solid var(--ink);padding:22px 24px;display:flex;flex-direction:column;gap:12px;background:var(--paper-2)}
.bk-mega .feat svg{width:100%;height:auto;background:var(--paper);border:1px solid var(--rule)}
.bk-mega .feat b{font-family:var(--display);font-size:24px;text-transform:uppercase;line-height:1.05}
.bk-mega .feat p{margin:0;font-size:14px;color:var(--ink-2)}
.bk-mega .feat .btn{align-self:flex-start;padding:11px 16px;font-size:12px}
/* mobile drawer */
.bk-drawer{position:fixed;inset:0;z-index:60;background:var(--paper);display:flex;flex-direction:column;overflow-y:auto;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.7,.2,1);
  padding:max(14px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));
  background-image:linear-gradient(var(--rule-soft) 1px,transparent 1px),linear-gradient(90deg,var(--rule-soft) 1px,transparent 1px);background-size:32px 32px}
.bk-drawer.open{transform:none}
.bk-drawer .top{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--ink);background:var(--paper);min-height:60px}
.bk-drawer .top .bk-logo{border-right:0}
.bk-drawer .x{all:unset;cursor:pointer;width:60px;align-self:stretch;display:grid;place-items:center;border-left:1px solid var(--ink);font-size:22px}
.bk-drawer nav{margin-top:14px;border:1px solid var(--ink);background:var(--paper)}
.bk-drawer details{border-bottom:1px solid var(--ink)}
.bk-drawer summary,.bk-drawer nav>a{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;font-family:var(--display);font-weight:700;font-size:26px;text-transform:uppercase;text-decoration:none;cursor:pointer;line-height:1}
.bk-drawer nav>a{border-bottom:1px solid var(--ink)}
.bk-drawer nav>a:last-child{border-bottom:0}
.bk-drawer summary::-webkit-details-marker{display:none}
.bk-drawer nav>a i{font-style:normal;font-family:var(--mono);font-size:16px;font-weight:400;color:var(--green)}
.bk-drawer summary i{font-style:normal;font-family:var(--mono);font-size:16px;font-weight:400;transition:transform .2s}
.bk-drawer details[open] summary i{transform:rotate(45deg)}
.bk-drawer details div{padding:0 18px 14px;display:flex;flex-direction:column}
.bk-drawer details div a{padding:10px 0;border-top:1px solid var(--rule);text-decoration:none;font-size:16px;display:flex;justify-content:space-between}
.bk-drawer details div a::after{content:"→";color:var(--green)}
.bk-drawer .foot{margin-top:14px;display:grid;gap:10px}
.bk-drawer .foot .btn{justify-content:center}
.bk-drawer .foot .mono{color:var(--ink-2);text-align:center}
body.bk-lock{overflow:hidden}

/* ===== footer ===== */
.bk-foot{max-width:1280px;margin:clamp(56px,7vw,96px) auto 0;position:relative;background:var(--dark);color:var(--on-dark);border:1px solid var(--dark)}
.bk-foot::before,.bk-foot::after{content:"";position:absolute;width:13px;height:13px;border:0 solid var(--ink)}
.bk-foot::before{top:-7px;left:-7px;border-right-width:1px;border-bottom-width:1px}
.bk-foot::after{bottom:-7px;right:-7px;border-left-width:1px;border-top-width:1px}
.bk-foot a{text-decoration:none;color:inherit}
.bk-foot .f-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--dark-line);padding:12px 24px;color:var(--on-dark-2)}
.bk-foot .f-cta{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:end;padding:clamp(40px,6vw,80px) clamp(20px,5vw,72px);border-bottom:1px solid var(--dark-line)}
.bk-foot .f-cta h2{font-size:clamp(34px,4.6vw,64px)}
.bk-foot .f-cta h2 em{font-style:normal;color:var(--green-hi)}
.bk-foot .f-cta .acts{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.bk-foot .f-cta .btn{background:var(--green-hi);border-color:var(--green-hi);color:var(--dark)}
.bk-foot .f-cta .btn:hover{background:var(--on-dark);border-color:var(--on-dark)}
.bk-foot .f-cta .tel{font-family:var(--display);font-weight:700;font-size:clamp(26px,2.6vw,34px);letter-spacing:.02em}
.bk-foot .f-cta .tel:hover{color:var(--green-hi)}
.bk-foot .f-cta .mono{color:var(--on-dark-2)}
@media (max-width:860px){.bk-foot .f-cta{grid-template-columns:1fr}}
.bk-foot .f-grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,1fr));gap:32px;padding:clamp(36px,5vw,64px) clamp(20px,5vw,72px)}
.bk-foot .f-grid h5{margin:0 0 14px;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-hi)}
.bk-foot .f-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:15px}
.bk-foot .f-grid ul a{color:var(--on-dark-2);transition:color .15s}
.bk-foot .f-grid ul a:hover{color:var(--on-dark)}
.bk-foot .brand p{margin:16px 0 20px;color:var(--on-dark-2);font-size:15px;max-width:36ch}
.bk-foot .brand .bk-logo{padding:0;border:0}
.bk-foot .brand .bk-logo i{color:var(--on-dark-2)}
.bk-foot .brand .bk-logo svg path,.bk-foot .brand .bk-logo svg line{stroke:var(--on-dark)}
.bk-foot .soc{display:flex;gap:8px}
.bk-foot .soc a{width:42px;height:42px;border:1px solid var(--dark-line);display:grid;place-items:center;transition:background .2s,border-color .2s}
.bk-foot .soc a:hover{background:var(--green-hi);border-color:var(--green-hi);color:var(--dark)}
.bk-foot .soc svg{width:18px;height:18px}
@media (min-width:1001px){.bk-foot .f-grid.fr{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr))}}
@media (max-width:1000px){.bk-foot .f-grid{grid-template-columns:1fr 1fr}.bk-foot .brand{grid-column:1/-1}}
@media (max-width:480px){.bk-foot .f-grid{gap:30px 16px}.bk-foot .f-grid ul{font-size:14.5px}}
.bk-foot .tblock{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--dark-line);border-bottom:1px solid var(--dark-line)}
.bk-foot .tblock div{padding:14px 18px;display:flex;flex-direction:column;gap:4px;border-left:1px solid var(--dark-line);min-width:0}
.bk-foot .tblock div:first-child{border-left:0}
.bk-foot .tblock span{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2)}
.bk-foot .tblock b{font-weight:500;font-size:14.5px}
@media (max-width:1000px){.bk-foot .tblock{grid-template-columns:1fr 1fr}.bk-foot .tblock div:nth-child(odd){border-left:0}.bk-foot .tblock div{border-top:1px solid var(--dark-line)}.bk-foot .tblock div:nth-child(-n+2){border-top:0}.bk-foot .tblock div:last-child{grid-column:1/-1;border-left:0}}
.bk-foot .mark{padding:clamp(20px,3vw,36px) clamp(20px,5vw,72px) 0;overflow:hidden}
.bk-foot .mark svg{display:block;width:100%;height:auto}
.bk-foot .mark text{font-family:var(--display);font-weight:700;letter-spacing:.06em;fill:none;stroke:var(--on-dark-2);stroke-width:.6;opacity:.55}
.bk-foot .mark .dim{stroke:var(--green-hi);stroke-width:.6;opacity:.7}
.bk-foot .mark .dimt{fill:var(--green-hi);font-family:var(--mono);font-size:11px;letter-spacing:.1em;opacity:.85;stroke:none}
.bk-foot .legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;padding:16px clamp(20px,5vw,72px) calc(18px + env(safe-area-inset-bottom,0px));font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--on-dark-2)}
.bk-foot .legal nav{display:flex;flex-wrap:wrap;gap:8px 18px}
.bk-foot .legal a:hover{color:var(--on-dark)}
/* the pages already end with their own CTA; keep the sheet rhythm */
body{padding-bottom:40px}

[id]{scroll-margin-top:110px}
.bk-head .bk-logo{color:var(--ink)}
.bk-drawer .mono a{text-decoration:underline}
@media (max-width:520px){.bk-util{padding:6px 14px}.bk-util .l span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media (min-width:1001px){.calc-vis,.gcalc .gvis{top:92px}}.toc{top:96px}

.bk-head.stuck{padding-top:0}
.bk-logo i{white-space:nowrap}
.bk-util .l{min-width:0}
.bk-util .r{flex-shrink:0}
@media (max-width:520px){.bk-logo{gap:9px}.bk-logo i{font-size:8.5px;letter-spacing:.12em}.bk-util .l span:first-child{min-width:0}.bk-act .q{padding:0 12px}}
@media (max-width:360px){.bk-logo i{display:none}}

/* real logo (image) */
.bk-logo img{display:block;height:42px;width:auto}
.bk-foot .brand .bk-logo img{height:50px}
@media (max-width:520px){.bk-logo img{height:32px}}
@media (max-width:360px){.bk-logo img{height:27px}}

/* compact header on phones: no empty cell next to the logo */
@media (max-width:1000px){.bk-logo{border-right:0}.bk-main{min-height:58px}}
@media (max-width:520px){.bk-main{min-height:52px}.bk-util{padding:4px 14px}.bk-head.stuck .bk-util{margin-top:-24px}}
