/* Ported from _extra/design system/components.css. Regenerate with: node tools/extract-assets.mjs */
/* Marketing and product components. Chrome lives in chrome.css. */
.narrow { width: min(100% - 40px, var(--measure));
      margin-inline: auto; }
.section-heading { max-width: 820px;
      color: var(--ink);
      font-family: var(--display);
      font-size: clamp(2.35rem, 5vw, 4.3rem);
      font-weight: 400;
      letter-spacing: -0.045em;
      line-height: 0.98; }
.section-lede { max-width: 650px;
      margin-top: 22px;
      color: var(--body);
      font-size: clamp(1.02rem, 1.8vw, 1.2rem);
      line-height: 1.7; }
.section-intro { margin-bottom: 56px; }
.button-secondary { border-color: rgba(255,255,255,.22);
      background: rgba(255,255,255,.07);
      color: var(--white);
      backdrop-filter: blur(12px); }
.button-secondary:hover { border-color: rgba(255,255,255,.42);
      background: rgba(255,255,255,.12); }
.hero { position: relative;
      min-height: 860px;
      overflow: hidden;
      border-radius: 0 0 48px 48px;
      background:
        radial-gradient(circle at 78% 18%, rgba(244,180,74,.16), transparent 26%),
        radial-gradient(circle at 8% 90%, rgba(54,130,246,.26), transparent 30%),
        linear-gradient(138deg, #10294b 0%, #0d2342 50%, #0a1833 100%);
      color: var(--white); }
.hero::before { position: absolute;
      inset: 0;
      background-image:
        linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px);
      background-size: 54px 54px;
      content: "";
      mask-image: linear-gradient(to bottom, black 0%, transparent 88%);
      pointer-events: none; }
.hero::after { position: absolute;
      top: 120px;
      right: -180px;
      width: 540px;
      height: 540px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 50%;
      box-shadow: 0 0 0 70px rgba(255,255,255,.018), 0 0 0 140px rgba(255,255,255,.012);
      content: "";
      pointer-events: none; }
.hero-inner { position: relative;
      z-index: 2;
      display: grid;
      min-height: 860px;
      grid-template-columns: minmax(0, 1.03fr) minmax(480px, .97fr);
      gap: clamp(44px, 7vw, 92px);
      align-items: center;
      padding-top: 150px;
      padding-bottom: 92px; }
.hero-copy { padding-top: 30px; }
.hero .eyebrow { margin-bottom: 20px;
      color: var(--gold); }
.hero h1 { max-width: 760px;
      color: var(--white);
      font-family: var(--display);
      font-size: clamp(3.45rem, 6.8vw, 6.2rem);
      font-weight: 400;
      letter-spacing: -0.06em;
      line-height: 0.91; }
.hero h1 em { color: var(--gold);
      font-weight: 400; }
.hero-lede { max-width: 650px;
      margin-top: 28px;
      color: rgba(255,255,255,.68);
      font-size: clamp(1.08rem, 2vw, 1.28rem);
      line-height: 1.65; }
.hero-actions { display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 34px; }
.hero-actions .button-primary { min-width: 235px; }
.hero-assurances { display: flex;
      flex-wrap: wrap;
      gap: 12px 24px;
      margin-top: 24px;
      color: rgba(255,255,255,.65);
      font-size: 0.86rem;
      font-weight: 600; }
.hero-assurances span { display: inline-flex;
      align-items: center;
      gap: 8px; }
.hero-assurances svg { width: 16px;
      height: 16px;
      color: var(--gold); }
.report-shell { position: relative;
      align-self: center;
      transform: perspective(1400px) rotateY(-3deg) rotateX(1deg);
      transform-origin: center right; }
.report-shell::before, .report-shell::after { position: absolute;
      inset: 20px -16px -14px 28px;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 28px;
      background: rgba(255,255,255,.07);
      content: "";
      backdrop-filter: blur(6px); }
.report-shell::before { transform: rotate(3.2deg); }
.report-shell::after { inset: 10px 10px -7px -12px;
      transform: rotate(-1.7deg);
      opacity: .75; }
.report-card { position: relative;
      z-index: 2;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.64);
      border-radius: 26px;
      background: rgba(255,255,255,.97);
      color: var(--body);
      box-shadow: var(--shadow-lg); }
.report-toolbar { display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 16px 18px;
      border-bottom: 1px solid var(--line);
      background: #f3f1eb; }
.report-title { display: flex;
      align-items: center;
      gap: 10px;
      color: var(--ink);
      font-size: 0.76rem;
      font-weight: 700; }
.report-title .mini-mark { display: grid;
      width: 26px;
      height: 26px;
      place-items: center;
      border-radius: 8px;
      background: var(--forest-900); }
.report-title .mini-mark span { width: 12px; }
.report-title .mini-mark i { display: block;
      width: 100%;
      height: 2px;
      margin: 2px 0;
      border-radius: 99px;
      background: var(--white); }
.report-title .mini-mark i:nth-child(2) { width: 70%; background: var(--gold); }
.sample-badge { display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 5px 9px;
      border: 1px solid rgba(10,24,51,.1);
      border-radius: 999px;
      background: var(--white);
      color: var(--muted);
      font-family: var(--mono);
      font-size: 0.62rem;
      font-weight: 500;
      white-space: nowrap; }
.sample-badge::before { width: 6px;
      height: 6px;
      border-radius: 50%;
      background: var(--green);
      content: "";
      box-shadow: 0 0 0 3px var(--green-soft); }
.report-header { display: grid;
      grid-template-columns: 1fr auto;
      gap: 16px;
      align-items: end;
      padding: 24px 24px 18px; }
.report-kicker { color: var(--muted);
      font-family: var(--mono);
      font-size: 0.63rem;
      letter-spacing: .03em;
      text-transform: uppercase; }
.report-name { margin-top: 5px;
      color: var(--ink);
      font-family: var(--display);
      font-size: 1.7rem;
      letter-spacing: -0.03em;
      line-height: 1; }
.report-date { color: var(--muted);
      font-family: var(--mono);
      font-size: 0.62rem;
      text-align: right; }
.report-tabs { display: grid;
      grid-template-columns: repeat(3, 1fr);
      margin: 0 24px;
      padding: 4px;
      border-radius: 11px;
      background: var(--cream-200); }
.report-tab { min-height: 36px;
      padding: 8px 7px;
      border: 0;
      border-radius: 8px;
      background: transparent;
      color: var(--muted);
      font-size: 0.69rem;
      font-weight: 700;
      cursor: pointer;
      transition: background 160ms var(--ease), box-shadow 160ms var(--ease), color 160ms var(--ease); }
.report-tab[aria-selected="true"] { background: var(--white);
      color: var(--ink);
      box-shadow: 0 4px 12px rgba(10,24,51,.08); }
.report-panels { min-height: 350px; }
.report-panel { padding: 18px 24px 24px; }
.report-panel[hidden] { display: none; }
.summary-grid { display: grid;
      grid-template-columns: 1fr .82fr;
      gap: 12px; }
.summary-card { padding: 16px;
      border: 1px solid var(--line);
      border-radius: 14px;
      background: var(--white); }
.summary-card h3 { color: var(--muted);
      font-family: var(--sans);
      font-size: 0.66rem;
      font-weight: 700;
      letter-spacing: .07em;
      text-transform: uppercase; }
.summary-number { margin-top: 5px;
      color: var(--ink);
      font-family: var(--display);
      font-size: 2.5rem;
      line-height: 1; }
.summary-caption { margin-top: 4px;
      color: var(--muted);
      font-size: 0.69rem;
      line-height: 1.45; }
.review-card { border-color: rgba(244,180,74,.38);
      background: var(--gold-soft); }
.review-card .summary-number { color: var(--amber); }
.agency-list { display: grid;
      gap: 8px;
      margin-top: 12px; }
.agency-row { display: grid;
      grid-template-columns: 88px 1fr auto;
      gap: 10px;
      align-items: center;
      padding: 10px 12px;
      border: 1px solid var(--line);
      border-radius: 12px;
      background: var(--white); }
.agency-name { color: var(--ink);
      font-size: 0.68rem;
      font-weight: 700; }
.agency-line { height: 6px;
      overflow: hidden;
      border-radius: 99px;
      background: var(--grey-soft); }
.agency-line i { display: block;
      height: 100%;
      border-radius: inherit;
      background: var(--green); }
.agency-status { padding: 4px 7px;
      border-radius: 999px;
      background: var(--green-soft);
      color: var(--green);
      font-size: 0.58rem;
      font-weight: 700; }
.agency-status.attention { background: var(--amber-soft);
      color: var(--amber); }
.insight { display: flex;
      gap: 10px;
      align-items: flex-start;
      margin-top: 12px;
      padding: 12px;
      border-radius: 12px;
      background: var(--forest-50); }
.insight-icon { display: grid;
      width: 28px;
      height: 28px;
      flex: 0 0 28px;
      place-items: center;
      border-radius: 8px;
      background: var(--forest-100);
      color: var(--forest-800); }
.insight-icon svg { width: 14px; height: 14px; }
.insight strong { display: block;
      color: var(--ink);
      font-size: 0.68rem;
      line-height: 1.3; }
.insight p { margin-top: 2px;
      color: var(--muted);
      font-size: 0.64rem;
      line-height: 1.45; }
.account-preview { display: grid; gap: 12px; }
.account-card { padding: 14px;
      border: 1px solid var(--line);
      border-radius: 13px;
      background: var(--white); }
.account-top { display: flex;
      align-items: start;
      justify-content: space-between;
      gap: 12px; }
.account-title { color: var(--ink);
      font-size: 0.73rem;
      font-weight: 700; }
.account-meta { margin-top: 2px;
      color: var(--muted);
      font-family: var(--mono);
      font-size: 0.54rem; }
.account-balance { color: var(--ink);
      font-family: var(--display);
      font-size: 1.05rem;
      line-height: 1;
      text-align: right;
      white-space: nowrap; }
.history-label { display: flex;
      justify-content: space-between;
      gap: 10px;
      margin: 11px 0 6px;
      color: var(--muted);
      font-size: 0.56rem; }
.history-grid { display: grid;
      grid-template-columns: repeat(18, 1fr);
      gap: 2px; }
.history-grid i { aspect-ratio: .82;
      border-radius: 3px;
      background: var(--green); }
.history-grid i.late { background: #ff9e0b; }
.history-grid i.adverse { background: var(--red); }
.history-grid i.empty { background: #cbd5e1; }
.address-preview { position: relative;
      display: grid;
      gap: 12px;
      padding-left: 22px; }
.address-preview::before { position: absolute;
      top: 8px;
      bottom: 8px;
      left: 6px;
      width: 2px;
      border-radius: 99px;
      background: var(--cream-300);
      content: ""; }
.address-item { position: relative;
      padding: 13px 14px;
      border: 1px solid var(--line);
      border-radius: 12px;
      background: var(--white); }
.address-item::before { position: absolute;
      top: 17px;
      left: -22px;
      width: 12px;
      height: 12px;
      border: 3px solid var(--green);
      border-radius: 50%;
      background: var(--white);
      content: ""; }
.address-item.attention::before { border-color: #ff9e0b; }
.address-item strong { display: block;
      color: var(--ink);
      font-size: 0.7rem;
      line-height: 1.35; }
.address-item span { display: block;
      margin-top: 4px;
      color: var(--muted);
      font-family: var(--mono);
      font-size: 0.54rem; }
.address-flag { display: inline-flex !important;
      width: auto;
      margin-top: 7px !important;
      padding: 4px 7px;
      border-radius: 999px;
      background: var(--amber-soft);
      color: var(--amber) !important;
      font-family: var(--sans) !important;
      font-size: 0.56rem !important;
      font-weight: 700; }
.report-footer { display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      padding: 13px 18px;
      border-top: 1px solid var(--line);
      background: #f3f1eb;
      color: var(--muted);
      font-size: 0.61rem; }
.report-footer span:last-child { font-family: var(--mono); }
.hero-note { position: absolute;
      z-index: 4;
      right: -26px;
      bottom: 52px;
      display: flex;
      max-width: 225px;
      gap: 10px;
      align-items: center;
      padding: 13px 14px;
      border: 1px solid rgba(255,255,255,.58);
      border-radius: 15px;
      background: rgba(255,255,255,.92);
      color: var(--body);
      box-shadow: var(--shadow-md);
      backdrop-filter: blur(12px); }
.hero-note-icon { display: grid;
      width: 34px;
      height: 34px;
      flex: 0 0 34px;
      place-items: center;
      border-radius: 10px;
      background: var(--green-soft);
      color: var(--green); }
.hero-note-icon svg { width: 16px; height: 16px; }
.hero-note strong { display: block;
      color: var(--ink);
      font-size: 0.68rem;
      line-height: 1.2; }
.hero-note span { display: block;
      margin-top: 2px;
      color: var(--muted);
      font-size: 0.59rem;
      line-height: 1.35; }
.proof-strip { position: relative;
      z-index: 5;
      margin-top: -36px; }
.proof-grid { display: grid;
      grid-template-columns: repeat(4, 1fr);
      overflow: hidden;
      border: 1px solid rgba(10,24,51,.08);
      border-radius: 22px;
      background: rgba(255,255,255,.94);
      box-shadow: var(--shadow-md);
      backdrop-filter: blur(16px); }
.proof-item { position: relative;
      min-height: 112px;
      padding: 25px 28px; }
.proof-item + .proof-item::before { position: absolute;
      top: 24px;
      bottom: 24px;
      left: 0;
      width: 1px;
      background: var(--line);
      content: ""; }
.proof-value { display: block;
      color: var(--ink);
      font-family: var(--display);
      font-size: 2rem;
      letter-spacing: -0.04em;
      line-height: 1; }
.proof-label { display: block;
      margin-top: 7px;
      color: var(--muted);
      font-size: 0.76rem;
      font-weight: 600;
      line-height: 1.35; }
.section { padding: 118px 0; }
.why-section { padding-top: 150px; }
.why-grid { display: grid;
      grid-template-columns: .85fr 1.15fr;
      gap: clamp(50px, 8vw, 112px);
      align-items: center; }
.why-copy .section-heading { font-size: clamp(2.65rem, 5.4vw, 4.8rem); }
.why-points { display: grid;
      gap: 20px;
      margin-top: 34px; }
.why-point { display: grid;
      grid-template-columns: 42px 1fr;
      gap: 15px;
      align-items: start; }
.why-point-icon { display: grid;
      width: 42px;
      height: 42px;
      place-items: center;
      border: 1px solid rgba(10,24,51,.08);
      border-radius: 13px;
      background: var(--white);
      color: var(--forest-800);
      box-shadow: var(--shadow-sm); }
.why-point-icon svg { width: 19px; height: 19px; }
.why-point h3 { color: var(--ink);
      font-size: 0.95rem;
      font-weight: 700;
      line-height: 1.35; }
.why-point p { margin-top: 4px;
      color: var(--muted);
      font-size: 0.88rem;
      line-height: 1.55; }
.comparison-shell { position: relative; }
.comparison-shell::before { position: absolute;
      inset: -24px -18px 28px 32px;
      border-radius: 36px;
      background: var(--forest-100);
      content: "";
      transform: rotate(2deg); }
.comparison-card { position: relative;
      overflow: hidden;
      border: 1px solid rgba(10,24,51,.08);
      border-radius: 26px;
      background: var(--white);
      box-shadow: var(--shadow-md); }
.comparison-head { display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      padding: 22px 24px;
      border-bottom: 1px solid var(--line);
      background: #fbfaf6; }
.comparison-head h3 { color: var(--ink);
      font-family: var(--display);
      font-size: 1.55rem;
      letter-spacing: -0.025em; }
.comparison-head span { color: var(--muted);
      font-family: var(--mono);
      font-size: 0.64rem; }
.comparison-table { overflow-x: auto; }
.comparison-row { display: grid;
      min-width: 610px;
      grid-template-columns: 1.3fr repeat(3, 1fr); }
.comparison-row > div { min-height: 64px;
      padding: 15px 16px;
      border-bottom: 1px solid var(--line);
      border-left: 1px solid var(--line);
      font-size: 0.76rem; }
.comparison-row > div:first-child { border-left: 0; }
.comparison-row:last-child > div { border-bottom: 0; }
.comparison-row.header > div { min-height: 48px;
      background: var(--cream-200);
      color: var(--muted);
      font-size: 0.65rem;
      font-weight: 700;
      letter-spacing: .06em;
      text-transform: uppercase; }
.comparison-label { color: var(--ink);
      font-weight: 700; }
.comparison-label small { display: block;
      margin-top: 3px;
      color: var(--muted);
      font-weight: 500;
      line-height: 1.4; }
.status-ok, .status-warn, .status-neutral { display: inline-flex;
      align-items: center;
      gap: 7px;
      font-weight: 700; }
.status-ok::before, .status-warn::before, .status-neutral::before { width: 8px;
      height: 8px;
      border-radius: 50%;
      content: ""; }
.status-ok { color: var(--green); }
.status-ok::before { background: var(--green); box-shadow: 0 0 0 3px var(--green-soft); }
.status-warn { color: var(--amber); }
.status-warn::before { background: #ff9e0b; box-shadow: 0 0 0 3px var(--amber-soft); }
.status-neutral { color: var(--muted); }
.status-neutral::before { background: #aeb7b3; box-shadow: 0 0 0 3px var(--grey-soft); }
.comparison-note { display: flex;
      gap: 12px;
      align-items: start;
      margin: 0 22px 22px;
      padding: 14px 15px;
      border-radius: 14px;
      background: var(--gold-soft);
      color: var(--amber);
      font-size: 0.75rem;
      font-weight: 600;
      line-height: 1.5; }
.comparison-note svg { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 1px; }
.inside-section { position: relative;
      overflow: hidden;
      background: var(--white); }
.inside-section::before { position: absolute;
      top: -220px;
      right: -230px;
      width: 520px;
      height: 520px;
      border-radius: 50%;
      background: var(--forest-50);
      content: ""; }
.inside-section .container { position: relative; }
.inside-header { display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 36px;
      margin-bottom: 58px; }
.inside-header .section-intro { margin: 0; }
.inside-link { display: inline-flex;
      align-items: center;
      gap: 9px;
      color: var(--forest-800);
      font-size: 0.88rem;
      font-weight: 700;
      white-space: nowrap; }
.inside-link svg { width: 16px; height: 16px; }
.contents-grid { display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px; }
.content-card { position: relative;
      min-height: 238px;
      padding: 24px;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 19px;
      background: #fbfaf7;
      transition: transform 200ms var(--ease), box-shadow 200ms var(--ease), border-color 200ms var(--ease), background 200ms var(--ease); }
.content-card:hover { z-index: 2;
      border-color: rgba(20,100,88,.22);
      background: var(--white);
      box-shadow: var(--shadow-md);
      transform: translateY(-7px); }
.content-number { color: var(--gold-dark);
      font-family: var(--mono);
      font-size: 0.68rem;
      font-weight: 500;
      letter-spacing: .06em; }
.content-icon { display: grid;
      width: 44px;
      height: 44px;
      margin-top: 28px;
      place-items: center;
      border-radius: 14px;
      background: var(--forest-50);
      color: var(--forest-800); }
.content-icon svg { width: 20px; height: 20px; }
.content-card h3 { margin-top: 20px;
      color: var(--ink);
      font-family: var(--display);
      font-size: 1.36rem;
      font-weight: 500;
      letter-spacing: -0.025em;
      line-height: 1.05; }
.content-card p { margin-top: 9px;
      color: var(--muted);
      font-size: 0.8rem;
      line-height: 1.55; }
.content-card::after { position: absolute;
      right: -28px;
      bottom: -34px;
      width: 92px;
      height: 92px;
      border: 1px solid rgba(20,100,88,.08);
      border-radius: 50%;
      content: "";
      box-shadow: 0 0 0 18px rgba(20,100,88,.025); }
.feature-section { background: var(--cream-100); }
.feature-list { display: grid; gap: 88px; }
.feature-row { display: grid;
      grid-template-columns: .95fr 1.05fr;
      gap: clamp(50px, 8vw, 110px);
      align-items: center; }
.feature-row:nth-child(even) .feature-copy { order: 2; }
.feature-label { display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 16px;
      color: var(--gold-dark);
      font-family: var(--mono);
      font-size: 0.68rem;
      font-weight: 500;
      letter-spacing: .07em;
      text-transform: uppercase; }
.feature-copy h3 { max-width: 580px;
      color: var(--ink);
      font-family: var(--display);
      font-size: clamp(2.1rem, 4vw, 3.55rem);
      font-weight: 400;
      letter-spacing: -0.04em;
      line-height: 1; }
.feature-copy > p { max-width: 560px;
      margin-top: 20px;
      color: var(--body);
      font-size: 1rem;
      line-height: 1.7; }
.micro-list { display: grid;
      gap: 12px;
      margin: 26px 0 0;
      padding: 0;
      list-style: none; }
.micro-list li { display: flex;
      gap: 11px;
      align-items: flex-start;
      color: var(--body);
      font-size: 0.88rem; }
.micro-list svg { width: 18px;
      height: 18px;
      flex: 0 0 auto;
      margin-top: 3px;
      color: var(--green); }
.feature-visual { position: relative;
      min-height: 455px;
      padding: 28px;
      border-radius: 30px;
      background:
        radial-gradient(circle at 90% 4%, rgba(244,180,74,.13), transparent 30%),
        var(--forest-900);
      box-shadow: var(--shadow-md); }
.feature-visual::before { position: absolute;
      inset: 0;
      border-radius: inherit;
      background-image: radial-gradient(rgba(255,255,255,.09) 1px, transparent 1px);
      background-size: 18px 18px;
      content: "";
      mask-image: linear-gradient(145deg, black, transparent 70%); }
.visual-window { position: relative;
      z-index: 2;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.54);
      border-radius: 20px;
      background: var(--white);
      box-shadow: 0 24px 54px rgba(10,24,51,.28); }
.visual-bar { display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 13px 16px;
      border-bottom: 1px solid var(--line);
      background: var(--cream-200);
      color: var(--muted);
      font-family: var(--mono);
      font-size: 0.59rem; }
.visual-dots { display: flex; gap: 5px; }
.visual-dots i { width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #cbd5e1; }
.visual-dots i:nth-child(2) { background: var(--gold); }
.visual-body { padding: 20px; }
.full-account { padding: 17px;
      border: 1px solid var(--line);
      border-radius: 14px; }
.full-account + .full-account { margin-top: 12px; }
.full-account-top { display: flex;
      align-items: start;
      justify-content: space-between;
      gap: 16px; }
.full-account h4 { color: var(--ink);
      font-size: 0.8rem;
      font-weight: 700; }
.full-account p { margin-top: 3px;
      color: var(--muted);
      font-family: var(--mono);
      font-size: 0.56rem; }
.full-account strong { color: var(--ink);
      font-family: var(--display);
      font-size: 1.25rem;
      font-weight: 500;
      line-height: 1;
      white-space: nowrap; }
.full-history { display: grid;
      grid-template-columns: repeat(24, 1fr);
      gap: 2px;
      margin-top: 13px; }
.full-history i { aspect-ratio: .86;
      border-radius: 3px;
      background: var(--green); }
.full-history i.late { background: #ff9e0b; }
.full-history i.adverse { background: var(--red); }
.full-history i.empty { background: #cbd5e1; }
.visual-key { display: flex;
      flex-wrap: wrap;
      gap: 10px 15px;
      margin-top: 14px;
      color: var(--muted);
      font-size: 0.57rem; }
.visual-key span { display: inline-flex; align-items: center; gap: 5px; }
.visual-key i { width: 8px; height: 8px; border-radius: 2px; }
.floating-flag { position: absolute;
      z-index: 4;
      right: 12px;
      bottom: 14px;
      display: flex;
      max-width: 210px;
      gap: 10px;
      align-items: center;
      padding: 12px 13px;
      border: 1px solid rgba(255,255,255,.6);
      border-radius: 14px;
      background: rgba(255,255,255,.94);
      box-shadow: var(--shadow-md); }
.floating-flag svg { width: 18px;
      height: 18px;
      flex: 0 0 auto;
      color: var(--amber); }
.floating-flag strong { display: block;
      color: var(--ink);
      font-size: 0.65rem;
      line-height: 1.25; }
.floating-flag span { display: block;
      margin-top: 2px;
      color: var(--muted);
      font-size: 0.56rem;
      line-height: 1.35; }
.search-list { display: grid; gap: 9px; }
.search-item { display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 14px 15px;
      border: 1px solid var(--line);
      border-radius: 12px; }
.search-item strong { display: block;
      color: var(--ink);
      font-size: 0.7rem; }
.search-item small { display: block;
      margin-top: 3px;
      color: var(--muted);
      font-family: var(--mono);
      font-size: 0.52rem; }
.search-type { padding: 5px 8px;
      border-radius: 999px;
      background: var(--green-soft);
      color: var(--green);
      font-size: 0.56rem;
      font-weight: 700;
      white-space: nowrap; }
.search-type.hard { background: var(--red-soft); color: var(--red); }
.agency-matrix { display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 9px;
      margin-top: 14px; }
.agency-box { padding: 14px 8px;
      border: 1px solid var(--line);
      border-radius: 12px;
      text-align: center; }
.agency-box small { display: block;
      color: var(--muted);
      font-size: 0.57rem; }
.agency-box strong { display: block;
      margin-top: 4px;
      color: var(--green);
      font-size: 0.65rem; }
.agency-box strong.missing { color: var(--red); }
.timeline-large { position: relative;
      display: grid;
      gap: 13px;
      padding-left: 24px; }
.timeline-large::before { position: absolute;
      top: 9px;
      bottom: 9px;
      left: 6px;
      width: 2px;
      border-radius: 99px;
      background: var(--cream-300);
      content: ""; }
.timeline-large article { position: relative;
      padding: 14px 15px;
      border: 1px solid var(--line);
      border-radius: 12px; }
.timeline-large article::before { position: absolute;
      top: 17px;
      left: -24px;
      width: 12px;
      height: 12px;
      border: 3px solid var(--green);
      border-radius: 50%;
      background: var(--white);
      content: ""; }
.timeline-large article.flagged::before { border-color: #ff9e0b; }
.timeline-large h4 { color: var(--ink);
      font-size: 0.69rem;
      font-weight: 700; }
.timeline-large p { margin-top: 3px;
      color: var(--muted);
      font-family: var(--mono);
      font-size: 0.53rem; }
.timeline-large span { display: inline-flex;
      margin-top: 7px;
      padding: 4px 7px;
      border-radius: 999px;
      background: var(--amber-soft);
      color: var(--amber);
      font-size: 0.55rem;
      font-weight: 700; }
.how-section { position: relative;
      overflow: hidden;
      background: var(--forest-950);
      color: rgba(255,255,255,.7); }
.how-section::before { position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at 14% 20%, rgba(244,180,74,.13), transparent 24%),
        radial-gradient(circle at 86% 100%, rgba(63,145,121,.23), transparent 30%);
      content: ""; }
.how-section .container { position: relative; }
.how-section .eyebrow { color: var(--gold); }
.how-section .section-heading { color: var(--white); }
.how-section .section-lede { color: rgba(255,255,255,.65); }
.steps-grid { display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-top: 54px; }
.step-card { position: relative;
      min-height: 300px;
      padding: 28px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 22px;
      background: rgba(255,255,255,.055);
      backdrop-filter: blur(12px);
      transition: transform 190ms var(--ease), background 190ms var(--ease), border-color 190ms var(--ease); }
.step-card:hover { border-color: rgba(255,255,255,.23);
      background: rgba(255,255,255,.08);
      transform: translateY(-5px); }
.step-number { color: var(--gold);
      font-family: var(--mono);
      font-size: 0.7rem;
      font-weight: 500;
      letter-spacing: .08em; }
.step-icon { display: grid;
      width: 52px;
      height: 52px;
      margin-top: 40px;
      place-items: center;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 15px;
      background: rgba(255,255,255,.07);
      color: var(--gold); }
.step-icon svg { width: 22px; height: 22px; }
.step-card h2, .step-card h3 { margin-top: 23px;
      color: var(--white);
      font-family: var(--display);
      font-size: 1.65rem;
      font-weight: 500;
      letter-spacing: -0.025em;
      line-height: 1.05; }
.step-card p { margin-top: 12px;
      color: rgba(255,255,255,.58);
      font-size: 0.86rem;
      line-height: 1.6; }
.step-card::after { position: absolute;
      right: -45px;
      bottom: -45px;
      width: 140px;
      height: 140px;
      border: 1px solid rgba(255,255,255,.06);
      border-radius: 50%;
      content: "";
      box-shadow: 0 0 0 24px rgba(255,255,255,.018); }
.trust-row { display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
      margin-top: 24px; }
.trust-card { display: flex;
      gap: 11px;
      align-items: flex-start;
      padding: 17px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 16px;
      background: rgba(255,255,255,.035); }
.trust-card svg { width: 18px;
      height: 18px;
      flex: 0 0 auto;
      margin-top: 2px;
      color: var(--gold); }
.trust-card strong { display: block;
      color: var(--white);
      font-size: 0.7rem;
      line-height: 1.35; }
.trust-card span { display: block;
      margin-top: 3px;
      color: rgba(255,255,255,.48);
      font-size: 0.62rem;
      line-height: 1.45; }
.transparent-section { background: var(--cream-100); }
.transparent-grid { display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(32px, 6vw, 78px);
      align-items: start; }
.free-card { position: sticky;
      top: 100px;
      padding: 38px;
      overflow: hidden;
      border-radius: 28px;
      background:
        radial-gradient(circle at 100% 0, rgba(244,180,74,.16), transparent 30%),
        var(--forest-900);
      color: rgba(255,255,255,.66);
      box-shadow: var(--shadow-md); }
.free-card::before { position: absolute;
      inset: 0;
      background-image: linear-gradient(rgba(255,255,255,.032) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.032) 1px, transparent 1px);
      background-size: 34px 34px;
      content: "";
      pointer-events: none; }
.free-card > * { position: relative; }
.free-card .eyebrow { color: var(--gold); }
.free-card h2 { color: var(--white);
      font-family: var(--display);
      font-size: clamp(2.3rem, 4vw, 3.55rem);
      font-weight: 400;
      letter-spacing: -0.04em;
      line-height: 1; }
.free-card p { margin-top: 20px;
      font-size: 0.94rem;
      line-height: 1.7; }
.agency-links { display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      margin-top: 26px; }
.agency-links a { display: flex;
      min-height: 46px;
      align-items: center;
      justify-content: center;
      padding: 10px;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 11px;
      background: rgba(255,255,255,.05);
      color: var(--white);
      font-size: 0.7rem;
      font-weight: 700;
      text-decoration: none;
      transition: background 160ms var(--ease), border-color 160ms var(--ease); }
.agency-links a:hover { border-color: rgba(255,255,255,.3);
      background: rgba(255,255,255,.1); }
.free-small { padding-top: 20px;
      border-top: 1px solid rgba(255,255,255,.12);
      color: rgba(255,255,255,.48);
      font-size: 0.73rem !important; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { display: flex;
      min-height: 84px;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      color: var(--ink);
      font-family: var(--display);
      font-size: 1.4rem;
      font-weight: 500;
      letter-spacing: -0.02em;
      line-height: 1.1;
      list-style: none;
      cursor: pointer; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-plus { position: relative;
      width: 28px;
      height: 28px;
      flex: 0 0 28px;
      border: 1px solid var(--line);
      border-radius: 50%;
      background: var(--white); }
.faq-plus::before, .faq-plus::after { position: absolute;
      top: 50%;
      left: 50%;
      width: 11px;
      height: 1.5px;
      border-radius: 99px;
      background: var(--forest-800);
      content: "";
      transform: translate(-50%, -50%);
      transition: transform 170ms var(--ease); }
.faq-plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-item[open] .faq-plus::after { transform: translate(-50%, -50%) rotate(0); }
.faq-answer { max-width: 620px;
      padding: 0 52px 25px 0;
      color: var(--muted);
      font-size: 0.91rem;
      line-height: 1.7; }
.closing-section { padding: 0 0 100px;
      background: var(--cream-100); }
.closing-card { position: relative;
      display: grid;
      min-height: 450px;
      grid-template-columns: 1fr auto;
      gap: 40px;
      align-items: center;
      padding: clamp(42px, 7vw, 82px);
      overflow: hidden;
      border-radius: 34px;
      background:
        radial-gradient(circle at 92% 10%, rgba(244,180,74,.18), transparent 25%),
        linear-gradient(135deg, var(--forest-800), var(--forest-950));
      color: rgba(255,255,255,.65);
      box-shadow: var(--shadow-md); }
.closing-card::before { position: absolute;
      right: -120px;
      bottom: -190px;
      width: 520px;
      height: 520px;
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 50%;
      content: "";
      box-shadow: 0 0 0 65px rgba(255,255,255,.018), 0 0 0 130px rgba(255,255,255,.012); }
.closing-copy { position: relative; z-index: 2; }
.closing-card .eyebrow { color: var(--gold); }
.closing-card h2 { max-width: 760px;
      color: var(--white);
      font-family: var(--display);
      font-size: clamp(3rem, 6vw, 5.3rem);
      font-weight: 400;
      letter-spacing: -0.055em;
      line-height: .93; }
.closing-card p { max-width: 620px;
      margin-top: 22px;
      font-size: 1rem;
      line-height: 1.7; }
.closing-actions { display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 30px; }
.price-seal { position: relative;
      z-index: 2;
      display: grid;
      width: 210px;
      height: 210px;
      place-items: center;
      border: 1px solid rgba(255,255,255,.2);
      border-radius: 50%;
      background: rgba(255,255,255,.06);
      box-shadow: inset 0 0 0 14px rgba(255,255,255,.025);
      text-align: center;
      backdrop-filter: blur(8px); }
.price-seal::before { position: absolute;
      inset: 16px;
      border: 1px dashed rgba(255,255,255,.18);
      border-radius: 50%;
      content: ""; }
.price-seal strong { display: block;
      color: var(--gold);
      font-family: var(--display);
      font-size: 3.55rem;
      font-weight: 400;
      letter-spacing: -0.05em;
      line-height: .9; }
.price-seal span { display: block;
      max-width: 110px;
      margin: 10px auto 0;
      color: rgba(255,255,255,.58);
      font-size: 0.67rem;
      font-weight: 700;
      line-height: 1.4;
      text-transform: uppercase;
      letter-spacing: .06em; }
.sticky-cta { position: fixed;
      top: 0;
      right: 0;
      left: 0;
      z-index: 95;
      padding: 10px 0;
      border-bottom: 1px solid rgba(10,24,51,.08);
      background: rgba(255,255,255,.92);
      box-shadow: 0 8px 24px rgba(10,24,51,.08);
      transform: translateY(-120%);
      transition: transform 260ms var(--ease);
      backdrop-filter: blur(16px); }
.sticky-cta.visible { transform: translateY(0); }
.sticky-inner { display: flex;
      min-height: 48px;
      align-items: center;
      justify-content: space-between;
      gap: 20px; }
.sticky-product { display: flex;
      align-items: center;
      gap: 11px; }
.sticky-product .brand-mark { width: 36px;
      height: 36px;
      border: 0;
      background: var(--forest-900); }
.sticky-product strong { display: block;
      color: var(--ink);
      font-size: 0.81rem;
      line-height: 1.25; }
.sticky-product span { display: block;
      margin-top: 2px;
      color: var(--muted);
      font-size: 0.68rem; }
.sticky-cta .button { min-height: 42px;
      padding: 10px 16px;
      border-radius: 11px;
      font-size: 0.82rem; }
.mobile-buybar { display: none; }
.reveal { opacity: 1;
      transform: none; }
.js .reveal { opacity: 0;
      transform: translateY(24px);
      transition: opacity 650ms var(--ease), transform 650ms var(--ease); }
.js .reveal.in-view { opacity: 1;
      transform: none; }
@media (max-width: 1080px) {
  .hero-inner { grid-template-columns: 1fr 470px;
        gap: 42px; }
  .hero h1 { font-size: clamp(3.5rem, 7vw, 5.6rem); }
  .hero-note { right: -8px; }
  .contents-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 920px) {
  .hero { min-height: auto; }
  .hero-inner { min-height: auto;
        grid-template-columns: 1fr;
        gap: 70px;
        padding-top: 190px;
        padding-bottom: 110px; }
  .hero-copy { max-width: 760px; padding-top: 0; }
  .hero-lede { max-width: 700px; }
  .report-shell { width: min(100%, 650px);
        margin-inline: auto;
        transform: none; }
  .hero-note { right: -18px; bottom: 42px; }
  .proof-grid { grid-template-columns: repeat(2, 1fr); }
  .proof-item:nth-child(3)::before { display: none; }
  .proof-item:nth-child(n+3) { border-top: 1px solid var(--line); }
  .why-grid, .feature-row, .transparent-grid { grid-template-columns: 1fr; }
  .why-copy { max-width: 720px; }
  .comparison-shell { margin-top: 30px; }
  .feature-row:nth-child(even) .feature-copy { order: 0; }
  .feature-copy { max-width: 720px; }
  .feature-visual { min-height: 420px; }
  .steps-grid { grid-template-columns: 1fr; }
  .step-card { min-height: auto; }
  .step-icon { margin-top: 28px; }
  .free-card { position: relative; top: auto; }
}
@media (max-width: 700px) {
  .narrow { width: min(100% - 28px, var(--container)); }
  .hero { border-radius: 0 0 30px 30px; }
  .hero-inner { padding-top: 165px; padding-bottom: 84px; gap: 56px; }
  .hero h1 { font-size: clamp(3.15rem, 15vw, 4.7rem); }
  .hero-lede { margin-top: 23px; font-size: 1.02rem; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .hero-assurances { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
  .report-shell::before, .report-shell::after { display: none; }
  .report-card { border-radius: 20px; }
  .report-header { padding: 20px 17px 15px; }
  .report-tabs { margin: 0 17px; }
  .report-panel { padding: 15px 17px 20px; }
  .summary-grid { grid-template-columns: 1fr 1fr; }
  .agency-row { grid-template-columns: 72px 1fr auto; }
  .hero-note { display: none; }
  .report-shell { margin-bottom: 0; }
  .report-panels { min-height: 370px; }
  .proof-strip { margin-top: -24px; }
  .proof-grid { border-radius: 18px; }
  .proof-item { min-height: 100px; padding: 21px 18px; }
  .proof-value { font-size: 1.65rem; }
  .proof-label { font-size: 0.68rem; }
  .section { padding: 88px 0; }
  .why-section { padding-top: 112px; }
  .section-intro { margin-bottom: 42px; }
  .section-heading { font-size: clamp(2.45rem, 12vw, 3.5rem); }
  .section-lede { margin-top: 18px; font-size: 0.98rem; }
  .why-grid { gap: 56px; }
  .why-points { margin-top: 28px; }
  .comparison-shell::before { inset: -14px -8px 18px 18px; border-radius: 26px; }
  .comparison-card { border-radius: 20px; }
  .comparison-head { padding: 18px; }
  .comparison-note { margin: 0 16px 16px; }
  .inside-header { display: block; margin-bottom: 40px; }
  .inside-link { margin-top: 20px; }
  .contents-grid { grid-template-columns: 1fr; }
  .content-card { min-height: 210px; }
  .feature-list { gap: 68px; }
  .feature-row { gap: 34px; }
  .feature-copy h3 { font-size: clamp(2.25rem, 11vw, 3.2rem); }
  .feature-visual { min-height: auto; padding: 14px; border-radius: 22px; }
  .visual-window { border-radius: 16px; }
  .visual-body { padding: 14px; }
  .full-account { padding: 13px; }
  .full-history { grid-template-columns: repeat(12, 1fr); }
  .full-history i:nth-child(n+13) { display: none; }
  .floating-flag { display: none; }
  .agency-matrix { grid-template-columns: 1fr; }
  .steps-grid { margin-top: 38px; }
  .step-card { padding: 24px; }
  .trust-row { grid-template-columns: 1fr; }
  .free-card { padding: 28px; border-radius: 22px; }
  .agency-links { grid-template-columns: 1fr; }
  .faq-item summary { min-height: 76px; font-size: 1.24rem; }
  .faq-answer { padding-right: 0; }
  .closing-section { padding-bottom: 78px; }
  .closing-card { min-height: auto;
        grid-template-columns: 1fr;
        padding: 38px 26px;
        border-radius: 24px; }
  .closing-card h2 { font-size: clamp(3rem, 14vw, 4.4rem); }
  .price-seal { width: 170px; height: 170px; justify-self: center; }
  .price-seal strong { font-size: 3rem; }
  .sticky-cta { display: none; }
  .mobile-buybar { position: fixed;
        right: 10px;
        bottom: 10px;
        left: 10px;
        z-index: 94;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 10px;
        border: 1px solid rgba(255,255,255,.7);
        border-radius: 16px;
        background: rgba(255,255,255,.94);
        box-shadow: 0 18px 50px rgba(10,24,51,.24);
        transform: translateY(150%);
        transition: transform 260ms var(--ease);
        backdrop-filter: blur(14px); }
  .mobile-buybar.visible { transform: translateY(0); }
  .mobile-price { padding-left: 5px; }
  .mobile-price strong { display: block;
        color: var(--ink);
        font-family: var(--display);
        font-size: 1.35rem;
        line-height: .95; }
  .mobile-price span { display: block;
        margin-top: 4px;
        color: var(--muted);
        font-size: 0.57rem;
        font-weight: 600; }
  .mobile-buybar .button { min-height: 45px;
        padding: 11px 15px;
        border-radius: 11px;
        font-size: 0.78rem; }
}
@media (max-width: 420px) {
  .hero-assurances { grid-template-columns: 1fr; }
  .report-toolbar { padding: 13px; }
  .sample-badge { font-size: 0; }
  .sample-badge::after { content: "Sample"; font-size: .6rem; }
  .report-name { font-size: 1.45rem; }
  .report-date { display: none; }
  .summary-grid { grid-template-columns: 1fr; }
  .report-panels { min-height: 455px; }
  .agency-row { grid-template-columns: 66px 1fr; }
  .agency-status { grid-column: 2; justify-self: start; }
  .proof-grid { grid-template-columns: 1fr 1fr; }
  .proof-item { padding: 19px 14px; }
  .proof-item + .proof-item::before { top: 18px; bottom: 18px; }
  .full-history { gap: 1.5px; }
  .price-seal { width: 155px; height: 155px; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; }
  .report-shell { transform: none; }
}
.hero { min-height: 800px;
      border-radius: 0 0 var(--radius-hero) var(--radius-hero);
      background:
        radial-gradient(circle at 80% 12%, rgba(54,130,246,.28), transparent 30%),
        radial-gradient(circle at 7% 90%, rgba(244,180,74,.11), transparent 31%),
        linear-gradient(138deg, var(--navy-950) 0%, var(--navy-900) 58%, #071426 100%); }
.hero-inner { min-height: 800px; }
.hero .eyebrow { padding: 7px 10px;
      border: 1px solid rgba(219,234,254,.18);
      border-radius: var(--radius-pill);
      background: rgba(54,130,246,.12);
      color: var(--blue-100); }
.hero .eyebrow::before { width: 7px; height: 7px; border-radius: 50%; background: var(--blue-500); }
.hero h1 { line-height: .96; }
.hero h1 em { color: var(--blue-100); font-style: normal; }
.hero-assurances svg { color: var(--blue-500); }
.report-shell { transform: none; }
.report-shell::before, .report-shell::after { display: none; }
.report-card { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.report-tabs { background: var(--blue-50); }
.report-tab[aria-selected="true"] { color: var(--blue-700); box-shadow: var(--shadow-sm); }
.feature-visual { border-radius: var(--radius-xl);
      background:
        radial-gradient(circle at 88% 5%, rgba(54,130,246,.3), transparent 31%),
        var(--navy-900); }
.visual-window { border-radius: var(--radius-lg); box-shadow: 0 18px 42px rgba(10,24,51,.22); }
.closing-card { border-radius: var(--radius-xl);
      background:
        radial-gradient(circle at 92% 8%, rgba(54,130,246,.28), transparent 28%),
        linear-gradient(135deg, var(--navy-900), var(--navy-950)); }
.sticky-cta { box-shadow: 0 8px 24px rgba(10,24,51,.08); }
.button-blue { background: linear-gradient(180deg, var(--blue-500), var(--blue-700));
      color: var(--white);
      box-shadow: 0 8px 20px rgba(16,76,216,.22), inset 0 1px 0 rgba(255,255,255,.22); }
.button-blue:hover { background: linear-gradient(180deg, #4f92ff, #0c43c2);
      box-shadow: 0 12px 28px rgba(16,76,216,.28), inset 0 1px 0 rgba(255,255,255,.22); }
.ds-brand-stage-light .brand-check { border-color: rgba(15,23,42,.08); }
.history-grid i, .full-history i { background: var(--success); }
.history-grid i.late, .full-history i.late { background: var(--warning); }
.history-grid i.adverse, .full-history i.adverse { background: var(--error); }
.agency-line i { background: var(--success); }
.ds-hero { border-radius: 0 0 var(--radius-hero) var(--radius-hero);
      background:
        radial-gradient(circle at 85% 9%, rgba(54,130,246,.3), transparent 31%),
        radial-gradient(circle at 13% 112%, rgba(244,180,74,.11), transparent 36%),
        linear-gradient(138deg, var(--navy-950), var(--navy-900)); }
.ds-hero .eyebrow { color: var(--blue-100); }
.ds-hero h1 em { color: var(--blue-100); font-style: normal; }
.ds-sidebar, .ds-footer, .ds-toast { background: var(--navy-950); }
.ds-section.ds-dark, .ds-preview-dark, .ds-brand-stage-dark, .ds-breakpoint { background: var(--navy-900); }
.ds-code-details { background: #071426; color: var(--blue-100); }
.ds-code-details summary { color: #bfdbfe; }
.ds-code-details summary span, .ds-code-bar { color: #7c93b5; }
.ds-overline, .ds-swatch-copy code, .ds-source-map code, .ds-space-row code { color: var(--blue-700); }
.ds-space-bar { background: linear-gradient(90deg, var(--blue-700), var(--gold-500)); }
.ds-swatch { box-shadow: var(--shadow-sm); }
.ds-shape-grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
.ds-shape-xs { border-radius: var(--radius-xs); box-shadow: var(--shadow-sm); }
.ds-shape-sm { border-radius: var(--radius-sm); box-shadow: var(--shadow-sm); }
.ds-shape-md { border-radius: var(--radius-md); box-shadow: var(--shadow-md); }
.ds-shape-lg { border-radius: var(--radius-lg); box-shadow: var(--shadow-md); }
.ds-shape-xl { border-radius: var(--radius-xl); box-shadow: var(--shadow-lg); }
.ds-field input, .ds-field select, .ds-field textarea { border-color: rgba(15,23,42,.18);
      box-shadow: inset 0 1px 2px rgba(10,24,51,.04); }
.ds-field input:focus, .ds-field select:focus, .ds-field textarea:focus { border-color: var(--blue-500);
      box-shadow: 0 0 0 4px rgba(54,130,246,.12); }
.score-demo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.score-demo-card { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--white); text-align: center; box-shadow: var(--shadow-sm); }
.score-demo-card small { display: block; color: var(--ink-500); font-size: .68rem; font-weight: 700; }
.score-gauge { position: relative; width: 116px; height: 64px; margin: 14px auto 7px; overflow: hidden; }
.score-gauge::before { position: absolute; inset: 0; border: 10px solid var(--success-soft); border-bottom: 0; border-radius: 116px 116px 0 0; content: ""; }
.score-gauge::after { position: absolute; inset: 0; border: 10px solid var(--success); border-bottom: 0; border-radius: 116px 116px 0 0; clip-path: inset(0 var(--gauge-cut,16%) 0 0); content: ""; }
.score-gauge strong { position: absolute; right: 0; bottom: 0; left: 0; z-index: 1; color: var(--ink-900); font-family: var(--display); font-size: 1.85rem; font-weight: 500; line-height: 1; }
.score-demo-card span { color: var(--success-strong); font-size: .7rem; font-weight: 700; }
@media (max-width: 1080px) {
  .ds-shape-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .hero { border-radius: 0 0 24px 24px; }
  .score-demo-grid, .ds-shape-grid { grid-template-columns: 1fr; }
}
