/*
Theme Name: CSG Flight Test
Theme URI: https://criticalsolutionsgrp.com
Author: Critical Solutions Group
Description: Custom block theme for Critical Solutions Group LLC. Flight Test v4.1 design system, built from the Phase 3 reference pages (website/06_REFERENCE). Graphite ink on paper white, International Orange accent, engineering-sheet detailing.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
License: Proprietary
Text Domain: csg
*/

/* ============ SELF-HOSTED FONTS (latin) ============ */
@font-face{
  font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('assets/fonts/inter-latin-var.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;
  src:url('assets/fonts/plexmono-latin-500.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/plexmono-latin-600.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ============ TOKENS ============ */
:root{
  --paper:#FAFAF7; --ink:#1E1F21; --ink2:#3A3C40; --gray:#6E7075;
  --hair:#DCDCD6; --hair2:#C6C6BE; --orange:#E86228; --orange-deep:#B8430F;
  --white:#FFFFFF; --panel:#F1F1EC;
  --font-text:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-mono:"IBM Plex Mono","SF Mono",Menlo,Consolas,monospace;
}

/* ============ BASE ============ */
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:var(--font-text);background:var(--paper);color:var(--ink);font-size:17px;line-height:1.62;}
.wrap{max-width:1220px;margin:0 auto;padding:0 36px;}
section{padding:88px 0;position:relative;}
section + section{border-top:1px solid var(--hair);}
.spec{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ink2);}
.spec b{color:var(--orange-deep);font-weight:600;}
.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:14px;flex-wrap:wrap;}
h2{font-size:36px;font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--ink);}
.tab{display:inline-block;background:var(--orange-deep);color:var(--white);font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:6px 12px;margin-bottom:20px;}
p.lead{font-size:18.5px;color:var(--gray);max-width:720px;margin-top:12px;}

/* ============ NAV ============ */
/* sticky lives on the template-part wrapper: sticky inside a same-height parent can't move */
header.wp-block-template-part{position:sticky;top:0;z-index:10;}
body.admin-bar header.wp-block-template-part{top:32px;}
nav.site-nav{background:var(--paper);border-bottom:2px solid var(--ink);}
.nav-in{max-width:1220px;margin:0 auto;padding:0 36px;height:74px;display:flex;align-items:center;justify-content:space-between;}
.mark{display:flex;align-items:center;gap:13px;text-decoration:none;}
.mark svg{display:block;width:40px;height:40px;flex:none;}
.mark .t{color:var(--ink);font-weight:800;font-size:21px;letter-spacing:-.01em;line-height:1;}
.mark .s{display:block;font-family:var(--font-mono);color:var(--ink2);font-size:10.5px;letter-spacing:.22em;margin-top:4px;font-weight:600;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{color:var(--ink);text-decoration:none;font-size:14px;font-weight:600;}
.nav-links a:hover{color:var(--orange-deep);}
.nav-links a[aria-current="page"]{color:var(--orange-deep);}
.nav-cta{border:2px solid var(--ink);padding:10px 18px;font-size:13px!important;letter-spacing:.03em;}
.nav-cta:hover{background:var(--ink);color:var(--paper)!important;}

/* ============ HERO (subpage base + home overrides) ============ */
.hero{padding:80px 0 64px;position:relative;}
.hero h1{font-size:60px;font-weight:800;letter-spacing:-.03em;line-height:1.05;max-width:1020px;margin-top:26px;}
.hero h1 .or{color:var(--orange-deep);}
.hero p.lead{max-width:820px;margin-top:22px;}
body.slug-contracting .hero p.lead{max-width:760px;}
body.home .hero{padding:88px 0 72px;}
.hero .subrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;margin-top:44px;align-items:start;}
.hero .sub{font-size:19px;color:var(--gray);}

/* dark hero (Partners) */
.hero-dark{background:var(--ink);color:var(--paper);}
.hero-dark .spec{color:#9DA0A6;}
.hero-dark .spec b{color:var(--orange);}
.hero-dark h1{color:var(--paper);}
.hero-dark p.lead{color:#9DA0A6;}

/* ============ BUTTONS ============ */
.btn{display:inline-block;text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.05em;padding:16px 30px;font-family:var(--font-text);border:none;cursor:pointer;}
.btn-primary{background:var(--ink);color:var(--paper);}
.btn-primary:hover{background:var(--orange-deep);}
.btn-ghost{border:2px solid var(--ink);color:var(--ink);margin-left:12px;}
.hero-dark .btn-primary{background:var(--orange-deep);color:var(--white);}
.hero-dark .btn-primary:hover{background:#9C390D;}
.hero-dark .btn-ghost{border-color:var(--paper);color:var(--paper);}

/* ============ DIMLINE (home hero) ============ */
.dimline{margin-top:64px;border-top:1px solid var(--ink);position:relative;}
.dimline:before,.dimline:after{content:"";position:absolute;top:-7px;width:1px;height:14px;background:var(--ink);}
.dimline:before{left:0;}
.dimline:after{right:0;}
.dim-cells{display:grid;grid-template-columns:repeat(4,1fr);}
.dim-cells .cell{padding:20px 24px 0 0;position:relative;}
.dim-cells .cell:not(:first-child){padding-left:24px;}
.dim-cells .cell:not(:last-child):after{content:"";position:absolute;right:0;top:-7px;width:1px;height:14px;background:var(--hair2);}
.dim-cells .k{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--ink2);text-transform:uppercase;}
.dim-cells .v{font-size:16px;font-weight:700;margin-top:4px;letter-spacing:.02em;}

/* ============ PRODUCT LANES (home) ============ */
.lanes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:44px;border:1px solid var(--ink);background:var(--white);}
.lane{border-right:1px solid var(--hair);display:flex;flex-direction:column;}
.lane:last-child{border-right:none;}
.lane .head{border-bottom:1px solid var(--ink);padding:16px 28px;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:76px;}
.lane .head h3{font-size:17.5px;font-weight:700;letter-spacing:-.01em;}
.lane .head .id{font-family:var(--font-mono);font-size:10px;color:var(--orange-deep);letter-spacing:.2em;white-space:nowrap;}
.lane .body{padding:22px 28px 28px;display:flex;flex-direction:column;flex:1;}
.lane p{font-size:15px;color:var(--ink2);}
.lane .naics{font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:var(--ink2);letter-spacing:.1em;margin-top:auto;padding-top:16px;}
.lane.first .head{background:var(--ink);}
.lane.first .head h3{color:var(--paper);}
.lane.first .head .id{color:var(--orange);}

/* policy strip: attached (under lanes, home) + standalone (products) */
.policy{background:var(--panel);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--ink2);line-height:1.8;}
.policy b{color:var(--orange-deep);letter-spacing:.18em;font-weight:600;}
.policy-attached{border:1px solid var(--ink);border-top:none;padding:18px 28px;}
.policy-standalone{border:1px solid var(--ink);padding:20px 30px;}

/* ============ STEPS ============ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:48px;}
.steps.cols2{grid-template-columns:repeat(2,1fr);}
.step{border-top:3px solid var(--orange);padding-top:20px;}
.step .n{font-family:var(--font-mono);font-size:11px;color:var(--gray);letter-spacing:.24em;font-weight:600;}
.step h3,.step h4{font-size:19px;font-weight:700;margin:10px 0;}
.step p{font-size:15px;color:var(--ink2);}
.step a{color:var(--orange-deep);text-decoration:none;border-bottom:1px solid var(--orange);}

/* ============ CREDO ============ */
.credo{margin-top:52px;border:1px solid var(--ink);background:var(--white);padding:28px 36px;display:flex;align-items:baseline;gap:24px;flex-wrap:wrap;}
.credo .mk{font-family:var(--font-mono);font-size:12.5px;font-weight:600;letter-spacing:.2em;color:var(--orange-deep);text-transform:uppercase;white-space:nowrap;}
.credo p{font-size:23px;font-weight:700;letter-spacing:-.01em;}
.credo p.mono{font-family:var(--font-mono);font-size:15px;font-weight:600;letter-spacing:.08em;color:var(--ink2);}

/* ============ PARTNER BAND (dark) ============ */
.partner{background:var(--ink);color:var(--paper);border-top:none;}
.partner h2{color:var(--paper);max-width:860px;}
.partner p.lead{color:#9DA0A6;}
.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#3A3C40;border:1px solid #3A3C40;margin-top:44px;}
.pcell{background:var(--ink);padding:30px 34px;}
.pcell.span2{grid-column:1/-1;}
.pcell .n{font-family:var(--font-mono);font-size:11px;color:var(--orange);letter-spacing:.2em;font-weight:600;}
.pcell h3,.pcell h4{font-size:18px;font-weight:700;margin:10px 0 8px;color:var(--paper);}
.pcell p{font-size:15px;color:#9DA0A6;}
.partner .p-cta{margin-top:40px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
.partner .btn-primary{background:var(--orange-deep);color:var(--white);}
.partner .btn-primary:hover{background:var(--orange-deep);}
.partner .p-note{font-family:var(--font-mono);font-size:13px;font-weight:600;color:#C2C5CB;letter-spacing:.08em;}

/* ============ CREDENTIAL STRIP (dark) ============ */
.cred{background:var(--ink);color:var(--paper);padding:0;border-top:1px solid #3A3C40;}
.cred-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.cred .cell{padding:52px 36px;border-right:1px solid #3A3C40;position:relative;}
.cred .cell:last-child{border-right:none;}
.cred .cell:before{content:"";position:absolute;top:0;left:36px;width:28px;height:4px;background:var(--orange);}
.cred .num{font-size:48px;font-weight:800;letter-spacing:-.02em;line-height:1;}
.cred .lbl{font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:#C2C5CB;margin-top:12px;letter-spacing:.16em;text-transform:uppercase;line-height:1.8;}

/* ============ WE WERE THE USERS ============ */
.users-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px;margin-top:44px;align-items:start;}
.users-main p{font-size:18px;color:var(--ink2);}
.users-main p + p{margin-top:18px;}
.users-main .pull{margin-top:30px;border-left:4px solid var(--orange);padding:6px 0 6px 24px;font-size:23px;font-weight:700;letter-spacing:-.015em;line-height:1.35;color:var(--ink);}
.why-list{border:1px solid var(--ink);background:var(--white);}
.why-row{padding:24px 30px;border-bottom:1px solid var(--hair);}
.why-row:last-child{border-bottom:none;}
.why-row .n{font-family:var(--font-mono);font-size:11px;color:var(--orange-deep);letter-spacing:.2em;font-weight:600;}
.why-row h3,.why-row h4{font-size:16.5px;font-weight:700;margin:6px 0 6px;}
.why-row p{font-size:14.5px;color:var(--ink2);}

/* pull-quote used standalone (Partners model BLUF) */
.pull{border-left:4px solid var(--orange);padding:6px 0 6px 24px;font-size:23px;font-weight:700;letter-spacing:-.015em;line-height:1.35;color:var(--ink);}

/* body copy block for prose sections (Services, Partners model) */
.body-copy{max-width:820px;margin-top:28px;}
.body-copy p{font-size:17px;color:var(--ink2);}
.body-copy p + p{margin-top:18px;}

/* ============ EXPERIENCE / TRACK RECORD ============ */
.exp-note{font-size:15.5px;color:var(--ink2);background:var(--panel);border-left:4px solid var(--orange);padding:16px 22px;margin:28px 0 40px;max-width:820px;line-height:1.7;}
.exp-note b{color:var(--ink);}
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--ink);background:var(--white);}
.exp-card{padding:36px;border-right:1px solid var(--hair);}
.exp-card:last-child{border-right:none;}
.exp-card .amt{font-size:46px;font-weight:800;letter-spacing:-.025em;line-height:1;}
.exp-card .tag{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-deep);margin:12px 0 16px;}
.exp-card p{font-size:14.5px;color:var(--ink2);}
.award-strip{border:1px solid var(--ink);border-top:4px solid var(--orange);background:var(--white);margin-top:36px;padding:24px 32px;display:flex;gap:28px;align-items:baseline;flex-wrap:wrap;}
.award-strip.mw900{max-width:900px;margin-top:44px;}
.award-strip .aw-tag{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.22em;color:var(--orange-deep);text-transform:uppercase;white-space:nowrap;}
.award-strip p{font-size:16px;color:var(--ink2);}
.award-strip p b{color:var(--ink);}
.frame-note{font-size:15.5px;color:var(--ink2);background:var(--panel);border-left:4px solid var(--orange);padding:16px 22px;margin-top:28px;max-width:820px;line-height:1.7;}
.frame-note b{color:var(--ink);}
.frame-note a{color:var(--orange-deep);text-decoration:none;border-bottom:1px solid var(--orange);}

/* ============ SERVICES STRIP (home) ============ */
.svcstrip{border:1px solid var(--ink);background:var(--white);margin-top:44px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr) auto;gap:32px;align-items:center;padding:30px 36px;}
.svcstrip h3{font-size:19px;font-weight:700;letter-spacing:-.01em;}
.svcstrip .items{font-size:15px;color:var(--ink2);}
.svcstrip .items b{color:var(--ink);}
.svcstrip a{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--orange-deep);text-decoration:none;white-space:nowrap;border-bottom:1px solid var(--orange);padding-bottom:2px;}

/* ============ ABOUT ============ */
.about-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:36px;margin-top:48px;align-items:stretch;}
.about-main{border:1px solid var(--ink);background:var(--white);padding:36px 40px;}
.about-main p{font-size:17px;color:var(--ink2);}
.about-main p + p{margin-top:18px;}
.about-main .disc{margin-top:22px;padding-top:18px;border-top:1px dashed var(--hair2);font-size:15px;color:var(--ink2);line-height:1.7;}
.about-main .disc a{color:var(--orange-deep);text-decoration:none;border-bottom:1px solid var(--orange);}
.about-side{border:1px solid var(--ink);background:var(--panel);padding:30px 32px;}
.about-side .k{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--ink2);text-transform:uppercase;padding-bottom:14px;border-bottom:1px solid var(--hair2);margin-bottom:6px;}
.about-side .ag{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--hair);font-size:15px;font-weight:700;}
.about-side .ag:last-child{border-bottom:none;}
.about-side .ag small{font-weight:400;color:#5F6166;font-size:13px;text-align:right;}

/* ============ SHEET (shared frame) ============ */
.sheet{border:1px solid var(--ink);background:var(--white);max-width:900px;margin-top:44px;}
.sheet .s-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--ink);padding:16px 28px;align-items:baseline;flex-wrap:wrap;gap:8px;}
.sheet .s-head .t{font-weight:800;font-size:16px;letter-spacing:.02em;}
.sheet .s-head .r{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--ink2);letter-spacing:.18em;}
.sheet-foot{padding:16px 28px;border-top:1px solid var(--ink);background:var(--panel);font-size:14px;color:var(--ink2);}
.sheet-foot b{color:var(--ink);}

/* sheet: 3x2 cell grid (home reg block) */
.s-grid{display:grid;grid-template-columns:1fr 1fr 1fr;}
.s-cell{padding:22px 28px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);}
.s-cell:nth-child(3n){border-right:none;}
.s-cell:nth-child(n+4){border-bottom:none;}
.s-cell .k{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--ink2);text-transform:uppercase;}
.s-cell .v{font-size:17px;font-weight:700;margin-top:6px;letter-spacing:.01em;}
.s-cell .v small{display:block;font-size:12.5px;font-weight:400;color:var(--gray);margin-top:3px;}

/* sheet: NAICS rows (products) */
.n-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:20px;align-items:baseline;padding:15px 28px;border-bottom:1px solid var(--hair);}
.n-row:last-of-type{border-bottom:none;}
.n-row .code{font-family:var(--font-mono);font-size:14px;font-weight:600;color:var(--ink);letter-spacing:.06em;}
.n-row .line{font-size:15px;color:var(--ink2);}
.n-row .pri{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--white);background:var(--orange-deep);padding:3px 8px;white-space:nowrap;}

/* sheet: reg rows (contracting) */
.r-row{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;padding:17px 28px;border-bottom:1px solid var(--hair);}
.r-row:last-of-type{border-bottom:none;}
.r-row .k{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--ink2);text-transform:uppercase;padding-top:3px;}
.r-row .v{font-size:16.5px;font-weight:700;letter-spacing:.01em;}
.r-row .v small{display:block;font-size:13px;font-weight:400;color:var(--gray);margin-top:2px;}

/* ============ LANE DETAIL (products) ============ */
.lane-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:64px;margin-top:40px;align-items:center;}
.lane-main p{font-size:17px;color:var(--ink2);}
.lane-main p + p{margin-top:18px;}
.quote-list{border:1px solid var(--ink);background:var(--white);}
.quote-list .qh{border-bottom:1px solid var(--ink);padding:14px 24px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-deep);}
.quote-list .qi{padding:15px 24px;border-bottom:1px solid var(--hair);font-size:15px;color:var(--ink2);}
.quote-list .qi:last-child{border-bottom:none;}
.quote-list.mw900{max-width:900px;margin-top:44px;}
.naics-strip{margin-top:32px;border-top:1px solid var(--ink);position:relative;padding-top:16px;font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;color:var(--ink2);text-transform:uppercase;}
.naics-strip:before,.naics-strip:after{content:"";position:absolute;top:-7px;width:1px;height:14px;background:var(--ink);}
.naics-strip:before{left:0;}
.naics-strip:after{right:0;}
.naics-strip b{color:var(--orange-deep);font-weight:600;letter-spacing:.18em;}

/* ============ ACCREDITATIONS WALL (contracting) ============ */
.acc-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ink);background:var(--white);margin-top:44px;max-width:900px;}
.acc{padding:34px 36px 30px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);position:relative;}
.acc:nth-child(2n){border-right:none;}
.acc:nth-child(n+3){border-bottom:none;}
.acc:before{content:"";position:absolute;top:0;left:36px;width:28px;height:4px;background:var(--orange);}
.acc .nm{font-size:26px;font-weight:800;letter-spacing:-.015em;line-height:1.1;}
.acc .sub{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);margin-top:8px;}
.acc p{font-size:14.5px;color:var(--ink2);margin-top:12px;}

/* ============ FAQ ============ */
.faq{border:1px solid var(--ink);background:var(--white);max-width:900px;margin-top:44px;}
.faq .row{padding:24px 30px;border-bottom:1px solid var(--hair);}
.faq .row:last-child{border-bottom:none;}
.faq .q{font-weight:700;font-size:17px;}
.faq .a{font-size:15.5px;color:var(--ink2);margin-top:8px;max-width:760px;}

/* ============ CONTACT ============ */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;margin-top:48px;align-items:start;}
.form-panel{border:1px solid var(--ink);background:var(--white);padding:36px 40px;}
.form-panel .fh{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-deep);padding-bottom:16px;border-bottom:1px solid var(--ink);margin-bottom:24px;}
.contact-side > * + *{margin-top:28px;}
.direct-list{border:1px solid var(--ink);background:var(--panel);}
.direct-list .dh{border-bottom:1px solid var(--ink);padding:14px 24px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-deep);background:var(--white);}
.direct-list .di{padding:15px 24px;border-bottom:1px solid var(--hair);font-size:15px;color:var(--ink2);}
.direct-list .di:last-child{border-bottom:none;}
.direct-list .di b{color:var(--ink);}
.direct-list .di a{color:var(--orange-deep);text-decoration:none;border-bottom:1px solid var(--orange);}
.compliance-note{font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--gray);line-height:1.8;margin-top:56px;max-width:820px;}
.compliance-note a{color:var(--orange-deep);text-decoration:none;border-bottom:1px solid var(--orange);}

/* WPForms in the design system */
.form-panel .wpforms-container{margin:0;}
.wpforms-container .wpforms-field-label{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);margin-bottom:8px;}
.wpforms-container .wpforms-required-label{color:var(--orange-deep);}
.wpforms-container .wpforms-field input[type=text],
.wpforms-container .wpforms-field input[type=email],
.wpforms-container .wpforms-field textarea{max-width:100%;width:100%;background:var(--paper);border:1px solid var(--ink);border-radius:0;padding:13px 15px;font-family:var(--font-text);font-size:16px;color:var(--ink);line-height:1.5;box-shadow:none;height:auto;}
.wpforms-container .wpforms-field input:focus,
.wpforms-container .wpforms-field textarea:focus{border-color:var(--orange-deep);outline:2px solid var(--orange);outline-offset:0;box-shadow:none;}
.wpforms-container .wpforms-field textarea{min-height:150px;resize:vertical;}
.wpforms-container .wpforms-field{padding:0 0 22px;}
.wpforms-container button.wpforms-submit{background:var(--ink)!important;color:var(--paper)!important;border:none!important;border-radius:0!important;font-family:var(--font-text)!important;font-size:14px!important;font-weight:700!important;letter-spacing:.05em;padding:16px 30px!important;cursor:pointer;}
.wpforms-container button.wpforms-submit:hover{background:var(--orange-deep)!important;}
.wpforms-confirmation-container-full{border:1px solid var(--ink);border-left:4px solid var(--orange);background:var(--panel)!important;border-radius:0;padding:16px 22px;font-size:15.5px;color:var(--ink2);}
.wpforms-container label.wpforms-error{font-family:var(--font-text);font-size:13px;color:var(--orange-deep);margin-top:6px;}

/* ============ PROSE (privacy / document pages) ============ */
.prose{max-width:820px;margin-top:36px;}
.prose h2{font-size:24px;margin:36px 0 12px;}
.prose h2:first-child{margin-top:0;}
.prose p{font-size:16.5px;color:var(--ink2);margin-top:12px;}
.prose ul{margin:12px 0 0 22px;color:var(--ink2);font-size:16.5px;}
.prose li{margin-top:6px;}
.prose a{color:var(--orange-deep);text-decoration:none;border-bottom:1px solid var(--orange);}
.doc-date{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gray);margin-top:16px;}

/* ============ CTA BAND ============ */
.cta{background:var(--ink);color:var(--white);padding:0;border-top:none;position:relative;}
.cta:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--orange);}
.cta .in{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;padding:76px 0;}
.cta h2{color:var(--white);font-size:44px;letter-spacing:-.025em;}
.cta p{color:#A9ABB0;font-size:18px;margin-top:10px;max-width:520px;}
.cta .btn-primary{background:var(--orange-deep);color:var(--white);font-size:15px;padding:18px 34px;}
.cta .btn-primary:hover{background:var(--orange-deep);}
.cta .contact{margin-top:16px;font-family:var(--font-mono);font-size:13px;color:#A9ABB0;}
.cta .contact a{color:var(--white);text-decoration:none;border-bottom:1px solid var(--orange);}

/* ============ 404 ============ */
.notfound{padding:110px 0 130px;}
.notfound .links{margin-top:36px;display:flex;gap:22px;flex-wrap:wrap;}
.notfound .links a{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-deep);text-decoration:none;border-bottom:1px solid var(--orange);padding-bottom:2px;}
.notfound .aside{margin-top:44px;font-size:15px;color:var(--gray);}
.notfound .aside a{color:var(--orange-deep);text-decoration:none;}

/* ============ FOOTER ============ */
footer.site-footer{background:var(--ink);color:#9DA0A6;padding:48px 0;font-size:13px;}
footer.site-footer .f-top{display:flex;justify-content:space-between;gap:26px;flex-wrap:wrap;align-items:center;}
footer.site-footer .mark svg{width:34px;height:34px;}
footer.site-footer .mark .t{color:var(--paper);font-size:18px;}
footer.site-footer .mark .s{color:#9DA0A6;}
footer.site-footer .f-links{display:flex;gap:26px;flex-wrap:wrap;}
footer.site-footer .f-links a{color:#C9CBD0;text-decoration:none;font-size:13px;font-weight:600;}
footer.site-footer .reg{margin-top:26px;font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:#C2C5CB;letter-spacing:.14em;text-transform:uppercase;}
footer.site-footer .legal{margin-top:8px;font-size:12px;color:#999BA0;}
footer.site-footer .legal a{color:#999BA0;text-decoration:underline;}

/* ============ MEDIA: ≤980 ============ */
@media(max-width:980px){
  .hero h1{font-size:42px;}
  .hero .subrow{grid-template-columns:1fr;gap:28px;}
  .dim-cells{grid-template-columns:1fr 1fr;}
  .dim-cells .cell{padding:20px 16px 12px 0;}
  .lanes,.steps,.exp-grid{grid-template-columns:1fr;}
  .steps.cols2{grid-template-columns:1fr;}
  .lane,.exp-card{border-right:none;border-bottom:1px solid var(--hair);}
  .lane:last-child,.exp-card:last-child{border-bottom:none;}
  .lane .head{min-height:0;}
  .partner-grid{grid-template-columns:1fr;}
  .users-grid,.about-grid,.contact-grid{grid-template-columns:1fr;}
  .cred-grid{grid-template-columns:1fr 1fr;}
  .cred .cell{border-bottom:1px solid #3A3C40;}
  .svcstrip{grid-template-columns:1fr;gap:16px;}
  .s-grid{grid-template-columns:1fr 1fr;}
  .s-cell:nth-child(3n){border-right:1px solid var(--hair);}
  .s-cell:nth-child(2n){border-right:none;}
  .s-cell:nth-child(n+4){border-bottom:1px solid var(--hair);}
  .s-cell:nth-child(n+5){border-bottom:none;}
  .nav-links a:not(.nav-cta){display:none;}
  .cta .in{grid-template-columns:1fr;padding:56px 0;}
  .lane-grid{grid-template-columns:1fr;gap:30px;}
  .n-row{grid-template-columns:110px minmax(0,1fr) auto;gap:14px;}
  .r-row{grid-template-columns:180px minmax(0,1fr);gap:16px;}
}

/* ============ MEDIA: ≤480 ============ */
@media(max-width:480px){
  body{font-size:16px;}
  section{padding:52px 0;}
  .wrap{padding:0 22px;}
  .nav-in{padding:0 22px;}
  .hero{padding:56px 0 44px;}
  body.home .hero{padding:56px 0 48px;}
  .hero h1{font-size:34px;}
  h2{font-size:27px;}
  .btn{display:block;text-align:center;margin:0 0 12px;}
  .btn-ghost{margin-left:0;}
  .dim-cells{grid-template-columns:1fr;}
  .dim-cells .cell:not(:first-child){padding-left:0;}
  .dim-cells .cell:not(:last-child):after{display:none;}
  .cred-grid{grid-template-columns:1fr;}
  .cred .cell{border-right:none;padding:36px 24px;}
  .s-grid{grid-template-columns:1fr;}
  .s-cell{border-right:none!important;border-bottom:1px solid var(--hair)!important;}
  .s-cell:last-child{border-bottom:none!important;}
  .cta h2{font-size:32px;}
  .credo p{font-size:18px;}
  .credo p.mono{font-size:13px;}
  .users-main .pull,.pull{font-size:19px;}
  .mark .s{display:none;}
  .mark svg{width:34px;height:34px;}
  .n-row{grid-template-columns:1fr;gap:4px;padding:14px 22px;}
  .n-row .pri{justify-self:start;}
  .r-row{grid-template-columns:1fr;gap:5px;padding:15px 22px;}
  .acc-grid{grid-template-columns:1fr;}
  .acc{border-right:none!important;border-bottom:1px solid var(--hair)!important;}
  .acc:last-child{border-bottom:none!important;}
  .policy-standalone{margin:40px 0;}
  .form-panel{padding:28px 24px;}
}
