:root { --ink:#112633; --muted:#63727a; --paper:#f6f4ef; --line:#d8ddd8; --red:#ec3f32; --lime:#d5ef79; --navy:#102936; --mono:"DM Mono",monospace; --sans:"Manrope",Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; line-height:1.55; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px, calc(100% - 48px)); margin:auto; }
.skip-link { position:absolute; top:-48px; left:16px; z-index:100; padding:10px 16px; background:#fff; color:var(--ink); }.skip-link:focus { top:16px; }
.site-header { position:absolute; inset:0 0 auto; z-index:10; color:#fff; }.nav-wrap { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:28px; }.brand { display:flex; align-items:center; gap:10px; }.brand img { width:37px; height:37px; object-fit:contain; }.brand span { display:grid; line-height:1; }.brand strong { font-size:14px; letter-spacing:.08em; }.brand small { margin-top:5px; font:9px var(--mono); letter-spacing:.1em; opacity:.72; }.site-header nav { display:flex; gap:28px; margin-left:auto; }.site-header nav a { font-size:14px; opacity:.82; transition:opacity .2s; }.site-header nav a:hover { opacity:1; }.nav-cta { border:1px solid rgba(255,255,255,.4); padding:10px 16px; border-radius:2px; font-size:13px; transition:background .2s,color .2s; }.nav-cta:hover { background:#fff; color:var(--ink); }
.hero { position:relative; min-height:760px; overflow:hidden; color:#fff; background:linear-gradient(120deg,#102b39 0%,#143d4c 55%,#0d2734 100%); }.hero::after { content:""; position:absolute; width:650px; height:650px; right:-180px; bottom:-310px; border:1px solid rgba(213,239,121,.42); border-radius:50%; box-shadow:0 0 0 80px rgba(213,239,121,.035),0 0 0 160px rgba(213,239,121,.025); }.hero-grid { position:absolute; inset:0; opacity:.34; background-image:linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(90deg,#000,transparent); }.hero-content { position:relative; z-index:1; padding:180px 0 78px; }.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 24px; font:11px var(--mono); letter-spacing:.11em; text-transform:uppercase; color:var(--lime); }.eyebrow span { width:24px; height:1px; background:currentColor; }.eyebrow.dark { color:#52705a; }.hero h1,.contact h2 { margin:0; max-width:830px; font-size:clamp(3.3rem,7.4vw,6.7rem); letter-spacing:-.075em; line-height:.93; font-weight:700; }.hero h1 em,.contact h2 em { color:var(--lime); font-style:normal; }.hero-copy { max-width:560px; margin:36px 0 30px; color:rgba(255,255,255,.75); font-size:18px; }.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:28px; }.button { display:inline-flex; align-items:center; justify-content:center; gap:22px; border:0; padding:15px 20px; font:600 13px var(--sans); cursor:pointer; transition:transform .2s,background .2s; }.button:hover { transform:translateY(-2px); }.button-red { background:var(--red); color:#fff; }.button-red:hover { background:#ff5043; }.text-link { border-bottom:1px solid rgba(255,255,255,.55); padding-bottom:4px; font-size:13px; }.hero-proof { display:flex; gap:30px; margin-top:72px; }.hero-proof div { display:grid; gap:2px; padding-right:28px; border-right:1px solid rgba(255,255,255,.25); }.hero-proof div:last-child { border:0; }.hero-proof strong { font:500 13px var(--mono); color:var(--lime); }.hero-proof span { color:rgba(255,255,255,.68); font-size:12px; }.signal-card { position:absolute; z-index:2; right:max(24px,calc((100vw - 1180px)/2)); bottom:52px; width:260px; padding:18px 19px; background:rgba(7,28,37,.88); border:1px solid rgba(213,239,121,.35); backdrop-filter:blur(10px); }.signal-top { display:flex; align-items:center; gap:7px; color:rgba(255,255,255,.66); font:9px var(--mono); letter-spacing:.08em; text-transform:uppercase; }.status-dot { width:7px; height:7px; border-radius:50%; background:var(--lime); box-shadow:0 0 12px var(--lime); }.signal-time { margin-left:auto; color:var(--lime); }.signal-reading { display:flex; align-items:baseline; margin:15px 0; }.signal-reading strong { font-size:42px; letter-spacing:-.06em; line-height:1; }.signal-reading sup { color:var(--lime); font-size:16px; }.signal-reading span { max-width:75px; margin-left:auto; color:rgba(255,255,255,.6); font-size:10px; line-height:1.3; }.signal-bars { display:flex; height:26px; align-items:end; gap:5px; }.signal-bars i { flex:1; background:var(--lime); opacity:.75; }.signal-bars i:nth-child(1){height:20%}.signal-bars i:nth-child(2){height:46%}.signal-bars i:nth-child(3){height:35%}.signal-bars i:nth-child(4){height:65%}.signal-bars i:nth-child(5){height:48%}.signal-bars i:nth-child(6){height:84%}.signal-bars i:nth-child(7){height:62%}.signal-bars i:nth-child(8){height:100%}.signal-bars i:nth-child(9){height:77%}.signal-bars i:nth-child(10){height:88%}.signal-bars i:nth-child(11){height:70%}.signal-bars i:nth-child(12){height:94%}
.section { padding:124px 0; }.intro { background:#e4e9e2; }.split-intro { display:grid; grid-template-columns:1fr 2fr; gap:45px; }.split-intro h2,.section-heading h2,.approach h2 { margin:0 0 22px; font-size:clamp(2.45rem,4.5vw,4.55rem); letter-spacing:-.065em; line-height:.98; }.split-intro p:not(.eyebrow) { max-width:630px; color:#43535a; font-size:19px; }.services { background:var(--paper); }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:34px; margin-bottom:44px; }.section-heading h2 { margin:0; }.section-heading > p { max-width:340px; margin:0 0 4px; color:var(--muted); }.service-grid { display:grid; grid-template-columns:1.13fr 1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }.service-card { min-height:345px; padding:27px; display:flex; flex-direction:column; background:#faf9f5; transition:background .25s,color .25s; }.service-card:hover { background:#e5ebe4; }.service-card.featured { background:var(--red); color:#fff; }.card-number { font:11px var(--mono); opacity:.72; }.service-icon { margin:43px 0 22px; color:#738c54; font-size:35px; line-height:1; }.featured .service-icon { color:var(--lime); }.service-card h3 { margin:0 0 10px; font-size:24px; letter-spacing:-.045em; }.service-card p { margin:0; color:var(--muted); font-size:14px; }.featured p { color:rgba(255,255,255,.78); }.service-card a { margin-top:auto; display:flex; justify-content:space-between; border-top:1px solid currentColor; padding-top:14px; font:11px var(--mono); text-transform:uppercase; letter-spacing:.05em; }
.approach { padding:118px 0; color:#fff; background:var(--navy); }.approach-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:112px; }.approach-copy h2 { margin-bottom:28px; }.approach-copy > p:not(.eyebrow) { max-width:455px; color:rgba(255,255,255,.66); }.steps { margin:0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.28); }.steps li { display:grid; grid-template-columns:56px 1fr; gap:18px; padding:25px 0; border-bottom:1px solid rgba(255,255,255,.28); }.steps span { font:11px var(--mono); color:var(--lime); }.steps h3 { margin:0 0 7px; font-size:21px; letter-spacing:-.035em; }.steps p { margin:0; color:rgba(255,255,255,.62); font-size:14px; }.quote-section { background:var(--lime); }.quote-wrap { max-width:850px; text-align:center; }.quote-mark { display:block; height:45px; font:100px/1 Georgia,serif; color:var(--red); }.quote-wrap blockquote { margin:18px 0 26px; font-size:clamp(2rem,3.8vw,3.8rem); line-height:1.05; letter-spacing:-.065em; }.quote-wrap p { margin:0; font:11px var(--mono); letter-spacing:.12em; color:#38563e; }.contact { padding:120px 0; color:#fff; background:linear-gradient(125deg,#143342,#102832); }.contact-layout { display:grid; grid-template-columns:1fr .78fr; gap:80px; }.contact h2 { font-size:clamp(2.8rem,5vw,5rem); }.contact > div > p:not(.eyebrow) { max-width:410px; margin-top:27px; color:rgba(255,255,255,.7); }.contact-form { display:grid; gap:18px; }.contact-form label { color:rgba(255,255,255,.64); font:11px var(--mono); letter-spacing:.06em; text-transform:uppercase; }.contact-form input,.contact-form textarea { display:block; width:100%; margin-top:8px; padding:11px 0; border:0; border-bottom:1px solid rgba(255,255,255,.42); outline:0; background:transparent; color:#fff; font:16px var(--sans); resize:vertical; }.contact-form input:focus,.contact-form textarea:focus { border-color:var(--lime); }.contact-form .button { width:max-content; margin-top:7px; }.site-footer { background:#0a1c24; color:rgba(255,255,255,.55); }.footer-wrap { display:flex; justify-content:space-between; gap:20px; padding:26px 0; font:10px var(--mono); letter-spacing:.04em; }.footer-wrap a { color:var(--lime); }
@media (max-width:760px) { .shell { width:min(100% - 32px,1180px); }.site-header nav { display:none; }.nav-wrap { min-height:72px; }.nav-cta { margin-left:auto; }.hero { min-height:720px; }.hero-content { padding-top:145px; }.hero h1 { font-size:clamp(3rem,14vw,4.8rem); }.hero-copy { font-size:16px; }.signal-card { right:16px; bottom:28px; width:calc(100% - 32px); }.hero-proof { gap:14px; margin-top:55px; }.hero-proof div { padding-right:13px; }.hero-proof span { font-size:10px; }.section { padding:80px 0; }.split-intro,.approach-layout,.contact-layout { grid-template-columns:1fr; gap:28px; }.section-heading { display:grid; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:280px; }.service-icon { margin-top:27px; }.approach { padding:80px 0; }.quote-section { padding:72px 0; }.contact { padding:82px 0; }.footer-wrap { flex-wrap:wrap; }.footer-wrap a { margin-left:auto; } }
@media (min-width:761px) and (max-width:1024px) { .hero-content { padding-right:270px; }.split-intro { grid-template-columns:.65fr 1.35fr; }.approach-layout { gap:54px; }.contact-layout { gap:48px; }.service-card { min-height:310px; padding:22px; } }

html { scroll-padding-top:92px; }
.site-header { position:fixed; background:rgba(16,41,54,.94); backdrop-filter:blur(12px); }
@media (max-width:760px) { html { scroll-padding-top:128px; }.nav-wrap { flex-wrap:wrap; row-gap:10px; padding:10px 0; }.site-header nav { display:flex; order:3; width:100%; justify-content:space-between; gap:0; padding-top:10px; border-top:1px solid rgba(255,255,255,.18); }.site-header nav a { font-size:11px; }.nav-cta { padding:8px 11px; } }

:root { --ink:#171717; --muted:#666; --paper:#f7f7f7; --line:#d6d6d6; --red:#c52b26; --lime:#ededed; --navy:#171717; }
.site-header { background:rgba(18,18,18,.94); }
.hero { background:linear-gradient(120deg,#080808 0%,#292929 55%,#101010 100%); }
.hero::after { border-color:rgba(197,43,38,.55); box-shadow:0 0 0 80px rgba(197,43,38,.06),0 0 0 160px rgba(255,255,255,.035); }
.eyebrow.dark { color:#8c211d; }
.intro { background:#e7e7e7; }
.split-intro p:not(.eyebrow) { color:#4d4d4d; }
.service-card:hover { background:#e8e8e8; }
.service-icon { color:#555; }
.featured .service-icon { color:#fff; }
.quote-section { background:#e6e6e6; }
.quote-wrap p { color:#4e4e4e; }
.contact { background:linear-gradient(125deg,#111 0%,#303030 100%); }
.contact-form input:focus,.contact-form textarea:focus { border-color:#fff; }
.site-footer { background:#111; }
