/* Buildner Academia · Brand & UI manual v2.0. Loaded after page styles.
   Screen-only refinements preserve the tools' dedicated print/export layouts. */
:root {
  --contrast:#254DFF; --accent:var(--contrast); --deep:#182BBF; --tint:#EEF1FF;
  --ink:#111111; --grey60:#595959; --hair:#DEDEDE; --muted:#DDDDDD;
  --boundary:#767676; --warn:#FFF4EE; --error:#934322;
  --page-gutter:48px; --section-space:96px; --section-gap:64px;
}
.skip-link { position:absolute; top:12px; left:20px; z-index:1000; padding:16px 24px; background:#000; color:#fff; transform:translateY(-200%); }
.skip-link:focus { transform:none; }
@media screen {
  body { color:var(--ink); }
  .wrap { width:calc(100% - var(--page-gutter)*2); max-width:1280px; padding-inline:0; margin-inline:auto; }
  :where(main,section,article,aside,div) { min-width:0; }
  .h1,.h2,.fact .h1,.facts .h1,.fact .num,.facts .num { letter-spacing:normal; }
  .h1 { font-size:56px; line-height:64px; }
  .h2 { font-size:40px; line-height:48px; }
  .lead { font-size:20px; line-height:28px; }
  .label { font-size:13px; line-height:20px; }
  .small { font-size:14px; line-height:21px; }
  .top { background:#fff; }
  .top-in { min-height:104px; padding-block:24px; gap:32px; align-items:center; }
  .lockup { gap:24px; min-height:44px; flex-shrink:0; }
  .lockup .wordmark { width:187px; height:auto; }
  .lockup-rule { height:32px; background:#E3E3E3; }
  .lockup-tools { font-size:14px; line-height:21px; font-weight:400; letter-spacing:normal; text-transform:none; color:#000; }
  .lockup-sub { display:none; }
  .nav { align-items:center; gap:24px; }
  .nav-link { min-height:44px; margin:0; border:0; white-space:normal; }
  .nav-link.is-active { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:8px; }
  .menu-toggle { display:none; background:transparent; border:1px solid var(--boundary); padding:11px 12px; min-height:48px; cursor:pointer; align-items:center; gap:8px; border-radius:2px; }
  .btn,.hub .btn { height:auto; min-height:56px; padding:15px 24px; display:inline-flex; align-items:center; justify-content:center; gap:16px; line-height:24px; white-space:normal; text-align:center; max-width:100%; }
  .btn.primary { background:var(--contrast); border:1px solid var(--contrast); color:white; }
  .btn.secondary { border:1px solid var(--boundary); background:white; color:var(--ink); }
  .btn.corporate { background:#000; color:white; border:1px solid #000; padding-inline:20px; }
  .btn:disabled { background:#E3E3E3; color:#595959; border-color:#E3E3E3; cursor:not-allowed; }
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible,[contenteditable]:focus-visible { outline:3px solid var(--contrast); outline-offset:4px; }
  .btn.primary:focus-visible { outline:3px solid #111; box-shadow:0 0 0 2px #fff; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea {
    min-height:56px; height:auto; font-size:16px; line-height:24px; padding:15px 16px;
    border:1px solid var(--boundary); border-radius:2px; background-color:#fff; max-width:100%;
  }
  select,select.field,.field select { padding-right:44px; text-overflow:clip; }
  textarea.field { height:auto; min-height:120px; }
  input[type="checkbox"],input[type="radio"] { accent-color:var(--deep); }
  label.small,label.label,.grp > label,.field > label { font-weight:500; display:block; margin-bottom:12px; }
  .actions,.hub .cta-row { gap:16px; }
  .seg,.chips,.windows { gap:12px; }
  .seg button,.chip,button[role="radio"],button.colhead { min-height:44px; height:auto; font-size:16px; line-height:24px; white-space:normal; }
  .seg button,.chip { padding:9px 16px; }
  .seg button[aria-pressed="true"],.seg button[aria-checked="true"],.chip[aria-pressed="true"],.win[aria-checked="true"] { background:var(--deep); color:white; border-color:var(--deep); }
  .tert,.text-link { min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; text-underline-offset:4px; white-space:normal; }
  .text-link { color:var(--contrast); font-weight:500; }
  .intro,.crumbs ~ main .intro { padding-block:64px; align-items:start; gap:48px 32px; }
  .intro .h1 { margin-top:24px; }
  .intro .lead { padding-top:32px; max-width:60ch; }
  .intro .facts { padding-top:24px; }
  .facts { gap:24px; }
  .section,.sec { padding-block:var(--section-space); }
  .section-head { margin-bottom:var(--section-gap); }
  .tile { padding:32px; gap:24px; height:auto; min-height:0; }
  .tile .name { font-family:var(--display); font-weight:600; font-size:32px; line-height:40px; }
  .tile .foot,.tile .open { padding-top:0; }
  section.note { padding-block:var(--section-space); margin-top:0; gap:32px; }
  .notice { background:var(--warn); border-left:3px solid var(--error); padding:32px; gap:24px; }
  .notice .label { color:var(--error); }
  .notice-line { background:var(--warn); color:var(--error); padding:24px; }
  .gate-main { padding-block:64px 96px; }
  .checks { gap:16px; }
  .check { min-height:44px; }
  .status.error,[aria-invalid="true"] { color:var(--error); }
  .toast { background:var(--deep); color:#fff; font-size:16px; line-height:24px; padding:16px 24px; max-width:calc(100vw - 40px); }
  .toast:empty { display:none; }
  .table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
  .table-scroll table { min-width:650px; }
  .table-scroll th,.table-scroll td { padding:20px 24px; font-size:16px; line-height:24px; }
  .table-scroll thead th { background:var(--tint); }
  .table-scroll th[scope="row"] { position:sticky; left:0; background:#fff; }
  .site-foot .wrap { padding-block:96px 40px; gap:64px; }
  .site-foot .lockup .wordmark { width:187px; }
  .site-foot .lockup-tools { color:#fff; }
  .site-foot .fhead { gap:40px; }
  .fintro,.fcol .label,.legal,.legal a { color:#DDD; }
  .fcols { padding-top:32px; border-color:#666; gap:32px; }
  .fcol ul { gap:0; }
  .fcol a,.legal a { min-height:44px; display:inline-flex; align-items:center; }
  .legal { border-color:#666; padding-top:32px; gap:24px; }
  .legal-links { gap:24px; flex-wrap:wrap; }
  .site-foot a:focus-visible { outline-color:white; }
  .site-foot .positioning { max-width:52ch; line-height:21px; }
  .inputs { padding:32px; background:var(--tint); margin-bottom:48px; }
  .inputs > .field { background:transparent; }
  .ctrls,.step,.control-group,.field-group { row-gap:24px; }
  .stepper { flex-wrap:wrap; }
  .stepper button { min-width:44px; min-height:44px; height:auto; }
  .stepper input { flex:0 1 auto; max-width:140px; }
  .controls { padding-right:24px; }
  .result { padding:32px; background:var(--tint); border-top:3px solid var(--deep); }
  .result .actions { gap:16px; }
  .win[aria-checked="true"] .grey { color:#fff; opacity:1; }
  .compare,.how { padding-block:var(--section-space); gap:var(--section-gap); }
  .tool { padding-bottom:var(--section-space); }
  .table-scroll:focus-visible { outline-offset:0; }
}
@media screen and (hover:hover) {
  .btn.primary:hover:not(:disabled) { background:#163BDF; border-color:#163BDF; }
  .btn.primary:active:not(:disabled) { background:var(--deep); }
  .btn.secondary:hover { background:var(--tint); }
  .btn.corporate:hover { background:#333; }
  .tile:hover { background:var(--tint); }
  .nav-link:hover { text-decoration:underline; text-underline-offset:8px; }
}
@media screen and (max-width:1200px) {
  :root { --page-gutter:36px; --section-space:80px; --section-gap:48px; }
  .top-in { min-height:88px; padding-block:20px; gap:20px; flex-wrap:wrap; }
  .menu-ready .menu-toggle { display:inline-flex; margin-left:auto; }
  .nav { width:100%; flex-direction:column; align-items:stretch; gap:0; border-top:1px solid var(--hair); }
  .menu-ready:not(.menu-open) .nav { display:none; }
  .nav-link { padding:16px 0; border-bottom:1px solid var(--hair); }
  .nav .corporate { margin-top:16px; }
  .fhead > :first-child,.fhead > .fintro { grid-column:1 / -1; }
}
@media screen and (max-width:1100px) {
  .intro > :first-child,.intro > .intro-text { grid-column:1 / -1; }
  .intro > .facts,.intro .facts { grid-column:1 / -1; max-width:560px; }
  .controls { padding-right:0; }
}
@media screen and (max-width:760px) {
  :root { --page-gutter:20px; --section-space:64px; --section-gap:40px; }
  .top-in { gap:16px; }
  .top-in .lockup { padding:0; gap:12px; }
  .lockup .wordmark { width:140px; }
  .lockup-tools { font-size:13px; }
  .lockup-rule { height:28px; }
  .h1 { font-size:40px; line-height:48px; }
  .h2 { font-size:32px; line-height:40px; }
  .lead { font-size:18px; line-height:26px; }
  .intro,.crumbs ~ main .intro { padding-block:40px 64px; gap:32px; }
  .intro .lead { padding-top:24px; }
  .facts .h1,.fact .h1,.fact .num,.facts .num { font-size:40px; line-height:48px; }
  .tile { grid-column:1/-1; padding:24px; }
  .tile .name { font-size:24px; line-height:32px; }
  .span-3,.span3,.span-4,.span-6,.span6,.c-8,.col-8,.col8,.c1-9,.span8,.c-4,.col-4,.col4,.c9-13,.span4 { grid-column:1/-1; }
  .controls,.result { grid-column:1/-1; position:static; }
  .inputs,.notice,.result { padding:24px; }
  .inputs .ctrls,.inputs .dates,.two,.field-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
  .inputs .grp { width:100%; }
  .inputs .field-input,.inputs select { width:100%; min-width:0; }
  .actions { flex-wrap:wrap; }
  .site-foot .wrap { padding-block:64px 32px; gap:40px; }
  .site-foot .fhead { gap:32px; }
  .fcol { grid-column:span 6; }
  .legal { padding-top:24px; display:flex; flex-direction:column; gap:24px; }
  .legal-links { gap:16px 24px; }
  .gate-main { padding-block:64px; }
  .stepper .unit { flex-basis:100%; }
}
@media screen and (max-width:360px) {
  .top .lockup-text,.top .lockup-rule { display:none; }
  .top .lockup .wordmark { width:147px; }
  .h1 { font-size:36px; line-height:42px; }
  .fcol { grid-column:1/-1; }
  .facts { gap:16px; }
  .stepper input { max-width:96px; }
}
@media print { .skip-link,.menu-toggle { display:none !important; } }
@media screen {
  .hub .hero-grid { align-items:start; }
  main [style*="font-family"] { font-family:var(--display) !important; font-weight:600 !important; }
  .error { color:var(--error); }
}
@media screen {
  .how.cols,.how.grid12 { column-gap:var(--gutter); }
  .cr-form .stepper input { max-width:none; width:100%; }
  .cr-form .stepper button { height:56px; }
  .cr-stack,.cr-head { gap:24px; }
  .fg { gap:12px; }
  .fg > label { margin-bottom:0; }
  .sh-body-cols .table-scroll table { min-width:0; }
  .sh-body-cols .table-scroll td,.sh-body-cols .table-scroll th { padding:8px; }
}
@media screen and (max-width:760px) {
  :root { --gutter:16px; }
  .intro,.grid12,.cols,.section-head,section.note,.fcols,.fhead,.how.cols,.how.grid12 { column-gap:16px; }
  .hub .grid12 { grid-template-columns:1fr; }
  .hub .head,.hub .is-blue .head,.hub .is-blue .cta-row { grid-column:1/-1; }
  .cr-form { grid-template-columns:1fr; }
  .cr-step::before { right:0; }
  .sheet,.sheet.is-flow { width:100%; height:auto; }
  .sheet .sheet-in { position:static; overflow:visible; padding:24px; }
  .sheet .sh-body-cols { columns:1; zoom:1 !important; }
  .sheet .facts-row { grid-template-columns:1fr 1fr; gap:24px; }
  .sheet .sh-body,.sheet .tb td { font-size:16px; line-height:24px; }
  .sheet .sh-support,.sheet .sh-label,.sheet .tb th { font-size:14px; line-height:21px; }
  .sheet .sh-num { white-space:normal; }
  .sheet .sh-eyebrow { flex-direction:column; gap:12px; }
  .sheet .sh-foot { grid-template-columns:1fr; margin-top:24px; }
  .sheet .blk { padding-block:24px; }
  .sheet .blk > .sh-label { margin-bottom:12px; }
  .sheet .list li + li { margin-top:12px; }
  .sheet .tl li { grid-template-columns:1fr; gap:8px; }
  .sheet-scale { transform:none !important; height:auto !important; }
}
@media screen {
 .sheet-scale { width:100%; }
 .sheet.is-flow .sheet-in { padding:32px; }
 .sheet.is-flow .sh-body-cols { columns:1; }
 .sheet.is-flow .sh-label { font-size:13px; line-height:20px; }
 .sheet.is-flow .blk { padding-block:24px; }
 .sheet.is-flow .blk > .sh-label { margin-bottom:12px; }
 .sheet.is-flow .sh-body,.sheet.is-flow .tb td { font-size:16px; line-height:24px; }
 .sheet.is-flow .sh-foot { margin-top:32px; }
}
@media screen and (max-width:760px) { .sheet.is-flow .sheet-in { padding:24px; } }
@media print { .table-scroll { display:contents; } }
@media screen and (max-width:760px) {
  .crumbs ~ main .intro,.site-foot .fhead { column-gap:16px; }
}
@media screen {
 .card { min-width:0; padding:32px; gap:24px; }
 .card .cnames { white-space:normal; flex-wrap:wrap; }
 .seg { flex-wrap:wrap; overflow:visible; }
 .seg button { min-width:44px; }
 .sheet .sec { padding-block:32px; }
 .sheet .sec-head { margin-bottom:24px; }
 .cmp .val { white-space:normal; overflow-wrap:anywhere; }
 .card .cname { font-family:var(--display); font-weight:600; font-size:32px; line-height:40px; }
}
@media screen and (max-width:760px) {
 .cards { grid-template-columns:minmax(0,1fr); }
 .card { padding:24px; }
 .card .cname { font-size:24px; line-height:32px; }
 .cmp { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .oc .rw { margin-right:0; }
}
@media screen {
 .preview-note { padding-block:16px; color:var(--grey60); }
 .step.grid12,.step#step1 { padding-block:var(--section-space); }
 .step.grid12 .controls { margin-top:var(--section-gap); }
 .card[aria-checked="true"],.tile[aria-pressed="true"],.bm-tile[aria-checked="true"] { box-shadow:inset 0 0 0 2px var(--deep); background:var(--tint); }
 .bm-tile[aria-checked="true"] .name,.card[aria-checked="true"] .cname { color:var(--deep); }
 .field > .cap { margin-bottom:12px; }
 .work .field + .field,.ctrl > .field + .field { margin-top:24px; }
 .bm-actions { gap:16px; }
 .work .output .sheet { margin-inline:0; }
}

@media screen {
 .intro .facts { display:flex; flex-wrap:wrap; }
 .intro .fact { flex:1 1 110px; min-width:min-content; }
 .phase .row { flex-wrap:wrap; gap:16px; }
 .phase .row > :first-child,.week .ph,.site-foot .fintro { overflow-wrap:anywhere; }
}

@media print { .skip-link,.menu-toggle,.preview-note { display:none !important; } }
