/* bc.team — shared layer of every page, home variant 4 "Duty shift".
   1. Global layer (stage 11, 2026-10-16): colors, fonts, page width, buttons. The home page repeats these rules
      in its own <style>; inner pages add assets/page.css on top.
   2. Header (partials/header.html) and footer (partials/site-footer.html), stage 10b. Their rules are scoped to
      .top and .foot and carry their own colors, so they look the same over any page body.
   3. Cookie banner and the Calendly window. */

/* 1. global layer */
:root{
  --bg:#121116;--bg-2:#1A1920;--deep:#0D0C11;
  --panel:#1B1A20;--panel-2:#212027;--inset:#151419;--win:#18171D;--bar:#1E1D23;
  --line:rgba(255,255,255,.08);--line-2:rgba(255,255,255,.14);--line-3:rgba(255,255,255,.24);
  --text:#EDECF1;--soft:#C9C8D0;--muted:#9A99A3;--dim:#6E6D77;--sk:#2C2B33;--sk-2:#3A3942;
  --red:#E3141E;--sig:#FF3D47;
  --head:'Inter Tight','Geist',system-ui,sans-serif;
  --body:'Geist',system-ui,sans-serif;
  --mono:'Geist Mono','JetBrains Mono',ui-monospace,monospace;
  --gut:60px;--r:14px
}
*{box-sizing:border-box}
html{color-scheme:dark;-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--text);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
/* 11a: a short page (thank-you pages on a big screen) keeps the footer at the bottom of the window */
body{display:flex;flex-direction:column;min-height:100vh}
body>main{flex:1 0 auto}
.nw{white-space:nowrap}
img{max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:4px}
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--gut)}
.skip{position:absolute;left:-9999px;top:10px;z-index:100;background:#fff;color:#000;padding:10px 14px;border-radius:6px;font-weight:500;text-decoration:none}
.skip:focus{left:16px}
/* buttons: radius matches the logo plate */
.btn,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:6px;font:500 15px/1 var(--body);text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}
.btn{background:var(--red);color:#fff;border:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 28px -10px rgba(227,20,30,.7)}
.btn:hover{background:#F2212B}
.btn-ghost{background:rgba(255,255,255,.04);color:#fff;border:1px solid var(--line-2)}
.btn-ghost:hover{background:rgba(255,255,255,.08);border-color:var(--line-3)}
.btn-lg{height:48px;padding:0 22px;font-size:16px}
@media (max-width:1180px){:root{--gut:32px}}
@media (max-width:760px){:root{--gut:16px}}

/* 2. header and footer */

.top,.foot{
  --line:rgba(255,255,255,.08);--line-2:rgba(255,255,255,.14);--line-3:rgba(255,255,255,.24);
  --text:#EDECF1;--soft:#C9C8D0;--muted:#9A99A3;--dim:#6E6D77;--deep:#0D0C11;
  --red:#E3141E;--sig:#FF3D47;
  --head:'Inter Tight','Geist',system-ui,sans-serif;
  --body:'Geist',system-ui,sans-serif;
  --mono:'Geist Mono','JetBrains Mono',ui-monospace,monospace;
  --gut:60px;
  color:var(--text);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale
}
.top *,.foot *{box-sizing:border-box}
.top a,.foot a{color:inherit}
.top img,.foot img{max-width:100%}
.top :focus-visible,.foot :focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:4px}
.top .wrap,.foot .wrap{max-width:1440px;margin:0 auto;padding:0 var(--gut)}

/* buttons in the header: radius matches the logo plate */
.top .btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border:0;border-radius:6px;background:var(--red);color:#fff;font:500 15px/1 var(--body);text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 10px 28px -10px rgba(227,20,30,.7);transition:background-color .15s,border-color .15s,box-shadow .15s}
.top .btn:hover{background:#F2212B}
.top .btn-lg{height:48px;padding:0 22px;font-size:16px}

/* header */
.top{position:sticky;top:0;z-index:30;background:rgba(18,17,22,.74);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.top .bar{display:flex;align-items:center;gap:32px;height:64px}
.top .logo{display:block;flex:none;border-radius:6px;font:inherit;letter-spacing:normal}
.top .logo img{display:block;height:28px;width:auto}
.top .nav{flex:1;display:flex;justify-content:center;align-items:center;gap:4px;font:500 14px/1 var(--body)}
.top .nav-a,.top .dd-t{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 13px;border:0;border-radius:6px;background:none;color:var(--muted);font:inherit;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .15s,background-color .15s}
.top .nav-a:hover,.top .dd-t:hover,.top .dd-t[aria-expanded=true]{color:#fff;background:rgba(255,255,255,.05)}
.top .dd{position:relative}
.top .dd-t svg{transition:transform .2s}
.top .dd-t[aria-expanded=true] svg{transform:rotate(180deg)}
.top .dd-p{position:absolute;z-index:40;left:50%;top:100%;min-width:230px;margin-top:10px;padding:8px;border:1px solid var(--line-2);border-radius:12px;background:#1B1A20;box-shadow:0 30px 60px -20px #000,inset 0 1px 0 rgba(255,255,255,.04);opacity:0;visibility:hidden;transform:translate(-50%,6px);transition:opacity .15s,transform .15s,visibility .15s}
.top .dd-p::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.top .dd-t[aria-expanded=true]+.dd-p{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media (hover:hover){
  .top .dd:hover .dd-t{color:#fff;background:rgba(255,255,255,.05)}
  .top .dd:hover .dd-t svg{transform:rotate(180deg)}
  .top .dd:hover .dd-p{opacity:1;visibility:visible;transform:translate(-50%,0)}
}
.top .dd-p a{display:block;padding:10px 12px;border-radius:7px;color:var(--soft);font-size:14px;line-height:1.3;text-decoration:none;white-space:nowrap}
.top .dd-p a:hover,.top .dd-p a:focus-visible{background:rgba(255,255,255,.06);color:#fff}
.top .dd-wide{display:grid;grid-template-columns:1fr 1fr;gap:2px 4px;min-width:500px}
.top .dd-p .dd-all{grid-column:1/-1;display:flex;justify-content:space-between;margin-bottom:4px;color:#fff;font-weight:500;border-bottom:1px solid var(--line);border-radius:7px 7px 0 0}
.top .dd-all span{color:var(--sig)}
.top .burger{display:none}
.top .burger>summary{list-style:none;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line-2);border-radius:6px;cursor:pointer;color:#fff}
.top .burger summary::-webkit-details-marker{display:none}
.top .burger .ic-x{display:none}
.top .burger[open] .ic-x{display:block}
.top .burger[open] .ic-m{display:none}
.top .burger-panel{position:absolute;left:0;right:0;top:64px;min-height:calc(100vh - 64px);max-height:calc(100vh - 64px);overflow:auto;padding:4px var(--gut) 24px;background:#121116;border-bottom:1px solid var(--line-2)}
.top .burger-panel a:not(.btn){display:block;padding:15px 0;border-bottom:1px solid var(--line);color:#fff;text-decoration:none;font-size:17px}
.top .bp-g summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:15px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;color:#fff;font-size:17px;cursor:pointer}
.top .bp-g summary::-webkit-details-marker{display:none}
.top .bp-g summary::after{content:"+";font:400 18px/1 var(--mono);color:var(--dim)}
.top .bp-g[open] summary::after{content:"−"}
.top .burger-panel .bp-g a:not(.btn){padding:13px 0 13px 16px;font-size:15px;color:var(--soft)}
.top .burger-panel .btn{width:100%;margin-top:20px}
@media (min-width:761px){.top .burger-panel .btn{width:auto;min-width:280px}}

/* footer: "control panel" variant (Vlad, 2026-10-16), no status bar and no email */
.foot{padding:88px 0 40px;background:var(--deep);color:var(--muted)}
.foot h4{margin:0 0 24px;font:500 19px/1.2 var(--head);letter-spacing:-.01em;color:#fff}
.foot a{display:block;margin:0 0 15px;font-size:16px;line-height:1.35;color:var(--muted);text-decoration:none}
.foot a:hover{color:#fff}
.foot .legal{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 22px;line-height:1.5;margin-top:64px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--dim)}
.foot .legal-l{display:contents}
@media (max-width:1366px){.foot .legal{flex-direction:column;align-items:flex-start;gap:12px}.foot .legal-l{display:flex;flex-wrap:wrap;gap:10px 22px}}
.foot .legal span{flex:1 1 auto;min-width:0}
.foot .legal a{display:inline;margin:0;font-size:inherit;line-height:inherit;color:var(--dim)}
.foot .legal a:hover{color:#fff}
.foot .fv5-cols{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));gap:40px 28px}
.foot .fv5-logo{grid-row:span 2}
.foot .fv5-logo img{width:200px;height:auto}
.fv5 .f-g{padding-left:18px;border-left:1px solid var(--line)}
.fv5 .f-g h4{margin-bottom:18px;font:500 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.fv5 .f-g a{margin:0 0 12px}

/* 3. cookie banner and the Calendly window: the same look on every page, the home page included.
   Cookie banner (GDPR, Vlad 2026-10-17): a panel at the bottom of the screen on the first visit, shown by the script in
   partials/consent.html while no choice is saved. "Accept all" and "Reject all" look the same on purpose */
.consent{position:fixed;left:16px;bottom:16px;z-index:60;width:min(500px,calc(100% - 32px));padding:20px 20px 18px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#1B1A20;box-shadow:0 30px 70px -20px rgba(0,0,0,.8);color:#C9C8D0;font:400 14px/1.5 'Geist',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.consent[hidden]{display:none}
.consent-t{margin:0}
.consent a{color:#fff;text-underline-offset:3px}
.consent-set{display:grid;gap:12px;margin:14px 0 0;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.08)}
.consent-set[hidden]{display:none}
.consent .consent-opt{display:flex;align-items:flex-start;gap:10px;margin:0;font:400 13.5px/1.45 'Geist',system-ui,sans-serif;color:#C9C8D0;cursor:pointer}
.consent .consent-opt b{display:block;font-weight:500;color:#fff}
.consent input[type=checkbox]{flex:none;display:inline-block;width:16px;height:16px;margin:2px 0 0;padding:0;border:0;background:none;box-shadow:none;accent-color:#E3141E;cursor:pointer}
.consent input[type=checkbox]:disabled{cursor:default}
.consent-act{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.consent-b{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 16px;border:1px solid rgba(255,255,255,.24);border-radius:6px;background:rgba(255,255,255,.06);color:#fff;font:500 14px/1 'Geist',system-ui,sans-serif;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s}
.consent-b:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
.consent-b[hidden]{display:none}
.consent-l{height:38px;padding:0 6px;border:0;background:none;color:#9A99A3;font:400 14px/1 'Geist',system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.consent-l:hover{color:#fff}
@media (max-width:760px){.consent{right:16px;width:auto}.consent-b{flex:1}}
/* cookie banner buttons: 44 px on phones and touch screens, as every other tap target (stage 11a; found on phones 19.10.2026) */
@media (max-width:760px),(pointer:coarse),(max-height:480px){.consent-b,.consent-l{height:44px}}
dialog.cal{width:calc(100% - 32px);max-width:820px;max-height:calc(100% - 32px);padding:20px;overflow:auto;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#1B1A20;color:#EDECF1;font:400 15px/1.5 'Geist',system-ui,sans-serif}
dialog.cal::backdrop{background:rgba(0,0,0,.6)}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cal-head b{font:500 18px/1.2 'Inter Tight','Geist',system-ui,sans-serif;color:#fff}
.cal-head form{margin:0}
.cal-head .btn2{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:none;color:#fff;font:400 20px/1 system-ui,sans-serif;cursor:pointer}

/* tablet */
@media (max-width:1180px){
  .top,.foot{--gut:32px}
  .top .nav,.top .bar>.cta{display:none}
  .top .burger{display:block;margin-left:auto}
  .foot .fv5-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot .fv5-logo{grid-column:1/-1;grid-row:auto}
}
@media (min-width:761px) and (max-width:1180px){.foot .fv5-cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* phone */
@media (max-width:760px){
  .top,.foot{--gut:16px}
  .foot .legal{font-size:14px}
  .fv5 .f-g h4{line-height:1.35}
}
@media (max-width:420px){
  .top .bar{gap:16px}
}
@media (prefers-reduced-motion:reduce){
  .top *,.top *::before,.top *::after,.foot *{transition:none!important}
}
