

:root { --navy:#001a3a; --white:#f7f8fa; --muted:rgba(247,248,250,.66); --line:rgba(247,248,250,.18); --blue:#4a90e2; --green:#50c878; --coral:#ff6b6b; }
* { box-sizing:border-box; }
html { width:100%; max-width:100%; overflow-x:hidden; scroll-behavior:smooth; }
body { width:100%; max-width:100%; margin:0; overflow-x:hidden; background:var(--navy); color:var(--white); font-family:Arial, Helvetica, sans-serif; }
main,header,section,footer,nav,div,article,aside { min-width:0; }
img,svg { max-width:100%; }
a { color:inherit; text-decoration:none; }
.arrow-glyph { font-family:Arial,Helvetica,sans-serif; font-variant-emoji:text; font-style:normal; }
.hero { min-height:100svh; padding:28px 42px 32px; display:flex; flex-direction:column; }
.nav { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:32px; font-size:13px; }
.wordmark { font-size:17px; font-weight:800; letter-spacing:-.04em; }
.wordmark-mark { color:var(--blue); }
.logo-link { width:120px; height:120px; display:block; }
.logo-link img { width:100%; height:100%; object-fit:contain; display:block; }
.nav-links { display:flex; gap:38px; color:var(--muted); }
.nav-links a:hover { color:var(--white); }
.nav-cta { justify-self:end; border-bottom:1px solid var(--white); padding-bottom:5px; display:flex; gap:10px; }
.hero-copy { margin:auto 0; padding:70px 0 36px; }
.eyebrow,.section-label { margin:0 0 24px; text-transform:uppercase; letter-spacing:.16em; font-size:11px; color:var(--muted); }
h1 { margin:0; font-size:clamp(80px,13.2vw,210px); line-height:.73; letter-spacing:-.085em; font-weight:700; text-transform:uppercase; }
h1 span { display:block; }
h1 span:nth-child(2) { margin-left:25%; }
.hero-dot { display:inline; color:var(--blue); }
.hero-footer { border-top:1px solid var(--line); padding-top:22px; display:flex; justify-content:space-between; align-items:flex-end; font-size:15px; }
.hero-footer p { max-width:360px; margin:0; color:var(--muted); line-height:1.5; }
.hero-footer a { display:flex; gap:18px; }
.intro { padding:150px 42px 84px; display:grid; grid-template-columns:1fr 3fr; gap:32px; }
.intro-copy h2,.industries h2 { margin:0 0 34px; font-size:clamp(48px,7.5vw,112px); line-height:.92; letter-spacing:-.065em; }
.intro-copy p { max-width:700px; margin:0; font-size:clamp(20px,2vw,30px); line-height:1.4; color:var(--muted); }
.pillars { display:grid; grid-template-columns:repeat(3,1fr); }
.pillar { min-height:650px; padding:34px 34px 38px; display:flex; flex-direction:column; justify-content:space-between; color:#00152f; transition:filter .25s ease; }
.pillar:hover { filter:brightness(1.08); }
.pillar-build { background:var(--blue); }.pillar-buy { background:var(--green); }.pillar-back { background:var(--coral); }
.pillar-top { display:flex; justify-content:space-between; font-size:14px; }
.pillar-top span:first-child { opacity:.68; }
.pillar h3 { font-size:clamp(66px,8vw,118px); line-height:.8; letter-spacing:-.07em; margin:0 0 34px; }
.pillar p { max-width:360px; font-size:17px; line-height:1.5; margin:0 0 42px; }
.pillar a { border-bottom:1px solid currentColor; padding-bottom:8px; font-weight:700; display:inline-flex; }
.industries { padding:150px 42px; display:grid; grid-template-columns:1fr 1.2fr; gap:10vw; }
.industries-heading>p:last-child { max-width:460px; color:var(--muted); line-height:1.6; font-size:17px; }
.industry-list { list-style:none; margin:30px 0 0; padding:0; }
.industry-list details { border-top:1px solid var(--line); }
.industry-list details:last-child { border-bottom:1px solid var(--line); }
.industry-list summary { min-height:112px; display:grid; grid-template-columns:50px 1fr auto; gap:20px; align-items:center; cursor:pointer; list-style:none; }
.industry-list summary::-webkit-details-marker { display:none; }
.industry-list summary:focus-visible { outline:2px solid var(--blue); outline-offset:-2px; }
.industry-list span { color:var(--muted); font-size:11px; }
.industry-list strong { font-size:clamp(22px,2.5vw,38px); letter-spacing:-.035em; }
.industry-list i { width:34px; height:34px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; font-size:22px; font-style:normal; font-weight:300; transition:transform .25s ease, background-color .25s ease, color .25s ease; }
.industry-list details[open] i { transform:rotate(45deg); background:var(--white); color:var(--navy); }
.industry-list details>p { margin:0; padding:0 55px 34px 70px; color:var(--muted); font-size:17px; line-height:1.55; max-width:650px; }
.long-view { background:var(--white); color:var(--navy); padding:140px 42px 42px; }
.long-view .section-label { color:rgba(0,26,58,.55); }
blockquote { margin:80px 0 140px; font-size:clamp(54px,9vw,140px); font-weight:700; line-height:.9; letter-spacing:-.065em; }
.long-view-foot { border-top:1px solid rgba(0,26,58,.2); padding-top:22px; display:grid; grid-template-columns:repeat(3,1fr); font-size:13px; text-transform:uppercase; letter-spacing:.1em; }
.get-in-touch { background:#f0efed; color:var(--navy); padding:42px; display:grid; grid-template-columns:minmax(260px,.8fr) 2.4fr; gap:42px; }
.contact-intro { padding:12px 10px 20px 0; display:flex; flex-direction:column; }
.contact-intro .section-label { color:rgba(0,26,58,.5); }
.contact-intro h2 { margin:0 0 34px; font-size:clamp(42px,5vw,76px); line-height:.92; letter-spacing:-.055em; }
.contact-intro>p:last-child { margin:auto 0 0; max-width:300px; color:rgba(0,26,58,.66); font-size:18px; line-height:1.5; }
.contact-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.contact-card { min-height:500px; background:#faf9f7; border-radius:0 0 22px 22px; padding:30px; display:flex; flex-direction:column; position:relative; overflow:hidden; transition:transform .25s ease, background-color .25s ease; }
.contact-card:hover { transform:translateY(-6px); background:#fff; }
.contact-card:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.contact-card>span { font-size:clamp(27px,2.3vw,40px); line-height:1.02; letter-spacing:-.045em; }
.contact-card small { margin-top:12px; color:rgba(0,26,58,.52); font-size:13px; }
.contact-card i { margin-top:auto; width:50px; height:50px; border-radius:50%; display:grid; place-items:center; background:var(--navy); color:var(--white); font-style:normal; font-size:18px; }
.contact-email i { background:var(--blue); }.contact-x i { background:var(--coral); }.contact-ideas i { background:var(--green); color:var(--navy); }
.newsletter { background:var(--blue); color:var(--navy); padding:120px 42px 44px; min-height:620px; display:grid; grid-template-columns:1.5fr 1fr; gap:8vw; align-items:end; }
.newsletter .section-label { color:rgba(0,26,58,.58); }
.newsletter h2 { margin:0; font-size:clamp(76px,11vw,168px); line-height:.8; letter-spacing:-.075em; }
.newsletter-action { padding-bottom:10px; }
.newsletter-action p { margin:0 0 54px; max-width:480px; font-size:clamp(20px,2vw,28px); line-height:1.4; }
.newsletter-action form { max-width:480px; }
.newsletter-action label { display:block; margin-bottom:12px; font-size:12px; text-transform:uppercase; letter-spacing:.13em; font-weight:700; }
.newsletter-field { display:grid; grid-template-columns:1fr auto; border-bottom:2px solid var(--navy); }
.newsletter-field input { min-width:0; border:0; outline:0; background:transparent; color:var(--navy); padding:12px 0 16px; font:inherit; font-size:18px; }
.newsletter-field input::placeholder { color:rgba(0,26,58,.5); }
.newsletter-field:focus-within { border-bottom-width:4px; }
.newsletter-field button { border:0; background:transparent; color:var(--navy); padding:12px 0 16px 28px; display:flex; align-items:center; gap:20px; font:inherit; font-size:17px; font-weight:700; cursor:pointer; }
.newsletter-field button:hover { opacity:.65; }
.newsletter-field button:disabled,.newsletter-field input:disabled { opacity:.55; cursor:wait; }
.form-trap { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.form-message { min-height:22px; margin:12px 0 0!important; font-size:14px!important; }
.form-message.error { color:#7a1020; }.form-message.success { font-weight:700; }
.newsletter-action form>small { display:block; margin-top:12px; max-width:430px; color:rgba(0,26,58,.58); font-size:11px; line-height:1.45; }
.connect { padding:150px 42px 120px; position:relative; overflow:hidden; }
.connect:after { content:""; width:380px; height:380px; border:1px solid var(--blue); border-radius:50%; position:absolute; right:-60px; bottom:-140px; opacity:.45; }
.connect h2 { margin:0 0 70px; font-size:clamp(72px,12vw,190px); line-height:.8; letter-spacing:-.075em; }
.connect>a { display:inline-flex; gap:50px; align-items:center; border:1px solid var(--white); padding:22px 26px; min-width:280px; justify-content:space-between; }
.connect>a:hover { background:var(--white); color:var(--navy); }
footer { border-top:1px solid var(--line); padding:38px 42px; display:grid; grid-template-columns:1fr 1fr 2fr auto; align-items:start; gap:40px; color:var(--muted); font-size:12px; }
footer p { margin:0; } footer div { display:flex; gap:30px; flex-wrap:wrap; } footer .wordmark { color:var(--white); }
.legal-page { width:100%; max-width:100%; min-height:100vh; overflow-x:hidden; background:var(--navy); color:var(--white); }
.legal-nav { height:92px; padding:0 42px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); }
.legal-nav-center { display:flex; gap:30px; color:var(--muted); font-size:12px; }
.legal-nav-center a[aria-current="page"] { color:var(--white); }
.legal-back { justify-self:end; display:flex; gap:14px; color:var(--muted); font-size:13px; }
.legal-back span { color:var(--white); }
.legal-hero { min-height:600px; padding:90px 42px 72px; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr); gap:8vw; align-items:end; border-bottom:1px solid var(--line); position:relative; overflow:hidden; }
.legal-hero:after { content:""; position:absolute; width:360px; height:360px; border:1px solid var(--blue); border-radius:50%; right:-110px; top:-120px; opacity:.45; }
.legal-hero h1 { width:100%; max-width:1000px; margin:0; overflow-wrap:normal; word-break:normal; white-space:nowrap; font-size:clamp(68px,8vw,145px); line-height:.76; letter-spacing:-.075em; text-transform:uppercase; }
.legal-hero-copy>p:last-child { max-width:660px; margin:38px 0 0; color:var(--muted); font-size:20px; line-height:1.55; }
.legal-meta { border-top:1px solid var(--line); }
.legal-meta-row { display:grid; grid-template-columns:90px minmax(0,1fr); gap:20px; padding:17px 0; border-bottom:1px solid var(--line); font-size:12px; line-height:1.5; }
.legal-meta-row span:first-child { color:var(--muted); text-transform:uppercase; letter-spacing:.11em; font-size:10px; }
.legal-layout { padding:110px 42px 140px; display:grid; grid-template-columns:minmax(190px,.36fr) minmax(0,1fr); gap:9vw; max-width:1500px; margin:auto; }
.legal-index { align-self:start; position:sticky; top:30px; }
.legal-index>p { margin:0 0 22px; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); font-size:10px; }
.legal-index nav { display:flex; flex-direction:column; }
.legal-index a { padding:13px 0; border-top:1px solid var(--line); color:var(--muted); font-size:13px; transition:color .2s,padding-left .2s; }
.legal-index a:last-child { border-bottom:1px solid var(--line); }
.legal-index a:hover { color:var(--white); padding-left:8px; }
.legal-sections { min-width:0; max-width:900px; }
.legal-section { display:grid; grid-template-columns:54px minmax(0,1fr); gap:24px; padding:0 0 64px; margin:0 0 64px; border-bottom:1px solid var(--line); scroll-margin-top:30px; }
.legal-section>span { color:var(--blue); font-size:11px; letter-spacing:.12em; padding-top:7px; }
.legal-section h2 { margin:0 0 22px; font-size:clamp(30px,3.4vw,52px); line-height:1; letter-spacing:-.045em; }
.legal-section p,.legal-section li { margin:0; color:var(--muted); font-size:17px; line-height:1.75; }
.legal-section p+p { margin-top:18px; }
.legal-section ul { margin:18px 0 0; padding-left:20px; }
.legal-section a { color:var(--white); border-bottom:1px solid var(--muted); }
.legal-note { padding:26px!important; margin-top:26px!important; border:1px solid var(--line); border-radius:0 0 18px 18px; color:var(--white)!important; }
.policy-switcher { background:var(--white); color:var(--navy); padding:70px 42px; }
.policy-switcher>p { margin:0 0 28px; color:rgba(0,26,58,.5); text-transform:uppercase; letter-spacing:.14em; font-size:10px; }
.policy-links { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(0,26,58,.2); }
.policy-links a { padding:30px 22px 34px 0; border-bottom:1px solid rgba(0,26,58,.2); display:flex; justify-content:space-between; align-items:center; font-size:clamp(23px,2.5vw,38px); letter-spacing:-.04em; }
.policy-links a:not(:last-child) { margin-right:34px; }
.policy-links a span { width:36px; height:36px; border-radius:50%; background:var(--navy); color:var(--white); display:grid; place-items:center; font-size:14px; }
.team-page { width:100%; overflow-x:hidden; background:var(--navy); color:var(--white); }
.team-nav { height:92px; padding:0 42px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:1px solid var(--line); }
.team-nav-links { display:flex; gap:32px; color:var(--muted); font-size:12px; }
.team-nav-links a[aria-current="page"] { color:var(--white); }
.team-contact { justify-self:end; padding-bottom:5px; border-bottom:1px solid var(--white); font-size:13px; }
.subpage-logo { width:120px; height:82px; display:flex; align-items:center; }
.subpage-logo img { width:100%; height:100%; display:block; object-fit:contain; }
.team-hero { min-height:650px; padding:100px 42px 70px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); align-items:end; gap:8vw; position:relative; overflow:hidden; }
.team-hero:after { content:""; width:420px; height:420px; border:1px solid var(--blue); border-radius:50%; position:absolute; right:-130px; top:-170px; opacity:.5; }
.team-hero h1 { margin:0; font-size:clamp(76px,11vw,172px); line-height:.76; letter-spacing:-.075em; text-transform:uppercase; }
.team-hero-copy { position:relative; z-index:1; }
.team-hero-note { max-width:470px; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:21px; line-height:1.55; }
.team-hero-note strong { display:block; margin-bottom:16px; color:var(--white); font-size:11px; text-transform:uppercase; letter-spacing:.13em; }
.team-roster { background:#f0efed; color:var(--navy); padding:110px 42px 130px; }
.team-roster-head { display:grid; grid-template-columns:1fr 2fr; gap:50px; margin-bottom:70px; }
.team-roster-head .section-label { color:rgba(0,26,58,.5); }
.team-roster-head h2 { max-width:850px; margin:0; font-size:clamp(48px,6vw,92px); line-height:.9; letter-spacing:-.06em; }
.team-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.team-card { min-width:0; }
.team-visual { aspect-ratio:1/.84; padding:28px; display:flex; justify-content:space-between; align-items:flex-start; position:relative; overflow:hidden; color:var(--navy); }
.team-card:nth-child(1) .team-visual,.team-card:nth-child(6) .team-visual { background:var(--blue); }
.team-card:nth-child(2) .team-visual,.team-card:nth-child(4) .team-visual { background:var(--green); }
.team-card:nth-child(3) .team-visual,.team-card:nth-child(5) .team-visual { background:var(--coral); }
.team-visual>span { font-size:12px; letter-spacing:.12em; }
.team-photo { padding:28px; }
.team-photo-blue { background:var(--blue)!important; }
.team-photo-green { background:var(--green)!important; }
.team-photo-coral { background:var(--coral)!important; }
.team-photo:before { content:""; width:58%; aspect-ratio:1; border:1px solid rgba(0,26,58,.72); border-radius:50%; position:absolute; right:-8%; bottom:-25%; }
.team-photo img { width:25%; height:auto; aspect-ratio:1; object-fit:cover; object-position:center 34%; display:block; position:absolute; right:15%; bottom:20px; border-radius:0 0 16px 16px; }
.team-photo>span { position:relative; z-index:1; padding:0; background:transparent; color:var(--navy); }
.team-mark { width:58%; aspect-ratio:1; border:1px solid currentColor; border-radius:50%; position:absolute; right:-8%; bottom:-25%; opacity:.55; }
.team-mark:after { content:""; width:42%; aspect-ratio:1; background:currentColor; border-radius:0 0 18px 18px; position:absolute; left:18%; top:18%; }
.team-card h2 { margin:22px 0 7px; font-size:clamp(27px,2.5vw,40px); line-height:1; letter-spacing:-.045em; }
.team-card p { max-width:370px; margin:0; color:rgba(0,26,58,.62); font-size:15px; line-height:1.55; }
.team-join { padding:130px 42px; display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:end; }
.team-join h2 { margin:0; font-size:clamp(68px,9vw,138px); line-height:.8; letter-spacing:-.07em; }
.team-join div { padding-bottom:10px; }
.team-join p { max-width:500px; margin:0 0 38px; color:var(--muted); font-size:20px; line-height:1.55; }
.team-join a { display:inline-flex; justify-content:space-between; gap:50px; min-width:280px; padding:20px 24px; border:1px solid var(--white); }
.team-join a:hover { background:var(--white); color:var(--navy); }
.portfolio-page { width:100%; overflow-x:hidden; background:var(--navy); color:var(--white); }
.portfolio-hero { min-height:720px; padding:90px 42px 70px; display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr); gap:8vw; align-items:end; position:relative; overflow:hidden; }
.portfolio-hero:after { content:""; width:430px; height:430px; border:1px solid var(--coral); border-radius:50%; position:absolute; right:-130px; top:-160px; opacity:.48; }
.portfolio-hero h1 { margin:0; font-size:clamp(76px,10.5vw,165px); line-height:.76; letter-spacing:-.075em; }
.portfolio-hero>p { max-width:470px; margin:0; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:21px; line-height:1.55; position:relative; z-index:1; }
.portfolio-intro { padding:120px 42px; display:grid; grid-template-columns:.5fr 1fr 1fr; gap:6vw; align-items:end; border-top:1px solid var(--line); }
.portfolio-intro h2 { margin:0; font-size:clamp(54px,7vw,105px); line-height:.82; letter-spacing:-.065em; }
.portfolio-intro>p:last-child { max-width:520px; margin:0; color:var(--muted); font-size:20px; line-height:1.55; }
.portfolio-groups { background:#f0efed; color:var(--navy); padding:0 42px 120px; }
.portfolio-group { padding:100px 0 110px; border-bottom:1px solid rgba(0,26,58,.2); }
.portfolio-group>header { display:grid; grid-template-columns:70px 1fr; gap:30px; align-items:start; margin-bottom:60px; }
.portfolio-group>header>span { padding-top:14px; color:rgba(0,26,58,.45); font-size:11px; letter-spacing:.12em; }
.portfolio-group>header h2 { margin:0 0 12px; font-size:clamp(64px,8vw,120px); line-height:.8; letter-spacing:-.07em; }
.portfolio-group>header p { max-width:530px; margin:0; color:rgba(0,26,58,.62); font-size:17px; line-height:1.55; }
.portfolio-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.company-placeholder { min-height:430px; padding:28px; background:#faf9f7; display:flex; flex-direction:column; border-radius:0 0 20px 20px; }
.company-placeholder>div { display:flex; justify-content:space-between; align-items:flex-start; color:rgba(0,26,58,.55); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.company-placeholder i { width:50px; height:50px; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font-style:normal; font-size:15px; }
.company-placeholder h3 { margin:auto 0 10px; font-size:clamp(32px,3vw,46px); line-height:1; letter-spacing:-.05em; }
.company-placeholder p { margin:0; color:rgba(0,26,58,.5); font-size:14px; }
.portfolio-build .company-placeholder { border-top:7px solid var(--blue); }.portfolio-buy .company-placeholder { border-top:7px solid var(--green); }.portfolio-back .company-placeholder { border-top:7px solid var(--coral); }
.portfolio-cta { padding:130px 42px; position:relative; overflow:hidden; }
.portfolio-cta:after { content:""; width:380px; height:380px; border:1px solid var(--blue); border-radius:50%; position:absolute; right:-100px; bottom:-160px; opacity:.45; }
.portfolio-cta h2 { margin:0 0 70px; font-size:clamp(64px,10vw,150px); line-height:.82; letter-spacing:-.07em; }
.portfolio-cta a { display:inline-flex; justify-content:space-between; gap:50px; min-width:280px; padding:20px 24px; border:1px solid var(--white); }
.portfolio-cta a:hover { background:var(--white); color:var(--navy); }
.funding-page { width:100%; overflow-x:hidden; background:var(--navy); color:var(--white); }
.funding-hero { min-height:560px; padding:90px 42px 70px; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:8vw; align-items:end; border-bottom:1px solid var(--line); position:relative; overflow:hidden; }
.funding-hero:after { content:""; width:400px; height:400px; border:1px solid var(--coral); border-radius:50%; position:absolute; right:-120px; top:-150px; opacity:.5; }
.funding-hero h1 { margin:0; font-size:clamp(70px,10vw,155px); line-height:.77; letter-spacing:-.075em; }
.funding-hero>p { max-width:480px; margin:0; padding-top:22px; border-top:1px solid var(--line); color:var(--muted); font-size:20px; line-height:1.55; position:relative; z-index:1; }
.funding-layout { background:#f0efed; color:var(--navy); padding:110px 42px 130px; display:grid; grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr); gap:9vw; }
.funding-aside { align-self:start; position:sticky; top:30px; }
.funding-aside .section-label { color:rgba(0,26,58,.52); }
.funding-aside h2 { margin:0 0 28px; font-size:clamp(42px,5vw,74px); line-height:.9; letter-spacing:-.055em; }
.funding-aside p { max-width:390px; margin:0; color:rgba(0,26,58,.62); font-size:17px; line-height:1.6; }
.funding-form { max-width:850px; }
.form-section { padding:0 0 62px; margin:0 0 62px; border:0; border-bottom:1px solid rgba(0,26,58,.2); }
.form-section legend { width:100%; margin:0 0 34px; font-size:clamp(30px,3.5vw,48px); font-weight:700; letter-spacing:-.045em; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
.form-group { min-width:0; }
.form-group-full { grid-column:1/-1; }
.form-group label { display:block; margin-bottom:10px; font-size:11px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.form-group input,.form-group select,.form-group textarea { width:100%; border:1px solid rgba(0,26,58,.22); border-radius:0; background:#faf9f7; color:var(--navy); padding:16px; font:inherit; font-size:16px; }
.form-group textarea { min-height:150px; resize:vertical; line-height:1.5; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { outline:2px solid var(--blue); outline-offset:2px; }
.form-consent { display:flex; gap:12px; align-items:flex-start; color:rgba(0,26,58,.68); font-size:13px; line-height:1.5; }
.form-consent input { margin-top:3px; accent-color:var(--navy); }
.form-consent a { color:var(--navy); text-decoration:underline; }
.funding-submit { min-width:260px; border:0; background:var(--coral); color:var(--navy); padding:20px 24px; display:flex; justify-content:space-between; gap:40px; font:inherit; font-weight:700; cursor:pointer; }
.funding-submit:hover { filter:brightness(1.04); }
.funding-submit:disabled { opacity:.6; cursor:wait; }
.funding-message { min-height:24px; margin:18px 0 0; font-size:15px; }
.funding-message.success { font-weight:700; }.funding-message.error { color:#8d1827; }
@media(max-width:800px) {
  .hero h1,.intro h2,.industries h2,.pillar h3,blockquote,.contact-card>span,.newsletter h2,.connect h2 { overflow-wrap:normal; word-break:normal; }
  .hero h1 span { white-space:nowrap; }
  .hero { width:100%; padding:22px 20px 24px; }
  .nav { width:100%; grid-template-columns:minmax(0,1fr) auto; gap:16px; }.nav-links { display:none; }.nav-cta { font-size:0; border:0; }.nav-cta span { font-size:20px; }.logo-link { width:92px; height:92px; }
  h1 { max-width:100%; overflow-wrap:anywhere; font-size:clamp(54px,18vw,90px); line-height:.79; }.hero-copy { width:100%; padding-top:90px; } h1 span:nth-child(2) { margin-left:0; }
  .hero-footer { width:100%; align-items:flex-end; gap:18px; }.hero-footer p { min-width:0; max-width:220px; font-size:13px; }.hero-footer a { flex:0 0 auto; font-size:0; }.hero-footer a span { font-size:20px; }
  .intro { width:100%; padding:100px 20px 60px; grid-template-columns:minmax(0,1fr); }.intro-copy h2,.industries h2 { overflow-wrap:anywhere; font-size:clamp(42px,14vw,68px); }.intro-copy p { font-size:20px; }
  .pillars { width:100%; grid-template-columns:minmax(0,1fr); }.pillar { width:100%; min-height:450px; padding:28px 20px; }.pillar h3 { overflow-wrap:anywhere; font-size:clamp(62px,22vw,82px); }
  .industries { width:100%; padding:100px 20px; grid-template-columns:minmax(0,1fr); gap:50px; }.industry-list { min-width:0; }.industry-list summary { min-width:0; min-height:90px; grid-template-columns:30px minmax(0,1fr) auto; gap:10px; }.industry-list strong { overflow-wrap:anywhere; font-size:clamp(20px,7vw,28px); }.industry-list details>p { padding:0 40px 28px 40px; font-size:15px; }.industry-list i { width:30px; height:30px; }
  .long-view { width:100%; padding:90px 20px 30px; } blockquote { overflow-wrap:anywhere; margin:60px 0 100px; font-size:clamp(46px,14vw,70px); }.long-view-foot { grid-template-columns:minmax(0,1fr); gap:16px; }
  .get-in-touch { width:100%; padding:80px 20px 20px; grid-template-columns:minmax(0,1fr); gap:50px; }.contact-intro>p:last-child { margin-top:20px; }.contact-cards { min-width:0; grid-template-columns:minmax(0,1fr); }.contact-card { width:100%; min-height:310px; padding:24px; border-radius:0 0 18px 18px; }.contact-card>span { overflow-wrap:anywhere; font-size:32px; }
  .newsletter { width:100%; min-height:620px; padding:90px 20px 36px; grid-template-columns:minmax(0,1fr); gap:90px; }.newsletter h2 { overflow-wrap:anywhere; font-size:clamp(56px,17vw,82px); }.newsletter-action { min-width:0; }.newsletter-action p { font-size:20px; }.newsletter-field { grid-template-columns:minmax(0,1fr) auto; }.newsletter-field button { padding-left:16px; }
  .connect { width:100%; padding:100px 20px; }.connect h2 { overflow-wrap:anywhere; margin-bottom:60px; font-size:clamp(58px,18vw,86px); }.connect>a { width:100%; min-width:0; }
  footer { width:100%; padding:32px 20px; grid-template-columns:minmax(0,1fr); } footer div { grid-column:auto; flex-wrap:wrap; } footer>p:last-child { grid-column:auto; }
  .legal-nav { height:78px; padding:0 20px; grid-template-columns:1fr auto; }.legal-nav-center { display:none; }.legal-back { font-size:0; }.legal-back span { font-size:18px; }
  .legal-hero { width:100%; min-height:640px; padding:80px 20px 44px; grid-template-columns:minmax(0,1fr); gap:70px; }.legal-hero h1 { max-width:100%; overflow-wrap:normal; word-break:normal; white-space:nowrap; font-size:clamp(44px,13.4vw,64px); line-height:.82; }.legal-hero-copy>p:last-child { font-size:17px; }.legal-meta { min-width:0; max-width:none; }.legal-meta-row { grid-template-columns:76px minmax(0,1fr); gap:14px; }
  .legal-layout { width:100%; padding:80px 20px 100px; grid-template-columns:minmax(0,1fr); gap:70px; }.legal-index { min-width:0; position:static; }.legal-index a { overflow-wrap:anywhere; }.legal-section { min-width:0; grid-template-columns:30px minmax(0,1fr); gap:10px; padding-bottom:48px; margin-bottom:48px; }.legal-section p,.legal-section li { overflow-wrap:anywhere; font-size:16px; }
  .policy-switcher { width:100%; padding:60px 20px; }.policy-links { grid-template-columns:minmax(0,1fr); }.policy-links a { min-width:0; gap:18px; }.policy-links a:not(:last-child) { margin-right:0; }.policy-links a span { flex:0 0 auto; }
  .team-nav { height:92px; padding:0 20px; grid-template-columns:1fr auto; }.team-nav-links { display:none; }.team-contact { font-size:12px; }.subpage-logo { width:108px; height:82px; }
  .team-hero { min-height:680px; padding:90px 20px 50px; grid-template-columns:minmax(0,1fr); gap:80px; }.team-hero h1 { max-width:100%; overflow-wrap:normal; word-break:normal; white-space:nowrap; font-size:clamp(46px,14.5vw,64px); line-height:.8; letter-spacing:-.07em; }.team-hero-note { font-size:18px; }
  .team-roster { padding:90px 20px 100px; }.team-roster-head { grid-template-columns:minmax(0,1fr); gap:24px; margin-bottom:50px; }.team-roster-head h2 { font-size:clamp(44px,14vw,68px); }.team-grid { grid-template-columns:minmax(0,1fr); gap:48px; }.team-card h2 { font-size:34px; }
  .team-join { padding:100px 20px; grid-template-columns:minmax(0,1fr); gap:70px; }.team-join h2 { font-size:clamp(58px,18vw,84px); }.team-join a { width:100%; min-width:0; }
  .portfolio-hero { min-height:700px; padding:90px 20px 50px; grid-template-columns:minmax(0,1fr); gap:70px; }.portfolio-hero h1 { max-width:100%; overflow-wrap:normal; word-break:normal; white-space:nowrap; font-size:clamp(46px,14.5vw,64px); line-height:.8; letter-spacing:-.07em; }.portfolio-hero>p { font-size:18px; }
  .portfolio-intro { padding:90px 20px; grid-template-columns:minmax(0,1fr); gap:38px; }.portfolio-intro h2 { font-size:clamp(54px,17vw,80px); }.portfolio-intro>p:last-child { font-size:18px; }
  .portfolio-groups { padding:0 20px 90px; }.portfolio-group { padding:80px 0; }.portfolio-group>header { grid-template-columns:30px minmax(0,1fr); gap:12px; margin-bottom:44px; }.portfolio-group>header h2 { font-size:70px; }.portfolio-grid { grid-template-columns:minmax(0,1fr); gap:18px; }.company-placeholder { min-height:340px; }
  .portfolio-cta { padding:100px 20px; }.portfolio-cta h2 { font-size:clamp(54px,16vw,78px); }.portfolio-cta a { width:100%; min-width:0; }
  .funding-hero { min-height:650px; padding:90px 20px 50px; grid-template-columns:minmax(0,1fr); gap:70px; }.funding-hero h1 { max-width:100%; white-space:nowrap; font-size:clamp(42px,11.5vw,58px); line-height:.82; }.funding-hero>p { font-size:18px; }
  .funding-layout { padding:90px 20px 110px; grid-template-columns:minmax(0,1fr); gap:70px; }.funding-aside { position:static; }.form-grid { grid-template-columns:minmax(0,1fr); }.form-group-full { grid-column:auto; }.funding-submit { width:100%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
