:root { --ink:#172126; --muted:#667085; --soft:#f7f8fa; --line:#e5e7eb; --white:#fff; --brand:#2f6f68; --brand-dark:#1f514c; --brand-soft:#eaf5f3; --amber:#fff5df; --amber-dark:#9a5b00; --shadow:0 12px 36px rgba(16,24,40,.04); --shadow-lg:0 22px 70px rgba(16,24,40,.08); --max:1180px; }
* { box-sizing:border-box; }
body { margin:0; font-family:"Inter",system-ui,-apple-system,BlinkMacSystemFont,sans-serif; color:var(--ink); background:#fff; line-height:1.5; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin:0; }
section { padding:56px 0; }
.container { width:min(100% - 28px,var(--max)); margin:0 auto; }
h1 { max-width:720px; font-size:44px; line-height:1.06; letter-spacing:-.075em; }
h2 { font-size:clamp(32px,4vw,52px); line-height:1.02; letter-spacing:-.065em; }
h3 { font-size:20px; line-height:1.15; letter-spacing:-.04em; }
.site-header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.92); backdrop-filter:blur(18px); border-bottom:1px solid var(--line); }
.nav,.logo,.nav-actions,.hero-actions { display:flex; align-items:center; }
.nav { min-height:68px; justify-content:space-between; gap:20px; }
.logo { gap:10px; font-weight:900; font-size:20px; letter-spacing:-.05em; }
.logo-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:14px; color:#fff; font-size:19px; font-weight:900; letter-spacing:-.06em; }
.nav-links { display:none; }
.nav-actions,.hero-actions { gap:12px; }
.nav-actions .btn-ghost { display:none; }
.breadcrumbs { padding:14px 0; background:#fff; border-bottom:1px solid var(--line); }
.breadcrumbs ol { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; padding:0; list-style:none; color:var(--muted); font-size:13px; font-weight:750; }
.breadcrumbs li { display:flex; align-items:center; gap:8px; }
.breadcrumbs li:not(:last-child)::after { content:"/"; color:#98a2b3; font-weight:700; }
.breadcrumbs a { color:var(--brand-dark); }
.breadcrumbs a:hover { text-decoration:underline; }
.breadcrumbs [aria-current="page"] { color:var(--ink); }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border-radius:999px; border:1px solid transparent; font-size:15px; font-weight:850; cursor:pointer; transition:.2s ease; white-space:nowrap; }
.btn-primary { background:var(--brand); color:#fff; box-shadow:0 12px 28px rgba(47,111,104,.22); }
.btn-primary:hover { background:var(--brand-dark); transform:translateY(-1px); }
.btn-ghost { background:#fff; border-color:var(--line); color:var(--ink); }
.btn-ghost:hover { border-color:rgba(47,111,104,.28); transform:translateY(-1px); }
.section-head { max-width:790px; margin-bottom:30px; }
.section-head.center { margin-left:auto; margin-right:auto; text-align:center; }
.section-kicker { margin-bottom:10px; color:var(--brand); font-size:14px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.section-head p,.hero-text,.route-finder-top p,.route-choice-card span,.route-finance-head small,.route-finance-card small,.route-finance-note,.cost-table small,.process-v2-intro p,.process-time-step p,.process-choice-head p,.process-choice span,.guide-card p { color:var(--muted); line-height:1.45; }
.section-head p,.hero-text { margin-top:16px; font-size:16px; line-height:1.55; }
.eyebrow,.route-finder-top span,.route-decision-kicker,.price-pill,.process-time-head span,.guide-card span { display:inline-flex; border-radius:999px; font-weight:950; }
.eyebrow { align-items:center; gap:8px; padding:8px 13px; margin-bottom:18px; background:var(--brand-soft); color:var(--brand-dark); font-size:13px; }
.eyebrow-dot { width:8px; height:8px; border-radius:999px; background:var(--brand); }
.ew-hero { padding:48px 0 56px; background:#fff; border-bottom:1px solid var(--line); }
.ew-hero-grid,.route-decision-main,.cost-table-wrap,.process-v2-grid,.guide-grid,.footer-grid { display:grid; grid-template-columns:1fr; gap:28px; }
.ew-hero-copy { max-width:680px; }
.ew-hero h1 { max-width:680px; }
.hero-text { max-width:590px; margin-top:20px; }
.hero-actions { flex-wrap:wrap; margin-top:26px; }
.hero-route-finder,.route-decision-board,.cost-table-wrap,.process-timeline-card { overflow:hidden; border:1px solid var(--line); border-radius:30px; background:#fff; box-shadow:var(--shadow-lg); }
.hero-route-finder { padding:18px; background:var(--soft); }
.route-finder-top { padding:8px 8px 16px; }
.route-finder-top span,.route-decision-kicker { margin-bottom:10px; padding:7px 10px; background:var(--brand-soft); color:var(--brand-dark); font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.route-finder-top h2 { font-size:30px; line-height:1.05; letter-spacing:-.06em; }
.route-finder-top p { margin-top:10px; font-size:14.5px; }
.hero-route-list,.route-choice-list,.route-finance-grid,.process-timeline,.process-choice-strip,.guide-grid { display:grid; gap:10px; }
.hero-route-item { display:grid; grid-template-columns:48px 1fr 26px; gap:12px; align-items:center; padding:13px; border:1px solid rgba(23,33,38,.08); border-radius:18px; background:#fff; transition:.2s ease; }
.hero-route-item:hover,.route-choice-card:hover,.route-finance-card:hover,.guide-card:hover { border-color:rgba(47,111,104,.3); transform:translateY(-1px); box-shadow:0 12px 30px rgba(16,24,40,.055); }
.hero-route-code { width:48px; height:48px; display:grid; place-items:center; border-radius:15px; background:var(--ink); color:#fff; font-size:12px; font-weight:950; letter-spacing:-.03em; }
.hero-route-text { min-width:0; }
.hero-route-text strong,.route-choice-card strong,.route-finance-card strong,.process-choice strong,.guide-card strong { display:block; color:var(--ink); line-height:1.15; letter-spacing:-.04em; }
.hero-route-text strong { font-size:15.5px; line-height:1.18; letter-spacing:-.035em; }
.hero-route-text small { display:block; margin-top:4px; color:var(--muted); font-size:12.8px; line-height:1.35; font-weight:650; }
.hero-route-arrow,.route-choice-arrow { display:grid; place-items:center; border-radius:999px; background:var(--brand-soft); color:var(--brand-dark); font-weight:950; transition:.2s ease; }
.hero-route-arrow { width:26px; height:26px; }
.route-choice-arrow { width:30px; height:30px; background:#fff; }
.hero-route-item:hover .hero-route-arrow,.route-choice-card:hover .route-choice-arrow { background:var(--brand); color:#fff; transform:translateX(2px); }
.route-decision-section,.process-section-v2 { background:#fff; }
.route-decision-wrap { max-width:1060px; margin:0 auto; }
.route-decision-board { border-radius:34px; box-shadow:0 18px 60px rgba(16,24,40,.06); }
.route-decision-primary,.route-finance-panel { padding:18px; }
.route-question-label,.route-finance-head { display:grid; grid-template-columns:34px 1fr; gap:10px; align-items:start; margin-bottom:14px; }
.route-question-label span,.route-finance-head span { width:34px; height:34px; display:grid; place-items:center; border-radius:13px; color:#fff; font-size:13px; font-weight:950; }
.route-question-label span { background:var(--ink); }
.route-finance-head span { background:var(--brand); }
.route-question-label strong,.route-finance-head strong { display:block; color:var(--ink); font-size:17px; line-height:1.15; letter-spacing:-.035em; }
.route-choice-card { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center; padding:17px; border:1px solid var(--line); border-radius:22px; background:#fff; transition:.2s ease; }
.route-choice-card.is-main { background:var(--brand-soft); border-color:rgba(47,111,104,.22); }
.route-choice-card.is-warning { background:var(--amber); border-color:#ffe4ad; }
.route-choice-card strong { font-size:18px; }
.route-choice-card span { display:block; margin-top:5px; font-size:14px; }
.route-choice-card.is-warning span { color:#66502a; }
.route-finance-panel { background:#f7faf8; border-top:1px solid var(--line); }
.route-finance-head small { display:block; margin-top:4px; font-size:13.5px; font-weight:650; }
.route-finance-card { display:grid; gap:4px; padding:15px; border:1px solid rgba(47,111,104,.13); border-radius:19px; background:#fff; transition:.2s ease; }
.route-finance-card strong { font-size:15.5px; letter-spacing:-.035em; }
.route-finance-card span { color:var(--brand-dark); font-size:13px; font-weight:900; }
.route-finance-card small { font-size:12.8px; font-weight:650; }
.route-finance-note { margin-top:10px; padding:13px 14px; border:1px dashed rgba(47,111,104,.24); border-radius:18px; background:#fff; font-size:13.5px; }
.route-finance-note strong { color:var(--ink); }
.cost-section,.guides-section { background:var(--soft); }
.cost-table-wrap { overflow-x:auto; border-radius:28px; }
.cost-table { width:100%; min-width:820px; border-collapse:collapse; }
.cost-table th,.cost-table td { padding:18px; text-align:left; border-bottom:1px solid var(--line); vertical-align:top; }
.cost-table th { background:#fbfcfd; color:#475467; font-size:12px; font-weight:950; text-transform:uppercase; letter-spacing:.07em; }
.cost-table tr:last-child td { border-bottom:0; }
.cost-table strong { display:block; font-size:17px; letter-spacing:-.035em; }
.cost-table small { margin-top:4px; font-size:13px; }
.cost-note { padding:14px 15px; border:1px solid #ffe4ad; border-radius:18px; background:var(--amber); color:#66502a; font-size:13.5px; line-height:1.5; font-weight:650; }
.cost-note a {font-weight: bold; border-bottom:1px solid #66502a;}
.cost-note a:hover {font-weight: bold; border-bottom:none;}
.price-pill { padding:8px 11px; background:var(--brand-soft); color:var(--brand-dark); font-size:13px; white-space:nowrap; }
.cost-pro { color:var(--brand-dark); font-weight:800; }
.cost-con { color:#805000; font-weight:800; }
.process-v2-wrap { max-width:1080px; margin:0 auto; }
.process-v2-grid { gap:22px; }
.process-v2-intro { max-width:720px; }
.process-v2-intro p { margin-top:14px; font-size:16px; line-height:1.55; }
.process-timeline-card { border-radius:34px; box-shadow:0 18px 60px rgba(16,24,40,.055); }
.process-time-head { padding:22px; border-bottom:1px solid var(--line); background:linear-gradient(180deg,#f8fbfa 0%,#fff 100%); }
.process-time-head span { margin-bottom:10px; padding:7px 10px; background:var(--amber); color:var(--amber-dark); font-size:11px; text-transform:uppercase; letter-spacing:.06em; }
.process-time-head strong { display:block; color:var(--ink); font-size:clamp(36px,5vw,42px); line-height:.95; letter-spacing:-.075em; }
.process-time-head small { display:block; max-width:640px; margin-top:8px; color:#66502a; font-size:14px; line-height:1.45; font-weight:700; }
.process-time-step { display:grid; grid-template-columns:44px 1fr; gap:14px; padding:18px 22px; border-bottom:1px solid var(--line); }
.process-time-step:last-child { border-bottom:0; }
.process-time-step > span { width:44px; height:44px; display:grid; place-items:center; border-radius:15px; background:var(--ink); color:#fff; font-size:14px; font-weight:950; }
.process-time-step h3 { font-size:19px; line-height:1.15; letter-spacing:-.04em; }
.process-time-step p { margin-top:6px; font-size:14.5px; }
.process-choice-wrap { margin-top:22px; }
.process-choice-head { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:12px; margin-bottom:12px; }
.process-choice-head h3 { color:var(--ink); font-size:24px; line-height:1.1; letter-spacing:-.055em; }
.process-choice-head p { max-width:620px; font-size:14.5px; }
.process-choice-strip { padding:12px; border:1px solid var(--line); border-radius:28px; background:var(--soft); }
.process-choice { padding:17px; border:1px solid rgba(23,33,38,.06); border-radius:20px; background:#fff; }
.process-choice strong { margin-bottom:5px; font-size:16px; letter-spacing:-.035em; }
.process-choice span { font-size:14px; }
.guide-card { display:block; padding:20px; border:1px solid var(--line); border-radius:22px; background:#fff; transition:.2s ease; }
.guide-card:hover { transform:translateY(-2px); box-shadow:0 12px 34px rgba(16,24,40,.06); }
.guide-card span { display:block; margin-bottom:8px; color:var(--brand); font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.guide-card strong { font-size:18px; }
.guide-card p { margin-top:8px; font-size:14px; }
.footer { border-top:1px solid var(--line); padding:38px 0; color:var(--muted); font-size:14px; }
.footer-grid { gap:28px; }
.footer-brand { margin-bottom:8px; color:var(--ink); font-weight:900; font-size:20px; letter-spacing:-.04em; }
.footer-links { display:grid; grid-template-columns:1fr; gap:10px 22px; }
.footer-links a { color:#475467; font-weight:600; }

@media (min-width:990px) {
  section { padding:76px 0; }
  .container { width:min(var(--max),calc(100% - 40px)); }
  .nav { min-height:76px; }
  .logo { font-size:22px; }
  .nav-links { display:flex; align-items:center; gap:28px; font-size:15px; font-weight:700; color:#475467; }
  .nav-links a:hover { color:var(--ink); }
  .nav-actions .btn-ghost { display:inline-flex; }
  h1 { font-size:clamp(48px,6vw,56px); }
  .section-head p,.hero-text { font-size:18px; }
  .ew-hero { padding:74px 0 82px; }
  .ew-hero-grid { grid-template-columns:.88fr 1.12fr; gap:52px; }
  .hero-route-finder { padding:20px; border-radius:34px; }
  .route-finder-top h2 { font-size:34px; }
  .route-decision-main { grid-template-columns:1fr .88fr; }
  .route-decision-primary,.route-finance-panel { padding:24px; }
  .route-finance-panel { border-top:0; border-left:1px solid var(--line); }
  .route-choice-list { gap:12px; }
  .process-v2-grid { grid-template-columns:.78fr 1.22fr; gap:44px; align-items:start; }
  .process-v2-intro { position:sticky; top:110px; }
  .process-time-head { padding:26px 28px; }
  .process-time-step { padding:20px 28px; }
  .process-choice-wrap { margin-top:28px; }
  .process-choice-strip,.guide-grid { grid-template-columns:repeat(3,1fr); }
  .footer-grid { grid-template-columns:1.2fr 2fr; }
  .footer-links { grid-template-columns:repeat(3,1fr); }
}