@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 { --ink:#102a43; --muted:#5b6f82; --cream:#f3f7fc; --paper:#ffffff; --teal:#1659a8; --teal-dark:#0a2f63; --lime:#d72638; --line:#d8e2ee; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'DM Sans', Arial, sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
h1,h2,h3,strong { font-family:'Manrope', Arial, sans-serif; }
.site-header { position:sticky; top:0; z-index:20; height:88px; padding:0 clamp(24px,5vw,76px); display:flex; align-items:center; gap:40px; background:rgba(255,255,255,.94); border-bottom:1px solid rgba(16,42,67,.1); backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; gap:12px; margin-right:auto; }
.brand-logo { width:76px; height:54px; object-fit:contain; flex:none; }
.brand strong,.brand small { display:block; line-height:1.05; }
.brand strong { font-size:17px; letter-spacing:-.5px; }.brand small { margin-top:5px; color:var(--muted); font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
nav { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:600; } nav a:hover { color:var(--teal); }
.header-phone { padding-left:30px; border-left:1px solid var(--line); }.header-phone small,.header-phone strong { display:block; }.header-phone small { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }.header-phone strong { margin-top:3px; font-size:15px; }
.hero { min-height:690px; display:grid; grid-template-columns:1.08fr .92fr; align-items:center; gap:6vw; padding:70px clamp(24px,7vw,110px) 90px; overflow:hidden; background:linear-gradient(120deg,#f3f7fc 0%,#ffffff 65%); }
.eyebrow { margin:0 0 18px; color:var(--teal); font-size:12px!important; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.hero h1,.page-hero h1,.contact-hero h1 { margin:0; max-width:810px; font-size:clamp(50px,6vw,86px); line-height:.98; letter-spacing:-.065em; }.hero h1 span { color:var(--teal); }
.hero-lede,.page-hero>div>p,.contact-hero>div>p { max-width:620px; margin:28px 0 34px; color:var(--muted); font-size:19px; line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }.button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 23px; border-radius:13px; font-weight:700; font-size:15px; transition:.2s ease; }.button:hover { transform:translateY(-2px); }.button-primary { background:var(--lime); color:white; box-shadow:0 10px 25px rgba(215,38,56,.2); }.button-primary:hover { background:#b91f30; }.button-quiet { border:1px solid var(--line); background:rgba(255,255,255,.8); }.button-quiet span { margin-left:18px; }
.hero-art { position:relative; width:min(39vw,520px); aspect-ratio:1; justify-self:center; border-radius:50%; background:radial-gradient(circle at center,#e5eef9 0 36%,transparent 37%),linear-gradient(145deg,#edf4fc,#fbeaec); }.art-card { position:absolute; z-index:3; left:15%; right:15%; top:29%; padding:31px; border:1px solid rgba(255,255,255,.85); border-radius:24px; background:rgba(255,255,255,.88); box-shadow:0 30px 70px rgba(10,47,99,.15); backdrop-filter:blur(18px); }.art-card p { display:inline; margin-left:8px; color:var(--muted); font-size:12px; }.art-card strong { display:block; margin-top:20px; font-size:25px; letter-spacing:-.04em; }.status-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 5px rgba(215,38,56,.13); }.signal-bars { height:35px; display:flex; align-items:flex-end; gap:7px; margin-top:28px; }.signal-bars i { display:block; width:17%; border-radius:5px 5px 2px 2px; background:var(--teal); }.signal-bars i:nth-child(1){height:35%}.signal-bars i:nth-child(2){height:55%}.signal-bars i:nth-child(3){height:72%}.signal-bars i:nth-child(4){height:100%;background:var(--lime)}
.art-orbit { position:absolute; inset:8%; border:1px solid rgba(22,89,168,.2); border-radius:50%; }.orbit-two { inset:-6%; border-style:dashed; }.art-chip { position:absolute; z-index:4; padding:9px 12px; border-radius:10px; color:white; background:var(--teal-dark); font:700 10px 'Manrope'; white-space:nowrap; box-shadow:0 8px 22px rgba(10,47,99,.2); }.chip-one{top:8%;left:20%}.chip-two{right:2%;top:25%;background:var(--teal)}.chip-three{bottom:8%;left:28%;background:var(--lime)}.chip-four{top:1%;right:20%;background:var(--lime)}.chip-five{bottom:19%;right:-6%;background:var(--teal)}.chip-six{top:44%;left:-8%;background:var(--lime)}.chip-seven{bottom:22%;left:-4%;background:var(--teal)}.chip-eight{bottom:1%;right:20%;background:var(--teal-dark)}
.choice-section,.services-section,.home-service-list,.contact-grid { padding:110px clamp(24px,7vw,110px); }.section-heading { margin-bottom:46px; }.section-heading h2 { margin:0; font-size:clamp(37px,4vw,56px); letter-spacing:-.055em; }.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }.choice-card { position:relative; min-height:470px; overflow:hidden; border-radius:24px; background:var(--ink); }.choice-card img { width:100%; height:100%; object-fit:cover; opacity:.72; transition:.5s ease; }.choice-card:hover img { transform:scale(1.035); opacity:.58; }.choice-overlay { position:absolute; inset:auto 0 0; padding:38px; color:white; background:linear-gradient(transparent,rgba(8,31,61,.94)); }.choice-overlay p { margin:0 0 8px; opacity:.74; font-size:13px; }.choice-overlay h3 { margin:0 0 25px; font-size:38px; letter-spacing:-.045em; }.choice-overlay span { color:#ff7a87; font-weight:700; font-size:14px; }
.trust-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border-block:1px solid var(--line); }.trust-strip div { padding:36px clamp(20px,3vw,46px); background:var(--paper); }.trust-strip strong,.trust-strip span { display:block; }.trust-strip strong { font-size:20px; }.trust-strip span { margin-top:7px; color:var(--muted); font-size:13px; }
.page-hero { min-height:570px; display:grid; grid-template-columns:1.5fr .5fr; align-items:end; gap:8vw; padding:100px clamp(24px,7vw,110px) 80px; background:var(--cream); }.page-hero h1 { max-width:930px; font-size:clamp(46px,5.8vw,82px); }.page-hero aside { padding:30px; border-radius:20px; background:var(--ink); color:white; }.page-hero aside span { color:#ff7a87; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.page-hero aside strong { display:block; margin:16px 0 12px; font-size:22px; line-height:1.2; }.page-hero aside p { margin:0; color:#cfdeef; font-size:14px; line-height:1.6; }
.alert-band { display:grid; grid-template-columns:.65fr 1.35fr; gap:7vw; padding:48px clamp(24px,7vw,110px); background:var(--lime); color:white; }.alert-band strong { font-size:25px; letter-spacing:-.035em; }.alert-band p { margin:0; line-height:1.65; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.service-card { min-height:320px; padding:30px; border:1px solid var(--line); border-radius:20px; background:white; transition:.2s ease; }.service-card:hover { border-color:var(--teal); transform:translateY(-3px); box-shadow:0 20px 45px rgba(10,47,99,.08); }.service-card>span { color:var(--teal); font:800 12px 'Manrope'; }.service-card h3 { margin:38px 0 16px; font-size:22px; line-height:1.2; letter-spacing:-.035em; }.service-card p { margin:0; color:var(--muted); font-size:15px; line-height:1.65; }
.cta-band { margin:0 clamp(24px,4vw,60px) 60px; padding:55px clamp(28px,5vw,70px); display:flex; align-items:center; justify-content:space-between; gap:30px; border-radius:26px; background:var(--teal-dark); color:white; }.cta-band .eyebrow { color:#ff7a87; }.cta-band h2 { margin:0; font-size:clamp(32px,4vw,53px); letter-spacing:-.05em; }.cta-band p:not(.eyebrow) { color:#cfdeef; }.button-light { background:white; color:var(--teal-dark); white-space:nowrap; }
.home-service-list { display:flex; flex-direction:column; gap:80px; }.home-service { display:grid; grid-template-columns:.92fr 1.08fr; gap:7vw; align-items:center; }.home-service:nth-child(even) .home-service-image { order:2; }.home-service-image { position:relative; }.home-service-image img { width:100%; aspect-ratio:2/1; object-fit:cover; border-radius:22px; }.home-service-image span { position:absolute; top:-18px; left:-14px; width:50px; height:50px; display:grid; place-items:center; border-radius:14px; background:var(--lime); font:800 13px 'Manrope'; }.home-service h2 { margin:0 0 22px; font-size:clamp(30px,3.5vw,48px); line-height:1.1; letter-spacing:-.05em; }.home-service p { margin:0; color:var(--muted); font-size:16px; line-height:1.8; }
.contact-hero { min-height:510px; display:flex; align-items:end; padding:100px clamp(24px,7vw,110px) 75px; background:linear-gradient(115deg,var(--cream),#fbeaec); }.contact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.contact-grid article { min-height:350px; padding:34px; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:22px; }.contact-icon { width:43px; height:43px; display:grid; place-items:center; margin-bottom:55px; border-radius:11px; background:var(--cream); color:var(--teal); font:800 11px 'Manrope'; }.contact-grid h2 { margin:0 0 18px; font-size:26px; line-height:1.3; letter-spacing:-.04em; }.contact-grid article>p:not(.eyebrow) { color:var(--muted); line-height:1.7; }.contact-grid article>a { margin-top:auto; color:var(--teal); font-weight:700; }.contact-call { background:var(--ink); color:white; }.contact-call .eyebrow,.contact-call a { color:#ff7a87!important; }.contact-call p { color:#cfdeef!important; }
footer { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:70px; padding:65px clamp(24px,7vw,110px); background:#081f3d; color:white; }.footer-brand { display:flex; gap:15px; }.footer-logo { width:76px; height:54px; padding:5px; flex:none; border-radius:12px; background:white; object-fit:contain; }.footer-brand strong { font-size:18px; }.footer-brand p,.footer-meta { color:#a9bbcf; font-size:13px; line-height:1.6; }.footer-links { display:flex; flex-direction:column; gap:12px; font-size:14px; }.footer-links a:hover { color:#ff7a87; }.footer-meta p { margin:0 0 18px; }
@media (max-width:900px) { .site-header { height:74px; }.site-header nav { display:none; }.header-phone { border:0; padding:0; }.hero { grid-template-columns:1fr; min-height:auto; }.hero-art { width:min(85vw,480px); margin:20px 0; }.choice-grid,.page-hero,.home-service,.contact-grid,footer { grid-template-columns:1fr; }.page-hero { align-items:initial; }.service-grid { grid-template-columns:1fr 1fr; }.trust-strip { grid-template-columns:1fr 1fr; }.home-service:nth-child(even) .home-service-image { order:initial; }.contact-grid article { min-height:300px; } }
@media (max-width:600px) { .brand small { display:none; }.header-phone small { display:none; }.header-phone strong { font-size:13px; }.hero { padding-top:55px; }.hero h1,.page-hero h1,.contact-hero h1 { font-size:47px; }.hero-lede { font-size:17px; }.hero-art { width:86vw; margin-block:50px; }.art-chip { padding:7px 9px; font-size:8px; }.chip-five{right:-2%}.chip-six,.chip-seven{left:-2%}.choice-section,.services-section,.home-service-list,.contact-grid { padding-block:75px; }.choice-grid,.service-grid { grid-template-columns:1fr; }.choice-card { min-height:390px; }.trust-strip { grid-template-columns:1fr; }.page-hero { padding-top:75px; }.alert-band { grid-template-columns:1fr; gap:15px; }.cta-band { align-items:flex-start; flex-direction:column; }.home-service-list { gap:60px; } footer { gap:38px; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; transition:none!important; } }
