/* Full Board Co — design tokens, ported verbatim from the design system's tokens/. */
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Reddit+Mono:wght@400;500;600;700&family=Source+Sans+3:ital,wght@0,400;0,600;1,400&display=swap");

:root{
  /* surfaces (paper) */
  --fbc-ground:#F4F3F0; --fbc-surface:#FCFBF9; --fbc-board:#EBE9E4; --fbc-slot:#FCFBF9;
  --fbc-rule:#D8D5CE; --fbc-grid:#E3E0D9;
  /* ink */
  --fbc-ink:#1B1B19; --fbc-ink-2:#4E4C46; --fbc-ink-3:#6B685F;
  /* marker green: primary action + booked state only */
  --fbc-marker:#1C7A4E; --fbc-marker-on-ink:#58B98A; --fbc-marker-press:#145C3A;
  --fbc-marker-soft:rgba(28,122,78,.10);
  /* gap orange: open slot / missed work only */
  --fbc-gap:#9E3F22; --fbc-gap-on-ink:#E08165; --fbc-gap-soft:rgba(158,63,34,.09);

  --page-bg:var(--fbc-ground); --surface-card:var(--fbc-surface);
  --surface-board:var(--fbc-board); --surface-slot:var(--fbc-slot);
  --border-hairline:var(--fbc-rule); --border-grid:var(--fbc-grid); --border-heavy:var(--fbc-ink);
  --text-body:var(--fbc-ink); --text-secondary:var(--fbc-ink-2); --text-meta:var(--fbc-ink-3);
  --text-on-action:var(--fbc-surface);
  --action-bg:var(--fbc-marker); --action-bg-press:var(--fbc-marker-press);
  --state-booked:var(--fbc-marker); --state-booked-wash:var(--fbc-marker-soft);
  --state-open:var(--fbc-gap); --state-open-wash:var(--fbc-gap-soft);
  --focus-ring:var(--fbc-marker); --link:var(--fbc-ink);

  --font-display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --font-body:"Source Sans 3",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"Reddit Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --step--2:0.75rem; --step--1:0.875rem; --step-0:1.0625rem; --step-1:1.25rem;
  --step-2:clamp(1.5rem,1.15rem + 1.3vw,2.125rem);
  --step-3:clamp(2.25rem,1.5rem + 3vw,3.75rem);
  --step-4:clamp(3.25rem,1.6rem + 6.6vw,7rem);
  --step-5:clamp(4rem,1.5rem + 9vw,9rem);
  --leading-display:1.02; --leading-body:1.6;
  --tracking-display:-0.005em; --tracking-label:0.1em; --tracking-eyebrow:0.16em;
  --measure:63ch; --measure-tight:46ch;

  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.5rem; --space-6:2rem; --space-7:3rem; --space-8:4.5rem;
  --pad:clamp(1.25rem,4vw,3.5rem); --section-y:clamp(3rem,7vw,5.5rem);
  --card-pad:clamp(1.3rem,3vw,2rem); --container:1180px;
  --radius:0px; --radius-focus:2px;
  --hairline:1px; --edge-heavy:2px; --edge-status:3px; --edge-ticket:4px;
  --tap-min:44px;

  --shadow-board:0 1px 0 rgba(22,32,43,.05),0 12px 32px -20px rgba(22,32,43,.35);
  --dur-ui:150ms; --dur-snap:450ms; --ease-ui:ease; --ease-snap:cubic-bezier(.2,.9,.3,1.2);
  --header-h:4.5rem; --sticky-top:calc(var(--header-h) + var(--space-4));
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--page-bg);color:var(--text-body);font-family:var(--font-body);
  font-size:var(--step-0);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:var(--leading-display);
  letter-spacing:var(--tracking-display);text-wrap:balance;margin:0}
p{margin:0}
a{color:var(--link);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-focus)}
img{max-width:100%}
.fbc-mono{font-family:var(--font-mono)}
.fbc-figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.fbc-wrap{width:min(100% - (var(--pad) * 2),var(--container));margin-inline:auto}
.fbc-accent{color:var(--action-bg)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---- eyebrow / section head ---- */
.fbc-eyebrow{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase;color:var(--text-meta);line-height:1.5;display:block}
.fbc-section{border-top:var(--hairline) solid var(--border-hairline)}
.fbc-section > .fbc-wrap{display:grid;gap:var(--space-5);justify-items:center;padding-block:var(--section-y)}
.fbc-section .fbc-body{min-width:0;width:100%}
.fbc-head{display:grid;gap:var(--space-4);margin-bottom:clamp(1.75rem,3.5vw,2.75rem);justify-items:center;text-align:center}
.fbc-head h2{font-size:var(--step-3);max-width:24ch}
.fbc-head.wide h2{max-width:30ch}
.fbc-head p{font-size:var(--step-1);color:var(--text-secondary);max-width:var(--measure-tight);line-height:1.5}

/* ---- buttons ---- */
.fbc-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  min-height:var(--tap-min);font-family:var(--font-display);font-weight:600;font-size:1.15rem;
  letter-spacing:.04em;text-transform:uppercase;text-decoration:none;text-align:center;
  padding:.7rem 1.5rem;border-radius:var(--radius);cursor:pointer;
  transition:background var(--dur-ui) var(--ease-ui),color var(--dur-ui) var(--ease-ui),border-color var(--dur-ui) var(--ease-ui)}
.fbc-btn--primary{background:var(--action-bg);color:var(--text-on-action);border:var(--edge-heavy) solid var(--action-bg)}
.fbc-btn--primary:hover{box-shadow:inset 0 0 0 2px var(--surface-card)}
.fbc-btn--primary:active{background:var(--action-bg-press);border-color:var(--action-bg-press);box-shadow:none}
.fbc-btn--outline{background:transparent;color:var(--text-body);border:var(--edge-heavy) solid var(--text-body)}
.fbc-btn--outline:hover{background:var(--text-body);color:var(--surface-card)}
.fbc-btn--block{display:flex;width:100%}
.fbc-btn:disabled{cursor:not-allowed}
.fbc-phone{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-0);
  font-weight:600;color:var(--text-body);text-decoration:none;min-height:var(--tap-min);
  display:inline-flex;align-items:center;white-space:nowrap}

/* ---- header ---- */
.fbc-header{background:var(--surface-card);border-bottom:var(--hairline) solid var(--border-hairline);
  position:sticky;top:0;z-index:30;min-height:var(--header-h)}
.fbc-header .fbc-wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3)}
.fbc-mark{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text-body);min-height:var(--tap-min)}
.fbc-mark-glyph{width:26px;height:26px;flex:none;border:2px solid var(--text-body);
  display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.fbc-mark-glyph i{border-right:1px solid var(--text-body);border-bottom:1px solid var(--text-body);background:var(--text-body)}
.fbc-mark-glyph i:nth-child(2){border-right:0}
.fbc-mark-glyph i:nth-child(3){border-bottom:0}
.fbc-mark-glyph i:nth-child(4){background:transparent;border-right:0;border-bottom:0}
.fbc-mark-name{font-family:var(--font-display);font-weight:700;font-size:1.4rem;letter-spacing:.01em;
  text-transform:uppercase;line-height:1}
.fbc-nav{display:none;flex-wrap:wrap;align-items:center;gap:var(--space-5);margin-inline-end:auto;margin-inline-start:var(--space-6)}
.fbc-nav a{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-label);
  text-transform:uppercase;color:var(--text-body);text-decoration:none;min-height:var(--tap-min);display:inline-flex;align-items:center}
.fbc-nav a:hover{text-decoration:underline}
.fbc-header-actions{display:none;align-items:center;gap:var(--space-4)}
.fbc-menu-btn{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:var(--tap-min);
  height:var(--tap-min);background:none;border:0;cursor:pointer;padding:0}
.fbc-menu-btn span{display:block;height:2px;background:var(--text-body)}
.fbc-menu-panel{display:none;border-top:var(--hairline) solid var(--border-hairline);background:var(--surface-card)}
.fbc-menu-panel[data-open="true"]{display:block}
.fbc-menu-panel .fbc-wrap{flex-direction:column;align-items:stretch;gap:var(--space-3);padding-block:var(--space-4)}
@media (min-width:760px){
  .fbc-nav{display:flex}
  .fbc-header-actions{display:flex}
  .fbc-menu-btn{display:none}
  .fbc-menu-panel{display:none !important}
}

/* ---- hero ---- */
.fbc-hero .fbc-wrap{display:grid;grid-template-columns:var(--hero-cols,minmax(0,1fr));align-items:center;
  gap:clamp(2rem,5vw,4rem);padding-block:clamp(2.5rem,6vw,5rem) var(--space-7)}
.fbc-hero h1{font-size:var(--hero-h1,var(--step-5));max-width:22ch;line-height:.98}
.fbc-hero-lede{font-size:var(--step-1);color:var(--text-secondary);max-width:42ch;line-height:1.5;margin-top:var(--space-6)}
.fbc-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:var(--space-6);align-items:center}
.fbc-hero .fbc-actions .fbc-btn{font-size:1.05rem;padding:.7rem 1.2rem}

/* ---- dispatch board ---- */
.fbc-board{background:var(--surface-board);border:var(--hairline) solid var(--border-hairline);
  padding:clamp(.75rem,2vw,1.15rem);box-shadow:var(--shadow-board);border-radius:var(--radius)}
.fbc-board-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);
  padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:var(--hairline) solid var(--border-hairline)}
.fbc-board-title{font-family:var(--font-display);font-weight:600;font-size:1.05rem;
  letter-spacing:var(--tracking-label);text-transform:uppercase}
.fbc-board-status{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step--2);
  letter-spacing:.16em;text-transform:uppercase;color:var(--state-open)}
.fbc-board-status[data-full="true"]{color:var(--fbc-marker-press)}
.fbc-board-grid{display:grid;grid-template-columns:3.75rem repeat(3,minmax(0,1fr));gap:4px}
.fbc-colhead{font-family:var(--font-mono);font-size:var(--step--2);font-weight:500;
  letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-meta);
  display:flex;align-items:center;padding:.35rem .15rem}
.fbc-slot{background:var(--surface-slot);border:var(--hairline) solid var(--border-grid);
  border-left:var(--edge-status) solid var(--state-booked);min-height:3.5rem;padding:.45rem .55rem;
  display:flex;flex-direction:column;justify-content:center;gap:.15rem;border-radius:var(--radius)}
.fbc-slot-job{font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:.03em;
  text-transform:uppercase;line-height:1.1;color:var(--text-body)}
.fbc-slot-tag{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step--2);
  letter-spacing:.05em;color:var(--text-meta)}
.fbc-slot[data-state="open"]{background:var(--state-open-wash);border-style:dashed;border-left-color:var(--state-open)}
.fbc-slot[data-state="open"] .fbc-slot-job,.fbc-slot[data-state="open"] .fbc-slot-tag{color:var(--state-open)}
.fbc-slot[data-just-filled="true"]{background:var(--state-booked-wash);animation:fbc-snap var(--dur-snap) var(--ease-snap)}
.fbc-slot[data-just-filled="true"] .fbc-slot-tag{color:var(--fbc-marker-press)}
.fbc-board-legend{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:.9rem;padding-top:var(--space-3);
  border-top:var(--hairline) solid var(--border-hairline);font-family:var(--font-mono);
  font-size:var(--step--2);letter-spacing:.04em;color:var(--text-meta)}
.fbc-board-legend span{display:inline-flex;align-items:center;gap:.4rem}
.fbc-board-legend i{width:10px;height:10px;display:block;flex:none}
.fbc-key-booked{background:var(--state-booked)}
.fbc-key-open{background:var(--state-open-wash);border:1px dashed var(--state-open)}
@keyframes fbc-snap{0%{transform:translateY(-6px) scale(.97);opacity:.3}100%{transform:none;opacity:1}}

/* ---- trades ---- */
.fbc-trades-tabs{display:grid;gap:1px;grid-template-columns:var(--fbc-industry-cols,repeat(auto-fit,minmax(9.5rem,1fr)))}
.fbc-trade-tab{font-family:var(--font-mono);font-size:var(--step--1);letter-spacing:.04em;text-transform:uppercase;
  display:grid;gap:.5rem;justify-items:center;align-content:center;text-align:center;
  min-height:calc(var(--tap-min) + 2.25rem);padding:.85rem .9rem;background:var(--surface-card);
  color:var(--text-body);border:0;outline:1px solid var(--border-hairline);outline-offset:-1px;border-radius:var(--radius);cursor:pointer}
.fbc-trade-tab[data-wildcard="true"]{outline:2px solid var(--text-body);outline-offset:-2px}
.fbc-trade-tab[aria-selected="true"]{background:var(--text-body);color:var(--surface-card);outline:1px solid var(--text-body);outline-offset:-1px}
.fbc-trade-tab svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5}
.fbc-trade-panel{border:var(--hairline) solid var(--border-hairline);border-left:var(--edge-ticket) solid var(--state-open);
  background:var(--surface-card);padding:var(--card-pad);display:grid;gap:var(--space-3);
  min-height:11rem;align-content:start;margin-top:var(--space-5)}
.fbc-trade-panel .fbc-trade-kicker{font-family:var(--font-mono);font-size:var(--step--2);
  letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--state-open)}
.fbc-trade-panel h3{font-size:var(--step-2)}
.fbc-trade-panel p{color:var(--text-secondary);max-width:var(--measure);line-height:1.6}

/* ---- leaks + call log ---- */
.fbc-leaks{display:grid;grid-template-columns:var(--leaks-two-col,1fr);gap:clamp(1.75rem,3.5vw,3rem);align-items:start}
.fbc-leak-cards{display:grid;gap:.75rem}
.fbc-leak-card{text-align:left;background:var(--surface-card);border:var(--hairline) solid var(--border-hairline);
  padding:clamp(1rem,2vw,1.4rem);display:grid;gap:var(--space-2);cursor:pointer;font:inherit;color:inherit;border-radius:var(--radius)}
.fbc-leak-card[aria-selected="true"]{border:var(--edge-heavy) solid var(--state-open)}
.fbc-leak-kicker{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.16em;
  text-transform:uppercase;color:var(--text-meta)}
.fbc-leak-card[aria-selected="true"] .fbc-leak-kicker{color:var(--state-open)}
.fbc-leak-title{font-family:var(--font-display);font-weight:700;font-size:var(--step-1);letter-spacing:.01em;line-height:1.15}
.fbc-leak-body{font-size:var(--step--1);color:var(--text-secondary);line-height:1.55}
.fbc-leak-foot{display:grid;gap:var(--space-4);padding-top:var(--space-5);
  border-top:var(--hairline) solid var(--border-hairline);justify-items:center;text-align:center;margin-top:var(--space-6)}
.fbc-leak-foot .fbc-actions{justify-content:center;margin-top:0}
.fbc-evidence{display:grid}
.fbc-evidence > div{grid-area:1 / 1}
.fbc-evidence > div[hidden]{visibility:hidden;pointer-events:none;display:block}
.fbc-log{margin:0;border:var(--edge-heavy) solid var(--border-heavy);background:var(--surface-card)}
.fbc-log-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;
  padding:var(--space-4);border-bottom:var(--hairline) solid var(--border-heavy);
  font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}
.fbc-log-missed{color:var(--state-open)}
.fbc-log-row{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:var(--space-2) var(--space-4);
  align-items:baseline;padding:var(--space-3) var(--space-4);border-bottom:var(--hairline) solid var(--border-hairline)}
.fbc-log-row:last-of-type{border-bottom:0}
.fbc-log-row[data-missed="true"]{background:var(--state-open-wash)}
.fbc-log-time{font-size:var(--step--1);font-weight:600;color:var(--text-body)}
.fbc-log-from{font-size:var(--step--1);color:var(--text-body)}
.fbc-log-row[data-missed="true"] .fbc-log-time,.fbc-log-row[data-missed="true"] .fbc-log-from{color:var(--state-open)}
.fbc-log-row[data-missed="true"] .fbc-log-from{text-decoration:line-through;text-decoration-thickness:1px}
.fbc-log-note{grid-column:1 / -1;font-family:var(--font-mono);font-size:var(--step--2);
  letter-spacing:.06em;text-transform:uppercase;color:var(--text-meta)}
.fbc-log-row[data-missed="true"] .fbc-log-note{color:var(--state-open)}
.fbc-log figcaption{padding:var(--space-4);border-top:var(--hairline) solid var(--border-hairline);
  font-family:var(--font-mono);font-size:var(--step--2);line-height:1.7;color:var(--text-meta)}
@media (min-width:30rem){
  .fbc-log-row{grid-template-columns:4.5rem minmax(0,1fr) minmax(0,1.2fr)}
  .fbc-log-note{grid-column:auto}
}

/* ---- step cards ---- */
.fbc-steps{display:grid;gap:1px;grid-template-columns:var(--steps,1fr);background:var(--border-hairline);
  border:var(--hairline) solid var(--border-hairline)}
.fbc-step{background:var(--surface-card);padding:clamp(1.15rem,2.2vw,1.6rem);display:grid;gap:var(--space-3);align-content:start}
.fbc-step-n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-2);
  font-weight:600;line-height:1;color:var(--border-hairline);letter-spacing:-.02em}
.fbc-step h3{font-size:var(--step-1);letter-spacing:.01em}
.fbc-step p{font-size:var(--step--1);color:var(--text-secondary);line-height:1.55}

/* ---- calculator ---- */
.fbc-calc{display:grid;gap:clamp(1.75rem,4vw,3rem);grid-template-columns:var(--fbc-calc-cols,1fr);align-items:start}
.fbc-calc-fields{display:grid;gap:var(--space-5)}
.fbc-field{display:grid;gap:var(--space-2)}
.fbc-field-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}
.fbc-field label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;
  text-transform:uppercase;color:var(--text-meta)}
.fbc-field output{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-1);
  font-weight:600;color:var(--text-body)}
.fbc-field input[type=range]{width:100%;min-height:var(--tap-min);accent-color:var(--text-body);cursor:pointer}
.fbc-field .hint{font-size:var(--step--1);color:var(--text-meta);line-height:1.5}
.fbc-calc-panel{border:var(--edge-heavy) solid var(--state-open);background:var(--state-open-wash);
  padding:var(--card-pad);display:grid;gap:var(--space-5)}
.fbc-calc-panel[data-nothing="true"]{border-color:var(--border-hairline);background:var(--surface-card)}
.fbc-calc-label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.16em;
  text-transform:uppercase;color:var(--text-meta)}
.fbc-range{display:grid;gap:.1em;justify-items:start}
.fbc-range .fbc-fig{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-2);
  font-weight:600;line-height:1.02;letter-spacing:-.01em;color:var(--state-open);white-space:nowrap}
.fbc-range .to{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.16em;
  text-transform:uppercase;color:var(--text-meta)}
.fbc-calc-sub{font-size:var(--step--1);color:var(--text-secondary)}
.fbc-calc-block{display:grid;gap:var(--space-2);padding-top:var(--space-4);border-top:var(--hairline) solid var(--border-hairline)}
.fbc-calc-month{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-1);
  font-weight:600;color:var(--text-body);white-space:nowrap}
.fbc-calc-prov{display:grid;gap:var(--space-3);padding-top:var(--space-4);
  border-top:var(--hairline) solid var(--border-hairline);font-family:var(--font-mono);
  font-size:var(--step--2);line-height:1.6;color:var(--text-meta)}

/* ---- price bridge ---- */
.fbc-bridge{background:var(--surface-card);border-left:var(--edge-heavy) solid var(--action-bg);
  padding:var(--card-pad);display:grid;gap:1.5rem;justify-items:center;text-align:center;margin-top:var(--space-6)}
.fbc-bridge-figs{display:grid;gap:var(--space-5);width:100%;
  grid-template-columns:var(--fbc-bridge-cols,minmax(0,1fr));justify-items:center}
.fbc-bridge-figs > div{display:grid;gap:var(--space-2);justify-items:center}
.fbc-bridge .fig{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-2);
  font-weight:600;line-height:1.02;letter-spacing:-.01em;white-space:nowrap}
.fbc-bridge .lost{color:var(--state-open)}
.fbc-bridge .price{color:var(--action-bg)}
.fbc-bridge .price .unit{font-size:var(--step-0);color:var(--text-meta);letter-spacing:0}
.fbc-bridge-kicker{font-size:var(--step-0);line-height:1.55;color:var(--text-body);max-width:44ch;
  padding-top:var(--space-4);border-top:var(--hairline) solid var(--border-hairline);width:100%}
.fbc-bridge-kicker strong{font-weight:600}

/* ---- fixes ---- */
.fbc-fixes{display:grid;gap:var(--space-4);grid-template-columns:var(--fbc-fixes-cols,minmax(0,1fr))}
.fbc-fix{background:var(--surface-card);border:var(--hairline) solid var(--border-hairline);
  padding:clamp(1.25rem,2.5vw,1.75rem);display:flex;flex-direction:column;gap:var(--space-4);min-width:0}
.fbc-fix-leak{display:flex;align-items:center;gap:.5rem;padding-bottom:var(--space-3);
  border-bottom:var(--hairline) solid var(--border-hairline)}
.fbc-fix-leak i{width:7px;height:7px;border-radius:50%;background:var(--state-open);flex:none}
.fbc-fix-leak span{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;
  text-transform:uppercase;color:var(--state-open);line-height:1.5}
.fbc-fix-main{display:grid;gap:var(--space-3);flex:1}
.fbc-fix h3{font-size:var(--step-2);line-height:1.1}
.fbc-fix p{font-size:var(--step-0);color:var(--text-secondary);line-height:1.5}
.fbc-fix-price{padding-top:var(--space-3);border-top:var(--hairline) solid var(--border-hairline);display:grid;gap:2px}
.fbc-fix-price .amt{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-0);
  font-weight:600;color:var(--text-body)}
.fbc-fix-price .terms{font-family:var(--font-mono);font-size:var(--step--2);color:var(--text-meta);line-height:1.5}
.fbc-divider{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-3)}
.fbc-divider i{flex:1;height:var(--hairline);background:var(--border-hairline)}
.fbc-divider span{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase;color:var(--text-meta)}
.fbc-extra{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4) var(--space-5);
  background:var(--surface-board);border:var(--hairline) solid var(--border-hairline);padding:clamp(1.1rem,2.2vw,1.5rem)}
.fbc-extra--buyable{border:var(--edge-heavy) solid var(--action-bg)}
.fbc-extra--dark{background:var(--text-body);border-color:var(--text-body)}
.fbc-extra-main{flex:1 1 20rem;min-width:0;display:grid;gap:var(--space-2)}
.fbc-extra-when{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;
  text-transform:uppercase;line-height:1.5;color:var(--text-body)}
.fbc-extra--dark .fbc-extra-when{color:var(--surface-board)}
.fbc-extra h3{font-size:var(--step-1);line-height:1.15}
.fbc-extra--dark h3{color:var(--text-on-action)}
.fbc-extra p{font-size:var(--step-0);line-height:1.5;color:var(--text-secondary)}
.fbc-extra--dark p{color:var(--surface-board)}
.fbc-extra-tail{display:grid;gap:var(--space-2);flex:0 0 auto;justify-items:center;text-align:center}
.fbc-extra-tail .amt{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.fbc-extra--buyable .fbc-extra-tail .amt{font-size:var(--step-2)}
.fbc-extra--dark .fbc-extra-tail .amt{color:var(--text-on-action);font-size:var(--step-0)}
.fbc-extra-tail .terms{font-family:var(--font-mono);font-size:var(--step--2);line-height:1.5;color:var(--text-meta)}
.fbc-extra--dark .fbc-extra-tail .terms{color:var(--surface-board)}
.fbc-extra-note{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;
  text-transform:uppercase;color:var(--text-meta);line-height:1.5}
.fbc-fixes-cta{display:grid;justify-items:center;margin-top:var(--space-4)}

/* ---- FAQ ---- */
.fbc-faq{border-top:var(--hairline) solid var(--border-hairline);text-align:left}
.fbc-faq details{border-bottom:var(--hairline) solid var(--border-hairline)}
.fbc-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-4);min-height:var(--tap-min);padding-block:var(--space-4);
  font-family:var(--font-display);font-weight:600;font-size:var(--step-1);letter-spacing:var(--tracking-display)}
.fbc-faq summary::-webkit-details-marker{display:none}
.fbc-faq .state{font-family:var(--font-mono);color:var(--text-meta);font-size:var(--step--2);flex:none}
.fbc-faq details[open] .shut{display:none}
.fbc-faq details:not([open]) .open{display:none}
.fbc-faq .answer{display:grid;gap:var(--space-3);padding-bottom:var(--space-5)}
.fbc-faq details:not([open]) .answer{display:none}
.fbc-faq .answer p{color:var(--text-secondary);line-height:1.65}

/* ---- closing ---- */
.fbc-close{display:grid;grid-template-columns:var(--close,1fr);gap:clamp(1.75rem,4vw,3rem);align-items:start;width:100%}
.fbc-close-copy{display:grid;justify-items:center;text-align:center}
.fbc-close-copy h2{font-size:var(--step-3);max-width:20ch;margin-inline:auto}
.fbc-close-copy p{font-size:var(--step-1);color:var(--text-secondary);margin-top:var(--space-4);line-height:1.55}
.fbc-close-card{background:var(--surface-card);border:var(--hairline) solid var(--border-hairline);
  border-left:var(--edge-heavy) solid var(--action-bg);padding:clamp(1.5rem,3vw,2.25rem);
  display:grid;gap:var(--space-5);justify-items:center;text-align:center}
.fbc-close-card .title{font-family:var(--font-display);font-weight:600;font-size:var(--step-2);line-height:1.1}
.fbc-close-card p{font-size:var(--step-0);color:var(--text-secondary);line-height:1.55;max-width:40ch}
.fbc-close-card .stack{display:grid;gap:var(--space-4);justify-items:center;width:100%}

/* ---- footer + sticky ---- */
.fbc-footer{border-top:var(--hairline) solid var(--border-hairline)}
.fbc-footer .fbc-wrap{padding-block:var(--space-6) var(--space-7);font-family:var(--font-mono);
  font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase;color:var(--text-meta);
  display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6);justify-content:space-between}
.fbc-sticky{display:none;position:fixed;inset-inline:0;bottom:0;z-index:20;
  padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));
  background:var(--surface-card);border-top:var(--hairline) solid var(--border-hairline);
  box-shadow:0 -6px 18px rgba(22,32,43,.08)}
.fbc-sticky .row{display:flex;align-items:stretch;gap:var(--space-3)}
.fbc-sticky .phone{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;
  min-height:var(--tap-min);padding:0 var(--space-4);font-family:var(--font-mono);font-variant-numeric:tabular-nums;
  font-size:var(--step-0);font-weight:600;color:var(--text-body);text-decoration:none;
  border:var(--edge-heavy) solid var(--text-body)}
.fbc-sticky .grow{flex:1;min-width:0}
@media (max-width:759px){.fbc-sticky{display:block}body{padding-bottom:5.5rem}}

/* ---- breakpoints ---- */
@media (min-width:620px){:root{--fbc-bridge-cols:repeat(2,minmax(0,1fr))}}
@media (min-width:700px){:root{--steps:repeat(2,1fr)}}
@media (max-width:699px){.fbc-hero-board{display:none}}
@media (min-width:760px){:root{--fbc-industry-cols:repeat(3,1fr)}}
@media (min-width:860px){:root{--fbc-fixes-cols:repeat(3,minmax(0,1fr))}}
@media (min-width:880px){
  :root{--hero-cols:minmax(0,1.15fr) minmax(0,1fr);--hero-h1:clamp(2.75rem,4.4vw,4.5rem);
    --close:minmax(0,1.15fr) minmax(340px,.85fr);--leaks-two-col:minmax(0,1fr) minmax(0,1fr);
    --fbc-calc-cols:minmax(0,1fr) minmax(15rem,1fr)}
  .fbc-calc-panel{position:sticky;top:var(--sticky-top)}
}
@media (min-width:1080px){:root{--steps:repeat(4,1fr);--fbc-industry-cols:repeat(4,1fr)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important}
}

/* ============================================================
   BOOKING PAGE
   ============================================================ */

/* The scheduler band sits above the argument, on the board ground. */
.fbc-band-board{background:var(--surface-board);border-top:var(--hairline) solid var(--border-hairline)}
.fbc-band-board > .fbc-wrap{padding-block:var(--section-y);display:grid;gap:var(--space-6)}
.fbc-book-head{display:grid;gap:var(--space-4);justify-items:center;text-align:center}
.fbc-book-head h1{font-size:var(--step-3);line-height:1.02;margin-inline:auto}

/* Scheduler frame: the same ledger chrome as the board, wrapped around the
   real booking widget so the reader is not handed to another design. */
.fbc-sched{background:var(--surface-card);border:var(--hairline) solid var(--border-hairline);
  box-shadow:var(--shadow-board);border-radius:var(--radius);overflow:hidden}
.fbc-sched-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);
  flex-wrap:wrap;padding:var(--space-4) var(--space-5);border-bottom:var(--edge-heavy) solid var(--text-body)}
.fbc-sched-head .label{font-family:var(--font-display);font-weight:600;font-size:var(--step-1);
  letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1.2}
.fbc-sched-head .tz{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.08em;
  text-transform:uppercase;color:var(--text-meta)}
.fbc-sched-body{min-height:500px;position:relative}
.fbc-sched-body iframe{display:block;width:100%;border:0}
.fbc-sched-fallback{padding:var(--card-pad);display:grid;gap:var(--space-4);justify-items:center;text-align:center}
.fbc-sched-fallback p{font-size:var(--step-0);color:var(--text-secondary);max-width:46ch;line-height:1.55}
.fbc-sched-note{font-family:var(--font-mono);font-size:var(--step--2);color:var(--text-meta);line-height:1.6;
  padding:var(--space-4) var(--space-5);border-top:var(--hairline) solid var(--border-hairline)}

/* The claim */
.fbc-claim > .fbc-wrap{padding-block:clamp(2.5rem,6vw,4.5rem) var(--space-7);
  display:grid;gap:var(--space-6);justify-items:center;text-align:center}
.fbc-claim h2{font-size:var(--book-h2,var(--step-4));max-width:26ch;line-height:.98}
.fbc-claim .lede{font-size:var(--step-1);color:var(--text-secondary);max-width:54ch;line-height:1.5}
.fbc-claim .fine{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.06em;
  text-transform:uppercase;color:var(--text-meta)}

/* Sound familiar */
.fbc-quote{background:var(--surface-card);border:var(--hairline) solid var(--border-hairline);
  border-left:var(--edge-heavy) solid var(--state-open);padding:clamp(1.5rem,3vw,2.25rem);
  display:grid;gap:var(--space-4);justify-items:center}
.fbc-quote p{font-size:var(--step-1);color:var(--text-secondary);line-height:1.55;max-width:62ch}
.fbc-quote p.land{color:var(--text-body);font-weight:600}

/* What you actually get — ink edges, meta phase label */
.fbc-get{list-style:none;display:grid;gap:var(--space-3);margin:0;padding:0}
.fbc-get li{background:var(--surface-card);border:var(--hairline) solid var(--border-hairline);
  border-left:var(--edge-heavy) solid var(--text-body);padding:var(--space-5);
  display:grid;gap:var(--space-3);justify-items:center;text-align:center}
.fbc-get .n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--step-2);
  font-weight:600;color:var(--text-meta);line-height:1}
.fbc-get .when{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-eyebrow);
  text-transform:uppercase;color:var(--text-meta)}
.fbc-get .what{font-family:var(--font-display);font-weight:600;font-size:var(--step-1);
  letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1.2}
.fbc-get p{font-size:var(--step-0);color:var(--text-secondary);line-height:1.5;max-width:58ch}

/* What this is not — gap-orange edges */
.fbc-not{display:grid;grid-template-columns:var(--fbc-not-cols,1fr);gap:var(--space-4)}
.fbc-not > div{background:var(--surface-card);border:var(--hairline) solid var(--border-hairline);
  border-left:var(--edge-heavy) solid var(--state-open);padding:var(--card-pad);
  display:grid;gap:var(--space-3);align-content:start;justify-items:center;text-align:center}
.fbc-not .name{font-family:var(--font-display);font-weight:600;font-size:var(--step-1);
  letter-spacing:var(--tracking-label);text-transform:uppercase;line-height:1.2}
.fbc-not p{font-size:var(--step-0);color:var(--text-secondary);line-height:1.5}

@media (min-width:700px){:root{--fbc-not-cols:repeat(3,minmax(0,1fr))}}
@media (min-width:880px){:root{--book-h2:clamp(3rem,5.6vw,5.5rem)}}

/* Footer links carry the tap floor like every other target. */
.fbc-footer a{min-height:var(--tap-min);display:inline-flex;align-items:center}

/* The booking page has no nav, so its header keeps the phone and the action
   inline at every width — but on a phone the number would push the wordmark
   and the button into three lines each. It drops out; the closing section and
   the scheduler fallback both still carry it. */
.fbc-mark-name{white-space:nowrap}
.fbc-header--book .fbc-header-actions{display:flex;margin-inline-start:auto}
@media (max-width:699px){
  .fbc-header--book .fbc-phone{display:none}
  .fbc-header--book .fbc-btn{font-size:.9rem;padding:.5rem .8rem}
  .fbc-header--book .fbc-mark-name{font-size:1.1rem}
}
