/* ATP Design System v1 | Concept B: light architectural minimalism. See docs/DESIGN_SYSTEM.md */
:root {
  --ink:#0B1019; --blue:#2453E6; --blue-hover:#1944C9; --pastel:#C9DDF7;
  --paper:#F7F9FC; --white:#FFFFFF; --muted:#606B7D; --line:#CFD6DF;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;
  --content-width:1312px; --page-gutter:clamp(22px,5.7vw,92px);
  --ease:cubic-bezier(.22,1,.36,1);
}
*, *::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit} a:hover{text-decoration-color:var(--blue)}
button,input,textarea{font:inherit} :focus-visible{outline:3px solid var(--blue);outline-offset:4px}
::selection{background:var(--pastel);color:var(--ink)}
.container{width:min(calc(100% - 2*var(--page-gutter)),var(--content-width));margin-inline:auto}
.skip-link{position:absolute;z-index:200;top:-100px;left:12px;padding:12px 18px;background:#fff;color:#000}
.skip-link:focus{top:12px}
.preview-ribbon{background:#132b6d;color:#fff;font-size:11px;font-weight:650;letter-spacing:.035em;text-align:center;padding:9px 16px;line-height:1.4}
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}
.nav-inner{display:flex;min-height:84px;align-items:center;justify-content:space-between;gap:18px}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap;font-size:17px;font-weight:730;letter-spacing:-.045em}
.brand-mark{width:12px;height:12px;background:var(--blue);display:inline-block;flex:none}
.desktop-nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,38px)}
.desktop-nav a{font-size:12px;font-weight:580;text-decoration:none;white-space:nowrap;color:#303947;transition:color .2s}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--blue)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 21px;background:var(--blue);border:1px solid var(--blue);color:#fff;font-size:13px;font-weight:640;text-decoration:none;white-space:normal;transition:background .25s var(--ease),transform .25s var(--ease)}
.button:hover{background:var(--blue-hover);border-color:var(--blue-hover);text-decoration:none;transform:translateY(-1px)}
.button-small{font-size:12px;padding:12px 18px}
.text-link{font-size:13px;font-weight:650;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;transition:color .2s}
.text-link:hover{color:var(--blue)}
.mobile-nav{display:none}
.eyebrow{margin:0 0 25px;color:var(--blue);font-size:10px;font-weight:720;letter-spacing:.18em;line-height:1.5;text-transform:uppercase}
.hero{padding-block:clamp(60px,7.3vw,120px);min-height:650px;display:grid;grid-template-columns:1.06fr 0.94fr;align-items:center;gap:clamp(36px,5vw,96px)}
.hero-copy{padding-bottom:10px}
.hero h1,.page-hero h1{margin:0;font-size:clamp(62px,5.75vw,93px);font-weight:760;line-height:.99;letter-spacing:-.075em}
.hero h1 span{display:inline}
.lead{max-width:480px;color:var(--muted);font-size:clamp(16px,1.2vw,18px);line-height:1.66;margin:34px 0 30px}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.hero-art{position:relative;width:100%;min-height:520px;display:flex;align-items:stretch}
.hero-art>img{width:100%;height:clamp(480px,44vw,590px);object-fit:cover;background:var(--pastel)}
.accent-square{position:absolute;width:78px;height:78px;left:-28px;bottom:-16px;background:var(--blue)}
.full-rule{border-top:1px solid var(--line)}
.section{padding-block:clamp(72px,7vw,118px)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:42px}
.section-heading .eyebrow{margin-bottom:12px}
h2{font-weight:740;line-height:1.06;letter-spacing:-.065em}
.section-heading h2{font-size:clamp(37px,3.6vw,57px);margin:0}
.section-link{margin-bottom:8px;flex:none}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(17px,2.1vw,33px)}
.project-image{display:block;aspect-ratio:1.22/1;overflow:hidden;background:var(--pastel)}
.project-image img{height:100%;width:100%;object-fit:cover;transition:transform .7s var(--ease)}
a.project-image:hover img{transform:scale(1.025)}
.project-number{color:var(--blue);font-size:11px;font-weight:740;letter-spacing:.10em;margin:16px 0 6px}
.project-number span{color:var(--muted);font-weight:500;font-size:9px}
.project-card h3{font-size:clamp(17px,1.4vw,22px);font-weight:710;line-height:1.2;letter-spacing:-.045em;margin:0}
.project-card h3 a{text-decoration:none}
.project-summary{font-size:14px;color:var(--muted);margin:8px 0 0;line-height:1.55}
.quiet-note{color:var(--muted);font-size:14px}
.opportunity-wrap{padding-block:16px clamp(72px,7.4vw,122px)}
.opportunity-panel{background:var(--pastel);padding:clamp(36px,4.5vw,72px);display:grid;grid-template-columns:1fr .95fr;gap:clamp(36px,5.3vw,100px)}
.opportunity-intro h2{font-size:clamp(43px,4.1vw,67px);margin:0;max-width:550px}
.eyebrow-dark{color:#123878}
.opportunity-content>p:first-child{font-size:17px;line-height:1.7;margin:0 0 29px;max-width:500px}
.mini-heading{margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid #8EA8C9;letter-spacing:.15em;font-size:10px;font-weight:750;text-transform:uppercase}
.simple-list{margin:0 0 30px;padding:0;list-style:none}
.simple-list li{position:relative;padding:6px 0 6px 16px;font-size:14px}
.simple-list li:before{content:'•';position:absolute;left:0;color:var(--blue)}
.site-footer{border-top:1px solid var(--line);padding-top:46px}
.footer-grid{display:grid;grid-template-columns:1fr .65fr 1.2fr;gap:clamp(30px,5vw,100px)}
.footer-wordmark{font-size:16px;font-weight:750;letter-spacing:-.045em;text-decoration:none}
.footer-brand p,.footer-legal p{color:var(--muted);font-size:12px;line-height:1.55;max-width:300px;margin:11px 0 0}
.footer-links{display:flex;flex-direction:column;gap:7px;align-items:start}
.footer-links a{font-size:12px;color:#465263;text-underline-offset:3px}
.footer-end{margin-top:60px;padding-block:19px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}
.page-hero{padding-block:clamp(65px,8vw,125px);max-width:var(--content-width)}
.page-hero h1{font-size:clamp(61px,8vw,119px)}
.page-lead{color:var(--muted);font-size:clamp(19px,2vw,26px);line-height:1.5;max-width:730px;margin:32px 0 0;letter-spacing:-.025em}
.split-section{padding-block:clamp(65px,7vw,110px);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(35px,7vw,140px)}
.split-section h2{font-size:clamp(37px,4vw,62px);margin:0;max-width:520px}
.split-rule{border-top:1px solid var(--line)}
.rich-copy{max-width:690px;font-size:18px;line-height:1.75;color:#2F3948}
.rich-copy p{margin:0 0 25px}
.rich-copy h3{margin:0 0 15px;color:var(--ink);font-size:22px}
.three-steps{display:grid;gap:28px}
.three-steps>div{border-top:1px solid var(--line);padding-top:19px}
.three-steps span{color:var(--blue);font-size:12px;font-weight:700}
.three-steps h3{font-size:25px;letter-spacing:-.04em;margin:5px 0}
.three-steps p{color:var(--muted);font-size:16px;line-height:1.6;margin:0}
.simple-cta{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:25px;align-items:center;padding-block:60px 100px}
.simple-cta h2{font-size:clamp(32px,3.5vw,53px);margin:0}
.content-todo{padding:22px;border-left:3px solid var(--blue);background:#E4EDFA;color:#203962;font-size:14px;line-height:1.7;margin:20px 0}
.confirm-inline{font-size:11px;font-weight:bold;color:#8B4400}
.criteria{margin:20px 0}.criteria div{border-top:1px solid var(--line);padding:15px 0}.criteria dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.criteria dd{margin:5px 0 0;font-size:18px;color:var(--ink)}
.bullet-list{padding-left:21px;margin:20px 0 30px}
.contact-address{display:block;font-weight:650;letter-spacing:-.05em;font-size:clamp(24px,2.7vw,40px);text-decoration-thickness:1px;text-underline-offset:7px;overflow-wrap:anywhere}
.contact-details .eyebrow{margin:15px 0 5px}
.privacy-reminder{margin-top:40px;color:var(--muted);font-size:14px}
.legal-content{padding-block:70px 110px;max-width:850px;margin-left:var(--page-gutter);line-height:1.75;color:#333D4C}
.legal-content h2{font-size:30px;letter-spacing:-.04em;margin:36px 0 10px;color:var(--ink)}
.legal-content p{margin:0 0 16px}.legal-note{font-size:13px;color:var(--muted)}
.project-feature{width:100%;max-height:740px;object-fit:cover}.fact-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:28px 0;border-bottom:1px solid var(--line);margin:0}.fact-strip dt{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.10em}.fact-strip dd{margin:8px 0 0;font-size:18px;font-weight:600}
.project-photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-photo-pair figure{margin:0}.project-photo-pair img{aspect-ratio:4/3;width:100%;object-fit:cover}.project-photo-pair figcaption{padding:13px 0;color:var(--muted);font-size:13px}
.error-page{min-height:60vh}
@media (max-width:1050px){.desktop-nav{gap:16px}.desktop-nav a{font-size:11px}.hero{grid-template-columns:1fr .87fr}.hero h1{font-size:clamp(52px,6vw,72px)}.hero-art{min-height:360px}.hero-art>img{height:450px}}
@media (max-width:800px){
 .nav-inner{min-height:69px}.desktop-nav,.header-cta{display:none}.mobile-nav{display:block;position:relative}
 .mobile-nav summary{cursor:pointer;display:flex;gap:17px;align-items:center;font-size:13px;font-weight:650;list-style:none;padding:9px 0 9px 10px}
 .mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav[open] summary span{transform:rotate(45deg)}
 .mobile-nav nav{position:absolute;right:0;top:44px;background:var(--paper);border:1px solid var(--line);z-index:100;width:min(80vw,350px);padding:18px;display:flex;flex-direction:column;box-shadow:0 18px 30px rgba(10,18,36,.08)}
 .mobile-nav nav a{text-decoration:none;padding:10px 4px;border-bottom:1px solid var(--line);font-size:15px}
 .hero{min-height:auto;grid-template-columns:1fr;padding-block:62px 74px;gap:36px}
 .hero h1{font-size:clamp(55px,10vw,86px)}.hero-art{min-height:auto}.hero-art>img{height:clamp(380px,65vw,580px)}.accent-square{width:54px;height:54px;left:auto;right:-12px;bottom:-12px}
 .lead{margin-top:25px}.section{padding-block:75px}.section-heading h2{font-size:clamp(36px,6vw,51px)}
 .opportunity-panel{grid-template-columns:1fr;gap:28px}.opportunity-intro h2{font-size:clamp(40px,7vw,62px)}
 .footer-grid{grid-template-columns:1fr 1fr}.footer-legal{grid-column:1/-1}.footer-end{margin-top:45px}
 .split-section{grid-template-columns:1fr;gap:23px}.simple-cta{align-items:start;flex-direction:column}.legal-content{margin-inline:auto}
}
@media (max-width:580px){
 .brand{font-size:16px}.brand-mark{width:11px;height:11px}
 .hero{padding-top:46px}.hero h1{font-size:clamp(51px,12vw,72px)}.hero-art>img{height:360px}
 .hero-actions{flex-direction:column;align-items:stretch;gap:18px}.hero-actions .text-link{text-align:center}
 .eyebrow{font-size:10px;margin-bottom:19px}.section-heading{align-items:start;gap:19px;flex-direction:column}.section-link{margin:0}
 .project-grid{grid-template-columns:1fr;gap:33px}.project-image{aspect-ratio:1.35/1}
 .opportunity-wrap{padding-bottom:72px}.opportunity-panel{padding:32px 25px}.opportunity-intro h2{font-size:clamp(37px,10vw,51px)}.opportunity-content>p:first-child{font-size:16px}
 .footer-grid{grid-template-columns:1fr;gap:29px}.footer-legal{grid-column:auto}.footer-end{flex-direction:column;gap:4px}
 .page-hero h1{font-size:clamp(51px,11vw,75px)}.page-lead{font-size:19px}.simple-cta{padding-bottom:70px}.fact-strip{grid-template-columns:1fr 1fr}.project-photo-pair{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* 2026 refined light Option B: editorial layout; minimum visual chrome */
:root { --content-width:1340px; --page-gutter:clamp(24px,5.35vw,88px);--ink:#101318;--paper:#F9FAFC;--muted:#606977;--line:#D9DEE6;--pastel:#D5E4FA;--blue:#2453E6; }
body{font-optical-sizing:auto}
.nav-inner{min-height:77px}.desktop-nav a{font-size:12px;font-weight:560}.site-header{position:relative;z-index:10}
.preview-ribbon{background:#18243A;font-size:10px;letter-spacing:.075em;display:flex;align-items:center;justify-content:center;gap:9px}
.preview-dot{display:inline-block;width:6px;height:6px;background:#A9C7F6;border-radius:50%}
.hero{grid-template-columns:1.1fr .9fr;gap:clamp(42px,4.5vw,100px);padding-block:clamp(60px,7vw,104px)}
.hero h1{font-size:clamp(55px,5.7vw,92px);letter-spacing:-.075em;font-weight:730;line-height:1.035}
.hero-art>img{min-height:500px;object-fit:cover}.hero-art-caption{position:absolute;bottom:24px;right:24px;padding:8px 12px;font-size:10px;letter-spacing:.14em;color:#284B7B;background:rgba(239,246,255,.85);font-weight:680}
.hero-actions .text-link{white-space:nowrap}.arrow{font-size:1.13em}
.section{padding-top:clamp(75px,7vw,110px);padding-bottom:clamp(70px,7vw,106px)}
.project-image{aspect-ratio:1.38/1}.project-card-placeholder .project-summary{max-width:26ch}.project-card-placeholder .project-number{font-size:10px}
.introduction{padding-block:clamp(70px,7.5vw,128px);display:grid;grid-template-columns:.8fr 1fr;gap:clamp(40px,10vw,180px);align-items:start}
.introduction h2{font-size:clamp(38px,3.8vw,62px);margin:0;max-width:580px}
.introduction>div:last-child>p{font-size:clamp(19px,1.7vw,24px);font-weight:410;letter-spacing:-.018em;line-height:1.58;margin:30px 0 26px;max-width:600px;color:#343B46}
.approach-section{padding-block:clamp(76px,8.5vw,130px);display:grid;grid-template-columns:1fr 1.12fr;gap:clamp(35px,8vw,130px)}
.approach-heading h2{font-size:clamp(42px,4.6vw,69px);margin:0}
.approach-steps>div{border-top:1px solid var(--line);display:grid;grid-template-columns:48px 1fr;column-gap:22px;padding:22px 0 26px}
.approach-steps .step-num{grid-row:span 2;font-size:12px;color:var(--blue);font-weight:680;padding-top:6px}
.approach-steps h3{font-size:clamp(21px,2vw,28px);letter-spacing:-.05em;font-weight:660;line-height:1.15;margin:0}
.approach-steps p{grid-column:2;color:var(--muted);font-size:15px;line-height:1.6;margin:11px 0 0;max-width:470px}
.opportunity-wrap{padding-top:0;padding-bottom:clamp(90px,9vw,140px)}.opportunity-panel{background:#D6E5F9;grid-template-columns:.95fr 1fr;padding:clamp(36px,5vw,78px);gap:clamp(30px,8vw,140px)}
.opportunity-intro h2{font-size:clamp(41px,4.15vw,69px);font-weight:720}.panel-micro{font-size:13px;letter-spacing:.01em;margin-top:26px;color:#445B7C}
.opportunity-content>p:first-child{font-size:clamp(16px,1.35vw,19px);line-height:1.65;max-width:460px}
.footer-square{display:block;background:var(--blue);width:13px;height:13px;margin-top:30px}.site-footer{padding-top:56px}
.footer-end{margin-top:66px}.footer-wordmark{font-size:17px}.empty-projects{padding:64px 0;color:var(--muted);font-size:18px}
@media(max-width:1050px){.hero{grid-template-columns:1fr .85fr}.hero h1{font-size:clamp(51px,6.25vw,76px)}}
@media(max-width:800px){.introduction,.approach-section{grid-template-columns:1fr;gap:34px}.introduction>div:last-child>p{margin:0 0 22px}.approach-steps{margin-top:10px}.hero{grid-template-columns:1fr}.hero-art>img{min-height:0;height:480px}.hero-art-caption{right:14px}.nav-inner{min-height:68px}.mobile-nav summary{border:1px solid var(--line);padding:9px 14px}.menu-icon{display:inline-block;width:9px;height:9px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-5px}.mobile-nav[open] .menu-icon{transform:rotate(225deg);margin-top:4px}.opportunity-panel{grid-template-columns:1fr}}
@media(max-width:580px){.hero{padding-top:60px;gap:35px}.hero h1{font-size:clamp(47px,11.8vw,69px);letter-spacing:-.07em}.hero-art>img{height:360px}.accent-square{right:-9px;bottom:-11px;width:55px;height:55px}.hero-art-caption{font-size:8px;bottom:14px}.lead{font-size:16px;margin-top:25px}.hero-actions{gap:22px}.hero-actions .button{width:100%}.section-heading h2{font-size:clamp(35px,9vw,48px)}.introduction{padding-block:70px}.introduction h2{font-size:clamp(39px,9vw,54px)}.introduction>div:last-child>p{font-size:18px}.approach-section{padding-block:65px 75px}.approach-heading h2{font-size:clamp(42px,9.6vw,60px)}.approach-steps>div{grid-template-columns:34px 1fr;column-gap:14px}.opportunity-panel{padding:34px 25px}.opportunity-intro h2{font-size:clamp(42px,10.5vw,58px)}.opportunity-content>p:first-child{font-size:16px}.page-hero{padding-block:70px}.page-hero h1{font-size:clamp(51px,10.8vw,73px)}.footer-end{margin-top:50px}.preview-ribbon{font-size:8px;padding:9px 14px}}

/* Public illustrative-gallery treatment: never suggest imagery is a completed case study. */
.illustration-disclaimer{font-size:13px;line-height:1.55;color:#586478;margin-top:20px;max-width:720px}
.criteria-note{font-size:14px;color:#52637a;background:#eef4fc;padding:18px 20px;margin-top:18px}
.project-card .project-summary{line-height:1.55}
.project-card-placeholder .project-image img{object-fit:cover}
