@import url('fonts.css');

/* ============================================================
   Balkos Montage — Design System
   Tokens (README), square corners, no shadows, hairline grids
   ============================================================ */
:root{
  --navy:#0F2540;
  --navy-deep:#0B1E33;
  --navy-hero:#08182A;
  --navy-hair:#29415F;
  --navy-hair2:#16314F;
  --navy-hair3:#1F3B5A;
  --orange:#C16A33;
  --orange-hover:#A9582A;
  --orange-light:#E08A4E;
  --body:#3D4A57;
  --muted:#6B7785;
  --faint:#9AA6B2;
  --on-navy:#B7C6D6;
  --on-navy-muted:#9FB2C8;
  --mono-navy:#7E93AC;
  --white:#fff;
  --gray:#F4F5F7;
  --gray2:#F6F7F9;
  --border:#DCE0E5;
  --border-card:#DDE2E7;
  --border-faint:#ECEEF1;
  --marker:#8A96A3;
  --sans:'IBM Plex Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --maxw:1280px;
  --pad:32px;
  --util-h:40px;
  --bar-h:82px;
  --header-h:122px; /* util + bar */
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:130px;-webkit-text-size-adjust:100%;}
body{margin:0;font-family:var(--sans);color:var(--body);background:var(--white);font-size:15px;line-height:1.65;}
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3,h4,p{margin:0;}
button{font-family:inherit;}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.mono{font-family:var(--mono);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.nowrap{white-space:nowrap;}

/* ---- Eyebrows ---- */
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--orange);display:inline-flex;align-items:center;gap:12px;}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--orange);display:inline-block;}
.eyebrow--navy{color:var(--mono-navy);}
.eyebrow--num::before{display:none;}
.eyebrow--num .num{color:var(--orange);}

/* ---- Buttons ---- */
.btn{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:600;letter-spacing:0.03em;text-decoration:none;padding:15px 26px;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s;border-radius:0;}
.btn .arrow{font-family:var(--mono);font-weight:400;}
.btn-primary{background:var(--orange);color:#fff;}
.btn-primary:hover{background:var(--orange-hover);}
.btn-navy{background:var(--navy);color:#fff;}
.btn-navy:hover{background:#0A1830;}
.btn-outline{background:transparent;color:#fff;border-color:#41597A;}
.btn-outline:hover{border-color:#fff;}
.btn-sm{padding:13px 22px;font-size:13.5px;font-weight:600;}

/* ============================================================
   HEADER (sticky two-tier)
   ============================================================ */
.site-header{position:sticky;top:0;z-index:50;background:#fff;}
.util-strip{background:var(--navy);border-bottom:1px solid #18324F;}
.util-strip .container{height:var(--util-h);display:flex;align-items:center;justify-content:space-between;}
.util-tag{font-family:var(--mono);font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--mono-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:32px;}
.util-left,.util-right{display:flex;align-items:center;gap:24px;font-size:12.5px;color:#C2D0E0;white-space:nowrap;min-width:0;}
.util-left a,.util-right a{color:#C2D0E0;text-decoration:none;font-family:var(--mono);letter-spacing:0.04em;display:flex;align-items:center;gap:7px;}
.util-left a:hover,.util-right a:hover{color:#fff;}
.util-left .t,.util-right .t{color:var(--orange);font-weight:700;}
.util-div{width:1px;height:14px;background:#2C466A;}

/* language dropdown */
.lang{position:relative;font-family:var(--mono);}
.lang-btn{background:transparent;border:1px solid #2C466A;color:#C2D0E0;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0.08em;cursor:pointer;display:flex;align-items:center;gap:7px;padding:5px 11px;transition:color .15s,border-color .15s,background .15s;}
.lang-btn:hover{color:#fff;border-color:#5d7693;background:rgba(255,255,255,0.05);}
.lang.open .lang-btn{color:#fff;border-color:#fff;}
.lang-btn .flag{flex:none;display:block;width:18px;height:12px;border:1px solid rgba(255,255,255,0.25);object-fit:cover;}
.lang-btn .caret{font-size:9px;transition:transform .15s;}
.lang.open .lang-btn .caret{transform:rotate(180deg);}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--border);min-width:132px;display:none;flex-direction:column;z-index:60;}
.lang.open .lang-menu{display:flex;}
.lang-menu button{background:none;border:none;text-align:left;padding:10px 14px;font-family:var(--mono);font-size:12px;letter-spacing:0.06em;color:#51606E;cursor:pointer;display:flex;justify-content:space-between;gap:14px;}
.lang-menu button:hover{background:var(--gray);}
.lang-menu button[aria-current="true"]{color:var(--navy);font-weight:600;}
.lang-menu button{justify-content:flex-start;align-items:center;gap:10px;}
.lang-menu button .code{color:var(--orange);margin-left:auto;}
.lang-menu .flag{display:block;width:18px;height:12px;border:1px solid rgba(15,37,64,0.15);flex:none;object-fit:cover;}

/* main bar */
.main-bar{background:#fff;border-bottom:1px solid var(--border);}
.main-bar .container{height:var(--bar-h);display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brand{display:flex;align-items:center;flex:none;}
.brand img{height:24px;width:auto;display:block;}
.main-nav{display:flex;align-items:stretch;height:var(--bar-h);gap:0;}
.nav-link{position:relative;display:flex;align-items:center;white-space:nowrap;height:var(--bar-h);padding:0 11px;font-size:13.5px;text-decoration:none;letter-spacing:0.005em;color:#51606E;font-weight:500;border-bottom:3px solid transparent;transition:color .15s,border-color .15s;}
.nav-link:hover{color:var(--navy);}
.nav-link.is-active{color:var(--navy);font-weight:700;border-bottom-color:var(--orange);}
.nav-link.is-prominent{color:var(--navy);font-weight:600;}
.nav-link.is-prominent::before{content:"";display:inline-block;width:5px;height:5px;background:var(--orange);margin-right:7px;flex:none;}
.nav-cta{flex:none;background:var(--orange);color:#fff;font-size:13px;font-weight:600;letter-spacing:0.03em;text-decoration:none;padding:12px 18px;margin-left:8px;display:flex;align-items:center;gap:8px;transition:background .15s;white-space:nowrap;}
.nav-cta:hover{background:var(--orange-hover);}
.nav-cta .arrow{font-family:var(--mono);font-weight:400;}
/* the in-drawer CTA is only for the mobile menu — hidden on desktop */
.nav-drawer-cta{display:none;}

/* hamburger */
.nav-toggle{display:none;flex:none;width:44px;height:44px;border:1px solid var(--border);background:#fff;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;}
.nav-toggle span{width:20px;height:2px;background:var(--navy);transition:transform .2s,opacity .2s;}
.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-open .nav-toggle span:nth-child(2){opacity:0;}
.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--navy-deep);color:var(--on-navy-muted);}
.footer-cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;padding:54px var(--pad) 40px;max-width:var(--maxw);margin:0 auto;}
.footer-logo img{height:20px;width:auto;}
.footer-about{font-size:13.5px;line-height:1.7;color:#8CA0B8;margin:20px 0 0;max-width:330px;}
.cert-badges{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;}
.cert-badges span{border:1px solid var(--navy-hair3);padding:6px 10px;color:var(--mono-navy);}
.footer-col h3{font-family:var(--mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#5D7693;margin-bottom:18px;font-weight:500;}
.footer-col .links{display:flex;flex-direction:column;gap:11px;font-size:13.5px;}
.footer-col .links a{color:var(--on-navy-muted);text-decoration:none;}
.footer-col .links a:hover{color:#fff;}
.footer-addr{font-size:13.5px;line-height:1.7;color:#8CA0B8;}
.footer-contact{margin-top:16px;font-family:var(--mono);font-size:12px;color:var(--on-navy-muted);line-height:1.9;}
.footer-contact a{color:var(--on-navy-muted);text-decoration:none;}
.footer-contact a:hover{color:#fff;}
/* legal bar: copyright left · legal links center · credit right */
.footer-legal{border-top:1px solid var(--navy-hair2);}
.footer-legal .container{padding:18px var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;font-size:12px;color:#5D7693;}
.footer-legal-copy{justify-self:start;}
.footer-legal-links{justify-self:center;display:flex;gap:24px;}
.footer-legal-links a{color:#5D7693;text-decoration:none;}
.footer-legal-links a:hover{color:var(--on-navy-muted);}
.footer-credit{justify-self:end;color:#5D7693;}
.footer-credit .heart{color:#e23b3b;}
.footer-credit a{color:var(--on-navy-muted);text-decoration:none;font-weight:600;}
.footer-credit a:hover{color:#fff;}

/* ============================================================
   PAGE HEADER BAND (interior pages)
   ============================================================ */
.page-header{background:var(--navy);padding:64px 0 60px;}
.breadcrumb{font-family:var(--mono);font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--mono-navy);margin-bottom:22px;}
.breadcrumb a{color:var(--mono-navy);text-decoration:none;}
.breadcrumb .current{color:var(--orange-light);}
.page-header h1{color:#fff;font-size:46px;font-weight:700;line-height:1.1;letter-spacing:-0.02em;}
.page-header .lead{color:var(--on-navy);font-size:17px;line-height:1.6;max-width:680px;margin-top:18px;}

/* ============================================================
   SECTIONS / GENERIC
   ============================================================ */
.section{padding:88px 0;border-bottom:1px solid var(--border);}
.section--gray{background:var(--gray);}
.section--navy{background:var(--navy);}
.section--compact{padding:64px 0;}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:44px;}
.section-head h2{font-size:40px;font-weight:600;line-height:1.1;letter-spacing:-0.015em;color:var(--navy);margin-top:18px;}
.section-head .intro{font-size:15.5px;line-height:1.7;color:var(--muted);}
.section--navy .section-head h2{color:#fff;}
h2.h2{font-size:40px;font-weight:600;line-height:1.1;letter-spacing:-0.015em;color:var(--navy);}
.link-arrow{font-family:var(--mono);font-size:13px;letter-spacing:0.04em;color:var(--navy);text-decoration:none;display:inline-flex;gap:7px;align-items:center;}
.section--navy .link-arrow{color:#fff;}
.link-arrow:hover{color:var(--orange);}

/* ---- Cards / grids ---- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.card{background:#fff;border:1px solid var(--border-card);border-radius:0;}
.card-link{text-decoration:none;color:inherit;transition:border-color .15s;}
.card-link:hover{border-color:var(--navy);}
.card-top-navy{border-top:3px solid var(--navy);}
.card-top-orange{border-top:3px solid var(--orange);}
.card-img{width:100%;object-fit:cover;display:block;border-bottom:1px solid var(--border-card);}
.card-body{padding:24px;}
.card-body h3{font-size:18px;font-weight:600;color:var(--navy);margin-bottom:10px;}
.card-body p{font-size:14px;line-height:1.65;color:var(--muted);}

/* hairline grid (1px rules over border bg) */
.hgrid{display:grid;gap:1px;background:var(--border);border:1px solid var(--border);}
.hcell{background:#fff;padding:26px 24px;}
.section--navy .hgrid{background:var(--navy-hair);border-color:var(--navy-hair);}
.section--navy .hcell{background:var(--navy);}
.hcell .code{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:var(--orange);text-transform:uppercase;}
.hcell h3{font-size:16px;font-weight:600;color:var(--navy);margin:12px 0 8px;}
.hcell p{font-size:13.5px;line-height:1.6;color:var(--muted);}
.section--navy .hcell h3{color:#fff;}
.section--navy .hcell p{color:var(--on-navy-muted);}

/* ---- Stat rows ---- */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--navy-hair);}
.stats-row.on-light{border-color:var(--border);}
.stat-cell{padding:24px;border-right:1px solid var(--navy-hair);}
.stats-row.on-light .stat-cell{border-right-color:var(--border);}
.stat-cell:last-child{border-right:none;}
.stat-num{font-size:32px;font-weight:700;letter-spacing:-0.01em;color:#fff;}
.stats-row.on-light .stat-num{color:var(--navy);}
.stat-num .u{color:var(--orange);}
.stat-cap{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--mono-navy);margin-top:10px;}
.stats-row.on-light .stat-cap{color:var(--faint);}

/* ---- Spec rows (projects) ---- */
.spec{display:grid;grid-template-columns:78px 1fr;gap:0;border-top:1px solid var(--border-faint);}
.spec:first-child{border-top:none;}
.spec dt{font-family:var(--mono);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--faint);padding:10px 0;}
.spec dd{font-size:13px;color:var(--body);padding:10px 0;margin:0;}
.spec dd.outcome{font-weight:600;color:var(--navy);}

/* ---- chips ---- */
.chip{font-family:var(--mono);font-size:11.5px;letter-spacing:0.04em;padding:8px 13px;border:1px solid var(--border-card);color:#51606E;background:#fff;display:inline-block;}
.chip-sm{padding:6px 11px;font-size:11px;}
.chip-secondary{font-family:var(--mono);font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;border:1px solid var(--border-card);padding:5px 10px;color:var(--marker);}

/* ---- PDF download rows ---- */
.dl-row{display:flex;align-items:center;gap:16px;border:1px solid var(--border-card);padding:16px 18px;text-decoration:none;color:inherit;transition:background .15s;margin-top:-1px;}
.dl-row:hover{background:var(--gray2);}
.dl-chip{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:0.06em;color:#fff;background:var(--orange);padding:5px 8px;flex:none;}
.dl-name{font-size:14px;color:var(--navy);font-weight:500;flex:1;}
.dl-size{font-family:var(--mono);font-size:11.5px;color:var(--faint);flex:none;}

/* ---- diagonal-stripe placeholders (logos/portraits) ---- */
.stripe{background:repeating-linear-gradient(45deg,#fff,#fff 7px,var(--gray) 7px,var(--gray) 14px);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--faint);}
.stripe-navy{background:repeating-linear-gradient(45deg,var(--navy),var(--navy) 7px,#13314f 7px,#13314f 14px);color:var(--mono-navy);}

/* ---- forms ---- */
.field{margin-bottom:18px;}
.field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--faint);margin-bottom:8px;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--border-card);padding:13px 14px;font-size:14px;color:var(--navy);background:#fff;font-family:var(--sans);border-radius:0;}
.field input::placeholder,.field textarea::placeholder{color:var(--faint);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);}
.field textarea{resize:vertical;}
.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;background:var(--navy-deep);overflow:hidden;}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.42;}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,24,42,0.96) 0%,rgba(8,24,42,0.82) 42%,rgba(8,24,42,0.55) 100%);}
.hero-inner{position:relative;padding:96px 0 0;}
.hero-content{max-width:720px;}
.hero h1{color:#fff;font-size:56px;font-weight:700;line-height:1.08;letter-spacing:-0.02em;margin:22px 0 0;}
.hero .lead{color:var(--on-navy);font-size:18.5px;line-height:1.6;margin:22px 0 0;max-width:620px;}
.hero-actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap;}
.hero-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--navy-hair);margin-top:64px;}
.hero-strip .stat-cell{border-right:1px solid var(--navy-hair);border-bottom:none;padding:26px 24px 30px;}

/* trust strip */
.trust-strip{display:flex;align-items:stretch;border:1px solid var(--border);background:#fff;}
.trust-label{font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--faint);padding:22px 24px;border-right:1px solid var(--border-faint);display:flex;align-items:center;flex:none;max-width:160px;}
.trust-items{display:grid;grid-template-columns:repeat(5,1fr);flex:1;}
.trust-items div{padding:22px 20px;border-right:1px solid var(--border-faint);font-size:14px;font-weight:600;color:var(--navy);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;}
.trust-items div:last-child{border-right:none;}
.trust-sub{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--faint);margin-top:3px;}
/* client name tiles */
.client-cell{display:flex;align-items:center;justify-content:center;min-height:88px;font-size:15.5px;font-weight:600;color:var(--navy);letter-spacing:0.02em;text-align:center;padding:16px 12px;}

/* secondary service bar */
.secondary-bar{background:var(--gray2);border:1px solid var(--border-card);padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;}
.secondary-bar .marker{font-family:var(--mono);font-size:13px;color:var(--marker);font-weight:600;}

/* service split sections */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.split img{width:100%;height:100%;object-fit:cover;border:1px solid var(--border-card);}
.split-copy h2{font-size:30px;font-weight:600;letter-spacing:-0.01em;color:var(--navy);margin:16px 0 0;}
.split-copy p{margin-top:16px;line-height:1.7;color:var(--body);}

/* CTA strip */
.cta-strip{background:var(--gray);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.cta-strip .container{padding:56px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:32px;}
.cta-strip h2{font-size:28px;font-weight:600;color:var(--navy);letter-spacing:-0.01em;}

/* final cta (navy w/ image) */
.final-cta{position:relative;background:var(--navy-deep);overflow:hidden;text-align:center;}
.final-cta img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.22;}
.final-cta .inner{position:relative;padding:96px var(--pad);max-width:760px;margin:0 auto;}
.final-cta h2{color:#fff;font-size:40px;font-weight:600;letter-spacing:-0.015em;line-height:1.12;}
.final-cta p{color:var(--on-navy);font-size:17px;margin:18px 0 0;line-height:1.6;}
.final-cta .hero-actions{justify-content:center;}

/* projects sticky filter */
.filter-bar{position:sticky;top:var(--header-h);z-index:20;background:#fff;border-bottom:1px solid var(--border);}
.filter-bar .container{padding:18px var(--pad);}
.filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.filter-row + .filter-row{margin-top:12px;}
.filter-row .flabel{font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--faint);width:78px;flex:none;}
.fchip{font-family:var(--mono);font-size:11.5px;letter-spacing:0.04em;padding:8px 13px;cursor:pointer;border:1px solid var(--border-card);background:#fff;color:#51606E;transition:.15s;}
.fchip:hover{border-color:var(--navy);}
.fchip.is-active{border-color:var(--orange);background:var(--orange);color:#fff;font-weight:600;}
.results-count{font-family:var(--mono);font-size:12px;letter-spacing:0.06em;color:var(--muted);margin-bottom:24px;}
/* Projects filter dropdown */
.results-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px;}
.results-head .results-count{margin-bottom:0;}
.filter-dd{position:relative;}
.filter-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;padding:10px 16px;cursor:pointer;border:1px solid var(--border-card);background:#fff;color:var(--navy);transition:.15s;}
.filter-btn:hover{border-color:var(--navy);}
.filter-btn svg{width:14px;height:14px;display:block;}
.filter-btn.has-active{border-color:var(--orange);color:var(--orange);}
.filter-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:30;background:#fff;border:1px solid var(--border-card);box-shadow:0 12px 34px rgba(16,32,52,.14);padding:20px 22px;min-width:300px;}
.filter-panel[hidden]{display:none;}
.filter-group + .filter-group{margin-top:18px;}
.filter-group .flabel{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--faint);margin-bottom:10px;}
.fchip-wrap{display:flex;flex-wrap:wrap;gap:8px;}

/* image tags / ctas reused across cards */
.img-wrap{position:relative;overflow:hidden;border-bottom:1px solid var(--border-card);}
.img-wrap img{width:100%;height:100%;object-fit:cover;}
.num-tag{position:absolute;top:0;left:0;background:var(--orange);color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;padding:7px 11px;}
.num-tag--gray{background:var(--marker);}
.num-tag--navy{background:var(--navy);}
.card-cta{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font-size:13px;font-weight:600;color:var(--orange);font-family:var(--mono);}
.link-underline{font-family:var(--mono);font-size:13.5px;font-weight:600;color:var(--navy);text-decoration:none;border-bottom:2px solid var(--orange);padding-bottom:4px;display:inline-flex;gap:7px;align-items:center;white-space:nowrap;}
.section--navy .link-underline{color:#fff;}
.link-underline:hover{color:var(--orange);}
.kicker{font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--orange);}
.spec-list{display:flex;flex-direction:column;gap:0;}

/* legal / prose pages */
.prose{max-width:820px;}
.prose h2{font-size:22px;font-weight:600;color:var(--navy);letter-spacing:-0.01em;margin:38px 0 12px;}
.prose h2:first-child{margin-top:0;}
.prose p{font-size:15px;line-height:1.75;color:var(--body);margin:0 0 14px;}
.prose ul{margin:0 0 16px;padding-left:20px;}
.prose li{font-size:15px;line-height:1.7;color:var(--body);margin-bottom:7px;}
.prose a{color:var(--orange);}
.legal-meta{border:1px solid var(--border-card);background:var(--gray2);padding:24px 26px;font-family:var(--mono);font-size:13px;color:var(--navy);line-height:2.1;margin:0 0 8px;}
.legal-meta .lbl{color:var(--muted);display:inline-block;min-width:200px;padding-right:18px;vertical-align:top;}
.legal-updated{font-family:var(--mono);font-size:11.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--faint);margin-top:18px;}

/* back-to-top */
.back-to-top{position:fixed;bottom:24px;right:24px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;border:1px solid var(--navy-hair);font-family:var(--mono);font-size:18px;line-height:1;cursor:pointer;z-index:40;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,background .15s,border-color .15s;}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none;}
.back-to-top:hover{background:var(--orange);border-color:var(--orange);}
@media (max-width:560px){.back-to-top{bottom:16px;right:16px;width:42px;height:42px;}}

/* language prompt (first-visit) */
.langprompt-overlay{position:fixed;inset:0;background:rgba(11,30,51,0.55);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px;animation:lp-fade .15s ease;}
@keyframes lp-fade{from{opacity:0}to{opacity:1}}
.langprompt{background:#fff;border-top:3px solid var(--orange);max-width:430px;width:100%;padding:30px 30px 26px;animation:lp-rise .18s ease;}
@keyframes lp-rise{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
.langprompt-msg{font-size:16px;line-height:1.55;color:var(--navy);font-weight:500;margin:0 0 22px;}
.langprompt-actions{display:flex;gap:12px;flex-wrap:wrap;}
.langprompt-actions .btn{flex:1 1 150px;justify-content:center;}
.langprompt-stay{background:#fff;color:var(--navy);border:1px solid var(--border-card);}
.langprompt-stay:hover{border-color:var(--navy);background:var(--gray2);}

/* utilities */
.mt-0{margin-top:0;}
.center{text-align:center;}
.flex-between{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;}
@media (max-width:820px){.flex-between{flex-direction:column;align-items:flex-start;gap:20px;}}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1024px){
  :root{--bar-h:70px;--header-h:110px;}
  .main-nav,.nav-cta{display:none;}
  .nav-toggle{display:flex;}
  .main-bar .container{gap:12px;}
  .main-nav.is-open{display:flex;position:fixed;top:var(--header-h);left:0;right:0;bottom:0;height:auto;flex-direction:column;background:#fff;border-top:1px solid var(--border);padding:8px 0;gap:0;overflow-y:auto;z-index:55;}
  .main-nav.is-open .nav-link{height:auto;padding:16px var(--pad);border-bottom:1px solid var(--border-faint);border-left:3px solid transparent;}
  .main-nav.is-open .nav-link.is-active{border-bottom-color:var(--border-faint);border-left-color:var(--orange);}
  .nav-drawer-cta{display:none;}
  .main-nav.is-open .nav-drawer-cta{display:flex;justify-content:center;margin:16px var(--pad);}
  .hero h1{font-size:46px;}
  .section-head{grid-template-columns:1fr;gap:16px;align-items:start;}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .trust-items{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:820px){
  :root{--pad:20px;}
  .util-left{gap:14px;font-size:11.5px;}
  .section{padding:60px 0;}
  .page-header{padding:48px 0 44px;}
  .page-header h1{font-size:36px;}
  .hero h1{font-size:38px;}
  .hero .lead{font-size:16px;}
  .hero-inner{padding:64px 0 0;}
  .split{grid-template-columns:1fr;gap:28px;}
  .split img{max-height:340px;}
  .footer-cols{grid-template-columns:1fr 1fr;gap:32px;}
  .cta-strip .container{flex-direction:column;align-items:flex-start;}
  .trust-strip{flex-direction:column;}
  .trust-label{max-width:none;border-right:none;border-bottom:1px solid var(--border-faint);}
  .trust-items{grid-template-columns:repeat(2,1fr);}
  .trust-items div{border-bottom:1px solid var(--border-faint);}
  .secondary-bar{flex-direction:column;align-items:flex-start;}
  .filter-row .flabel{width:100%;}
  /* footer legal stacks & centers */
  .footer-legal .container{grid-template-columns:1fr;justify-items:center;text-align:center;gap:14px;}
  .footer-legal-copy{justify-self:center;}
  .footer-credit{justify-self:center;}
  /* two-column inline grids collapse */
  [data-contact-grid],.grid-cert{grid-template-columns:1fr !important;}
  .cert-grid{grid-template-columns:repeat(2,1fr) !important;}
  /* hairline multi-column grids -> 2 cols (single-column lists untouched) */
  .hgrid[style*="repeat(3"],.hgrid[style*="repeat(4"],.hgrid[style*="repeat(5"],.hgrid[style*="repeat(6"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  /* industries sector rows (code / text / chips) stack */
  .hcell[style*="120px 1fr 1.1fr"]{grid-template-columns:1fr !important;gap:16px !important;}
  /* generic two-column split containers stack */
  .container[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr !important;}
}
@media (max-width:480px){
  .cert-grid{grid-template-columns:1fr !important;}
}
@media (max-width:560px){
  .grid-3,.grid-2,.grid-4,.form-grid-2{grid-template-columns:1fr;}
  /* hairline grids -> single column on phones */
  .hgrid[style*="repeat(3"],.hgrid[style*="repeat(4"],.hgrid[style*="repeat(5"],.hgrid[style*="repeat(6"],.hgrid[style*="1fr 1fr"]{grid-template-columns:minmax(0,1fr) !important;}
  /* job-listing rows: let the location chip + Apply wrap below the title */
  .dl-row{flex-wrap:wrap;gap:14px;}
  .stats-row,.hero-strip{grid-template-columns:repeat(2,1fr);}
  .stat-cell:nth-child(2n){border-right:none;}
  .hero-strip .stat-cell:nth-child(-n+2){border-bottom:1px solid var(--navy-hair);}
  .trust-items{grid-template-columns:1fr;}
  .footer-cols{grid-template-columns:1fr;}
  .hero h1{font-size:32px;}
  .page-header h1{font-size:30px;}
  .section-head h2,h2.h2,.final-cta h2{font-size:30px;}
  .hero-actions .btn,.hero-actions{width:100%;}
  .hero-actions .btn{justify-content:center;}
  .util-left .util-mail,.util-left .util-div{display:none;}
}
