@charset "utf-8";

/* import moved to <link> */ /*@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&family=Source+Serif+4:opsz,wght@8..60,400;600&display=swap');*/
:root{
  --cr:#CB2027; --re:#E12E2E; --co:#F0796F;
  --ap:#FBD177; --or:#F26A25; --am:#F89A2C;
  --ink:#1A1A1C; --grey:#58585B; --g2:#8A8A8E;
  --paper:#FFFFFF; --p2:#F5F4F2; --p3:#EDECEA;
  --navy:#07162A; --slate:#9FB0BC; --rule:rgba(26,26,28,.13);
  --display:"Archivo",system-ui,sans-serif;
  --body:"Source Serif 4",Georgia,serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --pad:clamp(1.25rem,5vw,4rem);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--body);font-size:clamp(1rem,.96rem + .2vw,1.1rem);
  line-height:1.65;color:var(--ink);background:var(--paper)}
h1,h2,h3,h4,.label,.nav a{font-family:var(--display)}
h1{font-size:clamp(2.4rem,6.5vw,4.6rem);font-weight:800;line-height:1.04;letter-spacing:-.03em}
h2{font-size:clamp(1.8rem,4vw,2.9rem);font-weight:800;line-height:1.06;letter-spacing:-.025em}
h3{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:700;letter-spacing:-.015em}
p{margin:0 0 1em}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1180px;margin:0 auto;padding-inline:var(--pad)}
.label{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  font-family:var(--display);display:block;margin-bottom:1rem}
.lede{font-size:clamp(1.1rem,1rem+.5vw,1.35rem);line-height:1.5}
section{padding:clamp(3.5rem,7vw,5.5rem) 0}

/* ── BARS MOTIF ───────────────────────────────────────────── */
.bars{display:flex;align-items:flex-end;gap:5px;height:34px;flex-shrink:0}
.bars i{display:block;width:7px;border-radius:4px}
.bars i:nth-child(1){height:62%;background:var(--cr)}
.bars i:nth-child(2){height:88%;background:var(--re)}
.bars i:nth-child(3){height:46%;background:var(--co)}
.bars i:nth-child(4){height:100%;background:var(--ap)}
.bars i:nth-child(5){height:70%;background:var(--or)}
.bars i:nth-child(6){height:54%;background:var(--am)}
.spectrum{display:flex;height:6px;width:100%}
.spectrum i{flex:1}
.spectrum i:nth-child(1){background:var(--cr)}
.spectrum i:nth-child(2){background:var(--re)}
.spectrum i:nth-child(3){background:var(--co)}
.spectrum i:nth-child(4){background:var(--ap)}
.spectrum i:nth-child(5){background:var(--or)}
.spectrum i:nth-child(6){background:var(--am)}

/* ── NAV ──────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--rule)}
.nav-inner{display:flex;align-items:center;gap:1.5rem;height:64px}
.mark{display:flex;align-items:center;gap:.6rem;margin-right:auto}
.mark .bars{height:22px}.mark .bars i{width:4px}
.vrule{width:2px;height:22px;background:var(--ink);border-radius:1px;flex-shrink:0}
.mark .txt{font-weight:800;font-size:1rem;color:var(--grey);letter-spacing:-.02em}
.links{display:flex;align-items:center;gap:1.5rem}
.links a{font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:var(--grey);transition:color .15s}
.links a:hover,.links a.active{color:var(--ink)}
.links a.cta-link{background:var(--cr);color:#fff;padding:.45rem .9rem;
  border-radius:2px;letter-spacing:.06em}
.links a.cta-link:hover{background:var(--re)}
.menu-toggle{display:none;background:none;border:none;font-size:1.3rem;cursor:pointer;
  color:var(--ink);padding:.25rem}
@media(max-width:860px){
  .links{display:none;position:absolute;top:64px;left:0;right:0;
    flex-direction:column;background:#fff;padding:1.25rem;gap:.75rem;
    border-bottom:1px solid var(--rule);align-items:flex-start;box-shadow:0 8px 24px rgba(0,0,0,.1)}
  .nav.open .links{display:flex}
  .menu-toggle{display:block}
}

/* ── FOOTER ───────────────────────────────────────────────── */
footer{background:var(--navy);color:#8A9BA8;font-family:var(--mono);font-size:.75rem;
  padding:1.75rem 0}
footer .wrap{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}
footer a{color:var(--am)}

/* ── UTILITY ──────────────────────────────────────────────── */
.btn{display:inline-block;font-family:var(--display);font-weight:700;font-size:.85rem;
  letter-spacing:.08em;text-transform:uppercase;padding:.8rem 1.6rem;border-radius:2px;
  cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn-red{background:var(--cr);color:#fff}
.btn-red:hover{background:var(--re);transform:translateY(-1px)}
.btn-outline{border:2px solid #fff;color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.12)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
@media(max-width:820px){.split{grid-template-columns:1fr}}
/* section heading stack: label + h2, then lede beneath, all left-aligned.
   Matches the single-column rhythm used on the interior pages. */
.sec-head{max-width:68ch}
.sec-head h2{margin-bottom:0}
.sec-head .lede{margin-top:1rem}
.photo{width:100%;border-radius:4px;object-fit:cover}

/* ── DARK/LIGHT/COLOR BANDS ───────────────────────────────── */
.band-dark{background:var(--navy);color:var(--p3)}
.band-dark h2,.band-dark h3{color:#fff}
.band-dark .label{color:var(--ap)}
.band-dark p{color:#B4C3CC}
.band-ink{background:var(--ink);color:var(--p3)}
.band-ink h2,.band-ink h3{color:#fff}
.band-ink .label{color:var(--ap)}
.band-ink p{color:#B4C3CC}
.band-cream{background:var(--p3)}
.band-amber{background:var(--am);color:var(--ink)}
.band-amber .label{color:rgba(26,26,28,.55)}
.band-cr{background:var(--cr);color:#fff}
.band-cr .label{color:rgba(255,255,255,.7)}
.band-cr h2{color:#fff}

/* ── STAT GRID ────────────────────────────────────────────── */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);margin-top:2.5rem}
.stat{padding:1.75rem 1.5rem;background:var(--navy)}
.stat .n{font-family:var(--display);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;
  color:var(--am);line-height:1;display:block;margin-bottom:.35rem}
.stat p{margin:0;font-size:.88rem;color:#7A8F9A}

/* ── CARD GRID ────────────────────────────────────────────── */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:2.5rem}
.cards.cards-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:820px){.cards.cards-2{grid-template-columns:1fr}}
.card{border:1px solid var(--rule);padding:1.75rem 1.5rem;border-radius:4px}
.card h3{margin-bottom:.65rem}
.card p{margin:0;font-size:.95rem;color:#3A3A3D}
.card .icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;
  justify-content:center;margin-bottom:1.1rem;font-size:1.2rem}

/* ── PROCESS STEPS ────────────────────────────────────────── */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2.5rem}
.step-item{position:relative;padding:1.5rem 1.25rem;background:rgba(255,255,255,.06);border-radius:4px;
  border:1px solid rgba(255,255,255,.1)}
.step-item .num{font-family:var(--mono);font-size:2rem;font-weight:500;color:var(--am);
  opacity:.6;line-height:1;margin-bottom:.75rem;display:block}
.step-item h3{font-size:1rem;color:#fff;margin-bottom:.5rem}
.step-item p{margin:0;font-size:.88rem;color:#8A9BA8}

/* ── PHOTO HERO ───────────────────────────────────────────── */
.photo-hero{position:relative;min-height:520px;display:flex;flex-direction:column;
  justify-content:flex-end;overflow:hidden}
.photo-hero .bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.photo-hero .overlay{position:absolute;inset:0;z-index:1}
.photo-hero .content{position:relative;z-index:2;padding:clamp(2.5rem,6vw,5rem) 0}
.photo-hero h1{max-width:18ch}

/* ── IMAGE STRIP ──────────────────────────────────────────── */
.img-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:2rem}
.img-strip img{width:100%;height:220px;object-fit:cover;border-radius:3px}
@media(max-width:700px){.img-strip{grid-template-columns:1fr}}

/* ── PHOTO BLOCK ──────────────────────────────────────────── */
.photo-block{width:100%;height:360px;object-fit:cover;border-radius:4px}

/* ── CHECKLIST ────────────────────────────────────────────── */
.checklist{list-style:none;padding:0;margin:1.25rem 0 0}
.checklist li{padding:.55rem 0;border-bottom:1px solid var(--rule);font-size:.95rem;
  display:flex;align-items:baseline;gap:.65rem}
.checklist li::before{content:"→";font-family:var(--mono);color:var(--cr);flex-shrink:0}
.band-dark .checklist li,.band-ink .checklist li{border-color:rgba(255,255,255,.1)}
.band-dark .checklist li::before,.band-ink .checklist li::before{color:var(--am)}
.band-dark .checklist li,.band-ink .checklist li{color:#B4C3CC}

/* ── PULL QUOTE ───────────────────────────────────────────── */
.pull{border-left:4px solid var(--cr);padding:.5rem 0 .5rem 1.25rem;margin:2rem 0;
  font-size:1.15rem;line-height:1.5;font-style:italic}
.band-dark .pull{border-color:var(--am);color:#D4E0E6}

/* ── NOTE BLOCK ───────────────────────────────────────────── */
.note{padding:1.1rem 1.3rem;background:rgba(248,154,44,.1);
  border-left:4px solid var(--am);font-size:.92rem;margin-top:1.75rem}
.note strong{font-family:var(--display)}

/* ── MOTION ───────────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:focus-visible{outline:3px solid var(--am);outline-offset:3px}

.filt-hero{
  background:linear-gradient(rgba(7,22,42,.86),rgba(7,22,42,.94)),
    url("Images/Filter Bank Construction.png") center/cover no-repeat;
  padding:clamp(4rem,9vw,7rem) 0 clamp(3rem,6vw,5rem);color:#fff
}
.filt-hero h1{color:#fff;max-width:22ch}
.filt-hero p{color:#B4C3CC;max-width:52ch;margin-top:1rem}
.filt-hero p.home-cred{max-width:48rem}

/* two-col layout */
.two-col{display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:start;max-width:68ch}
@media(max-width:820px){.two-col{grid-template-columns:1fr}}

/* filter type cards */
.ftype-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem}
@media(max-width:600px){.ftype-grid{grid-template-columns:1fr}}
.ftype{border-radius:4px;padding:1.5rem;border:1px solid var(--rule)}
.ftype.mech{border-top:4px solid var(--cr)}
.ftype.stat{border-top:4px solid var(--g2)}
.ftype.stat h3{color:#fff}
.ftype.stat p{color:#fff}
.ftype.stat .verdict.caution{background:rgba(255,255,255,.12);color:#fff}
.eband{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.1rem;margin:1.25rem 0 1.5rem;
  font-size:.9rem;align-items:baseline}
.eband dt{font-family:var(--mono);font-size:.8rem;font-weight:500;color:var(--cr);
  border-right:2px solid var(--rule);padding-right:1.1rem;white-space:nowrap}
.eband dd{margin:0;color:#3A3A3D}
@media(max-width:600px){.eband{grid-template-columns:1fr;gap:.15rem}
  .eband dt{border-right:none;padding-right:0}
  .eband dd{margin-bottom:.6rem}}
.fseq{margin:2.5rem 0 0;border-top:1px solid var(--rule);padding-top:2rem}
.fstrip{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:1.5rem}
.fshot{margin:0}
.fshot .fimg{position:relative;background:#fff;border:1px solid var(--rule);border-radius:4px;overflow:hidden}
.fshot img{display:block;width:100%;height:auto}
.fstage{position:absolute;top:.6rem;left:.6rem;font-family:var(--mono);font-size:.62rem;
  letter-spacing:.13em;text-transform:uppercase;padding:.28rem .5rem;border-radius:2px;
  background:var(--ink);color:var(--paper)}
.fstage.on{background:var(--am);color:var(--ink)}
.fstage.off{background:var(--cr);color:var(--paper)}
.fshot figcaption{margin-top:.7rem;font-size:.86rem;line-height:1.5;color:#3A3A3D}
.fshot figcaption b{font-family:var(--display);font-weight:700;display:block;font-size:.95rem;
  color:var(--ink);margin-bottom:.15rem}
.fnote{margin-top:1.4rem;font-size:.86rem;color:var(--grey);max-width:68ch}
@media(max-width:820px){.fstrip{grid-template-columns:1fr;gap:1.75rem}}
.ftype h3{margin-bottom:.65rem;font-size:1.05rem}
.ftype p{margin:0;font-size:.9rem;color:#3A3A3D}
.ftype .verdict{display:inline-block;margin-top:.9rem;font-family:var(--mono);
  font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;border-radius:2px}
.verdict.good{background:rgba(42,88,0,.12);color:#2A5800}
.verdict.caution{background:rgba(88,88,91,.12);color:var(--grey)}

/* carrier table */
.carrier-band{background:var(--navy);padding:clamp(3rem,6vw,5rem) 0;color:#fff}
.carrier-band h2{color:#fff}
.carrier-band p{color:#B4C3CC}
.carrier-band .label{color:var(--ap)}

.merv-table{width:100%;border-collapse:collapse;margin-top:2rem;font-size:.85rem}
.merv-table th{background:rgba(255,255,255,.06);color:var(--ap);font-family:var(--mono);
  font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.7rem .9rem;
  text-align:left;border-bottom:1px solid rgba(255,255,255,.12)}
.merv-table td{padding:.65rem .9rem;border-bottom:1px solid rgba(255,255,255,.06);
  color:#B4C3CC;vertical-align:top}
.merv-table tr:last-child td{border-bottom:none}
.merv-table .pathogen{color:#fff;font-weight:600;font-size:.88rem}
.merv-table .size{font-family:var(--mono);font-size:.78rem;color:var(--slate)}
.eff-hi{color:var(--am);font-weight:600}
.eff-md{color:var(--co)}
.eff-lo{color:var(--slate)}
.section-head{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--or);padding:.9rem .9rem .4rem;
  border-bottom:1px solid rgba(255,255,255,.12);border-top:2px solid var(--or)}

/* engineering challenge */
.eng-band{background:var(--ink);padding:clamp(3rem,6vw,5rem) 0;color:#fff}
.eng-band h2{color:#fff}
.eng-band p{color:#B4C3CC}
.eng-band .label{color:var(--ap)}
.insight-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);margin-top:2.5rem}
.insight{background:var(--ink);padding:1.4rem 1.25rem}
.insight .n{font-family:var(--display);font-size:2.2rem;font-weight:800;
  color:var(--am);line-height:1;margin-bottom:.5rem;display:block}
.insight h3{font-size:.9rem;color:#fff;margin-bottom:.4rem}
.insight p{margin:0;font-size:.84rem;color:#6A7F8A}

/* diagram */
.diagram-wrap{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  border-radius:4px;padding:1.5rem;margin-top:2.5rem}
.diagram-wrap figcaption{font-family:var(--mono);font-size:.72rem;
  color:#5A7080;margin-top:1rem;text-align:center}

/* process */
.proc-seq{margin-top:2.5rem}
.proc-step{display:grid;grid-template-columns:3.5rem 1fr;gap:1.5rem;
  padding:1.4rem 0;border-bottom:1px solid var(--rule);align-items:start}
.proc-step:last-child{border-bottom:none}
.proc-step .pn{font-family:var(--mono);font-size:1.7rem;font-weight:500;
  color:rgba(26,26,28,.2);line-height:1;padding-top:.2rem}
.proc-step h3{font-size:1rem;margin-bottom:.35rem}
.proc-step p{margin:0;font-size:.92rem;color:#3A3A3D}

/* cred band */
.cred-band{background:var(--cr);padding:clamp(2.5rem,5vw,4rem) 0;color:#fff}
.cred-band h2{color:#fff}
.cred-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2);margin-top:2rem}
@media(max-width:600px){.cred-row{grid-template-columns:1fr}}
.cred-item{padding:1.5rem 1.25rem;background:rgba(203,32,39,.55)}
.cred-item .n{font-family:var(--display);font-size:2.5rem;font-weight:800;
  color:#fff;display:block;line-height:1;margin-bottom:.4rem}
.cred-item p{margin:0;font-size:.88rem;color:rgba(255,255,255,.82)}

/* ── NAV DROPDOWN ─────────────────────────────────────── */
.has-sub{position:relative}
.mark .txt{white-space:nowrap}
.links>a,.has-sub>a{white-space:nowrap}
.has-sub>a{display:inline-flex;align-items:center;gap:.35rem}
.has-sub>a::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.65}
.subnav{position:absolute;top:100%;left:0;min-width:230px;background:#fff;
  border:1px solid var(--rule);border-top:2px solid var(--cr);
  box-shadow:0 10px 28px rgba(0,0,0,.12);padding:.4rem 0;
  display:flex;flex-direction:column;gap:0;opacity:0;visibility:hidden;
  transform:translateY(4px);transition:opacity .14s,transform .14s,visibility .14s}
.has-sub:hover .subnav,.has-sub:focus-within .subnav{opacity:1;visibility:visible;transform:translateY(0)}
.subnav a{padding:.55rem 1.1rem;font-size:.76rem;letter-spacing:.05em;white-space:nowrap}
.subnav a:hover{background:var(--p2);color:var(--ink)}
.subnav a.active{color:var(--ink);box-shadow:inset 3px 0 0 var(--cr)}
@media(max-width:860px){
  .has-sub{width:100%}
  .subnav{position:static;opacity:1;visibility:visible;transform:none;
    box-shadow:none;border:none;border-left:2px solid var(--rule);
    border-radius:0;padding:.2rem 0 .2rem .75rem;margin-top:.5rem}
  .subnav a{padding:.4rem 0}
}

/* Light-background band table (E1/E2/E3 floors, worked example) */
.band-table{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.85rem}
.band-table th{background:rgba(26,26,28,.05);color:var(--grey);font-family:var(--mono);
  font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;font-weight:500;
  text-align:left;padding:.6rem .9rem;border-bottom:1px solid var(--rule)}
.band-table td{padding:.6rem .9rem;border-bottom:1px solid rgba(26,26,28,.08);vertical-align:middle}
.band-table tr:last-child td{border-bottom:none}
.band-table .rowname{font-weight:600;color:var(--ink)}
.band-table .num{font-family:var(--mono);font-size:.82rem;color:var(--ink)}
.band-table .num-hi{font-family:var(--mono);font-size:.82rem;color:var(--cr);font-weight:500}
.band-table caption{caption-side:top;text-align:left;font-family:var(--mono);font-size:.68rem;
  letter-spacing:.09em;text-transform:uppercase;color:var(--co);padding-bottom:.5rem}

/* ── HOME PAGE ─────────────────────────────────────────── */
/* process steps were styled for a light background; restate on dark bands */
.band-dark .proc-step,.band-ink .proc-step{border-bottom-color:rgba(255,255,255,.12)}
.band-dark .proc-step .pn,.band-ink .proc-step .pn{color:var(--am)}
.band-dark .proc-step p,.band-ink .proc-step p{color:#B4C3CC}
.band-dark .card,.band-ink .card{border-color:rgba(255,255,255,.14)}
.band-dark .card p,.band-ink .card p{color:#B4C3CC}
.home-fig{margin-top:clamp(2rem,5vw,3rem);background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:clamp(1rem,3vw,1.75rem)}
.home-fig svg{width:100%;height:auto;display:block}
.home-fig figcaption{font-family:var(--mono);font-size:.72rem;line-height:1.6;
  color:#7A8F9A;margin-top:1rem;max-width:68ch}
.home-cred{font-family:var(--mono);font-size:.8rem;color:#7A8F9A;margin-top:1.25rem;max-width:48rem;line-height:1.7}
.card .src{display:block;font-family:var(--mono);font-size:.72rem;
  color:var(--g2);margin-top:.85rem}
.kb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1rem;margin-top:2.5rem}
.kb-grid a{display:block;border:1px solid var(--rule);border-radius:4px;
  padding:1.5rem 1.35rem;transition:border-color .15s,transform .15s}
.kb-grid a:hover{border-color:var(--cr);transform:translateY(-2px)}
.kb-grid .tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--cr);display:block;margin-bottom:.6rem}
.kb-grid h3{font-size:1rem;margin-bottom:.4rem}
.kb-grid p{margin:0;font-size:.88rem;color:#3A3A3D}

/* ══ FACILITY DRAFTING (page-specific) ═════════════════════ */
.draft-hero{background:linear-gradient(rgba(7,22,42,.78),rgba(7,22,42,.88)),url("Images/DI Drafting Table Image.png") center/cover no-repeat;padding:clamp(4rem,9vw,7rem) 0 clamp(3rem,6vw,5rem);color:#fff}
.draft-hero h1{color:#fff;max-width:22ch}
.draft-hero p{color:#B4C3CC;max-width:52ch;margin-top:1rem}
.know-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2.5rem}
.know-grid.know-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.know-grid.know-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.know-grid.know-3{grid-template-columns:1fr}}
.know-item{border-top:3px solid var(--cr);padding-top:1rem}
.know-item h3{font-size:.95rem;margin-bottom:.5rem}
.know-item p{margin:0;font-size:.9rem;color:#3A3A3D}
.adv-band{background:var(--am);padding:clamp(3rem,6vw,5rem) 0}
.chain{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem}
@media(max-width:760px){.chain{grid-template-columns:1fr}}
.chain-col{background:rgba(26,26,28,.07);border-radius:4px;padding:1.5rem}
.chain-col h3{font-size:.9rem;margin-bottom:1rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-family:var(--display)}
.chain-col.typical h3{color:#6B3500}
.chain-col.our h3{color:#1A3300}
.chain-steps{font-family:var(--mono);font-size:.77rem;line-height:2;color:var(--ink)}
.chain-steps .back{color:var(--cr);font-weight:600}
.chain-steps .go{color:#2A5800;font-weight:600}
.adv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-top:2.5rem}
.adv-item{background:rgba(26,26,28,.07);border-radius:4px;padding:1.4rem}
.adv-item h3{font-size:.95rem;margin-bottom:.5rem}
.adv-item p{margin:0;font-size:.88rem}
.types-band{background:var(--p3);padding:clamp(3rem,6vw,5rem) 0}
.types-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem}
@media(max-width:820px){.types-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.types-grid{grid-template-columns:1fr}}
.type-col h3{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cr);margin-bottom:.75rem;font-weight:500}
.systems-row{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--rule)}
.sys-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem 2rem;margin-top:1rem}
.sys-grid li{font-size:.9rem;padding:.3rem 0;display:flex;align-items:baseline;gap:.5rem;border-bottom:1px dotted var(--rule);list-style:none}
.sys-grid li::before{content:"-";font-family:var(--mono);color:var(--g2);flex-shrink:0;font-size:.8rem}
.offer-band{background:var(--navy);padding:clamp(3rem,6vw,5rem) 0}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);margin-top:2.5rem}
@media(max-width:820px){.offer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.offer-grid{grid-template-columns:1fr}}
.offer-item{padding:1.5rem 1.25rem;background:var(--navy)}
.offer-item h3{font-size:.95rem;color:#fff;margin-bottom:.4rem}
.offer-item p{margin:0;font-size:.85rem;color:#6A7F8A}

/* ══ PRODUCT CONSULTING (page-specific) ════════════════════ */
.prod-hero{background:linear-gradient(135deg,var(--navy) 0%,#1A0A0A 100%);padding:clamp(4rem,9vw,7rem) 0 clamp(3rem,6vw,5rem);color:#fff}
.prod-hero h1{color:#fff;max-width:22ch}
.prod-hero p{color:#B4C3CC;max-width:52ch;margin-top:1rem}
.reality-band{background:var(--cr);padding:clamp(3rem,6vw,5rem) 0;color:#fff}
.reality-band h2{color:#fff}
.rg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2);margin-top:2.5rem}
@media(max-width:820px){.rg-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.rg-grid{grid-template-columns:1fr}}
.rg-item{background:rgba(203,32,39,.55);padding:1.4rem 1.25rem}
.rg-item h3{font-size:.95rem;color:#fff;margin-bottom:.5rem;line-height:1.4}
.rg-item p{margin:0;font-size:.87rem;color:rgba(255,255,255,.82)}
.services-split{gap:clamp(2rem,5vw,4rem);align-items:start}
.intl-band{background:var(--navy);padding:clamp(3rem,6vw,5rem) 0;color:#fff}
.intl-band h2{color:#fff}
.intl-band p{color:#B4C3CC}
.reach-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2.5rem}
@media(max-width:720px){.reach-row{grid-template-columns:1fr}}
.reach-block{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:1.75rem}
.reach-block h3{color:var(--am);margin-bottom:.75rem;font-size:1.05rem}
.reach-block p{color:#8A9BA8;font-size:.9rem;margin-bottom:.75rem}
.reach-block p:last-child{margin-bottom:0}
.process-amber{background:var(--am);padding:clamp(3rem,6vw,5rem) 0;color:var(--ink)}
.pa-list{margin-top:2.5rem;display:grid;gap:0}
.pa-step{display:grid;grid-template-columns:3.5rem 1fr;gap:1.5rem;padding:1.4rem 0;border-bottom:1px solid rgba(26,26,28,.15);align-items:start}
.pa-step:last-child{border-bottom:none}
.pa-n{font-family:var(--mono);font-size:1.75rem;font-weight:500;color:rgba(26,26,28,.25);line-height:1;padding-top:.2rem}
.pa-step h3{margin-bottom:.4rem;font-size:1rem}
.pa-step p{margin:0;font-size:.92rem;line-height:1.6}

/* ── SOURCE DISCLOSURE ────────────────────────────────────── */
.srcbox{margin-top:1.75rem;border-top:1px solid rgba(255,255,255,.14);padding-top:.9rem}
.srcbox summary{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--slate);cursor:pointer;list-style:none;
  display:inline-flex;align-items:center;gap:.5rem;user-select:none}
.srcbox summary::-webkit-details-marker{display:none}
.srcbox summary::before{content:"+";font-size:.9rem;line-height:1;color:var(--ap)}
.srcbox[open] summary::before{content:"\2013"}
.srcbox summary:hover{color:#fff}
.srcbox p{font-family:var(--mono);font-size:.72rem;line-height:1.65;color:#4A6070;
  margin:.9rem 0 0;max-width:68ch}
.srcbox b{color:var(--slate)}

/* ── SECTION TAGS ─────────────────────────────────────────── */
.ctag{margin-top:2.25rem;font-size:.9rem;line-height:1.6;color:var(--grey);max-width:68ch}
.ctag a{color:var(--cr);text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:3px;text-decoration-color:rgba(203,32,39,.4)}
.ctag a:hover{text-decoration-color:var(--cr)}
.carrier-band .ctag{color:var(--slate)}
.carrier-band .ctag a{color:var(--ap);text-decoration-color:rgba(251,209,119,.45)}
.carrier-band .ctag a:hover{text-decoration-color:var(--ap)}

/* System type diagrams */
.sysfigs{margin-top:2.5rem;display:grid;gap:2.25rem;max-width:68ch}
.sysfig{margin:0}
.sysfig .stag{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--grey);margin-bottom:.55rem}
.sysfig .simg{background:#fff;border:1px solid var(--rule);border-radius:4px;overflow:hidden}
.sysfig img{display:block;width:100%;height:auto}
.sysfig figcaption{margin-top:.75rem;font-size:.86rem;line-height:1.5;color:#3A3A3D;max-width:68ch}
.sysfig figcaption b{font-family:var(--display);font-weight:700;display:block;font-size:.95rem;
  margin-bottom:.15rem}
@media(max-width:700px){.sysfigs{gap:1.75rem}}

/* Observation closers */
.obs-close{margin-top:1.5rem;max-width:68ch;background:#fff;border:1px solid var(--rule);
  border-left:3px solid var(--cr);border-radius:4px;padding:1.1rem 1.35rem}
.obs-close p{margin:0;font-size:.9rem;line-height:1.6;color:var(--ink)}
.obs-close p + p{margin-top:.75rem}
.obs-close b{display:block;font-family:var(--mono);font-size:.64rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--cr);margin-bottom:.25rem;font-weight:500}

