@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#123e4d; --blue:#19829a; --sky:#59bdd6; --pale:#eff8f9; --line:#d7e7e9; --paper:#fffefa; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }.wrap { width:min(1160px,calc(100% - 48px)); margin:auto; }
.nav { height:108px; display:flex; align-items:center; justify-content:space-between; }.brand { display:block; width:148px; height:auto; }.brand img { display:block; width:148px; max-width:none; height:auto; }.navLinks { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:700; }.navCta { padding:12px 19px; border:1px solid var(--ink); border-radius:999px; }
.hero { min-height:630px; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:50px; padding:55px 0 90px; }.eyebrow { font:500 11px/1.4 'DM Mono',monospace; letter-spacing:.11em; color:var(--blue); margin:0 0 18px; }.hero h1,.statement h2,.sectionIntro h2,.method h2,.why h2,.contact h2 { letter-spacing:-.055em; margin:0; font-weight:800; }.hero h1 { font-size:clamp(45px,5vw,71px); line-height:1.03; max-width:750px; }.hero em,.statement em { color:var(--blue); font-style:normal; }.lead { font-size:18px; line-height:1.65; max-width:580px; margin:28px 0 33px; color:#42636c; }.button { display:inline-flex; gap:22px; align-items:center; background:var(--ink); color:white; padding:16px 21px 16px 24px; font-size:14px; font-weight:800; border-radius:999px; transition:.2s transform,.2s background; }.button:hover { transform:translateY(-2px); background:var(--blue); }.button span { font-size:21px; line-height:12px; }
.heroVisual { height:420px; position:relative; }.symbol { position:absolute; width:125px; height:125px; object-fit:contain; left:50%; top:50%; transform:translate(-50%,-50%); mix-blend-mode:multiply; }.orbit { position:absolute; border-radius:50%; border:1px solid var(--line); left:50%; top:50%; transform:translate(-50%,-50%); }.orbitOne { height:300px; width:300px; }.orbitTwo { height:430px; width:430px; border-style:dashed; }.visualCard { position:absolute; padding:17px 19px; width:170px; color:white; border-radius:8px; box-shadow:0 14px 25px #1747541c; display:flex; justify-content:space-between; align-items:center; transform:rotate(-5deg); }.visualCard span { font:11px 'DM Mono',monospace; opacity:.7; }.visualCard strong { font-size:15px; }.cardTop{background:var(--blue);top:39px;right:30px}.cardMiddle{background:var(--ink);bottom:90px;left:0;transform:rotate(6deg)}.cardBottom{background:var(--sky);bottom:18px;right:18px;transform:rotate(-3deg)}
.statement { background:var(--ink); color:white; padding:89px 0; }.statementInner { display:grid; grid-template-columns:300px 1fr; gap:50px; align-items:start; }.statement p { font:500 11px 'DM Mono',monospace; letter-spacing:.1em; color:var(--sky); margin-top:10px; }.statement h2 { font-size:clamp(35px,4vw,58px); line-height:1.08; max-width:800px; }.statement em { color:var(--sky); }
.services { padding:120px 0; display:grid; grid-template-columns:.85fr 1.15fr; gap:85px; }.sectionIntro h2,.method h2,.why h2 { font-size:clamp(32px,3.3vw,48px); line-height:1.1; }.sectionIntro > p:last-child,.methodLead { color:#557179; font-size:16px; line-height:1.65; max-width:410px; margin-top:20px; }.service { border-top:1px solid var(--line); display:grid; grid-template-columns:52px 1fr 25px; gap:16px; padding:27px 0; }.service:last-child{border-bottom:1px solid var(--line)}.serviceNumber,.step>span { color:var(--sky); font:12px 'DM Mono',monospace; }.service h3,.step h3{margin:0 0 9px;font-size:19px;letter-spacing:-.03em}.service p,.step p{margin:0;color:#557179;font-size:14px;line-height:1.65}.serviceArrow { font-size:25px; color:var(--blue); }
.method { background:var(--pale); padding:105px 0; }.methodGrid { display:grid; grid-template-columns:1fr 1fr; gap:120px; }.steps{border-top:1px solid #bdd9de}.step{padding:24px 0;display:grid;grid-template-columns:55px 1fr;border-bottom:1px solid #bdd9de;gap:12px}
.why { display:grid; grid-template-columns:1fr 1fr; gap:100px; padding:120px 0; }.checks { padding-top:24px; }.checks p { padding:20px 0; margin:0; border-bottom:1px solid var(--line); font-size:16px; line-height:1.5; }.checks span { display:inline-block; color:var(--blue); font-weight:800; margin-right:15px; }.contact { padding-bottom:104px; }.contactInner { padding:75px 9%; background:var(--sky); position:relative; overflow:hidden; }.contactInner:after { content:""; width:340px; height:340px; border:40px solid #8ed7e6; border-radius:50%; position:absolute; right:-150px; top:-140px; }.contact h2 { font-size:clamp(37px,4.4vw,60px); line-height:1.05; max-width:790px; position:relative; z-index:1; }.contact p:not(.eyebrow){max-width:585px;font-size:17px;line-height:1.6;position:relative;z-index:1}.lightButton{background:white;color:var(--ink);position:relative;z-index:1}.lightButton:hover{background:var(--ink);color:white}.footer { min-height:130px; display:flex; align-items:center; gap:40px; border-top:1px solid var(--line); font-size:12px; color:#668087; }.footer img{width:92px}.footer span{margin-left:auto}
@media(max-width:760px){.wrap{width:min(100% - 36px,1160px)}.nav{height:96px;align-items:center}.brand{width:132px;height:auto}.brand img{width:132px;max-width:none;height:auto}.navLinks>a:not(.navCta){display:none}.navLinks{gap:0}.navCta{padding:12px 18px}.hero{grid-template-columns:1fr;padding:45px 0 52px;gap:20px;min-height:0}.heroVisual{height:280px;transform:scale(.77);transform-origin:center top;margin-bottom:-65px}.statement{padding:65px 0}.statementInner,.services,.methodGrid,.why{grid-template-columns:1fr;gap:38px}.statement p{margin:0}.services,.why{padding:75px 0}.method{padding:72px 0}.service{grid-template-columns:42px 1fr 20px}.contact{padding-bottom:65px}.contactInner{padding:56px 28px}.footer{padding:28px 0;min-height:0;flex-wrap:wrap;gap:15px}.footer p{width:100%;order:3;margin:0}.footer span{margin-left:0}.cardTop{right:0}.cardMiddle{left:0}.cardBottom{right:0}}
