 :root {
  --ink: #111b3c; --muted: #68718b; --blue: #155eef; --cyan: #16c8f2; --purple: #7628f5;
  --line: #e8eaf2; --soft: #f7f8fc; --white: #fff; --radius: 24px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; font-family: "DM Sans", sans-serif; color: var(--ink); background: #fff; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.announcement { display:flex; align-items:center; justify-content:center; gap:10px; min-height:36px; padding:8px 18px; background:#101a3a; color:#e6eaff; font-size:11px; letter-spacing:.07em; text-align:center; }
.pulse { width:6px; height:6px; border-radius:50%; background:#3be3d3; box-shadow:0 0 0 4px #3be3d326; }
.site-header { height:82px; padding:0 max(5.5vw,24px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #eff0f5; background:#ffffffeb; position:sticky; top:0; z-index:20; backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; gap:10px; font-family:Manrope,sans-serif; font-size:23px; font-weight:800; letter-spacing:-1.1px; }
.brand img { width:42px; height:42px; object-fit:contain; border-radius:10px; }
.brand-dot { color:#6d35f4; }
.nav { display:flex; align-items:center; gap:34px; font-size:13px; font-weight:600; color:#535d78; }
.nav a:not(.nav-cta):hover,.text-link:hover { color:var(--blue); }
.nav-cta { padding:13px 18px; background:var(--ink); color:white; border-radius:9px; transition:.2s; }
.nav-cta:hover { background:var(--blue); transform:translateY(-1px); }
.nav-cta span { margin-left:12px; }
.menu-toggle { display:none; border:0; background:transparent; color:var(--ink); font-size:24px; cursor:pointer; }
.section-wrap { width:min(1120px,89%); margin:0 auto; }
.hero { min-height:680px; padding-top:85px; display:grid; grid-template-columns:1fr 1fr; align-items:center; column-gap:42px; position:relative; padding-bottom:90px; }
.hero-copy { padding:0 0 30px 10px; position:relative; z-index:2; }
.eyebrow,.section-kicker { display:flex; align-items:center; gap:10px; color:#5e6a88; font-size:10px; font-weight:700; letter-spacing:.17em; }
.eyebrow-line { width:27px; height:2px; background:linear-gradient(90deg,var(--cyan),var(--purple)); }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:Manrope,sans-serif; letter-spacing:-.055em; }
h1 { font-size:clamp(60px,7.5vw,94px); line-height:.99; margin:27px 0 25px; font-weight:800; }
.gradient-text { color:#175ef2; background:linear-gradient(100deg,#09bde9 0%,#155eef 48%,#8529ed 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero-lede { max-width:440px; color:#68718b; font-size:16px; line-height:1.85; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:32px; }
.button { display:inline-flex; align-items:center; gap:20px; padding:16px 20px; border-radius:10px; font-size:13px; font-weight:700; }
.button-primary { color:#fff; background:linear-gradient(110deg,#155eef,#6b36f5); box-shadow:0 12px 28px #235cf32b; transition:.2s; }
.button-primary:hover { transform:translateY(-2px); box-shadow:0 16px 30px #235cf344; }
.text-link { font-size:13px; font-weight:700; color:#4b5673; }
.text-link span { margin-left:8px; }
.hero-proof { display:flex; align-items:center; gap:12px; margin-top:52px; }
.proof-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; color:#1765ef; background:#edf4ff; font-size:22px; }
.hero-proof p { margin:0; font-size:12px; line-height:1.65; color:#6b7590; }
.hero-proof strong { color:#1a2547; font-size:12px; }
.hero-visual { height:480px; position:relative; border:1px solid #e9eaf7; border-radius:34px; overflow:hidden; background:radial-gradient(circle at 78% 20%,#e5d7ff 0,transparent 34%),radial-gradient(circle at 12% 84%,#c9f6ff 0,transparent 37%),linear-gradient(135deg,#f8fbff,#f7f4ff 70%,#fff); }
.visual-grid { position:absolute; inset:0; opacity:.32; background-image:linear-gradient(#9da9d91c 1px,transparent 1px),linear-gradient(90deg,#9da9d91c 1px,transparent 1px); background-size:32px 32px; mask-image:linear-gradient(to bottom,black,transparent 95%); }
.orb { position:absolute; border-radius:50%; filter:blur(1px); }
.orb-one { width:285px;height:285px;top:74px;right:28px;background:linear-gradient(140deg,#11c8f4,#155eef 55%,#7628f5); box-shadow:inset -25px -20px 50px #180f783d,0 35px 70px #5d56f326; }
.orb-two { width:170px;height:170px;bottom:32px;left:22px;background:linear-gradient(145deg,#fff,#c8f8ff); opacity:.9; }
.visual-card,.metric-card,.floating-pill { position:absolute; background:#ffffffd9; border:1px solid #ffffff; box-shadow:0 15px 45px #243c7b16; backdrop-filter:blur(16px); }
.card-top { top:35px;left:27px; padding:17px 19px; border-radius:14px; min-width:195px; }
.mini-label,.metric-card small,.contact-option small { display:block; color:#8992aa; font-size:8px; font-weight:700; letter-spacing:.12em; }
.card-top strong { display:block; font-size:12px; margin:9px 0 5px; }
.card-top strong i { display:inline-block; width:7px;height:7px;border-radius:50%;background:#22cba1;margin-right:6px; }
.card-top small { font-size:10px;color:#7c86a0; }
.visual-logo { position:absolute; top:126px;left:50%;transform:translateX(-50%); width:138px;height:138px; border-radius:30px; display:grid;place-items:center; background:#ffffffb8; box-shadow:0 20px 50px #3046a51b; }
.visual-logo img { width:116px;height:116px;object-fit:contain;border-radius:20px;mix-blend-mode:multiply; }
.metric-card { bottom:37px;right:22px;display:flex;align-items:center;gap:13px;padding:18px;border-radius:16px; }
.metric-icon { display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#e6fbff,#ece7ff);color:#5438ec;font-size:22px; }
.metric-card strong,.metric-card span:not(.metric-icon) { display:block; }
.metric-card strong { font-size:13px;margin:5px 0; }
.metric-card span:not(.metric-icon) { font-size:10px;color:#7d879e; }
.floating-pill { left:26px;bottom:40px;border-radius:100px;padding:12px 15px;font-size:10px;font-weight:700;color:#34405e; }
.floating-pill span { color:#7d35ed;margin-right:7px; }
.hero-bottom-line { position:absolute;bottom:0;left:0;right:0;border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:23px 10px;color:#939bb0;font-size:9px;letter-spacing:.13em;font-weight:700; }
.intro { padding:112px 0 115px; }
.intro-grid { display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;margin-top:28px; }
h2 { font-size:clamp(37px,4.5vw,57px);line-height:1.12;font-weight:800;margin:0; }
.muted { color:#a3aabd; }
.intro-text { max-width:490px;color:#68718b;font-size:14px;line-height:1.9;padding-top:6px; }
.intro-text p { margin-bottom:14px; }
.services { padding:70px 0 120px; }
.section-heading { display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:40px; }
.section-heading h2 { margin-top:24px; }
.section-heading>p { max-width:300px;color:#747d95;font-size:13px;line-height:1.8;margin-bottom:5px; }
.service-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:16px; }
.service-card { min-height:275px;padding:29px 30px;border:1px solid #e8eaf2;border-radius:19px;position:relative;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;background:#fff; }
.service-card:hover { transform:translateY(-3px);border-color:#d2d9ff;box-shadow:0 18px 45px #243c7b0b; }
.service-featured { background:linear-gradient(145deg,#f7fbff,#f8f5ff); }
.service-number { color:#8a93aa;font-size:9px;font-weight:700;letter-spacing:.14em; }
.service-symbol { position:absolute;right:27px;top:20px;font-size:35px;color:#6c4af2;opacity:.9; }
.service-card h3 { font-size:24px;margin:37px 0 10px;letter-spacing:-.04em; }
.service-card p { color:#727c95;font-size:12px;line-height:1.8;max-width:370px;margin-bottom:23px; }
.service-card a { font-size:11px;font-weight:700;color:#255de7; }
.service-card a span { margin-left:9px; }
.service-note { margin-top:19px;font-size:10px;color:#8d96ab;line-height:1.7; }
.statement { background:#111a3b;color:#fff;overflow:hidden;position:relative; }
.statement:before,.statement:after { content:"";position:absolute;border:1px solid #ffffff0d;border-radius:50%;width:420px;height:420px; }
.statement:before { top:-260px;left:-70px; }.statement:after { bottom:-320px;right:-60px;width:560px;height:560px; }
.statement-inner { width:min(900px,89%);margin:0 auto;padding:90px 0 68px;position:relative;z-index:1; }
.statement-mark { color:#42d5f2;font-family:Georgia,serif;font-size:78px;line-height:.8; }
.statement-inner>p { font-family:Manrope,sans-serif;font-size:clamp(27px,4vw,45px);font-weight:700;letter-spacing:-.04em;line-height:1.35;margin:20px 0 60px; }
.statement-inner>p span { color:#8da0cf; }
.statement-foot { display:flex;align-items:center;gap:17px;color:#a1aac7;font-size:9px;font-weight:700;letter-spacing:.14em; }
.statement-line { height:1px;flex:1;background:#ffffff26; }
.process { padding:120px 0; }
.process-heading { display:flex;align-items:end;justify-content:space-between;gap:35px;margin:25px 0 47px; }
.process-heading p { max-width:310px;color:#727c95;font-size:13px;line-height:1.8;margin:0 0 5px; }
.process-list { border-top:1px solid var(--line); }
.process-row { display:grid;grid-template-columns:75px 1fr 30px;align-items:center;gap:20px;padding:25px 8px;border-bottom:1px solid var(--line);transition:padding .2s; }
.process-row:hover { padding-left:16px;padding-right:0; }
.process-index { color:#7c49f4;font-size:12px;font-weight:700; }
.process-row h3 { font-size:20px;margin:0 0 5px;letter-spacing:-.03em; }
.process-row p { color:#79839a;font-size:12px;margin:0;line-height:1.7; }
.process-arrow { color:#7a42f0;font-size:20px;text-align:right; }
.fit-section { background:#f7f8fc; }
.fit-inner { display:grid;grid-template-columns:1.1fr .9fr;gap:80px;padding-top:95px;padding-bottom:100px; }
.fit-inner h2 { margin-top:25px; }
.fit-copy { padding-top:24px; }
.fit-copy p { color:#6f7891;font-size:13px;line-height:1.9; }
.fit-copy ul { list-style:none;padding:0;margin:22px 0 0; }
.fit-copy li { padding:12px 0;border-bottom:1px solid #e3e6ef;font-size:12px;color:#36415f; }
.fit-copy li:before { content:"↗";color:#5d40ec;margin-right:12px; }
.contact { padding-top:105px;padding-bottom:105px; }
.contact-panel { border:1px solid #e8eaf3;border-radius:25px;display:grid;grid-template-columns:1.1fr .9fr;gap:45px;padding:55px;background:radial-gradient(circle at 100% 0,#f1eaff 0,transparent 35%),linear-gradient(135deg,#fbfdff,#f8f8ff); }
.contact-left h2 { margin:24px 0 18px; }
.contact-left>p { color:#737d95;font-size:13px;line-height:1.8;max-width:390px; }
.contact-right { padding-top:8px; }
.contact-option { display:flex;align-items:center;justify-content:space-between;padding:19px 0;border-bottom:1px solid #e2e6f0;gap:12px; }
.contact-option strong { display:block;font-size:14px;margin-top:7px;overflow-wrap:anywhere; }
.contact-option b { font-size:19px;color:#5c3fee;font-weight:500; }
.contact-hint { color:#8b94a9;font-size:10px;line-height:1.6;margin-top:18px; }
.footer { display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:28px;border-top:1px solid var(--line);color:#8b94a9;font-size:10px; }
.footer-brand { color:var(--ink);font-size:19px; }.footer-brand img { width:32px;height:32px; }
@media (max-width: 850px) {
 .site-header { height:72px; }.menu-toggle { display:block; }.nav { display:none;position:absolute;top:71px;left:0;right:0;padding:20px 6%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:18px;box-shadow:0 20px 30px #18264b0b; }.nav.open { display:flex; }.nav-cta { text-align:center; }
 .hero { grid-template-columns:1fr;gap:35px;padding-top:65px;padding-bottom:82px; }.hero-copy { padding-left:0; }.hero-visual { height:430px; }.hero-bottom-line { gap:14px;flex-wrap:wrap;font-size:8px; }
 .intro-grid,.fit-inner { grid-template-columns:1fr;gap:25px; }.intro { padding:85px 0; }.services { padding:50px 0 85px; }.section-heading,.process-heading { align-items:start;flex-direction:column;gap:18px; }.section-heading>p,.process-heading p { max-width:520px; }
 .fit-inner { padding-top:75px;padding-bottom:75px; }.fit-copy { padding-top:0; }.contact-panel { padding:34px;grid-template-columns:1fr;gap:18px; }
}
@media (max-width: 520px) {
 .announcement { font-size:9px; }.brand { font-size:21px; }.brand img { width:36px;height:36px; }
 .hero { padding-top:48px; }.hero-lede { font-size:14px; }.hero-actions { gap:18px; }.button { padding:15px 16px; }.hero-visual { height:370px;border-radius:25px; }.orb-one { width:230px;height:230px;right:8px;top:75px; }.visual-logo { width:110px;height:110px;top:126px; }.visual-logo img { width:96px;height:96px; }.card-top { top:19px;left:14px;min-width:174px;padding:13px; }.metric-card { right:12px;bottom:20px;padding:13px; }.floating-pill { left:12px;bottom:23px;padding:10px 12px; }
 .hero-bottom-line { line-height:1.7; }.intro-grid { gap:18px; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:250px;padding:25px; }.statement-inner { padding-top:70px; }.process { padding:85px 0; }.process-row { grid-template-columns:38px 1fr 20px;gap:10px;padding:21px 0; }.process-row h3 { font-size:18px; }.contact { padding-top:75px;padding-bottom:75px; }.contact-panel { padding:25px 21px;border-radius:19px; }.contact-option strong { font-size:12px; }.footer { flex-wrap:wrap; }.footer>span:nth-child(2) { order:3;width:100%; }
}
