:root{
  --navy:#07111f;--navy-2:#0c1d31;--ink:#102033;--muted:#5a6877;--paper:#f5f8fa;
  --white:#fff;--cyan:#21b8ce;--cyan-ink:#087583;--cyan-soft:#dff7fa;
  --orange:#ff8d4d;--orange-ink:#a63d08;--line:#dce4e9;
  --max:1180px;
}
*{box-sizing:border-box;min-width:0}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font:16px/1.65 Inter,"Avenir Next","Segoe UI",system-ui,sans-serif;-webkit-text-size-adjust:100%;overflow-wrap:break-word}
a{color:inherit}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:2px}
.dark :focus-visible,.hero :focus-visible,.contact-section :focus-visible,footer :focus-visible{outline-color:#7fe3f0}
.skip{position:fixed;left:1rem;top:-5rem;background:var(--white);color:var(--ink);padding:.7rem 1rem;z-index:99;transition:top .15s}
.skip:focus{top:1rem}
.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}
.nav-shell{position:sticky;top:0;z-index:20;background:var(--navy);background:color-mix(in srgb,var(--navy) 94%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid #ffffff14}
.nav{height:82px;width:min(var(--max),calc(100% - 3rem));margin:auto;display:flex;align-items:center;justify-content:space-between;color:var(--white)}
.brand{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;font-size:1.12rem;font-weight:750;letter-spacing:-.025em;flex:none}
.nav .brand{font-size:1.28rem;gap:.75rem}
.brand>span:last-child>span{color:var(--orange)}.brand-mark{position:relative;width:31px;height:25px;display:inline-block;flex:none}
.nav .brand-mark{width:36px;height:29px}
.brand-mark i{position:absolute;display:block;border:2px solid var(--orange);border-radius:50% 48% 48% 50%}
.brand-mark i:nth-child(1){width:27px;height:17px;left:0;top:6px}.brand-mark i:nth-child(2){width:18px;height:14px;left:8px;top:0}
.brand-mark i:nth-child(3){width:6px;height:6px;background:var(--white);border:0;right:0;bottom:1px}
.nav .brand-mark i:nth-child(1){width:32px;height:20px;top:7px}.nav .brand-mark i:nth-child(2){width:21px;height:16px;left:9px}
.nav .brand-mark i:nth-child(3){width:7px;height:7px}
.nav-links{display:flex;align-items:center;gap:1.35rem}.nav-links a{text-decoration:none;font-size:.85rem;color:#dce9f1;white-space:nowrap}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--cyan)}.nav-cta{border:1px solid #ffffff3b;border-radius:5px;padding:.58rem .9rem}
.menu{display:none;background:none;border:0;color:white;padding:.5rem;cursor:pointer}.menu b{display:block;width:23px;height:2px;background:currentColor;margin:4px}

.hero{background:var(--navy);color:var(--white);position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to right,transparent,#000 60%)}
.hero-grid{position:relative;width:min(var(--max),calc(100% - 3rem));margin:auto;display:grid;grid-template-columns:1.15fr .85fr;gap:4.5rem;align-items:center;min-height:660px;padding:5.5rem 0}
.eyebrow{margin:0 0 1rem;color:var(--cyan-ink);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.18em}
.hero .eyebrow,.dark .eyebrow,.contact-section .eyebrow{color:var(--cyan)}
h1,h2,h3{line-height:1.14;margin-top:0}
h1{font-size:clamp(2.35rem,4.9vw,4.4rem);letter-spacing:-.045em;margin-bottom:1.5rem;max-width:780px}
.lead{font-size:clamp(1.02rem,1.5vw,1.22rem);line-height:1.68;color:#c1d0dc;max-width:670px;margin:0 0 2rem}
.lead strong{color:var(--white)}.lead.ink{color:var(--muted)}.lead.ink strong{color:var(--ink)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.78rem 1.2rem;border-radius:4px;border:1px solid transparent;font:inherit;font-size:.95rem;font-weight:750;text-decoration:none;text-align:center;cursor:pointer;transition:transform .18s,background .18s,border-color .18s,color .18s}
.button:hover,.button:focus-visible{transform:translateY(-2px)}
.button.primary{background:var(--cyan);color:var(--navy)}.button.primary:hover{background:#55d3e2}
.button.secondary{background:transparent;color:var(--white);border-color:#ffffff4a}.button.secondary:hover{border-color:var(--cyan);color:var(--cyan)}
.button.ghost{background:transparent;color:var(--ink);border-color:#b9c6cf}.button.ghost:hover{border-color:var(--cyan);color:#0b6f7d}
.proof{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;list-style:none;padding:0;margin:2.3rem 0 0;color:#a9bbc8;font-size:.79rem}
.proof li:before{content:"";display:inline-block;width:6px;height:6px;border:1px solid var(--cyan);transform:rotate(45deg);margin:0 .6rem .08rem 0}

.principal-card{background:#0b1a2b;border:1px solid #ffffff1f;border-radius:8px;padding:1.9rem;box-shadow:0 24px 80px #0006}
.portrait{width:132px;height:132px;border-radius:50%;object-fit:cover;border:2px solid var(--cyan);display:block}
.portrait.large{width:180px;height:180px}
.principal-name{margin:1.1rem 0 .15rem;font-size:1.35rem;font-weight:750;letter-spacing:-.03em;color:var(--white)}
.principal-role{margin:0;font-size:.79rem;color:var(--cyan);text-transform:uppercase;letter-spacing:.11em;font-weight:800}
.principal-titles{list-style:none;padding:0;margin:1.3rem 0 0;display:grid;gap:.45rem}
.principal-titles li{font-size:.85rem;color:#c1d0dc;border-left:2px solid var(--cyan);padding-left:.7rem}
.principal-aside .principal-titles li{color:var(--muted);border-left-color:var(--cyan)}
.principal-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0 0;padding:1.3rem 0 0;border-top:1px solid #ffffff1c}
.principal-stats dt{font-size:1.6rem;font-weight:750;letter-spacing:-.04em;color:var(--white);line-height:1.1}
.principal-stats dd{margin:.25rem 0 0;font-size:.71rem;color:#93a7b8;text-transform:uppercase;letter-spacing:.07em;line-height:1.45}
.principal-links{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-top:1.5rem}
.principal-links a{font-size:.83rem;font-weight:700;color:var(--cyan);text-decoration:none;border-bottom:1px solid #21b8ce55;padding-bottom:1px}
.principal-links a:hover{border-bottom-color:var(--cyan)}
.principal-links.stacked{display:grid;gap:.6rem;margin-top:1.5rem}
.principal-links.stacked a{border-bottom:1px solid transparent;padding-bottom:0}
.principal-links.stacked .button.primary{color:var(--navy)}

.signal{background:var(--cyan);color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.25rem max(1.5rem,calc((100% - var(--max))/2))}
.signal p{margin:0;font-weight:800}
.signal div{display:flex;align-items:center;gap:1rem;font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.signal i{width:4px;height:4px;background:var(--navy);transform:rotate(45deg);flex:none}

.section{width:min(var(--max),calc(100% - 3rem));margin:0 auto;padding:7rem 0}
.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:5rem;align-items:end;margin-bottom:3.5rem}
.section-head h2,.approach h2,.contact-intro h2,.principal-body h2{font-size:clamp(1.9rem,3.6vw,3.25rem);letter-spacing:-.04em;margin-bottom:0;max-width:700px}
.section-head>p{color:var(--muted);margin:0}
.section.dark{width:100%;max-width:none;background:var(--navy);color:var(--white);padding:7rem max(1.5rem,calc((100% - var(--max))/2))}
.section.paper{width:100%;max-width:none;background:var(--paper);padding:7rem max(1.5rem,calc((100% - var(--max))/2))}
.dark .section-head>p{color:#aebdca}.dark .section-head>p strong{color:var(--white)}

.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ffffff1c;border:1px solid #ffffff1c;margin:0}
.metrics>div{background:var(--navy);padding:1.5rem 1.35rem}
.metrics dt{font-size:clamp(1.5rem,2.4vw,2.05rem);font-weight:750;letter-spacing:-.045em;color:var(--cyan);line-height:1.05;overflow-wrap:normal;word-break:keep-all;hyphens:none}
.metrics dd{margin:.5rem 0 0;font-size:.75rem;color:#aebdca;text-transform:uppercase;letter-spacing:.07em;line-height:1.5}
.evidence-context{margin:1.6rem 0 0;font-size:.9rem;color:#aebdca;max-width:760px;border-left:2px solid var(--orange);padding-left:1.1rem}
.evidence-context strong{color:var(--white)}

.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.service{padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:290px;background:var(--white)}
.service.featured{grid-column:span 2;display:grid;grid-template-columns:auto 1fr;gap:1.4rem;background:var(--paper)}
.service.wide{grid-column:span 3;display:grid;grid-template-columns:auto 1fr;gap:1.4rem;background:var(--paper);min-height:0}
.service.wide p{max-width:70ch}
.service-num{font-size:.68rem;color:var(--cyan-ink);font-weight:800;letter-spacing:.12em}
.service h3{font-size:1.22rem;margin:.65rem 0 .7rem;letter-spacing:-.025em}
.service p{color:var(--muted);margin:0;font-size:.93rem}
.service ul{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;list-style:none;padding:0;margin:1.2rem 0 0}
.service li{font-size:.72rem;border-top:2px solid var(--cyan);padding-top:.55rem;color:var(--muted)}

.cases{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.case{background:var(--paper);border-top:3px solid var(--ink);padding:1.9rem}
.case.wide{grid-column:span 2}
.case-sector{display:flex;align-items:baseline;gap:.7rem;margin:0 0 .9rem;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.case-sector span{color:var(--orange-ink);letter-spacing:.06em}
.case h3{font-size:1.3rem;letter-spacing:-.03em;margin:0 0 .85rem}
.case p{margin:0;color:var(--muted);font-size:.92rem}
.case-tags{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:1.3rem 0 0}
.case-tags li{font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--white);border:1px solid var(--line);border-radius:3px;padding:.32rem .55rem;color:var(--ink)}

.industries{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;list-style:none;padding:0;margin:0}
.industries li{border-top:2px solid var(--cyan);padding-top:1.1rem}
.industries strong{display:block;font-size:1.02rem;letter-spacing:-.02em;margin-bottom:.4rem}
.industries span{display:block;font-size:.88rem;color:var(--muted)}

.orgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:2rem}
.orgs h3{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--cyan);margin:0 0 .9rem;padding-bottom:.9rem;border-bottom:1px solid #ffffff1f;line-height:1.4;box-sizing:content-box;min-height:2.8em}
.orgs ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.orgs li{font-size:.94rem;color:#d3dfe8}
.orgs a{color:#d3dfe8;text-decoration:underline;text-decoration-color:#21b8ce66;text-underline-offset:3px}
.orgs a:hover,.orgs a:focus-visible{color:var(--cyan);text-decoration-color:var(--cyan)}

.principal-layout{display:grid;grid-template-columns:280px 1fr;gap:4.5rem;align-items:start}
.principal-aside{background:var(--paper);border-top:3px solid var(--cyan);padding:1.8rem}
.principal-aside .principal-titles{margin-top:1.4rem}
.principal-points{list-style:none;padding:0;margin:2.2rem 0 0;display:grid;gap:1.5rem}
.principal-points li{border-top:1px solid var(--line);padding-top:1.2rem}
.principal-points strong{display:block;font-size:1.05rem;letter-spacing:-.02em;margin-bottom:.35rem}
.principal-points span{display:block;color:var(--muted);font-size:.92rem}

.credentials{display:grid;grid-template-columns:1.05fr .95fr;gap:4rem;align-items:start}
.cred-list{margin:0;display:grid;gap:1.2rem}
.cred-list>div{border-top:1px solid var(--line);padding-top:1.1rem}
.cred-list dt{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:var(--cyan-ink)}
.cred-list dd{margin:.45rem 0 0;font-size:.97rem;color:var(--ink)}
.cred-badges{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:1.6rem}
.cred-badges-label{margin:0 0 1.3rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}
.cred-badges ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem 1rem}
.cred-badges li{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center}
.cred-badges img{width:52px;height:52px;object-fit:contain}
.cred-badges span{font-size:.66rem;line-height:1.4;color:var(--muted)}

.system-map{border:1px solid #ffffff1d;background:#07111fcc;padding:1.2rem;border-radius:8px;box-shadow:0 24px 80px #0005;max-width:520px;margin:0 0 3rem}
.map-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:#8298aa;padding:.1rem .2rem 1.2rem}
.map-flow{border:1px solid #ffffff16;border-radius:5px;padding:1rem;background:#ffffff04}
.map-node{background:var(--navy-2);border:1px solid #ffffff21;padding:1rem;border-radius:4px}
.map-node span{display:block;color:var(--cyan);font-size:.62rem;letter-spacing:.14em}
.map-node strong{display:block;margin:.18rem 0;font-size:.93rem}.map-node small{display:block;color:#91a5b5}
.map-node.platform{border-color:#21b8ce88;background:#0b2638}
.map-line{height:32px;display:flex;justify-content:center}.map-line i{width:1px;background:var(--cyan);position:relative}
.map-line i:after{content:"";position:absolute;bottom:0;left:-3px;width:5px;height:5px;border-right:1px solid var(--cyan);border-bottom:1px solid var(--cyan);transform:rotate(45deg)}
.map-split{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.map-foundation{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ffffff1a;margin-top:.75rem}
.map-foundation span{background:#0b1a2b;color:#8fa3b4;text-align:center;padding:.6rem .2rem;font-size:.64rem;text-transform:uppercase;letter-spacing:.06em}

.tech-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ffffff1c;border-left:1px solid #ffffff1c}
.tech-grid div{padding:1.5rem;border-right:1px solid #ffffff1c;border-bottom:1px solid #ffffff1c;min-height:145px}
.tech-grid strong{font-size:.8rem;color:var(--cyan);text-transform:uppercase;letter-spacing:.08em}
.tech-grid p{font-size:.86rem;color:#aebdca;margin:.75rem 0 0}

.approach{background:var(--paper);padding:6.5rem max(1.5rem,calc((100% - var(--max))/2));display:grid;grid-template-columns:.78fr 1.22fr;gap:2.5rem 5rem;align-items:start}
.approach-head{grid-row:span 2}
.approach-head>p:not(.eyebrow){color:var(--muted);margin:1.5rem 0 0;font-size:.95rem;max-width:420px}
.approach-steps{list-style:none;margin:0;padding:0}
.approach-steps li{display:grid;grid-template-columns:42px 1fr;gap:1rem;padding:1.2rem 0;border-top:1px solid var(--line)}
.approach-steps li:last-child{border-bottom:1px solid var(--line)}
.approach-steps li>span{color:var(--cyan-ink);font-size:.68rem;font-weight:800}
.approach-steps strong{font-size:1.06rem}
.approach-steps p{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}
.shapes-label{margin:0 0 1.1rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}
.shapes ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.shapes li{background:var(--white);border-top:3px solid var(--ink);padding:1.2rem}
.shapes span{display:block;color:var(--orange-ink);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.shapes strong{display:block;font-size:1rem;letter-spacing:-.02em;margin:.6rem 0 .35rem}
.shapes small{display:block;color:var(--muted);font-size:.82rem;line-height:1.55}

.contact-section{background:var(--navy);color:var(--white);padding:7rem max(1.5rem,calc((100% - var(--max))/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:7rem}
.contact-intro>p:not(.eyebrow){color:#aebdca;max-width:500px}
.contact-notes{margin-top:2.5rem;border-left:2px solid var(--cyan);padding-left:1.2rem}
.contact-notes p{margin:0;color:var(--white)}
.contact-notes ul{padding-left:1.1rem;color:#aebdca;font-size:.86rem}
.contact-alt{font-size:.88rem}.contact-alt a{color:var(--cyan);font-weight:700}
form{background:var(--white);color:var(--ink);padding:2rem;border-radius:6px}
label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;margin:1.1rem 0 .38rem}
label:first-child{margin-top:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-row label{margin-top:0}
input,textarea,select{width:100%;border:1px solid var(--line);border-radius:3px;background:#f9fbfc;color:var(--ink);font:inherit;padding:.72rem .8rem}
input:focus,textarea:focus,select:focus{outline:2px solid var(--cyan);outline-offset:1px;border-color:transparent}
textarea{min-height:145px;resize:vertical}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.2rem;flex-wrap:wrap}
.form-foot>span,.privacy{font-size:.7rem;color:var(--muted)}
form .button[disabled]{opacity:.55;cursor:wait;transform:none}
.privacy{margin:.8rem 0 0}.privacy a{color:#0b6f7d;font-weight:700}
.noscript-note{margin:1rem 0 0;padding:.8rem;border-left:2px solid var(--orange-ink);color:var(--muted);font-size:.8rem}
.noscript-note a{color:#0b6f7d;font-weight:700}
.field-error{display:block;min-height:1.15rem;margin:.25rem 0 0;color:#ad341f;font-size:.75rem}
[aria-invalid="true"]{border-color:#ad341f;box-shadow:0 0 0 1px #ad341f}
#status{min-height:1.5rem;margin:1rem 0 0;font-size:.87rem}#status.ok{color:#147044}#status.bad{color:#ad341f}

.privacy-back{color:#dce9f1;text-decoration:none;font-size:.88rem;font-weight:700}
.privacy-back:hover{color:var(--cyan)}
.privacy-page{width:min(760px,calc(100% - 3rem));margin:0 auto;padding:6rem 0 7rem}
.privacy-page h1{color:var(--ink);font-size:clamp(2.35rem,5vw,4.2rem)}
.privacy-page section{padding:1.4rem 0;border-top:1px solid var(--line)}
.privacy-page section h2{font-size:1.25rem;letter-spacing:-.02em;margin-bottom:.6rem}
.privacy-page section p{margin:0;color:var(--muted)}
.privacy-page section a{color:#0b6f7d;font-weight:700}
.privacy-updated{margin:1.5rem 0;color:var(--muted);font-size:.8rem}

footer{background:#040b14;color:#a6b5c1;padding:3rem max(1.5rem,calc((100% - var(--max))/2));display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start}
.footer-brand{color:var(--white)}
footer p{font-size:.78rem;margin:.5rem 0 0}
.footer-links{display:flex;flex-wrap:wrap;gap:.9rem 1.4rem}
.footer-links a{font-size:.8rem;text-decoration:none}
.footer-links a:hover{color:var(--cyan)}
.fine{grid-column:1/-1;border-top:1px solid #ffffff17;padding-top:1.2rem;width:100%}
.fine.disclaimer{border-top:0;padding-top:0;font-size:.72rem;color:#7d8d99;max-width:78ch;line-height:1.6}

@media(max-width:1080px){
  .principal-layout{grid-template-columns:240px 1fr;gap:3rem}
  .credentials{gap:2.5rem}
}
@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:3rem;padding:4.5rem 0;min-height:auto}
  .principal-card{max-width:420px}
  .services{grid-template-columns:1fr 1fr}
  .service.wide{grid-column:span 2}
  .cases{grid-template-columns:1fr}
  .case.wide{grid-column:auto}
  .tech-grid{grid-template-columns:1fr 1fr}
  .system-map{max-width:520px}
  .credentials,.principal-layout{grid-template-columns:1fr;gap:2.5rem}
  .approach,.contact-section{grid-template-columns:1fr;gap:3rem}
  .approach-head{grid-row:auto}
  .section-head{grid-template-columns:1fr;gap:1.2rem;margin-bottom:2.75rem}
}
@media(max-width:860px){
  .nav{width:min(100% - 2rem,var(--max))}
  .signal{align-items:flex-start;flex-direction:column}
  .signal div{flex-wrap:wrap;gap:.6rem}
  .menu{display:block}
  .nav-links{display:none;position:absolute;left:0;right:0;top:74px;background:var(--navy);padding:1rem 1.5rem 1.5rem;flex-direction:column;align-items:stretch;gap:.35rem;border-bottom:1px solid #ffffff20}
  .nav-links.open{display:flex}
  .nav-links a{padding:.6rem 0;font-size:.95rem}
  .nav-cta{margin-top:.5rem;text-align:center}
}
@media(max-width:700px){
  .hero-grid,.section{width:min(100% - 2rem,var(--max))}
  .privacy-page{width:min(100% - 2rem,760px);padding:4.5rem 0 5rem}
  .section,.section.dark,.section.paper{padding-top:4.5rem;padding-bottom:4.5rem}
  .section.dark,.section.paper,.approach,.contact-section,footer{padding-left:1rem;padding-right:1rem}
  .signal{align-items:flex-start;flex-direction:column;padding-left:1rem;padding-right:1rem}
  .signal div{flex-wrap:wrap;gap:.6rem}
  .services,.tech-grid{grid-template-columns:1fr}
  .metrics{grid-template-columns:1fr 1fr}
  .service.featured,.service.wide{grid-column:auto}
  .orgs h3{min-height:0}
  .service ul{grid-template-columns:1fr}
  .service{min-height:0;padding:1.5rem}
  .case{padding:1.4rem}
  .shapes ul{grid-template-columns:1fr}
  .map-foundation{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
  .form-row label{margin-top:1.1rem}
  .form-row>div:first-child label{margin-top:0}
  form{padding:1.4rem}
  .approach{padding-top:4.5rem;padding-bottom:4.5rem}
  footer{grid-template-columns:1fr}
  .footer-links{grid-row:2}
}
@media(max-width:420px){
  .service.featured,.service.wide{grid-template-columns:1fr}
  .map-split{grid-template-columns:1fr}
  .principal-stats{grid-template-columns:1fr}
  .cred-badges ul{grid-template-columns:1fr 1fr}
  .cred-badges{padding:1.2rem}
  .metrics>div{padding:1.15rem 1rem}
  .metrics dt{font-size:1.4rem}
  .principal-card{padding:1.4rem}
  .principal-aside{padding:1.3rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
  .button:hover,.button:focus-visible{transform:none}
}
