:root{--navy:#0a1730;--navy2:#12274d;--red:#e01f2b;--blue:#2f6bff;--ink:#0f172a;--muted:#5a6679;--line:#e6eaf2;--bg:#f5f7fc;}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{color:inherit}
.wrap{max-width:1100px;margin:0 auto;padding:0 28px}
header{border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:10}
.bar{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:20px}
.lockup{font-weight:900;font-size:23px;letter-spacing:.01em;text-decoration:none}
.lockup .red{color:var(--red)}
.lockup small{display:block;font-size:9px;letter-spacing:.32em;color:#7d8aa5;font-weight:700;margin-top:2px}
nav a{color:#46536b;text-decoration:none;font-size:14.5px;margin-left:24px;font-weight:600}
nav a:hover{color:var(--navy)}
nav a.cta-link{background:var(--red);color:#fff;padding:10px 16px;border-radius:9px}
.kicker{color:var(--red);font-weight:800;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px}
h1{font-size:clamp(30px,4.4vw,48px);line-height:1.05;letter-spacing:-.02em;font-weight:900}
h2{font-size:clamp(23px,2.8vw,31px);font-weight:900;letter-spacing:-.01em;margin-bottom:10px}
h3{font-size:16.5px;margin-bottom:6px;font-weight:800}
p{color:var(--muted)}
.hero{padding:64px 0 58px;display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
.hero p{font-size:17px;margin:20px 0 30px;max-width:48ch}
.cta{display:flex;gap:13px;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;font-weight:800;font-size:15px;padding:15px 24px;border-radius:11px;border:1.5px solid transparent}
.btn.primary{background:var(--red);color:#fff}
.btn.outline{color:var(--navy);border-color:#cdd6e6}
.btn.wa{background:#25d366;color:#fff}
.herocard{aspect-ratio:5/4;border-radius:20px;background:linear-gradient(150deg,#0a1730,#12274d);border:1px solid #16294f;padding:38px;display:flex;align-items:center;position:relative;overflow:hidden}
.herocard:before{content:"";position:absolute;right:-70px;bottom:-70px;width:250px;height:250px;border-radius:50%;background:radial-gradient(circle,#e01f2b33,transparent 70%)}
.herocard-in{position:relative}
.herocard-kick{color:#8ea2cc;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:800}
.herocard-mark{color:#fff;font-size:44px;font-weight:900;letter-spacing:-.02em;margin:12px 0 7px;line-height:1}
.herocard-mark span{color:var(--red)}
.herocard-sub{color:#9db0d8;font-size:10px;letter-spacing:.28em;font-weight:700}
.herocard-rule{height:2px;width:54px;background:var(--red);margin:22px 0}
.herocard-list{list-style:none;color:#c8d5f0;font-size:14.5px;font-weight:600}
.herocard-list li{padding:5px 0 5px 18px;position:relative}
.herocard-list li:before{content:"";position:absolute;left:0;top:12px;width:8px;height:2px;background:var(--red)}
.band{background:var(--bg);padding:74px 0;border-top:1px solid var(--line)}
.lede{max-width:60ch;margin-bottom:38px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:26px;display:block;text-decoration:none}
a.card:hover{border-color:#c3cfe6;box-shadow:0 8px 24px rgba(10,23,48,.06)}
.card .ico{width:42px;height:42px;border-radius:11px;background:#eaf0ff;color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.card p{font-size:13.8px}
.card .more{display:inline-block;margin-top:14px;font-size:13.5px;font-weight:800;color:var(--red)}
.why{padding:74px 0}
.why .grid{grid-template-columns:1fr;gap:14px}
.contact-band{background:var(--navy);color:#fff;border-radius:22px;padding:52px;display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}
.contact-band h2{color:#fff}
.contact-band p{color:#a9b9dd;margin-top:12px}
.contact{list-style:none;font-size:15px}
.contact li{padding:14px 0;border-bottom:1px solid #1d2f57}
.contact strong{display:block;font-size:11px;letter-spacing:.16em;color:#7f93bd;margin-bottom:3px}
.contact a,.contact span{color:#fff;text-decoration:none;font-weight:700}
.areas{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.areas span{border:1px solid var(--line);border-radius:100px;padding:8px 16px;font-size:13.5px;color:#374151;font-weight:600;background:#fff}
footer{background:#07101f;color:#7f8fb3;font-size:13px;padding:26px 0}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
/* service page */
.sp-hero{background:var(--navy);color:#fff;padding:64px 0}
.sp-hero h1{color:#fff;max-width:18ch}
.sp-hero p{color:#a9b9dd;font-size:17px;margin-top:18px;max-width:56ch}
.sp-hero .kicker{color:#ff6b74}
.crumb{font-size:13px;color:#7f93bd;font-weight:700;margin-bottom:14px}
.crumb a{text-decoration:none;color:#7f93bd}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;padding:70px 0}
.two h2{margin-bottom:22px}
ul.checks{list-style:none}
ul.checks li{padding:11px 0 11px 30px;position:relative;border-bottom:1px solid var(--line);font-weight:600;font-size:15px}
ul.checks li:before{content:"";position:absolute;left:0;top:17px;width:11px;height:6px;border-left:2.5px solid var(--red);border-bottom:2.5px solid var(--red);transform:rotate(-45deg)}
ul.steps li{padding-left:0}
ul.steps li:before{display:none}
.side{background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:30px;align-self:start}
.side h3{margin-bottom:12px}
.side p{font-size:14.5px;margin-bottom:22px}
.side .btn{display:block;text-align:center;margin-bottom:11px}
/* form */
.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:0 10px 30px rgba(10,23,48,.05)}
label{display:block;font-size:13px;font-weight:800;margin:0 0 6px;color:var(--navy)}
.field{margin-bottom:18px}
input,select,textarea{width:100%;font-family:inherit;font-size:15px;padding:13px 14px;border:1.5px solid #d7dfec;border-radius:10px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hint{font-size:12.5px;color:var(--muted);margin-top:6px}
.form-note{background:#fff7f7;border:1px solid #ffd9db;border-radius:12px;padding:16px 18px;font-size:13.5px;color:#8a1a22;margin-top:8px}
@media(max-width:820px){.hero,.two,.contact-band,.grid,.row2{grid-template-columns:1fr}.herocard{order:-1}nav a{margin-left:0;margin-right:14px}nav #navlink-areas,nav #navlink-why{display:none}}
