/* MoverDash v2 · app.css — one stylesheet, one token system.
   Brand signature: "the Route" (ring · dashed line · filled dot) + the travelling blue cube. */
@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('../fonts/plus-jakarta-sans-latin.woff2') format('woff2');
  font-weight: 400 800; font-style: normal; font-display: swap;
}
@font-face { /* metric-matched fallback to avoid layout shift */
  font-family: 'PJS Fallback'; src: local('Arial');
  size-adjust: 104%; ascent-override: 96%; descent-override: 24%; line-gap-override: 0%;
}
:root {
  --bg: #FFFFFF; --tint: #F5F8FC; --tint-2: #EDF2F9; --line: #E3E8F0; --field: #8A94A8;
  --ink: #0E1430; --ink-2: #434D69; --muted: #5C6682;
  --blue: #2F6FED; --blue-d: #1F57C9; --blue-l: #EAF1FF; --navy: #0B1530;
  --green: #0B7A3B; --green-l: #E7F6EE; --star: #F5A524; --red: #B42318; --red-l: #FEF1F0;
  --r-xl: 28px; --r: 20px; --r-sm: 12px; --pill: 999px;
  --sh-0: 0 1px 2px rgba(14,20,48,.04);
  --sh-1: 0 12px 32px rgba(30,70,160,.12);
  --sh-2: 0 2px 6px rgba(14,20,48,.06), 0 28px 64px rgba(30,70,160,.18);
  --font: 'Plus Jakarta Sans', 'PJS Fallback', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --wrap: 1240px;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: 17px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
a { color: var(--ink); text-underline-offset: 3px; }
a:hover { color: var(--blue-d); }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; border-radius: 6px; }
h1, h2, h3 { margin: 0; letter-spacing: -0.03em; color: var(--ink); }
h1 { font-size: clamp(36px, 5.4vw, 66px); line-height: 1.02; font-weight: 800; }
h2 { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.06; font-weight: 800; }
h3, .h3 { font-size: 20px; line-height: 1.25; font-weight: 800; letter-spacing: -0.015em; }
p { margin: 0; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tnum { font-variant-numeric: tabular-nums; }
.t-blue { color: var(--blue); }
.t-green { color: var(--green); font-weight: 700; }
.muted { color: var(--ink-2); }
.strong { font-weight: 700; }
.fine { font-size: 13px; color: var(--muted); margin-top: 12px; }
.grow { flex: 1; }
.ph { font-family: ui-monospace, Menlo, monospace; font-size: .82em; color: #6B4FA0; background: #F1EDF8; border-radius: 4px; padding: 0 4px; white-space: nowrap; letter-spacing: 0; }
.skip { position: absolute; left: -9999px; top: 0; z-index: 50; background: var(--ink); color: #fff; padding: 10px 16px; }
.skip:focus { left: 16px; top: 16px; }
.staging-bar { background: #FFF4E0; color: #8A5300; font: 12px ui-monospace, Menlo, monospace; text-align: center; padding: 6px; }
/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: var(--pill); font: inherit; font-weight: 700; font-size: 16px; text-decoration: none; border: 1.5px solid transparent; cursor: pointer; transition: background .2s, transform .2s, box-shadow .2s, border-color .2s; white-space: nowrap; }
.btn-primary { background: var(--blue-d); color: #fff !important; box-shadow: 0 6px 16px rgba(31,87,201,.28); }
.btn-primary:hover { background: #1849AE; transform: translateY(-1px); }
.btn-ghost { background: #fff; border-color: var(--field); color: var(--ink) !important; }
.btn-ghost:hover { border-color: var(--ink); }
.btn-white { background: #fff; color: var(--navy) !important; }
.btn-sm { min-height: 42px; padding: 0 16px; font-size: 15px; }
.btn-lg { min-height: 56px; padding: 0 28px; font-size: 18px; }
.btn-xl { min-height: 58px; font-size: 18px; width: 100%; }
.btn-block { width: 100%; }
/* Header */
.hd { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.9); backdrop-filter: saturate(180%) blur(16px); -webkit-backdrop-filter: saturate(180%) blur(16px); border-bottom: 1px solid var(--line); }
.hd-row { display: flex; align-items: center; gap: 32px; min-height: 68px; }
.hd-logo img { height: 24px; width: auto; }
.hd-nav { display: flex; gap: 4px; flex: 1; }
.hd-nav a { padding: 10px 14px; border-radius: var(--pill); text-decoration: none; font-weight: 600; font-size: 15px; color: var(--ink-2); }
.hd-nav a:hover { background: var(--tint); color: var(--ink); }
.hd-actions { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.hd-lang, .hd-quiet { font-weight: 600; font-size: 15px; text-decoration: none; color: var(--ink-2); padding: 8px 4px; }
.hd-menu { display: none; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px; border: 1.5px solid var(--line); border-radius: var(--pill); background: #fff; font: inherit; font-weight: 700; font-size: 14px; color: var(--ink); cursor: pointer; }
@media (max-width: 960px) {
  .hd-nav, .hd-quiet, .hd-cta { display: none; }
  .hd-menu { display: inline-flex; }
  .hd-row { min-height: 58px; gap: 12px; }
  .hd-logo img { height: 19px; }
}
/* Menu sheet */
.sheet[hidden] { display: none; }
.sheet { position: fixed; inset: 0; z-index: 100; }
/* above the tab bar (60) */
.sheet-backdrop { position: absolute; inset: 0; background: rgba(11,21,48,.45); }
.sheet-panel { position: absolute; left: 0; right: 0; bottom: 0; background: #fff; border-radius: 24px 24px 0 0; padding: 12px 20px calc(20px + env(safe-area-inset-bottom)); max-height: 88vh; overflow: auto; box-shadow: 0 -12px 40px rgba(11,21,48,.2); animation: sheet-in .25s ease-out; }
@keyframes sheet-in { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
.sheet-head { display: flex; align-items: center; justify-content: space-between; font-weight: 800; padding: 6px 0 10px; }
.sheet-close { width: 44px; height: 44px; border: 0; background: var(--tint); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: var(--ink); }
.sheet-nav a { display: flex; justify-content: space-between; align-items: center; padding: 16px 4px; border-bottom: 1px solid var(--line); text-decoration: none; font-weight: 700; font-size: 18px; }
.sheet-nav .d-ic { color: var(--blue); }
.sheet-foot { display: flex; flex-direction: column; gap: 12px; padding-top: 18px; align-items: center; }
.sheet-lang { font-weight: 600; color: var(--ink-2); }
/* Badges & chips */
.badge { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; padding: 8px 14px; border-radius: var(--pill); }
.badge-blue { background: var(--blue-l); color: var(--blue-d); }
.chip { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: var(--pill); background: var(--tint-2); font-size: 13px; font-weight: 600; color: var(--ink-2); }
/* Route signature */
.dot { width: 12px; height: 12px; border-radius: 50%; flex: none; display: inline-block; }
.dot-from { border: 3px solid var(--blue); background: #fff; }
.dot-to { background: var(--blue); }
/* Hero */
.hero { position: relative; overflow: hidden; background: radial-gradient(1100px 520px at 88% 0%, #E4EEFF 0%, rgba(228,238,255,0) 62%), #fff; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 72px; align-items: center; padding-top: 72px; padding-bottom: 120px; }
.hero-copy .badge { margin-bottom: 22px; }
.hero-copy h1 { margin-bottom: 22px; }
.lead { font-size: 20px; line-height: 1.55; color: var(--ink-2); max-width: 540px; margin-bottom: 32px; }
.hero-stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, max-content)); gap: 16px 40px; }
.hero-stats li { display: flex; flex-direction: column; }
.hero-stats strong { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
.hero-stats span { font-size: 14px; color: var(--muted); }
.hero-stage { position: relative; padding: 24px 0 24px 24px; }
.app-card { position: relative; z-index: 2; background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--sh-2); padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.app-title { font-weight: 800; font-size: 20px; letter-spacing: -0.015em; }
.route-box { position: relative; border: 1.5px solid var(--field); border-radius: var(--r-sm); }
.route-row { display: flex; align-items: center; gap: 12px; padding: 0 14px; border-radius: var(--r-sm); }
.route-row + .route-line + .route-row { border-top: 1px solid var(--line); }
.route-label { font-size: 13px; font-weight: 700; color: var(--muted); width: 34px; flex: none; }
.route-row input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 16px; height: 56px; color: var(--ink); }
.route-row:focus-within { box-shadow: inset 0 0 0 2px var(--blue-d); }
.route-line { position: absolute; left: 19px; top: 34px; height: 44px; border-left: 2px dashed #9FB7E8; }
.route-box.invalid { border-color: var(--red); }
.chips { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.chips legend { font-size: 13px; font-weight: 700; color: var(--muted); margin-bottom: 8px; padding: 0; }
.chips label { position: relative; cursor: pointer; }
.chips input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.chips span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1.5px solid var(--field); border-radius: var(--pill); font-weight: 600; font-size: 15px; transition: background .15s, border-color .15s, color .15s; }
.chips input:checked + span { border-color: var(--blue-d); background: var(--blue-l); color: var(--blue-d); }
.chips input:focus-visible + span { outline: 3px solid var(--blue); outline-offset: 2px; }
.chips.invalid span { border-color: var(--red); }
.select { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; color: var(--muted); }
.select select { font: inherit; font-size: 16px; font-weight: 500; color: var(--ink); height: 52px; padding: 0 14px; border: 1.5px solid var(--field); border-radius: var(--r-sm); background: #fff; }
.field-error { color: var(--red); font-size: 14px; font-weight: 600; margin-top: -8px; }
.micro { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: -4px; font-size: 13px; color: var(--muted); }
.float { position: absolute; z-index: 3; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--sh-1); padding: 14px 16px; font-size: 13px; }
.float-price { left: -64px; bottom: -64px; width: 214px; display: flex; flex-direction: column; gap: 6px; }
.float-label { color: var(--muted); font-weight: 600; }
.float-value { font-size: 24px; font-weight: 800; letter-spacing: -0.02em; }
.float-movers { right: -24px; bottom: -18px; display: flex; align-items: center; gap: 12px; line-height: 1.35; }
.avatars { display: flex; }
.avatars b { width: 34px; height: 34px; border-radius: 50%; background: var(--blue-l); color: var(--blue-d); border: 2px solid #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; margin-left: -8px; }
.avatars b:first-child { margin-left: 0; }
.hero-cube { position: absolute; z-index: 1; top: -58px; right: 12px; }
.range { position: relative; display: block; height: 8px; border-radius: 8px; background: var(--tint-2); }
.range span { position: absolute; top: 0; bottom: 0; border-radius: 8px; background: linear-gradient(90deg, #8DB8FF, var(--blue)); transition: left .3s ease-out, width .3s ease-out; }
.range i { position: absolute; top: -4px; width: 3px; height: 16px; border-radius: 2px; background: var(--ink); transition: left .3s ease-out; }
.range-lg { height: 10px; margin: 10px 0; }
@media (max-width: 1100px) {
  .float-price { left: -16px; }
}
@media (max-width: 980px) {
  .hero-grid { display: flex; flex-direction: column; align-items: stretch; gap: 20px; padding-top: 20px; padding-bottom: 40px; }
  .hero-copy { display: contents; }
  .hero-copy .badge { order: 1; align-self: flex-start; margin: 0; font-size: 13px; }
  .hero-copy h1 { order: 2; margin: 0; font-size: clamp(32px, 8.4vw, 44px); }
  .hero-copy h1 .br-lg { display: none; }
  .hero-stage { order: 3; padding: 0; }
  .lead { order: 4; font-size: 17px; margin: 8px 0 0; }
  .hero-stats { order: 5; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .hero-stats strong { font-size: 20px; }
  .float, .hero-cube { display: none; }
  .app-card { padding: 18px; border-radius: 22px; }
}
/* Sections */
.sec { padding: 104px 0; }
.sec-tint { background: var(--tint); }
.sec-head { margin-bottom: 40px; max-width: 760px; }
.sec-head h2 { margin-bottom: 12px; }
.sec-head p { font-size: 18px; color: var(--ink-2); }
.sec-head-row { max-width: none; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; }
.sec-link { margin-top: 32px; font-weight: 700; }
@media (max-width: 760px) {
  .sec { padding: 64px 0; }
  .sec-head { margin-bottom: 28px; }
}
/* Steps with route connector */
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; position: relative; }
.steps::before { content: ""; position: absolute; top: 14px; left: 14px; right: calc(33.33% - 14px); border-top: 2px dashed #9FB7E8; z-index: 0; }
.step { position: relative; display: grid; grid-template-rows: auto 236px auto auto; gap: 0; }
.step-n { position: relative; z-index: 1; width: 30px; height: 30px; border-radius: 50%; background: var(--blue-d); color: #fff; font-weight: 800; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 18px; box-shadow: 0 0 0 6px #fff; }
.step h3 { margin: 22px 0 8px; }
.step p { color: var(--ink-2); font-size: 16px; }
@media (max-width: 900px) {
  .steps { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .steps::before { display: none; }
  .step { grid-template-rows: auto auto auto auto; }
}
.screen { background: linear-gradient(180deg, #F7FAFF, #EDF2FA); border: 1px solid var(--line); border-radius: 24px; padding: 22px 20px; height: 236px; overflow: hidden; }
.s-small { font-size: 13px; color: var(--muted); }
.s-big { font-size: 34px; font-weight: 800; letter-spacing: -0.02em; margin-top: 6px; }
.s-row { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--line); border-radius: var(--r-sm); padding: 10px 12px; margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.s-check { width: 18px; height: 18px; border-radius: 6px; border: 2px solid var(--field); flex: none; }
.s-check.on { background: var(--blue-d); border-color: var(--blue-d); box-shadow: inset 0 0 0 3px #fff; }
.s-name { flex: 1; }
.s-meta { color: var(--muted); font-weight: 600; }
.s-toggle { display: grid; grid-template-columns: repeat(3, 1fr); background: #fff; border: 1px solid var(--line); border-radius: var(--pill); padding: 3px; font-size: 13px; font-weight: 700; text-align: center; color: var(--muted); }
.s-toggle span { padding: 7px 0; border-radius: var(--pill); }
.s-toggle .on { background: var(--blue-d); color: #fff; }
.s-msg { margin-top: 14px; background: #fff; border: 1px solid var(--line); border-radius: 14px 14px 14px 4px; padding: 12px; font-size: 14px; }
.s-stop { margin-top: 12px; text-align: center; font-size: 13px; font-weight: 700; color: var(--red); background: var(--red-l); border-radius: var(--pill); padding: 9px; }
/* Split layouts */
.split-7-5 { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: start; }
.split-center { align-items: center; }
@media (max-width: 960px) {
  .split-7-5 { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}
.split-7-5 h2 { margin-bottom: 20px; }
.answer { font-size: 19px; line-height: 1.6; margin-bottom: 24px; }
.table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh-0); }
.table { width: 100%; border-collapse: collapse; font-size: 16px; min-width: 520px; }
.table th, .table td { padding: 15px 18px; text-align: left; border-top: 1px solid var(--line); vertical-align: middle; }
.table thead th { border-top: 0; font-size: 13px; font-weight: 700; color: var(--muted); background: var(--tint); }
.table tbody th { font-weight: 700; }
.table .num { text-align: right; }
.card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh-0); padding: 24px; }
.card-title { font-weight: 800; font-size: 18px; margin-bottom: 8px; }
.services-card { padding: 16px 16px 8px; }
.services-card .card-title { padding: 8px 8px 4px; }
.service-row { display: flex; align-items: center; gap: 14px; padding: 10px 8px; border-radius: 14px; text-decoration: none; transition: background .15s; }
.service-row + .service-row { border-top: 1px solid var(--line); border-radius: 0; }
.service-row:hover { background: var(--tint); }
.service-row .iso { flex: none; }
.sr-title { flex: 1; font-weight: 800; }
.sr-price { color: var(--blue-d); font-weight: 700; }
.service-row .d-ic { color: var(--muted); }
/* Mover cards */
.movers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) {
  .movers { grid-template-columns: minmax(0, 1fr); }
}
.mover { background: #fff; border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--sh-0); padding: 24px; display: flex; flex-direction: column; gap: 16px; transition: box-shadow .2s, transform .2s; }
.mover:hover { box-shadow: var(--sh-1); transform: translateY(-2px); }
.mover-top { display: flex; gap: 14px; align-items: flex-start; }
.mover-logo { width: 56px; height: 56px; border-radius: 16px; background: var(--blue-l); color: var(--blue-d); font-weight: 800; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.mover-id { flex: 1; min-width: 0; }
.mover-id p { font-size: 14px; color: var(--muted); margin-top: 2px; }
.mover-rate { text-align: right; display: flex; flex-direction: column; }
.mover-rate strong { font-size: 20px; font-weight: 800; }
.mover-rate span { font-size: 12px; color: var(--muted); }
.checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.checks li { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 15px; font-weight: 700; }
.checks .d-ic { color: var(--green); }
.checks span { color: var(--muted); font-weight: 500; font-size: 14px; }
.mover-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; border-top: 1px solid var(--line); padding-top: 16px; }
@media (max-width: 560px) {
  .mover-top { flex-wrap: wrap; }
  .mover-rate { order: 3; flex-basis: 100%; text-align: left; flex-direction: row; align-items: baseline; gap: 8px; }
  .mover-foot .btn { flex: 1 1 100%; min-height: 48px; }
  .mover-foot .grow { display: none; }
}
/* Compare + calls illustration */
.compare th:first-child { width: 56%; }
.compare td { text-align: center; }
.compare .us { background: var(--blue-l); }
.compare thead .us { background: var(--blue-d); color: #fff; }
.compare .d-ic-yes { color: var(--green); margin: 0 auto; }
.compare .d-ic-no { color: #8A94A8; margin: 0 auto; }
.calls { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.calls-col { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.calls-title { font-size: 13px; font-weight: 800; color: var(--muted); margin-bottom: 4px; }
.call { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--red); background: var(--red-l); border-radius: 10px; padding: 9px 10px; }
.calls-good { justify-content: center; }
.notice { display: flex; gap: 10px; align-items: flex-start; background: var(--blue-l); color: var(--ink); border-radius: 14px; padding: 12px; font-size: 14px; line-height: 1.4; }
.notice .d-ic { color: var(--blue-d); flex: none; margin-top: 2px; }
/* Rights */
.rights { display: flex; gap: 28px; align-items: flex-start; background: #FFF8EB; border: 1px solid #F3E0BC; border-radius: var(--r-xl); padding: 32px; }
.rights h2 { margin-bottom: 14px; }
.rights ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }
.rights-icon { flex: none; }
@media (max-width: 640px) {
  .rights { flex-direction: column; padding: 24px; }
}
/* FAQ */
.faq-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 56px; }
@media (max-width: 900px) {
  .faq-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
.faq-grid h2 { margin-bottom: 12px; }
.faq details { border-bottom: 1px solid var(--line); }
.faq details:first-child { border-top: 1px solid var(--line); }
.faq summary { cursor: pointer; list-style: none; font-weight: 800; font-size: 18px; padding: 20px 40px 20px 0; position: relative; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 10px; height: 10px; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: translateY(-70%) rotate(45deg); transition: transform .2s; }
.faq details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.faq details p { color: var(--ink-2); padding: 0 0 20px; }
/* Atlas */
.atlas { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 28px 32px; }
.atlas-h { font-weight: 800; margin-bottom: 10px; }
.atlas ul { list-style: none; margin: 0; padding: 0; }
.atlas li { border-bottom: 1px solid var(--line); }
.atlas a { display: block; padding: 9px 0; text-decoration: none; font-weight: 500; color: var(--ink-2); }
.atlas a:hover { color: var(--blue-d); }
/* Guides */
.guides { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 960px) {
  .guides { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .guides { grid-template-columns: minmax(0, 1fr); }
}
.guide { text-decoration: none; display: flex; flex-direction: column; gap: 10px; }
.guide img { width: 100%; height: auto; aspect-ratio: 5 / 3; object-fit: cover; border-radius: var(--r); background: var(--tint-2); transition: transform .3s; }
.guide:hover img { transform: scale(1.02); }
.guide-title { font-weight: 800; font-size: 18px; line-height: 1.3; }
.guide:hover .guide-title { color: var(--blue-d); }
.guide-meta { font-size: 13px; color: var(--muted); }
/* CTA band */
.cta-band { background: var(--blue-d); color: #DCE7FF; padding: 64px 0; }
.cta-band-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; }
.cta-band h2 { color: #fff; margin-bottom: 8px; }
.cta-band p { font-size: 18px; }
/* For movers */
.pros { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
@media (max-width: 860px) {
  .pros { grid-template-columns: minmax(0, 1fr); }
}
.pros h2 { margin-bottom: 14px; }
.pros p { font-size: 18px; margin-bottom: 24px; max-width: 480px; }
.phone { justify-self: center; width: 300px; height: 420px; border-radius: 44px; background: #0E1430; padding: 12px; box-shadow: var(--sh-2); }
.phone-screen { height: 100%; border-radius: 34px; background: var(--tint); padding: 28px 18px; display: flex; flex-direction: column; gap: 14px; }
.ph-top { font-weight: 800; font-size: 20px; }
.ph-card { background: #fff; border-radius: 18px; padding: 16px; border: 1px solid var(--line); display: flex; flex-direction: column; gap: 6px; }
.ph-route { display: flex; align-items: center; gap: 8px; font-weight: 800; }
.ph-meta { font-size: 13px; color: var(--muted); }
.ph-note { font-size: 13px; color: var(--green); font-weight: 700; }
.ph-btns { display: flex; flex-direction: column; gap: 8px; margin-top: auto; }
.ph-btn { display: block; text-align: center; padding: 13px; border-radius: var(--pill); background: #fff; border: 1.5px solid var(--line); font-weight: 700; font-size: 15px; }
.ph-btn-primary { background: var(--blue-d); border-color: var(--blue-d); color: #fff; }
/* Footer (light) */
.ft { background: var(--tint); border-top: 1px solid var(--line); color: var(--ink-2); }
.ft-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(5, minmax(0, 1fr)); gap: 32px; padding-top: 64px; padding-bottom: 40px; }
@media (max-width: 1100px) {
  .ft-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ft-brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .ft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.ft-logo { height: 20px; width: auto; margin-bottom: 14px; }
.ft-brand p { font-size: 15px; margin-bottom: 8px; max-width: 340px; }
.ft-entity { font-size: 13px !important; color: var(--muted); }
.ft-h { font-weight: 800; color: var(--ink); font-size: 14px; margin-bottom: 8px; }
.ft-col a { display: block; padding: 6px 0; text-decoration: none; font-size: 15px; color: var(--ink-2); }
.ft-col a:hover { color: var(--blue-d); text-decoration: underline; }
.ft-legal { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); padding-top: 20px; padding-bottom: 28px; font-size: 13px; color: var(--muted); }
.ft-route { display: inline-flex; align-items: center; gap: 0; }
.ft-route i { width: 10px; height: 10px; border-radius: 50%; border: 2.5px solid var(--blue); display: inline-block; }
.ft-route i:last-child { background: var(--blue); }
.ft-route b { width: 46px; border-top: 2px dashed #9FB7E8; margin: 0 4px; }
/* Sticky mobile CTA */
.sticky-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid var(--line); transform: translateY(110%); transition: transform .25s ease-out; }
.sticky-cta.show { transform: none; }
.sticky-cta .btn { min-height: 52px; flex-direction: column; gap: 0; line-height: 1.1; }
.sticky-cta-note { font-size: 12px; font-weight: 600; opacity: .85; }
@media (min-width: 961px) {
  .sticky-cta { display: none !important; }
}
/* ---------- Simple homepage (v3): one idea per section ---------- */
.center { text-align: center; }
.narrow { max-width: 820px; }
.hero-simple .hero-grid { padding-top: 88px; padding-bottom: 104px; }
.hero-simple h1 { font-size: clamp(36px, 5vw, 60px); line-height: 1.04; margin-bottom: 20px; }
.hero-simple .t-blue { display: block; }
.hero-simple .lead { margin-bottom: 20px; }
.hero-note { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: var(--ink-2); }
.hero-note .d-ic { color: var(--blue-d); }
.hero-simple .app-card { gap: 18px; padding: 26px; }
@media (max-width: 980px) {
  .hero-simple .hero-grid { padding-top: 24px; padding-bottom: 40px; }
  .hero-simple .hero-copy { display: block; }
  .hero-simple h1 { font-size: clamp(32px, 8.4vw, 44px); }
  .hero-simple .t-blue { display: inline; }
  .hero-simple .lead { font-size: 17px; margin: 12px 0 0; }
  .hero-simple .hero-note { display: none; }
}

.sec h2.center { margin-bottom: 48px; }
.how { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; text-align: center; }
.how li { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.how .iso { margin-bottom: 8px; }
.how p { color: var(--ink-2); max-width: 300px; }
@media (max-width: 760px) {
  .how { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}
.moves { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 960px) {
  .moves { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}
.move-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 28px 20px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; text-decoration: none; box-shadow: var(--sh-0); transition: transform .2s, box-shadow .2s, border-color .2s; }
.move-card:hover { transform: translateY(-3px); box-shadow: var(--sh-1); border-color: #C9D9F8; color: var(--ink); }
.move-card .iso { margin-bottom: 8px; }
.move-title { font-weight: 800; font-size: 19px; }
.move-sub { font-size: 14px; color: var(--muted); }
@media (max-width: 560px) {
  .move-card { padding: 20px 12px; }
  .move-card .iso { width: 64px; height: 64px; }
  .move-title { font-size: 16px; }
}
.city-pills { list-style: none; margin: 0 auto; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 900px; }
.city-pills a { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border: 1.5px solid var(--line); border-radius: var(--pill); text-decoration: none; font-weight: 700; font-size: 16px; background: #fff; transition: border-color .15s, color .15s; }
.city-pills a:hover { border-color: var(--blue-d); color: var(--blue-d); }
.pros-line { background: #fff; border-top: 1px solid var(--line); }
.pros-line p { text-align: center; padding: 22px 0; font-size: 16px; color: var(--ink-2); }
.pros-line a { font-weight: 700; color: var(--blue-d); }
/* ---------- Useful layer (v4): popular chips, price receipt, plan links ---------- */
.popular { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding-bottom: 36px; margin-top: -48px; position: relative; z-index: 2; }
.popular-label { font-size: 14px; font-weight: 700; color: var(--muted); margin-right: 2px; }
.popular a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: var(--pill); background: #fff; border: 1px solid var(--line); font-size: 14px; font-weight: 600; text-decoration: none; color: var(--ink-2); }
.popular a:hover { border-color: var(--blue-d); color: var(--blue-d); }
@media (max-width: 980px) {
  .popular { margin-top: -16px; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 24px; scrollbar-width: none; }
  .popular a { flex: none; }
}
a.trust-item { text-decoration: none; color: var(--ink); border-radius: 16px; padding: 4px; margin: -4px; }
a.trust-item:hover strong { color: var(--blue-d); }
.move-link { margin-top: 8px; font-size: 14px; font-weight: 700; color: var(--blue-d); }
.price-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
@media (max-width: 900px) {
  .price-split { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
.price-split h2 { margin-bottom: 16px; }
.lead-sm { font-size: 18px; color: var(--ink-2); margin-bottom: 20px; max-width: 520px; }
.text-link { font-weight: 700; color: var(--blue-d); }
.receipt { background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--sh-2); padding: 26px; max-width: 480px; justify-self: center; width: 100%; }
.receipt-head { display: flex; align-items: center; gap: 8px; font-weight: 800; padding-bottom: 14px; border-bottom: 1px dashed #C9D6EE; }
.receipt dl { margin: 0; }
.receipt dl div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.receipt dt { color: var(--ink-2); }
.receipt dd { margin: 0; font-weight: 700; text-align: right; }
.receipt-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 16px; }
.receipt-total span { font-weight: 700; }
.receipt-total strong { font-size: 26px; font-weight: 800; color: var(--blue-d); }
.receipt-note { font-size: 12px; color: var(--muted); margin-top: 10px; }
.plan-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 860px) {
  .plan-cols { grid-template-columns: minmax(0, 1fr); }
}
.plan-col { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 22px 24px; }
.plan-h { font-weight: 800; font-size: 18px; margin-bottom: 8px; }
.plan-col a { display: block; padding: 9px 0; border-top: 1px solid var(--line); text-decoration: none; font-weight: 600; color: var(--ink-2); }
.plan-col a:first-of-type { border-top: 0; }
.plan-col a:hover { color: var(--blue-d); }
/* Steps as cards */
.center-head { text-align: center; margin-left: auto; margin-right: auto; }
.steps-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 860px) {
  .steps-cards { grid-template-columns: minmax(0, 1fr); }
}
.step-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); padding: 32px 30px 34px; box-shadow: var(--sh-0); display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.step-card .iso { margin: 0 0 8px -6px; }
.step-pill { display: inline-flex; align-items: center; height: 26px; padding: 0 12px; border-radius: var(--pill); background: var(--blue-l); color: var(--blue-d); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.step-card h3 { font-size: 23px; margin-top: 2px; }
.step-card p { color: var(--ink-2); }
/* Big numbers + versus */
.bignums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; text-align: center; margin-bottom: 64px; }
@media (max-width: 760px) {
  .bignums { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
.bignum { font-size: clamp(56px, 7vw, 84px); font-weight: 800; line-height: 1; letter-spacing: -0.04em; color: var(--blue-d); margin-bottom: 10px; }
.bignums h3 { font-size: 21px; margin-bottom: 8px; }
.bignums p:not(.bignum) { color: var(--ink-2); max-width: 300px; margin: 0 auto; }
.versus { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; max-width: 900px; margin: 0 auto; }
@media (max-width: 760px) {
  .versus { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}
.vs-us { position: relative; z-index: 2; background: var(--blue-d); color: #fff; border-radius: var(--r-xl); padding: 28px 30px 24px; box-shadow: 0 30px 60px rgba(31,87,201,.32); }
.vs-brand { display: flex; flex-direction: column; align-items: center; gap: 10px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.18); }
.vs-brand img { height: 18px; width: auto; filter: brightness(0) invert(1); }
.vs-brand span { font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; background: rgba(255,255,255,.18); padding: 4px 10px; border-radius: var(--pill); }
.vs-us ul, .vs-them ul { list-style: none; margin: 0; padding: 0; }
.vs-us li { display: flex; align-items: center; gap: 12px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.14); font-weight: 700; }
.vs-us li:last-child { border-bottom: 0; }
.vs-us .d-ic { color: #fff; flex: none; }
.vs-them { background: #fff; border: 1px solid var(--line); border-radius: 0 var(--r) var(--r) 0; padding: 20px 26px; margin-left: -8px; }
@media (max-width: 760px) {
  .vs-them { border-radius: var(--r); margin-left: 0; }
}
.vs-title { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); text-align: center; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.vs-them li { display: flex; align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); color: var(--ink-2); font-size: 15px; }
.vs-them li:last-child { border-bottom: 0; }
.vs-them .d-ic { color: #8A94A8; flex: none; }
/* ---------- Route hero (v6): our own concept ---------- */
.rh { background: radial-gradient(900px 480px at 92% 8%, #E3EDFF 0%, rgba(227,237,255,0) 65%), #fff; }
.rh-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; padding-top: 72px; padding-bottom: 40px; }
.rh-copy h1 { font-size: clamp(40px, 5.6vw, 72px); line-height: 1.02; letter-spacing: -0.04em; margin-bottom: 22px; }
.rh-copy h1 .t-blue { display: block; }
.rh-sub { font-size: 20px; line-height: 1.55; color: var(--ink-2); max-width: 540px; margin-bottom: 30px; }
.rh-form { margin-bottom: 20px; }
.rh-route { display: flex; align-items: center; gap: 8px; border: 0; border-radius: var(--pill); background: #fff; padding: 8px 8px 8px 22px; box-shadow: 0 1px 2px rgba(14,20,48,.06), 0 18px 48px rgba(30,70,160,.16); outline: 1.5px solid var(--line); }
.rh-route:focus-within { outline-color: var(--blue-d); }
.rh-route.invalid { outline-color: var(--red); }
.rh-leg { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; cursor: text; }
.rh-leg input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 17px; font-weight: 600; height: 52px; color: var(--ink); }
.rh-leg input::placeholder { font-weight: 500; color: var(--muted); }
.rh-dash { width: 34px; border-top: 2px dashed #9FB7E8; flex: none; }
.rh-btn { min-height: 56px; padding: 0 28px; font-size: 17px; flex: none; }
.rh-proof { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; font-weight: 700; font-size: 15px; color: var(--ink-2); }
.rh-proof li { display: inline-flex; align-items: center; gap: 7px; }
.rh-proof .d-ic { color: var(--green); }
.rh-visual { position: relative; height: 560px; }
.rh-photo { position: absolute; inset: 0; border-radius: 32px; overflow: hidden; box-shadow: var(--sh-2); }
.rh-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 58% 50%; }
.rh-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(200deg, rgba(11,21,48,.05) 30%, rgba(11,21,48,.45) 100%); }
.rh-path { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; }
.rh-pin { position: absolute; z-index: 2; width: 22px; height: 22px; border-radius: 50%; box-shadow: 0 4px 12px rgba(0,0,0,.25); }
.rh-pin-from { left: calc(70 / 600 * 100% - 11px); top: calc(470 / 560 * 100% - 11px); background: #fff; border: 6px solid var(--blue); }
.rh-pin-to { left: calc(540 / 600 * 100% - 11px); top: calc(80 / 560 * 100% - 11px); background: var(--blue); border: 4px solid #fff; }
.rh-ticket { position: absolute; z-index: 3; left: -36px; bottom: 36px; width: 290px; background: #fff; border-radius: 22px; padding: 18px 20px; box-shadow: var(--sh-2); }
.rh-t-route { font-weight: 800; font-size: 18px; letter-spacing: -0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rh-t-label { font-size: 13px; color: var(--muted); margin-top: 6px; }
.rh-t-price { font-size: 28px; font-weight: 800; letter-spacing: -0.02em; margin: 2px 0 12px; }
.rh-t-movers { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; color: var(--green); border-top: 1px solid var(--line); padding-top: 12px; }
.rh .popular { margin-top: 0; padding-top: 28px; padding-bottom: 36px; }
@media (max-width: 980px) {
  .rh-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-top: 28px; padding-bottom: 8px; }
  .rh-copy h1 { font-size: clamp(34px, 9vw, 46px); }
  .rh-copy h1 .t-blue { display: inline; }
  .rh-sub { font-size: 17px; margin-bottom: 20px; }
  .rh-route { flex-wrap: wrap; border-radius: 24px; padding: 10px 14px 14px; gap: 0; }
  .rh-leg { flex-basis: 100%; }
  .rh-leg + .rh-dash + .rh-leg { border-top: 1px solid var(--line); }
  .rh-dash { display: none; }
  .rh-btn { width: 100%; margin-top: 10px; }
  .rh-visual { height: 300px; }
  .rh-ticket { left: 14px; bottom: 14px; width: auto; right: 14px; padding: 14px 16px; }
  .rh-t-price { font-size: 22px; margin-bottom: 8px; }
  .rh-pin-from { display: none; }
}
/* Three stops on one route */
.stops { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; position: relative; text-align: center; }
.stops::before { content: ""; position: absolute; top: 10px; left: 16.66%; right: 16.66%; border-top: 3px dashed #9FB7E8; }
.stops li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.stop { position: relative; z-index: 1; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 5px solid #9FB7E8; margin-bottom: 18px; }
.stop-from { border-color: var(--blue); }
.stop-to { background: var(--blue); border-color: var(--blue); box-shadow: 0 0 0 5px #fff, 0 0 0 7px var(--blue); }
.stops .iso { margin-bottom: 6px; }
.stops h3 { font-size: 22px; }
.stops p { color: var(--ink-2); max-width: 300px; }
@media (max-width: 760px) {
  .stops { grid-template-columns: minmax(0, 1fr); text-align: left; gap: 0; }
  .stops::before { top: 10px; bottom: 40px; left: 10px; right: auto; border-top: 0; border-left: 3px dashed #9FB7E8; }
  .stops li { display: grid; grid-template-columns: 22px 72px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; align-items: start; padding-bottom: 32px; }
  .stops .stop { grid-row: 1 / 3; margin: 0; }
  .stops .iso { grid-row: 1 / 3; width: 72px; height: 72px; margin: -12px 0 0; }
  .stops h3 { font-size: 19px; }
  .stops p { font-size: 15px; }
}
/* Two evenings: phones story */
.phones { display: grid; grid-template-columns: repeat(2, minmax(0, 340px)); justify-content: center; gap: 56px; }
@media (max-width: 760px) {
  .phones { grid-template-columns: minmax(0, 1fr); gap: 40px; justify-items: center; }
}
.phone-story { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center; }
.phone-frame { width: 280px; height: 470px; border-radius: 46px; background: #0E1430; padding: 12px; box-shadow: var(--sh-2); }
.phone-in { height: 100%; border-radius: 36px; padding: 26px 16px; display: flex; flex-direction: column; gap: 8px; overflow: hidden; }
.phone-bad { background: #F3F1EE; }
.phone-good { background: linear-gradient(180deg, #EEF4FF, #F7FAFF); }
.pf-time { text-align: center; font-weight: 800; font-size: 34px; letter-spacing: -0.02em; margin-bottom: 10px; color: #0E1430; }
.pf-call { display: flex; align-items: center; gap: 8px; background: #fff; border-radius: 14px; padding: 11px 12px; font-size: 13px; font-weight: 700; color: var(--red); box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.pf-note { display: flex; gap: 10px; align-items: flex-start; background: #fff; border-radius: 16px; padding: 12px; box-shadow: 0 6px 18px rgba(30,70,160,.12); text-align: left; }
.pf-note strong { display: block; font-size: 13px; }
.pf-note span { font-size: 13px; color: var(--ink-2); line-height: 1.4; }
.pf-app { flex: none; width: 36px; height: 36px; border-radius: 10px; background: var(--blue-l); display: inline-flex; align-items: center; justify-content: center; }
.pf-quiet { margin-top: auto; text-align: center; font-size: 13px; font-weight: 700; color: var(--green); }
.phone-story figcaption { font-size: 15px; color: var(--ink-2); max-width: 300px; }
.phone-story figcaption strong { display: block; font-size: 19px; color: var(--ink); margin-bottom: 4px; }
.phone-story-good .phone-frame { box-shadow: 0 30px 70px rgba(31,87,201,.35); }
/* ---------- v7: Apple-grade step tiles, costs, features ---------- */
.hero-simple .rh-proof { margin-top: 4px; }
.tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) {
  .tiles { grid-template-columns: minmax(0, 1fr); }
}
.tile { position: relative; background: #F5F7FA; border-radius: 32px; padding: 36px 34px 0; min-height: 460px; display: flex; flex-direction: column; overflow: hidden; }
.tile-blue { background: linear-gradient(180deg, #2F6FED 0%, #1F57C9 100%); color: #fff; }
.tile-blue h3, .tile-blue .tile-n { color: #fff; }
.tile-blue .tile-p { color: rgba(255,255,255,.86); }
.tile-n { font-size: 15px; font-weight: 800; color: var(--blue-d); margin-bottom: 14px; }
.tile h3 { font-size: clamp(26px, 2.4vw, 32px); line-height: 1.1; letter-spacing: -0.03em; margin-bottom: 12px; }
.tile-p { font-size: 17px; color: var(--ink-2); max-width: 320px; }
.tile-vis { margin-top: auto; padding: 40px 0 36px; display: flex; flex-direction: column; gap: 14px; }
.v-route { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: var(--pill); padding: 16px 20px; font-weight: 800; font-size: 17px; box-shadow: 0 10px 30px rgba(14,20,48,.08); }
.v-route i { flex: 1; border-top: 2px dashed #9FB7E8; min-width: 20px; }
.v-chips { display: flex; gap: 8px; }
.v-chips span { padding: 10px 16px; border-radius: var(--pill); background: #fff; font-weight: 700; font-size: 15px; color: var(--ink-2); box-shadow: 0 1px 2px rgba(14,20,48,.06); }
.v-chips .on { background: var(--blue-l); color: var(--blue-d); box-shadow: inset 0 0 0 1.5px var(--blue-d); }
.v-price { font-size: clamp(38px, 3.6vw, 48px); font-weight: 800; letter-spacing: -0.035em; line-height: 1; }
.v-price .ph { font-size: .72em; background: rgba(255,255,255,.18); color: #fff; }
.v-range { background: rgba(255,255,255,.22); }
.v-range span { background: #fff; }
.v-range i { background: #0B1530; }
.v-cap { font-size: 14px; color: rgba(255,255,255,.85); }
.v-cap .ph { background: rgba(255,255,255,.18); color: #fff; }
.v-movers { display: flex; align-items: center; gap: 12px; background: #fff; border-radius: 20px; padding: 14px 16px; font-weight: 800; font-size: 15px; box-shadow: 0 10px 30px rgba(14,20,48,.08); }
.v-movers .avatars b { width: 38px; height: 38px; font-size: 14px; }
.v-seg { display: grid; grid-template-columns: repeat(3, 1fr); background: #fff; border-radius: var(--pill); padding: 4px; font-weight: 700; font-size: 15px; text-align: center; color: var(--muted); box-shadow: 0 1px 2px rgba(14,20,48,.06); }
.v-seg span { padding: 10px 0; border-radius: var(--pill); }
.v-seg .on { background: var(--blue-d); color: #fff; }
@media (max-width: 900px) {
  .tile { min-height: 0; padding: 30px 26px 0; }
  .tile-vis { padding: 28px 0 28px; }
}
.costs { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 56px; align-items: center; }
@media (max-width: 900px) {
  .costs { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
.costs h2 { margin-bottom: 18px; }
.costs .answer { font-size: 19px; margin-bottom: 8px; }
.costs-btn { margin-top: 22px; }
.costs .table td, .costs .table th { padding: 17px 20px; }
.features { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 960px) {
  .features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .features { grid-template-columns: minmax(0, 1fr); }
}
.feature { background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); padding: 30px 26px; }
.feature-ic { width: 56px; height: 56px; border-radius: 18px; background: var(--blue-l); color: var(--blue-d); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.feature h3 { font-size: 21px; margin-bottom: 8px; }
.feature p { color: var(--ink-2); font-size: 16px; }
.v-price .ph { font-family: inherit; font-size: 1em; letter-spacing: -0.035em; background: transparent; color: #fff; padding: 0; border-bottom: 3px dashed rgba(255,255,255,.45); border-radius: 0; }
/* v8: quote-first tile visuals */
.v-pick { display: flex; align-items: center; gap: 12px; background: #fff; border-radius: 16px; padding: 12px 14px; font-weight: 800; font-size: 15px; color: var(--ink); box-shadow: 0 6px 18px rgba(14,20,48,.10); }
.v-pick em { margin-left: auto; font-style: normal; font-size: 12px; font-weight: 700; color: var(--green); }
.v-box { width: 20px; height: 20px; border-radius: 6px; border: 2px solid var(--field); flex: none; }
.v-box.on { background: var(--blue-d); border-color: var(--blue-d); box-shadow: inset 0 0 0 3px #fff; }
.tile-blue .v-cap { margin-top: 4px; }
.v-quote { display: flex; justify-content: space-between; align-items: center; background: #fff; border-radius: 16px; padding: 14px 16px; font-weight: 700; font-size: 15px; box-shadow: 0 1px 2px rgba(14,20,48,.06); }
.v-quote strong { font-size: 18px; font-weight: 800; }
.v-quote em { font-style: normal; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; background: var(--green-l); color: var(--green); padding: 3px 8px; border-radius: var(--pill); margin-left: 6px; }
.v-best { box-shadow: inset 0 0 0 2px var(--blue-d), 0 10px 26px rgba(31,87,201,.18); }
.hero-simple h1 { font-size: clamp(34px, 4.4vw, 58px); text-wrap: balance; }
.hero-simple .hero-copy { padding-right: 8px; }
/* ---------- Movers near you (location-aware, client-filled) ---------- */
.near { padding: 72px 0 24px; }
.near-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 24px; margin-bottom: 28px; }
.near-kicker { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--blue-d); margin-bottom: 10px; }
.near-head h2 { font-size: clamp(28px, 3.2vw, 40px); }
.near-pick { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; color: var(--muted); }
.near-pick select { font: inherit; font-size: 16px; font-weight: 600; color: var(--ink); height: 48px; min-width: 230px; padding: 0 14px; border: 1.5px solid var(--field); border-radius: var(--pill); background: #fff; }
.near-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; min-height: 120px; }
@media (max-width: 960px) {
  .near-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .near-grid { grid-template-columns: minmax(0, 1fr); }
}
.near-empty { grid-column: 1 / -1; background: var(--tint); border: 1px dashed #C9D6EE; border-radius: var(--r); padding: 28px; text-align: center; color: var(--ink-2); font-weight: 600; }
.near-card { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 20px; box-shadow: var(--sh-0); }
.near-logo { width: 48px; height: 48px; border-radius: 14px; background: var(--blue-l); color: var(--blue-d); font-weight: 800; font-size: 19px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.near-body { min-width: 0; }
.near-name { font-size: 17px; line-height: 1.3; margin-bottom: 2px; }
.near-meta { font-size: 14px; color: var(--muted); margin-bottom: 8px; }
.near-status { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: var(--pill); background: var(--tint-2); color: var(--ink-2); font-size: 12px; font-weight: 700; }
.near-foot { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; margin-top: 18px; font-size: 14px; color: var(--muted); }
.near-foot a { font-weight: 700; color: var(--blue-d); font-size: 15px; }
/* v9 — city pages + live movers ------------------------------------------------ */
.crumbs ol { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 0; font-size: 14px; font-weight: 600; color: var(--muted); }
.crumbs li + li::before { content: "›"; margin: 0 8px; color: #A3ACBF; }
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs a:hover { color: var(--blue-d); text-decoration: underline; }
.city-hero .hero-grid { padding-top: 56px; }
.city-stats { display: grid; grid-template-columns: repeat(3, minmax(0, max-content)); gap: 12px; margin: 8px 0 0; }
.city-stats div { background: var(--tint); border: 1px solid var(--line); border-radius: var(--r); padding: 14px 20px 12px; min-width: 128px; }
.city-stats dt { font-size: 13px; font-weight: 700; color: var(--muted); }
.city-stats dd { margin: 2px 0 0; font-size: 26px; font-weight: 800; letter-spacing: -0.02em; color: var(--ink); }
.city-stats div:last-child dd { font-size: 18px; padding-top: 6px; }
@media (max-width: 600px) {
  .city-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .city-stats div { min-width: 0; padding: 12px; }
  .city-stats dd { font-size: 22px; }
  .city-stats div:last-child dd { font-size: 14px; }
}
.qf-movers { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 13px; font-weight: 700; color: var(--muted); }
.qf-movers .qf-m { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 6px 0 12px; border-radius: var(--pill); background: var(--blue-l); color: var(--blue-d); }
.qf-movers .qf-m button { border: 0; background: transparent; color: inherit; font: inherit; font-size: 16px; line-height: 1; cursor: pointer; padding: 2px 6px; border-radius: 50%; }
.mv-filters { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.mv-filter { display: flex; flex-wrap: wrap; gap: 8px; }
.mv-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 16px; border: 1.5px solid var(--line); border-radius: var(--pill); background: #fff; font: inherit; font-size: 15px; font-weight: 700; color: var(--ink); cursor: pointer; transition: border-color .2s, background .2s; }
.mv-chip span { color: var(--muted); font-weight: 600; font-size: 13px; }
.mv-chip:hover { border-color: var(--blue-d); }
.mv-chip[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.mv-chip[aria-pressed="true"] span { color: rgba(255,255,255,.7); }
.mv-chip-tag[aria-pressed="true"] { background: var(--blue-d); border-color: var(--blue-d); }
.mv-count { font-size: 14px; color: var(--muted); font-weight: 600; margin-bottom: 18px; min-height: 1em; }
.mv-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 960px) {
  .mv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .mv-grid { grid-template-columns: minmax(0, 1fr); }
}
.mv-card { display: flex; flex-direction: column; gap: 12px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 20px; box-shadow: var(--sh-0); transition: box-shadow .2s, border-color .2s; }
.mv-card:hover { border-color: #CBD6EA; box-shadow: var(--sh-1); }
.mv-card[hidden] { display: none; }
.mv-top { display: flex; gap: 14px; align-items: center; }
.mv-logo { width: 48px; height: 48px; border-radius: 14px; background: var(--blue-l); color: var(--blue-d); font-weight: 800; font-size: 19px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.mv-id { min-width: 0; }
.mv-name { font-size: 17px; line-height: 1.3; overflow-wrap: anywhere; }
.mv-area { font-size: 14px; color: var(--muted); }
.mv-tags, .near-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.mv-tags span, .near-tags span { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: var(--pill); background: var(--tint-2); color: var(--ink-2); font-size: 12.5px; font-weight: 700; }
.near-tags { margin-bottom: 8px; }
.mv-check { display: flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 700; color: var(--green); }
.mv-check .d-ic { flex: none; }
.mv-check time { color: var(--muted); font-weight: 600; }
.mv-pick { margin-top: auto; align-self: flex-start; }
.mv-pick[aria-pressed="true"] { background: var(--blue-l); border-color: var(--blue-d); color: var(--blue-d) !important; }
.mv-more-row { text-align: center; margin-top: 28px; }
.mv-claim { margin-top: 28px; text-align: center; font-size: 15px; color: var(--muted); }
.mv-claim a { font-weight: 700; color: var(--blue-d); }
.near-status { color: var(--green); background: var(--green-l); }
.check-cards .feature-ic svg { width: 30px; height: 30px; }
.feature-warn { background: #FFFBF2; border-color: #F3E3BF; }
.feature-warn .feature-ic { background: #FFF1D6; color: #8A5300; }
@media (max-width: 960px) {
  .features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .features { grid-template-columns: minmax(0, 1fr); }
}
.tips { list-style: none; margin: 0; padding: 0; counter-reset: tip; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 960px) {
  .tips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .tips { grid-template-columns: minmax(0, 1fr); }
}
.tips li { counter-increment: tip; background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); padding: 28px 26px; }
.tips li::before { content: counter(tip); display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--ink); color: #fff; font-weight: 800; font-size: 15px; margin-bottom: 18px; }
.tips h3 { font-size: 19px; margin-bottom: 8px; }
.tips p { color: var(--ink-2); font-size: 16px; }
.city-hero .hero-grid { padding-bottom: 56px; }
.city-hero + .mv-sec { padding-top: 16px; }
.mv-sec-near { background: var(--tint); }
.mv-sec-near .mv-card { box-shadow: none; }
.pill-n { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; height: 22px; padding: 0 7px; margin-left: 8px; border-radius: var(--pill); background: var(--tint-2); color: var(--muted); font-size: 12px; font-weight: 700; }
.mv-claim { margin: 0; padding: 28px 0 8px; }
.city-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 960px) {
  .city-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
}
.city-grid a { display: flex; flex-direction: column; gap: 2px; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--r-sm); background: #fff; text-decoration: none; transition: border-color .2s, box-shadow .2s; height: 100%; }
.city-grid a:hover { border-color: var(--blue-d); box-shadow: var(--sh-1); }
.cg-name { font-weight: 800; font-size: 16px; color: var(--ink); overflow-wrap: anywhere; }
.cg-n { font-size: 13px; font-weight: 600; color: var(--muted); }
.prov-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 960px) {
  .prov-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .prov-grid { grid-template-columns: minmax(0, 1fr); }
}
.prov-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.prov-card h3 a { text-decoration: none; }
.prov-card h3 a:hover { color: var(--blue-d); }
.prov-n { font-size: 14px; font-weight: 700; color: var(--green); }
.prov-cities { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 15px; }
.prov-cities a { color: var(--ink-2); }
[hidden] { display: none !important; }
/* v10 — price pages */
.cost-answer { background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--sh-1); padding: 24px 26px; margin-top: 4px; max-width: 540px; }
.ca-label { font-size: 13px; font-weight: 800; color: var(--blue-d); text-transform: uppercase; letter-spacing: .04em; }
.ca-big { font-size: clamp(48px, 6vw, 72px); font-weight: 800; letter-spacing: -0.04em; line-height: 1; margin: 6px 0 10px; color: var(--ink); }
.ca-big small { font-size: 22px; font-weight: 700; color: var(--muted); letter-spacing: 0; margin-left: 4px; }
.ca-range { font-size: 16px; color: var(--ink-2); }
.ca-basis { display: flex; align-items: flex-start; gap: 6px; margin-top: 12px; font-size: 13px; font-weight: 600; color: var(--green); }
.ca-basis .d-ic { flex: none; margin-top: 2px; }
.cost-table td.muted { font-size: 14px; color: var(--muted); }
.cost-table th a { font-weight: 700; color: var(--blue-d); }
.factors { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 960px) {
  .factors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .factors { grid-template-columns: minmax(0, 1fr); }
}
.factors li { background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); padding: 26px; }
.factors h3 { font-size: 19px; margin-bottom: 8px; }
.factors p { color: var(--ink-2); font-size: 16px; }
.src-list { font-size: 15px; color: var(--ink-2); line-height: 1.7; }
.cost-provs { margin-top: 20px; }
.ca-warn { margin-top: 6px; font-size: 13px; font-weight: 600; color: #8A5300; }
.cost-table td .muted { font-size: 12px; font-weight: 600; }
/* v11 — mover cards that look like the real businesses they are */
.mv-card { gap: 10px; padding: 18px 20px 20px; }
.mv-top { min-height: 56px; display: flex; align-items: center; }
.mv-brand { display: inline-flex; align-items: center; justify-content: flex-start; height: 56px; max-width: 100%; }
.mv-brand img { max-height: 52px; max-width: 168px; width: auto; height: auto; object-fit: contain; }
.mv-brand-dark { background: var(--navy); border-radius: 12px; padding: 6px 12px; }
.mv-brand-dark img { max-height: 40px; }
.mv-id { margin-top: 2px; }
.mv-name { font-size: 18px; }
.mv-area { font-size: 13.5px; color: var(--muted); }
.mv-lang { display: inline-flex; align-items: center; height: 18px; padding: 0 6px; border-radius: 5px; background: var(--tint-2); color: var(--ink-2); font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.mv-about { font-size: 14px; line-height: 1.5; color: var(--ink-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mv-src { color: var(--muted); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.mv-rate { display: flex; flex-direction: column; gap: 1px; padding: 10px 12px; border-radius: 12px; background: var(--blue-l); }
.mv-rate-n { font-size: 20px; font-weight: 800; color: var(--blue-d); letter-spacing: -0.02em; }
.mv-rate-n small { font-size: 13px; font-weight: 700; }
.mv-rate-l { font-size: 12.5px; color: var(--ink-2); }
.mv-rate-l a { color: var(--blue-d); font-weight: 700; }
.mv-checks { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12.5px; font-weight: 700; color: var(--green); }
.mv-checks li { display: inline-flex; align-items: center; gap: 4px; }
.mv-checks .mv-nc { color: #8A94A8; font-weight: 600; }
.mv-checks .mv-nc::before { content: ""; width: 10px; height: 10px; border: 1.5px solid #A3ACBF; border-radius: 50%; display: inline-block; }
.mv-date { font-size: 12px; color: var(--muted); }
.mv-pick { margin-top: 6px; }
/* v12 — info & trust pages */
.info-hero { padding: 56px 0 24px; background: radial-gradient(900px 400px at 85% 0%, #E9F1FF 0%, rgba(233,241,255,0) 60%), #fff; }
.info-hero h1 { font-size: clamp(34px, 4.6vw, 54px); line-height: 1.05; margin-bottom: 16px; text-wrap: balance; }
.info-hero .lead { margin-bottom: 0; max-width: 680px; }
.sec-info { padding: 24px 0 96px; }
.prose { font-size: 18px; line-height: 1.7; color: var(--ink-2); }
.prose h2 { font-size: 26px; line-height: 1.2; color: var(--ink); margin: 44px 0 12px; }
.prose h2:first-child { margin-top: 12px; }
.prose p { margin-bottom: 14px; }
.prose ul, .prose ol { padding-left: 22px; margin: 0 0 16px; }
.prose li { margin-bottom: 8px; }
.prose a { color: var(--blue-d); font-weight: 600; }
.prose strong { color: var(--ink); }
.facts { list-style: none; padding: 0 !important; display: grid; gap: 10px; }
.facts li { background: var(--tint); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 14px 18px; margin: 0; }
.facts strong { font-size: 22px; margin-right: 6px; color: var(--blue-d); }
.big-mail { font-size: clamp(24px, 3.4vw, 34px); font-weight: 800; letter-spacing: -0.02em; margin: 8px 0 24px; }
.log { list-style: none; margin: 8px 0 0; padding: 0 0 0 28px; border-left: 2px solid var(--line); }
.log li { position: relative; padding: 0 0 36px; }
.log li::before { content: ""; position: absolute; left: -36px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 3px solid var(--blue); }
.log time { font-size: 13px; font-weight: 800; color: var(--blue-d); text-transform: uppercase; letter-spacing: .04em; }
.log h2 { font-size: 21px; margin: 4px 0 8px; }
.log p { color: var(--ink-2); font-size: 16.5px; line-height: 1.65; }
/* v13 — quote checker */
.qc-sec { padding-top: 8px; }
.qc-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
@media (max-width: 900px) {
  .qc-grid { grid-template-columns: minmax(0, 1fr); }
}
.qc-form { gap: 18px; }
.qc-field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 700; color: var(--muted); }
.qc-field em { font-style: normal; font-weight: 600; color: #8A94A8; }
.qc-field select, .qc-field input { font: inherit; font-size: 17px; font-weight: 600; color: var(--ink); height: 50px; padding: 0 14px; border: 1.5px solid var(--field); border-radius: var(--r-sm); background: #fff; width: 100%; }
.qc-money { display: flex; align-items: center; border: 1.5px solid var(--field); border-radius: var(--r-sm); background: #fff; padding-left: 14px; }
.qc-money b { color: var(--muted); font-size: 17px; }
.qc-money input { border: 0; height: 47px; padding-left: 6px; }
.qc-money:focus-within, .qc-field select:focus, .qc-field > input:focus { outline: 3px solid var(--blue); outline-offset: 1px; }
.qc-money input:focus { outline: none; }
.qc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 480px) {
  .qc-row { grid-template-columns: 1fr; }
}
.qc-checks { border: 0; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 16px; font-weight: 600; color: var(--ink); }
.qc-checks legend { font-size: 13px; font-weight: 700; color: var(--muted); margin-bottom: 8px; padding: 0; }
.qc-checks label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.qc-checks input { width: 20px; height: 20px; accent-color: var(--blue-d); }
.qc-out { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 14px; }
.qc-empty { border: 1.5px dashed #C9D6EE; border-radius: var(--r-xl); padding: 48px 28px; text-align: center; color: var(--muted); background: var(--tint); }
.qc-empty-h { font-size: 20px; font-weight: 800; color: var(--ink); margin-bottom: 6px; }
.qc-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--sh-1); padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.qc-verdict { font-size: 28px; font-weight: 800; letter-spacing: -0.02em; }
.qc-good { color: var(--green); }
.qc-ok { color: #8A5300; }
.qc-bad { color: var(--red); }
.qc-line { color: var(--ink-2); font-size: 15.5px; }
.qc-total { font-size: 18px; font-weight: 800; color: var(--ink); }
.qc-bar { position: relative; height: 14px; border-radius: 8px; background: var(--tint-2); margin: 8px 0 4px; }
.qc-band { position: absolute; top: 0; bottom: 0; border-radius: 8px; background: linear-gradient(90deg, #8DB8FF, var(--blue)); }
.qc-pin { position: absolute; top: -6px; width: 4px; height: 26px; margin-left: -2px; border-radius: 2px; background: var(--ink); }
.qc-flags-h { font-size: 18px; font-weight: 800; margin-top: 4px; }
.qc-flags { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.qc-flags li { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border-radius: var(--r-sm); font-size: 14.5px; color: var(--ink-2); }
.qc-flags strong { color: var(--ink); font-size: 15.5px; }
.qc-f-bad { background: var(--red-l); border: 1px solid #F6D3CF; }
.qc-f-ok { background: var(--tint); border: 1px solid var(--line); }
.qc-fine { margin-top: 18px; }
/* v14 — homepage proof */
.hero-proof { margin-top: 18px; font-size: 14.5px; color: var(--ink-2); max-width: 520px; }
.hero-proof strong { color: var(--ink); }
.hero-proof a { color: var(--blue-d); font-weight: 700; }
.logo-strip { padding-bottom: 56px; margin-top: -48px; }
.logo-strip-h { font-size: 13px; font-weight: 800; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 18px; text-align: center; }
.logo-strip ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 22px 40px; }
.logo-strip li { display: flex; align-items: center; height: 48px; }
.logo-strip img { max-height: 44px; max-width: 132px; width: auto; height: auto; object-fit: contain; filter: grayscale(1) contrast(1.05); opacity: .72; transition: filter .25s, opacity .25s; }
.logo-strip li:hover img { filter: none; opacity: 1; }
@media (max-width: 600px) {
  .logo-strip { margin-top: -24px; }
  .logo-strip ul { gap: 16px 26px; }
  .logo-strip img { max-height: 34px; max-width: 100px; }
}
.feature-n { font-size: 40px; font-weight: 800; letter-spacing: -0.03em; color: var(--blue-d); line-height: 1; margin-bottom: 10px; }
.qc-teaser { background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--sh-2); padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.qc-ex { font-size: 12px; font-weight: 800; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.ft-entity a { color: inherit; }
.near-mv .mv-about { -webkit-line-clamp: 2; }
.near-rate { font-size: 13.5px; font-weight: 800; color: var(--blue-d); }
.near-mv .mv-date { color: var(--green); font-weight: 700; font-size: 12.5px; }
.mv-search { display: block; max-width: 420px; }
.mv-search input { font: inherit; font-size: 16px; width: 100%; height: 46px; padding: 0 16px 0 44px; border: 1.5px solid var(--field); border-radius: var(--pill); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235C6682' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 16px center; }
.mv-search input:focus { outline: 3px solid var(--blue); outline-offset: 1px; border-color: var(--blue-d); }
.logo-strip li.inv img { filter: grayscale(1) invert(1); opacity: .72; }
.logo-strip li.inv:hover img { filter: invert(1); opacity: 1; }
/* ==========================================================================
   v15 — Premium craft layer (same structure; refined type, surfaces, detail)
   ========================================================================== */
:root {
  --line: rgba(14, 20, 48, .09);
  --line-2: rgba(14, 20, 48, .14);
  --ink-2: #3D4766;
  --sh-0: 0 1px 2px rgba(14, 20, 48, .05);
  --sh-1: 0 1px 2px rgba(14, 20, 48, .04), 0 14px 34px -10px rgba(28, 58, 140, .18);
  --sh-2: 0 1px 1px rgba(14, 20, 48, .04), 0 10px 24px -6px rgba(28, 58, 140, .10), 0 36px 72px -20px rgba(28, 58, 140, .22);
  --ease: cubic-bezier(.2, .7, .2, 1);
}
::selection { background: #D6E4FF; color: var(--ink); }
body { text-rendering: optimizeLegibility; font-feature-settings: "kern" 1; }
/* Type: slightly lighter display weight, tighter tracking, no orphaned full stops */
h1, h2 { font-weight: 760; letter-spacing: -0.034em; }
h3, .h3 { font-weight: 760; letter-spacing: -0.02em; }
.hdot { margin-left: -0.07em; }
.sec-head p, .center-head p { color: var(--muted); }
.answer strong, .ca-range strong, .table .num { white-space: nowrap; }
.answer { text-wrap: pretty; }
.tnum, .table td, .table th { font-variant-numeric: tabular-nums; }
/* Header: frosted, hairline */
.hd { background: rgba(255, 255, 255, .78); border-bottom-color: var(--line); backdrop-filter: saturate(180%) blur(20px); -webkit-backdrop-filter: saturate(180%) blur(20px); }
.hd-nav a { font-weight: 600; color: var(--ink-2); transition: background .2s, color .2s; }
.hd-nav a:hover { background: rgba(14, 20, 48, .045); }
/* Buttons: subtle depth and a press state */
.btn { transition: background .2s, transform .2s var(--ease), box-shadow .2s, border-color .2s; }
.btn-primary { background: linear-gradient(180deg, #2C68E3 0%, #1F57C9 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 1px 2px rgba(14, 20, 48, .18), 0 8px 20px -6px rgba(31, 87, 201, .45); }
.btn-primary:hover { background: linear-gradient(180deg, #2760D6 0%, #1A4DB5 100%); transform: translateY(-1px); }
.btn:active { transform: translateY(0) scale(.99); }
.btn-ghost { border-color: var(--line-2); }
.btn-ghost:hover { border-color: var(--ink); background: #fff; }
/* Hero: layered light, refined quote card */
.hero { background: radial-gradient(900px 480px at 92% -8%, #E1EBFF 0%, rgba(225, 235, 255, 0) 64%), #fff; }
.hero-simple .app-card { border: 1px solid var(--line); box-shadow: var(--sh-2); border-radius: 26px; }
.app-title { font-weight: 760; letter-spacing: -0.02em; }
.route-box { border: 1px solid var(--line-2); background: #FAFBFD; transition: border-color .2s, box-shadow .2s; }
.route-box:focus-within { border-color: var(--blue-d); box-shadow: 0 0 0 4px rgba(47, 111, 237, .14); background: #fff; }
.route-row:focus-within { box-shadow: none; }
.route-row input::placeholder { color: #8C95AB; }
.chips span { border: 1px solid var(--line-2); background: #fff; transition: border-color .2s, background .2s, color .2s, box-shadow .2s; }
.chips label:hover span { border-color: var(--ink-2); }
.chips input:checked + span { box-shadow: 0 0 0 3px rgba(47, 111, 237, .12); }
.hero-proof { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.6; color: var(--muted); }
.hero-proof strong { font-size: 15px; }
/* Logo strip: quieter label, optical sizing set inline */
.logo-strip-h { letter-spacing: .08em; font-size: 12px; color: #7B849C; }
.logo-strip ul { gap: 26px 52px; }
.logo-strip img { max-height: none; max-width: 150px; }
/* Cards: one surface language everywhere */
.mv-card, .near-card, .feature, .plan-col, .city-grid a, .prov-card, .tips li, .factors li {
  border: 1px solid var(--line); box-shadow: var(--sh-0);
  transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s;
}
.mv-card:hover, .feature:hover, .plan-col:hover, .city-grid a:hover, .prov-card:hover { transform: translateY(-2px); box-shadow: var(--sh-1); border-color: var(--line-2); }
.mv-logo { background: linear-gradient(135deg, #EEF3FF 0%, #DFE8FF 100%); color: var(--blue-d); box-shadow: inset 0 0 0 1px rgba(31, 87, 201, .08); }
/* How it works tiles */
.tile { border: 1px solid rgba(14, 20, 48, .04); }
.tile:not(.tile-blue) .v-cap { color: var(--muted); }
.tile-blue { box-shadow: 0 30px 60px -24px rgba(31, 87, 201, .55); }
.v-quote { border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(14, 20, 48, .04); }
/* "What MoverDash does" — the big numbers */
.feature .feature-n { font-size: 40px; font-weight: 800; letter-spacing: -0.03em; color: var(--blue-d); line-height: 1; margin: 2px 0 12px; font-variant-numeric: tabular-nums; }
.feature-ic { box-shadow: inset 0 0 0 1px rgba(31, 87, 201, .08); }
/* Tables: no underlines; row focus */
.table-wrap { border-color: var(--line); box-shadow: var(--sh-0); }
.table th a, .table td a { text-decoration: none; color: var(--ink); font-weight: 700; }
.table tbody th a::after { content: "›"; margin-left: 6px; color: #9AA3B8; transition: transform .2s, color .2s; display: inline-block; }
.table tbody tr { transition: background .15s; }
.table tbody tr:hover { background: #F7F9FD; }
.table tbody tr:hover th a::after { color: var(--blue-d); transform: translateX(2px); }
/* City pills & plan columns */
.city-pills a { border: 1px solid var(--line-2); transition: border-color .2s, color .2s, transform .2s var(--ease), box-shadow .2s; }
.city-pills a:hover { transform: translateY(-1px); box-shadow: var(--sh-1); }
.plan-col a { transition: color .2s, padding .2s var(--ease); }
.plan-col a:hover { padding-left: 4px; }
/* FAQ */
.faq summary { transition: color .2s; }
.faq summary:hover { color: var(--blue-d); }
/* Closing band: depth instead of a flat block */
.cta-band { position: relative; overflow: hidden; background: radial-gradient(800px 360px at 85% 0%, rgba(120, 165, 255, .45) 0%, rgba(120, 165, 255, 0) 60%), linear-gradient(135deg, #1A4FBF 0%, #2463DB 55%, #2F6FED 100%); }
.cta-band::after { content: ""; position: absolute; left: -10%; right: -10%; bottom: 18px; border-top: 2px dashed rgba(255, 255, 255, .12); transform: rotate(-1.2deg); pointer-events: none; }
.cta-band .wrap { position: relative; z-index: 1; }
.btn-white { box-shadow: 0 1px 2px rgba(14, 20, 48, .2), 0 12px 28px -8px rgba(8, 24, 70, .5); }
.btn-white:hover { transform: translateY(-1px); }
/* Footer: grid matches the columns we have */
.ft-grid { grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr)); }
.ft-col a { transition: color .2s; }
.ft-col a:hover { text-decoration: none; }
@media (max-width: 960px) {
  .ft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ft-brand { grid-column: 1 / -1; }
}
/* Gentle section reveal (only with JS; never for reduced motion) */
.js-rv .rv { opacity: 0; transform: translateY(18px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.js-rv .rv.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js-rv .rv { opacity: 1; transform: none; transition: none; }
  .mv-card:hover, .feature:hover, .plan-col:hover, .city-grid a:hover, .prov-card:hover, .city-pills a:hover { transform: none; }
}
/* ===== v16 — Live price in the quote form ===== */
.qf-est { margin: -2px 0 0; padding: 16px 18px; border-radius: var(--r-sm); background: linear-gradient(180deg, #F3F7FF, #EAF1FF); border: 1px solid rgba(47,111,237,.18); animation: qfIn .28s ease-out; }
.qf-est-k { margin: 0; font-size: 13px; font-weight: 700; color: var(--blue-d); letter-spacing: .01em; }
.qf-est-v { margin: 4px 0 0; font-size: 30px; line-height: 1.15; font-weight: 780; letter-spacing: -0.03em; color: var(--ink); }
.qf-est-v { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 6px; }
.qf-est-v span { white-space: nowrap; font-size: 15px; font-weight: 600; letter-spacing: 0; color: var(--ink-2); }
.qf-est-b { margin: 6px 0 0; font-size: 13px; line-height: 1.45; color: var(--ink-2); }
.qf-est-open .qf-est-v { font-size: 20px; }
@media (max-width: 560px) {
  .qf-est-v { font-size: 26px; }
}
@keyframes qfIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .qf-est { animation: none; }
}
/* ===== v17 — Homepage: photo canvas hero, services, cost tabs, comparison, photo CTA ===== */
/* Photo slots (labelled frames until the real photo is dropped into assets/img/home/) */
.pic { display: block; width: 100%; height: auto; }
img.pic { object-fit: cover; }
.slot { position: relative; display: flex; align-items: flex-end; padding: 14px; background: linear-gradient(135deg, #EDF2FA 0%, #DDE6F3 100%); color: var(--muted); overflow: hidden; }
.slot::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(14,20,48,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(14,20,48,.035) 1px, transparent 1px); background-size: 28px 28px; }
.slot-tag { position: relative; display: inline-block; font-family: var(--font); white-space: normal; letter-spacing: 0; max-width: 92%; padding: 8px 11px; border-radius: 10px; background: rgba(255,255,255,.88); font-size: 12.5px; font-weight: 650; line-height: 1.35; color: var(--ink-2); box-shadow: 0 1px 2px rgba(14,20,48,.06); }
.slot-tag svg { vertical-align: -3px; margin-right: 6px; }
.slot-tag small { display: block; margin-top: 2px; font-size: 11.5px; font-weight: 500; color: var(--muted); }
/* Hero canvas: photo behind copy + form (structure unchanged: copy left, form right) */
.hero-canvas { background: #fff; }
.hc { position: relative; isolation: isolate; margin-top: 16px; border-radius: 32px; overflow: hidden; background: #0F1D45; box-shadow: 0 30px 80px -30px rgba(15,29,69,.45); }
.hc-pic { position: absolute; inset: 0; z-index: -2; }
.hc-pic .pic { width: 100%; height: 100%; aspect-ratio: auto !important; object-fit: cover; object-position: 70% 40%; }
.hc-pic .slot { background: radial-gradient(900px 560px at 78% 18%, #3D72DE 0%, rgba(61,114,222,0) 62%), linear-gradient(135deg, #0D1A40 0%, #18347E 100%); justify-content: flex-end; }
.hc-pic .slot::before { background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 40px 40px; }
.hc-pic .slot-tag { background: rgba(255,255,255,.14); color: rgba(255,255,255,.9); box-shadow: none; backdrop-filter: blur(6px); max-width: 360px; }
.hc-pic .slot-tag small { color: rgba(255,255,255,.7); }
.hc::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(7,12,30,.80) 0%, rgba(7,12,30,.55) 36%, rgba(7,12,30,.12) 68%, rgba(7,12,30,0) 100%); }
.hc-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 470px); gap: 56px; align-items: center; min-height: 680px; padding: 56px 56px; }
.hero-simple .hc-grid { padding-top: 56px; padding-bottom: 56px; }
.hc .hero-stage { padding: 0; }
.hc .app-card { box-shadow: 0 2px 6px rgba(7,12,30,.12), 0 40px 90px -20px rgba(7,12,30,.55); border: 0; }
.hc-copy h1 { color: #fff; max-width: 620px; }
.hc-copy h1 .t-blue { color: #A9C8FF; }
.hc-copy .lead { color: rgba(255,255,255,.86); max-width: 520px; }
.hc-copy .rh-proof { color: #fff; }
.hc-copy .rh-proof .d-ic { color: #7BE0A6; }
.hc-kicker { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 22px; padding: 8px 14px 8px 12px; border-radius: var(--pill); background: rgba(255,255,255,.13); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: #fff; font-size: 14px; font-weight: 650; }
.hc-live { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #5BE09A; }
.hc-live::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid #5BE09A; opacity: 0; animation: hcPulse 2.4s ease-out infinite; }
@keyframes hcPulse { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(1.8); opacity: 0; } }
.hero-canvas .hero-proof { margin: 18px auto 0; max-width: none; text-align: center; border: 0; padding: 0; }
.hero-canvas .hero-proof a { color: inherit; }
.logo-band .logo-strip { margin-top: 0; padding: 48px 24px 24px; }
@media (max-width: 960px) {
  .hc { border-radius: 24px; margin-left: -8px; margin-right: -8px; }
  .hc::before { background: linear-gradient(180deg, rgba(7,12,30,.74) 0%, rgba(7,12,30,.5) 40%, rgba(7,12,30,.18) 100%); }
  .hc-grid { display: block; min-height: 0; padding: 32px 18px 18px; }
  .hero-simple .hc-grid { padding-top: 32px; padding-bottom: 18px; }
  .hc-copy { margin-bottom: 24px; }
  .hc-copy .lead { margin-bottom: 16px; }
  .hc-kicker { font-size: 13px; margin-bottom: 16px; }
  .hc-pic .slot { align-items: flex-start; padding-top: 10px; }
  .hc-pic .slot-tag { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hc-live::after { animation: none; }
}
/* Services */
.svc-sec { padding-top: 72px; }
.svc-head { max-width: none; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 8px 24px; }
.svc-head h2 { margin: 0; }
.svc-head p { margin: 0; max-width: 440px; }
.svc-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.svc-a { display: flex; flex-direction: column; height: 100%; border-radius: 24px; overflow: hidden; background: #fff; border: 1px solid var(--line); text-decoration: none; color: var(--ink); transition: transform .25s ease, box-shadow .25s ease, border-color .25s; }
.svc-a:hover { transform: translateY(-4px); box-shadow: 0 24px 48px -20px rgba(30,70,160,.28); border-color: transparent; color: var(--ink); }
.svc-img { aspect-ratio: 4 / 3; width: 100%; }
img.svc-img { transition: transform .5s ease; }
.svc-a:hover img.svc-img { transform: scale(1.03); }
.svc-body { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px 22px; }
.svc-t { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 19px; font-weight: 760; letter-spacing: -0.02em; }
.svc-t .d-ic { flex: none; color: var(--blue-d); transition: transform .25s; }
.svc-a:hover .svc-t .d-ic { transform: translateX(3px); }
.svc-p { font-size: 15px; color: var(--ink-2); }
.svc-fine { margin-top: 18px; }
@media (max-width: 960px) {
  .svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}
@media (max-width: 600px) {
  .svc-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin: 0 -24px; padding: 4px 24px 16px; scroll-padding-inline: 24px; scrollbar-width: none; }
  .svc-grid::-webkit-scrollbar { display: none; }
  .svc { flex: 0 0 78%; scroll-snap-align: start; }
  .svc-t { font-size: 17px; }
}
/* Cost tabs */
.ct-bar { display: inline-flex; gap: 4px; padding: 4px; margin-bottom: 14px; border-radius: var(--pill); background: #fff; border: 1px solid var(--line); }
.ct-bar[hidden] { display: none !important; }
.ct-bar button { min-height: 42px; padding: 0 18px; border: 0; border-radius: var(--pill); background: transparent; font: inherit; font-size: 15px; font-weight: 700; color: var(--ink-2); cursor: pointer; transition: background .2s, color .2s; }
.ct-bar button[aria-selected="true"] { background: var(--ink); color: #fff; }
.cost-tabs .table-wrap + .table-wrap { margin-top: 16px; }
.cost-tabs.tabs-on .table-wrap + .table-wrap { margin-top: 0; }
.ct-arrow { color: var(--muted); font-weight: 500; }
/* Better than calling around */
.why { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 64px; align-items: center; }
.why-img { border-radius: 28px; aspect-ratio: 4 / 5; }
.why-copy h2 { margin-bottom: 12px; }
.vs { margin: 8px 0 28px; }
.vs-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.25fr); gap: 16px; align-items: center; border-bottom: 1px solid var(--line); font-size: 15.5px; line-height: 1.4; }
.vs-row > span { padding: 15px 0; }
.vs-row > [role="rowheader"] { font-weight: 750; }
.vs-row > [role="cell"]:not(.vs-md) { color: var(--muted); }
.vs-row > .vs-md { padding: 15px 16px; background: #F1F6FF; font-weight: 650; color: var(--ink); }
.vs-headrow { border-bottom-color: transparent; font-size: 12.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.vs-headrow > span { padding-bottom: 10px; color: var(--muted); }
.vs-headrow > .vs-md { border-radius: 14px 14px 0 0; color: var(--blue-d); }
.vs-row:last-child { border-bottom: 0; }
.vs-row:last-child > .vs-md { border-radius: 0 0 14px 14px; }
.why-stats { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 16px 40px; }
.why-stats li { display: flex; flex-direction: column; }
.why-stats strong { font-size: 34px; font-weight: 800; letter-spacing: -0.03em; color: var(--blue-d); line-height: 1.1; }
.why-stats span { font-size: 14px; color: var(--muted); }
@media (max-width: 960px) {
  .why { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .why-pic { max-width: 520px; }
  .why-img { aspect-ratio: 4 / 3; }
}
@media (max-width: 600px) {
  .vs-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 10px; font-size: 14.5px; }
  .vs-row > [role="rowheader"] { grid-column: 1 / -1; padding: 14px 0 4px; }
  .vs-row > [role="cell"] { padding-top: 6px; padding-bottom: 14px; }
  .vs-headrow > span:first-child { display: none; }
  .vs-row > .vs-md { padding: 6px 12px 14px; }
  .vs-row:not(.vs-headrow) > .vs-md { border-radius: 0; }
}
/* CTA with photo */
.cta-photo .cta-band-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.cta-photo .cta-copy .btn { margin-top: 24px; }
.cta-img { border-radius: 24px; aspect-ratio: 16 / 10; box-shadow: 0 30px 60px -24px rgba(7,12,30,.5); }
.cta-pic .slot { background: rgba(255,255,255,.1); }
.cta-pic .slot::before { background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); }
@media (max-width: 860px) {
  .cta-photo .cta-band-row { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
/* Mobile rails: logos and nearby movers scroll sideways instead of stacking */
@media (max-width: 600px) {
  .logo-band .logo-strip { padding: 36px 0 8px; }
  .logo-band .logo-strip-h { padding: 0 24px; }
  .logo-band .logo-strip ul { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; gap: 30px; padding: 4px 24px 8px; scrollbar-width: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 40px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 40px), transparent 100%); }
  .logo-band .logo-strip ul::-webkit-scrollbar { display: none; }
  .logo-band .logo-strip li { flex: none; }
  .near-grid { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; margin: 0 -24px; padding: 4px 24px 16px; scroll-padding-inline: 24px; scrollbar-width: none; }
  .near-grid::-webkit-scrollbar { display: none; }
  .near-grid > .mv-card { flex: 0 0 82%; scroll-snap-align: start; }
}
/* ===== v18 — 8 service categories ===== */
.svc-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.svc-body { gap: 5px; padding: 16px 18px 18px; flex: 1; }
.svc-t { font-size: 17.5px; }
.svc-w { font-size: 14px; line-height: 1.45; color: var(--ink-2); }
.svc-p { margin-top: auto; padding-top: 8px; font-size: 13.5px; font-weight: 650; color: var(--blue-d); }
.svc-more { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 22px; }
.svc-more-h { font-size: 14px; font-weight: 700; color: var(--muted); margin-right: 2px; }
.svc-chip { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1.5px solid var(--line); border-radius: var(--pill); background: #fff; font-size: 14.5px; font-weight: 650; color: var(--ink); text-decoration: none; transition: border-color .15s, color .15s; }
.svc-chip:hover { border-color: var(--blue-d); color: var(--blue-d); }
.qf-svc { display: flex; align-items: center; gap: 6px; margin-top: -4px; padding: 10px 12px; border-radius: var(--r-sm); background: var(--tint); font-size: 14px; color: var(--ink-2); }
.qf-svc strong { color: var(--ink); }
.qf-svc button { margin-left: auto; width: 32px; height: 32px; border: 0; border-radius: 50%; background: #fff; font-size: 18px; line-height: 1; cursor: pointer; color: var(--ink-2); }
.qf-svc[hidden] { display: none !important; }
@media (max-width: 1100px) {
  .svc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 960px) {
  .svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .svc-grid { display: flex; }
  .svc { flex: 0 0 74%; }
  .svc-more { flex-wrap: nowrap; overflow-x: auto; margin: 18px -24px 0; padding: 0 24px 4px; scrollbar-width: none; }
  .svc-more::-webkit-scrollbar { display: none; }
  .svc-chip, .svc-more-h { flex: none; }
}
.mv-svc { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.mv-svc a, .mv-svc-more { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: var(--pill); background: var(--tint-2); font-size: 12.5px; font-weight: 650; color: var(--ink-2); text-decoration: none; }
.mv-svc a:hover { background: var(--blue-l); color: var(--blue-d); }
/* ===== v19 — Quote request flow (/get-quotes/) ===== */
.gq { padding: 40px 0 96px; background: linear-gradient(180deg, #F6F9FE 0, #fff 420px); }
.gq-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 40px; align-items: start; }
.gq-head { margin-bottom: 24px; max-width: 760px; }
.gq-head h1 { font-size: clamp(30px, 3.6vw, 44px); line-height: 1.08; margin: 6px 0 12px; }
.gq-head .lead-sm { margin-bottom: 0; }
.gq-kicker { margin: 0; font-size: 14px; font-weight: 700; color: var(--blue-d); }
.gq-form { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.gq-step { margin: 0; padding: 26px 26px 24px; border: 1px solid var(--line); border-radius: var(--r-xl); background: #fff; box-shadow: var(--sh-0); display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.gq-step legend { float: left; width: 100%; display: flex; align-items: center; gap: 12px; padding: 0; margin-bottom: 4px; font-size: 21px; font-weight: 780; letter-spacing: -0.02em; color: var(--ink); }
.gq-step legend + * { clear: both; }
.gq-n { flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 15px; display: inline-flex; align-items: center; justify-content: center; }
.gq-label { display: block; margin: 0 0 7px; font-size: 13px; font-weight: 700; color: var(--muted); }
.gq-label small { font-weight: 500; }
.gq-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: end; }
.gq-row-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.gq-field { display: flex; flex-direction: column; min-width: 0; }
.gq-field input, .gq-field select, .gq-field textarea { font: inherit; font-size: 16px; color: var(--ink); width: 100%; min-height: 52px; padding: 12px 14px; border: 1.5px solid var(--field); border-radius: var(--r-sm); background: #fff; }
.gq-field textarea { min-height: 96px; resize: vertical; }
.gq-field input:focus, .gq-field select:focus, .gq-field textarea:focus { outline: none; border-color: var(--blue-d); box-shadow: 0 0 0 3px rgba(47,111,237,.18); }
.gq-field [aria-invalid="true"], .gq-check [aria-invalid="true"] + span { border-color: var(--red); }
.gq-check, .gq-radio { display: inline-flex; align-items: flex-start; gap: 10px; font-size: 15.5px; cursor: pointer; line-height: 1.45; }
.gq-check input, .gq-radio input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--blue-d); flex: none; }
.gq-flex { min-height: 52px; align-items: center; }
.gq-extras, .gq-pref { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.gq-extras .gq-label, .gq-pref .gq-label { flex-basis: 100%; margin: 0; }
.gq .chips { gap: 8px; }
.gq .chips .gq-label { flex-basis: 100%; }
.gq-consent { padding: 14px 16px; border-radius: var(--r-sm); background: var(--tint); }
.gq-alert { padding: 14px 18px; border-radius: var(--r-sm); background: var(--red-l); color: var(--red); font-size: 15px; }
.gq-alert ul { margin: 6px 0 0; padding-left: 18px; }
.gq-alert a { color: var(--red); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gq-empty { margin: 0; color: var(--ink-2); }
.gq-mv-tools { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; }
.gq-mv-count { margin: 0; font-size: 14px; font-weight: 650; color: var(--ink-2); }
.gq-mv-count span { color: var(--blue-d); }
.gq-search input { font: inherit; font-size: 15px; height: 42px; padding: 0 14px; border: 1.5px solid var(--line); border-radius: var(--pill); width: 220px; }
.gq-movers { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.gq-mv label { position: relative; display: flex; align-items: center; gap: 12px; height: 100%; padding: 12px 44px 12px 12px; border: 1.5px solid var(--line); border-radius: 16px; background: #fff; cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s; }
.gq-mv label:hover { border-color: #B9C7E3; }
.gq-mv input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.gq-mv input:focus-visible + .gq-mv-logo { outline: 3px solid var(--blue); outline-offset: 2px; }
.gq-mv.on label { border-color: var(--blue-d); background: #F4F8FF; box-shadow: 0 0 0 1px var(--blue-d) inset; }
.gq-mv-logo { flex: none; width: 56px; height: 44px; border-radius: 10px; background: #fff; border: 1px solid var(--line); display: inline-flex; align-items: center; justify-content: center; padding: 4px; overflow: hidden; }
.gq-mv-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.gq-mv-logo.dark { background: var(--navy); }
.gq-mv-ini { background: var(--blue-l); color: var(--blue-d); font-weight: 800; font-size: 18px; border: 0; }
.gq-mv-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.gq-mv-name { font-weight: 750; font-size: 15.5px; line-height: 1.25; }
.gq-mv-meta { font-size: 13px; color: var(--muted); line-height: 1.35; }
.gq-mv-svc { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 3px; }
.gq-mv-svc span { font-size: 11.5px; font-weight: 650; padding: 2px 8px; border-radius: var(--pill); background: var(--tint-2); color: var(--ink-2); }
.gq-mv-tick { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--field); display: inline-flex; align-items: center; justify-content: center; color: transparent; }
.gq-mv.on .gq-mv-tick { background: var(--blue-d); border-color: var(--blue-d); color: #fff; }
.gq-mv.full:not(.on) label { opacity: .5; }
.gq-more { align-self: flex-start; }
.gq-side { position: sticky; top: 88px; }
.gq-card { padding: 24px; border: 1px solid var(--line); border-radius: var(--r-xl); background: #fff; box-shadow: var(--sh-1); }
.gq-card-h { margin: 0 0 14px; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.gq-card-empty { margin: 0 0 4px; font-size: 15px; color: var(--ink-2); }
.gq-est { margin: 0; }
.gq-next { margin: 20px 0 0; padding: 0; list-style: none; counter-reset: s; display: flex; flex-direction: column; gap: 12px; }
.gq-next li { position: relative; padding-left: 36px; font-size: 14.5px; line-height: 1.45; color: var(--ink-2); counter-increment: s; }
.gq-next li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--blue-l); color: var(--blue-d); font-size: 13px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.gq-next strong { color: var(--ink); }
.gq-promise { list-style: none; margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 8px; font-size: 14px; font-weight: 650; color: var(--ink-2); }
.gq-promise li { display: flex; align-items: center; gap: 8px; }
.gq-promise .d-ic { color: var(--green); }
.gq-sent { text-align: left; }
.gq-sent h1 { font-size: clamp(30px, 3.6vw, 44px); margin: 18px 0 12px; }
.gq-sent-ok { width: 64px; height: 64px; border-radius: 50%; background: var(--green-l); color: var(--green); display: inline-flex; align-items: center; justify-content: center; }
.gq-summary { margin: 24px 0 36px; }
.gq-summary dl { margin: 0; display: flex; flex-direction: column; }
.gq-summary dl div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; padding: 11px 0; border-top: 1px solid var(--line); }
.gq-summary dt { font-size: 14px; font-weight: 700; color: var(--muted); }
.gq-summary dd { margin: 0; font-weight: 600; }
.gq-sent-h { font-size: 24px; margin-bottom: 12px; }
.gq-tips { margin: 0 0 20px; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; color: var(--ink-2); }
.gq-tips strong { color: var(--ink); }
@media (max-width: 1000px) {
  .gq-grid { grid-template-columns: minmax(0, 1fr); }
  .gq-side { position: static; order: -1; }
  .gq-next, .gq-promise { display: none; }
}
@media (max-width: 640px) {
  .gq { padding-top: 20px; }
  .gq-step { padding: 20px 16px; border-radius: 22px; }
  .gq-row, .gq-row-3, .gq-movers { grid-template-columns: minmax(0, 1fr); }
  .gq-search, .gq-search input { width: 100%; }
}
.hc-k-short { display: none; }
@media (max-width: 600px) {
  .hc-k-long { display: none; }
  .hc-k-short { display: inline; }
}
/* ===== v20 — Full-bleed hero (edge to edge) ===== */
.hero-canvas .hc { width: 100vw; margin: 0 0 0 calc(50% - 50vw); border-radius: 0; box-shadow: none; }
.hero-canvas .hc-grid { max-width: var(--wrap); margin: 0 auto; padding: 72px 24px; min-height: 640px; box-sizing: border-box; }
.hero-simple.hero-canvas .hc-grid { padding-top: 72px; padding-bottom: 72px; }
.hero-canvas .hc::before { background: linear-gradient(90deg, rgba(7,12,30,.82) 0%, rgba(7,12,30,.62) calc(50% - 160px), rgba(7,12,30,.18) calc(50% + 220px), rgba(7,12,30,.05) 100%); }
.hero-canvas .hc-pic .pic { object-position: 60% 45%; }
@media (max-width: 960px) {
  .hero-canvas .hc { margin-left: calc(50% - 50vw); margin-right: 0; border-radius: 0; }
  .hero-canvas .hc::before { background: linear-gradient(180deg, rgba(7,12,30,.76) 0%, rgba(7,12,30,.52) 40%, rgba(7,12,30,.2) 100%); }
  .hero-canvas .hc-grid, .hero-simple.hero-canvas .hc-grid { padding: 32px 24px 24px; min-height: 0; }
}
.hero-canvas { overflow-x: clip; }
.hero-canvas > .wrap { padding-top: 0; }
.hero-canvas .hc { margin-top: 0; }
/* ===== v21 — Breathing room (homepage first; roll out to all pages at the end) =====
   One spacing rhythm: section 152 / head 64 / block 32 / item 28 (desktop) · 96 / 40 / 24 / 16 (mobile) */
.home { --sec-y: 152px; --head-gap: 64px; --block-gap: 32px; --item-gap: 28px; }
.home .sec { padding: var(--sec-y) 0; }
.home .sec-head { margin-bottom: var(--head-gap); }
.home .sec-head h2 { margin-bottom: 18px; }
.home .sec-head p { font-size: 19px; line-height: 1.6; }
.home .lead-sm { font-size: 19px; line-height: 1.65; margin-bottom: var(--block-gap); }
.home h2 { line-height: 1.08; }
/* Hero: taller, more air around the copy */
.home .hero-canvas .hc-grid, .home .hero-simple.hero-canvas .hc-grid { padding-top: 112px; padding-bottom: 112px; min-height: 720px; gap: 80px; }
.home .hc-kicker { margin-bottom: 32px; }
.home .hc-copy h1 { margin-bottom: 28px; }
.home .hc-copy .lead { margin-bottom: 32px; line-height: 1.6; }
.home .rh-proof { gap: 12px 28px; }
.home .hero-simple .app-card { padding: 32px; gap: 22px; }
/* Logos: their own calm band */
.home .logo-band .logo-strip { padding: 88px 24px 24px; }
.home .logo-strip-h { margin-bottom: 32px; }
.home .logo-strip ul { gap: 36px 64px; }
/* Services */
.home .svc-sec { padding-top: 120px; }
.home .svc-grid { gap: var(--item-gap); }
.home .svc-body { padding: 22px 24px 26px; gap: 8px; }
.home .svc-p { padding-top: 14px; }
.home .svc-more { margin-top: 40px; gap: 12px; }
.home .svc-fine { margin-top: 28px; }
/* Movers near you */
.home .near { padding: 40px 0 var(--sec-y); }
.home .near-head { margin-bottom: 40px; }
.home .near-grid { gap: 24px; }
.home .mv-card { padding: 26px 26px 26px; gap: 14px; }
.home .near-foot { margin-top: 32px; }
/* How it works */
.home .tiles { gap: var(--item-gap); }
.home .tile { padding: 44px 40px 0; min-height: 500px; }
.home .tile h3 { margin-bottom: 16px; }
/* Costs */
.home .costs { gap: 112px; }
.home .costs h2 { margin-bottom: 24px; }
.home .costs .answer { font-size: 20px; line-height: 1.6; margin-bottom: 16px; }
.home .costs-btn { margin-top: var(--block-gap); }
.home .ct-bar { margin-bottom: 20px; }
.home .costs .table td, .home .costs .table th { padding: 20px 24px; }
/* Better than calling around */
.home .why { gap: 112px; }
.home .why-copy h2 { margin-bottom: 18px; }
.home .vs { margin: 16px 0 48px; }
.home .vs-row > span { padding: 20px 0; }
.home .vs-row > .vs-md { padding: 20px 20px; }
.home .why-stats { gap: 24px 64px; }
/* Quote checker */
.home .price-split { gap: 112px; }
.home .price-split h2 { margin-bottom: 24px; }
/* Cities */
.home .city-pills { gap: 14px; max-width: 980px; }
.home .sec-link { margin-top: 48px; }
/* FAQ */
.home .faq summary { padding: 26px 48px 26px 0; }
.home .faq details p { padding: 0 0 28px; line-height: 1.65; }
/* CTA band */
.home .cta-band { padding: 128px 0; }
.home .cta-band h2 { margin-bottom: 16px; }
.home .cta-photo .cta-band-row { gap: 96px; }
.home .cta-photo .cta-copy .btn { margin-top: 36px; }
.home .pros-line p { padding: 32px 0; }
@media (max-width: 960px) {
  .home { --sec-y: 112px; --head-gap: 48px; --item-gap: 20px; }
  .home .costs, .home .why, .home .price-split { gap: 56px; }
  .home .cta-photo .cta-band-row { gap: 48px; }
  .home .hero-canvas .hc-grid, .home .hero-simple.hero-canvas .hc-grid { padding: 48px 24px 32px; min-height: 0; }
}
@media (max-width: 600px) {
  .home { --sec-y: 96px; --head-gap: 40px; --block-gap: 24px; --item-gap: 16px; }
  .home .hero-canvas .hc-grid, .home .hero-simple.hero-canvas .hc-grid { padding: 40px 24px 28px; }
  .home .hc-kicker { margin-bottom: 22px; }
  .home .hc-copy h1 { margin-bottom: 20px; }
  .home .hc-copy .lead { margin-bottom: 24px; }
  .home .hero-simple .app-card { padding: 24px; gap: 18px; }
  .home .logo-band .logo-strip { padding: 64px 0 8px; }
  .home .svc-sec { padding-top: 88px; }
  .home .tile { padding: 32px 28px 0; min-height: 0; }
  .home .costs .table td, .home .costs .table th { padding: 16px 16px; }
  .home .cta-band { padding: 96px 0; }
  .home .faq summary { padding: 22px 40px 22px 0; }
  .home .near { padding-top: 24px; }
}
/* v21 fixes: hero form width, stats in one row, no double gap between white sections */
.home .hero-canvas .hc-grid { gap: 56px; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); }
.home .hero-simple .app-card { padding: 28px; }
.home .why-stats { display: grid; grid-template-columns: repeat(3, max-content); gap: 24px 56px; }
.home .near { padding-bottom: 0; }
@media (max-width: 600px) {
  .home .why-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .home .why-stats strong { font-size: 28px; }
}
/* Logo strip in brand colours (recognisable = trust). White-only logos are darkened to stay visible. */
.home .logo-strip img { filter: none; opacity: 1; transition: transform .25s var(--ease, ease); }
.home .logo-strip li.inv img { filter: invert(1); opacity: .9; }
.home .logo-strip li:hover img { transform: translateY(-2px); }
.home .logo-strip li.inv:hover img { filter: invert(1); opacity: 1; }
.home .why-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 32px; }
.home .why-stats span { line-height: 1.4; }
.home .why-copy .lead-sm a { white-space: nowrap; }
@media (max-width: 600px) {
  .home .why-stats { gap: 12px; }
  .home .why-stats span { font-size: 13px; }
}
/* v22 — Platform pillars (replaces the comparison table) */
.pillars { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 48px; }
.pillar h3 { font-size: 20px; margin: 18px 0 10px; letter-spacing: -0.02em; }
.pillar p { margin: 0 0 14px; font-size: 15.5px; line-height: 1.6; color: var(--ink-2); }
.pillar a { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 15px; color: var(--blue-d); text-decoration: none; }
.pillar a:hover .d-ic { transform: translateX(3px); }
.pillar a .d-ic { transition: transform .2s; }
.pillar-ic { width: 52px; height: 52px; border-radius: 16px; background: var(--blue-l); color: var(--blue-d); display: inline-flex; align-items: center; justify-content: center; }
.pillars-note { margin: 48px 0 0; padding-top: 24px; border-top: 1px solid var(--line); font-size: 14.5px; color: var(--muted); }
.pillars-note a { color: inherit; }
.home .why { align-items: start; }
.home .why-pic { position: sticky; top: 104px; }
@media (max-width: 960px) {
  .home .why-pic { position: static; }
}
@media (max-width: 600px) {
  .pillars { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
.home .hc-copy .rh-proof { gap: 10px 22px; font-size: 15px; }
.home .hero-canvas .hc-copy .rh-proof { gap: 10px 18px; font-size: 14.5px; }
.home .hero-canvas .hc-copy .rh-proof li { gap: 6px; }
/* v23 — Bento (replaces pillars + standalone quote-check section) */
.bento { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(300px, auto); gap: 20px; }
.bt { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 30px; border-radius: 28px; overflow: hidden; text-decoration: none; color: var(--ink); transition: transform .3s ease, box-shadow .3s ease; }
.bt:hover { transform: translateY(-4px); box-shadow: 0 28px 56px -24px rgba(14,20,48,.35); color: var(--ink); }
.bt-k { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-d); }
.bt-h { font-size: 24px; line-height: 1.18; font-weight: 780; letter-spacing: -0.025em; }
.bt-p { font-size: 15.5px; line-height: 1.55; }
.bt-ui { margin-top: auto; }
.bt-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 15px; margin-top: 6px; }
.bt-photo { grid-column: span 2; grid-row: span 2; padding: 0; color: #fff; min-height: 620px; }
.bt-photo .bt-img, .bt-photo .slot { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto !important; object-fit: cover; object-position: 50% 30%; border-radius: 0; }
.bt-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,12,30,0) 35%, rgba(7,12,30,.82) 100%); }
.bt-photo-copy { position: relative; z-index: 1; margin-top: auto; padding: 34px; display: flex; flex-direction: column; gap: 10px; }
.bt-photo .bt-k { color: #A9C8FF; }
.bt-photo .bt-h { font-size: 32px; color: #fff; }
.bt-photo .bt-p { color: rgba(255,255,255,.85); max-width: 460px; }
.bt-photo:hover { color: #fff; }
.bt-photo img.bt-img { transition: transform .6s ease; }
.bt-photo:hover img.bt-img { transform: scale(1.03); }
.bt-blue { grid-column: span 2; background: linear-gradient(160deg, #3A7BF2 0%, #1F57C9 100%); color: #fff; }
.bt-blue:hover { color: #fff; }
.bt-blue .bt-k { color: rgba(255,255,255,.75); }
.bt-picks { display: flex; flex-wrap: wrap; gap: 10px; }
.bt-pick { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px 10px 10px; border-radius: 14px; background: #fff; color: var(--ink); font-size: 14.5px; font-weight: 700; box-shadow: 0 6px 16px rgba(7,12,30,.18); }
.bt-tick { width: 22px; height: 22px; border-radius: 50%; background: var(--blue-d); color: #fff; display: inline-flex; align-items: center; justify-content: center; }
.bt-pick-off { background: rgba(255,255,255,.14); color: rgba(255,255,255,.8); box-shadow: none; border: 1px dashed rgba(255,255,255,.4); padding-left: 12px; }
.bt-light { background: #F3F6FB; }
.bt-qc { display: flex; flex-direction: column; gap: 8px; padding: 16px; border-radius: 18px; background: #fff; box-shadow: var(--sh-1); }
.bt-qc-v { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; color: var(--green); font-size: 17px; }
.bt-qc-l { font-size: 13px; color: var(--ink-2); line-height: 1.45; }
.bt-qc .qc-bar { height: 10px; margin: 6px 0 2px; }
.bt-qc .qc-pin { top: -5px; height: 20px; }
.bt-az { display: flex; flex-direction: column; gap: 6px; }
.bt-az span { padding: 10px 14px; border-radius: 12px; background: #fff; font-size: 14.5px; font-weight: 700; box-shadow: 0 1px 2px rgba(14,20,48,.06); }
.bt-az em { font-style: normal; font-size: 12.5px; font-weight: 700; color: var(--muted); margin-top: 4px; }
.bt-navy { grid-column: span 4; grid-row: auto; min-height: 0; background: radial-gradient(700px 300px at 85% 0%, rgba(80,130,240,.45), rgba(80,130,240,0) 60%), #0F1D45; color: #fff; flex-direction: row; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 40px; padding: 34px 40px; }
.bt-navy:hover { color: #fff; }
.bt-navy .bt-k { color: #A9C8FF; flex-basis: 100%; }
.bt-navy .bt-h { font-size: 30px; }
.bt-navy .bt-ui { margin: 0; }
.bt-price { display: flex; flex-direction: column; align-items: flex-end; }
.bt-price-n { font-size: 44px; font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.bt-price-c { font-size: 14px; color: rgba(255,255,255,.75); margin-top: 6px; }
.home .why-sec { padding-bottom: var(--sec-y); }
@media (max-width: 1100px) {
  .bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bt-photo { grid-column: span 2; grid-row: auto; min-height: 520px; }
  .bt-blue, .bt-navy { grid-column: span 2; }
}
@media (max-width: 600px) {
  .bento { grid-template-columns: minmax(0, 1fr); gap: 14px; grid-auto-rows: auto; }
  .bt-photo, .bt-blue, .bt-navy { grid-column: auto; }
  .bt-photo { min-height: 480px; }
  .bt { padding: 24px; border-radius: 24px; }
  .bt-photo { padding: 0; }
  .bt-photo-copy { padding: 24px; }
  .bt-photo .bt-h { font-size: 26px; }
  .bt-h { font-size: 21px; }
  .bt-navy .bt-h { font-size: 22px; }
  .bt-navy { flex-direction: column; align-items: flex-start; padding: 28px 24px; }
  .bt-price { align-items: flex-start; margin-top: 10px; }
  .bt-price-n { font-size: 36px; }
}
/* v24 — Premium header: calmer type, current-page marker, globe language switch; on the homepage it floats over the photo and turns solid on scroll */
.hd { transition: background .3s ease, border-color .3s ease, box-shadow .3s ease; }
.hd-row { min-height: 76px; gap: 40px; }
.hd-logo img { height: 22px; transition: filter .3s ease; }
.hd-nav { gap: 2px; }
.hd-nav a { position: relative; padding: 10px 14px; border-radius: 10px; font-size: 15px; font-weight: 600; color: var(--ink); letter-spacing: -0.005em; background: none !important; }
.hd-nav a::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 2px; border-radius: 2px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; opacity: .9; }
.hd-nav a:hover::after, .hd-nav a[aria-current="page"]::after { transform: scaleX(1); }
.hd-nav a:hover { color: var(--blue-d); }
.hd-actions { gap: 18px; }
.hd-lang { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 1px solid var(--line-2, var(--line)); border-radius: var(--pill); font-size: 13.5px; font-weight: 700; color: var(--ink); letter-spacing: .02em; transition: border-color .2s, color .2s, background .2s; }
.hd-lang:hover { border-color: var(--ink); color: var(--ink); }
.hd-sep { width: 1px; height: 22px; background: var(--line); }
.hd-quiet { font-size: 15px; font-weight: 600; color: var(--ink); padding: 8px 0; transition: color .2s; }
.hd-quiet:hover { color: var(--blue-d); }
.hd-cta { min-height: 44px; padding: 0 20px; font-size: 15px; }
@media (max-width: 1100px) {
  .hd-sep { display: none; }
  .hd-row { gap: 24px; }
}
@media (max-width: 900px) {
  .hd-row { min-height: 64px; }
  .hd-logo img { height: 19px; }
  .hd-lang { padding: 6px 10px; }
}
/* bento: price tile takes only the height it needs */
.bento { grid-auto-rows: auto; }
.bt-light, .bt-blue { min-height: 300px; }
.bt-navy { min-height: 0; padding: 30px 40px; }
.bt-navy .bt-k { margin-bottom: -4px; }
/* v25 — Header: logo | centred nav | actions; always solid white (brand logo stays blue, same on every page) */
.hd-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; }
.hd-logo { justify-self: start; }
.hd-nav { flex: none; justify-self: center; gap: 6px; }
.hd-actions { justify-self: end; margin-left: 0; }
.hd { background: rgba(255,255,255,.92); }
.hd.hd-solid { box-shadow: 0 10px 30px -22px rgba(14,20,48,.35); }
@media (max-width: 1180px) {
  .hd-quiet, .hd-sep { display: none; }
}
@media (max-width: 900px) {
  .hd-row { display: flex; }
  .hd-actions { margin-left: auto; }
}
/* v26 — Optical centring: equal space on both sides of the nav (between logo and actions) */
.hd-row { display: flex; gap: 0; }
.hd-nav { margin: 0 auto; justify-self: auto; }
.hd-actions { gap: 14px; }
.hd-sep { margin: 0 2px; }
@media (max-width: 900px) {
  .hd-row { gap: 12px; }
}
/* ===== v27 — Homepage completion: mover cards, city cards, service footers, a11y, mobile hero ===== */
/* Hero */
.hc-copy .rh-proof a { color: inherit; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 4px; text-decoration-color: rgba(255,255,255,.55); }
.hc-copy .rh-proof a:hover { text-decoration-color: #fff; }
.app-card.qf-flash { animation: qfFlash 1.1s ease; }
@keyframes qfFlash { 0% { box-shadow: 0 0 0 0 rgba(47,111,237,.0); } 30% { box-shadow: 0 0 0 8px rgba(47,111,237,.35); } 100% { box-shadow: 0 0 0 0 rgba(47,111,237,0); } }
@media (max-width: 600px) {
  .home .hc-copy h1 { font-size: 36px; }
  .home .hc-copy .lead { font-size: 16.5px; line-height: 1.55; margin-bottom: 18px; }
  .home .hero-canvas .hc-copy .rh-proof { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 14px; }
  .home .hc-copy { margin-bottom: 20px; }
  .home .chips { gap: 6px; flex-wrap: nowrap; }
  .home .chips span { padding: 0 11px; min-height: 42px; font-size: 14px; }
  .home .hero-simple .app-card { padding: 20px; gap: 14px; }
  .home .app-card .route-row input { height: 50px; }
}
/* Logo strip label: AA contrast */
.home .logo-strip-h { color: #4E5873; font-size: 12.5px; }
/* Service cards: one footer pattern */
.svc-foot { margin-top: auto; padding-top: 12px; display: flex; flex-direction: column; gap: 3px; }
.svc-price { font-size: 14px; font-weight: 700; color: var(--ink); }
.svc-n { font-size: 13px; font-weight: 650; color: var(--blue-d); }
.svc-t .d-ic { align-self: flex-start; margin-top: 4px; }
/* Movers near you */
.near-head { align-items: flex-end; }
.near-kicker { margin: 0 0 8px; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-d); }
.near-pick { position: relative; display: inline-flex; align-items: center; }
.near-pick-ic { position: absolute; left: 16px; color: var(--blue-d); pointer-events: none; display: inline-flex; }
.near-pick select { appearance: none; -webkit-appearance: none; height: 48px; min-width: 240px; padding: 0 44px 0 42px; border: 1px solid var(--line); border-radius: var(--pill); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%230E1430' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 18px center; font: inherit; font-size: 15.5px; font-weight: 700; color: var(--ink); box-shadow: var(--sh-0); cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.near-pick select:hover { border-color: #B9C7E3; box-shadow: var(--sh-1); }
.near-grid[aria-busy="true"] { opacity: .5; transition: opacity .2s; }
.near-mv { display: flex; flex-direction: column; gap: 10px; height: 100%; }
.near-mv-top { height: 56px; display: flex; align-items: center; }
.mv-mono { width: 52px; height: 52px; border-radius: 16px; background: linear-gradient(135deg, #2F6FED, #1F57C9); color: #fff; font-weight: 800; font-size: 22px; display: inline-flex; align-items: center; justify-content: center; letter-spacing: -0.02em; }
.near-mv .mv-name { margin: 4px 0 0; }
.near-mv .mv-svc { margin: 2px 0 0; }
.near-mv .mv-svc li, .near-mv .mv-svc-more { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: var(--pill); background: var(--tint-2); font-size: 12.5px; font-weight: 650; color: var(--ink-2); }
.near-rate { margin: 2px 0 0; font-size: 14px; font-weight: 500; color: var(--ink-2); }
.near-rate strong { color: var(--ink); font-weight: 800; }
.near-checks { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 12.5px; font-weight: 650; color: var(--green); }
.near-checks li { display: inline-flex; align-items: center; gap: 3px; }
.near-checks .near-nc { color: var(--muted); font-weight: 600; }
.near-mv-foot { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.near-mv-foot .btn { min-height: 44px; }
.near-mv .mv-date { color: var(--muted); font-weight: 600; font-size: 12.5px; }
.near-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.near-foot .btn { gap: 8px; }
.near-foot span { font-size: 14px; color: var(--muted); }
@media (max-width: 600px) {
  .near-pick select { min-width: 0; width: 100%; }
  .near-pick { width: 100%; }
}
/* How it works: no dead space */
.home .tile { min-height: 440px; }
/* Costs table fits on phones (keep the 2-bedroom column) */
@media (max-width: 600px) {
  .home .table { min-width: 0; font-size: 14.5px; }
  .home .costs .table td, .home .costs .table th { padding: 14px 12px; }
}
.home .table tbody th a { display: inline-flex; align-items: center; min-height: 44px; }
.home .costs-btn { gap: 8px; }
/* City cards + compact "more cities" */
.city-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.city-card { position: relative; display: flex; flex-direction: column; gap: 6px; min-height: 150px; padding: 24px 24px 22px; border: 1px solid var(--line); border-radius: 22px; background: #fff; text-decoration: none; color: var(--ink); transition: transform .25s ease, box-shadow .25s ease, border-color .25s; }
.city-card:hover { transform: translateY(-3px); box-shadow: 0 20px 40px -22px rgba(30,70,160,.35); border-color: transparent; color: var(--ink); }
.city-card-n { font-size: 21px; font-weight: 780; letter-spacing: -0.02em; }
.city-card-n small { margin-left: 6px; font-size: 13px; font-weight: 700; color: var(--muted); }
.city-card-m { font-size: 14.5px; font-weight: 700; color: var(--blue-d); margin-top: auto; }
.city-card-p { font-size: 13.5px; color: var(--ink-2); }
.city-card-go { position: absolute; right: 20px; top: 24px; color: var(--blue-d); transition: transform .2s; }
.city-card:hover .city-card-go { transform: translateX(3px); }
.city-more { margin-top: 40px; padding: 28px 30px; border-radius: 22px; background: var(--tint); }
.city-more-h { margin: 0 0 14px; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.city-more ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px 20px; }
.city-more li a { display: inline-flex; align-items: center; min-height: 36px; font-size: 15px; font-weight: 600; color: var(--ink); text-decoration: none; }
.city-more li a:hover { color: var(--blue-d); }
.city-more-all { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-weight: 700; color: var(--blue-d); text-decoration: none; }
@media (max-width: 1000px) {
  .city-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .city-more ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .city-cards { gap: 12px; }
  .city-card { min-height: 128px; padding: 18px; }
  .city-card-n { font-size: 18px; }
  .city-more { padding: 22px; }
  .city-more ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* get-quotes: folded step 1 */
.gq-step.gq-folded > :not(legend):not(.gq-sum) { display: none !important; }
.gq-sum { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-radius: var(--r-sm); background: var(--tint); }
.gq-sum[hidden] { display: none; }
.gq-sum-t { font-weight: 750; font-size: 16px; }
#f-movers { scroll-margin-top: 96px; }
/* v27 fixes */
.chips span { white-space: nowrap; }
@media (max-width: 600px) {
  .home .chips { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
  .home .chips legend, .home .chips .gq-label { grid-column: 1 / -1; }
  .home .chips label span { width: 100%; justify-content: center; padding: 0 4px; font-size: 13.5px; }
  .home .costs .table { min-width: 0; }
  .home .costs #ct-local .table th:nth-child(2), .home .costs #ct-local .table td:nth-child(2) { display: none; }
  .home .costs #ct-long .table th:nth-child(2), .home .costs #ct-long .table td:nth-child(2) { display: none; }
  .city-card-go { display: none; }
}
.ct-avg th, .ct-avg td { background: var(--tint); }
.city-card-p { color: var(--muted); }
.ca-quoted { margin: 6px 0 0; font-size: 15px; color: var(--ink-2); }
.ca-quoted strong { color: var(--ink); }
.ca-quoted span { color: var(--muted); font-size: 13.5px; }
/* ===== v28 — Service category pages ===== */
.crumbs-light ol { margin: 0 0 18px; }
.crumbs-light a, .crumbs-light span, .crumbs-light li::after, .crumbs-light li { color: rgba(255,255,255,.82) !important; }
.svc-page .hero-canvas .hc-grid { min-height: 600px; }
.svp-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 96px; align-items: center; }
.svp-copy h2 { margin-bottom: 20px; }
.svp-copy .btn { margin-top: 8px; gap: 8px; }
.svp-table th small { display: block; margin-top: 2px; font-size: 13px; font-weight: 500; color: var(--muted); }
.svp-table td.num { font-size: 17px; white-space: nowrap; }
.svp-note { margin: 14px 4px 0; font-size: 13px; color: var(--muted); }
.mv-badge { display: inline-flex; align-items: center; gap: 5px; margin: 2px 0 0; padding: 4px 10px; border-radius: var(--pill); background: var(--green-l); color: var(--green); font-size: 12.5px; font-weight: 700; width: fit-content; }
.svc-tips { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.svc-tips li { position: relative; padding: 28px 26px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.svc-tip-n { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--blue-l); color: var(--blue-d); font-weight: 800; font-size: 14px; margin-bottom: 14px; }
.svc-tips h3 { font-size: 18px; margin-bottom: 8px; letter-spacing: -0.015em; }
.svc-tips p { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--ink-2); }
.svc-others { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.svc-others a { display: flex; align-items: center; gap: 14px; padding: 10px; border: 1px solid var(--line); border-radius: 18px; background: #fff; text-decoration: none; color: var(--ink); transition: box-shadow .2s, transform .2s; }
.svc-others a:hover { transform: translateY(-2px); box-shadow: var(--sh-1); color: var(--ink); }
.svc-o-img { width: 76px !important; height: 60px; aspect-ratio: auto !important; border-radius: 12px; object-fit: cover; flex: none; }
.svc-others span { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.svc-others strong { font-size: 15px; line-height: 1.25; }
.svc-others small { font-size: 12.5px; color: var(--muted); line-height: 1.35; }
.svc-grid-all > .svc-card-wrap { display: flex; }
.svc-grid-all > .svc-card-wrap[hidden] { display: none; }
.svc-grid-all > .svc-card-wrap > .mv-card { width: 100%; }
.svc-more-wrap { margin-top: 32px; }
.svc-list { padding-top: 112px; }
@media (max-width: 1000px) {
  .svp-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .svc-tips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-others { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .svc-tips, .svc-others { grid-template-columns: minmax(0, 1fr); }
  .svc-grid-all { display: grid !important; overflow: visible; margin: 0; padding: 0; grid-template-columns: minmax(0, 1fr); }
  .svc-list { padding-top: 72px; }
}
.svc-tips { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.svc-tips li { grid-column: span 2; }
.svc-tips li:nth-child(4):nth-last-child(2), .svc-tips li:nth-child(5):last-child { grid-column: span 3; }
@media (max-width: 1000px) {
  .svc-tips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svc-tips li, .svc-tips li:nth-child(4):nth-last-child(2), .svc-tips li:nth-child(5):last-child { grid-column: auto; }
}
@media (max-width: 600px) {
  .svc-tips { grid-template-columns: minmax(0, 1fr); }
}
/* ===== v29 — Service pages, calm layout ===== */
.svx-narrow { max-width: 920px; }
.svx-h2 { font-size: clamp(28px, 3vw, 40px); margin-bottom: 36px; }
.svx-h2.center { text-align: center; }
.svx-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 24px; margin-bottom: 28px; }
.svx-head h2 { font-size: clamp(26px, 2.8vw, 36px); margin: 0; }
.mvr-list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 24px; background: #fff; overflow: hidden; }
.mvr-list[aria-busy="true"] { opacity: .5; }
.mvr { display: flex; align-items: center; gap: 18px; padding: 18px 22px; border-top: 1px solid var(--line); }
.mvr:first-child { border-top: 0; }
.mvr[hidden] { display: none; }
.mvr-logo { flex: none; width: 88px; height: 52px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; background: #fff; }
.mvr-logo img { max-width: 88px; max-height: 48px; width: auto; height: auto; object-fit: contain; }
.mvr-logo.dark { background: var(--navy); padding: 6px; }
.mvr-logo b { width: 48px; height: 48px; border-radius: 14px; background: linear-gradient(135deg, #2F6FED, #1F57C9); color: #fff; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; }
.mvr-id { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mvr-name { font-weight: 760; font-size: 17px; letter-spacing: -0.01em; }
.mvr-meta { font-size: 14px; color: var(--muted); }
.mvr-btn { flex: none; min-height: 42px; }
.svx-foot { margin-top: 22px; }
.svx-foot a, .svx-more { display: inline-flex; align-items: center; gap: 8px; font: inherit; font-weight: 700; font-size: 16px; color: var(--blue-d); text-decoration: none; background: none; border: 0; padding: 0; cursor: pointer; }
.svx-prices { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.svx-prices li { display: flex; flex-direction: column; gap: 6px; padding: 28px 26px; border-radius: 24px; background: #fff; border: 1px solid var(--line); }
.svx-p-n { font-size: 15px; font-weight: 700; color: var(--ink-2); }
.svx-p-v { font-size: 32px; font-weight: 800; letter-spacing: -0.03em; color: var(--ink); line-height: 1.1; }
.svx-p-d { font-size: 13.5px; color: var(--muted); }
.svx-extras { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 24px 0 0; font-size: 15.5px; color: var(--ink-2); }
.svx-extras strong { color: var(--ink); }
.svx-extras > span[aria-hidden] { color: var(--field); }
.svx-src { margin: 10px 0 0; font-size: 13px; color: var(--muted); }
.svx-tips { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 80px; align-items: start; }
.svx-img { border-radius: 28px; aspect-ratio: 4 / 5 !important; object-fit: cover; }
.svx-tips-pic { position: sticky; top: 104px; }
.svx-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 26px; }
.svx-steps li { display: flex; gap: 18px; }
.svx-n { flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--ink); color: #fff; font-weight: 800; font-size: 15px; display: inline-flex; align-items: center; justify-content: center; }
.svx-steps h3 { font-size: 18.5px; margin: 5px 0 6px; letter-spacing: -0.015em; }
.svx-steps p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ink-2); }
.svx-cities { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.svx-cities a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border: 1px solid var(--line); border-radius: var(--pill); background: #fff; font-weight: 650; font-size: 15px; color: var(--ink); text-decoration: none; transition: border-color .2s, color .2s; }
.svx-cities a:hover { border-color: var(--blue-d); color: var(--blue-d); }
.svx-cities span { font-size: 13px; font-weight: 700; color: var(--muted); }
.svx-links { margin-top: 28px; font-size: 15px; color: var(--muted); }
.svx-links a { font-weight: 650; color: var(--blue-d); text-decoration: none; }
@media (max-width: 900px) {
  .svx-tips { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .svx-tips-pic { position: static; }
  .svx-img { aspect-ratio: 16 / 10 !important; }
}
@media (max-width: 600px) {
  .svx-prices { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .svx-prices li { padding: 20px 22px; flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: space-between; }
  .svx-p-v { font-size: 26px; }
  .svx-p-d { flex-basis: 100%; }
  .mvr { gap: 12px; padding: 14px 16px; flex-wrap: wrap; }
  .mvr-logo { width: 64px; height: 44px; }
  .mvr-logo img { max-width: 64px; max-height: 40px; }
  .mvr-id { flex-basis: calc(100% - 80px); }
  .mvr-btn { width: 100%; }
}
/* ===== v30 — Service guide (/piano-movers/): cost tool, published prices, how it's done ===== */
.svc-page .svc-near { padding-top: var(--sec-y); padding-bottom: var(--sec-y); }
/* Cost tool */
.pc { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); border: 1px solid var(--line); border-radius: 32px; background: #fff; box-shadow: 0 2px 6px rgba(14,20,48,.04), 0 40px 80px -48px rgba(30,70,160,.35); overflow: hidden; }
.pc-in { padding: 44px 44px 40px; display: flex; flex-direction: column; gap: 36px; }
.pc-l { display: block; margin: 0 0 14px; padding: 0; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.pc-l span { margin-left: 8px; text-transform: none; letter-spacing: 0; font-weight: 600; font-size: 13.5px; color: var(--muted); opacity: .85; }
.pc-types { border: 0; margin: 0; padding: 0; min-width: 0; }
.pc-types-g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.pc-type { position: relative; cursor: pointer; display: flex; }
.pc-type input { position: absolute; opacity: 0; pointer-events: none; }
.pc-type-card { position: relative; width: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 18px 18px 18px; border: 1.5px solid var(--line); border-radius: 22px; background: #fff; transition: border-color .2s, box-shadow .2s, background .2s; }
.pc-type-card .pv { width: 100%; height: auto; max-width: 132px; margin: 0 auto 10px; color: var(--ink-2); transition: color .2s; }
.pv .pv-b { fill: var(--tint-2); }
.pc-type-n { font-weight: 800; font-size: 17px; letter-spacing: -0.015em; }
.pc-type-p { font-weight: 800; font-size: 15.5px; color: var(--blue-d); }
.pc-type-d { font-size: 13px; line-height: 1.4; color: var(--muted); }
.pc-type:hover .pc-type-card { border-color: #B9C7E3; }
.pc-type input:checked + .pc-type-card { border-color: var(--blue); background: linear-gradient(180deg, #F3F7FF, #fff 70%); box-shadow: 0 0 0 3px rgba(47,111,237,.14); }
.pc-type input:checked + .pc-type-card .pv { color: var(--blue-d); }
.pc-type input:checked + .pc-type-card .pv-b { fill: var(--blue-l); }
.pc-type input:checked + .pc-type-card::after { content: ""; position: absolute; top: 14px; right: 14px; width: 22px; height: 22px; border-radius: 50%; background: var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' stroke='%23fff' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center; }
.pc-type input:focus-visible + .pc-type-card { outline: 3px solid var(--blue); outline-offset: 3px; }
.pc-stairs { display: flex; flex-direction: column; }
.pc-stairs .pc-l { margin-bottom: 6px; }
.pc-step { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.pc-step:last-child { border-bottom: 0; }
.pc-step-l { font-weight: 650; font-size: 16px; }
.pc-step-c { display: inline-flex; align-items: center; gap: 4px; padding: 4px; border-radius: var(--pill); background: var(--tint); }
.pc-step-c button { width: 40px; height: 40px; border: 0; border-radius: 50%; background: #fff; box-shadow: var(--sh-0), 0 0 0 1px var(--line); font: inherit; font-size: 20px; font-weight: 600; line-height: 1; color: var(--ink); cursor: pointer; transition: background .2s, color .2s; }
.pc-step-c button:hover { background: var(--ink); color: #fff; }
.pc-step-c output { min-width: 36px; text-align: center; font-weight: 800; font-size: 18px; }
.pc-home { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 18px; background: var(--tint); cursor: pointer; }
.pc-home[hidden] { display: none; }
.pc-home input { position: absolute; opacity: 0; pointer-events: none; }
.pc-sw { flex: none; position: relative; width: 46px; height: 28px; border-radius: 99px; background: #C9D2E3; transition: background .2s; }
.pc-sw::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(14,20,48,.25); transition: transform .2s; }
.pc-home input:checked + .pc-sw { background: var(--blue); }
.pc-home input:checked + .pc-sw::after { transform: translateX(18px); }
.pc-home input:focus-visible + .pc-sw { outline: 3px solid var(--blue); outline-offset: 3px; }
.pc-home strong { display: block; font-size: 15.5px; }
.pc-home small { display: block; font-size: 13.5px; color: var(--muted); margin-top: 2px; }
.pc-out { position: relative; display: flex; flex-direction: column; padding: 44px 40px 36px; background: radial-gradient(120% 80% at 100% 0%, #4A86FF 0%, rgba(74,134,255,0) 60%), linear-gradient(165deg, #2F6FED, #1A4FC0); color: #fff; }
.pc-out-k { font-size: 14px; font-weight: 700; color: rgba(255,255,255,.82); }
.pc-out-v { margin: 8px 0 26px; font-size: clamp(40px, 4.4vw, 56px); font-weight: 800; letter-spacing: -0.035em; line-height: 1; }
.pc-lines { margin: 0 0 22px; padding: 0; border-top: 1px solid rgba(255,255,255,.22); }
.pc-lines > div { display: flex; justify-content: space-between; gap: 14px; padding: 13px 0; border-bottom: 1px solid rgba(255,255,255,.22); font-size: 15px; }
.pc-lines > div[hidden] { display: none; }
.pc-lines dt { color: rgba(255,255,255,.86); }
.pc-lines dd { margin: 0; font-weight: 800; white-space: nowrap; }
.pc-out-note { font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,.8); margin-bottom: 26px; }
.pc-out .btn-primary { margin-top: auto; background: #fff; color: var(--blue-d) !important; box-shadow: 0 10px 24px rgba(8,30,90,.25); }
.pc-out .btn-primary:hover { background: #F2F6FF; }
.pc-out-more { margin-top: 18px; font-size: 13.5px; color: rgba(255,255,255,.8); text-align: center; }
.pc-out-more strong { color: #fff; }
/* What movers publish */
.pp { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px 88px; align-items: center; }
.pp-copy h2 { margin-bottom: 18px; }
.pp-copy > p { font-size: 18px; line-height: 1.6; color: var(--ink-2); }
.pp-facts { list-style: none; margin: 36px 0 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.pp-facts li { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 18px; align-items: baseline; padding: 16px 0; border-top: 1px solid var(--line); }
.pp-facts strong { font-size: 26px; font-weight: 800; letter-spacing: -0.03em; }
.pp-facts span { font-size: 15px; color: var(--ink-2); line-height: 1.5; }
.pp-chart { margin: 0; padding: 36px 32px 24px; border-radius: 28px; background: #fff; border: 1px solid var(--line); }
.pp-plot { position: relative; display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; align-items: end; gap: 0; height: 330px; padding-top: 44px; border-bottom: 1.5px solid var(--ink); }
.pp-col { display: flex; flex-direction: column-reverse; align-items: center; gap: 6px; padding-bottom: 8px; }
.pp-dot { width: 22px; height: 22px; border-radius: 50%; background: var(--blue); box-shadow: inset 0 -2px 0 rgba(0,0,0,.12); transition: transform .15s; cursor: default; }
.pp-dot:hover { transform: scale(1.25); background: var(--blue-d); }
.pp-med { position: absolute; top: 0; bottom: 0; width: 0; border-left: 2px dashed var(--ink); z-index: 1; pointer-events: none; }
.pp-med span { position: absolute; top: 0; left: 0; transform: translateX(-50%); padding: 5px 12px; border-radius: var(--pill); background: var(--ink); color: #fff; font-size: 13px; font-weight: 750; white-space: nowrap; }
.pp-axis { display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; margin-top: 10px; }
.pp-axis span { text-align: center; font-size: 13px; font-weight: 650; color: var(--muted); }
.pp-chart figcaption { margin-top: 18px; font-size: 13px; color: var(--muted); }
.pp-all { grid-column: 1 / -1; margin-top: 8px; }
.pp-all summary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; color: var(--blue-d); cursor: pointer; list-style: none; }
.pp-all summary::-webkit-details-marker { display: none; }
.pp-all summary::after { content: "+"; font-size: 20px; line-height: 1; }
.pp-all[open] summary::after { content: "−"; }
.pp-all .table-wrap { margin-top: 12px; max-height: 520px; overflow: auto; background: #fff; }
.pp-table td.num, .pp-table th.num { text-align: right; }
/* How it's done */
.hw { display: flex; flex-direction: column; align-items: center; }
.hw-bar { margin-bottom: 40px; }
.hw-panel { width: 100%; }
.hw-h { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.tabs-on .hw-h { position: absolute; }
.hw:not(.tabs-on) .hw-h { position: static; width: auto; height: auto; clip: auto; margin: 24px 0 16px; }
.hw-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: hw; position: relative; }
.hw-steps::before { content: ""; position: absolute; left: 12%; right: 12%; top: 64px; border-top: 2px dashed #B9C7E3; }
.hw-steps li { position: relative; padding: 28px 26px 30px; border-radius: 26px; background: #fff; border: 1px solid var(--line); }
.hw-ic { display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 22px; background: var(--blue-l); color: var(--blue-d); margin-bottom: 22px; position: relative; z-index: 1; }
.hw-ic .hb { fill: #fff; }
.hw-ic .hs { stroke: var(--blue); }
.hw-n { position: absolute; top: 26px; right: 24px; font-size: 13px; font-weight: 800; color: var(--muted); }
.hw-steps h4 { margin: 0 0 8px; font-size: 18px; letter-spacing: -0.015em; }
.hw-steps p { font-size: 15px; line-height: 1.6; color: var(--ink-2); }
/* Before you book */
.bk { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 88px; align-items: start; }
.bk-copy { position: sticky; top: 112px; }
.bk-copy h2 { margin-bottom: 18px; }
.bk-copy p { font-size: 18px; line-height: 1.6; color: var(--ink-2); margin-bottom: 28px; }
.bk-copy .btn { gap: 8px; }
.bk-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.bk-list li { display: flex; gap: 16px; padding: 26px 26px 28px; border-radius: 24px; background: var(--tint); }
.bk-list li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.bk-ck { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--green); color: #fff; margin-top: 1px; }
.bk-list h3 { font-size: 17.5px; margin-bottom: 6px; letter-spacing: -0.015em; }
.bk-list p { font-size: 15px; line-height: 1.6; color: var(--ink-2); }
@media (max-width: 1100px) {
  .pc { grid-template-columns: minmax(0, 1fr); }
  .pp { grid-template-columns: minmax(0, 1fr); }
  .hw-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hw-steps::before { display: none; }
  .bk { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .bk-copy { position: static; }
}
@media (max-width: 600px) {
  .pc { border-radius: 24px; }
  .pc-in { padding: 24px 18px; gap: 28px; }
  .pc-types-g { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .pc-type-card { display: grid; grid-template-columns: 76px minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: 14px; row-gap: 2px; padding: 14px 16px; align-items: center; }
  .pc-type-card .pv { grid-row: 1 / 4; margin: 0; max-width: 76px; }
  .pc-out { padding: 28px 22px 26px; }
  .pp-chart { padding: 24px 12px 18px; border-radius: 22px; }
  .pp-plot { height: 300px; }
  .pp-dot { width: 18px; height: 18px; }
  .pp-col { gap: 5px; }
  .pp-axis span { font-size: 11px; }
  .pp-facts li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .hw-steps { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .hw-steps li { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 16px; padding: 20px; }
  .hw-ic { width: 56px; height: 56px; border-radius: 18px; margin: 0; grid-row: 1 / 3; }
  .hw-ic svg { width: 44px; height: 42px; }
  .hw-n { top: 20px; right: 20px; }
  .bk-list { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .bk-list li { padding: 20px; }
}
.center-head p { text-wrap: balance; }
.pc-out-more strong { white-space: nowrap; }
/* City page: price + checks in two calm cards (details live on their own pages) */
.cityx-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cityx-card { display: flex; flex-direction: column; gap: 14px; padding: 36px 36px 32px; border-radius: 28px; background: #fff; border: 1px solid var(--line); }
.cityx-h { font-size: clamp(24px, 2.4vw, 30px); }
.cityx-card p { font-size: 17px; line-height: 1.6; color: var(--ink-2); }
.cityx-card p strong { color: var(--ink); }
.cityx-link { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--blue-d); text-decoration: none; }
@media (max-width: 800px) {
  .cityx-grid { grid-template-columns: minmax(0, 1fr); }
  .cityx-card { padding: 26px 22px; }
}
/* ===== v31 — City price pages (/moving-cost/{p}/{c}/): ranges, crews, published rates, fees ===== */
.cz-sec .sec-head { margin-bottom: 56px; }
.cz-bars { list-style: none; margin: 0 auto; padding: 0; max-width: 1040px; display: flex; flex-direction: column; }
.cz-bars li { display: grid; grid-template-columns: 260px minmax(0, 1fr) 150px; align-items: center; gap: 28px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.cz-bars li:first-child { border-top: 1px solid var(--line); }
.cz-b-l strong { display: block; font-size: 18px; font-weight: 780; letter-spacing: -0.015em; }
.cz-b-l span { font-size: 14px; color: var(--muted); }
.cz-b-t { position: relative; height: 14px; border-radius: 99px; background: var(--tint-2); }
.cz-b-r { position: absolute; top: 0; bottom: 0; min-width: 14px; border-radius: 99px; background: linear-gradient(90deg, #7FA8F7, var(--blue)); }
.cz-b-v { text-align: right; font-size: 20px; font-weight: 800; letter-spacing: -0.02em; }
.cz-scale { position: relative; max-width: 1040px; margin: 10px auto 0; height: 20px; display: grid; grid-template-columns: 260px minmax(0, 1fr) 150px; gap: 28px; }
.cz-scale i { position: absolute; transform: translateX(-50%); font-style: normal; font-size: 12.5px; font-weight: 650; color: var(--muted); }
.cz-scale { display: block; padding: 0 178px 0 288px; }
.cz-scale span { display: none; }
.cz-scale i { margin-left: 0; }
.cz-scale::before { content: none; }
.cz-note { max-width: 1040px; margin: 28px auto 0; font-size: 14px; color: var(--muted); text-align: center; }
.cz-crews { list-style: none; margin: 0 auto; padding: 0; max-width: 1040px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.cz-crews li { display: flex; flex-direction: column; gap: 6px; padding: 32px 30px 30px; border-radius: 28px; background: #fff; border: 1px solid var(--line); }
.cz-crews li:first-child { border-color: transparent; box-shadow: 0 0 0 2px var(--blue), var(--sh-1); }
.cz-c-k { font-size: 14px; font-weight: 750; color: var(--ink-2); }
.cz-c-v { font-size: 48px; font-weight: 800; letter-spacing: -0.04em; line-height: 1.05; }
.cz-c-v small { font-size: 18px; font-weight: 700; color: var(--muted); letter-spacing: 0; margin-left: 2px; }
.cz-c-r { font-size: 15.5px; color: var(--ink-2); }
.cz-c-r span { font-weight: 750; color: var(--ink); }
.cz-c-q { font-size: 14px; color: var(--green); font-weight: 650; }
.cz-c-q span { font-weight: 800; }
.cz-c-f { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); font-size: 14px; color: var(--muted); }
.pp-plot-sm { height: 280px; }
.pp-list { grid-column: 1 / -1; margin-top: 24px; }
.cz-table th[scope="row"] { font-weight: 720; white-space: nowrap; }
.cz-table td { font-size: 15px; }
.cz-table td.muted { font-size: 14px; }
.cz-table .num { text-align: right; white-space: nowrap; }
.pp-list .cz-note { text-align: left; margin: 14px 0 0; max-width: none; }
.cz-fees { margin: 0 auto; max-width: 1040px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cz-fees > div { padding: 26px 28px; border-radius: 22px; background: #fff; border: 1px solid var(--line); }
.cz-fees dt { font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-d); margin-bottom: 8px; }
.cz-fees dd { margin: 0; font-size: 16.5px; line-height: 1.55; color: var(--ink); }
.cz-fees .cz-fee-hot { background: #FFF6E6; border-color: #F5D9A8; }
.cz-fees .cz-fee-hot dt { color: #8A5300; }
.cz-fees > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 900px) {
  .cz-bars li { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 16px; }
  .cz-b-t { grid-column: 1 / -1; grid-row: 2; }
  .cz-scale { display: none; }
  .cz-crews { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .cz-crews li { padding: 22px; }
  .cz-c-v { font-size: 38px; }
  .cz-fees { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .cz-fees > div { padding: 20px; }
  .cz-table th:nth-child(3), .cz-table td:nth-child(3), .cz-table th:nth-child(5), .cz-table td:nth-child(5) { display: none; }
}
@media (max-width: 900px) {
  .cz-table { min-width: 0; }
  .cz-table th[scope="row"] { white-space: normal; }
  .cz-table th, .cz-table td { padding-left: 14px; padding-right: 14px; }
}
/* Piano prices movers publish */
.pk-wrap { max-width: 1120px; margin: 0 auto; background: #fff; }
.pk-table { min-width: 0; }
.pk-table th[scope="row"] { font-weight: 760; white-space: nowrap; }
.pk-table th[scope="row"] small { display: block; margin-top: 2px; font-size: 13px; font-weight: 550; color: var(--muted); }
.pk-table td { font-size: 15.5px; font-weight: 650; }
.pk-table td.muted { font-size: 14px; font-weight: 500; line-height: 1.45; }
.pp-sec .cz-note { max-width: 1120px; }
@media (max-width: 760px) {
  .pk-table thead { display: none; }
  .pk-table, .pk-table tbody, .pk-table tr, .pk-table th, .pk-table td { display: block; width: 100%; }
  .pk-table tr { padding: 16px 18px; border-bottom: 1px solid var(--line); }
  .pk-table th[scope="row"], .pk-table td { padding: 0; border: 0; white-space: normal; }
  .pk-table td { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; margin-top: 6px; font-size: 14.5px; }
  .pk-table td::before { content: attr(data-l); font-size: 12.5px; font-weight: 700; color: var(--muted); }
  .pk-table td:empty { display: none; }
}
.sec-tint .bk-list li { background: #fff; border: 1px solid var(--line); }
/* Service guide text: one reading block, sticky summary table on the left */
.gd { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 88px; align-items: start; }
.gd-head { position: sticky; top: 112px; }
.gd-head h2 { margin-bottom: 20px; }
.gd-intro { font-size: 18px; line-height: 1.65; color: var(--ink-2); margin-bottom: 28px; }
.gd-table-wrap { background: #fff; }
.gd-table { min-width: 0; }
.gd-table th[scope="row"] { font-weight: 760; }
.gd-table .num { text-align: right; white-space: nowrap; }
.gd-body h3 { font-size: 22px; letter-spacing: -0.02em; margin: 0 0 10px; }
.gd-body h3 ~ h3 { margin-top: 36px; }
.gd-body p { font-size: 17px; line-height: 1.75; color: var(--ink-2); }
.gd-ask { margin-top: 44px; padding: 30px 30px 26px; border-radius: 24px; background: #fff; border: 1px solid var(--line); }
.gd-ask h3 { margin-top: 0 !important; margin-bottom: 16px; font-size: 19px; }
.gd-ask ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.gd-ask li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 1.5; color: var(--ink); }
.gd-ask .bk-ck { width: 24px; height: 24px; margin-top: 0; }
@media (max-width: 1000px) {
  .gd { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .gd-head { position: static; }
}
@media (max-width: 600px) {
  .gd-intro { font-size: 16.5px; }
  .gd-body p { font-size: 16px; line-height: 1.7; }
  .gd-ask { padding: 22px 20px; }
  .gd-table th, .gd-table td { padding-left: 12px; padding-right: 12px; font-size: 14.5px; }
}
/* Service × city page (e.g. Piano movers in Toronto) */
.pm-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 960px) {
  .pm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .pm-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
.pcity { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: start; }
.pcity-main { padding: 44px; border-radius: 28px; background: #fff; border: 1px solid var(--line); }
.pcity-main h2 { font-size: clamp(26px, 2.8vw, 36px); margin-bottom: 22px; }
.pcity-big { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
.pcity-big span { font-size: clamp(40px, 4.6vw, 58px); font-weight: 800; letter-spacing: -0.04em; line-height: 1; }
.pcity-big small { font-size: 16px; font-weight: 650; color: var(--muted); }
.pcity-sub { margin-top: 14px; font-size: 16px; line-height: 1.6; color: var(--ink-2); }
.pcity-notes { margin: 28px 0 0; display: flex; flex-direction: column; }
.pcity-notes > div { padding: 18px 0; border-top: 1px solid var(--line); }
.pcity-notes dt { font-weight: 780; font-size: 16px; margin-bottom: 4px; }
.pcity-notes dd { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--ink-2); }
.pcity-tool { display: flex; flex-direction: column; gap: 10px; padding: 44px 40px; border-radius: 28px; color: #fff !important; text-decoration: none; background: radial-gradient(120% 80% at 100% 0%, #4A86FF 0%, rgba(74,134,255,0) 60%), linear-gradient(165deg, #2F6FED, #1A4FC0); transition: transform .25s, box-shadow .25s; }
.pcity-tool:hover { transform: translateY(-3px); box-shadow: 0 24px 48px -24px rgba(26,79,192,.6); }
.pcity-tool-k { font-size: 14px; font-weight: 700; color: rgba(255,255,255,.8); }
.pcity-tool strong { font-size: clamp(26px, 2.6vw, 34px); font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; }
.pcity-tool > span:not([class]) { font-size: 16px; color: rgba(255,255,255,.88); }
.pcity-tool-go { margin-top: auto; padding-top: 24px; display: inline-flex; align-items: center; gap: 8px; font-weight: 750; }
@media (max-width: 900px) {
  .pcity { grid-template-columns: minmax(0, 1fr); }
  .pcity-main, .pcity-tool { padding: 26px 22px; }
}
.mv-pfeat { margin: 0; font-size: 13.5px; font-weight: 750; color: var(--blue-d); }
.gd-table th[scope="row"] small { display: block; margin-top: 3px; font-size: 12.5px; font-weight: 500; color: var(--muted); }
.gd-tool { margin-top: 18px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; padding: 20px 22px; border-radius: 20px; text-decoration: none; color: #fff !important; background: linear-gradient(165deg, #2F6FED, #1A4FC0); transition: transform .2s, box-shadow .2s; }
.gd-tool:hover { transform: translateY(-2px); box-shadow: 0 18px 36px -20px rgba(26,79,192,.6); }
.gd-tool strong { font-size: 17px; }
.gd-tool span { grid-column: 1; font-size: 14.5px; color: rgba(255,255,255,.85); }
.gd-tool .d-ic { grid-column: 2; grid-row: 1 / 3; }
.gd-body a { color: var(--blue-d); font-weight: 650; }
.gd-body p.gd-p2 { margin-top: 12px; }
/* City page: this city's own facts */
.cf { max-width: 980px; }
.cf h2 { font-size: clamp(28px, 3vw, 40px); margin-bottom: 28px; }
.cf-list { margin: 0; border-radius: 24px; background: #fff; border: 1px solid var(--line); overflow: hidden; }
.cf-list > div { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 20px; padding: 18px 26px; border-top: 1px solid var(--line); }
.cf-list > div:first-child { border-top: 0; }
.cf-list dt { font-size: 14px; font-weight: 750; color: var(--muted); padding-top: 2px; }
.cf-list dd { margin: 0; font-size: 16.5px; line-height: 1.55; color: var(--ink); }
.cf-list dd a { color: var(--blue-d); font-weight: 650; }
@media (max-width: 700px) {
  .cf-list > div { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 16px 18px; }
}
/* Long-distance route tool + table */
.rt-pair { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 14px; align-items: end; }
.rt-field { display: flex; flex-direction: column; }
.rt-field .pc-l { margin-bottom: 10px; }
.rt-field select { appearance: none; -webkit-appearance: none; height: 56px; padding: 0 44px 0 18px; border: 1.5px solid var(--line); border-radius: 16px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%230E1430' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 18px center; font: inherit; font-size: 17px; font-weight: 750; color: var(--ink); cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.rt-field select:hover, .rt-field select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(47,111,237,.14); outline: none; }
.rt-arrow { height: 56px; display: inline-flex; align-items: center; color: var(--blue-d); }
.rt-sizes { border: 0; margin: 0; padding: 0; min-width: 0; }
.rt-sizes .chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rt-sizes .chips label { position: relative; }
.rt-sizes .chips input { position: absolute; opacity: 0; pointer-events: none; }
.rt-sizes .chips span { display: inline-flex; align-items: center; min-height: 46px; padding: 0 18px; border: 1.5px solid var(--line); border-radius: var(--pill); font-weight: 700; font-size: 15px; cursor: pointer; background: #fff; transition: border-color .2s, background .2s, color .2s; }
.rt-sizes .chips input:checked + span { background: var(--ink); border-color: var(--ink); color: #fff; }
.rt-sizes .chips input:disabled + span { opacity: .35; cursor: not-allowed; text-decoration: line-through; }
.rt-sizes .chips input:focus-visible + span { outline: 3px solid var(--blue); outline-offset: 2px; }
.rt-hint { font-size: 13.5px; color: var(--muted); }
.rt-table-wrap { max-width: 1120px; margin: 0 auto; background: #fff; }
.rt-table th[scope="row"] { font-weight: 760; white-space: nowrap; }
.rt-table .num { text-align: right; white-space: nowrap; }
.sec-tint .cz-note a, .cz-note a { color: var(--blue-d); font-weight: 650; }
@media (max-width: 700px) {
  .rt-pair { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .rt-arrow { display: none; }
  .rt-table thead { display: none; }
  .rt-table, .rt-table tbody, .rt-table tr, .rt-table th, .rt-table td { display: block; width: 100%; }
  .rt-table tr { padding: 14px 16px; border-bottom: 1px solid var(--line); }
  .rt-table th[scope="row"], .rt-table td { padding: 0; border: 0; text-align: left !important; }
  .rt-table td { display: grid; grid-template-columns: 110px minmax(0, 1fr); margin-top: 4px; font-size: 14.5px; }
  .rt-table td:not([data-l]) { display: block; font-size: 13px; }
  .rt-table td[data-l]::before { content: attr(data-l); font-size: 12.5px; font-weight: 700; color: var(--muted); }
}
/* Storage tool */
.st-sizes { display: flex; flex-wrap: wrap; gap: 8px; }
.st-vaults { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-top: 8px; }
.st-v { aspect-ratio: 5 / 7; border-radius: 14px; border: 2px dashed #CFD8E8; background: #fff; transition: background .25s, border-color .25s; position: relative; }
.st-v.on { border: 2px solid var(--blue-d); background: repeating-linear-gradient(0deg, var(--blue-l) 0 14px, #fff 14px 16px); }
.st-v.on.maybe { border-style: dashed; border-color: #7FA8F7; background: repeating-linear-gradient(0deg, #F3F7FF 0 14px, #fff 14px 16px); }
.st-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 13.5px; color: var(--muted); }
.st-key { display: inline-block; width: 14px; height: 18px; border-radius: 4px; border: 2px solid var(--blue-d); background: var(--blue-l); vertical-align: middle; }
.st-key.maybe { border-style: dashed; border-color: #7FA8F7; background: #F3F7FF; margin-left: 8px; }
.pc-out-v small { font-size: 18px; font-weight: 700; color: rgba(255,255,255,.8); margin-left: 4px; letter-spacing: 0; }
@media (max-width: 600px) {
  .st-vaults { gap: 6px; }
  .st-v { border-radius: 8px; }
}
.pk-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pk-stats > div { display: flex; flex-direction: column; gap: 4px; padding: 20px 18px; border-radius: 18px; background: var(--tint); }
.pk-n { font-size: 26px; font-weight: 800; letter-spacing: -0.03em; }
.pk-l { font-size: 13px; font-weight: 650; color: var(--muted); }
@media (max-width: 600px) {
  .pk-stats { grid-template-columns: minmax(0, 1fr); }
  .pk-stats > div { flex-direction: row; justify-content: space-between; align-items: baseline; padding: 14px 16px; }
  .pk-n { font-size: 20px; }
}
/* Option picker (generic service hubs) */
.opt-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.opt { position: relative; cursor: pointer; display: flex; }
.opt input { position: absolute; opacity: 0; pointer-events: none; }
.opt-card { width: 100%; display: flex; flex-direction: column; gap: 3px; padding: 18px 20px; border: 1.5px solid var(--line); border-radius: 20px; background: #fff; transition: border-color .2s, box-shadow .2s, background .2s; position: relative; }
.opt:hover .opt-card { border-color: #B9C7E3; }
.opt input:checked + .opt-card { border-color: var(--blue); background: linear-gradient(180deg, #F3F7FF, #fff 70%); box-shadow: 0 0 0 3px rgba(47,111,237,.14); }
.opt input:checked + .opt-card::after { content: ""; position: absolute; top: 14px; right: 14px; width: 20px; height: 20px; border-radius: 50%; background: var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3 4.7-5' stroke='%23fff' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center; }
.opt input:focus-visible + .opt-card { outline: 3px solid var(--blue); outline-offset: 3px; }
.opt-n { font-weight: 800; font-size: 16.5px; letter-spacing: -0.015em; padding-right: 26px; }
.opt-p { font-weight: 800; font-size: 15.5px; color: var(--blue-d); }
.opt-d { font-size: 13px; color: var(--muted); line-height: 1.4; }
.gd-table td { font-size: 15px; line-height: 1.5; }
.gd-table th[scope="row"] a { color: var(--blue-d); text-decoration: none; }
@media (max-width: 600px) {
  .opt-list { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}
.pc-lines dt { flex: none; }
.pc-lines dd { white-space: normal; text-align: right; }
@media (max-width: 600px) {
  .pc-lines > div { flex-direction: column; gap: 2px; }
  .pc-lines dd { text-align: left; }
}
/* Service hubs: freshness line + related services */
.svc-fresh { margin-top: 14px; font-size: 13.5px; font-weight: 600; color: rgba(255,255,255,.78); }
.rel-sec { padding-top: 96px; padding-bottom: 32px; }
.rel-h { font-size: clamp(24px, 2.4vw, 30px); margin-bottom: 22px; }
.rel-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rel-card { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 12px 18px 12px 12px; border: 1px solid var(--line); border-radius: 20px; background: #fff; text-decoration: none; color: var(--ink); transition: transform .2s, box-shadow .2s, border-color .2s; }
.rel-card:hover { transform: translateY(-2px); box-shadow: var(--sh-1); border-color: transparent; color: var(--ink); }
.rel-img { width: 96px !important; height: 72px; aspect-ratio: auto !important; border-radius: 14px; object-fit: cover; }
.rel-t { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rel-t strong { font-size: 16px; letter-spacing: -0.01em; }
.rel-t span { font-size: 13.5px; color: var(--muted); line-height: 1.4; }
.rel-card .d-ic { color: var(--blue-d); }
@media (max-width: 1000px) {
  .rel-list { grid-template-columns: minmax(0, 1fr); }
}
.home .rel-sec + .sec { padding-top: 72px; }
/* City/province lists use the homepage card */
.mv-grid { gap: 20px; }
.mv-grid > .near-mv { padding: 24px 26px 22px; border-radius: 22px; }
.mv-pick[aria-pressed="true"], .mv-pick.on { background: var(--ink); border-color: var(--ink); color: #fff !important; }
@media (max-width: 960px) {
  .mv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .mv-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
/* Registered trademark mark next to the logo */
.hd-logo, .ft-logo-wrap { display: inline-flex; align-items: flex-start; }
.reg { margin-left: 2px; font-size: 11px; font-weight: 700; line-height: 1; color: #0061FF; transform: translateY(-3px); }
.ft-logo-wrap { margin-bottom: 14px; }
.ft-logo-wrap .ft-logo { margin-bottom: 0; }
.ft-logo-wrap .reg { font-size: 10px; }
.hd-logo, .hd-logo:hover, .reg { text-decoration: none; }
/* Cost page hero: answer line + price panel */
.cost-hero h1 { margin-bottom: 18px; }
.ch-lead { font-size: 19px; line-height: 1.6; color: var(--ink-2); max-width: 560px; margin-bottom: 26px; }
.ch-lead strong { color: var(--ink); }
.ch { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); grid-template-rows: auto auto; gap: 12px; max-width: 600px; }
.ch-main { grid-row: 1 / 3; display: flex; flex-direction: column; padding: 26px 26px 22px; border-radius: 24px; color: #fff; background: radial-gradient(120% 90% at 100% 0%, #4A86FF 0%, rgba(74,134,255,0) 60%), linear-gradient(165deg, #2F6FED, #1A4FC0); box-shadow: 0 24px 48px -28px rgba(26,79,192,.7); }
.ch-k { font-size: 13px; font-weight: 750; letter-spacing: .02em; color: var(--muted); }
.ch-main .ch-k { color: rgba(255,255,255,.82); }
.ch-v { margin: 6px 0 18px; font-size: clamp(46px, 5vw, 62px); font-weight: 800; letter-spacing: -0.04em; line-height: 1; }
.ch-v small { font-size: 19px; font-weight: 700; letter-spacing: 0; margin-left: 3px; color: rgba(255,255,255,.82); }
.ch-bar { position: relative; height: 8px; border-radius: 99px; background: rgba(255,255,255,.22); margin-top: auto; }
.ch-bar span { position: absolute; top: 0; bottom: 0; border-radius: 99px; background: rgba(255,255,255,.75); }
.ch-bar i { position: absolute; top: -4px; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(255,255,255,.25); }
.ch-r { margin-top: 12px; font-size: 14.5px; color: rgba(255,255,255,.88); }
.ch-r strong { color: #fff; }
.ch-side { display: flex; flex-direction: column; justify-content: center; gap: 3px; padding: 18px 20px; border-radius: 20px; background: #fff; border: 1px solid var(--line); box-shadow: var(--sh-0); }
.ch-sv { font-size: 24px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.15; }
.ch-sv small { font-size: 14px; font-weight: 700; color: var(--muted); letter-spacing: 0; }
.ch-sd { font-size: 13px; color: var(--muted); }
.ch-src { display: flex; align-items: center; gap: 6px; margin-top: 16px; font-size: 13px; font-weight: 600; color: var(--muted); }
.ch-src .d-ic { color: var(--green); flex: none; }
@media (max-width: 600px) {
  .ch-lead { font-size: 16.5px; margin-bottom: 18px; }
  .ch { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ch-main { grid-row: auto; grid-column: 1 / -1; padding: 22px; }
  .ch-v { font-size: 46px; margin-bottom: 14px; }
  .ch-side { padding: 14px 16px; }
  .ch-sv { font-size: 19px; }
}
/* Hero quote card v2: route only, one clear action */
.qx { gap: 18px !important; }
.qx-head { display: flex; flex-direction: column; gap: 4px; }
.qx .app-title { font-size: 22px; font-weight: 800; letter-spacing: -0.025em; }
.qx-sub { font-size: 14.5px; color: var(--muted); }
.qx-route { border-radius: 18px; }
.qx-route .route-row { padding: 0 18px; gap: 14px; }
.qx-f { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; height: 66px; }
.qx-f .route-label { width: auto; font-size: 11.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); line-height: 1; margin-bottom: 4px; }
.qx-f input { height: auto !important; padding: 0; font-size: 17px; font-weight: 650; }
.qx-route .route-line { left: 23px; top: 42px; height: 50px; }
.qx-go { width: 100%; gap: 10px; min-height: 60px; font-size: 17.5px; border-radius: 18px; }
.qx-go .d-ic { transition: transform .2s; }
.qx-go:hover .d-ic { transform: translateX(3px); }
.qx-trust { list-style: none; margin: -2px 0 0; padding: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 18px; font-size: 13.5px; font-weight: 700; color: var(--ink-2); }
.qx-trust li { display: inline-flex; align-items: center; gap: 5px; }
.qx-trust .d-ic { color: var(--green); }
.qx-micro { margin-top: -6px !important; padding-top: 14px; border-top: 1px solid var(--line); }
.home .hero-simple .qx { padding: 30px; }
@media (max-width: 600px) {
  .home .hero-simple .qx, .qx { padding: 20px !important; gap: 14px !important; }
  .qx .app-title { font-size: 20px; }
  .qx-f { height: 60px; }
  .qx-f input { font-size: 16.5px; }
  .qx-route .route-line { top: 38px; height: 46px; }
  .qx-go { min-height: 56px; }
  .qx-trust { gap: 4px 14px; font-size: 13px; }
}
/* hero card: label + input centred as one block, dot on the input line */
.qx-route .route-row { align-items: stretch; }
.qx-route .dot { align-self: center; margin-top: 16px; }
.qx-f { justify-content: center; gap: 3px; padding: 10px 0; height: 70px; }
.qx-f .route-label { margin-bottom: 0; }
.qx-f input { height: 26px !important; line-height: 26px; }
.qx-route .route-line { top: 46px; height: 52px; }
@media (max-width: 600px) {
  .qx-f { height: 64px; padding: 8px 0; }
  .qx-route .dot { margin-top: 14px; }
  .qx-route .route-line { top: 42px; height: 48px; }
}
/* Header: Services menu */
.hd-dd { position: relative; display: flex; }
.hd-dd-btn { position: relative; display: inline-flex; align-items: center; gap: 6px; padding: 10px 14px; border: 0; background: none; font: inherit; font-size: 15px; font-weight: 600; color: var(--ink); cursor: pointer; border-radius: 10px; letter-spacing: -0.005em; }
.hd-dd-btn svg { transition: transform .2s; }
.hd-dd:hover .hd-dd-btn, .hd-dd.open .hd-dd-btn { color: var(--blue-d); }
.hd-dd:hover .hd-dd-btn svg, .hd-dd.open .hd-dd-btn svg { transform: rotate(180deg); }
.hd-dd-panel { position: absolute; top: calc(100% + 6px); left: 50%; width: 680px; padding: 18px; border-radius: 24px; background: #fff; border: 1px solid var(--line); box-shadow: 0 30px 70px -20px rgba(14,20,48,.35); transform: translate(-50%, 8px); opacity: 0; visibility: hidden; transition: opacity .2s, transform .2s, visibility .2s; z-index: 60; }
.hd-dd-panel::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.hd-dd:hover .hd-dd-panel, .hd-dd.open .hd-dd-panel, .hd-dd:focus-within .hd-dd-panel { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.dd-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.dd-item { display: flex; align-items: center; gap: 14px; padding: 10px; border-radius: 16px; text-decoration: none; color: var(--ink) !important; transition: background .15s; }
.dd-item::after { content: none !important; }
.dd-item:hover { background: var(--tint) !important; }
.dd-img { width: 64px !important; height: 48px; aspect-ratio: auto !important; border-radius: 12px; object-fit: cover; flex: none; }
.dd-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dd-t strong { font-size: 15px; font-weight: 750; letter-spacing: -0.01em; }
.dd-t span { font-size: 12.5px; font-weight: 600; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dd-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding: 14px 10px 2px; border-top: 1px solid var(--line); }
.dd-foot a:not(.btn) { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 14.5px; color: var(--blue-d) !important; text-decoration: none; padding: 0 !important; }
.dd-foot a::after { content: none !important; }
.sheet-h { margin: 18px 0 6px; font-size: 12.5px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.sheet-svc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 14px; margin-bottom: 10px; }
.sheet-svc a { padding: 9px 0 !important; font-size: 15px !important; font-weight: 600; border: 0 !important; }
@media (max-width: 1180px) {
  .hd-dd-panel { width: 600px; }
}
@media (max-width: 600px) {
  .qx-trust { gap: 4px 10px; font-size: 12.5px; flex-wrap: nowrap; }
}
.hd-nav .dd-foot .btn { background: var(--blue-d) !important; color: #fff !important; padding: 0 18px; border-radius: var(--pill); min-height: 40px; }
.hd-nav .dd-foot .btn::after { content: none !important; }
.hd-nav .dd-foot .btn:hover { background: #1849AE !important; }
/* Cost hero: one calm price card */
.pq-lead { font-size: 18px; line-height: 1.55; color: var(--ink-2); margin: 0 0 24px; max-width: 520px; }
.pq { max-width: 560px; padding: 26px 28px 0; border-radius: 22px; background: #fff; border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(14,20,48,.04), 0 18px 40px -24px rgba(14,20,48,.22); }
.pq-top { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; font-weight: 650; color: var(--muted); }
.pq-rate { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 6px; }
.pq-v { font-size: clamp(52px, 5.6vw, 68px); font-weight: 780; letter-spacing: -0.045em; line-height: 1; color: var(--ink); }
.pq-v small { font-size: 22px; font-weight: 650; letter-spacing: -0.01em; color: var(--muted); margin-left: 2px; }
.pq-alt { font-size: 14px; color: var(--muted); }
.pq-alt strong { color: var(--ink); font-weight: 750; }
.pq-scale { margin-top: 22px; }
.pq-track { position: relative; height: 4px; border-radius: 99px; background: var(--tint-2); }
.pq-track span { position: absolute; top: 0; bottom: 0; border-radius: 99px; background: var(--ink); }
.pq-track i { position: absolute; top: 50%; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: #fff; border: 3px solid var(--blue); }
.pq-ticks { position: relative; height: 20px; margin-top: 8px; }
.pq-ticks span { position: absolute; transform: translateX(-50%); font-size: 13px; font-weight: 700; color: var(--ink-2); }
.pq-cap { font-size: 12.5px; color: var(--muted); margin-top: 2px; }
.pq-sizes { width: 100%; border-collapse: collapse; margin-top: 18px; }
.pq-sizes tr { border-top: 1px solid var(--line); }
.pq-sizes th, .pq-sizes td { padding: 12px 0; text-align: left; vertical-align: baseline; }
.pq-sizes th { font-size: 15px; font-weight: 700; color: var(--ink); white-space: nowrap; padding-right: 12px; }
.pq-d { font-size: 13px; color: var(--muted); }
.pq-p { text-align: right !important; font-size: 15.5px; font-weight: 750; color: var(--ink); white-space: nowrap; padding-left: 12px !important; }
.pq-foot { display: flex; justify-content: space-between; gap: 12px; margin: 0 -28px; padding: 13px 28px; border-top: 1px solid var(--line); background: #FAFBFD; border-radius: 0 0 22px 22px; font-size: 12.5px; color: var(--muted); }
.pq-foot span:last-child { font-weight: 700; color: var(--ink-2); white-space: nowrap; }
@media (max-width: 600px) {
  .pq-lead { font-size: 16px; margin-bottom: 18px; }
  .pq { padding: 20px 18px 0; border-radius: 18px; }
  .pq-v { font-size: 50px; }
  .pq-d { display: none; }
  .pq-foot { margin: 0 -18px; padding: 12px 18px; flex-direction: column; gap: 2px; border-radius: 0 0 18px 18px; }
}
@media (max-width: 600px) {
  .pq-top { font-size: 12.5px; }
  .pq-top span { white-space: nowrap; }
}
/* ===== Homepage hero v3 (centred): one search, four facts — and a bright, sunlit photo ===== */
.hx { position: relative; isolation: isolate; color: #fff; background: #2A2420; overflow: hidden; text-align: center; }
.hx-pic { position: absolute; inset: 0; z-index: -2; }
.hx-pic .hx-img, .hx-pic img, .hx-pic picture { width: 100%; height: 100%; object-fit: cover; object-position: 50% 52%; display: block; aspect-ratio: auto !important; border-radius: 0 !important; }
/* Light only where the words are: a soft pool of shade in the middle, the sunlit room left alive around it */
.hx::before { content: ""; position: absolute; inset: 0; z-index: -1; background:
  radial-gradient(ellipse 54% 50% at 50% 40%, rgba(12,13,20,.74) 0%, rgba(12,13,20,.56) 45%, rgba(12,13,20,.18) 80%, rgba(12,13,20,0) 100%),
  linear-gradient(180deg, rgba(14,14,20,.10) 0%, rgba(14,14,20,0) 30%, rgba(14,14,20,0) 75%, rgba(14,14,20,.22) 100%); }
.hx-in { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: min(680px, calc(100svh - 200px)); padding-top: 96px; padding-bottom: 96px; }
.hx h1 { color: #fff; max-width: 15ch; margin: 0 auto; font-size: clamp(42px, 5vw, 70px); line-height: 1.02; font-weight: 760; letter-spacing: -0.038em; text-wrap: balance; text-shadow: 0 2px 24px rgba(0,0,0,.35), 0 1px 2px rgba(0,0,0,.2); }
.hx-accent { position: relative; display: inline-block; color: #B4CEFF; white-space: nowrap; }
.hx-swash { position: absolute; left: 1%; bottom: -0.1em; width: 98%; height: .24em; overflow: visible; pointer-events: none; }
.hx-swash path { fill: none; stroke: #4F8CFF; stroke-width: 5.5; stroke-linecap: round; stroke-dasharray: 320; stroke-dashoffset: 320; animation: hxDraw .9s cubic-bezier(.6,0,.2,1) .35s forwards; filter: drop-shadow(0 2px 8px rgba(47,111,237,.45)); }
@keyframes hxDraw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) {
  .hx-swash path { animation: none; stroke-dashoffset: 0; }
}
.hx-lead { margin: 30px auto 0; max-width: 30em; font-size: clamp(18px, 1.55vw, 22px); line-height: 1.45; font-weight: 500; color: rgba(255,255,255,.92); letter-spacing: -0.005em; text-wrap: balance; text-shadow: 0 1px 16px rgba(0,0,0,.5); }
.hx-lead strong { color: #fff; font-weight: 750; }
/* The search: a white pill inside a thin glass frame */
.hx-form { width: 100%; max-width: 800px; margin: 52px auto 0; }
.hx-bar { display: flex; align-items: stretch; background: #fff; border-radius: 999px; padding: 8px; text-align: left;
  box-shadow: 0 0 0 7px rgba(255,255,255,.22), 0 1px 2px rgba(0,0,0,.08), 0 30px 70px -24px rgba(0,0,0,.55); }
.hx-field { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 3px; padding: 10px 26px; border-radius: 999px; cursor: text; transition: background .15s, box-shadow .15s; }
.hx-field:hover { background: #F3F5F9; }
.hx-field:focus-within { background: #fff; box-shadow: inset 0 0 0 2px var(--blue); }
.hx-field.invalid { box-shadow: inset 0 0 0 2px var(--red); }
.hx-l { display: flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 700; letter-spacing: .01em; color: var(--ink); }
.hx-l .dot { width: 8px; height: 8px; }
.hx-l .dot-from { border-width: 2px; }
.hx-field input { width: 100%; border: 0; outline: 0; background: transparent; font: inherit; font-size: 16.5px; font-weight: 600; color: var(--ink); padding: 0 0 0 15px; text-overflow: ellipsis; }
.hx-field input::placeholder { color: #6B7590; font-weight: 500; }
.hx-sep { width: 1px; margin: 14px 2px; background: var(--line); flex: none; }
.hx-go { flex: none; display: inline-flex; align-items: center; gap: 10px; margin-left: 6px; padding: 0 30px; min-height: 62px; border: 0; border-radius: 999px; background: var(--blue-d); color: #fff; font: inherit; font-size: 16.5px; font-weight: 700; letter-spacing: -0.005em; cursor: pointer; box-shadow: inset 0 1px 0 rgba(255,255,255,.18); transition: background .2s, transform .2s; }
.hx-go:hover { background: #1849AE; }
.hx-go:active { transform: scale(.98); }
.hx-go .d-ic { transition: transform .2s; }
.hx-go:hover .d-ic { transform: translateX(3px); }
.hx-under { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 16px; margin-top: 0; }
.hx-under:has(> :not([hidden])) { margin-top: 16px; }
.hx-err { margin: 0; padding: 4px 12px; border-radius: 999px; background: #fff; color: var(--red); font-size: 13.5px; font-weight: 650; }
.hx-svc { margin: 0; padding: 6px 8px 6px 12px; background: rgba(255,255,255,.95); border-radius: 999px; }
.hx-note { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 550; color: rgba(255,255,255,.9); text-shadow: 0 1px 10px rgba(0,0,0,.5); }
@media (max-width: 900px) {
  .hx-in { min-height: 0; padding-top: 64px; padding-bottom: 56px; }
  .hx::before { background: radial-gradient(ellipse 95% 50% at 50% 28%, rgba(12,13,20,.70) 0%, rgba(12,13,20,.50) 60%, rgba(12,13,20,.26) 100%), linear-gradient(180deg, rgba(12,13,20,0) 60%, rgba(12,13,20,.3) 100%); }
  .hx-bar { flex-direction: column; border-radius: 26px; padding: 6px; box-shadow: 0 0 0 6px rgba(255,255,255,.2), 0 24px 60px -20px rgba(0,0,0,.6); }
  .hx-sep { width: auto; height: 1px; margin: 0 18px; }
  .hx-field { padding: 12px 18px; border-radius: 20px; min-height: 60px; }
  .hx-go { justify-content: center; margin: 6px 0 0; min-height: 56px; }
}
@media (max-width: 600px) {
  .hx-in { padding-top: 48px; padding-bottom: 44px; }
  .hx h1 { font-size: 38px; letter-spacing: -0.032em; }
  .hx-lead { font-size: 17.5px; margin-top: 18px; }
  .hx-form { margin-top: 32px; }
  .hx-under { margin-top: 14px; }
}
/* Four ticks under the search: what MoverDash is, at a glance */
.hx-ticks { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 30px; margin: 52px auto 0; padding: 0; }
.hx-ticks li { display: inline-flex; align-items: center; gap: 8px; font-size: 15.5px; font-weight: 600; color: #fff; white-space: nowrap; text-shadow: 0 1px 12px rgba(0,0,0,.55); }
.hx-ticks strong { font-weight: 800; letter-spacing: -0.01em; }
.hx-ticks .d-ic { flex: none; color: #6EE7A0; filter: drop-shadow(0 1px 6px rgba(0,0,0,.4)); }
.hx-ticks a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: 4px; }
.hx-ticks a:hover { text-decoration-color: #fff; }
.hx-plain .hx-ticks li, .hx-plain .hx-ticks a { color: var(--ink-2); text-shadow: none; }
.hx-plain .hx-ticks .d-ic { color: var(--green); filter: none; }
@media (max-width: 600px) {
  .hx-ticks { gap: 10px 18px; margin-top: 18px; }
  .hx-ticks li { font-size: 14.5px; gap: 6px; }
  .hx-wide { display: none; }
}
/* Preview (?hero=plain): the hero on a light ground, no photo */
.hx-plain { color: var(--ink); background: radial-gradient(ellipse 70% 60% at 50% 0%, #E6EEFC 0%, rgba(230,238,252,0) 70%), linear-gradient(180deg, #F5F8FD 0%, #fff 100%); }
.hx-plain::before { display: none; }
.hx-plain h1 { color: var(--ink); text-shadow: none; }
.hx-plain .hx-accent { color: var(--blue-d); }
.hx-plain .hx-lead { color: var(--ink-2); text-shadow: none; }
.hx-plain .hx-lead strong { color: var(--ink); }
.hx-plain .hx-swash path { stroke: #8DB2FF; filter: none; }
.hx-plain .hx-bar { box-shadow: 0 0 0 1px var(--line), 0 2px 4px rgba(14,20,48,.04), 0 24px 60px -24px rgba(28,58,140,.28); }
.hx-plain .hx-note { color: var(--muted); text-shadow: none; }
.logo-band .logo-strip-h, .home .logo-band .logo-strip-h { text-transform: none; letter-spacing: 0; font-size: 14.5px; font-weight: 600; color: var(--muted); }
/* Cost hero card (first design, simplified) */
.ca2 { max-width: 520px; padding: 28px 30px 0; border-radius: 24px; border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(14,20,48,.04), 0 24px 48px -28px rgba(14,20,48,.28); }
.ca2 .ca-label { font-size: 13px; font-weight: 700; letter-spacing: .02em; text-transform: none; color: var(--muted); }
.ca2 .ca-big { margin: 8px 0 14px; font-size: clamp(54px, 6vw, 74px); font-weight: 780; letter-spacing: -0.045em; }
.ca2 .ca-big small { font-size: 22px; font-weight: 650; }
.ca2 .ca-range { font-size: 16.5px; line-height: 1.6; color: var(--ink-2); }
.ca2 .ca-range strong { color: var(--ink); font-weight: 750; }
.ca-src { margin: 20px -30px 0; padding: 13px 30px; border-top: 1px solid var(--line); background: #FAFBFD; border-radius: 0 0 24px 24px; font-size: 12.5px; color: var(--muted); }
@media (max-width: 600px) {
  .ca2 { padding: 22px 20px 0; border-radius: 20px; }
  .ca-src { margin: 18px -20px 0; padding: 12px 20px; border-radius: 0 0 20px 20px; }
  .ca2 .ca-big { font-size: 52px; }
}
/* City picker: location pin centred and readable */
.near-pick-ic { top: 50%; left: 17px; transform: translateY(-50%); line-height: 0; }
.near-pick-ic svg { width: 19px; height: 19px; }
.near-pick select { padding-left: 46px; }
/* ===== Get quotes, checkout style: one question at a time + a live "Your move" receipt ===== */
.hd-focus { position: sticky; top: 0; background: #fff; border-bottom: 1px solid var(--line); box-shadow: none; }
.hd-focus .hd-row { justify-content: space-between; min-height: 68px; }
.hd-exit { font-size: 15px; font-weight: 600; color: var(--ink-2); padding: 8px 2px; }
.hd-exit:hover { color: var(--ink); }
.gqz { display: grid; grid-template-columns: minmax(0, 1fr) minmax(380px, 36%); min-height: calc(100svh - 96px); background: #fff; }
@keyframes gqzIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
html:not(.gqx-js) .gqx-step + .gqx-step { margin-top: 56px; padding-top: 40px; border-top: 1px solid var(--line); }
html:not(.gqx-js) .gqz-next { display: none; }
/* The receipt */
@keyframes gqzTick { from { opacity: .25; } to { opacity: 1; } }
@media (max-width: 900px) {
  .gqz { grid-template-columns: minmax(0, 1fr); min-height: 0; }
}
.gqz-for[hidden], [data-lift][hidden] { display: none; }
/* City autocomplete (all From/To fields) */
@keyframes acIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
/* Hero tag: Proudly Canadian */
.hx-tag { display: inline-flex; align-items: center; gap: 9px; margin: 0 auto 24px; padding: 7px 16px 7px 10px; border-radius: 999px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.3); -webkit-backdrop-filter: blur(14px) saturate(150%); backdrop-filter: blur(14px) saturate(150%); color: #fff; font-size: 14px; font-weight: 650; letter-spacing: .01em; text-shadow: 0 1px 8px rgba(0,0,0,.35); box-shadow: 0 8px 24px -12px rgba(0,0,0,.35); }
.hx-flag { flex: none; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.hx-plain .hx-tag { background: #fff; border-color: var(--line); color: var(--ink); text-shadow: none; box-shadow: var(--sh-0); }
@media (max-width: 600px) {
  .hx-tag { margin-bottom: 18px; font-size: 13px; padding: 6px 14px 6px 9px; }
}
/* Proudly Canadian now sits in the tick row (flag instead of a tick) */
.hx-ticks .hx-flag { width: 21px; height: 14px; flex: none; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.12), 0 1px 6px rgba(0,0,0,.3); }
@media (max-width: 600px) {
  .hx-ticks { display: grid; grid-template-columns: repeat(2, auto); justify-content: center; gap: 12px 18px; text-align: left; }
  .hx-ticks li { font-size: 13.5px; }
}
/* Golden-hour photo: keep the couple in frame on phones */
@media (max-width: 900px) {
  .hx-pic-golden .hx-img, .hx-pic-golden img { object-position: 74% 50%; }
}
/* City pages: "Explore movers in nearby cities" — name + movers · km */
.near-pills { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; max-width: 1040px; margin: 0 auto; }
.near-pills li { display: block; }
.near-pills a { display: flex; flex-direction: column; gap: 3px; height: 100%; padding: 14px 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; text-decoration: none; transition: border-color .15s, box-shadow .15s, transform .15s; }
.near-pills a:hover { border-color: #9EA5B3; box-shadow: 0 8px 20px -14px rgba(14,20,48,.3); transform: translateY(-1px); }
.np-name { font-size: 15.5px; font-weight: 700; color: var(--ink); }
.np-meta { font-size: 13.5px; color: var(--muted); }
@media (max-width: 900px) {
  .near-pills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* ===== /for-movers/: claim your profile, get requests, pay only when chosen ===== */
.fm-page main { background: #fff; }
.fm-hero { position: relative; overflow: hidden; background: radial-gradient(ellipse 60% 70% at 85% 30%, #E9F0FF 0%, rgba(233,240,255,0) 70%), linear-gradient(180deg, #F7F9FD 0%, #fff 100%); border-bottom: 1px solid var(--line); }
.fm-hero-in { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 56px; align-items: center; padding-top: 72px; padding-bottom: 80px; }
.fm-eyebrow { font-size: 14px; font-weight: 700; color: var(--blue-d); margin-bottom: 14px; }
.fm-hero h1 { font-size: clamp(38px, 4.4vw, 60px); line-height: 1.04; letter-spacing: -0.035em; font-weight: 780; color: var(--ink); max-width: 14ch; text-wrap: balance; }
.fm-lead { margin-top: 20px; max-width: 32em; font-size: 19px; line-height: 1.5; color: var(--ink-2); }
.fm-find { position: relative; margin-top: 34px; max-width: 540px; }
.fm-find-l { display: block; margin-bottom: 10px; font-size: 14px; font-weight: 650; color: var(--ink); }
.fm-find-bar { display: flex; align-items: center; gap: 12px; height: 64px; padding: 0 20px; background: #fff; border: 1px solid #D3D7DE; border-radius: 16px; box-shadow: 0 1px 2px rgba(14,20,48,.04), 0 18px 40px -24px rgba(28,58,140,.35); transition: border-color .15s, box-shadow .15s; }
.fm-find-bar:focus-within { border-color: var(--ink); box-shadow: 0 0 0 4px rgba(14,20,48,.07), 0 18px 40px -24px rgba(28,58,140,.35); }
.fm-find-bar .d-ic { flex: none; color: var(--muted); }
.fm-find-bar input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 17px; font-weight: 550; color: var(--ink); }
.fm-find-bar input::-webkit-search-cancel-button { display: none; }
.fm-results { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% - 26px); list-style: none; margin: 0; padding: 6px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 24px 48px -16px rgba(14,20,48,.28); }
.fm-results li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 11px; cursor: pointer; }
.fm-results li.on, .fm-results li:hover { background: #F1F4F9; }
.fm-results li strong { display: block; font-size: 15.5px; color: var(--ink); }
.fm-results li small { font-size: 13px; color: var(--muted); }
.fm-results li.fm-none { cursor: default; font-size: 14.5px; color: var(--ink-2); }
.fm-logo, .fm-logo-ph { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #fff; border: 1px solid var(--line); overflow: hidden; font-size: 14px; font-weight: 800; color: var(--muted); }
.fm-logo img { max-width: 36px; max-height: 32px; object-fit: contain; }
.fm-logo.dark { background: #1A2034; }
.fm-logo-lg { width: 56px; height: 56px; font-size: 17px; }
.fm-found { margin-top: 14px; padding: 18px 20px; background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 18px 40px -26px rgba(28,58,140,.4); animation: gqzIn .3s var(--ease, ease); }
.fm-found-head { display: flex; align-items: center; gap: 14px; }
.fm-found-name { font-size: 17px; font-weight: 750; color: var(--ink); }
.fm-found-city { font-size: 14px; color: var(--muted); }
.fm-found-live { display: flex; gap: 10px; align-items: flex-start; margin: 14px 0 16px; padding: 12px 14px; border-radius: 12px; background: var(--green-l); color: #0E5530; font-size: 14.5px; line-height: 1.45; }
.fm-dot { flex: none; width: 9px; height: 9px; margin-top: 6px; border-radius: 50%; background: #16A34A; box-shadow: 0 0 0 4px rgba(22,163,74,.18); }
.fm-find-alt { margin-top: 14px; font-size: 14.5px; color: var(--muted); }
.fm-find-alt a, .fm-link { color: var(--blue-d); font-weight: 650; }
.fm-link { display: block; margin-top: 10px; padding: 0; border: 0; background: none; font: inherit; font-size: 14px; cursor: pointer; }
.fm-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; padding: 0 24px; border-radius: 12px; font-size: 16px; font-weight: 700; text-decoration: none; border: 0; cursor: pointer; transition: background .2s, transform .1s; }
.fm-btn-primary { background: var(--blue-d); color: #fff; }
.fm-btn-primary:hover { background: #1849AE; color: #fff; }
.fm-btn-white { background: #fff; color: var(--ink); }
.fm-btn-white:hover { background: #EEF2F8; color: var(--ink); }
.fm-btn-xl { min-height: 58px; padding: 0 30px; font-size: 17px; }
.fm-found .fm-btn { width: 100%; }
/* hero visual: an example request */
.fm-hero-visual { position: relative; justify-self: center; width: 100%; max-width: 460px; padding: 18px 0 18px 18px; }
.fm-card { background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 2px 4px rgba(14,20,48,.04), 0 40px 80px -40px rgba(28,58,140,.45); }
.fm-card-back { position: absolute; inset: 0 18px 36px 0; transform: rotate(-3deg); background: #F3F6FB; box-shadow: none; }
.fm-req { position: relative; padding: 22px 24px 18px; }
.fm-req-top { display: flex; justify-content: space-between; align-items: center; }
.fm-chip { padding: 4px 10px; border-radius: 999px; background: #EEF2F8; font-size: 12.5px; font-weight: 700; color: var(--ink-2); }
.fm-req-new { font-size: 12.5px; font-weight: 700; color: var(--green); }
.fm-req-title { margin-top: 14px; font-size: 22px; font-weight: 780; letter-spacing: -0.02em; color: var(--ink); }
.fm-req-route { margin-top: 2px; font-size: 15px; font-weight: 600; color: var(--ink-2); }
.fm-req-route span { color: var(--blue-d); }
.fm-req-rows { margin: 14px 0 0; }
.fm-req-rows div { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-top: 1px solid #EEF1F5; font-size: 14px; }
.fm-req-rows dt { color: var(--muted); }
.fm-req-rows dd { margin: 0; font-weight: 600; color: var(--ink); }
.fm-req-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 14px; border-top: 1px solid #EEF1F5; }
.fm-req-hidden { display: inline-flex; gap: 6px; align-items: center; font-size: 12.5px; color: var(--muted); max-width: 230px; }
.fm-req-btn { flex: none; padding: 10px 16px; border-radius: 10px; background: var(--ink); color: #fff; font-size: 14px; font-weight: 700; }
/* proof */
.fm-proof { border-bottom: 1px solid var(--line); }
.fm-proof ul { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fm-proof li { padding: 26px 16px; text-align: center; position: relative; }
.fm-proof li + li::before { content: ""; position: absolute; left: 0; top: 26px; bottom: 26px; width: 1px; background: var(--line); }
.fm-proof strong { display: block; font-size: 30px; font-weight: 800; letter-spacing: -0.03em; color: var(--ink); }
.fm-proof span { font-size: 14px; color: var(--muted); }
/* sections */
.fm-sec { padding: 96px 0; }
.fm-tint { background: #F6F8FB; }
.fm-narrow { max-width: 920px; }
.fm-head { text-align: center; max-width: 720px; margin: 0 auto 52px; }
.fm-head h2 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1; letter-spacing: -0.03em; font-weight: 780; color: var(--ink); text-wrap: balance; }
.fm-head p { margin-top: 14px; font-size: 18px; line-height: 1.5; color: var(--ink-2); }
.fm-feat { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; padding: 40px 0; }
.fm-feat + .fm-feat { border-top: 1px solid var(--line); }
.fm-feat-flip .fm-feat-copy { order: 2; }
.fm-feat-copy h3 { font-size: 28px; line-height: 1.15; letter-spacing: -0.025em; font-weight: 780; color: var(--ink); }
.fm-feat-copy p { margin-top: 14px; font-size: 17px; line-height: 1.6; color: var(--ink-2); }
.fm-feat-ui { padding: 28px; border-radius: 22px; background: linear-gradient(180deg, #F4F7FC, #EEF3FB); border: 1px solid #E3E9F3; }
.fm-flow { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.fm-flow li { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: #fff; border: 1px solid var(--line); border-radius: 14px; }
.fm-flow li div { flex: 1; }
.fm-flow strong { display: block; font-size: 15.5px; color: var(--ink); }
.fm-flow small { font-size: 13px; color: var(--muted); }
.fm-flow em { font-style: normal; font-size: 14px; font-weight: 800; color: var(--green); }
.fm-flow li.on { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.fm-flow li.on em { color: var(--ink); }
.fm-flow-n { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #EEF2F8; font-size: 13px; font-weight: 800; color: var(--ink-2); }
.fm-flow li.on .fm-flow-n { background: var(--ink); color: #fff; }
.fm-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.fm-tags li { padding: 10px 14px; background: #fff; border: 1px solid var(--line); border-radius: 999px; font-size: 14.5px; font-weight: 600; color: var(--ink); }
.fm-approve { padding: 6px; }
.fm-approve-h { font-size: 13px; font-weight: 700; color: var(--muted); margin: 0 0 10px 4px; }
.fm-approve-row { display: flex; align-items: center; gap: 12px; padding: 12px 14px; margin-top: 8px; background: #fff; border: 1px solid var(--line); border-radius: 14px; opacity: .6; }
.fm-approve-row div { flex: 1; }
.fm-approve-row strong { display: block; font-size: 15px; color: var(--ink); }
.fm-approve-row small { font-size: 13px; color: var(--muted); }
.fm-approve-row.on { opacity: 1; border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.fm-ok { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--green); color: #fff; }
.fm-no { font-size: 12.5px; font-weight: 650; color: var(--muted); }
.fm-prof { padding: 20px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.fm-prof-head { display: flex; gap: 14px; align-items: center; }
.fm-prof-head strong { display: block; font-size: 17px; color: var(--ink); }
.fm-prof-head small { font-size: 13.5px; color: var(--muted); }
.fm-prof-list { list-style: none; margin: 16px 0 0; padding: 0; }
.fm-prof-list li { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid #EEF1F5; font-size: 14.5px; color: var(--ink); }
.fm-prof-list li .d-ic { color: var(--green); }
.fm-prof-list li.todo { color: var(--blue-d); font-weight: 650; }
.fm-prof-list li.todo span { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; border: 1.5px dashed var(--blue-d); font-size: 13px; line-height: 1; }
.fm-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; counter-reset: none; }
.fm-steps li { padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.fm-steps span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 14px; font-weight: 800; }
.fm-steps strong { display: block; margin-top: 16px; font-size: 18px; letter-spacing: -0.01em; color: var(--ink); }
.fm-steps p { margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--ink-2); }
.fm-cmp { border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: #fff; }
.fm-cmp-row { display: grid; grid-template-columns: 1.1fr 1fr 1.2fr; }
.fm-cmp-row > span { padding: 16px 20px; font-size: 15px; color: var(--ink-2); border-top: 1px solid var(--line); }
.fm-cmp-row > span:first-child { font-weight: 650; color: var(--ink); }
.fm-cmp-row > span:last-child { background: #F3F7FF; color: var(--ink); }
.fm-cmp-row > span:last-child b { font-weight: 700; }
.fm-cmp-th > span { border-top: 0; font-size: 13.5px; font-weight: 750; color: var(--muted); }
.fm-cmp-th > span:last-child { color: var(--blue-d); }
.fm-form { padding: 32px; background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 24px 60px -36px rgba(28,58,140,.35); }
.fm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.fm-span2 { grid-column: 1 / -1; }
.fm-field { display: flex; flex-direction: column; gap: 7px; }
.fm-field span { font-size: 14px; font-weight: 650; color: var(--ink); }
.fm-field small { font-weight: 500; color: var(--muted); }
.fm-field input, .fm-field select { height: 52px; padding: 0 14px; border: 1px solid #D3D7DE; border-radius: 12px; background: #fff; font: inherit; font-size: 16px; color: var(--ink); outline: 0; }
.fm-field input:focus, .fm-field select:focus { border-color: var(--ink); box-shadow: 0 0 0 4px rgba(14,20,48,.07); }
.fm-field input[readonly] { background: #F6F8FB; }
.fm-err { grid-column: 1 / -1; margin: -8px 0 0; font-size: 13.5px; font-weight: 600; color: var(--red); }
.fm-alert { margin-bottom: 16px; padding: 12px 14px; border-radius: 12px; background: var(--red-l); color: var(--red); font-weight: 600; }
.fm-jobs { border: 0; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.fm-jobs legend { width: 100%; margin-bottom: 10px; font-size: 14px; font-weight: 650; color: var(--ink); }
.fm-jobs label { cursor: pointer; }
.fm-jobs input { position: absolute; opacity: 0; pointer-events: none; }
.fm-jobs span { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border: 1px solid #D3D7DE; border-radius: 999px; font-size: 14.5px; font-weight: 600; color: var(--ink); }
.fm-jobs input:checked + span { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); background: #F6F8FB; }
.fm-jobs input:focus-visible + span { box-shadow: 0 0 0 3px rgba(47,111,237,.35); }
.fm-form .fm-btn-xl { width: 100%; margin-top: 26px; }
.fm-legal { margin-top: 14px; font-size: 12.5px; line-height: 1.55; color: var(--muted); }
.fm-legal a { color: inherit; text-decoration: underline; }
.fm-done { text-align: center; padding: 48px 24px; background: #fff; border: 1px solid var(--line); border-radius: 22px; }
.fm-done-ic { display: inline-grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--green-l); color: var(--green); }
.fm-done h2 { margin-top: 18px; font-size: 30px; letter-spacing: -0.02em; color: var(--ink); }
.fm-done p { margin: 12px auto 0; max-width: 34em; font-size: 17px; color: var(--ink-2); }
.fm-end { background: var(--ink); color: #fff; }
.fm-end-in { padding-top: 88px; padding-bottom: 88px; text-align: center; }
.fm-end h2 { font-size: clamp(32px, 3.6vw, 48px); letter-spacing: -0.03em; color: #fff; }
.fm-end p { margin: 14px 0 28px; font-size: 18px; color: rgba(255,255,255,.8); }
@media (max-width: 960px) {
  .fm-hero-in { grid-template-columns: minmax(0, 1fr); gap: 40px; padding-top: 44px; padding-bottom: 56px; }
  .fm-hero-visual { max-width: 420px; }
  .fm-feat { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .fm-feat-flip .fm-feat-copy { order: 0; }
  .fm-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fm-proof ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fm-proof li:nth-child(3)::before { display: none; }
}
@media (max-width: 600px) {
  .fm-sec { padding: 64px 0; }
  .fm-steps { grid-template-columns: minmax(0, 1fr); }
  .fm-grid { grid-template-columns: minmax(0, 1fr); }
  .fm-form { padding: 22px 18px; }
  .fm-cmp-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .fm-cmp-row > span:first-child { grid-column: 1 / -1; padding-bottom: 4px; border-top: 1px solid var(--line); }
  .fm-cmp-row > span:not(:first-child) { border-top: 0; padding-top: 6px; font-size: 14px; }
  .fm-cmp-th > span:first-child { display: none; }
  .fm-feat-ui { padding: 18px; }
}
/* ===== /for-movers/ v2: dark photo hero + product UI, fewer and stronger sections ===== */
.fx-hero { position: relative; isolation: isolate; overflow: hidden; background: #0A1120; color: #fff; }
.fx-hero-bg { position: absolute; inset: 0; z-index: -2; }
.fx-hero-bg img, .fx-hero-bg .fx-hero-img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 60%; display: block; aspect-ratio: auto !important; border-radius: 0 !important; }
.fx-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,13,26,.94) 0%, rgba(8,13,26,.82) 40%, rgba(8,13,26,.45) 72%, rgba(8,13,26,.30) 100%), linear-gradient(0deg, rgba(8,13,26,.75) 0%, rgba(8,13,26,0) 40%); }
.fx-hero-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; padding-top: 96px; padding-bottom: 104px; }
.fx-kick { font-size: 13.5px; font-weight: 700; letter-spacing: .02em; color: #9DBBFF; margin-bottom: 18px; }
.fx-kick-dark { color: var(--blue-d); }
.fx-hero h1 { font-size: clamp(42px, 5vw, 70px); line-height: 1.02; letter-spacing: -0.04em; font-weight: 780; color: #fff; }
.fx-hero h1 span { color: #A9C6FF; }
.fx-lead { margin-top: 22px; max-width: 31em; font-size: 19px; line-height: 1.55; color: rgba(255,255,255,.82); }
.fx-hero .fm-find { margin-top: 34px; max-width: 520px; }
.fx-hero .fm-find-bar { height: 62px; border: 0; box-shadow: 0 0 0 6px rgba(255,255,255,.12), 0 24px 50px -20px rgba(0,0,0,.6); }
.fx-hero .fm-results { top: calc(100% + 8px); color: var(--ink); }
.fx-hero .fm-found { color: var(--ink); }
.fx-hero-alt { margin-top: 16px; font-size: 14.5px; color: rgba(255,255,255,.7); }
.fx-hero-alt a { color: #fff; font-weight: 650; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: 3px; }
.fx-app { justify-self: end; width: 100%; max-width: 560px; border-radius: 20px; background: rgba(255,255,255,.96); color: var(--ink); box-shadow: 0 0 0 1px rgba(255,255,255,.2), 0 50px 100px -30px rgba(0,0,0,.7); overflow: hidden; transform: perspective(1600px) rotateY(-6deg) rotateX(2deg); }
.fx-app-bar { display: flex; align-items: center; gap: 7px; padding: 12px 16px; border-bottom: 1px solid #EEF1F5; background: #F7F8FB; }
.fx-app-bar span { width: 10px; height: 10px; border-radius: 50%; background: #DADFE7; }
.fx-app-bar p { margin-left: 10px; font-size: 13px; font-weight: 700; color: var(--ink-2); }
.fx-app-bar em { margin-left: auto; font-style: normal; font-size: 11.5px; font-weight: 700; color: var(--muted); padding: 3px 8px; border-radius: 999px; background: #EEF1F5; }
.fx-app-body { display: grid; grid-template-columns: 200px minmax(0, 1fr); }
.fx-inbox { list-style: none; margin: 0; padding: 8px; border-right: 1px solid #EEF1F5; }
.fx-inbox li { display: flex; flex-direction: column; gap: 3px; padding: 11px 12px; border-radius: 10px; }
.fx-inbox li.on { background: #EEF3FD; box-shadow: inset 3px 0 0 var(--blue); }
.fx-inbox strong { font-size: 13.5px; color: var(--ink); }
.fx-inbox small { font-size: 12px; color: var(--muted); }
.fx-pill { align-self: flex-start; margin-top: 4px; padding: 2px 8px; border-radius: 999px; background: #EEF1F5; font-style: normal; font-size: 11px; font-weight: 700; color: var(--muted); }
.fx-pill-go { background: var(--green-l); color: var(--green); }
.fx-detail { padding: 16px 18px 18px; }
.fx-detail-h { font-size: 15px; font-weight: 750; color: var(--ink); }
.fx-detail dl { margin: 10px 0 0; }
.fx-detail dl div { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 8px; padding: 7px 0; border-top: 1px solid #F0F2F6; font-size: 12.5px; }
.fx-detail dt { color: var(--muted); }
.fx-detail dd { margin: 0; font-weight: 600; color: var(--ink); }
.fx-quote { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: #F7F8FB; }
.fx-quote span { font-size: 12px; color: var(--muted); }
.fx-quote strong { font-size: 16px; font-weight: 800; color: var(--ink); }
.fx-quote em { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; font-style: normal; font-size: 12px; font-weight: 700; color: var(--green); }
.fx-lockbox { margin-top: 10px; padding: 12px; border-radius: 12px; border: 1px dashed #C9D2E2; }
.fx-locked { display: flex; align-items: center; gap: 8px; padding: 4px 0; font-size: 13px; font-weight: 600; color: var(--ink-2); filter: blur(.2px); }
.fx-locked svg { color: var(--muted); }
.fx-unlock { display: flex; justify-content: center; margin-top: 8px; padding: 10px; border-radius: 10px; background: var(--blue-d); color: #fff; font-size: 13.5px; font-weight: 750; }
.fx-strip { border-bottom: 1px solid var(--line); background: #fff; }
.fx-strip ul { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fx-strip li { padding: 28px 16px; text-align: center; position: relative; }
.fx-strip li + li::before { content: ""; position: absolute; left: 0; top: 28px; bottom: 28px; width: 1px; background: var(--line); }
.fx-strip strong { display: block; font-size: 30px; font-weight: 800; letter-spacing: -0.03em; color: var(--ink); }
.fx-strip span { font-size: 14px; color: var(--muted); }
.fx-sec { padding: 112px 0; }
.fx-head { max-width: 760px; margin: 0 auto 60px; text-align: center; }
.fx-head h2 { font-size: clamp(32px, 3.8vw, 50px); line-height: 1.06; letter-spacing: -0.035em; font-weight: 780; color: var(--ink); text-wrap: balance; }
.fx-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.fx-steps li { display: flex; flex-direction: column; }
.fx-mini { height: 168px; padding: 18px; border-radius: 18px; background: linear-gradient(180deg, #F4F7FC, #ECF1F9); border: 1px solid #E3E9F3; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.fx-mini-h { font-size: 12px; font-weight: 700; color: var(--muted); }
.fx-mini-t { font-size: 15px; font-weight: 750; color: var(--ink); }
.fx-mini-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.fx-mini-tags span { padding: 5px 10px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 12.5px; font-weight: 600; color: var(--ink-2); }
.fx-mini-price { font-size: 32px; font-weight: 800; letter-spacing: -0.03em; color: var(--ink); }
.fx-mini-btn { align-self: flex-start; padding: 9px 16px; border-radius: 10px; background: var(--ink); color: #fff; font-size: 13.5px; font-weight: 700; }
.fx-mini-blue { background: var(--blue-d); }
.fx-mini-lock { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 650; color: var(--ink-2); }
.fx-n { margin-top: 26px; font-size: 14px; font-weight: 800; color: var(--blue-d); letter-spacing: .04em; }
.fx-steps h3 { margin-top: 8px; font-size: 24px; letter-spacing: -0.02em; font-weight: 760; color: var(--ink); }
.fx-steps p { margin-top: 10px; font-size: 16.5px; line-height: 1.55; color: var(--ink-2); }
.fx-steps b { color: var(--ink); }
.fx-show { background: #F5F7FB; }
.fx-show-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: center; }
.fx-show-copy h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1.04; letter-spacing: -0.04em; font-weight: 780; color: var(--ink); }
.fx-show-copy > p { margin-top: 18px; font-size: 18px; line-height: 1.55; color: var(--ink-2); max-width: 30em; }
.fx-ticks { list-style: none; margin: 26px 0 0; padding: 0; }
.fx-ticks li { display: flex; gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid #E3E8F0; font-size: 16px; color: var(--ink); }
.fx-ticks .d-ic { flex: none; color: var(--green); }
.fx-ticket { padding: 28px; border-radius: 24px; background: #fff; border: 1px solid var(--line); box-shadow: 0 2px 4px rgba(14,20,48,.04), 0 40px 80px -40px rgba(28,58,140,.4); }
.fx-ticket-top { display: flex; justify-content: space-between; align-items: center; }
.fx-ticket-id { font-size: 12.5px; font-weight: 700; color: var(--muted); }
.fx-ticket-h { margin-top: 16px; font-size: 26px; font-weight: 800; letter-spacing: -0.025em; color: var(--ink); }
.fx-ticket-r { margin-top: 4px; font-size: 15.5px; color: var(--ink-2); }
.fx-ticket dl { margin: 18px 0 0; }
.fx-ticket dl div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-top: 1px solid #EEF1F5; font-size: 15px; }
.fx-ticket dt { color: var(--muted); }
.fx-ticket dd { margin: 0; font-weight: 650; color: var(--ink); }
.fx-big-in { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
.fx-big h3 { font-size: clamp(26px, 2.6vw, 34px); line-height: 1.1; letter-spacing: -0.03em; font-weight: 780; color: var(--ink); }
.fx-big p { margin-top: 14px; font-size: 17px; line-height: 1.55; color: var(--ink-2); }
.fx-big-in > div { padding-top: 22px; border-top: 2px solid var(--ink); }
.fx-claim { background: #0A1120; color: #fff; padding: 112px 0; }
.fx-claim-in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 64px; align-items: start; }
.fx-claim-copy h2 { font-size: clamp(34px, 4vw, 52px); line-height: 1.04; letter-spacing: -0.04em; font-weight: 780; color: #fff; }
.fx-claim-copy > p { margin-top: 18px; font-size: 18px; line-height: 1.55; color: rgba(255,255,255,.78); }
.fx-claim-list { list-style: none; margin: 26px 0 0; padding: 0; }
.fx-claim-list li { display: flex; gap: 10px; align-items: center; padding: 8px 0; font-size: 16px; color: rgba(255,255,255,.9); }
.fx-claim-list .d-ic { color: #6EE7A0; }
.fx-claim-card .fm-form { box-shadow: 0 40px 80px -30px rgba(0,0,0,.6); border: 0; }
.fx-claim .fm-done { color: var(--ink); grid-column: 1 / -1; }
@media (max-width: 1080px) {
  .fx-app-body { grid-template-columns: 170px minmax(0, 1fr); }
}
@media (max-width: 960px) {
  .fx-hero-in, .fx-show-in, .fx-claim-in { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .fx-hero-in { padding-top: 56px; padding-bottom: 64px; }
  .fx-app { justify-self: stretch; max-width: none; transform: none; }
  .fx-steps, .fx-big-in { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .fx-strip ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fx-strip li:nth-child(3)::before { display: none; }
  .fx-sec, .fx-claim { padding: 80px 0; }
}
@media (max-width: 600px) {
  .fx-hero h1 { font-size: 40px; }
  .fx-lead { font-size: 17px; }
  .fx-app-body { grid-template-columns: minmax(0, 1fr); }
  .fx-inbox { display: flex; gap: 6px; overflow-x: auto; border-right: 0; border-bottom: 1px solid #EEF1F5; }
  .fx-inbox li { flex: none; min-width: 170px; }
  .fx-ticket { padding: 20px; }
  .fx-ticket dl div { grid-template-columns: 92px minmax(0, 1fr); font-size: 14px; }
  .fx-sec, .fx-claim { padding: 64px 0; }
}
.fx-claim-copy h2, .fx-show-copy h2, .fx-hero h1 { text-wrap: balance; }
.fx-claim-copy h2 { max-width: 12ch; }
/* For movers v3: free quotes first; simple steps; claim -> /for-movers/join/ */
.fx-free { display: flex; align-items: center; gap: 12px; margin-top: 10px; padding: 12px 14px; border-radius: 12px; background: var(--green-l); }
.fx-free-n { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: #fff; font-size: 16px; font-weight: 800; color: var(--green); box-shadow: 0 1px 2px rgba(11,122,59,.15); }
.fx-free strong { display: block; font-size: 14px; color: #0E5530; }
.fx-free small { font-size: 12px; color: #2F6B49; }
.fx-simple { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; max-width: 1080px; position: relative; }
.fx-simple li { padding: 0 32px; text-align: center; position: relative; }
.fx-simple li + li::before { content: ""; position: absolute; left: 0; top: 28px; width: 1px; height: 60%; background: var(--line); }
.fx-simple span { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 20px; font-weight: 800; }
.fx-simple h3 { margin-top: 22px; font-size: 24px; letter-spacing: -0.02em; font-weight: 760; color: var(--ink); }
.fx-simple p { margin: 10px auto 0; max-width: 22em; font-size: 16.5px; line-height: 1.55; color: var(--ink-2); }
.fx-claim-solo { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
.fx-claim-solo .fx-claim-copy { max-width: 620px; }
.fx-claim-solo .fx-claim-copy h2 { max-width: none; }
.fx-claim-solo .fm-find { margin: 30px auto 0; text-align: left; }
.fx-claim .fm-find-bar { height: 62px; border: 0; box-shadow: 0 0 0 6px rgba(255,255,255,.12), 0 24px 50px -20px rgba(0,0,0,.6); }
.fx-claim .fm-results { top: calc(100% + 8px); color: var(--ink); }
.fx-claim .fm-found { color: var(--ink); text-align: left; }
.fx-claim .fx-hero-alt { text-align: center; }
@media (max-width: 960px) {
  .fx-simple { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .fx-simple li + li::before { display: none; }
}
/* /for-movers/join/: focused sign-up */
.fj-page main { background: #F5F7FB; }
.fj { padding: 48px 16px 72px; }
.fj-card { max-width: 620px; margin: 0 auto; padding: 36px 40px 34px; background: #fff; border-radius: 24px; border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(14,20,48,.05), 0 24px 60px -32px rgba(28,58,140,.3); }
.fj-kick { font-size: 13.5px; font-weight: 700; color: var(--blue-d); }
.fj-card h1 { margin-top: 8px; font-size: clamp(28px, 3vw, 36px); letter-spacing: -0.03em; font-weight: 780; color: var(--ink); }
.fj-sub { margin-top: 10px; font-size: 16.5px; line-height: 1.5; color: var(--ink-2); }
.fj-co { display: flex; align-items: center; gap: 14px; margin: 24px 0 4px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 16px; background: #FAFBFD; }
.fj-co-name { font-size: 16.5px; font-weight: 750; color: var(--ink); }
.fj-co-city { font-size: 13.5px; color: var(--muted); }
.fj-co-change { margin-left: auto; font-size: 14px; font-weight: 650; color: var(--blue-d); }
.fj-form { margin-top: 24px; }
.fj-form .fm-btn-xl { width: 100%; margin-top: 26px; }
.fj-done { text-align: center; padding: 12px 0; }
.fj-done h1 { margin-top: 16px; }
.fj-done p { margin: 12px auto 22px; max-width: 30em; font-size: 16.5px; color: var(--ink-2); }
.fj-trust { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 22px; margin: 22px auto 0; padding: 0; font-size: 14px; font-weight: 600; color: var(--ink-2); }
.fj-trust li { display: inline-flex; align-items: center; gap: 6px; }
.fj-trust .d-ic { color: var(--green); }
@media (max-width: 600px) {
  .fj { padding: 16px 12px 56px; }
  .fj-card { padding: 24px 20px; border-radius: 20px; }
}
/* ===== /for-movers/ v4: live product demo, logo wall, bento, timeline ===== */
.lx-hero .fx-hero-in { padding-top: 104px; padding-bottom: 120px; }
.lx-demo { justify-self: end; width: 100%; max-width: 580px; border-radius: 22px; background: rgba(255,255,255,.97); color: var(--ink); overflow: hidden;
  box-shadow: 0 0 0 1px rgba(255,255,255,.25), 0 2px 6px rgba(0,0,0,.2), 0 60px 120px -40px rgba(0,0,0,.8); }
.lx-demo-bar { display: flex; align-items: center; gap: 7px; padding: 13px 16px; background: #F6F7FA; border-bottom: 1px solid #ECEFF4; }
.lx-demo-bar span { width: 10px; height: 10px; border-radius: 50%; background: #DCE0E7; }
.lx-demo-bar p { margin-left: 10px; font-size: 13px; font-weight: 700; color: var(--ink-2); }
.lx-demo-bar em { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-style: normal; font-size: 11.5px; font-weight: 700; color: var(--green); }
.lx-demo-bar em::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #16A34A; box-shadow: 0 0 0 3px rgba(22,163,74,.2); animation: lxPulse 1.6s ease-in-out infinite; }
@keyframes lxPulse { 50% { box-shadow: 0 0 0 6px rgba(22,163,74,0); } }
.lx-demo-body { display: grid; grid-template-columns: 200px minmax(0, 1fr); min-height: 340px; }
.lx-inbox { list-style: none; margin: 0; padding: 10px 8px; border-right: 1px solid #ECEFF4; background: #FBFCFD; }
.lx-item { display: flex; flex-direction: column; gap: 2px; padding: 11px 12px; border-radius: 11px; margin-bottom: 4px; transition: background .3s, box-shadow .3s, opacity .3s, transform .45s var(--ease, ease); }
.lx-item b { font-size: 13.5px; color: var(--ink); }
.lx-item small { font-size: 11.5px; color: var(--muted); }
.lx-item i { align-self: flex-start; margin-top: 5px; padding: 2px 8px; border-radius: 999px; font-style: normal; font-size: 10.5px; font-weight: 800; background: #E7EEFF; color: var(--blue-d); }
.lx-item i.done { background: #EEF1F5; color: var(--muted); }
.lx-new { opacity: 0; transform: translateY(-12px); max-height: 0; padding-top: 0; padding-bottom: 0; margin: 0; overflow: hidden; }
.lx-demo.s1 .lx-new { opacity: 1; transform: none; max-height: 90px; padding: 11px 12px; margin-bottom: 4px; background: #fff; box-shadow: inset 3px 0 0 var(--blue), 0 4px 14px -6px rgba(28,58,140,.3); }
.lx-demo.s5 .lx-new i { background: var(--green-l); color: var(--green); }
.lx-pane { position: relative; padding: 18px 20px 20px; }
.lx-pane-h { display: flex; flex-direction: column; gap: 2px; min-height: 42px; opacity: 0; transition: opacity .4s; }
.lx-pane-h span { font-size: 16px; font-weight: 780; letter-spacing: -0.01em; color: var(--ink); }
.lx-pane-h small { font-size: 12.5px; color: var(--muted); }
.lx-demo.s2 .lx-pane-h { opacity: 1; }
.lx-rows { margin: 12px 0 0; min-height: 112px; }
.lx-rows div { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 8px; padding: 7px 0; border-top: 1px solid #F0F2F6; font-size: 12.5px; opacity: 0; transform: translateY(4px); transition: opacity .35s, transform .35s; }
.lx-rows div.in { opacity: 1; transform: none; }
.lx-rows dt { color: var(--muted); }
.lx-rows dd { margin: 0; font-weight: 600; color: var(--ink); }
.lx-quote { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 10px; margin-top: 12px; opacity: 0; transition: opacity .4s; }
.lx-demo.s3 .lx-quote { opacity: 1; }
.lx-quote label { grid-column: 1 / -1; font-size: 11.5px; font-weight: 700; color: var(--muted); margin-bottom: 6px; }
.lx-field { display: flex; align-items: center; height: 42px; padding: 0 12px; border: 1.5px solid var(--ink); border-radius: 10px; font-size: 17px; font-weight: 800; color: var(--ink); }
.lx-caret { width: 2px; height: 20px; margin-left: 2px; background: var(--blue); animation: lxBlink 1s steps(1) infinite; }
.lx-demo.s4 .lx-caret { display: none; }
@keyframes lxBlink { 50% { opacity: 0; } }
.lx-quote button { position: relative; height: 42px; padding: 0 16px; border: 0; border-radius: 10px; background: var(--blue-d); color: #fff; font: inherit; font-size: 13.5px; font-weight: 750; overflow: hidden; transition: background .3s, transform .15s; }
.lx-demo.s4 .lx-quote button { transform: scale(.96); }
.lx-demo.s5 .lx-quote button { background: var(--green); transform: none; }
.lx-btn-b { display: none; align-items: center; gap: 5px; }
.lx-demo.s5 .lx-btn-a { display: none; }
.lx-demo.s5 .lx-btn-b { display: inline-flex; }
.lx-toast { display: flex; align-items: center; gap: 8px; margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: var(--green-l); color: #0E5530; font-size: 12.5px; font-weight: 700; opacity: 0; transform: translateY(6px); transition: opacity .4s, transform .4s; }
.lx-toast .d-ic { color: var(--green); flex: none; }
.lx-demo.s5 .lx-toast { opacity: 1; transform: none; }
/* logo wall */
.lx-logos { padding: 44px 0 40px; border-bottom: 1px solid var(--line); background: #fff; overflow: hidden; }
.lx-logos-h { text-align: center; font-size: 15px; color: var(--muted); margin-bottom: 26px; padding: 0 16px; }
.lx-logos-h strong { color: var(--ink); font-weight: 750; }
.lx-marquee { position: relative; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.lx-track { display: flex; align-items: center; gap: 56px; width: max-content; animation: lxMarq 70s linear infinite; }
.lx-track img { flex: none; filter: grayscale(1); opacity: .7; transition: filter .2s, opacity .2s; }
.lx-track img:hover { filter: none; opacity: 1; }
.lx-marquee:hover .lx-track { animation-play-state: paused; }
@keyframes lxMarq { to { transform: translateX(-50%); } }
/* sections */
.lx-sec { padding: 120px 0; }
.lx-sec-tint { background: #F6F8FB; }
.lx-head { max-width: 760px; margin: 0 auto 64px; text-align: center; }
.lx-head h2 { font-size: clamp(34px, 4.2vw, 56px); line-height: 1.04; letter-spacing: -0.04em; font-weight: 780; color: var(--ink); text-wrap: balance; }
/* bento */
.lx-bento { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.lx-tile { position: relative; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; min-height: 300px; padding: 30px; border-radius: 24px; background: #F5F7FB; border: 1px solid #E8ECF3; overflow: hidden; }
.lx-t-a { grid-column: span 4; background: var(--ink); color: #fff; border-color: transparent; }
.lx-t-b { grid-column: span 2; }
.lx-t-c, .lx-t-d, .lx-t-e { grid-column: span 2; }
.lx-tile h3 { font-size: 23px; line-height: 1.15; letter-spacing: -0.025em; font-weight: 780; color: var(--ink); }
.lx-tile-copy p { margin-top: 8px; font-size: 15.5px; line-height: 1.5; color: var(--ink-2); }
.lx-t-a h3 { font-size: 30px; color: #fff; }
.lx-t-a .lx-tile-copy p { color: rgba(255,255,255,.72); max-width: 30em; }
.lx-quotes { display: flex; flex-direction: column; gap: 8px; }
.lx-quotes div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 4px 16px; padding: 12px 16px; border-radius: 14px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); }
.lx-quotes b { font-size: 14.5px; color: #fff; }
.lx-quotes small { grid-row: 2; font-size: 12.5px; color: rgba(255,255,255,.55); }
.lx-quotes span { grid-row: span 2; font-size: 17px; font-weight: 800; color: #fff; }
.lx-quotes em { grid-row: span 2; font-style: normal; padding: 4px 10px; border-radius: 999px; background: rgba(110,231,160,.16); color: #6EE7A0; font-size: 12.5px; font-weight: 800; }
.lx-toggles { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lx-toggles li { display: flex; align-items: center; justify-content: space-between; padding: 11px 14px; border-radius: 12px; background: #fff; border: 1px solid var(--line); font-size: 14px; font-weight: 650; color: var(--ink); }
.lx-toggles i { width: 34px; height: 20px; border-radius: 999px; background: #D8DDE6; position: relative; }
.lx-toggles i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.2); transition: left .2s; }
.lx-toggles li.on i { background: var(--blue-d); }
.lx-toggles li.on i::after { left: 16px; }
.lx-radar { position: relative; height: 170px; }
.lx-ring { position: absolute; left: 50%; top: 50%; border-radius: 50%; border: 1px dashed #C4CEDF; transform: translate(-50%, -50%); }
.lx-ring.r1 { width: 70px; height: 70px; background: rgba(47,111,237,.10); border-style: solid; border-color: rgba(47,111,237,.3); }
.lx-ring.r2 { width: 130px; height: 130px; }
.lx-ring.r3 { width: 190px; height: 190px; }
.lx-pin { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 5px 10px; border-radius: 999px; background: var(--ink); color: #fff; font-size: 12px; font-weight: 750; }
.lx-town { position: absolute; padding: 3px 9px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 11.5px; font-weight: 650; color: var(--ink-2); }
.lx-town.t1 { left: 8%; top: 14%; }
.lx-town.t2 { right: 4%; top: 24%; }
.lx-town.t3 { left: 2%; bottom: 18%; }
.lx-town.t4 { right: 10%; bottom: 8%; }
.lx-prof { padding: 16px; border-radius: 16px; background: #fff; border: 1px solid var(--line); }
.lx-prof-h { display: flex; align-items: center; gap: 12px; }
.lx-prof-h b { display: block; font-size: 15px; color: var(--ink); }
.lx-prof-h small { font-size: 12.5px; color: var(--green); font-weight: 650; }
.lx-ph { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; background: #EEF2F8; font-size: 13px; font-weight: 800; color: var(--ink-2); }
.lx-prof-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.lx-prof-tags span { padding: 4px 10px; border-radius: 999px; background: #F3F5F9; font-size: 12px; font-weight: 650; color: var(--ink-2); }
.lx-rank { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lx-rank li { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: #fff; border: 1px solid var(--line); }
.lx-rank li i { flex: 1; height: 10px; border-radius: 6px; background: #EEF1F5; }
.lx-rank li.me { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.lx-rank li.me .lx-ph { background: var(--ink); color: #fff; }
.lx-rank b { flex: 1; font-size: 14px; color: var(--ink); }
.lx-rank em { font-style: normal; padding: 3px 9px; border-radius: 999px; background: var(--green-l); color: var(--green); font-size: 11.5px; font-weight: 800; }
/* timeline steps */
.lx-steps { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; max-width: 1080px; position: relative; }
.lx-steps::before { content: ""; position: absolute; top: 27px; left: 16.6%; right: 16.6%; height: 2px; background: linear-gradient(90deg, var(--ink), #C9D2E2); }
.lx-steps li { position: relative; text-align: center; }
.lx-steps span { position: relative; display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #fff; border: 2px solid var(--ink); color: var(--ink); font-size: 20px; font-weight: 800; box-shadow: 0 0 0 8px #F6F8FB; }
.lx-steps li:first-child span { background: var(--ink); color: #fff; }
.lx-steps h3 { margin-top: 24px; font-size: 24px; letter-spacing: -0.02em; font-weight: 760; color: var(--ink); }
.lx-steps p { margin: 10px auto 0; max-width: 22em; font-size: 16.5px; line-height: 1.55; color: var(--ink-2); }
/* claim + faq */
.lx-claim { position: relative; overflow: hidden; }
.lx-claim::before { content: ""; position: absolute; left: 50%; top: -40%; width: 900px; height: 600px; transform: translateX(-50%); background: radial-gradient(closest-side, rgba(47,111,237,.35), rgba(47,111,237,0)); pointer-events: none; }
.lx-claim .wrap { position: relative; }
.lx-faq { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.lx-faq-head h2 { font-size: clamp(32px, 3.6vw, 48px); line-height: 1.05; letter-spacing: -0.035em; font-weight: 780; color: var(--ink); }
.lx-faq-head p { margin-top: 14px; font-size: 16px; color: var(--muted); }
.lx-faq-head a { color: var(--blue-d); font-weight: 650; }
.lx-faq-head { position: sticky; top: 110px; }
@media (max-width: 1080px) {
  .lx-demo-body { grid-template-columns: 170px minmax(0, 1fr); }
}
@media (max-width: 960px) {
  .lx-hero .fx-hero-in { padding-top: 56px; padding-bottom: 64px; }
  .lx-demo { justify-self: stretch; max-width: none; }
  .lx-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lx-t-a { grid-column: 1 / -1; }
  .lx-t-b, .lx-t-c, .lx-t-d, .lx-t-e { grid-column: span 1; }
  .lx-steps { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .lx-steps::before { display: none; }
  .lx-faq { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .lx-faq-head { position: static; }
  .lx-sec { padding: 80px 0; }
}
@media (max-width: 600px) {
  .lx-demo-body { grid-template-columns: minmax(0, 1fr); }
  .lx-inbox { display: none; }
  .lx-bento { grid-template-columns: minmax(0, 1fr); }
  .lx-t-b, .lx-t-c, .lx-t-d, .lx-t-e { grid-column: 1 / -1; }
  .lx-tile { min-height: 0; padding: 22px; }
  .lx-track { gap: 40px; }
  .lx-sec { padding: 64px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .lx-track { animation: none; flex-wrap: wrap; justify-content: center; width: auto; }
  .lx-demo-bar em::before, .lx-caret { animation: none; }
}
.lx-item small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lx-demo.s1 .lx-new { max-height: 120px; }
.lx-tile:not(.lx-t-a) { justify-content: flex-start; }
.lx-tile:not(.lx-t-a) .lx-ui { margin-top: auto; }
.lx-faq-head h2 { text-wrap: balance; }
.lx-track img { opacity: .78; }
/* ===== /for-movers/ v5: real product, calm type, no template tells ===== */
.fm-page main { background: #fff; }
.mx-hero { padding: 72px 0 88px; }
.mx-hero-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 72px; align-items: center; }
.mx-hero h1 { font-size: clamp(44px, 5.2vw, 76px); line-height: 1; letter-spacing: -0.045em; font-weight: 760; color: var(--ink); max-width: 11ch; }
.mx-lead { margin-top: 26px; max-width: 30em; font-size: 19px; line-height: 1.55; color: #4A5368; }
.mx-hero .fm-find { margin-top: 36px; max-width: 500px; }
.mx-hero .fm-find-bar, .mx-start .fm-find-bar { height: 58px; border-radius: 12px; border: 1px solid #CBD1DB; box-shadow: none; }
.mx-hero .fm-find-bar:focus-within, .mx-start .fm-find-bar:focus-within { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(14,20,48,.08); }
.mx-alt { margin-top: 14px; font-size: 15px; color: #5C6578; }
.mx-alt a { color: var(--ink); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.mx-hero-pic { margin: 0; border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 4.4; }
.mx-hero-pic img, .mx-hero-pic .mx-hero-img { width: 100%; height: 100%; object-fit: cover; object-position: 62% 60%; display: block; aspect-ratio: auto !important; border-radius: 0 !important; }
.mx-logos { border-top: 1px solid #ECEEF2; border-bottom: 1px solid #ECEEF2; padding: 26px 0; overflow: hidden; }
.mx-logos-in { display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: center; gap: 24px; }
.mx-logos-h { font-size: 14px; font-weight: 600; color: #5C6578; }
.mx-logos .lx-track { gap: 52px; animation-duration: 80s; }
.mx-statement { padding: 128px 0 112px; }
.mx-big { max-width: 21em; font-size: clamp(30px, 3.4vw, 46px); line-height: 1.18; letter-spacing: -0.03em; font-weight: 650; color: var(--ink); }
.mx-nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 72px 0 0; border-top: 1px solid var(--ink); }
.mx-nums div { display: flex; flex-direction: column-reverse; padding: 22px 24px 0 0; }
.mx-nums div + div { padding-left: 24px; border-left: 1px solid #E3E6EC; }
.mx-nums dd { margin: 0; font-size: clamp(48px, 5.6vw, 84px); line-height: 1; letter-spacing: -0.05em; font-weight: 700; color: var(--ink); }
.mx-nums dt { margin-top: 10px; font-size: 15px; color: #5C6578; }
.mx-feat { padding: 120px 0; }
.mx-feat-tint { background: #F6F7F9; }
.mx-feat-in { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 80px; align-items: center; }
.mx-flip { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.mx-feat-copy h2, .mx-free h2, .mx-start h2 { font-size: clamp(32px, 3.6vw, 50px); line-height: 1.05; letter-spacing: -0.04em; font-weight: 740; color: var(--ink); text-wrap: balance; }
.mx-feat-copy p { margin-top: 20px; font-size: 18px; line-height: 1.6; color: #4A5368; max-width: 30em; }
.mx-where { margin: 32px 0 0; border-top: 1px solid #E3E6EC; }
.mx-where div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid #E3E6EC; }
.mx-where dt { font-size: 15px; font-weight: 650; color: var(--ink); }
.mx-where dd { margin: 0; font-size: 15px; color: #5C6578; }
.mx-shot { margin: 0; }
.mx-shot img { display: block; width: 100%; height: auto; border-radius: 14px; border: 1px solid #E3E6EC; box-shadow: 0 1px 2px rgba(14,20,48,.04), 0 30px 60px -30px rgba(14,20,48,.25); background: #fff; }
.mx-shot figcaption { margin-top: 14px; font-size: 13.5px; color: #6B7385; }
.mx-shot-r img { max-height: 640px; object-fit: cover; object-position: top; }
.mx-free { padding: 128px 0; background: var(--ink); color: #fff; }
.mx-free-in { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 72px; align-items: center; }
.mx-free-n { font-size: clamp(120px, 16vw, 240px); line-height: .85; letter-spacing: -0.06em; font-weight: 700; color: #fff; }
.mx-free h2 { color: #fff; max-width: 14em; }
.mx-free p { margin-top: 20px; font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.72); max-width: 30em; }
.mx-start { padding: 120px 0; border-bottom: 1px solid #ECEEF2; }
.mx-start-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; align-items: start; }
.mx-start-in > div > p { margin-top: 18px; font-size: 18px; line-height: 1.55; color: #4A5368; max-width: 28em; }
.mx-start .fm-find { margin-top: 30px; max-width: 480px; }
.mx-start-steps { list-style: none; margin: 8px 0 0; padding: 0; counter-reset: st; border-top: 1px solid var(--ink); }
.mx-start-steps li { counter-increment: st; display: grid; grid-template-columns: 44px minmax(0, 1fr); row-gap: 4px; padding: 22px 0; border-bottom: 1px solid #E3E6EC; }
.mx-start-steps li::before { content: counter(st, decimal-leading-zero); grid-row: span 2; font-size: 14px; font-weight: 700; color: #8A92A3; padding-top: 3px; font-variant-numeric: tabular-nums; }
.mx-start-steps b { font-size: 18px; font-weight: 700; color: var(--ink); }
.mx-start-steps span { font-size: 15.5px; color: #5C6578; }
.mx-faq-sec { padding: 120px 0; }
@media (max-width: 960px) {
  .mx-hero { padding: 40px 0 56px; }
  .mx-hero-in, .mx-feat-in, .mx-flip, .mx-start-in, .mx-free-in { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .mx-hero-pic { aspect-ratio: 16 / 10; }
  .mx-flip .mx-shot { order: 2; }
  .mx-logos-in { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .mx-statement, .mx-feat, .mx-free, .mx-start, .mx-faq-sec { padding: 80px 0; }
}
@media (max-width: 600px) {
  .mx-nums { grid-template-columns: minmax(0, 1fr); }
  .mx-nums div + div { padding-left: 0; border-left: 0; border-top: 1px solid #E3E6EC; margin-top: 18px; }
  .mx-where div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .mx-statement, .mx-feat, .mx-free, .mx-start, .mx-faq-sec { padding: 64px 0; }
}
.mx-free .mx-free-n { margin: 0; font-size: clamp(120px, 16vw, 240px); line-height: .85; letter-spacing: -0.06em; font-weight: 700; color: #fff; }
/* hero with the street photo: crew on the left, words on the right over a soft daylight fade */
.mx-photo { position: relative; isolation: isolate; padding: 0; min-height: min(720px, calc(100svh - 100px)); display: flex; align-items: center; overflow: hidden; }
.mx-photo-bg { position: absolute; inset: 0; z-index: -2; }
.mx-photo-bg img, .mx-photo-bg .mx-photo-img { width: 100%; height: 100%; object-fit: cover; object-position: 20% 50%; display: block; aspect-ratio: auto !important; border-radius: 0 !important; }
.mx-photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(270deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.93) 34%, rgba(255,255,255,.55) 52%, rgba(255,255,255,0) 66%); }
.mx-photo-in { display: flex; justify-content: flex-end; width: 100%; padding-top: 80px; padding-bottom: 80px; }
.mx-photo .mx-hero-copy { width: min(540px, 46%); }
@media (max-width: 960px) {
  .mx-photo { display: block; min-height: 0; }
  .mx-photo-bg { position: relative; height: 300px; }
  .mx-photo-bg img, .mx-photo-bg .mx-photo-img { object-position: 12% 50%; }
  .mx-photo::before { display: none; }
  .mx-photo-in { padding-top: 36px; padding-bottom: 56px; }
  .mx-photo .mx-hero-copy { width: 100%; }
}
@media (max-width: 600px) {
  .mx-photo-bg { height: 230px; }
}
.lx-ad { border-top: 1px solid #ECEEF2; }
/* For movers: the benefits, as a checklist */
.bn { padding: 104px 0 24px; }
.bn-in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 64px; align-items: start; }
.bn h2 { font-size: clamp(32px, 3.6vw, 48px); line-height: 1.05; letter-spacing: -0.04em; font-weight: 780; color: var(--ink); text-wrap: balance; position: sticky; top: 110px; }
.bn-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.bn-list li { display: flex; gap: 14px; padding: 22px 0; border-top: 1px solid #E5E8EE; }
.bn-ck { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--green-l); color: var(--green); margin-top: 1px; }
.bn-list b { display: block; font-size: 17.5px; letter-spacing: -0.01em; color: var(--ink); }
.bn-list span { display: block; margin-top: 5px; font-size: 15.5px; line-height: 1.5; color: var(--ink-2); }
@media (max-width: 960px) {
  .bn { padding: 72px 0 8px; }
  .bn-in { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .bn h2 { position: static; }
}
@media (max-width: 600px) {
  .bn-list { grid-template-columns: minmax(0, 1fr); }
}
/* For movers hero with the street photo: photo band on top (crew visible on the left), words + live demo below, demo overlapping the photo */
.lx-photohero::before { display: none; }
.lx-photohero .fx-hero-bg { position: relative; inset: auto; z-index: 0; height: clamp(320px, 34vw, 500px); }
.lx-photohero .fx-hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,17,32,0) 0%, rgba(10,17,32,0) 55%, rgba(10,17,32,.75) 85%, #0A1120 100%); }
.lx-photohero .fx-hero-bg img, .lx-photohero .fx-hero-bg .fx-hero-img { object-position: 30% 42%; }
.lx-photohero .fx-hero-in { position: relative; z-index: 1; margin-top: -230px; padding-top: 0; padding-bottom: 104px; align-items: start; }
.lx-photohero .fx-hero-copy { padding-top: 260px; }
@media (max-width: 960px) {
  .lx-photohero .fx-hero-bg { height: 280px; }
  .lx-photohero .fx-hero-bg img, .lx-photohero .fx-hero-bg .fx-hero-img { object-position: 18% 45%; }
  .lx-photohero .fx-hero-in { margin-top: -40px; padding-bottom: 56px; }
  .lx-photohero .fx-hero-copy { padding-top: 0; }
}
@media (max-width: 600px) {
  .lx-photohero .fx-hero-bg { height: 220px; }
}
@media (min-width: 961px) {
  .lx-photohero .fx-hero-bg { height: clamp(300px, 25vw, 400px); }
  .lx-photohero .fx-hero-in { margin-top: -190px; padding-bottom: 96px; }
  .lx-photohero .fx-hero-copy { padding-top: 205px; }
  .lx-photohero h1 { font-size: clamp(40px, 4.4vw, 62px); }
  .lx-photohero .fx-kick { margin-bottom: 12px; }
}
/* For movers: desktop hero back to the full-bleed layout (photo behind, words left, live demo right); phones keep the photo band */
@media (min-width: 961px) {
  .lx-photohero::before { display: block; background: linear-gradient(90deg, rgba(8,13,26,.92) 0%, rgba(8,13,26,.82) 38%, rgba(8,13,26,.5) 66%, rgba(8,13,26,.38) 100%), linear-gradient(0deg, rgba(8,13,26,.7) 0%, rgba(8,13,26,0) 45%); }
  .lx-photohero .fx-hero-bg { position: absolute; inset: 0; z-index: -2; height: auto; }
  .lx-photohero .fx-hero-bg::after { display: none; }
  .lx-photohero .fx-hero-bg img, .lx-photohero .fx-hero-bg .fx-hero-img { object-position: 35% 40%; }
  .lx-photohero .fx-hero-in { margin-top: 0; padding-top: 104px; padding-bottom: 120px; align-items: center; }
  .lx-photohero .fx-hero-copy { padding-top: 0; }
  .lx-photohero h1 { font-size: clamp(42px, 5vw, 70px); }
  .lx-photohero .fx-kick { margin-bottom: 18px; }
}
/* ===== Below the hero: one story — three acts, what's free, claim ===== */
.gx-acts { padding: 128px 0 112px; }
.gx-head { max-width: 820px; margin: 0 0 64px; }
.gx-head h2 { font-size: clamp(34px, 4.2vw, 58px); line-height: 1.03; letter-spacing: -0.045em; font-weight: 780; color: var(--ink); text-wrap: balance; }
.gx-head p { margin-top: 16px; font-size: 19px; color: #5C6578; }
.gx-show { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 56px; align-items: start; }
.gx-tabs { list-style: none; margin: 0; padding: 0; border-top: 1px solid #E3E6EC; }
.gx-tabs li { border-bottom: 1px solid #E3E6EC; }
.gx-tabs button { position: relative; display: grid; grid-template-columns: 40px minmax(0, 1fr); width: 100%; padding: 26px 0 28px; border: 0; background: none; text-align: left; font: inherit; cursor: pointer; color: inherit; }
.gx-n { grid-row: span 2; padding-top: 4px; font-size: 13.5px; font-weight: 750; color: #9AA1AF; font-variant-numeric: tabular-nums; transition: color .3s; }
.gx-tabs b { font-size: 24px; letter-spacing: -0.025em; font-weight: 760; color: #9AA1AF; transition: color .3s; }
.gx-d { grid-column: 2; display: block; max-height: 0; overflow: hidden; opacity: 0; margin-top: 0; font-size: 16.5px; line-height: 1.55; color: #4A5368; transition: max-height .5s var(--ease, ease), opacity .4s, margin .4s; }
.gx-tabs button[aria-selected="true"] b { color: var(--ink); }
.gx-tabs button[aria-selected="true"] .gx-n { color: var(--blue-d); }
.gx-tabs button[aria-selected="true"] .gx-d { max-height: 160px; opacity: 1; margin-top: 10px; }
.gx-tabs button:hover b { color: var(--ink); }
.gx-bar { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: transparent; overflow: hidden; }
.gx-bar i { display: block; width: 0; height: 100%; background: var(--ink); }
.gx-tabs button[aria-selected="true"] .gx-bar i { animation: gxFill var(--gx-t, 7s) linear forwards; }
.gx-show.paused .gx-bar i { animation: none !important; width: 0; }
.gx-show.paused .gx-tabs button[aria-selected="true"] .gx-bar i { width: 100%; }
@keyframes gxFill { to { width: 100%; } }
.gx-stage { position: relative; min-height: 560px; }
.gx-panel { margin: 0; animation: gxIn .5s var(--ease, ease); }
.gx-panel[hidden] { display: none; }
@keyframes gxIn { from { opacity: 0; transform: translateY(10px) scale(.99); } to { opacity: 1; transform: none; } }
.gx-panel img { display: block; width: 100%; height: 540px; object-fit: cover; object-position: top; border-radius: 18px; border: 1px solid #E3E6EC; box-shadow: 0 1px 2px rgba(14,20,48,.04), 0 40px 80px -40px rgba(14,20,48,.35); background: #fff; }
.gx-panel figcaption { margin-top: 14px; font-size: 13.5px; color: #6B7385; }
.gx-panel-dark .gx-quotes { height: 540px; padding: 34px; border-radius: 18px; background: var(--ink); display: flex; flex-direction: column; justify-content: center; gap: 10px; box-shadow: 0 40px 80px -40px rgba(14,20,48,.55); }
.gx-quotes div { padding: 16px 20px; }
.gx-quotes b { font-size: 16px; }
.gx-quotes span { font-size: 19px; }
.gx-free { padding: 0 0 128px; }
.gx-free-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 64px; padding: 64px; border-radius: 28px; background: #F5F7FA; border: 1px solid #E8EBF1; }
.gx-zero { margin: 0; font-size: clamp(96px, 11vw, 168px); line-height: .85; letter-spacing: -0.06em; font-weight: 750; color: var(--ink); }
.gx-free-l h2 { margin-top: 22px; font-size: clamp(30px, 3.2vw, 42px); line-height: 1.05; letter-spacing: -0.035em; font-weight: 780; color: var(--ink); }
.gx-free-l p:last-child { margin-top: 14px; font-size: 16.5px; line-height: 1.55; color: #5C6578; max-width: 22em; }
.gx-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 36px; align-content: start; }
.gx-list li { display: flex; gap: 14px; padding: 20px 0; border-top: 1px solid #E1E5EC; }
.gx-list li:nth-child(-n+2) { border-top: 0; padding-top: 4px; }
.gx-list b { display: block; font-size: 17px; letter-spacing: -0.01em; color: var(--ink); }
.gx-list span:not(.bn-ck) { display: block; margin-top: 4px; font-size: 15px; line-height: 1.5; color: var(--ink-2); }
.gx-steps { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 28px; margin: 34px 0 0; padding: 0; }
.gx-steps li { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: rgba(255,255,255,.85); }
.gx-steps span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); font-size: 12.5px; font-weight: 800; color: #fff; }
@media (max-width: 960px) {
  .gx-acts { padding: 80px 0; }
  .gx-show { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .gx-stage { min-height: 0; }
  .gx-panel img, .gx-panel-dark .gx-quotes { height: 420px; }
  .gx-free { padding-bottom: 80px; }
  .gx-free-card { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 36px 28px; }
}
@media (max-width: 600px) {
  .gx-list { grid-template-columns: minmax(0, 1fr); }
  .gx-list li:nth-child(2) { border-top: 1px solid #E1E5EC; padding-top: 20px; }
  .gx-panel img, .gx-panel-dark .gx-quotes { height: 340px; }
  .gx-panel-dark .gx-quotes { padding: 18px; }
  .gx-tabs b { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .gx-bar i { animation: none !important; }
  .gx-panel { animation: none; }
}
/* For movers: the three acts, all open — alternating rows */
.gx-rows { display: flex; flex-direction: column; gap: 96px; }
.gx-row { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 72px; align-items: center; }
.gx-row-flip .gx-row-copy { order: 2; }
.gx-row .gx-n { display: inline-block; font-size: 14px; font-weight: 800; color: var(--blue-d); letter-spacing: .04em; }
.gx-row h3 { margin-top: 10px; font-size: clamp(30px, 3.2vw, 42px); line-height: 1.05; letter-spacing: -0.04em; font-weight: 780; color: var(--ink); }
.gx-row-copy p { margin-top: 16px; font-size: 18px; line-height: 1.6; color: #4A5368; max-width: 28em; }
.gx-mini { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 0; padding: 0; }
.gx-mini li { padding: 7px 14px; border-radius: 999px; background: #F2F4F8; border: 1px solid #E5E8EE; font-size: 14px; font-weight: 650; color: var(--ink); }
.gx-row .gx-panel { animation: none; }
.gx-row .gx-panel img, .gx-row .gx-panel-dark .gx-quotes { height: 480px; }
@media (max-width: 960px) {
  .gx-rows { gap: 64px; }
  .gx-row { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .gx-row-flip .gx-row-copy { order: 0; }
  .gx-row .gx-panel img, .gx-row .gx-panel-dark .gx-quotes { height: 380px; }
}
@media (max-width: 600px) {
  .gx-row .gx-panel img, .gx-row .gx-panel-dark .gx-quotes { height: 320px; }
}
.gx-ca { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding: 7px 14px 7px 10px; border-radius: 999px; background: #fff; border: 1px solid #E1E5EC; font-size: 14.5px; font-weight: 700; color: var(--ink); }
.gx-flag { flex: none; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.1); }
.gx-nos { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.gx-nos li { position: relative; padding-left: 26px; font-size: 16px; font-weight: 650; color: var(--ink); }
.gx-nos li::before { content: ""; position: absolute; left: 0; top: 50%; width: 16px; height: 16px; margin-top: -8px; border-radius: 50%; background: #FDECEC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C0392B' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E") center/10px no-repeat; }
.gx-free-l .gx-nos + p { margin-top: 18px; }
/* ===== For movers: crafted visuals for the three acts ===== */
.gx-viz { margin: 0; position: relative; padding: 40px; border-radius: 24px; background: linear-gradient(160deg, #F3F6FC 0%, #EAF0FA 100%); border: 1px solid #E3E9F3; overflow: hidden; min-height: 460px; display: flex; flex-direction: column; justify-content: center; }
.gx-viz::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(#D5DDEB 1px, transparent 1px); background-size: 22px 22px; opacity: .55; -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%); mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%); pointer-events: none; }
.gx-viz > * { position: relative; }
/* 01 Get found */
.gv-page { background: #fff; border-radius: 18px; border: 1px solid #E3E8F0; box-shadow: 0 2px 4px rgba(14,20,48,.04), 0 30px 60px -30px rgba(28,58,140,.35); padding: 18px 20px 20px; }
.gv-url { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: #F3F5F9; font-size: 12.5px; color: #6B7385; }
.gv-url b { font-weight: 700; color: var(--ink); }
.gv-dot { width: 8px; height: 8px; border-radius: 50%; background: #16A34A; }
.gv-title { margin-top: 14px; font-size: 22px; font-weight: 780; letter-spacing: -0.02em; color: var(--ink); }
.gv-title b, .gv-url b { display: inline-block; transition: opacity .35s, transform .35s; }
.gv-found.swap .gv-title b, .gv-found.swap .gv-url b { opacity: 0; transform: translateY(6px); }
.gv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.gv-card { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 12px; border: 1px solid #ECEFF4; background: #FBFCFD; }
.gv-card div { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.gv-card i { display: block; height: 8px; border-radius: 4px; background: #E8ECF2; }
.gv-card i.s { width: 60%; }
.gv-logo { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: #EEF1F5; font-size: 12px; font-weight: 800; color: #fff; }
.gv-you { grid-column: 1 / -1; background: #fff; border: 1.5px solid var(--blue); box-shadow: 0 0 0 4px rgba(47,111,237,.12), 0 12px 24px -12px rgba(47,111,237,.45); animation: gvGlow 2.6s ease-in-out infinite; }
.gv-you .gv-logo { background: var(--ink); }
.gv-you strong { font-size: 15px; color: var(--ink); }
.gv-you small { font-size: 12.5px; color: var(--muted); }
.gv-you em { flex: none; font-style: normal; padding: 4px 10px; border-radius: 999px; background: var(--green-l); color: var(--green); font-size: 12px; font-weight: 800; }
@keyframes gvGlow { 50% { box-shadow: 0 0 0 7px rgba(47,111,237,.08), 0 14px 28px -12px rgba(47,111,237,.5); } }
.gv-cities { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.gv-cities li { padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.7); border: 1px solid #E1E7F0; font-size: 13px; font-weight: 650; color: #6B7385; transition: background .3s, color .3s, border-color .3s; }
.gv-cities li.on { background: var(--ink); border-color: var(--ink); color: #fff; }
/* 02 Know the job */
.gv-req { background: #fff; border-radius: 18px; border: 1px solid #E3E8F0; box-shadow: 0 2px 4px rgba(14,20,48,.04), 0 30px 60px -30px rgba(28,58,140,.35); padding: 22px 24px; }
.gv-req-top { display: flex; gap: 8px; flex-wrap: wrap; }
.gv-pill { padding: 4px 10px; border-radius: 999px; background: #E7EEFF; color: var(--blue-d); font-size: 12px; font-weight: 800; }
.gv-pill-g { background: var(--green-l); color: var(--green); }
.gv-req-h { margin-top: 14px; font-size: 24px; font-weight: 800; letter-spacing: -0.025em; color: var(--ink); }
.gv-req-r { margin-top: 2px; font-size: 15px; color: var(--ink-2); }
.gv-req-r span { color: var(--blue-d); }
.gv-rows { margin: 14px 0 0; }
.gv-rows div { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 12px; padding: 10px 0; border-top: 1px solid #F0F2F6; font-size: 14.5px; }
.gv-rows dt { color: var(--muted); }
.gv-rows dd { margin: 0; font-weight: 650; color: var(--ink); }
.gv-req-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; padding-top: 14px; border-top: 1px solid #F0F2F6; }
.gv-req-foot span { font-size: 12.5px; color: var(--muted); }
.gv-req-foot b { flex: none; padding: 10px 16px; border-radius: 10px; background: var(--ink); color: #fff; font-size: 13.5px; }
/* 03 Win the move */
.gv-quotes { background: #fff; border-radius: 18px; border: 1px solid #E3E8F0; box-shadow: 0 2px 4px rgba(14,20,48,.04), 0 30px 60px -30px rgba(28,58,140,.35); padding: 20px 22px 18px; }
.gv-q-head { display: flex; align-items: baseline; justify-content: space-between; }
.gv-q-head p { font-size: 18px; font-weight: 800; letter-spacing: -0.015em; color: var(--ink); }
.gv-q-head small { font-size: 12.5px; color: var(--muted); }
.gv-q-cols, .gv-quotes li { display: grid; grid-template-columns: minmax(0, 1fr) 96px 92px 66px; align-items: center; gap: 10px; }
.gv-q-cols { margin-top: 14px; padding-bottom: 8px; border-bottom: 1px solid #ECEFF4; font-size: 11.5px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.gv-quotes ul { list-style: none; margin: 0; padding: 0; }
.gv-quotes li { padding: 12px 0; border-bottom: 1px solid #F0F2F6; }
.gv-quotes li b { display: block; font-size: 14.5px; color: var(--ink); }
.gv-quotes li small { font-size: 12.5px; color: var(--muted); }
.gv-quotes li > span { font-size: 15.5px; font-weight: 800; color: var(--ink); }
.gv-quotes li .gv-zero { color: var(--green); }
.gv-quotes li em { display: inline-flex; align-items: center; gap: 4px; font-style: normal; font-size: 12.5px; font-weight: 750; color: var(--green); }
.gv-q-total { display: flex; align-items: center; justify-content: space-between; margin-top: 14px; padding: 12px 14px; border-radius: 12px; background: var(--green-l); }
.gv-q-total span { font-size: 14px; font-weight: 650; color: #0E5530; }
.gv-q-total b { font-size: 22px; font-weight: 800; color: var(--green); }
/* reveal on scroll */
.gx-viz .gv-rows div, .gx-viz .gv-quotes li { opacity: 0; transform: translateY(8px); transition: opacity .45s var(--ease, ease), transform .45s var(--ease, ease); }
.gx-viz.in .gv-rows div, .gx-viz.in .gv-quotes li { opacity: 1; transform: none; }
.gx-viz.in .gv-rows div:nth-child(2), .gx-viz.in .gv-quotes li:nth-child(2) { transition-delay: .12s; }
.gx-viz.in .gv-rows div:nth-child(3), .gx-viz.in .gv-quotes li:nth-child(3) { transition-delay: .24s; }
.gx-viz.in .gv-rows div:nth-child(4), .gx-viz.in .gv-quotes li:nth-child(4) { transition-delay: .36s; }
.gx-viz.in .gv-rows div:nth-child(5) { transition-delay: .48s; }
.gx-viz.in .gv-rows div:nth-child(6) { transition-delay: .6s; }
@media (prefers-reduced-motion: reduce) {
  .gx-viz .gv-rows div, .gx-viz .gv-quotes li { opacity: 1; transform: none; transition: none; }
  .gv-you { animation: none; }
}
/* $0 panel: top row + a strip of three 'no fee' facts */
.gx-free-card { display: block; }
.gx-free-top { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: 64px; }
.gx-free-l .gx-ca { margin-top: 20px; }
.gx-nos { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 44px 0 0; padding: 0; border-top: 1px solid #E1E5EC; }
.gx-nos li { position: relative; padding: 22px 24px 0 54px; font-size: 15.5px; color: var(--ink-2); }
.gx-nos li + li { border-left: 1px solid #E1E5EC; }
.gx-nos li::before { left: 24px; top: 34px; }
.gx-nos li + li::before { left: 24px; }
.gx-nos b { display: block; font-size: 17px; font-weight: 750; color: var(--ink); }
@media (max-width: 960px) {
  .gx-viz { padding: 22px; min-height: 0; }
  .gx-free-top { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 600px) {
  .gv-grid { grid-template-columns: 1fr; }
  .gv-grid .gv-card:nth-child(n+3) { display: none; }
  .gv-q-cols, .gv-quotes li { grid-template-columns: minmax(0, 1fr) 70px 48px; }
  .gv-q-cols span:last-child, .gv-quotes li em { display: none; }
  .gv-rows div { grid-template-columns: 82px minmax(0, 1fr); font-size: 13.5px; }
  .gx-nos { grid-template-columns: minmax(0, 1fr); }
  .gx-nos li + li { border-left: 0; border-top: 1px solid #E1E5EC; margin-top: 18px; }
  .gx-nos li { padding: 18px 0 0 30px; }
  .gx-nos li::before, .gx-nos li + li::before { left: 0; top: 30px; }
}
.gx-row-flip { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.gx-nos li::before { width: 22px; height: 22px; margin-top: 0; top: 24px !important; background-size: 12px; }
.gx-nos li { padding-left: 60px; }
.gv-q-cols i { font-style: normal; }
.gv-s { display: none; }
@media (max-width: 960px) {
  .gx-row-flip { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .gv-l { display: none; }
  .gv-s { display: inline; }
  .gv-quotes { padding: 16px; }
  .gv-q-cols, .gv-quotes li { grid-template-columns: minmax(0, 1fr) 64px 40px; gap: 8px; }
  .gv-quotes li b { font-size: 13.5px; }
  .gv-quotes li small { font-size: 11.5px; }
  .gv-quotes li > span { font-size: 14px; }
  .gx-nos li { padding-left: 34px; }
  .gx-nos li::before { top: 20px !important; }
}
/* Win the move: one quote turns into a won job, with confetti */
.gv-win { overflow: visible; }
.gv-quotes li { position: relative; transition: background .4s, box-shadow .4s; border-radius: 10px; }
.gv-quotes li.won { background: #EFFAF3; box-shadow: inset 3px 0 0 var(--green); }
.gv-quotes li.won em { padding: 4px 10px; border-radius: 999px; background: var(--green); color: #fff; animation: gvPop .5s cubic-bezier(.2,1.6,.4,1); }
@keyframes gvPop { 0% { transform: scale(.6); } 100% { transform: scale(1); } }
.gv-confetti { position: absolute; left: 50%; top: 50%; width: 0; height: 0; pointer-events: none; z-index: 5; }
.gv-confetti i { position: absolute; left: 0; top: 0; width: 7px; height: 11px; border-radius: 2px; opacity: 0; animation: gvBurst 1.3s cubic-bezier(.15,.6,.3,1) forwards; animation-delay: var(--d); }
@keyframes gvBurst { 0% { opacity: 1; transform: translate(0, 0) rotate(0); } 70% { opacity: 1; } 100% { opacity: 0; transform: translate(var(--x), var(--y)) rotate(var(--r)); } }
.gv-q-cols, .gv-quotes li { grid-template-columns: minmax(0, 1fr) 92px 88px 96px; }
.gv-quotes li { padding: 12px 10px; margin: 0 -10px; }
.gv-q-cols { padding-left: 0; }
.gv-quotes li em { white-space: nowrap; justify-self: end; }
@media (max-width: 600px) {
  .gv-q-cols, .gv-quotes li { grid-template-columns: minmax(0, 1fr) 64px 40px; }
  .gv-quotes li.won em { display: inline-flex; grid-column: 1 / -1; justify-self: start; margin-top: 6px; }
}
/* hero demo inbox: active request, quoted state, new request arriving */
.lx-item.active { background: #fff; box-shadow: inset 3px 0 0 var(--blue), 0 4px 14px -6px rgba(28,58,140,.3); }
.lx-item i { transition: background .3s, color .3s; }
.lx-item.enter { animation: lxEnter .6s var(--ease, ease); }
@keyframes lxEnter { from { opacity: 0; transform: translateY(-14px); max-height: 0; } to { opacity: 1; transform: none; max-height: 90px; } }
.lx-rows div { transition-duration: .3s; }
/* ===== /login/ and /account/ ===== */
.lg { padding: 64px 16px 80px; }
.lg-card { max-width: 440px; margin: 0 auto; padding: 40px 40px 32px; background: #fff; border-radius: 24px; border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(14,20,48,.05), 0 24px 60px -32px rgba(28,58,140,.3); }
.lg-card h1 { font-size: 30px; letter-spacing: -0.03em; font-weight: 780; color: var(--ink); }
.lg-sub { margin-top: 10px; font-size: 16px; line-height: 1.5; color: var(--ink-2); }
.lg-sub strong { color: var(--ink); word-break: break-all; }
.lg-form { margin-top: 26px; }
.lg-field { display: flex; flex-direction: column; gap: 8px; }
.lg-field span { font-size: 14px; font-weight: 650; color: var(--ink); }
.lg-field input { height: 54px; padding: 0 16px; border: 1px solid #CDD3DD; border-radius: 12px; font: inherit; font-size: 17px; color: var(--ink); outline: 0; background: #fff; }
.lg-field input:focus { border-color: var(--ink); box-shadow: 0 0 0 4px rgba(14,20,48,.07); }
.lg-code { height: 64px !important; text-align: center; font-size: 30px !important; font-weight: 750; letter-spacing: .5em; padding-left: calc(16px + .5em) !important; }
.lg-btn { width: 100%; min-height: 54px; margin-top: 18px; border: 0; border-radius: 12px; background: var(--blue-d); color: #fff; font: inherit; font-size: 16.5px; font-weight: 700; cursor: pointer; }
.lg-btn:hover { background: #1849AE; }
.lg-err { margin-top: 10px; font-size: 14px; font-weight: 600; color: var(--red); }
.lg-ok { margin-top: 14px; padding: 10px 12px; border-radius: 10px; background: var(--green-l); color: #0E5530; font-size: 14px; font-weight: 600; }
.lg-resend p { margin-top: 16px; font-size: 14px; color: var(--muted); text-align: center; }
.lg-resend button, .lg-resend a { padding: 0; border: 0; background: none; font: inherit; color: var(--blue-d); font-weight: 650; cursor: pointer; }
.lg-new { margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.lg-new p { font-size: 14px; color: var(--ink); margin-bottom: 10px; }
.lg-new a { display: flex; align-items: center; gap: 8px; padding: 12px 14px; margin-top: 8px; border: 1px solid var(--line); border-radius: 12px; font-size: 15px; font-weight: 700; color: var(--ink); text-decoration: none; transition: border-color .15s; }
.lg-new a:hover { border-color: #9EA5B3; }
.lg-new a span { font-weight: 500; color: var(--muted); }
.lg-new a .d-ic { margin-left: auto; color: var(--muted); }
.lg-foot { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 18px; font-size: 13.5px; color: var(--muted); }
.hd-login { margin-left: -4px; }
.ac { padding: 56px 0 96px; }
@media (max-width: 600px) {
  .lg { padding: 20px 12px 56px; }
  .lg-card { padding: 28px 22px 24px; border-radius: 20px; }
}
/* ===== /login/ v2: split screen ===== */
.sx { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: calc(100svh - 26px); }
/* six boxes over one real input (autofill + paste keep working) */
html:not(.sx-js) .sx-boxes { display: none; }
@media (max-width: 960px) {
  .sx { grid-template-columns: minmax(0, 1fr); min-height: 0; }
}
/* login: the right side is just the photo */
/* login: single centred column, nothing else */
.sx { grid-template-columns: minmax(0, 1fr); background: #fff; }
.sx-logo, .sx-logo:hover, .sx-logo .reg, .hd-focus .hd-logo, .hd-focus .hd-logo .reg { text-decoration: none !important; }
/* ===== /how-it-works/: three steps with live visuals ===== */
.hw-hero { padding: 40px 0 72px; background: radial-gradient(ellipse 60% 80% at 80% 0%, #EAF1FF 0%, rgba(234,241,255,0) 70%), #fff; border-bottom: 1px solid #ECEEF2; }
.hw-hero h1 { margin-top: 28px; max-width: 15ch; font-size: clamp(40px, 5vw, 68px); line-height: 1.02; letter-spacing: -0.045em; font-weight: 780; color: var(--ink); text-wrap: balance; }
.hw-hero h1 span { color: var(--blue-d); }
.hw-lead { margin-top: 22px; max-width: 34em; font-size: 19px; line-height: 1.55; color: #4A5368; }
.hw-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 30px; }
.hw-cta span { font-size: 14.5px; color: #5C6578; }
.hw-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 54px; padding: 0 26px; border-radius: 12px; background: var(--blue-d); color: #fff; font-size: 16.5px; font-weight: 700; text-decoration: none; transition: background .2s, transform .1s; }
.hw-btn:hover { background: #1849AE; color: #fff; }
.hw-btn:active { transform: scale(.99); }
.hw-btn .d-ic { transition: transform .2s; }
.hw-btn:hover .d-ic { transform: translateX(3px); }
.hw-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 44px 0 0; padding: 0; }
.hw-chips a { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px 8px 8px; border-radius: 999px; background: #fff; border: 1px solid #E3E6EC; font-size: 14.5px; font-weight: 650; color: var(--ink); text-decoration: none; transition: border-color .15s; }
.hw-chips a:hover { border-color: #9EA5B3; }
.hw-chips span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 12.5px; font-weight: 800; }
.hx2-steps { padding: 112px 0; }
.hx2-h { margin-top: 10px; font-size: clamp(30px, 3.2vw, 42px); line-height: 1.05; letter-spacing: -0.04em; font-weight: 780; color: var(--ink); }
.gx-row { scroll-margin-top: 110px; }
/* step 1: the form filling in */
.hw-form { background: #fff; border-radius: 18px; border: 1px solid #E3E8F0; box-shadow: 0 2px 4px rgba(14,20,48,.04), 0 30px 60px -30px rgba(28,58,140,.35); padding: 22px; }
.hw-route { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; }
.hw-route div { padding: 12px 14px; border: 1px solid #E3E8F0; border-radius: 12px; min-height: 62px; }
.hw-route small { display: block; font-size: 12px; font-weight: 650; color: var(--muted); }
.hw-route b { display: block; min-height: 24px; font-size: 17px; color: var(--ink); }
.hw-route b:empty::after, .hw-route b.typing::after { content: ""; display: inline-block; width: 2px; height: 18px; margin-left: 1px; vertical-align: -3px; background: var(--blue); animation: lxBlink 1s steps(1) infinite; }
.hw-route > span { color: var(--blue-d); font-weight: 800; }
.hw-opts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.hw-opts span { padding: 8px 14px; border-radius: 999px; border: 1px solid #E3E8F0; font-size: 13.5px; font-weight: 650; color: var(--ink); opacity: .35; transition: opacity .4s, border-color .4s, box-shadow .4s; }
.hw-v1.s2 .hw-opts span { opacity: 1; }
.hw-v1.s2 .hw-opts span.on { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); }
.hw-price { margin-top: 16px; padding: 16px 18px; border-radius: 14px; background: linear-gradient(180deg, #F1F6FF, #EAF1FF); border: 1px solid #DCE7FB; }
.hw-price small { font-size: 12.5px; font-weight: 700; color: var(--blue-d); }
.hw-price b { display: block; margin: 2px 0; font-size: 32px; font-weight: 800; letter-spacing: -0.03em; color: var(--ink); transition: opacity .3s; }
.hw-price em { font-style: normal; font-size: 12.5px; color: var(--ink-2); }
/* steps 2–3: quotes */
.hw-inbox { background: #fff; border-radius: 18px; border: 1px solid #E3E8F0; box-shadow: 0 2px 4px rgba(14,20,48,.04), 0 30px 60px -30px rgba(28,58,140,.35); padding: 18px 20px; }
.hw-inbox-h { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; border-bottom: 1px solid #F0F2F6; }
.hw-inbox-h b { font-size: 17px; color: var(--ink); letter-spacing: -0.01em; }
.hw-lock { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; background: var(--green-l); color: var(--green); font-size: 12px; font-weight: 750; }
.hw-q { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 12px; padding: 14px 10px; margin: 0 -10px; border-radius: 12px; border-bottom: 1px solid #F0F2F6; transition: background .4s, box-shadow .4s, opacity .4s; }
.hw-av { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 11px; background: #EEF2F8; font-size: 14px; font-weight: 800; color: var(--ink-2); }
.hw-q b { display: block; font-size: 15px; color: var(--ink); }
.hw-q small { font-size: 12.5px; color: var(--muted); }
.hw-q strong { font-size: 17px; font-weight: 800; color: var(--ink); }
.hw-q em { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; background: var(--green); color: #fff; font-style: normal; font-size: 12px; font-weight: 800; }
.hw-inbox-f { margin-top: 12px; font-size: 12.5px; color: var(--muted); }
.hw-v2 .hw-q { opacity: 0; transform: translateY(10px); transition: opacity .5s var(--ease, ease), transform .5s var(--ease, ease); }
.hw-v2.in .hw-q { opacity: 1; transform: none; }
.hw-v2.in .hw-q:nth-of-type(3) { transition-delay: .5s; }
.hw-v2.in .hw-q:nth-of-type(4) { transition-delay: 1s; }
.hw-pick .hw-q:not(.hw-chosen) { transition: opacity .5s; }
.hw-v3.in .hw-pick .hw-q:not(.hw-chosen) { opacity: .45; transition-delay: .6s; }
.hw-chosen em { opacity: 0; transform: scale(.7); transition: opacity .35s .9s, transform .45s .9s cubic-bezier(.2,1.6,.4,1); }
.hw-v3.in .hw-chosen { background: #EFFAF3; box-shadow: inset 3px 0 0 var(--green); transition-delay: .6s; }
.hw-v3.in .hw-chosen em { opacity: 1; transform: none; }
/* fair + money + end */
.hw-fair { padding: 112px 0; background: #F6F7F9; }
.hw-fair h2, .hw-money h2, .hw-end h2 { font-size: clamp(32px, 3.8vw, 52px); line-height: 1.04; letter-spacing: -0.04em; font-weight: 780; color: var(--ink); }
.hw-fair-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 56px; border-top: 1px solid var(--ink); }
.hw-fair-grid > div { padding: 28px 32px 0 0; }
.hw-fair-grid > div + div { padding-left: 32px; border-left: 1px solid #E1E5EC; }
.hw-big { height: 64px; display: flex; align-items: center; font-size: 60px; line-height: 1; letter-spacing: -0.05em; font-weight: 750; color: var(--ink); }
.hw-big .d-ic { color: var(--ink); }
.hw-fair h3 { margin-top: 18px; font-size: 21px; letter-spacing: -0.02em; font-weight: 760; color: var(--ink); }
.hw-fair-grid p:not(.hw-big) { margin-top: 8px; font-size: 16px; line-height: 1.55; color: #4A5368; }
.hw-money { padding: 112px 0; }
.hw-money-in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 64px; }
.hw-money-txt p { font-size: 18px; line-height: 1.65; color: #4A5368; }
.hw-money-txt p + p { margin-top: 16px; }
.hw-money-txt strong { color: var(--ink); }
.hw-more { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 26px !important; }
.hw-more a { display: inline-flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 650; color: var(--blue-d); }
.hw-end { padding: 104px 0; background: var(--ink); color: #fff; text-align: center; }
.hw-end h2 { color: #fff; }
.hw-end p { margin: 16px auto 30px; max-width: 32em; font-size: 18px; color: rgba(255,255,255,.75); }
.hw-btn-w { background: #fff; color: var(--ink); }
.hw-btn-w:hover { background: #EEF2F8; color: var(--ink); }
@media (max-width: 960px) {
  .hx2-steps, .hw-fair, .hw-money { padding: 72px 0; }
  .hw-end { padding: 72px 0; }
  .hw-fair-grid { grid-template-columns: minmax(0, 1fr); }
  .hw-fair-grid > div + div { padding-left: 0; border-left: 0; border-top: 1px solid #E1E5EC; margin-top: 28px; }
  .hw-money-in { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
@media (max-width: 600px) {
  .hw-route { grid-template-columns: 1fr; }
  .hw-route > span { display: none; }
  .hw-q { grid-template-columns: auto minmax(0, 1fr) auto; }
  .hw-q em { grid-column: 2 / -1; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
  .hw-v2 .hw-q, .hw-v3 .hw-q, .hw-chosen em { opacity: 1 !important; transform: none !important; transition: none !important; }
}
@media (max-width: 600px) {
  .hw-price b { font-size: 26px; white-space: nowrap; }
  .hw-form { padding: 16px; }
}
/* ===== Customer panel ===== */
.pn { padding: 40px 0 80px; }
/* move page */
@keyframes pnDot { 0%, 80%, 100% { opacity: .25; transform: scale(.8); } 40% { opacity: 1; transform: none; } }
@media (max-width: 760px) {
  .pn { padding: 24px 0 60px; }
}
/* ===== Customer app v2: sidebar shell, move hero, compare table, inbox ===== */
.ap { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: calc(100svh - 26px); }
/* home: move hero */
.unread .ap-in-t b { font-weight: 800; }
.unread .ap-in-t small:last-child { color: var(--ink); font-weight: 550; }
/* move page */
.mv-foot { margin-top: 12px; font-size: 13px; color: var(--muted); }
/* inbox + chat */
/* mobile tab bar */
@media (max-width: 900px) {
  .ap { grid-template-columns: minmax(0, 1fr); }
}
.hd-acct { display: inline-flex; align-items: center; gap: 8px; }
.hd-av { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 12.5px; font-weight: 700; letter-spacing: 0; }
/* New = unopened quote or unread message: soft green row + green marker until opened */
/* Tab bar — iOS-style floating glass capsule + separate action button (mobile only) */
.tb { display: none; }
@media (max-width: 900px) {
  .tb { position: fixed; z-index: 60; left: 12px; right: 12px; bottom: max(10px, calc(env(safe-area-inset-bottom) - 14px)); display: flex; align-items: center; gap: 10px; pointer-events: none; }
  .tb[hidden] { display: none; }
  .tb > * { pointer-events: auto; }
  .tb-pill, .tb-act { background: rgba(255,255,255,.68); -webkit-backdrop-filter: blur(24px) saturate(1.9); backdrop-filter: blur(24px) saturate(1.9); border: .5px solid rgba(255,255,255,.75); box-shadow: 0 12px 36px rgba(16,24,40,.16), 0 1px 3px rgba(16,24,40,.08), inset 0 1px 0 rgba(255,255,255,.95), inset 0 -.5px 0 rgba(0,0,0,.06); transition: height .32s cubic-bezier(.2,.8,.2,1), width .32s cubic-bezier(.2,.8,.2,1); }
  .tb-pill { flex: 1; display: grid; grid-template-columns: repeat(var(--tb-n, 3), 1fr); height: 64px; padding: 4px; border-radius: 999px; }
  .tb-pill a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; min-width: 0; border-radius: 999px; color: #1C1C1E; font-size: 10.5px; font-weight: 600; letter-spacing: .005em; text-decoration: none; -webkit-tap-highlight-color: transparent; transition: background .25s, color .25s, transform .18s; }
  .tb-pill a span { transition: opacity .2s; }
  .tb-pill a[aria-current] { color: var(--blue-d); background: rgba(118,118,128,.14); }
  .tb-pill a[aria-current] svg > path:first-child { fill: currentColor; fill-opacity: .16; }
  .tb-pill a:active, .tb-act:active { transform: scale(.93); }
  .tb-pill em { position: absolute; top: 4px; left: calc(50% + 4px); min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: #FF3B30; color: #fff; font-style: normal; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; box-shadow: 0 0 0 2px rgba(255,255,255,.9); }
  .tb-pill em[hidden] { display: none; }
  .tb-act { flex: none; width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; color: var(--blue-d); -webkit-tap-highlight-color: transparent; transition: transform .18s, height .32s cubic-bezier(.2,.8,.2,1), width .32s cubic-bezier(.2,.8,.2,1); }
  .tb.is-min .tb-pill { height: 50px; }
  .tb.is-min .tb-act { width: 50px; height: 50px; }
  .tb.is-min .tb-pill a span { opacity: 0; position: absolute; pointer-events: none; }
  html.has-tb body { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  html.has-tb .sticky-cta { display: none !important; }
  .hd-acct { display: none !important; }
}
@media (min-width: 901px) and (max-width: 1180px) {
  .hd-quiet.hd-acct { display: inline-flex; }
  .hd-acct-t { display: none; }
}
/* ===== Mover panel (/pro/): requests, one request (quote · unlock), quotes, settings ===== */
.pro-set .ap-panel + .ap-panel { margin-top: 16px; }
.pro-set { max-width: 760px; }
.pw .sx-body { max-width: 460px; }
@keyframes pwSpin { to { transform: rotate(360deg); } }
@keyframes pdArm { 0% { transform: scale(.97); } 100% { transform: none; } }
a.sx-btn { text-decoration: none; color: #fff; }
/* ===== Mover lead page v2: customer card up top (locked phone → two steps → unlock → call), sheet + action bar on phones ===== */
.ld .pl-flash { margin-top: 14px; }
@media (max-width: 900px) {
  .ld .pd-form, .ld .pd-form.is-collapsed { display: block; position: fixed; z-index: 90; left: 0; right: 0; bottom: 0; max-height: 92svh; overflow-y: auto; overscroll-behavior: contain; margin: 0; border: 0; border-radius: 22px 22px 0 0; box-shadow: 0 -12px 40px rgba(16,24,40,.2); padding-bottom: env(safe-area-inset-bottom); transform: translateY(104%); transition: transform .4s cubic-bezier(.2,.8,.2,1); visibility: hidden; }
  html.pd-sheet-open .ld .pd-form { transform: none; visibility: visible; }
  .ld .pd-form .ap-panel-h { position: sticky; top: 0; z-index: 1; background: #fff; }
  html.pd-sheet-open, html.pd-sheet-open body { overflow: hidden; }
  .ld .pd-form .ap-panel-h { border-bottom: 0; padding-top: 10px; }
}
/* ===== Mover lead page v3 — detail-page layout (title + status, facts row, calm sections) + customer panel + quote drawer ===== */
.lv { max-width: 1120px; }
html.pd-sheet-open, html.pd-sheet-open body { overflow: hidden; }
/* route: pickup → leg → drop-off */
/* iOS: sit inside the home-indicator area like the system tab bar (≈20px from the bottom edge), not on top of it */
/* Menu sheet — iOS grouped list */
.sheet-panel { background: #F2F3F7; }
.sheet-head { padding: 4px 2px 12px; font-size: 20px; letter-spacing: -0.02em; }
.sheet-head .sheet-close { width: 36px; height: 36px; background: #E4E6EC; }
.mn-cta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; border-radius: 16px; background: var(--blue-d); color: #fff; text-decoration: none; box-shadow: 0 10px 26px rgba(47,111,237,.28); transition: transform .15s; }
.mn-cta:active { transform: scale(.985); }
.mn-cta:hover { color: #fff; }
.mn-cta b { display: block; font-size: 17px; font-weight: 750; }
.mn-cta small { display: block; margin-top: 2px; font-size: 13px; opacity: .85; }
.mn-h { margin: 22px 16px 7px; font-size: 12.5px; font-weight: 650; letter-spacing: .03em; text-transform: uppercase; color: #6B7183; }
.mn-group { border-radius: 14px; background: #fff; overflow: hidden; }
.mn-cta + .mn-group { margin-top: 16px; }
.mn-group + .mn-group { margin-top: 16px; }
.mn-row { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 9px 14px; text-decoration: none; color: var(--ink); cursor: pointer; list-style: none; -webkit-tap-highlight-color: transparent; transition: background .15s; position: relative; }
.mn-row::-webkit-details-marker { display: none; }
.mn-row:active { background: #EEF0F4; }
.mn-group > .mn-row + .mn-row::before, .mn-group > .mn-row + .mn-more > .mn-row::before, .mn-group > .mn-more + .mn-row::before { content: ""; position: absolute; top: 0; left: 56px; right: 0; height: 1px; background: #ECEDF1; }
.mn-ic { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; color: #fff; }
.mn-blue { background: #2F6FED; }
.mn-green { background: #16A34A; }
.mn-orange { background: #F08A24; }
.mn-indigo { background: #5B5BD6; }
.mn-teal { background: #0E9BB5; }
.mn-gray { background: #8E8E93; }
.mn-ink { background: #1C2033; }
.mn-t { flex: 1; min-width: 0; }
.mn-t b { display: block; font-size: 16px; font-weight: 650; }
.mn-t small { display: block; margin-top: 1px; font-size: 12.5px; color: #8A90A0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mn-chev { flex: none; color: #C1C5CF; transition: transform .2s; }
.mn-more[open] .mn-down { transform: rotate(180deg); }
.mn-svc { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 2px 14px 14px 56px; }
.mn-svc a { padding: 9px 11px; border-radius: 10px; background: #F4F5F8; font-size: 13.5px; font-weight: 600; color: var(--ink); text-decoration: none; line-height: 1.3; }
.mn-svc a:active { background: #E8EAF0; }
.mn-lang { display: block; margin: 20px auto 4px; text-align: center; font-size: 14px; font-weight: 650; color: #4B5367; text-decoration: none; }
.gq-acct { display: flex; align-items: center; gap: 14px; margin: 22px 0 6px; padding: 16px 18px; border-radius: 16px; background: #fff; border: 1px solid #DCE6FB; box-shadow: 0 8px 24px rgba(47,111,237,.10); text-decoration: none; color: var(--ink); transition: transform .15s, box-shadow .2s; }
.gq-acct:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(47,111,237,.14); color: var(--ink); }
.gq-acct-ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #EAF0FD; color: var(--blue-d); }
.gq-acct b { display: block; font-size: 16px; font-weight: 750; }
.gq-acct small { display: block; margin-top: 2px; font-size: 13.5px; line-height: 1.45; color: var(--muted); }
.gq-acct-go { margin-left: auto; flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border-radius: 999px; background: var(--blue-d); color: #fff; font-size: 14px; font-weight: 700; }
/* Booking */


.costs-qc { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; margin-left: 4px; font-size: 14.5px; color: #4B5367; text-decoration: none; } .costs-qc b { color: var(--blue-d); font-weight: 700; } .costs-qc:hover b { text-decoration: underline; }

/* How we check movers — standards page */
.hc-hero { padding: 40px 0 56px; background: linear-gradient(180deg, #F4F7FE 0%, #fff 100%); }
.hc-hero-in { max-width: 1040px; }
.hc-eye, .hc-k { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-d); }
.hc-eye { margin-top: 26px; }
.hc-hero h1 { margin-top: 10px; max-width: 16em; font-size: clamp(34px, 4.6vw, 56px); line-height: 1.04; font-weight: 800; letter-spacing: -0.04em; color: var(--ink); }
.hc-lead { margin-top: 18px; max-width: 40em; font-size: clamp(17px, 1.6vw, 19px); line-height: 1.55; color: #3E4659; }
.hc-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 36px 0 0; border: 1px solid #E3E8F2; border-radius: 18px; background: #fff; box-shadow: 0 10px 30px rgba(16,24,40,.05); }
.hc-stats div { padding: 20px 22px; } .hc-stats div + div { border-left: 1px solid #EEF1F6; }
.hc-stats dt { font-size: 13px; font-weight: 600; color: var(--muted); } .hc-stats dd { margin: 6px 0 0; font-size: clamp(24px, 2.6vw, 32px); font-weight: 800; letter-spacing: -0.03em; color: var(--ink); }
.hc-sec { padding: 72px 0; } .hc-tint { background: #F7F8FA; }
.hc-wrap { max-width: 1040px; }
.hc-h h2 { margin-top: 8px; font-size: clamp(26px, 3vw, 36px); line-height: 1.12; font-weight: 800; letter-spacing: -0.03em; color: var(--ink); }
.hc-h > p:not(.hc-k) { margin-top: 12px; max-width: 42em; font-size: 16.5px; line-height: 1.6; color: #4B5367; }
.hc-flow { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; counter-reset: none; position: relative; }
.hc-flow li { position: relative; padding: 0 22px 0 0; }
.hc-flow li:not(:last-child)::after { content: ""; position: absolute; top: 19px; left: 48px; right: 10px; height: 2px; background: linear-gradient(90deg, #C9D6F5, #E6ECF8); }
.hc-n { position: relative; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--blue-d); color: #fff; font-size: 16px; font-weight: 800; box-shadow: 0 0 0 6px #fff; }
.hc-flow b { display: block; margin-top: 16px; font-size: 18px; font-weight: 750; color: var(--ink); } .hc-flow p { margin-top: 6px; font-size: 15px; line-height: 1.55; color: #5C6578; }
.hc-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.hc-check { padding: 26px 24px; border: 1px solid #E7E8EB; border-radius: 18px; background: #fff; }
.hc-ic { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: #EAF0FD; color: var(--blue-d); }
.hc-check h3 { margin-top: 18px; font-size: 19px; line-height: 1.25; font-weight: 750; letter-spacing: -0.015em; color: var(--ink); }
.hc-check p { margin-top: 8px; font-size: 15px; line-height: 1.55; color: #4B5367; }
.hc-fail { margin-top: 14px !important; padding-top: 14px; border-top: 1px solid #F0F1F3; font-size: 14px !important; color: #6B7183 !important; } .hc-fail b { color: #B42318; font-weight: 700; }
.hc-proof { margin-top: 20px; padding: 18px 22px; border-radius: 16px; background: #0E1430; color: rgba(255,255,255,.85); font-size: 16px; line-height: 1.5; }
.hc-proof b { color: #fff; font-size: 20px; font-weight: 800; } .hc-proof a { color: #9DBBFF; font-weight: 650; white-space: nowrap; }
.hc-note { margin-top: 18px; max-width: 52em; font-size: 14.5px; line-height: 1.6; color: #5C6578; }
.hc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
.hc-ask { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.hc-ask li { position: relative; padding: 12px 14px 12px 42px; border-radius: 12px; background: #F7F8FA; font-size: 15px; line-height: 1.45; color: #3E4659; }
.hc-ask li::before { content: ""; position: absolute; left: 14px; top: 15px; width: 16px; height: 16px; border-radius: 50%; background: #16A34A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center/11px no-repeat; }
.hc-ask b { color: var(--ink); }
.hc-small { margin-top: 12px; font-size: 13.5px; color: var(--muted); }
.hc-prices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.hc-prices > div { padding: 22px; border-radius: 16px; background: #fff; border: 1px solid #E7E8EB; }
.hc-prices h3 { font-size: 17px; font-weight: 750; color: var(--ink); } .hc-prices p { margin-top: 8px; font-size: 14.5px; line-height: 1.55; color: #4B5367; }
.hc-end { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.hc-end h2 { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; color: var(--ink); } .hc-end p { margin-top: 6px; color: #4B5367; } .hc-end p a { color: var(--blue-d); font-weight: 650; }
.hc-end-a { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; } .hc-link { display: inline-flex; align-items: center; gap: 6px; font-weight: 650; color: var(--ink); text-decoration: none; }
@media (max-width: 900px) {
  .hc-stats { grid-template-columns: 1fr 1fr; } .hc-stats div:nth-child(3) { border-left: 0; } .hc-stats div:nth-child(n+3) { border-top: 1px solid #EEF1F6; }
  .hc-flow { grid-template-columns: 1fr; gap: 22px; } .hc-flow li { padding: 0 0 0 58px; } .hc-flow li .hc-n { position: absolute; left: 0; top: 0; }
  .hc-flow li:not(:last-child)::after { top: 46px; bottom: -18px; left: 19px; right: auto; width: 2px; height: auto; background: #DCE4F5; } .hc-flow b { margin-top: 6px; }
  .hc-checks, .hc-prices, .hc-two { grid-template-columns: 1fr; } .hc-two { gap: 48px; }
  .hc-sec { padding: 52px 0; }
}

.cz-pubk { margin-bottom: 10px; font-size: 13px; font-weight: 700; letter-spacing: .02em; color: var(--muted); }
.cz-about { margin-top: 14px; border-top: 1px solid var(--line); padding-top: 10px; }
.cz-about summary { cursor: pointer; font-size: 14px; font-weight: 650; color: var(--ink-2); list-style: none; display: inline-flex; align-items: center; gap: 6px; }
.cz-about summary::-webkit-details-marker { display: none; } .cz-about summary::after { content: "+"; font-weight: 700; color: var(--blue-d); } .cz-about[open] summary::after { content: "–"; }
.cz-about p { margin-top: 8px; font-size: 14px; line-height: 1.6; color: #5C6578; max-width: 46em; } .cz-about a { color: var(--blue-d); font-weight: 650; }

/* Phones: header = logo + Menu only; language lives in the menu sheet */
@media (max-width: 760px) { .hd-actions .hd-lang, .hd-actions .hd-sep { display: none !important; } }
.mn-langg { margin-top: 16px; }

/* Province page: "movers at a glance" — services, longest-running, price */
.pv-glance { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 20px; align-items: stretch; }
.pv-glance > .pv-card { display: flex; flex-direction: column; }
.pv-glance > .pv-card .pv-bars { flex: 1; align-content: space-evenly; }
.pv-col { display: grid; gap: 20px; }
.pv-card { display: block; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 26px 28px; color: var(--ink); text-decoration: none; box-shadow: var(--sh-0); }
.pv-card h3 { margin: 0 0 4px; font-size: 18px; font-weight: 800; letter-spacing: -0.01em; }
.pv-sub { margin: 0 0 16px; color: var(--muted); font-size: 14px; }
.pv-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pv-bars li { display: grid; grid-template-columns: 9.5em minmax(0, 1fr) 3em; align-items: center; gap: 12px; font-size: 15px; }
.pv-l { font-weight: 650; }
.pv-bar { height: 10px; border-radius: var(--pill); background: var(--tint-2); overflow: hidden; }
.pv-bar i { display: block; height: 100%; border-radius: inherit; background: var(--blue); }
.pv-v { text-align: right; font-weight: 750; color: var(--ink-2); }
.pv-old { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 14px; }
.pv-old li { display: grid; grid-template-columns: 4.2em minmax(0, 1fr); gap: 12px; align-items: baseline; }
.pv-y { font-weight: 800; font-size: 18px; color: var(--blue-d); }
.pv-old b { display: block; font-weight: 750; }
.pv-old small { color: var(--muted); font-size: 13.5px; }
.pv-old small a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.pv-price { transition: border-color .2s, box-shadow .2s; }
.pv-price:hover { border-color: var(--blue-d); box-shadow: var(--sh-1); }
.pv-big { margin: 6px 0 4px; font-size: 40px; font-weight: 800; letter-spacing: -0.03em; }
.pv-big small { font-size: 18px; font-weight: 700; color: var(--muted); margin-left: 2px; }
.pv-price .pv-sub { margin-bottom: 12px; }
.pv-price .text-link { display: inline-flex; align-items: center; gap: 6px; }
.pv-facts { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.pv-facts li { background: #fff; border: 1px solid var(--line); border-radius: var(--pill); padding: 9px 16px; font-size: 14.5px; color: var(--ink-2); }
.pv-facts b { color: var(--ink); margin-right: 2px; }
@media (max-width: 860px) {
  .pv-glance { grid-template-columns: 1fr; }
  .pv-card { padding: 22px 20px; }
  .pv-bars li { grid-template-columns: 8em minmax(0, 1fr) 2.6em; gap: 10px; font-size: 14.5px; }
}

/* Province cost page: "How {province} compares" */
.pc-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pc-tiles .pv-big { font-size: 34px; }
.pc-tiles .pv-sub { margin: 0; }
.pc-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 20px; align-items: start; }
.pc-tax { width: 100%; min-width: 0; margin: 0; font-size: 15px; }
.pc-tax th, .pc-tax td { border-top: 0; }
.pc-tax th { font-weight: 650; text-align: left; }
.pc-tax th, .pc-tax td { padding: 10px 0; border-bottom: 1px solid var(--line); }
@media (max-width: 860px) { .pc-tax { font-size: 14px; } .pc-tax td { padding-left: 8px; } .pc-tax th { white-space: normal; } }
.pc-tax tr:last-child th, .pc-tax tr:last-child td { border-bottom: 0; }
.pc-tax td { padding-left: 12px; white-space: nowrap; }
.pc-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; }
.pc-hot { margin: 20px 0 0; padding: 16px 20px; border-radius: var(--r-sm); background: #FFF6E5; border: 1px solid #F5D9A6; color: var(--ink-2); font-size: 15px; }
.pc-hot b { color: var(--ink); }
@media (max-width: 860px) {
  .pc-tiles, .pc-two { grid-template-columns: 1fr; }
  .pc-tiles { gap: 12px; }
}

/* Mover card: the mover has claimed and manages this profile */
.mv-claimed { display: inline-flex; align-items: center; gap: 5px; margin: 2px 0 0; padding: 4px 10px; border-radius: var(--pill); background: var(--blue-l); color: var(--blue-d); font-size: 12.5px; font-weight: 700; width: fit-content; }
/* A mover opened from a direct link (?m=slug) */
.mv-card.mv-focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-l), var(--sh-1); }

/* Mover names on cards link to their profile */
.mv-name a { color: inherit; text-decoration: none; }
.mv-name a:hover { color: var(--blue-d); text-decoration: underline; text-underline-offset: 3px; }

/* ===== Company profile v3 (/company/{slug}/): restrained, typographic — App Store header, Stripe-style tables, hairlines ===== */
.pf { --hair: rgba(14, 20, 48, .10); --soft: #F6F7F9; background: #fff; color: var(--ink); }
.pf-head { padding: 28px 0 0; border-bottom: 1px solid var(--hair); }
.pf-crumbs ol { margin: 0 0 26px; font-weight: 500; }
.pf-id { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; align-items: center; }
.pf-logo { display: flex; align-items: center; justify-content: center; width: 96px; height: 96px; padding: 12px; border: 1px solid var(--hair); border-radius: 22px; background: #fff; }
.pf-logo img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.pf-logo-wide { width: 184px; padding: 14px 18px; }
.pf-logo-dark { background: #0B1530; border-color: #0B1530; }
.pf-logo-mono { background: #0E1430; border-color: #0E1430; }
.pf-logo-mono span { color: #fff; font-size: 32px; font-weight: 600; letter-spacing: -0.02em; }
.pf-title h1 { margin: 0; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.08; font-weight: 650; letter-spacing: -0.032em; }
.pf-title p { margin: 8px 0 0; font-size: 17px; color: var(--muted); }
.pf-claimed { color: var(--ink-2); font-weight: 600; }
.pf-cta { display: flex; gap: 10px; }
.pf-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 46px; padding: 0 22px; border: 1px solid var(--blue); border-radius: 12px; background: var(--blue); color: #fff; font: inherit; font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer; white-space: nowrap; transition: background .15s, border-color .15s; }
.pf-btn:hover { background: var(--blue-d); border-color: var(--blue-d); }
.pf-btn-sec { background: #fff; border-color: var(--hair); color: var(--ink); padding: 0 16px; }
.pf-btn-sec:hover { background: var(--soft); border-color: rgba(14, 20, 48, .18); }
.pf-facts { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin: 30px 0 0; border-top: 1px solid var(--hair); }
.pf-facts > div { padding: 16px 12px 20px; text-align: center; border-left: 1px solid var(--hair); }
.pf-facts > div:first-child { border-left: 0; }
.pf-facts dt { font-size: 11.5px; font-weight: 600; letter-spacing: .07em; color: var(--muted); }
.pf-facts dd { margin: 6px 0 2px; font-size: 22px; font-weight: 650; letter-spacing: -0.02em; color: var(--ink); }
.pf-facts span { font-size: 13px; color: var(--muted); }
.pf-tabs { position: sticky; top: 76px; z-index: 20; background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--hair); }
.pf-tabs .wrap { display: flex; gap: 28px; overflow-x: auto; scrollbar-width: none; }
.pf-tabs .wrap::-webkit-scrollbar { display: none; }
.pf-tabs a { padding: 15px 0 13px; border-bottom: 2px solid transparent; color: var(--muted); font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.pf-tabs a:hover { color: var(--ink); }
.pf-tabs a.on { color: var(--ink); border-bottom-color: var(--ink); }
.pf-body { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 72px; align-items: start; padding-bottom: 80px; }
.pf-sec { padding: 48px 0; border-top: 1px solid var(--hair); scroll-margin-top: 130px; }
.pf-sec:first-child { border-top: 0; }
.pf-sec h2 { margin: 0 0 10px; font-size: 26px; font-weight: 650; letter-spacing: -0.022em; }
.pf-sub { margin: 0 0 26px; font-size: 15.5px; color: var(--muted); }
.pf-lead { margin: 14px 0 30px; max-width: 690px; font-size: 18px; line-height: 1.65; color: var(--ink); }
.pf-quote { margin: 0 0 30px; padding: 0 0 0 20px; border-left: 2px solid var(--ink); }
.pf-quote p { margin: 0; font-size: 17px; line-height: 1.6; color: var(--ink-2); }
.pf-quote cite { display: block; margin-top: 8px; font-size: 13.5px; font-style: normal; color: var(--muted); }
.pf-table { display: grid; grid-template-columns: 200px minmax(0, 1fr); margin: 0; }
.pf-table dt, .pf-table dd { margin: 0; padding: 15px 0; border-top: 1px solid var(--hair); font-size: 15.5px; }
.pf-table dt { color: var(--muted); }
.pf-table dd { color: var(--ink); font-weight: 500; }
.pf-table a, .pf-sec a, .pf-rail a { color: var(--blue-d); text-decoration: none; font-weight: 600; }
.pf-table a:hover, .pf-sec a:hover, .pf-rail a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pf-svc { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 44px; }
.pf-svc li { display: flex; gap: 12px; }
.pf-tick { flex: none; color: var(--ink); margin-top: 1px; }
.pf-svc b { display: block; font-size: 16px; font-weight: 600; }
.pf-svc .d { display: block; margin-top: 3px; font-size: 14.5px; line-height: 1.5; color: var(--muted); }
.pf-svc a { display: inline-block; margin-top: 6px; font-size: 14px; }
.pf-map { margin: 0 0 26px; padding: 0; border-radius: 18px; background: var(--soft); overflow: hidden; }
.pf-map svg { display: block; width: 100%; height: auto; }
.pf-map figcaption { padding: 0 20px 14px; font-size: 12.5px; color: var(--muted); }
.pf-map-t { font: 500 13px var(--font); fill: var(--ink-2); }
.pf-map-base { font: 650 14px var(--font); fill: var(--ink); }
.pf-map a:hover circle { fill: #2F6FED; fill-opacity: 1; }
.pf-map a:hover text { fill: #1F57C9; }
.pf-cities { list-style: none; margin: 0; padding: 0; columns: 3; column-gap: 32px; }
.pf-cities li { padding: 6px 0; break-inside: avoid; }
.pf-cities li a { color: var(--ink); font-weight: 500; font-size: 15px; }
.pf-cities li.own a { font-weight: 650; }
.pf-price { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
.pf-price > div { padding-right: 32px; }
.pf-price .pf-est { padding: 0 0 0 32px; border-left: 1px solid var(--hair); }
.pf-price-k { margin: 0; font-size: 14px; color: var(--muted); }
.pf-price-v { margin: 8px 0 4px; font-size: 48px; font-weight: 600; letter-spacing: -0.04em; line-height: 1.05; color: var(--ink); }
.pf-price-v small { margin-left: 2px; font-size: 18px; font-weight: 500; letter-spacing: 0; color: var(--muted); }
.pf-price-v2 { font-size: 32px; letter-spacing: -0.03em; }
.pf-price-c { margin: 4px 0 0; font-size: 14.5px; color: var(--muted); }
.pf-bars { margin-top: 18px; display: grid; gap: 10px; }
.pf-bars > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 14px; align-items: center; font-size: 13.5px; color: var(--ink-2); }
.pf-bars i { position: relative; display: block; height: 6px; border-radius: 3px; background: #ECEEF2; }
.pf-bars b { position: absolute; top: 0; bottom: 0; border-radius: 3px; background: #A2AABB; }
.pf-bars b.me { background: var(--ink); }
.pf-fine { margin: 26px 0 0; font-size: 14px; color: var(--muted); }
.pf-trust { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin-top: 18px; }
.pf-trust svg { color: var(--ink); }
.pf-trust h3 { margin: 12px 0 6px; font-size: 16px; font-weight: 600; }
.pf-trust p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--muted); }
.pf-faq details { border-top: 1px solid var(--hair); }
.pf-faq details:last-child { border-bottom: 1px solid var(--hair); }
.pf-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 19px 0; font-size: 16.5px; font-weight: 600; cursor: pointer; list-style: none; }
.pf-faq summary::-webkit-details-marker { display: none; }
.pf-faq summary::after { content: "+"; flex: none; font-size: 22px; font-weight: 300; color: var(--muted); }
.pf-faq details[open] summary::after { content: "\2013"; }
.pf-faq p { margin: -4px 0 20px; max-width: 680px; font-size: 15.5px; line-height: 1.65; color: var(--ink-2); }
.pf-sticky { position: sticky; top: 130px; padding-top: 48px; }
.pf-rail-note { margin: 14px 2px 0; font-size: 13.5px; line-height: 1.5; color: var(--muted); }
.pf-own { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--hair); font-size: 14.5px; }
.pf-own b { display: block; font-weight: 600; }
.pf-own p { margin: 4px 0 8px; color: var(--muted); }
.pf-more { padding: 56px 0 80px; border-top: 1px solid var(--hair); background: var(--soft); }
.pf-more-h { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 22px; }
.pf-more-h h2 { margin: 0; font-size: 24px; font-weight: 650; letter-spacing: -0.02em; }
.pf-more-h a { color: var(--blue-d); font-weight: 600; text-decoration: none; }
.pf-more-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.pf-more-list a { display: flex; align-items: center; gap: 14px; height: 100%; padding: 14px 16px; border: 1px solid var(--hair); border-radius: 14px; background: #fff; color: var(--ink); text-decoration: none; transition: border-color .15s; }
.pf-more-list a:hover { border-color: rgba(14, 20, 48, .28); }
.pf-mini-logo { flex: none; display: flex; align-items: center; justify-content: center; width: 64px; height: 44px; padding: 6px; border: 1px solid var(--hair); border-radius: 10px; background: #fff; }
.pf-mini-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.pf-mini-logo.pf-logo-mono span { color: #fff; font-size: 15px; font-weight: 600; }
.pf-mini-t b { display: block; font-size: 15px; font-weight: 600; line-height: 1.3; }
.pf-mini-t small { display: block; margin-top: 2px; font-size: 13px; color: var(--muted); }
@media (max-width: 1060px) {
  .pf-body { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .pf-sticky { position: static; padding: 8px 0 48px; }
  .pf-more-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .pf-head { padding-top: 18px; }
  .pf-crumbs ol { margin-bottom: 18px; }
  .pf-crumbs li { display: none; }
  .pf-crumbs li:nth-last-child(2) { display: inline-flex; }
  .pf-crumbs li:nth-last-child(2)::before { content: "\2039"; margin: 0 6px 0 0; }
  .pf-crumbs li:nth-last-child(2) a::after { content: " movers"; }
  .pf-id { grid-template-columns: auto minmax(0, 1fr); gap: 16px; }
  .pf-logo { width: 72px; height: 72px; padding: 9px; border-radius: 18px; }
  .pf-logo-wide { width: 120px; }
  .pf-logo-mono span { font-size: 24px; }
  .pf-title h1 { font-size: 26px; }
  .pf-title p { font-size: 15px; }
  .pf-cta { grid-column: 1 / -1; }
  .pf-cta .pf-btn:first-child { flex: 1; }
  .pf-facts { grid-auto-columns: minmax(118px, 1fr); overflow-x: auto; margin: 22px -20px 0; padding: 0 8px; scrollbar-width: none; }
  .pf-facts::-webkit-scrollbar { display: none; }
  .pf-tabs { top: 64px; }
  .pf-tabs .wrap { gap: 22px; }
  .pf-sec { padding: 36px 0; }
  .pf-sec h2 { font-size: 23px; }
  .pf-lead { font-size: 16.5px; }
  .pf-table { grid-template-columns: 120px minmax(0, 1fr); }
  .pf-svc, .pf-trust, .pf-price { grid-template-columns: minmax(0, 1fr); }
  .pf-trust { gap: 26px; }
  .pf-price .pf-est { padding: 22px 0 0; margin-top: 22px; border-left: 0; border-top: 1px solid var(--hair); }
  .pf-price-v { font-size: 40px; }
  .pf-cities { columns: 2; }
  .pf-more-list { grid-template-columns: minmax(0, 1fr); }
}
.pf-mini-logo.pf-logo-mono { background: #0E1430; border-color: #0E1430; }
.pf-mini-logo.pf-logo-dark { background: #0B1530; border-color: #0B1530; }
/* v3 polish (2026-10-12): calmer header band, own-business link, mover card in the rail */
.pf-head { background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%); }
.pf-logo { width: 104px; height: 104px; box-shadow: 0 1px 2px rgba(14, 20, 48, .04), 0 10px 24px -14px rgba(14, 20, 48, .25); }
.pf-logo-wide { width: 200px; }
.pf-ownlink { margin-left: 6px; font-size: 15px; font-weight: 600; color: var(--blue-d); text-decoration: none; white-space: nowrap; }
.pf-ownlink:hover { text-decoration: underline; text-underline-offset: 3px; }
.pf-svc { gap: 18px 44px; }
.pf-svc b { font-weight: 500; }
.pf-claim { margin-top: 26px; padding: 22px 22px 20px; border: 1px solid var(--hair); border-radius: 18px; background: linear-gradient(180deg, #F7F9FD 0%, #FFFFFF 70%); scroll-margin-top: 140px; }
.pf-claim-k { margin: 0; font-size: 13px; font-weight: 600; color: var(--blue-d); }
.pf-claim h3 { margin: 6px 0 0; font-size: 19px; font-weight: 650; letter-spacing: -0.015em; color: var(--ink); }
.pf-claim-n { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.pf-claim-n li { display: flex; align-items: baseline; gap: 10px; }
.pf-claim-n b { font-size: 26px; font-weight: 650; letter-spacing: -0.02em; color: var(--ink); }
.pf-claim-n span { font-size: 14px; color: var(--muted); }
.pf-claim-g { list-style: none; margin: 16px 0 0; padding: 16px 0 0; border-top: 1px solid var(--hair); display: grid; gap: 9px; }
.pf-claim-g li { display: flex; gap: 9px; align-items: flex-start; font-size: 14.5px; line-height: 1.4; color: var(--ink-2); }
.pf-claim-g svg { flex: none; width: 18px; height: 18px; color: #0B7A3B; }
.pf-claim-btn { width: 100%; margin-top: 18px; }
.pf-claim-f { margin: 10px 0 0; font-size: 12.5px; text-align: center; color: var(--muted); }
@media (max-width: 760px) { .pf-logo { width: 76px; height: 76px; } .pf-logo-wide { width: 140px; } .pf-ownlink { display: inline-block; margin: 6px 0 0; } }
.pf-head { padding-bottom: 34px; }
/* Service-area map: real map (MapLibre + OpenFreeMap) over the drawn placeholder */
.pf-map { position: relative; border: 1px solid var(--hair); }
.pf-gl { width: 100%; aspect-ratio: 16 / 9; }
.pf-map-live svg { display: none; }
.pf-map:not(.pf-map-live) .pf-gl { position: absolute; inset: 0; opacity: 0; }
.pf-pin { display: flex; flex-direction: column; align-items: center; gap: 6px; pointer-events: none; }
.pf-pin b { order: -1; padding: 5px 11px; border-radius: 999px; background: #0E1430; color: #fff; font: 600 13px var(--font); white-space: nowrap; box-shadow: 0 6px 16px -6px rgba(14, 20, 48, .5); }
.pf-pin i { position: relative; width: 16px; height: 16px; border-radius: 50%; background: #2F6FED; border: 3px solid #fff; box-shadow: 0 0 0 1px rgba(14, 20, 48, .12), 0 4px 10px rgba(47, 111, 237, .45); }
.pf-pin i::after { content: ""; position: absolute; inset: -9px; border-radius: 50%; background: rgba(47, 111, 237, .22); animation: pfPulse 2.4s ease-out infinite; }
@keyframes pfPulse { 0% { transform: scale(.4); opacity: 1; } 100% { transform: scale(1.6); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pf-pin i::after { animation: none; } }
.pf-map .maplibregl-ctrl-attrib { font-size: 11px; }
.pf-map-key { position: absolute; top: 12px; left: 12px; z-index: 2; display: flex; flex-direction: column; gap: 6px; padding: 9px 12px; border-radius: 12px; background: rgba(255, 255, 255, .94); box-shadow: 0 1px 2px rgba(14, 20, 48, .06), 0 6px 18px -8px rgba(14, 20, 48, .25); font: 500 12.5px/1.25 var(--font); color: var(--ink-2); pointer-events: none; }
.pf-map-key span { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.pf-key-ring { width: 14px; height: 14px; border-radius: 50%; border: 1.6px dashed #2F6FED; background: rgba(47, 111, 237, .1); flex: none; }
.pf-key-far { position: relative; width: 14px; height: 2px; background: #0E1430; flex: none; }
.pf-key-far::after { content: ""; position: absolute; right: -1px; top: -3px; border: 4px solid transparent; border-left: 5px solid #0E1430; border-right: 0; }
@media (max-width: 760px) { .pf-map-key { position: static; flex-flow: row wrap; gap: 6px 16px; padding: 12px 14px 13px; border-radius: 0; background: #fff; box-shadow: none; border-top: 1px solid var(--hair); font-size: 12.5px; } }
@media (max-width: 760px) { .pf-gl { aspect-ratio: 4 / 3; } }
