:root {
  --navy: #071d31;
  --navy-2: #0b2b49;
  --navy-3: #123f67;
  --blue: #1e6fb1;
  --blue-2: #5ba8df;
  --cyan: #18a5b6;
  --amber: #ffd33f;
  --amber-2: #ffb929;
  --red: #e7594e;
  --danger: #d94b3f;
  --danger-soft: #fff2ef;
  --ink: #10243a;
  --muted: #5f7083;
  --line: #d9e5ef;
  --page: #f5f9fc;
  --soft: #eaf3fa;
  --white: #ffffff;
  --green: #1f9b70;
  --shadow: 0 24px 60px rgba(14, 52, 84, .14);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body {
  min-width: 320px;
  margin: 0;
  color: var(--ink);
  background: var(--page);
  font-family: "Segoe UI", Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}

input, select, button { font: inherit; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, select, input { color: inherit; }

.skip-link {
  position: fixed;
  left: 16px;
  top: -80px;
  z-index: 1000;
  padding: 10px 14px;
  color: #fff;
  background: var(--navy);
  border-radius: 8px;
}
.skip-link:focus { top: 16px; }

.svg-sprite { position: absolute; overflow: hidden; }
.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  color: #fff;
  background: rgba(7, 29, 49, .94);
  border-bottom: 1px solid rgba(255,255,255,.09);
  backdrop-filter: blur(16px);
}
.header-inner {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  min-height: 68px;
  gap: 14px;
}
.brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
  min-width: 0;
  white-space: nowrap;
}
.brand-mark { display: grid; flex: 0 0 auto; place-items: center; width: 38px; height: 38px; color: #8ec8ef; }
.brand-mark img { display: block; width: 38px; height: 38px; object-fit: contain; }
.brand-copy {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  white-space: nowrap;
}
.brand-copy strong { display: block; font-size: 14px; line-height: 1.2; }
.brand-status {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  margin: 0;
  padding: 4px 7px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  color: rgba(255,255,255,.7);
  background: rgba(255,255,255,.045);
  font-size: 10px;
  font-weight: 750;
  line-height: 1;
}
.nav {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 0;
  gap: 0;
  white-space: nowrap;
}
.nav a {
  flex: 0 0 auto;
  padding: 9px 8px;
  border-radius: 8px;
  color: rgba(255,255,255,.78);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.nav a:hover, .nav a:focus-visible { color: #fff; background: rgba(255,255,255,.07); }
.header-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.phone-link { display: inline-flex; align-items: center; gap: 7px; color: #fff; font-size: 13px; font-weight: 760; white-space: nowrap; }
.phone-link svg { width: 18px; height: 18px; color: #8ec8ef; }
.header-cta { min-height: 42px; padding: 10px 14px; border-radius: 8px; font-size: 13px; }
.menu-toggle { display: none; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; color: #fff; background: rgba(255,255,255,.04); }
.menu-toggle svg { width: 22px; height: 22px; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border: 1px solid transparent;
  border-radius: 10px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.button:hover { transform: translateY(-1px); }
.button svg { width: 17px; height: 17px; margin-left: 8px; }
.button-primary { color: #fff; background: var(--blue); box-shadow: 0 12px 28px rgba(30,111,177,.26); }
.button-primary:hover { background: #195f98; }
.button-accent { color: #10243a; background: linear-gradient(180deg, #ffdf5a, var(--amber)); box-shadow: 0 14px 30px rgba(255, 211, 63, .24); }
.button-accent:hover { background: #ffe36b; }
.button-ghost { color: #fff; border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.05); }
.button-ghost:hover { background: rgba(255,255,255,.10); }
.button-secondary { color: var(--navy-2); border-color: var(--line); background: #fff; }
.button-secondary:hover { border-color: #a9c4d9; box-shadow: 0 10px 22px rgba(18,62,96,.08); }
.text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--blue); font-weight: 800; }
.text-link svg { width: 17px; height: 17px; }

.hero {
  position: relative;
  overflow: hidden;
  padding: 74px 0 68px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 24%, rgba(54, 145, 203, .28), transparent 29%),
    linear-gradient(135deg, var(--navy) 0%, #09233c 56%, #0e3657 100%);
}
.hero-grid-pattern {
  position: absolute;
  inset: 0;
  opacity: .17;
  background-image:
    linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(90deg, #000, transparent 75%);
}
.hero-date-watermark {
  position: absolute;
  right: -12px;
  bottom: -88px;
  color: rgba(255,255,255,.035);
  font-size: clamp(180px, 23vw, 360px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.09em;
  pointer-events: none;
}
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr); align-items: center; gap: 70px; }
.deadline-pill { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 22px; padding: 8px 12px; border: 1px solid rgba(255,211,63,.34); border-radius: 999px; color: #ffe27d; background: rgba(255,211,63,.08); font-size: 13px; font-weight: 850; }
.deadline-pill svg { width: 18px; height: 18px; }
h1,h2,h3,p { margin-top: 0; }
h1 { max-width: 720px; margin-bottom: 20px; font-size: clamp(46px, 5.3vw, 72px); line-height: .99; letter-spacing: -.04em; font-weight: 900; }
h1 span { color: #8ed5ff; }
.hero-lead { max-width: 720px; margin-bottom: 28px; color: rgba(255,255,255,.76); font-size: 19px; line-height: 1.6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 32px; }
.hero-trust { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.hero-trust > div { display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 10px; }
.hero-trust svg, .trust-mark { display: grid; place-items: center; width: 38px; height: 38px; color: #8ed5ff; }
.trust-mark { border-radius: 8px; color: #7d5b00; background: #ffd43b; font-size: 15px; font-weight: 900; }
.hero-trust p { margin: 0; }
.hero-trust strong, .hero-trust small { display: block; }
.hero-trust strong { color: #fff; font-size: 14px; line-height: 1.2; }
.hero-trust small { margin-top: 3px; color: rgba(255,255,255,.56); font-size: 12px; line-height: 1.25; }
.hero-law { margin: 24px 0 0; color: rgba(255,255,255,.48); font-size: 13px; }

.lead-panel { position: relative; padding: 26px; border: 1px solid rgba(255,255,255,.5); border-radius: 22px; color: var(--ink); background: rgba(255,255,255,.96); box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.lead-panel::before { content: ""; position: absolute; inset: 8px; z-index: -1; border-radius: 18px; background: linear-gradient(135deg, rgba(30,111,177,.15), transparent 50%); }
.lead-panel-top { display: block; margin-bottom: 20px; }
.lead-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; }
.lead-kicker { color: var(--blue); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.lead-panel h2 { margin: 5px 0 0; font-size: 29px; line-height: 1.15; letter-spacing: -.025em; }
.deadline-calendar { display: grid; grid-template-columns: 112px minmax(0,1fr); align-items: stretch; gap: 17px; margin-top: 18px; padding: 13px; border: 1px solid #efc3bd; border-radius: 16px; background: linear-gradient(135deg, #fff9f7, #fff1ed); box-shadow: 0 12px 28px rgba(174,63,48,.10); }
.calendar-sheet { position: relative; display: grid; place-items: center; align-content: center; min-height: 126px; border: 1px solid #e4d7d4; border-radius: 12px; background: #fff; box-shadow: 0 10px 24px rgba(65,43,39,.12); overflow: hidden; }
.calendar-sheet::before, .calendar-sheet::after { content: ""; position: absolute; top: 22px; width: 9px; height: 9px; border-radius: 50%; background: #f5dfdb; box-shadow: inset 0 1px 2px rgba(102,45,38,.18); }
.calendar-sheet::before { left: 17px; }
.calendar-sheet::after { right: 17px; }
.calendar-sheet-top { position: absolute; inset: 0 0 auto; display: block; padding: 7px 8px; color: #fff; background: var(--danger); font-size: 9px; font-weight: 950; letter-spacing: .09em; text-align: center; text-transform: uppercase; }
.calendar-sheet strong { margin-top: 20px; color: var(--navy); font-size: 48px; line-height: .9; letter-spacing: -.05em; }
.calendar-month { margin-top: 5px; color: var(--danger); font-size: 13px; font-weight: 900; text-transform: uppercase; }
.calendar-sheet small { margin-top: 1px; color: var(--muted); font-size: 11px; font-weight: 850; }
.deadline-remaining { min-width: 0; padding: 5px 4px 3px 0; }
.deadline-label { display: block; color: var(--muted); font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.deadline-value { display: flex; align-items: baseline; gap: 8px; margin: 2px 0 7px; }
.deadline-value strong { color: var(--danger); font-size: 43px; line-height: 1; letter-spacing: -.05em; }
.deadline-value span { color: var(--ink); font-size: 17px; font-weight: 900; }
.deadline-meter { height: 8px; border-radius: 999px; background: #efdeda; overflow: hidden; }
.deadline-meter i { display: block; width: 22%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--danger), var(--amber-2)); transition: width .35s ease; }
.deadline-status { display: block; margin-top: 8px; color: var(--danger); font-size: 13px; }
.deadline-remaining small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.mini-route { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: center; margin: 0 0 20px; padding: 16px 12px; border-radius: 14px; background: var(--soft); }
.route-node { display: grid; place-items: center; gap: 5px; text-align: center; }
.route-node small { color: var(--muted); font-size: 10px; font-weight: 800; }
.route-icon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #c9dce9; border-radius: 10px; color: var(--blue); background: #fff; }
.route-icon svg { width: 21px; height: 21px; }
.route-1c { color: #775700; background: #ffd43b; border-color: #ffd43b; font-size: 13px; font-weight: 950; }
.route-line { position: relative; height: 1px; background: #9ec2dc; }
.route-line i { position: absolute; right: -1px; top: -3px; width: 7px; height: 7px; border-top: 1.5px solid #6d9fc2; border-right: 1.5px solid #6d9fc2; transform: rotate(45deg); }
.lead-form { display: grid; gap: 13px; }
.lead-form label > span { display: block; margin-bottom: 6px; color: var(--ink); font-size: 13px; font-weight: 800; }
.lead-form input[type="tel"], .lead-form select { width: 100%; height: 48px; padding: 0 13px; border: 1px solid #cedde8; border-radius: 10px; outline: none; background: #fff; }
.lead-form input:focus, .lead-form select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(30,111,177,.12); }
.form-submit { width: 100%; }
.form-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.form-status {
  min-height: 18px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}
.form-status:empty { display: none; }
.form-status.is-error { color: #a62c2c; }
.form-status.is-success { color: var(--green); }
.js-lead-form button[type="submit"]:disabled {
  cursor: wait;
  opacity: .68;
}
.consent { display: flex; align-items: flex-start; gap: 8px; color: var(--muted); font-size: 12px; }
.consent input { margin-top: 3px; }
.form-note { margin: -2px 0 0; color: var(--muted); font-size: 12px; text-align: center; }
.form-success { padding: 38px 20px 30px; text-align: center; }
.form-success > span { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 16px; border-radius: 50%; color: #fff; background: var(--green); }
.form-success svg { width: 28px; height: 28px; }
.form-success h3 { margin-bottom: 7px; font-size: 24px; }
.form-success p { color: var(--muted); }

.deadline-strip { background: #fff7f4; border-bottom: 1px solid #efd5cf; box-shadow: 0 10px 32px rgba(131,51,40,.07); }
.deadline-strip-inner { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 18px; min-height: 112px; }
.deadline-strip-icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 12px; color: #fff; background: var(--danger); box-shadow: 0 10px 22px rgba(217,75,63,.22); }
.deadline-strip-icon svg { width: 25px; height: 25px; }
.deadline-strip strong { color: #8f2f27; font-size: 20px; }
.deadline-strip p { margin: 3px 0 0; color: var(--muted); }

.section { padding: 88px 0; }
.section-soft { background: var(--soft); border-block: 1px solid #d9e7f1; }
.section-heading { max-width: 820px; margin-bottom: 34px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading.centered p { margin-inline: auto; }
.section-heading p, .readiness-copy > p, .platform-copy > p, .faq-intro > p { color: var(--muted); font-size: 17px; }
.section-kicker { display: block; margin-bottom: 10px; color: var(--blue); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .09em; }
.section-kicker-light { color: #7bc8f7; }
h2 { margin-bottom: 14px; font-size: clamp(34px, 4.2vw, 50px); line-height: 1.08; letter-spacing: -.035em; font-weight: 900; }
h3 { margin-bottom: 9px; font-size: 21px; line-height: 1.2; }

.pricing-section {
  position: relative;
  color: #fff;
  background:
    radial-gradient(circle at 86% 14%, rgba(24,165,182,.24), transparent 28%),
    linear-gradient(145deg, #071d31 0%, #0b3457 68%, #0a5966 100%);
  border-block: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
}
.pricing-section::before {
  content: "";
  position: absolute;
  left: -140px;
  bottom: -250px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(121,211,223,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 60px rgba(121,211,223,.025), 0 0 0 120px rgba(121,211,223,.018);
  pointer-events: none;
}
.pricing-section > .container { position: relative; z-index: 1; }
.pricing-heading { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(320px,.85fr); align-items: end; gap: 46px; margin-bottom: 30px; }
.pricing-heading h2 { max-width: 780px; margin-bottom: 0; color: #fff; }
.pricing-heading > p { margin: 0 0 4px; color: rgba(255,255,255,.72); font-size: 17px; }
.pricing-table-shell {
  color: var(--ink);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(0,0,0,.25);
  overflow: hidden;
}
.pricing-table-lead {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 26px;
  color: #fff;
  background: linear-gradient(90deg, var(--blue), #168395);
}
.pricing-table-lead strong { font-size: 21px; line-height: 1.25; }
.pricing-table-lead span { color: rgba(255,255,255,.78); font-size: 14px; font-weight: 700; text-align: right; }
.pricing-table-scroll { overflow-x: auto; overscroll-behavior-inline: contain; }
.pricing-table-scroll:focus-visible { outline: 3px solid rgba(90,174,232,.62); outline-offset: -3px; }
.pricing-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-variant-numeric: tabular-nums;
}
.pricing-table caption {
  padding: 15px 22px;
  color: var(--muted);
  background: #f5f9fc;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  text-align: left;
}
.pricing-col-limit { width: 36%; }
.pricing-col-unit { width: 29%; }
.pricing-col-total { width: 35%; }
.pricing-table thead th {
  padding: 15px 20px;
  color: #36536b;
  background: #eaf3fa;
  border-bottom: 1px solid #cbdde9;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .025em;
  text-align: left;
}
.pricing-table tbody th,
.pricing-table tbody td {
  padding: 14px 20px;
  border-bottom: 1px solid #e2ebf2;
  text-align: left;
  vertical-align: middle;
}
.pricing-table tbody th { color: var(--ink); font-size: 16px; }
.pricing-table tbody th small {
  margin-left: 5px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.pricing-table tbody td { color: #486176; }
.pricing-table tbody td strong { color: var(--ink); font-size: 16px; }
.pricing-table tbody tr:not(.pricing-group-row):hover { background: #f7fbfe; }
.pricing-table .pricing-group-row th {
  padding: 10px 20px;
  color: #31566e;
  background: #dfeef7;
  border-bottom-color: #c7dce9;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.pricing-table .pricing-row-postpay { background: #eef8fb; }
.pricing-table .pricing-row-postpay th,
.pricing-table .pricing-row-postpay td { color: #0b6170; }
.pricing-table .pricing-row-postpay th small { color: #4f7f87; }
.pricing-table .pricing-row-postpay td strong { color: #0b6170; font-size: 19px; }
.pricing-table tbody tr:last-child th,
.pricing-table tbody tr:last-child td { border-bottom: 0; }
.pricing-table-footer {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 28px;
  padding: 24px 26px;
  background: #f8fbfd;
  border-top: 1px solid var(--line);
}
.pricing-table-footer > div:first-child > strong { display: block; margin-bottom: 4px; font-size: 18px; }
.pricing-table-footer p { max-width: 720px; margin: 0; color: var(--muted); }
.pricing-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 16px; }
.pricing-actions .button { white-space: nowrap; }
.pricing-actions .text-link { white-space: nowrap; }
.pricing-product-link { color: var(--blue); }
.pricing-disclaimer { margin: 13px 4px 0; color: rgba(255,255,255,.58); font-size: 12px; }

.roles-stage { position: relative; padding: 24px; border: 1px solid #d4e2ed; border-radius: 26px; background: linear-gradient(145deg, #f9fcfe 0%, #eaf4fb 100%); box-shadow: 0 26px 70px rgba(14,52,84,.12), inset 0 1px 0 rgba(255,255,255,.9); overflow: hidden; }
.roles-stage::before { content: ""; position: absolute; left: 7%; right: 7%; top: 82px; height: 1px; background: linear-gradient(90deg, transparent, #b5d2e7 14%, #b5d2e7 86%, transparent); }
.roles-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.role-card { position: relative; min-height: 282px; padding: 28px 24px 24px; border: 1px solid rgba(195,215,230,.95); border-radius: 18px; background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,253,255,.94)); box-shadow: 0 18px 38px rgba(19,63,96,.11), inset 0 1px 0 #fff; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.role-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 78px; background: radial-gradient(circle at 26% 15%, rgba(91,168,223,.17), transparent 60%); }
.role-card::after { content: ""; position: absolute; right: -45px; bottom: -50px; width: 145px; height: 145px; border-radius: 50%; background: radial-gradient(circle, rgba(30,111,177,.10), transparent 70%); }
.role-card:hover { transform: translateY(-5px); border-color: #9dc6df; box-shadow: 0 26px 52px rgba(19,63,96,.16), inset 0 1px 0 #fff; }
.role-icon { position: relative; z-index: 2; display: grid; place-items: center; width: 66px; height: 66px; margin: 0 0 26px; border: 1px solid #c5dbea; border-radius: 18px; color: var(--blue); background: linear-gradient(145deg, #fff, #e7f2fa); box-shadow: 0 12px 26px rgba(23,86,132,.15), inset 0 1px 0 #fff; }
.role-icon svg { width: 31px; height: 31px; }
.role-card h3, .role-card p { position: relative; z-index: 2; }
.role-card p { margin-bottom: 0; color: var(--muted); }
.roles-equal-note { position: relative; z-index: 1; display: grid; grid-template-columns: 46px minmax(0,1fr); align-items: center; gap: 14px; margin-top: 18px; padding: 16px 18px; border: 1px solid #c6dce9; border-radius: 14px; color: var(--ink); background: rgba(255,255,255,.72); }
.roles-equal-note svg { width: 28px; height: 28px; color: var(--blue); }
.roles-equal-note p { margin: 0; color: var(--muted); }
.roles-equal-note strong { color: var(--ink); }


.platform-panel { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 50px; padding: 54px; border-radius: 24px; color: #fff; background: linear-gradient(135deg, var(--navy) 0%, #0a2f51 64%, #0a5966 100%); box-shadow: var(--shadow); }
.platform-copy > p { color: rgba(255,255,255,.68); }
.platform-copy h2 { color: #fff; }
.document-chips { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.document-chips span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: #d7edfb; background: rgba(255,255,255,.06); font-size: 13px; font-weight: 850; }
.platform-flow { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: center; gap: 8px; padding: 28px 24px; border: 1px solid rgba(255,255,255,.13); border-radius: 18px; background: rgba(255,255,255,.06); }
.platform-node { display: grid; place-items: center; min-width: 84px; gap: 8px; text-align: center; }
.platform-node > svg, .platform-node > span { display: grid; place-items: center; width: 52px; height: 52px; color: #98d5fb; }
.platform-node > svg { padding: 12px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(255,255,255,.07); }
.platform-node > span { border-radius: 14px; color: #785700; background: #ffd43b; font-size: 17px; font-weight: 950; }
.platform-node small { color: rgba(255,255,255,.72); font-size: 11px; font-weight: 800; }
.platform-connector { height: 2px; background: linear-gradient(90deg, #4fa2db, #79d3df); }
.platform-connector span { display: block; width: 8px; height: 8px; margin: -3px auto 0; border-radius: 50%; background: #75d5e2; box-shadow: 0 0 18px #75d5e2; }

.implementation-heading { max-width: 860px; }
.implementation-heading > p { color: var(--muted); font-size: 17px; }
.implementation-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; counter-reset: implementation; }
.implementation-item { display: grid; grid-template-columns: 54px minmax(0,1fr); align-items: start; gap: 16px; min-height: 190px; padding: 24px; border: 1px solid #cfdfea; border-radius: 17px; background: rgba(255,255,255,.86); box-shadow: 0 14px 34px rgba(14,52,84,.07); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.implementation-item:hover { transform: translateY(-3px); border-color: #a8cadf; box-shadow: 0 22px 44px rgba(14,52,84,.12); }
.implementation-index { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; color: #fff; background: linear-gradient(145deg, var(--navy-2), var(--blue)); box-shadow: 0 10px 22px rgba(18,63,103,.20); font-size: 17px; font-weight: 950; }
.implementation-item h3 { margin: 3px 0 8px; }
.implementation-item p { margin: 0; color: var(--muted); }


.express-check-section { padding-top: 0; background: var(--soft); }
.express-check-panel { display: grid; grid-template-columns: minmax(0,1.03fr) minmax(420px,.97fr); gap: 34px; padding: 42px; border-radius: 24px; color: #fff; background: linear-gradient(135deg, #081f36 0%, #0c3457 58%, #0a6673 100%); box-shadow: 0 28px 70px rgba(7,29,49,.20); overflow: hidden; }
.express-check-copy { position: relative; padding: 8px 8px 8px 0; }
.express-check-copy::after { content: ""; position: absolute; right: -50px; bottom: -90px; width: 260px; height: 260px; border: 1px solid rgba(121,211,223,.16); border-radius: 50%; box-shadow: 0 0 0 38px rgba(121,211,223,.035), 0 0 0 76px rgba(121,211,223,.025); }
.express-check-copy h2 { position: relative; z-index: 1; max-width: 560px; color: #fff; }
.express-check-copy > p { position: relative; z-index: 1; max-width: 610px; color: rgba(255,255,255,.68); font-size: 17px; }
.express-check-list { position: relative; z-index: 1; display: grid; gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; }
.express-check-list li { display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: start; gap: 10px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.10); border-radius: 12px; color: #eaf6ff; background: rgba(255,255,255,.055); }
.express-check-list svg { width: 22px; height: 22px; color: #72d4a7; }
.express-form-card { position: relative; z-index: 2; align-self: start; padding: 26px; border-radius: 19px; color: var(--ink); background: #fff; box-shadow: 0 24px 60px rgba(0,0,0,.24); }
.express-form { display: grid; gap: 13px; }
.express-form-heading { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 14px; align-items: center; margin-bottom: 4px; }
.express-form-heading > div > span { color: var(--blue); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.express-form-heading h3 { margin: 2px 0 3px; font-size: 24px; }
.express-form-heading p { margin: 0; color: var(--muted); font-size: 13px; }
.express-form-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 14px; color: #fff; background: var(--blue); box-shadow: 0 10px 22px rgba(30,111,177,.22); }
.express-form-icon svg { width: 27px; height: 27px; }
.express-form label > span { display: block; margin-bottom: 6px; color: var(--ink); font-size: 13px; font-weight: 800; }
.express-form input[type="text"], .express-form input[type="tel"], .express-form input[type="email"], .express-form select { width: 100%; height: 48px; padding: 0 13px; border: 1px solid #cedde8; border-radius: 10px; outline: none; background: #fff; }
.express-form input:focus, .express-form select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(30,111,177,.12); }
.express-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.express-submit { width: 100%; }
.express-success:not([hidden]) { min-height: 520px; display: grid; align-content: center; }

.benefits-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.benefits-grid article { padding: 24px; border-top: 3px solid var(--blue); border-radius: 14px; background: #fff; box-shadow: 0 14px 34px rgba(14,52,84,.07); }
.benefits-grid article > span { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 18px; border-radius: 12px; color: var(--blue); background: var(--soft); }
.benefits-grid svg { width: 24px; height: 24px; }
.benefits-grid p { margin-bottom: 0; color: var(--muted); }

.partner-section { padding: 0 0 88px; }
.partner-panel { display: grid; grid-template-columns: 104px minmax(0,1fr) auto; align-items: center; gap: 32px; padding: 36px 42px; border-radius: 20px; color: #fff; background: linear-gradient(135deg, #0b2642, #123f67); box-shadow: var(--shadow); }
.partner-badge { display: grid; place-items: center; width: 92px; height: 92px; border-radius: 20px; color: #715300; background: #ffd43b; font-size: 33px; font-weight: 950; transform: rotate(-2deg); }
.partner-panel h2 { margin-bottom: 8px; color: #fff; font-size: 34px; }
.partner-panel p { max-width: 700px; margin-bottom: 0; color: rgba(255,255,255,.68); }
.partner-panel ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.partner-panel li { display: flex; align-items: center; gap: 8px; color: #e8f5ff; font-weight: 750; }
.partner-panel li svg { width: 18px; height: 18px; color: #7ad4a9; }

.faq-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; }
.faq-intro h2 { max-width: 420px; }
.faq-intro > p { margin-bottom: 24px; }
.faq-list { border: 1px solid #cddde9; border-radius: 16px; background: #fff; overflow: hidden; }
.faq-list details + details { border-top: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 20px 58px 20px 22px; cursor: pointer; color: var(--ink); font-size: 17px; font-weight: 850; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 22px; top: 17px; color: var(--blue); font-size: 24px; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { margin: 0; padding: 0 22px 20px; color: var(--muted); }

.final-section { padding: 0 0 72px; background: var(--soft); }
.final-panel { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 30px; padding: 42px; border-radius: 20px; color: #fff; background: linear-gradient(135deg, #0b2a48, #0a6371); }
.final-panel h2 { max-width: 760px; margin-bottom: 8px; color: #fff; font-size: 39px; }
.final-panel p { max-width: 760px; margin-bottom: 0; color: rgba(255,255,255,.7); }

.mobile-cta { display: none; }
.site-footer { padding: 48px 0 28px; color: #d9e8f3; background: var(--navy); }

.site-footer .brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  white-space: normal;
}
.site-footer .brand-mark { width: 42px; height: 42px; }
.site-footer .brand-mark img { width: 42px; height: 42px; }
.site-footer .brand-copy {
  display: block;
  min-width: 0;
  white-space: normal;
}
.site-footer .brand-copy strong,
.site-footer .brand-copy span { display: block; }
.site-footer .brand-copy strong { font-size: 15px; line-height: 1.2; }
.site-footer .brand-copy span { margin-top: 2px; color: rgba(255,255,255,.62); font-size: 12px; }

.footer-grid { display: grid; grid-template-columns: 1.35fr .8fr 1fr 1.2fr; gap: 34px; }
.footer-brand { min-width: 0; color: #fff; }
.footer-grid > div > p { max-width: 340px; color: rgba(255,255,255,.56); }
.footer-grid h3 { margin-bottom: 12px; color: #fff; font-size: 15px; }
.footer-grid a, .footer-grid p { display: block; margin: 0 0 8px; color: rgba(255,255,255,.62); font-size: 14px; }
.footer-grid a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 34px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.42); font-size: 12px; }

:where(a, button, summary, input, select):focus-visible { outline: 3px solid rgba(90,174,232,.5); outline-offset: 3px; }

@media (max-width: 1060px) {
  .nav { display: none; position: absolute; left: 20px; right: 20px; top: 68px; flex-direction: column; align-items: stretch; padding: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: var(--navy); box-shadow: var(--shadow); }
  .nav.is-open { display: flex; }
  .menu-toggle { display: grid; }
  .header-cta, .phone-link span { display: none; }
  .brand { min-width: 0; }
  .hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .hero-copy { max-width: 800px; }
  .lead-panel { max-width: 720px; }
  .pricing-heading { grid-template-columns: 1fr; gap: 12px; }
  .pricing-heading h2 { margin-bottom: 0; }
  .pricing-table-footer { grid-template-columns: 1fr; }
  .pricing-actions { justify-content: flex-start; }
  .roles-grid, .benefits-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .implementation-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .express-check-panel { grid-template-columns: 1fr; }
  .platform-panel, .faq-layout { grid-template-columns: 1fr; }
  .platform-flow { max-width: 720px; }
  .partner-panel { grid-template-columns: 90px minmax(0,1fr); }
  .partner-panel ul { grid-column: 2; grid-template-columns: repeat(3, minmax(0,1fr)); }
  .footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 720px) {
  body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .container { width: min(100% - 24px, 1180px); }
  .header-inner { min-height: 64px; }
  .brand-mark { width: 36px; height: 36px; }
  .brand-mark img { width: 36px; height: 36px; }
  .brand-copy strong { font-size: 13px; }
  .brand-status { display: none; }
  .phone-link { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.12); border-radius: 9px; }
  .phone-link svg { width: 18px; height: 18px; }
  .hero { padding: 44px 0 42px; }
  .hero-date-watermark { display: none; }
  h1 { font-size: 39px; }
  .hero-lead { font-size: 17px; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .button { width: 100%; }
  .hero-trust { grid-template-columns: 1fr; gap: 12px; }
  .hero-trust > div { grid-template-columns: 36px minmax(0,1fr); }
  .lead-panel { padding: 20px; border-radius: 18px; }
  .lead-panel h2 { font-size: 24px; }
  .deadline-calendar { grid-template-columns: 96px minmax(0,1fr); gap: 12px; padding: 10px; }
  .calendar-sheet { min-height: 116px; }
  .calendar-sheet strong { font-size: 42px; }
  .deadline-value strong { font-size: 36px; }
  .mini-route { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }
  .route-line { display: none; }
  .route-node small { font-size: 9px; }
  .deadline-strip-inner { grid-template-columns: 46px minmax(0,1fr); min-height: 0; padding: 18px 0; }
  .deadline-strip .text-link { grid-column: 2; }
  .deadline-strip strong { font-size: 18px; }
  .section { padding: 58px 0; }
  .section-heading { margin-bottom: 24px; }
  h2 { font-size: 32px; }
  .pricing-heading { margin-bottom: 22px; }
  .pricing-heading > p { font-size: 15px; }
  .pricing-table-shell { border-radius: 16px; }
  .pricing-table-lead { display: grid; gap: 3px; padding: 18px 16px; }
  .pricing-table-lead strong { font-size: 18px; }
  .pricing-table-lead span { font-size: 12px; text-align: left; }
  .pricing-table caption { padding: 12px 10px; font-size: 11px; }
  .pricing-table thead th { padding: 12px 9px; font-size: 11px; line-height: 1.25; }
  .pricing-table tbody th,
  .pricing-table tbody td { padding: 12px 9px; font-size: 13px; line-height: 1.3; }
  .pricing-table tbody th { font-size: 14px; }
  .pricing-table tbody th small { display: block; margin: 2px 0 0; font-size: 10px; }
  .pricing-table tbody td strong { font-size: 14px; }
  .pricing-table .pricing-row-postpay td strong { font-size: 16px; }
  .pricing-table .pricing-group-row th { padding: 9px; font-size: 10px; line-height: 1.35; }
  .pricing-table-footer { padding: 18px 16px; }
  .pricing-table-footer > div:first-child > strong { font-size: 16px; }
  .pricing-table-footer p { font-size: 14px; }
  .pricing-actions { display: grid; width: 100%; }
  .pricing-actions .button { width: 100%; }
  .pricing-actions .text-link { justify-self: start; white-space: normal; }
  .pricing-disclaimer { margin-inline: 0; line-height: 1.45; }
  .roles-grid, .benefits-grid { grid-template-columns: 1fr; }
  .roles-stage { padding: 14px; border-radius: 20px; }
  .roles-stage::before { display: none; }
  .role-card { min-height: 0; padding: 22px; }
  .roles-equal-note { grid-template-columns: 36px minmax(0,1fr); padding: 14px; }
  .implementation-grid { grid-template-columns: 1fr; }
  .implementation-item { min-height: 0; padding: 20px; }
  .express-check-panel { padding: 22px 16px; border-radius: 18px; }
  .express-form-card { padding: 20px; }
  .express-form-row { grid-template-columns: 1fr; }
  .role-card, .step-card { min-height: 0; }
  .platform-panel { gap: 30px; padding: 28px 20px; border-radius: 18px; }
  .platform-flow { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; padding: 18px 10px; }
  .platform-connector { display: none; }
  .platform-node { min-width: 0; }
  .platform-node > svg, .platform-node > span { width: 46px; height: 46px; }
  .split-heading { grid-template-columns: 1fr; gap: 10px; }
  .partner-section { padding-bottom: 58px; }
  .partner-panel { grid-template-columns: 70px minmax(0,1fr); gap: 18px; padding: 25px 20px; }
  .partner-badge { width: 68px; height: 68px; border-radius: 15px; font-size: 25px; }
  .partner-panel h2 { font-size: 27px; }
  .partner-panel ul { grid-column: 1 / -1; grid-template-columns: 1fr; }
  .faq-layout { gap: 24px; }
  .faq-list summary { font-size: 16px; }
  .final-panel { grid-template-columns: 1fr; padding: 28px 20px; }
  .final-panel h2 { font-size: 31px; }
  .final-panel .button { width: 100%; }
  .mobile-cta { position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 20; display: inline-flex; align-items: center; justify-content: center; min-height: 52px; gap: 8px; border-radius: 11px; color: #10243a; background: var(--amber); box-shadow: 0 16px 36px rgba(7,29,49,.28); font-weight: 900; transition: opacity .2s ease, transform .2s ease; }
  .mobile-cta svg { width: 18px; height: 18px; }
  .mobile-cta.is-hidden { opacity: 0; pointer-events: none; transform: translateY(12px); }
  .footer-grid { grid-template-columns: 1fr; gap: 22px; }
  .footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
