
:root {
  --navy-950:#12325f;
  --navy-900:#1d4a86;
  --navy-800:#2a5b98;
  --navy-700:#3870b5;
  --blue-500:#2f74ff;
  --blue-100:#eaf2ff;
  --cyan-100:#eef8ff;
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-alt:#f8fbff;
  --line:#d9e4f2;
  --line-strong:#bfd0e8;
  --text:#152136;
  --muted:#5b6a80;
  --success:#0c8c5f;
  --warning:#8a5d0a;
  --danger:#b13b3b;
  --shadow:0 20px 48px rgba(10,28,57,.08);
  --radius-xl:30px;
  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:12px;
  --wrap:1180px;
  --sans: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  font-family:var(--sans);
  color:var(--text);
  background:linear-gradient(180deg, #f5f8fc 0%, #f3f7fb 100%);
  line-height:1.55;
}
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button,input,select,textarea { font:inherit; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.wrap { width:min(calc(100% - 32px), var(--wrap)); margin:0 auto; }
.section { padding:78px 0; }
.section--tight { padding:52px 0; }
.section--alt { background:linear-gradient(180deg, rgba(255,255,255,.65), rgba(234,243,255,.56)); border-top:1px solid rgba(191,208,232,.55); border-bottom:1px solid rgba(191,208,232,.55); }
.eyebrow {
  display:inline-flex; align-items:center; gap:8px; padding:8px 12px; border-radius:999px;
  background:var(--blue-100); color:var(--navy-700); font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
}
.h1, h1 { margin:18px 0 18px; font-size:clamp(2.3rem, 5vw, 4.4rem); line-height:1; letter-spacing:-.05em; }
.h2, h2 { margin:0 0 16px; font-size:clamp(1.8rem, 3vw, 2.8rem); line-height:1.06; letter-spacing:-.04em; }
.h3, h3 { margin:0 0 10px; font-size:1.32rem; line-height:1.18; letter-spacing:-.03em; }
p.lead, .lead { font-size:1.08rem; color:var(--muted); max-width:780px; }
.kicker { color:var(--muted); font-size:1rem; max-width:720px; }
.btn-row { display:flex; flex-wrap:wrap; gap:14px; margin-top:24px; }
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:50px; padding:0 22px; border-radius:999px; border:1px solid transparent;
  font-weight:800; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover { transform:translateY(-1px); }
.btn--primary { background:linear-gradient(135deg, var(--navy-700), var(--blue-500)); color:#fff; box-shadow:0 14px 24px rgba(24,80,146,.25); }
.btn--secondary { background:#fff; border-color:var(--line-strong); color:var(--navy-900); }
.btn--ghost { background:transparent; border-color:rgba(255,255,255,.35); color:#fff; }
.site-header {
  position:sticky; top:0; z-index:30; backdrop-filter:blur(16px);
  background:rgba(255,255,255,.96); border-bottom:1px solid rgba(191,208,232,.72);
  box-shadow:0 10px 24px rgba(29,74,134,.08);
}
.site-header__inner { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:82px; }
.brand { display:flex; align-items:center; gap:14px; min-width:0; }
.brand img { width:136px; height:auto; object-fit:contain; }
.brand__text { display:none; font-weight:800; color:var(--navy-900); letter-spacing:-.02em; }
.site-nav { display:flex; align-items:center; gap:8px; }
.site-nav > a { color:var(--navy-900); font-size:15px; font-weight:700; padding:10px 14px; border-radius:999px; }
.site-nav > a:hover, .site-nav > a.is-active { background:var(--blue-100); color:var(--navy-900); }
.site-nav .nav-cta { background:linear-gradient(135deg, var(--navy-700), var(--blue-500)); color:#fff; margin-left:8px; box-shadow:0 14px 24px rgba(24,80,146,.18); }
.nav-toggle { display:none; width:48px; height:48px; border:none; border-radius:14px; background:#fff; box-shadow:0 8px 20px rgba(13,40,86,.08); padding:0; }
.nav-toggle span { display:block; width:22px; height:2px; background:var(--navy-900); margin:5px auto; border-radius:99px; }
.hero {
  position:relative; overflow:hidden; color:#fff;
  background:
    linear-gradient(135deg, rgba(8,23,47,.84), rgba(13,40,86,.78)),
    url('../img/carousel/IMG_4818.png') center/cover no-repeat;
}
.hero::after {
  content:""; position:absolute; inset:auto -8% -42% auto; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, rgba(47,116,255,.22), transparent 70%);
}
.hero__inner { position:relative; z-index:1; display:grid; grid-template-columns: minmax(0,1.1fr) 360px; gap:32px; padding:88px 0 96px; }
.hero__copy { max-width:760px; }
.hero__copy .lead { color:rgba(255,255,255,.82); }
.hero-card {
  align-self:end; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.14); border-radius:28px; padding:26px; box-shadow:var(--shadow); backdrop-filter:blur(10px);
}
.hero-card__label { display:block; font-size:12px; text-transform:uppercase; letter-spacing:.08em; opacity:.8; margin-bottom:8px; }
.hero-card__value { display:block; font-size:1.8rem; font-weight:900; margin-bottom:10px; }
.hero-stats { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; margin-top:28px; }
.stat {
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:16px 18px;
}
.stat strong { display:block; font-size:1.1rem; margin-bottom:6px; }
.stat span { display:block; color:rgba(255,255,255,.76); font-size:14px; }
.page-hero {
  padding:66px 0 44px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(234,243,255,.82));
  border-bottom:1px solid rgba(191,208,232,.58);
  color:var(--text);
}
.page-hero p { color:var(--muted); max-width:760px; }
.page-hero .crumb { display:inline-flex; gap:8px; font-size:14px; color:var(--muted); }
.grid { display:grid; gap:22px; }
.grid--2 { grid-template-columns:repeat(2, minmax(0,1fr)); }
.grid--3 { grid-template-columns:repeat(3, minmax(0,1fr)); }
.card, .panel {
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow);
}
.card { padding:26px; }
.card h3 { margin-bottom:12px; }
.card p { margin:0; color:var(--muted); }
.icon-chip {
  width:52px; height:52px; border-radius:16px; background:linear-gradient(135deg, var(--blue-100), #fff); border:1px solid var(--line); display:grid; place-items:center; margin-bottom:18px; color:var(--navy-700); font-size:1.2rem; font-weight:900;
}
.list-clean { list-style:none; padding:0; margin:0; }
.list-clean li { position:relative; padding-left:18px; color:var(--muted); margin:0 0 10px; }
.list-clean li::before { content:""; position:absolute; left:0; top:.72em; width:7px; height:7px; border-radius:50%; background:var(--blue-500); }
.band {
  background:linear-gradient(180deg, rgba(255,255,255,.88), rgba(234,243,255,.8)); border:1px solid var(--line); border-radius:var(--radius-xl); box-shadow:var(--shadow); padding:26px;
}
.band__grid { display:grid; grid-template-columns: 1.05fr .95fr; gap:30px; align-items:center; }
.metrics { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
.metric { background:#fff; border:1px solid var(--line); border-radius:18px; padding:18px; }
.metric strong { display:block; font-size:1.12rem; margin-bottom:6px; }
.metric span { display:block; color:var(--muted); font-size:14px; }
.check-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
.check {
  border:1px solid var(--line); border-radius:18px; background:var(--surface); padding:18px; color:var(--muted);
}
.check strong { display:block; color:var(--text); margin-bottom:6px; }
.cta-panel {
  padding:34px; background:linear-gradient(135deg, var(--navy-900), var(--navy-700)); color:#fff; border-radius:var(--radius-xl); box-shadow:var(--shadow);
}
.cta-panel p { color:rgba(255,255,255,.78); max-width:720px; }
.zone-list, .badge-list { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.zone-list span, .badge-list span {
  display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 14px; border-radius:999px; background:#fff; border:1px solid var(--line-strong); color:var(--navy-900); font-weight:700; font-size:14px;
}
.steps { counter-reset:step; display:grid; gap:16px; }
.step { position:relative; padding:22px 22px 22px 72px; background:#fff; border:1px solid var(--line); border-radius:22px; }
.step::before {
  counter-increment:step; content:counter(step); position:absolute; left:20px; top:20px; width:38px; height:38px; border-radius:50%; background:linear-gradient(135deg, var(--navy-700), var(--blue-500)); color:#fff; display:grid; place-items:center; font-weight:900;
}
.step p { margin:0; color:var(--muted); }
.quote-form, .contact-card { padding:26px; }
.form-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field label { font-size:13px; font-weight:800; color:var(--muted); }
.field input, .field select, .field textarea {
  width:100%; border:1px solid var(--line); border-radius:16px; background:#fff; min-height:50px; padding:14px 15px; color:var(--text); outline:none;
}
.field textarea { min-height:118px; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color:var(--blue-500); box-shadow:0 0 0 4px rgba(47,116,255,.12); }
.field--full { grid-column:1 / -1; }
.form-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:16px; }
.form-status { font-size:14px; color:var(--muted); }
.form-status.is-error { color:var(--danger); }
.form-status.is-success { color:var(--success); }
.note {
  font-size:14px; color:var(--muted); background:var(--surface-alt); border:1px solid var(--line); border-radius:16px; padding:14px 16px;
}
.two-col-hero { display:grid; grid-template-columns: minmax(0,1fr) 360px; gap:24px; align-items:start; }
.aside-card { background:#fff; border:1px solid var(--line); border-radius:24px; padding:24px; box-shadow:var(--shadow); }
.aside-card h3 { font-size:1.1rem; }
.aside-card ul { padding-left:18px; color:var(--muted); }
.kv { display:grid; grid-template-columns: 160px 1fr; gap:10px 18px; }
.kv dt { font-weight:800; color:var(--navy-900); }
.kv dd { margin:0; color:var(--muted); }
.tool-embed {
  border:1px solid var(--line); background:#fff; border-radius:28px; overflow:hidden; box-shadow:var(--shadow);
}
.tool-embed iframe { width:100%; min-height:1720px; border:none; display:block; background:#fff; }
.tool-disclaimer { margin-top:16px; font-size:14px; color:var(--muted); }
.site-footer { margin-top:70px; padding:54px 0 26px; background:linear-gradient(180deg, #edf4fb 0%, #dce9f6 100%); color:var(--text); border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns: 1.2fr .8fr .9fr .8fr; gap:28px; }
.brand--footer img { width:124px; }
.site-footer h2 { margin:0 0 16px; font-size:1rem; color:var(--navy-900); }
.footer-copy { color:var(--muted); max-width:360px; }
.footer-badges, .footer-links, .footer-contact { list-style:none; padding:0; margin:0; }
.footer-badges { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.footer-badges span { background:#fff; border:1px solid var(--line); border-radius:999px; padding:8px 12px; font-size:13px; color:var(--navy-900); }
.footer-links li, .footer-contact li { margin-bottom:10px; color:var(--muted); }
.footer-links a:hover, .footer-contact a:hover { color:var(--navy-900); }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-top:18px; margin-top:28px; color:var(--muted); font-size:14px; }
.mobile-quickbar { display:none; }
.page-list { display:grid; gap:16px; }
.page-list .card { display:grid; gap:10px; }
.audit-doc { white-space:pre-wrap; font-family:var(--mono); font-size:14px; }
@media (max-width: 1120px) {
  .hero__inner, .band__grid, .two-col-hero, .footer-grid { grid-template-columns:1fr; }
}
@media (max-width: 920px) {
  .nav-toggle { display:block; }
  .site-nav {
    position:absolute; left:16px; right:16px; top:calc(100% + 12px); padding:14px; background:rgba(255,255,255,.98); border:1px solid var(--line); border-radius:20px; box-shadow:var(--shadow);
    display:none; flex-direction:column; align-items:stretch;
  }
  .site-nav.is-open { display:flex; }
  .site-nav > a, .site-nav .nav-cta { width:100%; text-align:center; }
  .hero-stats, .grid--2, .grid--3, .metrics, .check-grid, .form-grid { grid-template-columns:1fr; }
  .section { padding:62px 0; }
  .page-hero { padding:52px 0 34px; }
}
@media (max-width: 720px) {
  .wrap { width:min(calc(100% - 24px), var(--wrap)); }
  .hero__inner { padding:64px 0 72px; }
  .card, .panel, .cta-panel, .quote-form, .contact-card, .band { padding:22px; }
  .site-footer { padding-bottom:92px; }
  .footer-bottom { flex-direction:column; }
  .mobile-quickbar {
    display:grid; grid-template-columns:1fr 1fr; gap:10px; position:fixed; left:12px; right:12px; bottom:12px; z-index:40; padding:10px; border-radius:18px; background:rgba(255,255,255,.98); border:1px solid var(--line); box-shadow:var(--shadow);
  }
  .mobile-quickbar a { min-height:48px; display:grid; place-items:center; border-radius:12px; font-weight:800; color:var(--navy-900); background:var(--surface-alt); }
  .mobile-quickbar a.is-primary { background:linear-gradient(135deg, var(--navy-700), var(--blue-500)); }
  .tool-embed iframe { min-height:1980px; }
}

.footer-actions { margin-top:18px; }
.footer-actions .btn { min-height:46px; }

.page-hero--tool { padding-bottom:24px; }
.section--tool { padding-top:30px; }

.breadcrumbs{padding:18px 0 0;color:#5f7188;font-size:.95rem}
.breadcrumbs a{color:#1b4f8f;text-decoration:none}
.breadcrumbs__sep{opacity:.5;margin:0 .45rem}
.page-tools{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.page-tools .btn{min-width:0}
.card-link{display:flex;flex-direction:column;height:100%}
.card-link .btn-row{margin-top:auto}


/* V14 polish */
body{font-size:16px;letter-spacing:.01em}
p{max-width:74ch}
h1,h2,h3{letter-spacing:-.02em}
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid rgba(191,208,232,.7);box-shadow:0 10px 30px rgba(20,44,78,.06)}
.site-header__inner{min-height:78px}
.brand img{width:118px}
.brand__text{font-size:.98rem;font-weight:800;color:var(--navy-900)}
.site-nav>a{color:var(--text);font-weight:700}
.site-nav>a:hover,.site-nav>a.is-active{color:var(--navy-900);background:#eef4fb}
.nav-cta{box-shadow:none}
.hero{background:linear-gradient(135deg, rgba(15,38,73,.78), rgba(36,83,144,.62)), url('../img/og-est-1200x630.png') center/cover no-repeat}
.hero__inner{padding:84px 0 90px}
.hero-card{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2)}
.hero-card .kicker,.hero-card p{color:rgba(255,255,255,.82)}
.page-hero{padding:56px 0 30px}
.page-hero h1{max-width:16ch}
.section-title h2,.page-hero h1,h1{font-weight:800}
.btn{border-radius:14px}
.card,.panel,.band,.aside-card,.cta-panel{box-shadow:0 14px 36px rgba(20,44,78,.07)}
.breadcrumbs{padding:14px 0 0;font-size:.92rem}
.back-link{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--navy-900);margin-bottom:14px}
.back-link::before{content:'←';font-size:1rem}
.note{background:#f8fbff}
.cta-strip__inner{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.cta-strip__inner p{margin:0;color:var(--muted)}
.cta-strip__inner .btn-row{flex-shrink:0}
.footer-grid{grid-template-columns:1.25fr .8fr .95fr .85fr}
.tool-page .section-title h2{margin-bottom:2px}
.print-watermark{display:none}
@media print{
  .site-header,.site-footer,.mobile-quickbar,.actions,.btn,.nav-toggle,.breadcrumbs{display:none!important}
  .print-watermark{display:block;position:fixed;inset:28% 0 auto 0;text-align:center;font-size:68px;font-weight:800;color:rgba(18,50,95,.08);transform:rotate(-24deg);pointer-events:none;z-index:0}
  main{padding:0}
}
@media (max-width:920px){
  .site-header{background:rgba(255,255,255,.96)}
  .brand__text{display:none}
  .cta-strip__inner{flex-direction:column;align-items:flex-start}
}


/* V15 design refresh */
:root{--sans: Inter, "Avenir Next", Avenir, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;}
body{font-size:16px;line-height:1.62;color:#132236}
p,.lead,.kicker{max-width:70ch}
h1{font-size:clamp(2.6rem,5vw,4.8rem);line-height:.98}
h2{font-size:clamp(1.85rem,3vw,3rem);line-height:1.04}
.brand__text{display:block;font-size:.95rem}
.site-header{background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,251,255,.92));backdrop-filter:blur(18px)}
.site-nav{gap:6px;flex-wrap:wrap;justify-content:flex-end}
.site-nav>a{padding:10px 12px;border:1px solid transparent}
.site-nav>a:hover,.site-nav>a.is-active{border-color:rgba(191,208,232,.9)}
.page-tools .btn,.btn-row .btn{min-width:0}
.btn--ghost{background:#f4f8fd;border-color:var(--line-strong);color:var(--navy-900)}
.hero .btn--ghost,.cta-panel .btn--ghost{background:transparent;border-color:rgba(255,255,255,.36);color:#fff}
.back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:var(--navy-800);font-weight:700}
.back-link::before{content:'←';font-size:1.05em}
.hero{background:linear-gradient(135deg, rgba(15,38,73,.72), rgba(43,93,157,.58)), radial-gradient(circle at 80% 15%, rgba(255,255,255,.18), transparent 22%), url('../img/og-est-1200x630.png') center/cover no-repeat}
.hero__inner{align-items:end;gap:28px}
.hero-card--motion{position:relative;overflow:hidden}
.hero-motion{position:relative;height:74px;margin-bottom:16px;border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.18)}
.hero-motion .road{position:absolute;left:16px;right:16px;bottom:18px;height:8px;border-radius:999px;background:rgba(255,255,255,.18);overflow:hidden}
.hero-motion .road::after{content:'';position:absolute;inset:2px 10px;background:repeating-linear-gradient(90deg, rgba(255,255,255,.68) 0 20px, transparent 20px 42px);border-radius:999px;opacity:.8}
.hero-motion .truck{position:absolute;left:-74px;bottom:20px;width:62px;height:24px;background:linear-gradient(135deg,#fff,#dce9ff);border-radius:8px 8px 6px 6px;box-shadow:0 10px 18px rgba(12,24,44,.22);animation:truckDrive 9s linear infinite}
.hero-motion .truck::before{content:'';position:absolute;right:-18px;top:5px;width:20px;height:19px;border-radius:4px 6px 6px 3px;background:linear-gradient(135deg,#c9dcff,#9dbef9)}
.hero-motion .truck::after{content:'';position:absolute;left:8px;bottom:-8px;width:42px;height:10px;background:radial-gradient(circle at 8px 5px,#182846 0 4px,transparent 4.5px),radial-gradient(circle at 32px 5px,#182846 0 4px,transparent 4.5px)}
@keyframes truckDrive{0%{transform:translateX(0)}100%{transform:translateX(calc(100vw + 160px))}}
.page-hero .page-tools .btn--ghost{background:#fff}
.site-footer{background:linear-gradient(180deg,#eef4fb 0%,#e2edf8 100%)}
.footer-grid{align-items:start}
.metric,.card,.panel,.band,.aside-card{border-radius:20px}
.icon-chip{font-size:1rem}
.form-grid .field input,.form-grid .field textarea,.form-grid .field select{background:#fbfdff}
.cta-strip__inner{display:flex;justify-content:space-between;gap:24px;align-items:end;background:linear-gradient(135deg,#204d88,#316ab2);color:#fff;border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.cta-strip__inner p{color:rgba(255,255,255,.82)}
.contact-page .panel{height:100%}
@media (max-width:920px){.brand__text{display:none}.site-nav{max-height:78vh;overflow:auto}.hero-motion{height:62px}.hero-motion .truck{animation-duration:7s}.cta-strip__inner{flex-direction:column;align-items:flex-start}}
