/* reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
input,textarea,select{font:inherit;color:inherit}

/* tokens */
:root{
  /* color system */
  --bcyy2-ink:#0b0e14;
  --bcyy2-surface:#12161f;
  --bcyy2-surface-2:#1a1f2b;
  --bcyy2-line:#28303f;
  --bcyy2-text:#e9edf4;
  --bcyy2-muted:#9aa6b8;
  --bcyy2-signal:#3be0ce;
  --bcyy2-signal-2:#2ba7ff;
  --bcyy2-alert:#ffb020;
  /* type */
  --bcyy2-font-head:"Space Grotesk","Segoe UI",system-ui,sans-serif;
  --bcyy2-font-body:"DM Sans","Segoe UI",system-ui,sans-serif;
  --bcyy2-font-mono:ui-monospace,"SFMono-Regular","Cascadia Code","Roboto Mono",Menlo,Consolas,monospace;
  /* spacing scale */
  --bcyy2-s1:4px;--bcyy2-s2:8px;--bcyy2-s3:12px;--bcyy2-s4:16px;
  --bcyy2-s5:24px;--bcyy2-s6:32px;--bcyy2-s7:48px;--bcyy2-s8:64px;--bcyy2-s9:96px;
  /* radius */
  --bcyy2-r-sm:6px;--bcyy2-r-md:10px;--bcyy2-r-lg:16px;--bcyy2-r-pill:999px;
  /* shadow */
  --bcyy2-shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --bcyy2-shadow-md:0 8px 24px rgba(0,0,0,.45);
  --bcyy2-shadow-lg:0 24px 60px rgba(0,0,0,.55);
  /* transition */
  --bcyy2-t-fast:140ms ease;--bcyy2-t-mid:260ms ease;--bcyy2-t-slow:480ms cubic-bezier(.22,1,.36,1);
  /* z-index */
  --bcyy2-z-header:1000;--bcyy2-z-menu:1100;--bcyy2-z-top:1200;--bcyy2-z-cookie:1300;
  /* layout */
  --bcyy2-header-h:64px;
  --bcyy2-container:1140px;
  --bcyy2-measure:68ch;
  /* logo */
  --logo-w:188px;--logo-h:34px;
}

/* base */
body{
  font-family:var(--bcyy2-font-body);
  background:var(--bcyy2-ink);
  color:var(--bcyy2-text);
  font-size:17px;line-height:1.65;
  background-image:radial-gradient(circle at 18% -10%,rgba(43,167,255,.07),transparent 42%),radial-gradient(circle at 88% 4%,rgba(59,224,206,.06),transparent 40%);
  background-attachment:fixed;
}
h1,h2,h3,h4{font-family:var(--bcyy2-font-head);line-height:1.12;font-weight:600;letter-spacing:-.02em;color:#fff}
h1{font-size:clamp(2.1rem,5.4vw,3.5rem)}
h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}
h3{font-size:clamp(1.2rem,2.2vw,1.5rem)}
h4{font-size:1.05rem}
p{max-width:var(--bcyy2-measure)}
strong{color:#fff;font-weight:600}
::selection{background:var(--bcyy2-signal);color:var(--bcyy2-ink)}
:focus-visible{outline:2px solid var(--bcyy2-signal);outline-offset:3px;border-radius:var(--bcyy2-r-sm)}
.bcyy2-skip{position:absolute;left:-9999px;top:0;background:var(--bcyy2-signal);color:var(--bcyy2-ink);padding:var(--bcyy2-s3) var(--bcyy2-s4);z-index:var(--bcyy2-z-top);font-weight:600}
.bcyy2-skip:focus{left:var(--bcyy2-s4);top:var(--bcyy2-s4)}

/* layout */
.bcyy2-container{width:100%;max-width:var(--bcyy2-container);margin-inline:auto;padding-inline:var(--bcyy2-s5)}
main{padding-top:var(--bcyy2-header-h)}
.bcyy2-section{padding-block:var(--bcyy2-s8)}
.bcyy2-section--tight{padding-block:var(--bcyy2-s7)}
.bcyy2-eyebrow{font-family:var(--bcyy2-font-mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bcyy2-signal);display:inline-flex;align-items:center;gap:var(--bcyy2-s2)}
.bcyy2-eyebrow::before{content:"";width:22px;height:1px;background:var(--bcyy2-signal);display:inline-block}
.bcyy2-lead{font-size:1.18rem;color:var(--bcyy2-muted);max-width:62ch}
.bcyy2-muted{color:var(--bcyy2-muted)}
.bcyy2-grid{display:grid;gap:var(--bcyy2-s5)}
.bcyy2-prose>*+*{margin-top:var(--bcyy2-s4)}
.bcyy2-prose h2{margin-top:var(--bcyy2-s7)}
.bcyy2-prose h3{margin-top:var(--bcyy2-s6)}
.bcyy2-prose ul{display:grid;gap:var(--bcyy2-s2);padding-left:0}
.bcyy2-prose li{position:relative;padding-left:var(--bcyy2-s5);color:var(--bcyy2-muted)}
.bcyy2-prose li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;background:var(--bcyy2-signal);border-radius:2px;transform:rotate(45deg)}
.bcyy2-prose a{color:var(--bcyy2-signal);text-decoration:underline;text-underline-offset:3px}
.bcyy2-divider{height:1px;background:var(--bcyy2-line);border:0;margin-block:var(--bcyy2-s7)}

/* buttons */
.bcyy2-btn{display:inline-flex;align-items:center;gap:var(--bcyy2-s2);padding:var(--bcyy2-s3) var(--bcyy2-s5);border-radius:var(--bcyy2-r-pill);font-family:var(--bcyy2-font-head);font-weight:600;font-size:.96rem;transition:transform var(--bcyy2-t-fast),background var(--bcyy2-t-fast),border-color var(--bcyy2-t-fast)}
.bcyy2-btn--primary{background:var(--bcyy2-signal);color:var(--bcyy2-ink)}
.bcyy2-btn--primary:hover{transform:translateY(-2px);background:#5cead9}
.bcyy2-btn--ghost{border:1px solid var(--bcyy2-line);color:var(--bcyy2-text)}
.bcyy2-btn--ghost:hover{border-color:var(--bcyy2-signal);color:#fff}
.bcyy2-btn svg{width:18px;height:18px}

/* hero (typographic, no image) */
.bcyy2-hero{padding-top:var(--bcyy2-s8);padding-bottom:var(--bcyy2-s7);position:relative;overflow:hidden}
.bcyy2-hero__statement{font-size:clamp(2.2rem,6vw,4rem);max-width:18ch;margin-top:var(--bcyy2-s4)}
.bcyy2-hero__statement em{font-style:normal;color:var(--bcyy2-signal)}
.bcyy2-hero__sub{margin-top:var(--bcyy2-s5);font-size:1.18rem;color:var(--bcyy2-muted);max-width:54ch}

/* situation router (unique structural component) */
.bcyy2-router{margin-top:var(--bcyy2-s7);border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-lg);background:linear-gradient(180deg,rgba(26,31,43,.6),rgba(18,22,31,.6));overflow:hidden}
.bcyy2-router__head{padding:var(--bcyy2-s5);border-bottom:1px solid var(--bcyy2-line);display:flex;align-items:center;justify-content:space-between;gap:var(--bcyy2-s4);flex-wrap:wrap}
.bcyy2-router__prompt{font-family:var(--bcyy2-font-mono);font-size:.85rem;color:var(--bcyy2-muted)}
.bcyy2-router__prompt b{color:var(--bcyy2-signal);font-weight:400}
.bcyy2-router__tabs{display:flex;flex-wrap:wrap;gap:var(--bcyy2-s2)}
.bcyy2-router__tab{padding:var(--bcyy2-s2) var(--bcyy2-s4);border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-pill);font-size:.9rem;color:var(--bcyy2-muted);transition:all var(--bcyy2-t-fast)}
.bcyy2-router__tab[aria-selected="true"]{background:var(--bcyy2-signal);color:var(--bcyy2-ink);border-color:var(--bcyy2-signal);font-weight:600}
.bcyy2-router__panel{padding:var(--bcyy2-s6);display:none}
.bcyy2-router__panel.is-active{display:block;animation:bcyy2-fade var(--bcyy2-t-mid)}
.bcyy2-router__panel h3{margin-bottom:var(--bcyy2-s3)}
.bcyy2-router__panel p{color:var(--bcyy2-muted);margin-bottom:var(--bcyy2-s4)}
.bcyy2-router__map{font-family:var(--bcyy2-font-mono);font-size:.82rem;color:var(--bcyy2-muted);background:var(--bcyy2-ink);border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-md);padding:var(--bcyy2-s4);margin-bottom:var(--bcyy2-s5);white-space:pre-wrap;line-height:1.7}
.bcyy2-router__map .sig{color:var(--bcyy2-signal)}
.bcyy2-router__map .warn{color:var(--bcyy2-alert)}

/* posture map (unique UI component) */
.bcyy2-posture{display:grid;grid-template-columns:1fr;gap:var(--bcyy2-s3);margin-top:var(--bcyy2-s6)}
.bcyy2-posture__row{display:grid;grid-template-columns:1fr;gap:var(--bcyy2-s3);border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-md);padding:var(--bcyy2-s5);background:var(--bcyy2-surface);transition:border-color var(--bcyy2-t-fast),transform var(--bcyy2-t-fast)}
.bcyy2-posture__row:hover{border-color:var(--bcyy2-signal);transform:translateY(-2px)}
.bcyy2-posture__phase{font-family:var(--bcyy2-font-mono);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bcyy2-signal)}
.bcyy2-posture__title{font-family:var(--bcyy2-font-head);font-weight:600;font-size:1.1rem;color:#fff;margin-top:var(--bcyy2-s1)}
.bcyy2-posture__desc{color:var(--bcyy2-muted);font-size:.96rem;margin-top:var(--bcyy2-s2)}

/* detection readout strip */
.bcyy2-readout{font-family:var(--bcyy2-font-mono);font-size:.84rem;background:var(--bcyy2-ink);border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-md);padding:var(--bcyy2-s5);color:var(--bcyy2-muted);line-height:1.9}
.bcyy2-readout .ln{display:block}
.bcyy2-readout .tag{color:var(--bcyy2-signal)}
.bcyy2-readout .warn{color:var(--bcyy2-alert)}

/* tabs (services switcher) */
.bcyy2-tabs__list{display:flex;flex-wrap:wrap;gap:var(--bcyy2-s2);border-bottom:1px solid var(--bcyy2-line);margin-bottom:var(--bcyy2-s5)}
.bcyy2-tabs__btn{padding:var(--bcyy2-s3) var(--bcyy2-s4);font-family:var(--bcyy2-font-head);font-weight:600;color:var(--bcyy2-muted);border-bottom:2px solid transparent;margin-bottom:-1px}
.bcyy2-tabs__btn[aria-selected="true"]{color:#fff;border-bottom-color:var(--bcyy2-signal)}
.bcyy2-tabs__panel{display:none}
.bcyy2-tabs__panel.is-active{display:block;animation:bcyy2-fade var(--bcyy2-t-mid)}

/* accordion (faq / objections) */
.bcyy2-acc__item{border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-md);background:var(--bcyy2-surface);margin-bottom:var(--bcyy2-s3);overflow:hidden}
.bcyy2-acc__btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--bcyy2-s4);padding:var(--bcyy2-s5);text-align:left;font-family:var(--bcyy2-font-head);font-weight:600;font-size:1.04rem;color:#fff}
.bcyy2-acc__icon{flex-shrink:0;width:22px;height:22px;transition:transform var(--bcyy2-t-mid)}
.bcyy2-acc__btn[aria-expanded="true"] .bcyy2-acc__icon{transform:rotate(45deg)}
.bcyy2-acc__panel{max-height:0;overflow:hidden;transition:max-height var(--bcyy2-t-slow)}
.bcyy2-acc__inner{padding:0 var(--bcyy2-s5) var(--bcyy2-s5);color:var(--bcyy2-muted)}

/* page hero / breadcrumb wrap */
.bcyy2-pagehead{padding-top:var(--bcyy2-s7);padding-bottom:var(--bcyy2-s6);border-bottom:1px solid var(--bcyy2-line)}
.bcyy2-pagehead h1{margin-top:var(--bcyy2-s3);max-width:20ch}
.bcyy2-pagehead p{margin-top:var(--bcyy2-s4)}

/* breadcrumb */
.bcyy2-crumb{padding-top:var(--bcyy2-s5)}
.bcyy2-crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--bcyy2-s2);font-family:var(--bcyy2-font-mono);font-size:.8rem;color:var(--bcyy2-muted)}
.bcyy2-crumb a:hover{color:var(--bcyy2-signal)}
.bcyy2-crumb__sep{color:var(--bcyy2-line)}
.bcyy2-crumb [aria-current="page"]{color:var(--bcyy2-text)}

/* two-col content */
.bcyy2-split{display:grid;grid-template-columns:1fr;gap:var(--bcyy2-s7)}
.bcyy2-aside{border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-lg);padding:var(--bcyy2-s6);background:var(--bcyy2-surface);align-self:start}
.bcyy2-aside h3{margin-bottom:var(--bcyy2-s4)}
.bcyy2-aside dl{display:grid;gap:var(--bcyy2-s3)}
.bcyy2-aside dt{font-family:var(--bcyy2-font-mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--bcyy2-signal)}
.bcyy2-aside dd{color:var(--bcyy2-muted);margin-top:2px}

/* cta band */
.bcyy2-band{border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-lg);padding:var(--bcyy2-s8) var(--bcyy2-s6);text-align:center;background:linear-gradient(180deg,rgba(43,167,255,.08),rgba(18,22,31,.4))}
.bcyy2-band h2{max-width:22ch;margin-inline:auto}
.bcyy2-band p{margin:var(--bcyy2-s4) auto var(--bcyy2-s6);color:var(--bcyy2-muted)}

/* article / field note */
.bcyy2-article{max-width:var(--bcyy2-measure)}
.bcyy2-article__meta{font-family:var(--bcyy2-font-mono);font-size:.8rem;color:var(--bcyy2-muted);display:flex;flex-wrap:wrap;gap:var(--bcyy2-s4);margin-top:var(--bcyy2-s4)}
.bcyy2-note-schema{display:grid;gap:var(--bcyy2-s5);margin-block:var(--bcyy2-s6)}
.bcyy2-note-schema section{border-left:2px solid var(--bcyy2-signal);padding-left:var(--bcyy2-s5)}
.bcyy2-note-schema h3{font-family:var(--bcyy2-font-mono);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bcyy2-signal);margin-bottom:var(--bcyy2-s2)}
.bcyy2-postnav{display:flex;justify-content:space-between;gap:var(--bcyy2-s4);margin-top:var(--bcyy2-s7);padding-top:var(--bcyy2-s5);border-top:1px solid var(--bcyy2-line);font-family:var(--bcyy2-font-head)}
.bcyy2-postnav a{color:var(--bcyy2-muted);transition:color var(--bcyy2-t-fast)}
.bcyy2-postnav a:hover{color:var(--bcyy2-signal)}
.bcyy2-toc{border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-md);padding:var(--bcyy2-s5);background:var(--bcyy2-surface);margin-bottom:var(--bcyy2-s6)}
.bcyy2-toc strong{font-family:var(--bcyy2-font-mono);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bcyy2-signal);display:block;margin-bottom:var(--bcyy2-s3)}
.bcyy2-toc a{color:var(--bcyy2-muted);font-size:.92rem}
.bcyy2-toc a:hover{color:var(--bcyy2-signal)}
.bcyy2-toc li{margin-bottom:var(--bcyy2-s2)}

/* hero image (article pages) */
.bcyy2-figure{margin-block:var(--bcyy2-s6);border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-lg);overflow:hidden;background:var(--bcyy2-surface)}
.bcyy2-figure img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

/* quiz */
.bcyy2-quiz{border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-lg);background:var(--bcyy2-surface);padding:var(--bcyy2-s6);margin-top:var(--bcyy2-s6)}
.bcyy2-quiz__progress{height:6px;background:var(--bcyy2-line);border-radius:var(--bcyy2-r-pill);overflow:hidden;margin-bottom:var(--bcyy2-s5)}
.bcyy2-quiz__bar{height:100%;width:0;background:var(--bcyy2-signal);transition:width var(--bcyy2-t-mid)}
.bcyy2-quiz__step{display:none}
.bcyy2-quiz__step.is-active{display:block;animation:bcyy2-fade var(--bcyy2-t-mid)}
.bcyy2-quiz__q{font-family:var(--bcyy2-font-head);font-size:1.3rem;color:#fff;margin-bottom:var(--bcyy2-s5)}
.bcyy2-quiz__opts{display:grid;gap:var(--bcyy2-s3)}
.bcyy2-quiz__opt{display:flex;gap:var(--bcyy2-s3);align-items:flex-start;padding:var(--bcyy2-s4);border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-md);cursor:pointer;transition:border-color var(--bcyy2-t-fast),background var(--bcyy2-t-fast)}
.bcyy2-quiz__opt:hover{border-color:var(--bcyy2-signal)}
.bcyy2-quiz__opt input{margin-top:5px;accent-color:var(--bcyy2-signal)}
.bcyy2-quiz__nav{display:flex;justify-content:space-between;margin-top:var(--bcyy2-s6);gap:var(--bcyy2-s4)}
.bcyy2-quiz__result{display:none}
.bcyy2-quiz__score{font-family:var(--bcyy2-font-head);font-size:clamp(2.4rem,8vw,4rem);color:var(--bcyy2-signal);line-height:1}
.bcyy2-quiz__tier{font-family:var(--bcyy2-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bcyy2-muted);margin-top:var(--bcyy2-s2)}

/* cookie */
.bcyy2-cookie{position:fixed;left:var(--bcyy2-s4);right:var(--bcyy2-s4);bottom:var(--bcyy2-s4);z-index:var(--bcyy2-z-cookie);background:var(--bcyy2-surface-2);border:1px solid var(--bcyy2-line);border-radius:var(--bcyy2-r-lg);box-shadow:var(--bcyy2-shadow-lg);padding:var(--bcyy2-s5);transform:translateY(160%);transition:transform var(--bcyy2-t-slow);max-width:560px;margin-inline:auto}
.bcyy2-cookie.is-visible{transform:translateY(0)}
.bcyy2-cookie p{font-size:.92rem;color:var(--bcyy2-muted);max-width:none}
.bcyy2-cookie a{color:var(--bcyy2-signal);text-decoration:underline;text-underline-offset:2px}
.bcyy2-cookie__actions{display:flex;gap:var(--bcyy2-s3);margin-top:var(--bcyy2-s4);flex-wrap:wrap}

/* back to top */
.bcyy2-top{position:fixed;right:var(--bcyy2-s5);bottom:var(--bcyy2-s5);z-index:var(--bcyy2-z-top);width:46px;height:46px;border-radius:50%;background:var(--bcyy2-surface-2);border:1px solid var(--bcyy2-line);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity var(--bcyy2-t-mid),transform var(--bcyy2-t-mid),border-color var(--bcyy2-t-fast)}
.bcyy2-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.bcyy2-top:hover{border-color:var(--bcyy2-signal)}
.bcyy2-top svg{width:20px;height:20px;color:var(--bcyy2-signal)}

/* reading progress */
.bcyy2-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--bcyy2-signal);z-index:var(--bcyy2-z-top)}

/* animations */
@keyframes bcyy2-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.bcyy2-reveal{opacity:0;transform:translateY(20px);transition:opacity var(--bcyy2-t-slow),transform var(--bcyy2-t-slow)}
.bcyy2-reveal.is-in{opacity:1;transform:none}

/* responsive */
@media(min-width:640px){
  .bcyy2-cols-2{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:900px){
  :root{--bcyy2-header-h:72px}
  .bcyy2-posture__row{grid-template-columns:170px 1fr;align-items:center}
  .bcyy2-split{grid-template-columns:1.6fr 1fr}
  .bcyy2-split--reverse{grid-template-columns:1fr 1.6fr}
  .bcyy2-cols-3{grid-template-columns:repeat(3,1fr)}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .bcyy2-reveal{opacity:1;transform:none}
}
