:root{
  --navy:#17324d; --navy-2:#0f2235; --green:#6aa63b; --orange:#d96838; --orange-2:#bf5528;
  --bg:#ffffff; --bg-2:#f4f6f8; --ink:#1b2430; --muted:#5c6773; --line:#dde3e9; --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:17px;line-height:1.55}
img{max-width:100%;display:block}
a{color:var(--navy)}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;line-height:1.15;margin:0 0 14px;letter-spacing:-.01em}
h1{font-size:clamp(34px,5vw,56px);font-weight:600}
h2{font-size:clamp(26px,3.4vw,38px);font-weight:600}
h3{font-size:21px;font-weight:600}
p{margin:0 0 14px}
.lede{font-size:19px;color:var(--muted);max-width:720px}
.btn{display:inline-block;white-space:nowrap;padding:14px 22px;border-radius:8px;font-weight:600;text-decoration:none;font-size:16px}
.btn.primary{background:var(--orange);color:#fff}
.btn.primary:hover{background:var(--orange-2)}
.btn.ghost{border:2px solid var(--navy);color:var(--navy)}
.btn.light{background:#fff;color:var(--navy)}

/* concept banner */
.concept{background:#ffe9d6;color:#7a3a16;font-size:14px;text-align:center;padding:10px 16px;border-bottom:1px solid #f1c7a5}
.concept a{color:inherit;font-weight:600}

/* header */
header.site{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:10}
.bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0}
.logo img{height:52px;width:auto}
nav.main{display:none;gap:16px;font-weight:500;font-size:14px;white-space:nowrap}
nav.main a{text-decoration:none;color:var(--ink)}
nav.main a:hover{color:var(--orange)}
.call{display:flex;align-items:center;gap:14px}
.call a.phone{font-weight:700;color:var(--navy);text-decoration:none;font-size:16px;white-space:nowrap}
.menu{display:inline-block;font-size:14px;color:var(--muted)}
@media (min-width:960px){nav.main{display:flex}.menu{display:none}}

/* hero */
.hero{position:relative;color:#fff;background:var(--navy-2)}
.hero .bg{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;opacity:.42}
.hero .inner{position:relative;padding:84px 0 72px;max-width:760px}
.hero .kicker{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.14);padding:6px 10px;border-radius:6px;margin-bottom:18px}
.hero p{font-size:19px;color:#e9eef3;max-width:620px}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

/* proof strip */
.proof{background:var(--navy);color:#fff}
.proof .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
.proof .cell{padding:22px 16px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.proof .num{font-family:"Source Serif 4",Georgia,serif;font-size:34px;font-weight:600;line-height:1}
.proof .lbl{font-size:14px;color:#c7d2dc;margin-top:6px}
@media (min-width:760px){.proof .grid{grid-template-columns:repeat(4,1fr)}.proof .cell{border-bottom:0}}

section{padding:64px 0}
section.alt{background:var(--bg-2)}
.head{max-width:760px;margin-bottom:30px}
.cols{display:grid;gap:20px}
@media (min-width:760px){.cols.three{grid-template-columns:repeat(3,1fr)}.cols.two{grid-template-columns:repeat(2,1fr)}.cols.four{grid-template-columns:repeat(4,1fr)}}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.card .body{padding:20px 22px}
.card img.cover{aspect-ratio:16/10;object-fit:cover;width:100%}
.card ul{margin:10px 0 0;padding-left:18px}
.card li{margin:0 0 6px}
.card a.more{display:inline-block;margin-top:12px;font-weight:600;text-decoration:none}
.card.plain{padding:22px}
.tag{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);margin-bottom:8px}

/* steps */
.steps{counter-reset:s;display:grid;gap:16px}
@media (min-width:760px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.step:before{counter-increment:s;content:counter(s);display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:var(--green);color:#fff;font-weight:700;margin-bottom:10px}

/* quotes */
.quote{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}
.quote p{font-family:"Source Serif 4",Georgia,serif;font-size:19px}
.quote .who{font-size:14px;color:var(--muted)}

/* podcast */
.pod{display:grid;gap:24px;align-items:center}
@media (min-width:860px){.pod{grid-template-columns:1.1fr .9fr}}
.pod .ep{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.pod .ep small{color:var(--muted)}

/* offices */
.offices{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}
@media (min-width:760px){.offices{grid-template-columns:repeat(4,1fr)}}
.office{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;color:var(--ink)}
.office b{display:block}
.office span{font-size:14px;color:var(--muted)}

/* estimate */
.estimate{background:var(--navy);color:#fff}
.estimate .grid{display:grid;gap:30px}
@media (min-width:860px){.estimate .grid{grid-template-columns:1fr 1fr}}
.estimate h2,.estimate p{color:#fff}
.estimate p{color:#d6dee6}
form.f{background:#fff;color:var(--ink);border-radius:12px;padding:22px}
form.f label{display:block;font-size:14px;font-weight:600;margin:10px 0 4px}
form.f input,form.f select,form.f textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:16px}
form.f .row{display:grid;gap:12px;grid-template-columns:1fr 1fr}
form.f .note{font-size:13px;color:var(--muted);margin-top:8px}

/* faq */
details{border-top:1px solid var(--line);padding:14px 0}
details summary{font-weight:600;cursor:pointer;font-size:18px}
details p{margin-top:10px;color:var(--muted)}

/* footer */
footer.site{background:var(--navy-2);color:#c7d2dc;padding:48px 0 32px;font-size:15px}
footer .grid{display:grid;gap:28px}
@media (min-width:760px){footer .grid{grid-template-columns:2fr 1fr 1fr 1fr}}
footer a{color:#fff;text-decoration:none}
footer ul{list-style:none;padding:0;margin:8px 0 0}
footer li{margin:0 0 6px}
footer .fine{border-top:1px solid rgba(255,255,255,.12);margin-top:30px;padding-top:18px;font-size:13px;color:#93a3b2}
.breadcrumb{font-size:14px;color:var(--muted);margin-bottom:10px}
.breadcrumb a{color:var(--muted)}
.two-up{display:grid;gap:30px;align-items:start}
@media (min-width:860px){.two-up{grid-template-columns:1.2fr .8fr}}
.aside{background:var(--bg-2);border-radius:12px;padding:22px}
.aside ul{padding-left:18px;margin:8px 0 0}
