:root { --ink:#17282f; --navy:#102129; --orange:#f36c21; --paper:#f4f1ea; --mist:#dde3df; --line:rgba(23,40,47,.17); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; background:var(--paper); color:var(--ink); font-family:Manrope,Arial,sans-serif; } a { color:inherit; text-decoration:none; }
.site-header { height:84px; padding:0 clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; background:var(--navy); color:white; position:absolute; top:0; width:100%; z-index:10; }
.brand img { width:190px; height:64px; object-fit:contain; mix-blend-mode:screen; } .navigation { display:flex; align-items:center; gap:32px; font-size:12px; font-weight:700; letter-spacing:.05em; } .navigation>a:not(.nav-cta) { opacity:.8; } .navigation>a:hover { color:var(--orange); opacity:1; } .nav-cta { background:var(--orange); padding:13px 17px; } .nav-cta span { margin-left:14px; font-size:16px; }
.menu-button { display:none; background:none; border:0; color:white; padding:5px; } .menu-button span:not(.sr-only) { display:block; width:26px; height:2px; background:currentColor; margin:5px; }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.hero { min-height:760px; color:white; background:var(--navy); padding:180px clamp(24px,10.5vw,160px) 62px; position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; }.hero-grid { position:absolute; inset:84px 0 0; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:68px 68px; mask-image:linear-gradient(to bottom,black,transparent); }.hero-content { max-width:690px; position:relative; z-index:1; }.eyebrow,.section-label { font-size:10px; font-weight:700; letter-spacing:.16em; margin:0 0 20px; }.eyebrow span { display:inline-block; width:36px; height:1px; background:var(--orange); vertical-align:middle; margin-right:10px; }.hero h1,.intro h2,.services h2,.process h2,.contact h2 { font-family:"Barlow Condensed",Impact,sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.015em; margin:0; line-height:.87; }.hero h1 { font-size:clamp(72px,10vw,142px); }.hero h1 em,.process h2 em { color:var(--orange); font-style:normal; }.hero-copy { max-width:510px; line-height:1.8; font-size:14px; color:#c8d0d1; margin:30px 0; }.hero-actions { display:flex; align-items:center; gap:32px; }.button { display:inline-flex; align-items:center; gap:30px; padding:17px 21px; font-size:11px; font-weight:700; letter-spacing:.06em; }.button-primary { background:var(--orange); }.button span { font-size:21px; }.text-link { font-size:11px; font-weight:700; border-bottom:1px solid rgba(255,255,255,.4); padding-bottom:5px; }.text-link span { margin-left:14px; }
.hero-art { position:absolute; width:500px; height:480px; right:7%; top:160px; opacity:.9; transform:rotate(-11deg); }.part { position:absolute; border:1px solid var(--orange); background:linear-gradient(130deg,rgba(243,108,33,.24),transparent); }.part-one { width:285px; height:140px; top:70px; right:35px; transform:skewY(-28deg); }.part-two { width:170px; height:220px; top:185px; right:145px; transform:skewY(-28deg); }.part-three { width:235px; height:110px; top:270px; right:7px; transform:skewY(-28deg); }.part-circle { width:70px; height:70px; border:2px solid var(--orange); border-radius:50%; position:absolute; left:130px; top:210px; box-shadow:0 0 0 15px rgba(243,108,33,.08); }.hero-art p { position:absolute; font-size:9px; letter-spacing:.18em; right:0; bottom:0; line-height:1.8; transform:rotate(11deg); color:#b3c0c1; }.hero-bottom { display:flex; position:relative; z-index:1; align-items:end; justify-content:space-between; margin-top:80px; font-size:10px; letter-spacing:.12em; font-weight:700; }.hero-bottom p { color:#a9b6b8; }.hero-bottom a { color:var(--orange); }
.intro { padding:140px clamp(24px,10.5vw,160px); display:grid; grid-template-columns:1fr 2fr; gap:60px; }.section-label { color:var(--orange); }.intro h2,.services h2,.process h2,.contact h2 { font-size:clamp(52px,6.2vw,90px); }.intro h2 span { color:var(--orange); }.intro div>p { max-width:570px; font-size:15px; line-height:1.9; margin:28px 0 0; color:#506066; }
.services { padding:0 clamp(24px,5vw,76px) 140px; }.section-heading { display:flex; justify-content:space-between; align-items:end; padding:0 clamp(0px,5.7vw,84px) 48px; }.service-list { display:grid; grid-template-columns:repeat(3,1fr); }.service-card { min-height:390px; background:#e1e6e1; padding:35px; position:relative; display:flex; flex-direction:column; }.service-card:nth-child(3) { background:#d4dcd8; }.service-card.featured { background:var(--orange); color:white; }.service-number { font-size:11px; font-weight:700; }.service-icon { font-size:68px; line-height:1; margin:44px 0 auto; font-family:Georgia,serif; }.service-card h3 { font-family:"Barlow Condensed",sans-serif; text-transform:uppercase; font-size:35px; letter-spacing:.04em; margin:0 0 12px; }.service-card p { font-size:12px; line-height:1.8; margin:0 0 21px; max-width:280px; }.service-card a { font-size:10px; font-weight:700; letter-spacing:.1em; }.service-card a span { margin-left:9px; font-size:15px; }
.process { background:var(--ink); color:white; padding:125px clamp(24px,10.5vw,160px); display:grid; grid-template-columns:1fr 1.15fr; gap:70px; }.process ol { padding:0; margin:0; list-style:none; border-top:1px solid rgba(255,255,255,.22); }.process li { display:grid; grid-template-columns:65px 1fr; gap:20px; border-bottom:1px solid rgba(255,255,255,.22); padding:26px 0; }.process li>span { color:var(--orange); font-size:11px; font-weight:700; }.process h3 { font-family:"Barlow Condensed",sans-serif; font-size:31px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; margin:0 0 8px; }.process li p { margin:0; color:#b5c0c0; font-size:12px; line-height:1.7; max-width:360px; }
.contact { min-height:580px; padding:110px clamp(24px,10.5vw,160px); background:var(--orange); color:white; position:relative; overflow:hidden; display:flex; align-items:center; }.contact-content { position:relative; z-index:1; }.contact h2 { font-size:clamp(66px,8vw,115px); }.contact-content>p:not(.section-label) { max-width:410px; font-size:14px; line-height:1.8; margin:26px 0; }.button-light { background:white; color:var(--ink); }.contact-mark { position:absolute; right:-50px; top:-130px; color:rgba(255,255,255,.15); font:700 390px/1 "Barlow Condensed",sans-serif; letter-spacing:-.15em; }
.contact-links { display:flex; align-items:center; gap:25px; flex-wrap:wrap; }.phone-link { border-bottom:1px solid rgba(255,255,255,.55); padding:10px 0; font-size:12px; font-weight:700; letter-spacing:.08em; }.phone-link span { margin-left:10px; color:var(--ink); font-size:15px; }
footer { padding:35px clamp(24px,5vw,76px); display:flex; justify-content:space-between; align-items:end; background:var(--navy); color:white; font-size:10px; letter-spacing:.05em; } footer p { opacity:.55; margin:0; }.footer-brand { font-family:"Barlow Condensed",sans-serif; font-size:26px; font-weight:700; letter-spacing:.03em; line-height:.8; }.footer-brand span { color:var(--orange); }.footer-brand small { display:block; font:600 7px Manrope,sans-serif; letter-spacing:.42em; margin-left:2px; margin-top:6px; }
@media (max-width:780px) { .site-header { height:70px; padding:0 20px; }.brand img { width:145px; height:50px; }.menu-button { display:block; }.navigation { display:none; position:absolute; top:70px; left:0; right:0; padding:22px; flex-direction:column; align-items:stretch; background:var(--navy); }.navigation.open { display:flex; }.nav-cta { text-align:center; }.hero { min-height:720px; padding:140px 24px 35px; }.hero-art { width:340px; right:-90px; top:250px; opacity:.5; }.hero h1 { font-size:75px; }.hero-copy { font-size:13px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }.hero-bottom { margin-top:auto; }.intro,.process { grid-template-columns:1fr; gap:28px; padding:80px 24px; }.services { padding:0 0 80px; }.section-heading { padding:0 24px 32px; display:block; }.section-heading .section-label { margin-bottom:20px; }.service-list { grid-template-columns:1fr; }.service-card { min-height:310px; padding:28px 24px; }.service-icon { margin:28px 0 auto; }.process { gap:50px; }.contact { min-height:530px; padding:80px 24px; }.contact-mark { font-size:280px; right:-30px; }.contact h2 { font-size:70px; } footer { padding:28px 24px; align-items:center; } footer p { display:none; } }
