:root { --ink:#07131c; --surface:#0d202b; --text:#eff6f5; --muted:#b0c1c3; --line:rgba(205,230,229,.2); --aqua:#00c8c0; --max:1240px; --radius:14px; }
* { box-sizing:border-box; }
html { background:var(--ink); scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--text); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; } img { display:block; max-width:100%; height:auto; }
h1,h2,h3,p { margin-top:0; }
.site-header { width:min(100%,var(--max)); min-height:84px; margin:auto; padding:10px 28px; display:flex; align-items:center; justify-content:space-between; gap:22px; border-bottom:1px solid var(--line); }
.logo-link { display:block; line-height:0; background:#fff; border-radius:8px; overflow:hidden; }.logo-link img { width:126px; height:63px; object-fit:contain; }
nav { display:flex; align-items:center; gap:30px; color:#bdccce; font-size:.84rem; } nav a:hover,.header-contact:hover,.text-link:hover { color:var(--aqua); }
.header-contact { color:var(--aqua); font-size:.82rem; font-weight:800; }
.hero { width:min(100%,var(--max)); margin:auto; padding:30px 28px 120px; border-bottom:1px solid var(--line); }
.hero-media { overflow:hidden; border-radius:var(--radius); border:1px solid rgba(222,235,234,.35); background:#f8fbfb; }
.hero-media img,.full-image img { width:100%; height:auto; object-fit:contain; }
.hero-intro { max-width:1040px; margin:76px auto 0; display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:end; }
.kicker { margin-bottom:18px; color:var(--aqua); font-size:.78rem; font-weight:800; letter-spacing:.04em; }
h1,h2 { letter-spacing:-.038em; line-height:1.05; } h1 { margin:0; font-size:clamp(2.9rem,5.1vw,5.7rem); } h2 { font-size:clamp(2.25rem,4vw,4.2rem); }
.hero-intro > div:last-child > p,.story-copy p,.capability-copy p,.partner-copy p,.contact > p:not(.kicker) { color:var(--muted); font-size:1rem; line-height:1.82; }
.button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; margin-top:24px; padding:0 20px; border-radius:var(--radius); background:var(--aqua); color:#052827; font-size:.86rem; font-weight:800; transition:transform .2s ease,background .2s ease; }.button:hover { background:#42dcd5; }.button:active { transform:translateY(1px); }
.section { width:min(100%,var(--max)); margin:auto; padding:132px 28px; }.section-tight { width:min(100%,var(--max)); margin:auto; padding:0 28px; }
.story { display:grid; grid-template-columns:.9fr 1.1fr; align-items:start; gap:120px; }.story-copy h2 { margin-bottom:27px; }.story-copy p + p { margin-top:18px; }.story-points { border-top:1px solid var(--line); }.story-points article { display:grid; grid-template-columns:minmax(180px,.7fr) 1fr; align-items:center; gap:30px; min-height:110px; border-bottom:1px solid var(--line); }.story-points strong { font-size:1rem; letter-spacing:-.02em; }.story-points span { color:var(--muted); font-size:.9rem; line-height:1.6; }
.full-image { overflow:hidden; }.full-image img { border:1px solid var(--line); border-radius:var(--radius); }
.capability-copy { display:grid; grid-template-columns:.9fr 1.1fr; gap:104px; padding-top:98px; padding-bottom:98px; align-items:start; }.capability-copy h2 { margin:0; }.capability-copy p { max-width:500px; margin:0; }
.partner-grid { display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:90px; }.partner-copy h2 { margin-bottom:28px; }.partner-copy p { max-width:475px; }.text-link { display:inline-block; margin-top:16px; color:var(--aqua); font-size:.9rem; font-weight:800; }.image-pair { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.image-pair figure { margin:0; overflow:hidden; border-radius:var(--radius); border:1px solid var(--line); }.image-pair img { width:100%; height:auto; }
.contact { padding-top:150px; padding-bottom:150px; text-align:center; }.contact h2 { max-width:740px; margin:0 auto 22px; }.contact > p:not(.kicker) { max-width:550px; margin:0 auto 35px; }.email { display:inline-block; padding-bottom:9px; border-bottom:1px solid rgba(0,200,192,.7); color:var(--aqua); font-size:clamp(1.3rem,2.7vw,2.2rem); font-weight:800; letter-spacing:-.04em; }
footer { width:min(100%,var(--max)); margin:auto; padding:28px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; gap:18px; border-top:1px solid var(--line); color:#9cafb2; font-size:.76rem; }footer p { margin:0; }footer p:last-child { text-align:right; }footer .logo-link img { width:106px; height:53px; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media (max-width:840px) { .hero-intro,.story,.capability-copy,.partner-grid { grid-template-columns:1fr; gap:42px; }.hero-intro { margin-top:48px; }.section { padding-top:88px; padding-bottom:88px; }.capability-copy { padding-top:72px; padding-bottom:72px; }.partner-grid { gap:45px; } }
@media (max-width:620px) { .site-header { min-height:74px; padding:8px 20px; }.logo-link img { width:104px; height:52px; }nav { display:none; }.header-contact { font-size:.76rem; }.hero { padding:20px 20px 80px; }.hero-media { border-radius:10px; }.hero-intro { margin-top:42px; }.section,.section-tight { padding-right:20px; padding-left:20px; }.story-points article { grid-template-columns:1fr; gap:10px; padding:22px 0; }.image-pair { gap:10px; }.contact { padding-top:102px; padding-bottom:102px; }footer { grid-template-columns:1fr; padding:26px 20px; }footer p:last-child { text-align:left; } }
