/* BidJolt v1.1 "Takeoff sheet" design system (DESIGN.md, F:\Clients\bidjolt.com).
   Blueprint cobalt + hi-vis lime + redline; Archivo (variable width: condensed for display, normal for text) and
   Red Hat Mono for every figure. Fonts self-hosted under the SIL Open Font Licence (fonts/LICENSE-*.txt). */
@font-face{font-family:Archivo;src:url(fonts/archivo-latin-subset.woff2?v=2) format("woff2");font-weight:400 900;font-stretch:62% 100%;font-style:normal;font-display:swap}
@font-face{font-family:"Red Hat Mono";src:url(fonts/red-hat-mono-latin-500-normal.woff2?v=1) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Red Hat Mono";src:url(fonts/red-hat-mono-latin-600-normal.woff2?v=1) format("woff2");font-weight:600;font-display:swap}
:root{
--cobalt:#0f3d8c;--cobalt-deep:#0a2a63;--cobalt-ink:#082152;--cobalt-wash:#e8eef9;--cobalt-line:#c3d2ee;
--hivis:#d4ff3a;--hivis-deep:#b8e61a;
--ink:#0e1726;--ink2:#465266;--ink3:#5d6880;
--paper:#f4f6f9;--card:#fff;--line:#d5dce6;--line2:#e6ebf2;
--red:#c8102e;--red-wash:#fdecef;--ok:#17703d;--ok-wash:#eaf6ee;--warn:#9a4a00;--warn-wash:#fff4e5;
--grid:rgba(255,255,255,.07);--grid2:rgba(255,255,255,.035);
--sans:Archivo,"Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
--mono:"Red Hat Mono",ui-monospace,Menlo,Consolas,monospace;
--r:3px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);font-stretch:100%;-webkit-font-smoothing:antialiased}
a{color:var(--cobalt);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px;color:var(--cobalt-ink)}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:2px}
h1,h2,h3{line-height:1.12;margin:0}
h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;font-stretch:72%;text-transform:uppercase;letter-spacing:.005em;margin:.15em 0 .35em}
h2{font-size:1.35rem;font-weight:700;margin:1.8em 0 .55em}
h3{font-size:1.08rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding-left:20px;padding-right:20px}
.narrow{max-width:780px}
.pad{padding-top:var(--s6);padding-bottom:var(--s7)}
.skip{position:absolute;left:-999px;top:8px;z-index:20;background:var(--hivis);color:var(--ink);padding:10px 14px;font-weight:700}
.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.small{font-size:.92rem;color:var(--ink2)}
.lede{font-size:1.14rem;color:var(--ink2);max-width:64ch}
.eyebrow{font:600 .78rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--hivis);margin:0 0 var(--s3)}
.eyebrow-dark{color:var(--cobalt)}
.eyebrow::before{content:"";display:inline-block;width:22px;height:2px;background:currentColor;vertical-align:middle;margin-right:10px}
.display{font-size:clamp(2.6rem,7.4vw,5.4rem);font-weight:850;font-stretch:66%;line-height:.94;text-transform:uppercase;letter-spacing:0;word-spacing:.08em;margin:0 0 var(--s5)}
.display span{color:var(--hivis)}
.display-2{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;font-stretch:68%;line-height:1;text-transform:uppercase;margin:0 0 var(--s3)}

/* header: white plate, stamp mark, condensed caps nav */
.hdr{background:var(--card);border-bottom:1px solid var(--line);position:relative;z-index:5}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:72px}
.mark{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.mark-stamp{width:36px;height:36px;background:var(--cobalt);display:grid;place-items:center;border-radius:2px;box-shadow:inset 0 0 0 2px var(--cobalt),inset 0 0 0 3px rgba(255,255,255,.25)}
.mark-stamp svg{width:22px;height:22px;fill:var(--hivis)}
.mark-word{font-size:1.65rem;font-weight:850;font-stretch:70%;text-transform:uppercase;letter-spacing:.01em;line-height:1}
.mark-word span{color:var(--cobalt)}
.nav{display:flex;align-items:center;gap:2px}
.nav a{font-size:.95rem;font-weight:650;font-stretch:85%;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);text-decoration:none;padding:10px 12px;border-bottom:3px solid transparent}
.nav a:hover{border-bottom-color:var(--cobalt);color:var(--cobalt)}
.nav a.nav-desk{background:var(--cobalt);color:#fff;margin-left:10px;border-radius:var(--r);border-bottom:0;padding:10px 16px}
.nav a.nav-desk:hover{background:var(--cobalt-deep);color:#fff}

/* preview notice: cobalt rule line with a lime tag (not a banner bar) */
.notice{background:var(--cobalt-ink);color:#dbe5f7;font-size:.92rem}
.notice-in{display:flex;align-items:baseline;gap:var(--s3);padding-top:9px;padding-bottom:9px}
.notice-tag{flex:none;font:600 .72rem/1 var(--mono);text-transform:uppercase;letter-spacing:.14em;color:var(--ink);background:var(--hivis);padding:5px 8px;border-radius:2px}
.notice strong{color:#fff}
.notice a{color:var(--hivis)}
.notice :focus-visible{outline-color:var(--hivis)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border:2px solid var(--cobalt);border-radius:var(--r);background:var(--card);color:var(--cobalt);font:700 .98rem/1.1 var(--sans);font-stretch:82%;text-transform:uppercase;letter-spacing:.07em;text-decoration:none;cursor:pointer}
.btn:hover{background:var(--cobalt-wash);color:var(--cobalt-ink)}
.btn-jolt,.btn-hi{background:var(--cobalt);color:#fff}
.btn-jolt:hover,.btn-hi:hover{background:var(--cobalt-deep);border-color:var(--cobalt-deep);color:#fff}
.hero .btn-hi{background:var(--hivis);border-color:var(--hivis);color:var(--ink)}
.hero .btn-hi:hover{background:#e3ff7a;border-color:#e3ff7a}
.btn-line-inv{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
.btn-line-inv:hover{background:rgba(255,255,255,.1);color:#fff}
.btn-ghost{border-color:transparent;background:transparent;color:var(--cobalt);text-decoration:underline;text-underline-offset:4px}
.btn-ghost:hover{background:var(--cobalt-wash)}
.btn-danger{background:var(--red);border-color:var(--red);color:#fff}
.btn-danger:hover{background:#9e0c24;border-color:#9e0c24;color:#fff}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--cobalt);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.danger{color:var(--red)}
.cta{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s5) 0 var(--s4)}
.actions{display:flex;flex-wrap:wrap;gap:var(--s3);margin:var(--s3) 0}
.inline{display:inline}

/* hero: blueprint grid */
.hero{background-color:var(--cobalt);color:#fff;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),linear-gradient(var(--grid2) 1px,transparent 1px),linear-gradient(90deg,var(--grid2) 1px,transparent 1px);background-size:96px 96px,96px 96px,24px 24px,24px 24px;background-position:-1px -1px;border-bottom:6px solid var(--hivis)}
.hero-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s7);align-items:center;padding-top:var(--s8);padding-bottom:var(--s8)}
.hero-lede{font-size:1.15rem;color:#dbe5f7;max-width:58ch}
.hero-small{font-size:.95rem;color:#c3d2ee}
.hero-small a,.hero a:not(.btn){color:#fff}
.hero :focus-visible{outline-color:var(--hivis)}

/* takeoff sheet card */
.sheet{background:var(--card);color:var(--ink);border-radius:2px;padding:var(--s5);box-shadow:0 1px 0 rgba(0,0,0,.2),0 24px 48px rgba(4,18,46,.35);position:relative}
.sheet::before{content:"";position:absolute;inset:8px;border:1px solid var(--line2);pointer-events:none}
.sheet>*{position:relative}
.sheet-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);border-bottom:2px solid var(--ink);padding-bottom:var(--s2);margin-bottom:var(--s2)}
.sheet-title{font-weight:800;font-stretch:75%;font-size:1.3rem;text-transform:uppercase;margin:0}
.sheet-tag{font:600 .7rem var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink3);margin:0;white-space:nowrap}
.sheet-note{margin:var(--s3) 0 0;font-size:.95rem;color:var(--ink2)}
.sheet-note strong{color:var(--ink);font-family:var(--mono)}

/* ledger: every figure mono, tabular */
.ledger{margin:0;font-variant-numeric:tabular-nums}
.ledger div{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);padding:7px 0;border-bottom:1px solid var(--line2)}
.ledger dt{color:var(--ink2)}
.ledger dd{margin:0;font:500 1rem var(--mono);white-space:nowrap}
.ledger .sub{border-bottom-color:var(--ink)}
.ledger .sub dt,.ledger .sub dd{font-weight:700;color:var(--ink)}
.ledger .sub dd{font-weight:600}
.ledger .total{border:0;background:var(--cobalt);color:#fff;padding:10px 12px;margin-top:6px}
.ledger .total dt{color:#fff;font-weight:800;font-stretch:78%;text-transform:uppercase;letter-spacing:.05em}
.ledger .total dd{font-weight:600;font-size:1.15rem}

/* price build-up bar */
.build{margin:var(--s4) 0 0}
.build-bar{display:block;width:100%;height:30px;overflow:visible}
.seg-direct{fill:var(--cobalt)}.seg-cont{fill:#5b82c9}.seg-over{fill:#9fb6e0}.seg-profit{fill:var(--hivis-deep)}.seg-tax{fill:#8b95a8}
.walk{stroke:var(--red);stroke-width:3;stroke-dasharray:4 2}
.build-key{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:8px;font-size:.8rem;color:var(--ink2)}
.k::before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px;background:var(--cobalt)}
.k-cont::before{background:#5b82c9}.k-over::before{background:#9fb6e0}.k-profit::before{background:var(--hivis-deep)}.k-tax::before{background:#8b95a8}
.k-walk::before{width:3px;height:12px;background:var(--red)}

/* three numbers band */
.band{background:var(--card);border-bottom:1px solid var(--line);padding:var(--s7) 0}
.specs{list-style:none;margin:var(--s4) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--ink)}
.spec{padding:var(--s5) var(--s5) var(--s3) 0;border-right:1px solid var(--line)}
.spec+.spec{padding-left:var(--s5)}
.spec:last-child{border-right:0}
.spec-no{display:block;font:600 2.6rem/1 var(--mono);color:var(--cobalt);margin-bottom:var(--s3)}
.spec h2{margin:0 0 var(--s2);font-size:1.45rem;font-weight:800;font-stretch:78%;text-transform:uppercase}
.spec p{color:var(--ink2)}

/* two paths */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);padding-top:var(--s7);padding-bottom:var(--s7)}
.path{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s6);text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-top:6px solid var(--cobalt);border-radius:2px;transition:transform .15s ease,box-shadow .15s ease}
.path-cmp{border-top-color:var(--ink)}
.path:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(14,23,38,.1);color:var(--ink)}
.path-who{font:600 .76rem var(--mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ink3)}
.path-name{font-size:2rem;font-weight:850;font-stretch:68%;text-transform:uppercase;line-height:1}
.path-what{color:var(--ink2);max-width:46ch}
.path-go{margin-top:auto;padding-top:var(--s3);font-weight:700;font-stretch:82%;text-transform:uppercase;letter-spacing:.07em;color:var(--cobalt)}
.path-go::after{content:" \2192"}
@media (prefers-reduced-motion:reduce){.path{transition:none}.path:hover{transform:none}}

/* pricing: rate sheet (one figure per plan, qualifier under it) */
.pricing-strip{padding-bottom:var(--s7)}
.ps-head{border-top:2px solid var(--ink);padding-top:var(--s5)}
.rate-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:var(--card);margin:var(--s4) 0}
.rate-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rate{padding:var(--s6) var(--s5);border-right:1px solid var(--line)}
.rate:last-child{border-right:0}
.rate-pro{background:linear-gradient(180deg,var(--cobalt-wash),var(--card) 140px)}
.rate-name{font-size:1.05rem;font-weight:750;font-stretch:85%;text-transform:uppercase;letter-spacing:.06em;margin:0 0 var(--s3);color:var(--ink)}
.rate-fig{font:600 2.9rem/1 var(--mono);letter-spacing:-.03em;margin:0 0 var(--s2);color:var(--ink)}
.rate-fig span{font:500 1rem var(--sans);letter-spacing:0;color:var(--ink2)}
.rate-alt{margin:0 0 var(--s3);color:var(--ink2)}
.rate-alt strong{font-family:var(--mono);color:var(--ink)}
.rate-list{list-style:none;padding:0;margin:var(--s4) 0}
.rate-list li{padding:8px 0 8px 26px;border-top:1px solid var(--line2);position:relative}
.rate-list li::before{content:"";position:absolute;left:2px;top:15px;width:12px;height:6px;border-left:2px solid var(--cobalt);border-bottom:2px solid var(--cobalt);transform:rotate(-45deg)}
.free-flag{display:inline-block;background:var(--hivis);color:var(--ink);font-weight:700;font-size:.92rem;padding:6px 10px;border-radius:2px;margin:0}
.free{background:var(--hivis);padding:0 5px;border-radius:2px;font-weight:700;color:var(--ink)}
.page-head{background:var(--cobalt);color:#fff;padding:var(--s7) 0 var(--s6);border-bottom:6px solid var(--hivis);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:48px 48px}
.page-head .lede{color:#dbe5f7;margin:0}
.page-head h1{margin:0 0 var(--s3)}
.howpay{max-width:820px}
.h-rule{border-top:2px solid var(--ink);padding-top:var(--s4);font-size:1.5rem;font-weight:800;font-stretch:75%;text-transform:uppercase}
.ticks,.plain{padding-left:0;list-style:none}
.ticks li,.plain li{position:relative;padding:6px 0 6px 22px}
.ticks li::before,.plain li::before{content:"";position:absolute;left:0;top:16px;width:10px;height:2px;background:var(--cobalt)}

/* price line at point of use */
.price-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;border:1px solid var(--cobalt-line);background:var(--cobalt-wash);padding:10px 14px;margin:var(--s4) 0;font-size:.95rem;border-radius:2px}
.price-line strong{font-family:var(--mono)}
.tag{display:inline-block;font:600 .7rem/1.4 var(--mono);text-transform:uppercase;letter-spacing:.1em;background:var(--cobalt);color:#fff;padding:2px 7px;border-radius:2px;vertical-align:middle}

/* notes */
.note{border-left:5px solid var(--cobalt);background:var(--card);padding:var(--s3) var(--s4);margin:var(--s4) 0;border-radius:0 2px 2px 0;box-shadow:inset 0 0 0 1px var(--line)}
.note p{margin:.2em 0}.note ul{margin:.3em 0}
.note-err{border-left-color:var(--red);background:var(--red-wash);color:#7d0a1c}
.note-err a{color:#7d0a1c}
.note-ok{border-left-color:var(--ok);background:var(--ok-wash);color:#0f5129}
.note-jolt,.note-pre{border-left-color:var(--hivis-deep);background:#f7ffd9;color:var(--ink)}

/* page titles in content pages */
.pad>h1:first-child,.pad>.note+h1,.pad>h1{border-bottom:2px solid var(--ink);padding-bottom:var(--s3)}
.prose h2{font-size:1.4rem;font-weight:800;font-stretch:78%;text-transform:uppercase;letter-spacing:.01em}
.prose p,.prose li{max-width:68ch}
.prose ul{padding-left:1.2em}

/* forms: drafting-sheet fields */
fieldset{border:1px solid var(--line);border-radius:2px;padding:var(--s5) var(--s5) var(--s5);margin:0 0 var(--s5);background:var(--card);min-width:0}
legend{font-weight:800;font-stretch:78%;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;padding:0 8px;background:var(--card)}
.bidform{counter-reset:step}
.bidform>fieldset>legend::before{counter-increment:step;content:counter(step,decimal-leading-zero);font:600 .82rem var(--mono);color:#fff;background:var(--cobalt);padding:2px 6px;margin-right:10px;border-radius:2px;vertical-align:2px}
label{display:block;font-size:.92rem;font-weight:600}
input,select,textarea{display:block;width:100%;margin-top:6px;font:400 16px/1.3 var(--sans);padding:11px 12px;border:1px solid #7c869a;border-bottom-width:2px;border-radius:2px;background:#fff;color:var(--ink);min-width:0}
input[inputmode=decimal],input[inputmode=numeric]{font-family:var(--mono)}
input:hover,select:hover,textarea:hover{border-color:var(--ink3)}
input:focus,select:focus,textarea:focus{outline:3px solid var(--cobalt);outline-offset:0;border-color:var(--cobalt)}
::placeholder{color:var(--ink3)}
.hint{display:block;font-weight:400;font-size:.82rem;color:var(--ink2);margin-top:4px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4) var(--s5)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4) var(--s5)}
.span2{grid-column:1/-1}
.lines{display:grid;gap:8px}
.line{display:grid;grid-template-columns:150px minmax(0,1fr) 90px 80px 130px;gap:8px;align-items:end}
.line input,.line select{margin-top:0}
.line-h{font:600 .74rem var(--mono);color:var(--ink3);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line);padding-bottom:6px}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:6px 0!important}
.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--cobalt)}

/* result */
.result{background:var(--card);border:1px solid var(--line);border-top:6px solid var(--cobalt);border-radius:2px;padding:var(--s5);margin:var(--s4) 0 var(--s6)}
.sum-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s6);align-items:start}
.ledger.big{max-width:none}
.facts{display:grid;grid-template-columns:1fr;gap:0;margin:0;border:1px solid var(--line)}
.result>.facts,.facts.row3{grid-template-columns:repeat(3,minmax(0,1fr))}
.fact{padding:var(--s4);display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--line);background:var(--card)}
.facts>.fact:last-child{border-bottom:0}
.result>.facts .fact{border-bottom:0;border-right:1px solid var(--line)}
.result>.facts .fact:last-child{border-right:0}
.fact.warn{background:var(--red-wash);box-shadow:inset 4px 0 0 var(--red)}
.fact.warn .fv{color:var(--red)}
.fl{font:600 .74rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink3)}
.fv{font:600 1.7rem/1.15 var(--mono);letter-spacing:-.02em}
.fs{font-size:.86rem;color:var(--ink2)}

/* compare */
.qcols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4)}
.qcol{margin:0}
.qcol label{margin-bottom:var(--s3)}
.checks{margin-top:var(--s3);border-top:1px solid var(--line2);padding-top:var(--s2)}
.qcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--s4);margin-top:var(--s5)}
.qcard{border:1px solid var(--line);border-top:4px solid var(--ink);border-radius:2px;padding:var(--s4);background:var(--card)}
.qcard.has-notes{border-top-color:var(--warn)}
.qcard h2{margin:0;font-size:1.25rem;font-weight:800;font-stretch:78%;text-transform:uppercase}
.qtotal{font:600 1.8rem var(--mono);letter-spacing:-.02em;margin:6px 0}
.qnotes{margin:8px 0 0;padding:10px 12px 10px 28px;background:var(--warn-wash);color:#6e3500;font-size:.93rem}
.ok{color:var(--ok)}
.pill{font:600 .68rem var(--mono);text-transform:uppercase;letter-spacing:.08em;background:var(--hivis);color:var(--ink);padding:2px 7px;border-radius:2px;vertical-align:middle}
.pill-dim{background:var(--line)}

/* desk */
.keybox{background:var(--cobalt-wash);border:1px solid var(--cobalt-line);border-left:5px solid var(--cobalt);padding:var(--s4);margin:var(--s4) 0}
.keyrow{display:flex;gap:8px;margin-top:8px}.keyrow input{margin:0;font-family:var(--mono);font-size:.9rem}
.deskhead{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:var(--s3)}
.deskhead p{margin:0}
.bids{width:100%;border-collapse:collapse;background:var(--card);margin:var(--s3) 0;border:1px solid var(--line)}
.bids th{font:600 .74rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);background:var(--paper);text-align:left;padding:10px 12px;border-bottom:2px solid var(--ink)}
.bids td{padding:11px 12px;border-bottom:1px solid var(--line2);text-align:left}
.bids td:first-child,.bids td.num{font-family:var(--mono)}
.bids tbody tr:hover{background:var(--cobalt-wash)}
.settings{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:var(--s5)}

/* printable bid document */
.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:var(--s4)}
.doc{background:#fff;border:1px solid var(--line);padding:48px 52px;max-width:840px;margin:8px 0 var(--s6);box-shadow:0 18px 40px rgba(14,23,38,.1);border-top:8px solid var(--cobalt)}
.doc-h{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:14px}
.doc-biz{font-size:1.5rem;font-weight:850;font-stretch:72%;text-transform:uppercase;margin:0}
.doc-contact{margin:2px 0 0;color:var(--ink2);white-space:pre-line}
.doc-meta{text-align:right}.doc-meta p{margin:0;font-family:var(--mono);font-size:.9rem}
.doc-meta .doc-word{font:850 2rem/1 var(--sans);font-stretch:66%;text-transform:uppercase;letter-spacing:.02em;color:var(--cobalt);margin-bottom:6px}
.doc-title{margin:22px 0 4px;font-size:1.4rem;font-weight:800;font-stretch:78%;text-transform:uppercase}
.doc-for{margin:0 0 12px;color:var(--ink2)}
.doc-t{width:100%;border-collapse:collapse;margin:12px 0}
.doc-t th,.doc-t td{text-align:left;padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
.doc-t th{font:600 .72rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);border-bottom:2px solid var(--ink)}
.num{text-align:right!important;font-variant-numeric:tabular-nums}
.doc-t td.num{font-family:var(--mono)}
.kind{font:500 .72rem var(--mono);color:var(--ink3);margin-left:6px;text-transform:uppercase;letter-spacing:.06em}
.doc-sum{max-width:400px;margin-left:auto}
.doc-notes h3{font-size:.8rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink3);margin:20px 0 4px}.doc-notes p{margin:0}
.doc-sign{margin-top:44px}
.doc-made{margin-top:28px;font-size:.8rem;color:var(--ink2);text-align:center}
.internal{background:var(--paper);border:2px dashed var(--ink3);border-radius:2px;padding:var(--s5);max-width:840px}
.internal h2{margin-top:0;font-size:1.1rem;font-weight:800;font-stretch:78%;text-transform:uppercase}
.internal .sum-grid{grid-template-columns:1fr}
.danger-line{margin-top:var(--s4)}

/* guide table */
.conv{border-collapse:collapse;margin:8px 0 16px;font-variant-numeric:tabular-nums;background:var(--card);border:1px solid var(--line)}
.conv caption{text-align:left;font-weight:700;padding-bottom:6px}
.conv th{font:600 .74rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#fff;background:var(--cobalt);padding:8px 18px;text-align:right}
.conv td{border-top:1px solid var(--line2);padding:7px 18px;text-align:right;font-family:var(--mono)}

/* footer: drawing title block */
.tb{background:var(--ink);color:#c8d0dd;margin-top:var(--s7);padding:var(--s6) 0 var(--s5)}
.tb-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1.6fr;border:1px solid #3a4558}
.tb-cell{padding:var(--s4) var(--s5);border-right:1px solid #3a4558}
.tb-cell:last-child{border-right:0}
.tb-label{font:600 .68rem var(--mono);text-transform:uppercase;letter-spacing:.14em;color:#93a0b6;margin:0 0 var(--s2)}
.tb-name{font-size:1.9rem;font-weight:850;font-stretch:68%;text-transform:uppercase;color:#fff;line-height:1;margin:0 0 4px}
.tb-sub{margin:0;color:var(--hivis);font-size:.9rem}
.tb-links{list-style:none;margin:0;padding:0}
.tb-links li{margin:2px 0}
.tb a{color:#fff;text-decoration-color:rgba(255,255,255,.4)}
.tb a:hover{color:var(--hivis)}
.tb :focus-visible{outline-color:var(--hivis)}
.fine{font-size:.88rem;margin:0}
.powered{margin:var(--s4) 0 0;font:600 .8rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#93a0b6}
.powered a{color:#fff}

@media (max-width:1000px){
.hero-in{grid-template-columns:1fr;gap:var(--s6);padding-top:var(--s7);padding-bottom:var(--s7)}
.sheet{max-width:560px}
.sum-grid{grid-template-columns:1fr;gap:var(--s5)}
.facts{grid-template-columns:repeat(3,minmax(0,1fr))}
.facts .fact{border-bottom:0;border-right:1px solid var(--line)}
.facts .fact:last-child{border-right:0}
.qcols{grid-template-columns:1fr}
.grid3{grid-template-columns:1fr 1fr}
.tb-grid{grid-template-columns:1fr 1fr}
.tb-cell:nth-child(2){border-right:0}
.tb-cell:nth-child(-n+2){border-bottom:1px solid #3a4558}
}
@media (max-width:860px){
/* small screens: logo + Bid Desk button share the top row; the four links sit in one even row under a rule */
.hdr-in{flex-direction:column;align-items:stretch;gap:0;min-height:0;padding-top:12px;position:relative}
.mark{padding-bottom:12px;align-self:flex-start}
.nav{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:0 8px;margin:0 -20px;padding:2px 12px 4px;border-top:1px solid var(--line2)}
.nav a{white-space:nowrap;padding:12px 8px 10px;font-size:.86rem;text-align:center}
.nav a.nav-desk{position:absolute;top:12px;right:20px;margin:0;padding:0 14px;line-height:36px;font-size:.86rem}
.specs{grid-template-columns:1fr}
.spec,.spec+.spec{padding:var(--s5) 0;border-right:0;border-bottom:1px solid var(--line)}
.spec:last-child{border-bottom:0}
.paths{grid-template-columns:1fr}
.rate-table,.rate-3{grid-template-columns:1fr}
.rate{border-right:0;border-bottom:1px solid var(--line)}
.rate:last-child{border-bottom:0}
}
@media (max-width:640px){
.wrap{padding-left:16px;padding-right:16px}
.nav{margin:0 -16px;padding:2px 6px 4px;justify-content:space-between;gap:0}
.nav a{padding:12px 6px 10px;font-size:.8rem;font-stretch:78%;letter-spacing:.04em}
.nav a.nav-desk{right:16px;font-size:.8rem}
.hero-in{padding-top:var(--s6);padding-bottom:var(--s6)}
.sheet{padding:var(--s4)}
.sheet::before{inset:5px}
.cta .btn{flex:1 1 100%}
.notice-in{flex-direction:column;gap:6px}
.path{padding:var(--s5)}
.line{grid-template-columns:1fr 1fr;padding:12px;border:1px solid var(--line);border-left:4px solid var(--cobalt);background:var(--paper)}
.line>label:nth-child(2){grid-column:1/-1}
.line-h{display:none}
.line .sr{position:static;width:auto;height:auto;clip:auto;font:600 .72rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);white-space:normal;display:block;margin-bottom:4px}
fieldset{padding:var(--s4)}
.grid2,.grid3{grid-template-columns:1fr}
.facts,.result>.facts{grid-template-columns:1fr}
.facts .fact,.result>.facts .fact{border-right:0;border-bottom:1px solid var(--line)}
.facts .fact:last-child{border-bottom:0}
.result{padding:var(--s4)}
.doc{padding:24px 18px}
.doc-h{flex-direction:column}.doc-meta{text-align:left}
.bids td:nth-child(4),.bids th:nth-child(4){display:none}
.tb-grid{grid-template-columns:1fr}
.tb-cell{border-right:0;border-bottom:1px solid #3a4558}
.tb-cell:last-child{border-bottom:0}
.rate{padding:var(--s5) var(--s4)}
.keyrow{flex-direction:column}
}
@media print{
.hdr,.tb,.notice,.noprint,.toolbar,.skip{display:none!important}
body{background:#fff}
.wrap{max-width:none;padding:0}
.pad{padding:0}
.doc{border:0;box-shadow:none;padding:0;max-width:none;margin:0;border-top:4px solid #000}
.doc-meta .doc-word{color:#000}
a{text-decoration:none;color:#000}
.ledger .total{background:none;color:#000;border-top:2px solid #000;border-bottom:3px double #000;padding:8px 0}
.ledger .total dt,.ledger .total dd{color:#000}
}
.result>.small{margin:var(--s4) 0 0}

/* ---------- v1.2.0: AdEngine banner (adengine.us) ----------
   One labelled slot between the main content and the footer, on the public pages and the two stateless tools only
   (controllers opt in with 'ads'). The label, the reserved height and the small gap above sit on the <ins>, so when tag.js
   (or ae-size.js) hides a slot it cannot fill, they go with it. 110px = 16px label + 4px gap + 90px banner; 270px on phones
   (300x250). The title-block footer keeps its own 48px top margin. Label: the takeoff-sheet mono tag voice in --ink2
   (7.3:1 on --paper). display stays in this file and is never !important: tag.js hides a slot with style.display='none'. */
.ae-slot{padding:0 20px}
.ae-slot ins.adengine{display:block;max-width:728px;min-height:110px;margin:var(--s5) auto 0;text-align:center;text-decoration:none}
.ae-slot ins.adengine::before{content:"Advertisement";display:block;margin-bottom:4px;font:600 11px/16px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.ae-slot ins.adengine a{display:inline-block;vertical-align:top}
@media (max-width:767px){.ae-slot ins.adengine{max-width:300px;min-height:270px}}
@media print{.ae-slot{display:none}}
