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

:root { --slate:#29485b; --slate-dark:#183747; --blue:#3d9ddd; --sky:#9dd7f7; --ice:#eef8fd; --ink:#17313f; --muted:#607582; --white:#fff; --line:#d9e9f1; --shadow:0 20px 60px rgba(24,55,71,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font-family:'DM Sans',sans-serif; line-height:1.6; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.site-header { height:84px; max-width:1240px; margin:auto; padding:0 28px; display:flex; align-items:center; justify-content:space-between; background:#fff; position:relative; z-index:20; }
.brand { display:flex; align-items:center; gap:12px; font-family:'Manrope',sans-serif; font-weight:800; }
.brand img { width:54px; height:54px; object-fit:cover; object-position:center; border-radius:50%; }
.nav-links { display:flex; align-items:center; gap:30px; font-weight:600; font-size:.93rem; }
.nav-links a:not(.nav-cta):hover { color:var(--blue); }
.nav-cta { color:#fff; background:var(--slate); padding:12px 20px; border-radius:7px; }
.menu-toggle { display:none; border:0; color:var(--slate); background:var(--ice); padding:9px 13px; border-radius:7px; font:600 .9rem inherit; }
.hero { min-height:690px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; overflow:hidden; background:linear-gradient(115deg,#f8fcfe 0%,#eef8fd 55%,#d7effb 100%); }
.hero-copy { padding:90px max(6vw,32px) 90px max(calc((100vw - 1240px)/2 + 28px),28px); position:relative; z-index:2; }
.eyebrow { margin:0 0 14px; color:var(--blue); text-transform:uppercase; letter-spacing:.17em; font-weight:800; font-size:.76rem; }
h1,h2,h3 { font-family:'Manrope',sans-serif; margin-top:0; line-height:1.12; }
h1 { margin-bottom:24px; font-size:clamp(3.3rem,6vw,6rem); letter-spacing:-.055em; color:var(--slate-dark); }
h1 span { color:var(--blue); }
.hero-text { max-width:630px; margin:0 0 34px; color:#4f6876; font-size:1.18rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:52px; padding:0 24px; border:0; border-radius:7px; font:700 .96rem 'DM Sans',sans-serif; cursor:pointer; transition:transform .2s,box-shadow .2s,background .2s; }
.button:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(24,55,71,.18); }
.button-primary { color:#fff; background:var(--blue); }
.button-primary:hover { background:#248bce; }
.button-secondary { color:var(--slate); background:#fff; border:1px solid var(--line); }
.trust-row { margin-top:42px; display:flex; flex-wrap:wrap; gap:22px; color:#5c7481; font-size:.88rem; font-weight:600; }
.trust-row span::before { content:'✓'; color:var(--blue); margin-right:7px; }
.hero-mark { height:100%; min-height:690px; position:relative; display:grid; place-items:center; background:radial-gradient(circle at center,rgba(255,255,255,.95) 0 19%,rgba(111,192,237,.25) 20% 40%,transparent 41%); }
.hero-mark::before { content:''; width:520px; height:520px; border-radius:50%; border:1px solid rgba(61,157,221,.24); position:absolute; }
.hero-mark img { width:min(480px,70%); aspect-ratio:1.75; object-fit:cover; border-radius:22px; box-shadow:var(--shadow); position:relative; z-index:2; }
.logo-glow { position:absolute; width:340px; height:340px; border-radius:50%; background:#fff; filter:blur(40px); opacity:.9; }
.shine { position:absolute; color:#fff; text-shadow:0 4px 20px rgba(61,157,221,.3); font-size:4rem; z-index:4; }
.shine-one { top:19%; right:17%; }.shine-two { bottom:21%; left:12%; font-size:3rem; }
.section { max-width:1240px; margin:auto; padding:110px 28px; }
.section-heading { max-width:720px; margin-bottom:48px; }
.section-heading h2,.why h2,.quote-intro h2,.area h2 { font-size:clamp(2.25rem,4vw,3.7rem); letter-spacing:-.04em; color:var(--slate-dark); margin-bottom:20px; }
.section-heading > p:last-child,.why-copy > p,.quote-intro > p { color:var(--muted); font-size:1.06rem; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.service-card { min-height:360px; padding:32px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:14px; background:#fff; position:relative; transition:transform .25s,box-shadow .25s; }
.service-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.service-card.featured { background:var(--slate); color:#fff; border-color:var(--slate); }
.service-number { position:absolute; top:26px; right:28px; font:700 .82rem 'Manrope'; color:#a2b5bf; }
.service-icon { width:56px; height:56px; margin-bottom:36px; display:grid; place-items:center; color:var(--blue); background:var(--ice); border-radius:12px; font-size:1.65rem; }
.featured .service-icon { color:#fff; background:rgba(255,255,255,.12); }
.service-card h3 { margin-bottom:14px; font-size:1.45rem; }
.service-card p { color:var(--muted); margin:0 0 26px; }.featured p { color:#c8d8e0; }
.service-card a { margin-top:auto; font-weight:700; font-size:.92rem; color:var(--blue); }.featured a { color:var(--sky); }
.service-card a span { float:right; font-size:1.2rem; }
.why { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:center; }
.why-visual { min-height:540px; border-radius:18px; display:grid; place-items:center; position:relative; overflow:hidden; background:linear-gradient(140deg,var(--slate) 0%,#3d6a80 100%); }
.why-visual::before,.why-visual::after { content:''; position:absolute; border:1px solid rgba(255,255,255,.14); border-radius:50%; width:450px; height:450px; }.why-visual::after { width:300px; height:300px; }
.diamond { color:var(--blue); font-size:12rem; filter:drop-shadow(0 20px 20px rgba(0,0,0,.18)); }
.stat-card { position:absolute; left:30px; bottom:30px; width:170px; padding:18px 22px; background:#fff; border-radius:10px; box-shadow:var(--shadow); }
.stat-card strong { display:block; font:800 2.4rem 'Manrope'; color:var(--blue); line-height:1; }.stat-card span { font-size:.8rem; color:var(--muted); }
.sparkle { position:absolute; color:#fff; font-size:4rem; top:20%; right:18%; }
.why-copy ul { padding:0; margin:34px 0 0; list-style:none; }
.why-copy li { display:flex; gap:16px; padding:18px 0; border-bottom:1px solid var(--line); }
.why-copy li > span { flex:0 0 29px; height:29px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--blue); font-size:.8rem; }
.why-copy strong { display:block; font:700 1rem 'Manrope'; }.why-copy li p { margin:4px 0 0; color:var(--muted); font-size:.9rem; }
.area { max-width:1184px; margin:0 auto 20px; padding:65px 68px; display:flex; align-items:center; justify-content:space-between; gap:50px; color:#fff; border-radius:18px; background:var(--slate); position:relative; overflow:hidden; }
.area::after { content:'✦'; position:absolute; right:25%; top:-45px; color:rgba(255,255,255,.07); font-size:12rem; }
.area > div { max-width:750px; position:relative; z-index:1; }.area h2 { color:#fff; margin-bottom:14px; }.area p:last-child { margin:0; color:#c8d8e0; }
.eyebrow.light { color:var(--sky); }.button-light { flex:0 0 auto; color:var(--slate); background:#fff; position:relative; z-index:2; }
.quote-section { display:grid; grid-template-columns:.82fr 1.18fr; gap:80px; align-items:start; }
.quote-intro { position:sticky; top:110px; }.contact-card { margin-top:38px; border-top:1px solid var(--line); }
.contact-card div { padding:17px 0; border-bottom:1px solid var(--line); }.contact-card span { display:block; color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }.contact-card a,.contact-card strong { font-weight:700; overflow-wrap:anywhere; }
.quote-form { padding:38px; border-radius:14px; background:#f5fafc; border:1px solid var(--line); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label { display:block; margin-bottom:18px; color:var(--ink); font-weight:700; font-size:.88rem; }
input,select,textarea { width:100%; margin-top:7px; border:1px solid #cadde7; border-radius:7px; background:#fff; color:var(--ink); padding:13px 14px; font:400 .95rem 'DM Sans'; outline:none; }
input:focus,select:focus,textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(61,157,221,.12); }
textarea { resize:vertical; }.hidden { display:none; }.submit { width:100%; gap:12px; }.form-note { margin:12px 0 0; text-align:center; color:#7b8e98; font-size:.74rem; }
footer { max-width:1240px; margin:auto; padding:40px 28px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; border-top:1px solid var(--line); }
.footer-brand { display:flex; align-items:center; gap:13px; }.footer-brand img { width:48px; height:48px; object-fit:cover; border-radius:50%; }.footer-brand strong,.footer-brand span { display:block; }.footer-brand strong { font-family:'Manrope'; }.footer-brand span,footer > p { color:var(--muted); font-size:.8rem; }
.footer-links { display:flex; gap:24px; font-weight:600; font-size:.86rem; }footer > p { grid-column:1/-1; margin:0; }
@media (max-width:900px) { .menu-toggle{display:block}.nav-links{display:none;position:absolute;left:18px;right:18px;top:76px;padding:18px;flex-direction:column;align-items:stretch;gap:8px;background:#fff;box-shadow:var(--shadow);border-radius:10px}.nav-links.open{display:flex}.nav-links a{padding:10px}.hero{grid-template-columns:1fr}.hero-copy{padding-top:75px;padding-bottom:40px}.hero-mark{min-height:400px}.service-grid{grid-template-columns:1fr}.service-card{min-height:300px}.why,.quote-section{grid-template-columns:1fr;gap:50px}.why-visual{min-height:430px}.quote-intro{position:static}.area{margin-left:20px;margin-right:20px;padding:50px 35px;align-items:flex-start;flex-direction:column;gap:28px} }
@media (max-width:600px) { .site-header{height:74px;padding:0 18px}.brand span{font-size:.92rem}.brand img{width:46px;height:46px}.hero{min-height:auto}.hero-copy{padding:64px 22px 42px}.hero-text{font-size:1.02rem}.hero-actions{display:grid}.trust-row{gap:9px 16px}.hero-mark{min-height:320px}.hero-mark::before{width:330px;height:330px}.hero-mark img{width:84%}.section{padding:78px 20px}.service-card{padding:27px}.why{gap:38px}.why-visual{min-height:380px}.diamond{font-size:9rem}.quote-form{padding:24px 18px}.field-row{grid-template-columns:1fr}.area{padding:44px 24px}.footer-links{display:none}footer{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*{transition:none!important} }
