:root { --navy:#062953; --navy-dark:#041c3b; --teal:#008c96; --aqua:#dff3f4; --white:#fff; --ink:#102955; --muted:#5f7290; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); font-family:Manrope,Arial,sans-serif; line-height:1.6; }
.container { width:min(1120px,calc(100% - 40px)); margin:auto; }
.hero { min-height:690px; overflow:hidden; position:relative; color:white; background:radial-gradient(circle at 75% 10%,#0a7f91 0,transparent 23%),linear-gradient(135deg,var(--navy-dark),var(--navy) 65%,#063e6c); }
.hero:after { content:""; position:absolute; width:620px; height:620px; right:-250px; bottom:-270px; border:46px solid #009da2; border-radius:50%; opacity:.85; }
.nav { height:91px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:1; }
.brand { color:white; display:flex; align-items:center; gap:10px; text-decoration:none; text-transform:uppercase; font:700 11px/1.25 Comfortaa,sans-serif; letter-spacing:.08em; }
.brand-icon { width:36px; height:36px; display:grid; place-items:center; border:2px solid #51d3d1; border-radius:50%; color:#51d3d1; font-size:23px; }
.nav-phone { color:white; text-decoration:none; border:1px solid #5cbec5; border-radius:30px; padding:9px 17px; font-weight:700; }
.hero-content { min-height:560px; display:grid; grid-template-columns:1fr 330px; gap:70px; align-items:center; position:relative; z-index:1; }
.eyebrow { letter-spacing:.18em; color:#24cbd0; font-size:.78rem; font-weight:800; margin:0 0 8px; }
h1 { font:clamp(3.4rem,7vw,6.4rem)/.9 "Marck Script",cursive; margin:0; color:#fff; font-weight:400; letter-spacing:-.03em; }
.pulse { width:100%; max-width:620px; height:43px; margin:20px 0 9px; }
.pulse svg { display:block; width:100%; height:100%; }
.pulse path { fill:none; stroke:#25c8cc; stroke-width:3; vector-effect:non-scaling-stroke; stroke-linejoin:round; stroke-linecap:round; }
.hero h2,.section-heading h2,.cta h2 { text-transform:uppercase; font-size:clamp(1.8rem,4vw,2.7rem); line-height:1.15; margin:0; letter-spacing:.015em; }
.tagline { color:#52d7d2; font:1.5rem/1.3 Comfortaa,sans-serif; margin:3px 0 20px; }
.intro { max-width:600px; color:#d9ebf1; margin:0 0 26px; }
.button { display:inline-block; text-decoration:none; padding:12px 23px; border-radius:30px; font-weight:800; margin:0 10px 8px 0; transition:.2s transform,.2s background; }
.button:hover { transform:translateY(-2px); }
.button-primary { color:white; background:var(--teal); box-shadow:0 7px 18px #00193655; }
.button-light { color:var(--navy); background:white; }
.contact-card { padding:31px 29px; border-radius:22px; background:#ffffff; color:var(--ink); box-shadow:0 18px 45px #00153166; position:relative; }
.contact-mark { font-size:52px; line-height:.8; color:var(--navy); position:relative; display:inline-block; }
.contact-mark span { color:var(--teal); position:absolute; font:700 27px/1 Arial; left:18px; top:11px; }
.contact-card h3 { font:700 1.5rem/1.25 Comfortaa,sans-serif; margin:16px 0 0; }
.contact-card p { color:var(--teal); margin:0 0 17px; font-style:italic; }
.contact-card a { color:var(--ink); text-decoration:none; display:block; border-top:1px solid #e3edef; padding:10px 0 0; margin-top:8px; font-weight:700; font-size:.9rem; }
.section { padding:94px 0 78px; }
.section-heading { text-align:center; max-width:680px; margin:0 auto 44px; }
.section-heading h2 { color:var(--navy); }
.section-heading > p:last-child { color:var(--muted); margin:12px 0 0; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.service { min-height:105px; margin:0; padding:20px; display:flex; align-items:center; gap:15px; background:#f7fbfb; border:1px solid #e1eeee; border-radius:13px; }
.service span { background:var(--teal); color:white; width:41px; height:41px; flex:none; border-radius:50%; display:grid; place-items:center; font-size:19px; }
.service p { margin:0; font-weight:800; line-height:1.36; }
.service small { font-weight:600; white-space:nowrap; }
.reassurance { background:linear-gradient(90deg,#e9f6f6,#d8edef); padding:26px 0; }
.reassurance-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.reassurance-grid div { padding:7px 32px; border-right:1px solid #8ab7be; display:grid; }
.reassurance-grid div:last-child { border:0; }
.reassurance-grid b { color:var(--navy); }
.reassurance-grid span { color:#426685; font-size:.9rem; }
.cta { text-align:center; color:white; padding:86px 0; background:linear-gradient(135deg,var(--navy),#075b74); }
.cta h2 { max-width:800px; margin:0 auto 12px; text-transform:none; }
.cta p:not(.eyebrow) { max-width:650px; margin:0 auto 25px; color:#d4eeee; }
footer { background:var(--navy-dark); color:#b5cfdb; padding:20px 0; font-size:.85rem; }
footer .container { display:flex; justify-content:space-between; gap:15px; } footer a { color:#5ed2d1; }
@media (max-width:760px) { .hero { min-height:auto; } .hero-content { grid-template-columns:1fr; gap:30px; padding:52px 0 70px; } .contact-card { max-width:420px; } .service-grid { grid-template-columns:1fr; } .reassurance-grid { grid-template-columns:1fr; gap:10px; } .reassurance-grid div { border-right:0; border-bottom:1px solid #8ab7be; padding:8px 0; } .reassurance-grid div:last-child { border-bottom:0; } footer .container { flex-direction:column; } }
