/* styles.css — consolidated site styles.
   Shared resets, tokens (:root), keyframes and the shared header/nav
   are global; each page's rules are scoped under a body page-class
   (page-home, page-str, page-lookup, page-guides, page-guide,
   page-terms, page-privacy) so pages never leak styles into each other. */

/* ===================== FONTS (local) =====================
   Ubuntu (Light 300 / Regular 400 / Medium 500 / Bold 700, + italics).
   WOFF2 first, TTF as fallback for older browsers. Weights 600/800 used
   elsewhere in this file resolve up to 700 via normal CSS font matching. */
@font-face {
      font-family: "Ubuntu";
      src: url("helper/Ubuntu-Light.woff2") format("woff2"),
            url("helper/Ubuntu-Light.ttf") format("truetype");
      font-weight: 300;
      font-style: normal;
      font-display: swap;
}

@font-face {
      font-family: "Ubuntu";
      src: url("helper/Ubuntu-LightItalic.woff2") format("woff2"),
            url("helper/Ubuntu-LightItalic.ttf") format("truetype");
      font-weight: 300;
      font-style: italic;
      font-display: swap;
}

@font-face {
      font-family: "Ubuntu";
      src: url("helper/Ubuntu-Regular.woff2") format("woff2"),
            url("helper/Ubuntu-Regular.ttf") format("truetype");
      font-weight: 400;
      font-style: normal;
      font-display: swap;
}

@font-face {
      font-family: "Ubuntu";
      src: url("helper/Ubuntu-Italic.woff2") format("woff2"),
            url("helper/Ubuntu-Italic.ttf") format("truetype");
      font-weight: 400;
      font-style: italic;
      font-display: swap;
}

@font-face {
      font-family: "Ubuntu";
      src: url("helper/Ubuntu-Medium.woff2") format("woff2"),
            url("helper/Ubuntu-Medium.ttf") format("truetype");
      font-weight: 500;
      font-style: normal;
      font-display: swap;
}

@font-face {
      font-family: "Ubuntu";
      src: url("helper/Ubuntu-MediumItalic.woff2") format("woff2"),
            url("helper/Ubuntu-MediumItalic.ttf") format("truetype");
      font-weight: 500;
      font-style: italic;
      font-display: swap;
}

@font-face {
      font-family: "Ubuntu";
      src: url("helper/Ubuntu-Bold.woff2") format("woff2"),
            url("helper/Ubuntu-Bold.ttf") format("truetype");
      font-weight: 700;
      font-style: normal;
      font-display: swap;
}

@font-face {
      font-family: "Ubuntu";
      src: url("helper/Ubuntu-BoldItalic.woff2") format("woff2"),
            url("helper/Ubuntu-BoldItalic.ttf") format("truetype");
      font-weight: 700;
      font-style: italic;
      font-display: swap;
}

/* ===================== GLOBAL (shared) ===================== */
* {
      box-sizing: border-box;
      margin: 0;
      padding: 0
}

/* responsive side gutter — keeps content off the screen edges at every
   viewport width (fixes missing side margins between ~980px and the max
   content width). Inherited by every page's .wrap via :root. */
:root {
      --gutter: clamp(20px, 4vw, 40px)
}

html {
      scroll-behavior: smooth;
      scrollbar-width: none;
      /* Firefox */
      -ms-overflow-style: none;
      /* IE/old Edge */
}

/* Hide scrollbar site-wide (scrolling still works) */
html::-webkit-scrollbar,
body::-webkit-scrollbar,
*::-webkit-scrollbar {
      width: 0;
      height: 0;
      display: none;
      /* Chrome, Safari, new Edge */
}

* {
      scrollbar-width: none;
      /* Firefox */
      -ms-overflow-style: none;
      /* IE/old Edge */
}

::selection {
      background: var(--orange);
      color: #fff
}

:focus-visible {
      outline: 3px solid var(--ring);
      outline-offset: 2px;
      border-radius: 6px
}

@keyframes pulse {
      0% {
            box-shadow: 0 0 0 0 rgba(244, 142, 55, .5)
      }

      70% {
            box-shadow: 0 0 0 9px rgba(244, 142, 55, 0)
      }

      100% {
            box-shadow: 0 0 0 0 rgba(244, 142, 55, 0)
      }
}

@keyframes rowin {
      from {
            opacity: 0;
            transform: translateY(8px)
      }

      to {
            opacity: 1;
            transform: none
      }
}

@keyframes popin {
      0% {
            opacity: 0;
            transform: translateY(12px) scale(.97)
      }

      100% {
            opacity: 1;
            transform: none
      }
}

@keyframes sweep {
      to {
            transform: translateX(130%)
      }
}

@keyframes chipin {
      from {
            opacity: 0;
            transform: translateY(12px)
      }

      to {
            opacity: 1;
            transform: translateY(0)
      }
}

@keyframes floaty {

      0%,
      100% {
            transform: translateY(0)
      }

      50% {
            transform: translateY(-7px)
      }
}

/* ---- shared header / nav dropdown (rendered on every page) ---- */
.nav-links .has-drop {
      position: relative;
      display: flex;
      align-items: center;
}

.nav-links .lnk-parent {
      display: inline-flex;
      align-items: center;
      gap: 5px;
}

.nav-links .lnk-parent .caret {
      transition: transform .22s ease;
}

.nav-links .has-drop:hover .lnk-parent .caret,
.nav-links .has-drop:focus-within .lnk-parent .caret {
      transform: rotate(180deg);
}

.nav-links .drop {
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%) translateY(8px);
      min-width: 246px;
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: 14px;
      box-shadow: 0 1px 2px rgba(11, 36, 56, .06), 0 24px 48px -20px rgba(11, 36, 56, .34);
      padding: 8px;
      margin-top: 12px;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .2s ease, transform .2s ease, visibility .2s;
      z-index: 60;
}

.nav-links .drop::before {
      content: "";
      position: absolute;
      top: -14px;
      left: 0;
      right: 0;
      height: 14px;
}

.nav-links .has-drop:hover .drop,
.nav-links .has-drop:focus-within .drop {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0);
}

.nav-links .drop a {
      display: block;
      padding: 10px 12px;
      border-radius: 9px;
      font-size: 14px;
      font-weight: 600;
      color: var(--ink);
      white-space: nowrap;
      position: static;
}

.nav-links .drop a::after {
      display: none;
}

.nav-links .drop a .d {
      display: block;
      font-size: 12.5px;
      font-weight: 400;
      color: var(--slate);
      margin-top: 2px;
}

.nav-links .drop a:hover {
      background: var(--panel-2);
      color: var(--ink);
}

.nav-links .drop a[aria-current="page"] {
      color: var(--orange-600);
}

.nav-links .drop a[aria-current="page"] .d {
      color: var(--slate);
}

@media (max-width: 980px) {
      .nav-links.open .has-drop {
            display: block;
            width: 100%;
            border-bottom: 1px solid var(--line);
      }

      .nav-links.open .has-drop .lnk-parent {
            display: flex;
            justify-content: space-between;
      }

      .nav-links.open .drop {
            position: static;
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: none;
            box-shadow: none;
            border: none;
            background: transparent;
            min-width: 0;
            margin: 0 0 6px;
            padding: 0 0 6px 10px;
      }

      .nav-links.open .drop::before {
            display: none;
      }

      .nav-links.open .drop a {
            padding: 9px 6px;
            font-size: 15px;
      }
}

/* ===================== index.html  (.page-home) ===================== */
body.page-home {
      --ink: #113554;

      --ink-900: #0B2438;

      --ink-950: #07192a;

      --orange: #f48e37;

      --orange-600: #de7a1e;
      --orange-tint: rgba(244, 142, 55, 0.12);
      --paper: #FAFBFC;

      --panel: #FFFFFF;
      --panel-2: #F2F5F8;

      --slate: #56697B;

      --slate-2: #7E8EA0;
      --line: rgba(17, 53, 85, 0.12);
      --line-strong: rgba(17, 53, 85, 0.22);
      --ring: rgba(244, 142, 55, 0.55);
      --shadow: 0 1px 2px rgba(11, 36, 56, .06), 0 12px 32px -12px rgba(11, 36, 56, .18);
      --shadow-lg: 0 1px 2px rgba(11, 36, 56, .06), 0 30px 70px -28px rgba(11, 36, 56, .40);
      --r: 16px;
      --maxw: 1400px;
      /* --display: "DM Sans", system-ui, sans-serif; */
      /* --body: "Inter", system-ui, sans-serif; */
      --display: "Ubuntu", system-ui, sans-serif;
      --body: "Ubuntu", system-ui, sans-serif;
      --mono: "IBM Plex Mono", ui-monospace, monospace;
}

body.page-home {
      font-family: var(--body);
      color: var(--ink);
      background: var(--paper);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      overflow-x: clip;
}

.page-home a {
      color: inherit;
      text-decoration: none
}

.page-home img {
      display: block;
      max-width: 100%
}

.page-home .wrap {
      max-width: var(--maxw);
      margin: 0 auto;
      padding: 0 var(--gutter)
}

.page-home .eyebrow {
      font-family: var(--mono);
      font-size: 12px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--orange-600);
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-weight: 500;
}

.page-home .eyebrow::before {
      content: "//";
      color: var(--orange);
      font-weight: 600;
      letter-spacing: -.06em
}

.page-home .eyebrow.on-dark {
      color: #f6b27a
}

.page-home .eyebrow.on-dark::before {
      color: var(--orange)
}

.page-home h1,
.page-home h2,
.page-home h3 {
      font-family: var(--display);
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: -.02em;
      color: var(--ink)
}

.page-home .h2 {
      font-size: clamp(28px, 4vw, 46px);
      margin: 18px 0 14px
}

.page-home .h2 .accent {
      color: var(--orange)
}

.page-home .lede {
      font-size: clamp(16px, 1.7vw, 18px);
      color: var(--slate);
      max-width: 60ch
}

.page-home .section {
      padding: 60px 0
}

.page-home #top,
.page-home #platform,
.page-home #how,
.page-home #grow,
.page-home #pricing,
.page-home #faq {
      scroll-margin-top: 70px
}

.page-home .center {
      text-align: center
}

.page-home .center .lede {
      margin-left: auto;
      margin-right: auto
}

.page-home .lede .fee-note {
      color: var(--orange-600)
}

.page-home .btn {
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-family: var(--body);
      font-weight: 600;
      font-size: 15.5px;
      padding: 13px 22px;
      border-radius: 999px;
      border: 1px solid transparent;
      cursor: pointer;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
      white-space: nowrap;
}

.page-home .btn .arr {
      transition: transform .18s ease
}

.page-home .btn:hover .arr {
      transform: translateX(3px)
}

.page-home .btn-primary {
      background: var(--orange);
      color: #fff;
      box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
}

.page-home .btn-primary:hover {
      background: var(--orange-600);
      transform: translateY(-1px)
}

.page-home .btn-ghost {
      background: transparent;
      color: var(--ink);
      border-color: var(--line-strong)
}

.page-home .btn-ghost:hover {
      border-color: var(--ink);
      background: #fff
}

.page-home .btn-on-dark {
      background: #fff;
      color: var(--ink)
}

.page-home .btn-on-dark:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5)
}

.page-home .btn-outline-dark {
      background: transparent;
      color: #fff;
      border-color: rgba(255, 255, 255, .28)
}

.page-home .btn-outline-dark:hover {
      border-color: #fff;
      background: rgba(255, 255, 255, .06)
}

.page-home header.nav {
      position: sticky;
      top: 0;
      z-index: 50;
      background: var(--paper);
      border-bottom: 1px solid var(--line)
}

.page-home .nav-in {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 70px
}

.page-home .nav-logo {
      height: 30px;
      width: auto
}

.page-home .nav-links {
      display: flex;
      align-items: center;
      gap: 30px
}

.page-home .nav-links a.lnk {
      font-size: 14.5px;
      color: var(--slate);
      font-weight: 500
}

.page-home .nav-links a.lnk:hover {
      color: var(--ink)
}

.page-home .nav-links a.lnk[aria-current="page"] {
      color: var(--orange);
      font-weight: 600
}

.page-home .nav-links a.lnk[aria-current="page"]::after {
      right: 0
}

.page-home .nav-links .menu-cta-row {
      display: none
}

.page-home .nav-cta {
      display: flex;
      align-items: center;
      gap: 14px
}

.page-home .menu-btn {
      display: none;
      background: none;
      border: 1px solid var(--line-strong);
      border-radius: 11px;
      padding: 11px 12px;
      cursor: pointer
}

.page-home .menu-btn span {
      display: block;
      width: 18px;
      height: 2px;
      background: var(--ink);
      margin: 3px 0;
      border-radius: 2px;
      transition: transform .25s ease, opacity .2s ease
}

.page-home .menu-btn[aria-expanded="true"] span:nth-child(1) {
      transform: translateY(5px) rotate(45deg)
}

.page-home .menu-btn[aria-expanded="true"] span:nth-child(2) {
      opacity: 0
}

.page-home .menu-btn[aria-expanded="true"] span:nth-child(3) {
      transform: translateY(-5px) rotate(-45deg)
}

.page-home .hero {
      position: relative;
      background:
            radial-gradient(1300px 680px at 80% 118%, rgba(244, 142, 55, .55), transparent 64%),
            radial-gradient(900px 480px at 14% 112%, rgba(244, 142, 55, .26), transparent 60%),
            radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .24), transparent 60%),
            linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #fff;
      overflow: hidden;
      isolation: isolate
}

.page-home .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, #000, transparent 92%);
}

.page-home .hero::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      pointer-events: none;
      background-image: radial-gradient(rgba(255, 255, 255, .16) 1.5px, transparent 1.6px);
      background-size: 22px 22px;
      mask-image: radial-gradient(80% 120% at 92% 0%, #000 8%, transparent 62%);
}

.page-home .hero-in {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 54px;
      align-items: center;
      padding: 56px var(--gutter) 64px;
      position: relative;
      z-index: 1
}

.page-home .pill {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .16);
      padding: 7px 14px;
      border-radius: 999px;
      font-size: 13px;
      color: #dbe6f0;
      font-weight: 500
}

.page-home .pill .dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--orange);
      box-shadow: 0 0 0 4px rgba(244, 142, 55, .25)
}

.page-home .hero h1 {
      color: #fff;
      font-size: clamp(32px, 4.2vw, 52px);
      font-weight: 800;
      margin: 22px 0 0;
      letter-spacing: -.025em;
      line-height: 1.1
}

.page-home .hero h1 .em {
      color: var(--orange);
      position: relative
}

.page-home .hero h1 .nowrap {
      white-space: nowrap
}

.page-home .hero p.sub {
      color: #bcccdb;
      font-size: clamp(16px, 1.8vw, 19px);
      margin: 20px 0 30px;
      max-width: 46ch
}

.page-home .hero-actions {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      align-items: center
}

.page-home .hero-actions .note {
      font-size: 13px;
      color: #9fb3c6;
      font-family: var(--mono)
}

.page-home .integ {
      margin-top: 38px;
      border-top: 1px solid rgba(255, 255, 255, .12);
      padding-top: 18px
}

.page-home .integ .lbl {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #8aa0b4
}

.page-home .integ .row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 18px;
      margin-top: 12px
}

.page-home .integ .row span {
      font-family: var(--mono);
      font-size: 13px;
      color: #cdd9e5;
      font-weight: 500
}

.page-home .integ .row span b {
      color: var(--orange);
      font-weight: 600
}

.page-home .integ .row.row-logos {
      align-items: center;
      gap: 12px 16px
}

.page-home .integ .row .pms-logo {
      height: 34px;
      width: 34px;
      border-radius: 8px;
      background: #fff;
      padding: 4px;
      object-fit: contain;
      display: block;
      flex: 0 0 auto;
      box-shadow: 0 1px 3px rgba(0, 0, 0, .25)
}

.page-home .ledger {
      background: #fff;
      color: var(--ink);
      border-radius: 18px;
      box-shadow: var(--shadow-lg);
      border: 1px solid rgba(255, 255, 255, .5);
      overflow: hidden;
      position: relative
}

.page-home .ledger .lh {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 18px;
      border-bottom: 1px solid var(--line)
}

.page-home .ledger .lh .tag {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--orange-600);
      font-weight: 600
}

.page-home .ledger .lh .per {
      font-family: var(--mono);
      font-size: 12px;
      color: var(--slate)
}

.page-home .ledger .body {
      padding: 18px
}

.page-home .ledger .prop {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 14px
}

.page-home .ledger .prop .name {
      font-weight: 700;
      font-size: 15px
}

.page-home .ledger .prop .type {
      font-family: var(--mono);
      font-size: 11px;
      color: var(--slate);
      background: var(--panel-2);
      padding: 3px 9px;
      border-radius: 999px
}

.page-home .lrow {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 11px 0;
      border-bottom: 1px dashed var(--line)
}

.page-home .lrow .k {
      color: var(--slate);
      font-size: 14px
}

.page-home .lrow .v {
      font-family: var(--mono);
      font-weight: 500;
      font-size: 14.5px
}

.page-home .lrow.flag {
      border-bottom: none
}

.page-home .lrow.flag .k {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--orange-600);
      font-weight: 600;
      font-size: 14px
}

.page-home .lrow.flag .v {
      color: var(--orange-600);
      font-weight: 600
}

.page-home .warn {
      width: 18px;
      height: 18px;
      flex: none
}

.page-home .resolved {
      margin-top: 14px;
      display: flex;
      align-items: center;
      gap: 9px;
      background: rgba(22, 128, 86, .08);
      border: 1px solid rgba(22, 128, 86, .2);
      color: #157a52;
      border-radius: 11px;
      padding: 11px 13px;
      font-size: 13.5px;
      font-weight: 600
}

.page-home .resolved svg {
      flex: none
}

/* PLACEHOLDER_CHART_BLOCK */
.page-home .chart-card .cbody {
      padding: 16px 18px 18px
}

.page-home .chart-card .chead {
      display: flex;
      align-items: center;
      gap: 10px
}

.page-home .chart-card .cnum {
      font-family: var(--mono);
      font-weight: 600;
      font-size: 27px;
      letter-spacing: -.01em;
      line-height: 1;
      color: var(--ink);
      font-variant-numeric: tabular-nums
}

.page-home .chart-card .cdelta {
      display: inline-flex;
      align-items: center;
      gap: 3px;
      font-family: var(--mono);
      font-size: 11.5px;
      font-weight: 600;
      color: #157a52;
      background: rgba(22, 128, 86, .1);
      border: 1px solid rgba(22, 128, 86, .2);
      padding: 3px 8px 3px 6px;
      border-radius: 999px
}

.page-home .chart-card .cdelta svg {
      width: 11px;
      height: 11px
}

.page-home .chart-card .cdelta i {
      font-style: normal;
      color: #5f9182;
      font-weight: 500
}

.page-home .chart-card .csub {
      margin-top: 6px;
      font-family: var(--mono);
      font-size: 11px;
      color: var(--slate);
      letter-spacing: .01em
}

.page-home .chart-card .chart-wrap {
      position: relative;
      margin-top: 14px
}

.page-home .chart-card .chart {
      display: block;
      width: 100%;
      height: auto;
      overflow: visible;
      touch-action: none
}

.page-home .chart-card .c-grid line {
      stroke: var(--line);
      stroke-width: 1;
      stroke-dasharray: 2 4
}

.page-home .chart-card .c-line {
      fill: none;
      stroke: var(--orange);
      stroke-width: 2.5;
      stroke-linecap: round;
      stroke-linejoin: round
}

.page-home .chart-card .c-area {
      opacity: 0;
      transition: opacity .9s ease .3s
}

.page-home .chart-card .chart.shown .c-area {
      opacity: 1
}

.page-home .chart-card .c-dot {
      fill: #fff;
      stroke: var(--orange);
      stroke-width: 2;
      opacity: 0;
      transform-box: fill-box;
      transform-origin: center;
      transform: scale(.3);
      transition: opacity .35s ease, transform .45s cubic-bezier(.2, .8, .2, 1)
}

.page-home .chart-card .chart.shown .c-dot {
      opacity: 1;
      transform: scale(1)
}

.page-home .chart-card .c-dot-last {
      fill: var(--orange);
      stroke: #fff
}

.page-home .chart-card .c-ring {
      fill: none;
      stroke: var(--orange);
      stroke-width: 1.5;
      opacity: 0;
      transform-box: fill-box;
      transform-origin: center
}

.page-home .chart-card .chart.shown .c-ring {
      animation: cpulse 2.6s ease-out 1.5s infinite
}

.page-home .chart-card .c-xlab text {
      fill: var(--slate-2);
      font-family: var(--mono);
      font-size: 9px;
      opacity: 0;
      transition: opacity .6s ease .5s
}

.page-home .chart-card .chart.shown .c-xlab text {
      opacity: 1
}

.page-home .chart-card .c-endlbl {
      fill: var(--orange-600);
      font-family: var(--mono);
      font-size: 11px;
      font-weight: 600;
      opacity: 0;
      transition: opacity .5s ease 1.1s
}

.page-home .chart-card .chart.shown .c-endlbl {
      opacity: 1
}

.page-home .chart-card .c-cursor {
      stroke: var(--line-strong);
      stroke-width: 1;
      stroke-dasharray: 3 3;
      opacity: 0;
      transition: opacity .12s ease
}

.page-home .chart-card .c-cursor.on {
      opacity: 1
}

.page-home .chart-card .c-hoverdot {
      fill: var(--orange);
      stroke: #fff;
      stroke-width: 2;
      opacity: 0;
      transition: opacity .12s ease
}

.page-home .chart-card .c-hoverdot.on {
      opacity: 1
}

.page-home .chart-card .ctip {
      position: absolute;
      transform: translate(-50%, -138%);
      background: var(--ink-900);
      color: #fff;
      border-radius: 9px;
      padding: 6px 10px;
      font-family: var(--mono);
      white-space: nowrap;
      pointer-events: none;
      box-shadow: var(--shadow);
      display: flex;
      flex-direction: column;
      gap: 1px;
      z-index: 6
}

.page-home .chart-card .ctip .ctq {
      color: #9db3c6;
      font-size: 9.5px;
      letter-spacing: .05em;
      text-transform: uppercase
}

.page-home .chart-card .ctip .ctv {
      font-weight: 600;
      font-size: 12.5px
}

.page-home .chart-card .ctip[hidden] {
      display: none
}

.page-home .chart-card .resolved {
      margin-top: 16px
}

@keyframes cpulse {
      0% {
            opacity: .65;
            transform: scale(1)
      }

      70% {
            opacity: 0;
            transform: scale(2.7)
      }

      100% {
            opacity: 0;
            transform: scale(2.7)
      }
}

@media (prefers-reduced-motion: reduce) {

      .page-home .chart-card .c-area,
      .page-home .chart-card .c-dot,
      .page-home .chart-card .c-xlab text,
      .page-home .chart-card .c-endlbl {
            opacity: 1;
            transform: none;
            transition: none
      }

      .page-home .chart-card .c-line {
            stroke-dashoffset: 0 !important
      }

      .page-home .chart-card .c-ring {
            animation: none
      }
}

.page-home .chip {
      position: absolute;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 12px;
      box-shadow: var(--shadow);
      padding: 10px 13px;
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 12.5px;
      color: var(--ink);
      z-index: 3
}

.page-home .chip .ic {
      width: 30px;
      height: 30px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      flex: none
}

.page-home .chip .ic.green {
      background: rgba(22, 128, 86, .12);
      color: #157a52
}

.page-home .chip .ic.orange {
      background: var(--orange-tint);
      color: var(--orange-600)
}

.page-home .chip small {
      display: block;
      font-family: var(--mono);
      font-size: 10.5px;
      color: var(--slate);
      letter-spacing: .02em;
      margin-top: 1px
}

.page-home .chip b {
      font-weight: 600
}

.page-home .chip-a {
      top: -40px;
      left: -30px
}

.page-home .chip-b {
      bottom: -26px;
      right: -22px
}

.page-home .hero-card-wrap {
      position: relative
}

/* ---- hero illustration (SVG dashboard scene) ---- */
.page-home .hero-art {
      display: block;
      width: 100%;
      height: auto;
      overflow: visible
}

/* master loop: the full build sequence replays every 8s.
   Stagger delays are baked into keyframe percentages (a plain
   animation-delay only applies to the first iteration), then
   everything holds, fades out together at 90% and restarts. */
@keyframes artDocLoop {

      0%,
      1.9% {
            opacity: 0;
            transform: translateY(18px)
      }

      10.6% {
            opacity: 1;
            transform: none
      }

      90% {
            opacity: 1;
            transform: none
      }

      97%,
      100% {
            opacity: 0;
            transform: translateY(18px)
      }
}

@keyframes artCalcLoop {

      0%,
      6.3% {
            opacity: 0;
            transform: translateY(18px)
      }

      14.4% {
            opacity: 1;
            transform: none
      }

      90% {
            opacity: 1;
            transform: none
      }

      97%,
      100% {
            opacity: 0;
            transform: translateY(18px)
      }
}

@keyframes artBadgeLoop {

      0%,
      12.5% {
            opacity: 0;
            transform: scale(.3)
      }

      17.3% {
            opacity: 1;
            transform: scale(1.12)
      }

      19.4% {
            transform: scale(1)
      }

      36% {
            transform: translateY(-7px)
      }

      52% {
            transform: translateY(0)
      }

      68% {
            transform: translateY(-7px)
      }

      84% {
            transform: translateY(0)
      }

      90% {
            opacity: 1;
            transform: translateY(0)
      }

      97%,
      100% {
            opacity: 0;
            transform: scale(.3)
      }
}

@keyframes artHouseLoop {

      0%,
      15.6% {
            opacity: 0;
            transform: scale(.3)
      }

      20% {
            opacity: 1;
            transform: scale(1.12)
      }

      21.9% {
            transform: scale(1)
      }

      39% {
            transform: translateY(-6px)
      }

      56% {
            transform: translateY(0)
      }

      73% {
            transform: translateY(-6px)
      }

      88% {
            transform: translateY(0)
      }

      90% {
            opacity: 1;
            transform: translateY(0)
      }

      97%,
      100% {
            opacity: 0;
            transform: scale(.3)
      }
}

@keyframes artStampLoop {

      0%,
      21.3% {
            opacity: 0;
            transform: scale(1.9)
      }

      24.7% {
            opacity: 1;
            transform: scale(.94)
      }

      25.9% {
            transform: scale(1.05)
      }

      27.5% {
            transform: scale(1)
      }

      90% {
            opacity: 1;
            transform: scale(1)
      }

      97%,
      100% {
            opacity: 0;
            transform: scale(1.9)
      }
}

@keyframes artCoin1Loop {

      0%,
      26.3% {
            opacity: 0;
            transform: translateY(-18px)
      }

      30.4% {
            opacity: 1;
            transform: translateY(2px)
      }

      33.1% {
            transform: none
      }

      90% {
            opacity: 1;
            transform: none
      }

      97%,
      100% {
            opacity: 0;
            transform: translateY(-18px)
      }
}

@keyframes artCoin2Loop {

      0%,
      28.1% {
            opacity: 0;
            transform: translateY(-18px)
      }

      32.2% {
            opacity: 1;
            transform: translateY(2px)
      }

      35% {
            transform: none
      }

      90% {
            opacity: 1;
            transform: none
      }

      97%,
      100% {
            opacity: 0;
            transform: translateY(-18px)
      }
}

@keyframes artCoin3Loop {

      0%,
      30% {
            opacity: 0;
            transform: translateY(-18px)
      }

      34.1% {
            opacity: 1;
            transform: translateY(2px)
      }

      36.9% {
            transform: none
      }

      90% {
            opacity: 1;
            transform: none
      }

      97%,
      100% {
            opacity: 0;
            transform: translateY(-18px)
      }
}

@keyframes artTwinkle {

      0%,
      100% {
            opacity: .25;
            transform: scale(.7)
      }

      50% {
            opacity: 1;
            transform: scale(1)
      }
}

.page-home .hero-art .art2-doc,
.page-home .hero-art .art2-calc,
.page-home .hero-art .art2-badge,
.page-home .hero-art .art2-house,
.page-home .hero-art .art2-stamp,
.page-home .hero-art .art2-coin,
.page-home .hero-art .art2-spark {
      transform-box: fill-box;
      transform-origin: center
}

.page-home .hero-art .art2-doc {
      animation: artDocLoop 8s cubic-bezier(.2, .8, .2, 1) infinite
}

.page-home .hero-art .art2-calc {
      animation: artCalcLoop 8s cubic-bezier(.2, .8, .2, 1) infinite
}

.page-home .hero-art .art2-badge {
      animation: artBadgeLoop 8s ease-in-out infinite
}

.page-home .hero-art .art2-house {
      animation: artHouseLoop 8s ease-in-out infinite
}

.page-home .hero-art .art2-stamp {
      animation: artStampLoop 8s cubic-bezier(.3, 1.2, .4, 1) infinite
}

.page-home .hero-art .art2-coin1 {
      animation: artCoin1Loop 8s cubic-bezier(.2, .9, .3, 1) infinite
}

.page-home .hero-art .art2-coin2 {
      animation: artCoin2Loop 8s cubic-bezier(.2, .9, .3, 1) infinite
}

.page-home .hero-art .art2-coin3 {
      animation: artCoin3Loop 8s cubic-bezier(.2, .9, .3, 1) infinite
}

.page-home .hero-art .art2-spark {
      animation: artTwinkle 3.2s ease-in-out infinite
}

.page-home .hero-art .art2-spark2 {
      animation-delay: 1.1s
}

.page-home .hero-art .art2-spark3 {
      animation-delay: 2s
}

.page-home .hero-img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 16px
}

/* ---- PMS logo marquee (looping scroll) ---- */
@keyframes marq {
      to {
            transform: translateX(-50%)
      }
}

.page-home .marq-lbl {
      text-align: center;
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--slate-2);
      margin: 0 0 22px
}

.page-home .marquee {
      overflow: hidden;
      margin-bottom: clamp(38px, 5vw, 54px);
      -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
      mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent)
}

.page-home .marq-track {
      display: flex;
      align-items: center;
      width: max-content;
      animation: marq 26s linear infinite;
      will-change: transform
}

.page-home .marquee:hover .marq-track {
      animation-play-state: paused
}

.page-home .marq-item {
      display: inline-flex;
      align-items: center;
      gap: 11px;
      margin-right: 48px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 9px 20px 9px 10px;
      box-shadow: var(--shadow-sm);
      white-space: nowrap
}

.page-home .marq-item img {
      width: 30px;
      height: 30px;
      border-radius: 8px;
      object-fit: contain;
      flex: 0 0 auto
}

.page-home .marq-item span {
      font-weight: 600;
      font-size: 14.5px;
      color: var(--ink)
}

/* ---- trust strip ---- */
.page-home .trust {
      border-top: 1px solid var(--line);
      background: #fff;
      padding: clamp(40px, 5vw, 60px) 0
}

.page-home .trust-lbl {
      text-align: center;
      font-family: var(--mono);
      font-size: 12px;
      letter-spacing: .06em;
      text-transform: uppercase;
      color: var(--slate-2);
      max-width: 60ch;
      margin: 0 auto 34px
}

.page-home .trust-stats {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 24px;
      max-width: 980px;
      margin: 0 auto
}

.page-home .tstat {
      text-align: center;
      padding: 0 8px
}

.page-home .tstat+.tstat {
      border-left: 1px solid var(--line)
}

.page-home .tstat .tn {
      display: block;
      font-family: var(--display);
      font-weight: 800;
      font-size: clamp(30px, 4vw, 44px);
      letter-spacing: -.03em;
      color: var(--ink);
      line-height: 1
}

.page-home .tstat .tl {
      display: block;
      margin-top: 10px;
      font-size: 13.5px;
      color: var(--slate);
      line-height: 1.4
}

/* ---- platform intro (US map + copy) ---- */
/* the pinned grow story below already opens with a lot of its own breathing
   room (its panel is centred in a 100vh sticky box), so this section closes
   tighter than the standard 60px to keep the seam between the two readable */
.page-home #platform {
      padding-bottom: 20px
}

.page-home .plat-in {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: clamp(40px, 6vw, 72px);
      align-items: center
}

.page-home .nexus-map {
      display: block;
      width: 100%;
      height: auto;
      overflow: visible
}

.page-home .nexus-map .state {
      fill: #E2E4E6
}

.page-home .nexus-map .borders {
      stroke: #fff;
      stroke-width: 1
}

.page-home .nexus-map .dccircle {
      display: none
}

.page-home .nexus-map .separator1 {
      stroke: rgba(17, 53, 85, .14);
      stroke-width: 2
}

/* decorative light brand tints: light logo orange, light brand blue, light gray */
.page-home .nexus-map .mt,
.page-home .nexus-map .nv,
.page-home .nexus-map .co,
.page-home .nexus-map .mo,
.page-home .nexus-map .mi,
.page-home .nexus-map .ny,
.page-home .nexus-map .ga,
.page-home .nexus-map .tn,
.page-home .nexus-map .hi {
      fill: #F4BC85
}

.page-home .nexus-map .wa,
.page-home .nexus-map .az,
.page-home .nexus-map .sd,
.page-home .nexus-map .wi,
.page-home .nexus-map .ma,
.page-home .nexus-map .va,
.page-home .nexus-map .la,
.page-home .nexus-map .fl,
.page-home .nexus-map .ca {
      fill: #9DB2C4
}

.page-home .nexus-map .tx,
.page-home .nexus-map .id,
.page-home .nexus-map .ut,
.page-home .nexus-map .wy,
.page-home .nexus-map .in,
.page-home .nexus-map .ar,
.page-home .nexus-map .nc,
.page-home .nexus-map .sc,
.page-home .nexus-map .me,
.page-home .nexus-map .or {
      fill: #C2C6CA
}

/* ---- grow story (pinned two-step scroll, light band) ---- */
.page-home .grow-scroll {
      background: var(--paper)
}

.page-home .grow-scroll .grow-sticky {
      position: relative;
      color: var(--ink);
      padding: clamp(64px, 9vw, 110px) 0
}

.page-home .grow-scroll .grow-sticky .wrap {
      position: relative;
      z-index: 1;
      padding: 0 clamp(20px, 5vw, 64px);
      box-sizing: border-box
}

.page-home .grow-scroll .grow-inner {
      display: grid;
      /* copy takes the flexible left track; the map sizes to its own width on
         the right, with a clear gutter between so the two never collide */
      grid-template-columns: minmax(0, 1fr) minmax(0, auto);
      align-items: center;
      gap: clamp(40px, 6vw, 104px)
}

.page-home .grow-scroll .grow-copy {
      position: relative;
      z-index: 2;
      justify-self: start;
      width: 100%;
      max-width: 520px
}

.page-home .grow-scroll .h2 {
      color: var(--ink)
}

.page-home .grow-scroll .grow-panel {
      max-width: none;
      margin: 0;
      text-align: left
}

.page-home .grow-scroll .grow-panel+.grow-panel {
      margin-top: 72px
}

.page-home .grow-scroll .grow-list {
      list-style: none;
      max-width: none;
      margin: 28px 0 0;
      padding: 0;
      display: flex;
      flex-direction: column;
      gap: 14px;
      text-align: left
}

.page-home .grow-scroll .grow-list li {
      display: flex;
      gap: 12px;
      font-size: 16px;
      color: var(--slate);
      line-height: 1.55
}

.page-home .grow-scroll .grow-list li svg {
      flex: none;
      margin-top: 3px
}

.page-home .grow-scroll .grow-figure {
      position: relative;
      z-index: 1;
      display: flex;
      justify-content: flex-end;
      align-items: center;
      /* hug the right edge of the column */
      padding-left: 0;
      padding-right: clamp(0px, 1.5vw, 24px)
}

.page-home .grow-scroll .grow-mapwrap {
      position: relative;
      width: 100%;
      /* cap at the image's native width (677px) so the line-art map stays
         crisp instead of upscaling */
      max-width: clamp(440px, 50vw, 677px);
      margin-inline: 0;
      line-height: 0
}

.page-home .grow-scroll .grow-map {
      width: 100%;
      max-width: none;
      height: auto
}

/* ---- map city markers (alert  →  pin) ----
   Each .grow-pin is a zero-size anchor dropped at the city's position
   (--x/--y are % of the map image); the icons hang off its bottom edge so
   the pin tip lands exactly on the city. */
.page-home .grow-scroll .grow-pins {
      position: absolute;
      inset: 0;
      pointer-events: none
}

.page-home .grow-scroll .grow-pin {
      position: absolute;
      left: var(--x);
      top: var(--y);
      width: 0;
      height: 0;
      /* --c is the marker colour, --cr the same value as an rgb triple so the
         pulse ring can vary its alpha; both are overridden per city inline */
      --c: var(--orange);
      --cr: 244, 142, 55
}

.page-home .grow-scroll .pin-ico {
      position: absolute;
      left: 50%;
      bottom: 0;
      width: clamp(17px, 2vw, 24px);
      height: auto;
      aspect-ratio: 1;
      transform: translateX(-50%);
      transition: opacity .45s ease, transform .5s cubic-bezier(.2, .9, .25, 1.4);
      transition-delay: var(--d, 0s)
}

.page-home .grow-scroll .pin-mark {
      color: var(--c);
      filter: drop-shadow(0 3px 5px rgba(11, 36, 56, .28))
}

/* the alert hovers just above the city dot; the pin's tip lands on it */
.page-home .grow-scroll .pin-alert {
      bottom: 6px;
      filter: drop-shadow(0 0 2px var(--paper)) drop-shadow(0 2px 4px rgba(11, 36, 56, .2))
}

.page-home .grow-scroll .pin-pulse {
      position: absolute;
      left: 50%;
      top: 50%;
      width: 7px;
      height: 7px;
      margin: -3.5px 0 0 -3.5px;
      border-radius: 50%;
      background: var(--c);
      /* --pr feeds the expanding ring in growPinPulse; it switches to the
         pin's own colour once the solution step is on screen */
      --pr: var(--cr);
      transition: background .45s ease
}

.page-home .grow-scroll .pin-label {
      position: absolute;
      left: 50%;
      top: 9px;
      transform: translate(-50%, 0);
      white-space: nowrap;
      font-size: clamp(9px, .95vw, 11px);
      font-weight: 700;
      letter-spacing: .09em;
      text-transform: uppercase;
      color: var(--ink);
      /* halo in the paper colour so the label stays readable where it crosses
         a state border or a dotted fill */
      text-shadow: 0 0 3px var(--paper), 0 0 6px var(--paper), 0 1px 2px var(--paper);
      transition: opacity .45s ease, transform .45s ease;
      transition-delay: var(--d, 0s)
}

/* resting state (no JS / reduced motion): the finished markers, since both
   copy panels are visible at once in that fallback */
.page-home .grow-scroll .pin-alert {
      opacity: 0;
      transform: translateX(-50%) translateY(-10px) scale(.6)
}

/* pinned mode, step 1 "The challenge": alerts pulsing over each city */
.page-home .grow-scroll.js-on .pin-alert {
      opacity: 1;
      transform: translateX(-50%) translateY(0) scale(1)
}

.page-home .grow-scroll.js-on .pin-mark {
      opacity: 0;
      transform: translateX(-50%) translateY(-16px) scale(.5)
}

.page-home .grow-scroll.js-on .pin-pulse {
      background: var(--orange);
      --pr: 244, 142, 55;
      animation: growPinPulse 2s ease-out infinite;
      animation-delay: var(--d, 0s)
}

.page-home .grow-scroll.js-on .pin-label {
      opacity: 0;
      transform: translate(-50%, 5px)
}

/* step 2 "The solution": alerts lift away, colored pins drop in */
.page-home .grow-scroll.js-on.is-solution .pin-alert {
      opacity: 0;
      transform: translateX(-50%) translateY(-10px) scale(.6)
}

.page-home .grow-scroll.js-on.is-solution .pin-mark {
      opacity: 1;
      transform: translateX(-50%) translateY(0) scale(1)
}

.page-home .grow-scroll.js-on.is-solution .pin-pulse {
      background: var(--c);
      --pr: var(--cr);
      animation-duration: 2.8s
}

.page-home .grow-scroll.js-on.is-solution .pin-label {
      opacity: 1;
      transform: translate(-50%, 0)
}

@keyframes growPinPulse {
      0% {
            box-shadow: 0 0 0 0 rgba(var(--pr), .55)
      }

      70% {
            box-shadow: 0 0 0 13px rgba(var(--pr), 0)
      }

      100% {
            box-shadow: 0 0 0 0 rgba(var(--pr), 0)
      }
}

@media (prefers-reduced-motion: reduce) {
      .page-home .grow-scroll .pin-pulse {
            animation: none
      }
}

.page-home .grow-scroll .grow-dots {
      display: none;
      justify-content: flex-start;
      gap: 8px;
      margin-top: 36px
}

.page-home .grow-scroll .grow-dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      background: var(--line-strong);
      transition: background .3s ease
}

.page-home .grow-scroll .grow-dot.on {
      background: var(--orange)
}

/* pinned mode (enabled by JS when motion is allowed) */
.page-home .grow-scroll.js-on .grow-track {
      height: 220vh
}

.page-home .grow-scroll.js-on .grow-sticky {
      position: sticky;
      top: 0;
      min-height: 100vh;
      display: flex;
      align-items: center;
      box-sizing: border-box;
      /* sit the pinned panel a little above dead centre so it meets the
         section above sooner. Only the difference between these two moves it
         (the panel is centred in whatever space the padding leaves), and on
         narrow screens — where the stacked panel is taller than the viewport
         and there is no slack to centre in — the total stays close to the
         64px/64px the un-pinned rule uses. */
      padding-top: clamp(40px, 5vw, 50px);
      padding-bottom: clamp(80px, 11vw, 130px)
}

.page-home .grow-scroll.js-on .grow-sticky .wrap {
      width: 100%
}

.page-home .grow-scroll.js-on .grow-panels {
      display: grid
}

.page-home .grow-scroll.js-on .grow-panel {
      grid-area: 1 / 1;
      opacity: 0;
      transform: translateY(26px);
      pointer-events: none;
      transition: opacity .5s ease, transform .5s ease
}

.page-home .grow-scroll.js-on .grow-panel+.grow-panel {
      margin-top: 0
}

.page-home .grow-scroll.js-on .grow-panel.is-active {
      opacity: 1;
      transform: none;
      pointer-events: auto
}

.page-home .grow-scroll.js-on .grow-dots {
      display: flex
}

/* stack copy over map on narrow screens */
@media (max-width: 860px) {
      .page-home .grow-scroll .grow-inner {
            grid-template-columns: 1fr;
            gap: clamp(28px, 7vw, 44px)
      }

      .page-home .grow-scroll .grow-figure {
            order: -1;
            justify-content: center;
            padding-left: 0;
            padding-right: 0
      }

      .page-home .grow-scroll .grow-mapwrap {
            max-width: 560px;
            margin-inline: auto
      }

      .page-home .grow-scroll .grow-map {
            max-width: 560px
      }

      /* stop overlaying — copy returns to a normal stacked block */
      .page-home .grow-scroll .grow-copy {
            width: auto;
            max-width: none
      }

      .page-home .grow-scroll .grow-panel,
      .page-home .grow-scroll .grow-list {
            max-width: none
      }
}

/* ---- automated compliance (4-up feature row) ---- */
/* the pinned grow story above ends with its own trailing space (the panel is
   centred in the sticky box), so open tighter than the standard 60px */
.page-home #automate {
      padding-top: 20px
}

.page-home .auto-tour {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-top: 18px;
      color: var(--orange-600);
      font-weight: 700;
      text-decoration: none
}

.page-home .auto-tour .arr {
      transition: transform .2s ease
}

.page-home .auto-tour:hover {
      color: var(--orange)
}

.page-home .auto-tour:hover .arr {
      transform: translateX(4px)
}

.page-home .auto-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: clamp(28px, 4vw, 48px);
      margin-top: 56px;
      text-align: left
}

.page-home .auto-item svg {
      display: block
}

.page-home .auto-item h3 {
      font-size: 19px;
      line-height: 1.35;
      color: var(--ink);
      margin: 16px 0 8px
}

.page-home .auto-item p {
      font-size: 15px;
      line-height: 1.55;
      color: var(--slate);
      margin: 0
}

@media (max-width: 1000px) {
      .page-home .auto-grid {
            grid-template-columns: repeat(2, 1fr)
      }
}

@media (max-width: 600px) {
      .page-home .auto-grid {
            grid-template-columns: 1fr
      }
}

.page-home .steps {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 26px;
      margin-top: 54px
}

.page-home .steps::before {
      content: "";
      position: absolute;
      top: 24px;
      left: 6%;
      right: 6%;
      height: 2px;
      background-image: repeating-linear-gradient(90deg, var(--line-strong) 0 7px, transparent 7px 14px)
}

.page-home .step {
      position: relative
}

.page-home .step .num {
      width: 50px;
      height: 50px;
      border-radius: 14px;
      background: var(--ink);
      color: #fff;
      display: grid;
      place-items: center;
      font-family: var(--mono);
      font-weight: 600;
      font-size: 16px;
      position: relative;
      z-index: 2;
      box-shadow: 0 8px 18px -8px rgba(17, 53, 85, .6)
}

.page-home .step:nth-child(3) .num {
      background: var(--orange);
      box-shadow: 0 8px 18px -8px rgba(244, 142, 55, .7)
}

.page-home .step h3 {
      font-size: 18px;
      margin: 18px 0 8px;
      letter-spacing: -.01em
}

.page-home .step p {
      font-size: 14.5px;
      color: var(--slate)
}

.page-home .grid-svc {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 18px;
      margin-top: 48px
}

.page-home .grid-svc>.card {
      grid-column: span 2
}

.page-home .card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 24px;
      position: relative;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease
}

.page-home .card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
      border-color: var(--line-strong)
}

.page-home .card .ic {
      width: 42px;
      height: 42px;
      border-radius: 11px;
      background: var(--ink);
      display: grid;
      place-items: center;
      margin-bottom: 16px
}

.page-home .card .ic svg {
      stroke: #fff
}

.page-home .card.feat .ic {
      background: var(--orange)
}

.page-home .card .tag {
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .13em;
      text-transform: uppercase;
      color: var(--slate-2);
      font-weight: 600;
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 3px 9px;
      position: absolute;
      top: 22px;
      right: 22px
}

.page-home .card.feat .tag {
      color: var(--orange-600);
      border-color: rgba(244, 142, 55, .35);
      background: var(--orange-tint)
}

.page-home .card h3 {
      font-size: 17px;
      letter-spacing: -.01em;
      margin-bottom: 8px;
      padding-right: 70px
}

.page-home .card p {
      font-size: 14px;
      color: var(--slate);
      line-height: 1.55
}

.page-home .pricing-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin: 50px auto 0;
      max-width: 1080px;
      align-items: stretch
}

.page-home .plan {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 20px;
      padding: 30px 26px;
      position: relative;
      display: flex;
      flex-direction: column
}

.page-home .plan.hot {
      border: 1.5px solid var(--orange);
      box-shadow: 0 30px 60px -30px rgba(244, 142, 55, .45);
      overflow: visible
}

.page-home .plan .flagtop {
      position: absolute;
      top: -13px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--orange);
      color: #fff;
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .14em;
      text-transform: uppercase;
      font-weight: 600;
      padding: 5px 14px;
      border-radius: 999px;
      white-space: nowrap
}

.page-home .plan .pname {
      font-family: var(--display);
      font-weight: 700;
      font-size: 22px
}

.page-home .plan .pdesc {
      color: var(--slate);
      font-size: 13.5px;
      margin: 6px 0 18px;
      min-height: 38px
}

.page-home .plan .price {
      display: flex;
      align-items: baseline;
      gap: 8px
}

.page-home .plan .price .amt {
      font-family: var(--display);
      font-weight: 800;
      font-size: 46px;
      letter-spacing: -.03em
}

.page-home .plan .price .per {
      font-family: var(--mono);
      font-size: 12.5px;
      color: var(--slate)
}

.page-home .plan .pdiv {
      height: 1px;
      background: var(--line);
      margin: 20px 0
}

.page-home .plan ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 11px;
      margin-bottom: 24px;
      flex: 1
}

.page-home .plan li {
      display: flex;
      gap: 10px;
      font-size: 14px;
      color: #36475a;
      line-height: 1.45
}

.page-home .plan li svg {
      flex: none;
      margin-top: 3px
}

.page-home .plan .grp {
      font-size: 13px;
      font-weight: 600;
      color: var(--ink);
      margin-bottom: 2px
}

.page-home .plan .btn {
      width: 100%;
      justify-content: center
}

.page-home .addon {
      position: relative;
      overflow: hidden;
      margin: 48px auto 0;
      max-width: 1080px;
      background: var(--ink-900);
      color: #fff;
      border-radius: 20px;
      padding: 30px;
      background-image: radial-gradient(700px 300px at 90% -20%, rgba(244, 142, 55, .18), transparent 60%), linear-gradient(160deg, var(--ink-900), var(--ink-950))
}

.page-home .addon::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      opacity: 1;
      background-image: radial-gradient(rgba(255, 255, 255, .18) 1.5px, transparent 1.6px);
      background-size: 20px 20px;
      mask-image: radial-gradient(90% 130% at 90% -25%, #000 12%, transparent 60%);
      pointer-events: none
}

.page-home .addon>* {
      position: relative;
      z-index: 1
}

.page-home .addon .ah {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 20px
}

.page-home .addon .ah h3 {
      color: #fff;
      font-size: 20px
}

.page-home .addon .ah p {
      color: #a9bccd;
      font-size: 13.5px
}

.page-home .addon-rows {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px
}

.page-home .addon-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      background: rgba(9, 22, 37, .72);
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 13px;
      padding: 16px 18px
}

.page-home .addon-row .l b {
      font-size: 15px;
      display: block
}

.page-home .addon-row .l small {
      color: #9fb3c6;
      font-size: 12.5px
}

.page-home .addon-row .r {
      text-align: right;
      white-space: nowrap
}

.page-home .addon-row .r b {
      font-family: var(--mono);
      font-size: 18px;
      color: var(--orange)
}

.page-home .addon-row .r small {
      display: block;
      font-family: var(--mono);
      font-size: 10.5px;
      color: #9fb3c6
}

.page-home .faq {
      max-width: 820px;
      margin: 48px auto 0
}

.page-home .qa {
      border: 1px solid var(--line);
      border-radius: 14px;
      margin-bottom: 12px;
      background: #fff;
      overflow: hidden;
      transition: border-color .2s ease
}

.page-home .qa[open] {
      border-color: var(--line-strong);
      box-shadow: var(--shadow)
}

.page-home .qa summary {
      list-style: none;
      cursor: pointer;
      padding: 20px 22px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      font-weight: 600;
      font-size: 16px;
      color: var(--ink)
}

.page-home .qa summary::-webkit-details-marker {
      display: none
}

.page-home .qa summary .pm {
      flex: none;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      border: 1px solid var(--line-strong);
      display: grid;
      place-items: center;
      transition: transform .2s ease, background .2s ease
}

.page-home .qa[open] summary .pm {
      transform: rotate(45deg);
      background: var(--orange);
      border-color: var(--orange)
}

.page-home .qa[open] summary .pm svg {
      stroke: #fff
}

.page-home .qa .ans {
      padding: 0 22px 22px;
      color: var(--slate);
      font-size: 15px;
      line-height: 1.6
}

.page-home .cta-band {
      position: relative;
      color: #fff;
      text-align: center;
      overflow: hidden;
      background: radial-gradient(800px 400px at 50% -30%, rgba(244, 142, 55, .22), transparent 60%), linear-gradient(160deg, var(--ink), var(--ink-950))
}

.page-home .cta-band::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, transparent, #000 50%, transparent)
}

.page-home .cta-band::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background-image: radial-gradient(rgba(255, 255, 255, .16) 1.5px, transparent 1.6px);
      background-size: 22px 22px;
      mask-image: radial-gradient(90% 130% at 88% -10%, #000 10%, transparent 62%)
}

.page-home .cta-band .inner {
      position: relative;
      z-index: 1;
      padding: 62px 24px
}

.page-home .cta-mark {
      height: 46px;
      margin: 0 auto 22px;
      width: auto;
      opacity: .95
}

.page-home .cta-band h2 {
      color: #fff;
      font-size: clamp(28px, 3.6vw, 42px);
      max-width: 20ch;
      margin: 0 auto 14px
}

.page-home .cta-band p {
      color: #bcccdb;
      max-width: 52ch;
      margin: 0 auto 28px
}

.page-home footer.ft {
      background:
            radial-gradient(1300px 680px at 80% 118%, rgba(244, 142, 55, .55), transparent 64%),
            radial-gradient(900px 480px at 14% 112%, rgba(244, 142, 55, .26), transparent 60%),
            radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .24), transparent 60%),
            linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #9fb3c6;
      padding: 64px 0 30px
}

.page-home .ft-top {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1fr;
      gap: 40px;
      padding-bottom: 42px;
      border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.page-home .ft-logo {
      height: 30px;
      width: auto;
      margin-bottom: 16px
}

.page-home .ft-top p.blurb {
      font-size: 14px;
      max-width: 38ch;
      line-height: 1.6
}

.page-home .ft-col h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #7e93a7;
      margin-bottom: 16px;
      font-weight: 500
}

.page-home .ft-col a,
.page-home .ft-col span {
      display: block;
      font-size: 14.5px;
      color: #c2d0dd;
      margin-bottom: 10px
}

.page-home .ft-col a:hover {
      color: #fff
}

.page-home .ft-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      padding-top: 24px;
      font-size: 13px;
      color: #7e93a7
}

.page-home .ft-bottom .links a {
      margin-left: 18px;
      color: #9fb3c6
}

.page-home .ft-bottom .links a:hover {
      color: #fff
}

.page-home .rv {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1)
}

.page-home .rv.in {
      opacity: 1;
      transform: none
}

.page-home header.nav {
      transition: box-shadow .25s ease, background .25s ease
}

.page-home header.nav.scrolled {
      box-shadow: 0 1px 0 var(--line), 0 10px 28px -18px rgba(11, 36, 56, .28)
}

.page-home .nav-links a.lnk {
      position: relative
}

.page-home .nav-links a.lnk::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: -5px;
      height: 2px;
      background: var(--orange);
      transition: right .28s cubic-bezier(.2, .7, .2, 1)
}

.page-home .nav-links a.lnk:hover::after {
      right: 0
}

.page-home .pill .dot {
      animation: pulse 2.6s ease-out infinite
}

.page-home .js-anim .ledger .body>* {
      opacity: 0
}

.page-home .js-anim.ready .ledger .body>* {
      animation: rowin .5s ease both
}

.page-home .js-anim.ready .ledger .body>*:nth-child(1) {
      animation-delay: 0s
}

.page-home .js-anim.ready .ledger .body>*:nth-child(2) {
      animation-delay: .10s
}

.page-home .js-anim.ready .ledger .body>*:nth-child(3) {
      animation-delay: .20s
}

.page-home .js-anim.ready .ledger .body>*:nth-child(4) {
      animation-delay: .32s
}

.page-home .js-anim.ready .ledger .body>*:nth-child(5) {
      animation: popin .55s cubic-bezier(.2, .8, .2, 1) .85s both
}

.page-home .ledger::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 4;
      background: linear-gradient(115deg, transparent 42%, rgba(244, 142, 55, .14) 50%, transparent 58%);
      transform: translateX(-130%)
}

.page-home .js-anim.ready .ledger::after {
      animation: sweep 1.15s ease .15s 1
}

.page-home .js-anim .chip {
      opacity: 0
}

.page-home .js-anim.ready .chip-a {
      animation: chipin .6s ease .55s both, floaty 6s ease-in-out 1.3s infinite
}

.page-home .js-anim.ready .chip-b {
      animation: chipin .6s ease .7s both, floaty 7s ease-in-out 1.6s infinite
}

@media (max-width:980px) {
      .page-home .wrap.wrap {
            padding-left: 20px;
            padding-right: 20px
      }

      .page-home .hero-in {
            grid-template-columns: 1fr;
            gap: 48px;
            padding: 60px 20px 80px
      }

      .page-home .trust-stats {
            grid-template-columns: repeat(2, 1fr);
            gap: 28px 20px
      }

      .page-home .tstat:nth-child(3) {
            border-left: none
      }

      .page-home .plat-in {
            grid-template-columns: 1fr;
            gap: 40px
      }

      .page-home .plat-art {
            order: 2;
            max-width: 480px;
            margin: 0 auto;
            width: 100%
      }

      .page-home .hero-actions {
            flex-wrap: nowrap;
            gap: 10px
      }

      .page-home .hero-actions .btn {
            flex: 1 1 0;
            min-width: 0;
            justify-content: center;
            padding: 13px 10px;
            font-size: 14px
      }

      .page-home .steps {
            grid-template-columns: repeat(2, 1fr);
            gap: 34px 24px
      }

      .page-home .steps::before {
            display: none
      }

      .page-home .grid-svc {
            grid-template-columns: repeat(2, 1fr)
      }

      .page-home .grid-svc>.card:nth-child(n) {
            grid-column: auto;
            grid-row: auto
      }

      .page-home .pricing-grid {
            grid-template-columns: 1fr;
            max-width: 460px;
            margin-left: auto;
            margin-right: auto
      }

      .page-home .addon-rows {
            grid-template-columns: 1fr
      }

      .page-home .ft-top {
            grid-template-columns: 1fr 1fr
      }

      .page-home .nav-links {
            display: none
      }

      .page-home .menu-btn {
            display: block
      }

      .page-home .nav-cta .btn-ghost,
      .page-home .nav-cta .btn-primary {
            display: none
      }

      .page-home .nav-links.open {
            display: flex;
            position: absolute;
            top: 70px;
            left: 0;
            right: 0;
            flex-direction: column;
            background: var(--paper);
            padding: 18px 24px 22px;
            gap: 6px;
            border-bottom: 1px solid var(--line);
            align-items: stretch;
            box-shadow: 0 18px 36px -20px rgba(11, 36, 56, .4)
      }

      .page-home .nav-links.open a.lnk {
            font-size: 16px;
            color: var(--ink);
            padding: 12px 4px;
            border-bottom: 1px solid var(--line)
      }

      .page-home .nav-links.open a.lnk:last-of-type {
            border-bottom: none
      }

      .page-home .nav-links.open a.lnk::after {
            display: none
      }

      .page-home .nav-links.open .menu-cta-row {
            display: flex;
            gap: 10px;
            margin-top: 12px
      }

      .page-home .nav-links.open .menu-cta-row a {
            flex: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .4em;
            font-family: var(--body);
            font-weight: 600;
            font-size: 14.5px;
            padding: 13px 10px;
            border-radius: 999px;
            white-space: nowrap
      }

      .page-home .nav-links.open .lnk-cta-ghost {
            border: 1px solid var(--line-strong);
            color: var(--ink)
      }

      .page-home .nav-links.open .lnk-cta {
            background: var(--orange);
            color: #fff;
            box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
      }
}

@media (max-width:560px) {
      .page-home .section {
            padding: 44px 0
      }

      .page-home .trust-stats {
            grid-template-columns: 1fr;
            gap: 22px
      }

      .page-home .tstat+.tstat {
            border-left: none;
            border-top: 1px solid var(--line);
            padding-top: 22px
      }

      .page-home .grid-svc {
            grid-template-columns: 1fr
      }

      .page-home .chip-a {
            left: -8px;
            top: -16px
      }

      .page-home .chip-b {
            right: -6px
      }

      .page-home .ft-top {
            grid-template-columns: 1fr
      }

      .page-home .nav-logo {
            height: 26px
      }
}

@media (prefers-reduced-motion:reduce) {
      .page-home * {
            scroll-behavior: auto !important
      }

      .page-home .rv {
            transition: none;
            opacity: 1;
            transform: none
      }

      .page-home .btn,
      .page-home .card,
      .page-home .btn .arr {
            transition: none
      }

      .page-home .pill .dot {
            animation: none
      }

      .page-home .js-anim .ledger .body>*,
      .page-home .js-anim .chip {
            opacity: 1 !important;
            animation: none !important
      }

      .page-home .ledger::after {
            display: none
      }

      .page-home .hero-art .art2-doc,
      .page-home .hero-art .art2-calc,
      .page-home .hero-art .art2-badge,
      .page-home .hero-art .art2-house,
      .page-home .hero-art .art2-stamp,
      .page-home .hero-art .art2-coin,
      .page-home .hero-art .art2-spark {
            opacity: 1 !important;
            animation: none !important
      }

      .page-home .marq-track {
            animation: none;
            width: auto;
            flex-wrap: wrap;
            justify-content: center;
            gap: 12px
      }

      .page-home .marq-item {
            margin-right: 0
      }

      .page-home .marq-item[aria-hidden="true"] {
            display: none
      }

      .page-home .marquee {
            -webkit-mask-image: none;
            mask-image: none
      }
}

/* ===================== short-term-rentals.html  (.page-str) ===================== */
body.page-str {
      --ink: #113554;

      --ink-900: #0B2438;

      --ink-950: #07192a;

      --orange: #f48e37;

      --orange-600: #de7a1e;
      --orange-tint: rgba(244, 142, 55, 0.12);
      --paper: #FAFBFC;

      --panel: #FFFFFF;
      --panel-2: #F2F5F8;

      --slate: #56697B;

      --slate-2: #7E8EA0;
      --line: rgba(17, 53, 85, 0.12);
      --line-strong: rgba(17, 53, 85, 0.22);
      --ring: rgba(244, 142, 55, 0.55);
      --shadow: 0 1px 2px rgba(11, 36, 56, .06), 0 12px 32px -12px rgba(11, 36, 56, .18);
      --shadow-lg: 0 1px 2px rgba(11, 36, 56, .06), 0 30px 70px -28px rgba(11, 36, 56, .40);
      --r: 16px;
      --maxw: 1400px;
      /* --display: "DM Sans", system-ui, sans-serif; */
      /* --body: "Inter", system-ui, sans-serif; */
      --display: "Ubuntu", system-ui, sans-serif;
      --body: "Ubuntu", system-ui, sans-serif;
      --mono: "IBM Plex Mono", ui-monospace, monospace;
}

body.page-str {
      font-family: var(--body);
      color: var(--ink);
      background: var(--paper);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      overflow-x: clip;
}

.page-str a {
      color: inherit;
      text-decoration: none
}

.page-str img {
      display: block;
      max-width: 100%
}

.page-str .wrap {
      max-width: var(--maxw);
      margin: 0 auto;
      padding: 0 var(--gutter)
}

.page-str .eyebrow {
      font-family: var(--mono);
      font-size: 12px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--orange-600);
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-weight: 500;
}

.page-str .eyebrow::before {
      content: "//";
      color: var(--orange);
      font-weight: 600;
      letter-spacing: -.06em
}

.page-str .eyebrow.on-dark {
      color: #f6b27a
}

.page-str .eyebrow.on-dark::before {
      color: var(--orange)
}

.page-str h1,
.page-str h2,
.page-str h3 {
      font-family: var(--display);
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: -.02em;
      color: var(--ink)
}

.page-str .h2 {
      font-size: clamp(28px, 4vw, 46px);
      margin: 18px 0 14px
}

.page-str .h2 .accent {
      color: var(--orange)
}

.page-str .lede {
      font-size: clamp(16px, 1.7vw, 18px);
      color: var(--slate);
      max-width: 60ch
}

.page-str .section {
      padding: 60px 0
}

.page-str #top,
.page-str #how,
.page-str #services,
.page-str #pricing,
.page-str #faq {
      scroll-margin-top: 70px
}

.page-str .center {
      text-align: center
}

.page-str .center .lede {
      margin-left: auto;
      margin-right: auto
}

.page-str .btn {
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-family: var(--body);
      font-weight: 600;
      font-size: 15.5px;
      padding: 13px 22px;
      border-radius: 999px;
      border: 1px solid transparent;
      cursor: pointer;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
      white-space: nowrap;
}

.page-str .btn .arr {
      transition: transform .18s ease
}

.page-str .btn:hover .arr {
      transform: translateX(3px)
}

.page-str .btn-primary {
      background: var(--orange);
      color: #fff;
      box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
}

.page-str .btn-primary:hover {
      background: var(--orange-600);
      transform: translateY(-1px)
}

.page-str .btn-ghost {
      background: transparent;
      color: var(--ink);
      border-color: var(--line-strong)
}

.page-str .btn-ghost:hover {
      border-color: var(--ink);
      background: #fff
}

.page-str .btn-on-dark {
      background: #fff;
      color: var(--ink)
}

.page-str .btn-on-dark:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5)
}

.page-str .btn-outline-dark {
      background: transparent;
      color: #fff;
      border-color: rgba(255, 255, 255, .28)
}

.page-str .btn-outline-dark:hover {
      border-color: #fff;
      background: rgba(255, 255, 255, .06)
}

.page-str header.nav {
      position: sticky;
      top: 0;
      z-index: 50;
      background: var(--paper);
      border-bottom: 1px solid var(--line)
}

.page-str .nav-in {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 70px
}

.page-str .nav-logo {
      height: 30px;
      width: auto
}

.page-str .nav-links {
      display: flex;
      align-items: center;
      gap: 30px
}

.page-str .nav-links a.lnk {
      font-size: 14.5px;
      color: var(--slate);
      font-weight: 500
}

.page-str .nav-links a.lnk:hover {
      color: var(--ink)
}

.page-str .nav-links a.lnk[aria-current="page"] {
      color: var(--orange);
      font-weight: 600
}

.page-str .nav-links a.lnk[aria-current="page"]::after {
      right: 0
}

.page-str .nav-links .menu-cta-row {
      display: none
}

.page-str .nav-cta {
      display: flex;
      align-items: center;
      gap: 14px
}

.page-str .menu-btn {
      display: none;
      background: none;
      border: 1px solid var(--line-strong);
      border-radius: 11px;
      padding: 11px 12px;
      cursor: pointer
}

.page-str .menu-btn span {
      display: block;
      width: 18px;
      height: 2px;
      background: var(--ink);
      margin: 3px 0;
      border-radius: 2px;
      transition: transform .25s ease, opacity .2s ease
}

.page-str .menu-btn[aria-expanded="true"] span:nth-child(1) {
      transform: translateY(5px) rotate(45deg)
}

.page-str .menu-btn[aria-expanded="true"] span:nth-child(2) {
      opacity: 0
}

.page-str .menu-btn[aria-expanded="true"] span:nth-child(3) {
      transform: translateY(-5px) rotate(-45deg)
}

.page-str .hero {
      position: relative;
      background:
            radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .18), transparent 60%),
            linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #fff;
      overflow: hidden;
      isolation: isolate
}

.page-str .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, #000, transparent 92%);
}

.page-str .hero-in {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 54px;
      align-items: center;
      padding: 56px var(--gutter) 64px
}

.page-str .pill {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .16);
      padding: 7px 14px;
      border-radius: 999px;
      font-size: 13px;
      color: #dbe6f0;
      font-weight: 500
}

.page-str .pill .dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--orange);
      box-shadow: 0 0 0 4px rgba(244, 142, 55, .25)
}

.page-str .hero h1 {
      color: #fff;
      font-size: clamp(38px, 5.2vw, 62px);
      font-weight: 800;
      margin: 22px 0 0;
      letter-spacing: -.025em
}

.page-str .hero h1 .em {
      color: var(--orange);
      position: relative;
      white-space: nowrap
}

.page-str .hero h1 .nowrap {
      white-space: nowrap
}

.page-str .hero p.sub {
      color: #bcccdb;
      font-size: clamp(16px, 1.8vw, 19px);
      margin: 20px 0 30px;
      max-width: 46ch
}

.page-str .hero-actions {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      align-items: center
}

.page-str .hero-actions .note {
      font-size: 13px;
      color: #9fb3c6;
      font-family: var(--mono)
}

.page-str .integ {
      margin-top: 38px;
      border-top: 1px solid rgba(255, 255, 255, .12);
      padding-top: 18px
}

.page-str .integ .lbl {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #8aa0b4
}

.page-str .integ .row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 18px;
      margin-top: 12px
}

.page-str .integ .row span {
      font-family: var(--mono);
      font-size: 13px;
      color: #cdd9e5;
      font-weight: 500
}

.page-str .integ .row span b {
      color: var(--orange);
      font-weight: 600
}

.page-str .ledger {
      background: #fff;
      color: var(--ink);
      border-radius: 18px;
      box-shadow: var(--shadow-lg);
      border: 1px solid rgba(255, 255, 255, .5);
      overflow: hidden;
      position: relative
}

.page-str .ledger .lh {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 18px;
      border-bottom: 1px solid var(--line)
}

.page-str .ledger .lh .tag {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--orange-600);
      font-weight: 600
}

.page-str .ledger .lh .per {
      font-family: var(--mono);
      font-size: 12px;
      color: var(--slate)
}

.page-str .ledger .body {
      padding: 18px
}

.page-str .ledger .prop {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 14px
}

.page-str .ledger .prop .name {
      font-weight: 700;
      font-size: 15px
}

.page-str .ledger .prop .type {
      font-family: var(--mono);
      font-size: 11px;
      color: var(--slate);
      background: var(--panel-2);
      padding: 3px 9px;
      border-radius: 999px
}

.page-str .lrow {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 11px 0;
      border-bottom: 1px dashed var(--line)
}

.page-str .lrow .k {
      color: var(--slate);
      font-size: 14px
}

.page-str .lrow .v {
      font-family: var(--mono);
      font-weight: 500;
      font-size: 14.5px
}

.page-str .lrow.flag {
      border-bottom: none
}

.page-str .lrow.flag .k {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--orange-600);
      font-weight: 600;
      font-size: 14px
}

.page-str .lrow.flag .v {
      color: var(--orange-600);
      font-weight: 600
}

.page-str .warn {
      width: 18px;
      height: 18px;
      flex: none
}

.page-str .resolved {
      margin-top: 14px;
      display: flex;
      align-items: center;
      gap: 9px;
      background: rgba(22, 128, 86, .08);
      border: 1px solid rgba(22, 128, 86, .2);
      color: #157a52;
      border-radius: 11px;
      padding: 11px 13px;
      font-size: 13.5px;
      font-weight: 600
}

.page-str .resolved svg {
      flex: none
}

.page-str .chip {
      position: absolute;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 12px;
      box-shadow: var(--shadow);
      padding: 10px 13px;
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 12.5px;
      color: var(--ink);
      z-index: 3
}

.page-str .chip .ic {
      width: 30px;
      height: 30px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      flex: none
}

.page-str .chip .ic.green {
      background: rgba(22, 128, 86, .12);
      color: #157a52
}

.page-str .chip .ic.orange {
      background: var(--orange-tint);
      color: var(--orange-600)
}

.page-str .chip small {
      display: block;
      font-family: var(--mono);
      font-size: 10.5px;
      color: var(--slate);
      letter-spacing: .02em;
      margin-top: 1px
}

.page-str .chip b {
      font-weight: 600
}

.page-str .chip-a {
      top: -40px;
      left: -30px
}

.page-str .chip-b {
      bottom: -26px;
      right: -22px
}

.page-str .hero-card-wrap {
      position: relative
}

.page-str .steps {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 26px;
      margin-top: 54px
}

.page-str .steps::before {
      content: "";
      position: absolute;
      top: 24px;
      left: 6%;
      right: 6%;
      height: 2px;
      background-image: repeating-linear-gradient(90deg, var(--line-strong) 0 7px, transparent 7px 14px)
}

.page-str .step {
      position: relative
}

.page-str .step .num {
      width: 50px;
      height: 50px;
      border-radius: 14px;
      background: var(--ink);
      color: #fff;
      display: grid;
      place-items: center;
      font-family: var(--mono);
      font-weight: 600;
      font-size: 16px;
      position: relative;
      z-index: 2;
      box-shadow: 0 8px 18px -8px rgba(17, 53, 85, .6)
}

.page-str .step:nth-child(3) .num {
      background: var(--orange);
      box-shadow: 0 8px 18px -8px rgba(244, 142, 55, .7)
}

.page-str .step h3 {
      font-size: 18px;
      margin: 18px 0 8px;
      letter-spacing: -.01em
}

.page-str .step p {
      font-size: 14.5px;
      color: var(--slate)
}

.page-str .grid-svc {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
      margin-top: 48px
}

.page-str .card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 24px;
      position: relative;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease
}

.page-str .card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
      border-color: var(--line-strong)
}

.page-str .card .ic {
      width: 42px;
      height: 42px;
      border-radius: 11px;
      background: var(--ink);
      display: grid;
      place-items: center;
      margin-bottom: 16px
}

.page-str .card .ic svg {
      stroke: #fff
}

.page-str .card.feat .ic {
      background: var(--orange)
}

.page-str .card .tag {
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .13em;
      text-transform: uppercase;
      color: var(--slate-2);
      font-weight: 600;
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 3px 9px;
      position: absolute;
      top: 22px;
      right: 22px
}

.page-str .card.feat .tag {
      color: var(--orange-600);
      border-color: rgba(244, 142, 55, .35);
      background: var(--orange-tint)
}

.page-str .card h3 {
      font-size: 17px;
      letter-spacing: -.01em;
      margin-bottom: 8px;
      padding-right: 70px
}

.page-str .card p {
      font-size: 14px;
      color: var(--slate);
      line-height: 1.55
}

.page-str .pricing-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-top: 50px;
      align-items: stretch
}

.page-str .plan {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 20px;
      padding: 30px 26px;
      position: relative;
      display: flex;
      flex-direction: column
}

.page-str .plan.hot {
      border: 1.5px solid var(--orange);
      box-shadow: 0 30px 60px -30px rgba(244, 142, 55, .45);
      overflow: visible
}

.page-str .plan .flagtop {
      position: absolute;
      top: -13px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--orange);
      color: #fff;
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .14em;
      text-transform: uppercase;
      font-weight: 600;
      padding: 5px 14px;
      border-radius: 999px;
      white-space: nowrap
}

.page-str .plan .pname {
      font-family: var(--display);
      font-weight: 700;
      font-size: 22px
}

.page-str .plan .pdesc {
      color: var(--slate);
      font-size: 13.5px;
      margin: 6px 0 18px;
      min-height: 38px
}

.page-str .plan .price {
      display: flex;
      align-items: baseline;
      gap: 8px
}

.page-str .plan .price .amt {
      font-family: var(--display);
      font-weight: 800;
      font-size: 46px;
      letter-spacing: -.03em
}

.page-str .plan .price .per {
      font-family: var(--mono);
      font-size: 12.5px;
      color: var(--slate)
}

.page-str .plan .pdiv {
      height: 1px;
      background: var(--line);
      margin: 20px 0
}

.page-str .plan ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 11px;
      margin-bottom: 24px;
      flex: 1
}

.page-str .plan li {
      display: flex;
      gap: 10px;
      font-size: 14px;
      color: #36475a;
      line-height: 1.45
}

.page-str .plan li svg {
      flex: none;
      margin-top: 3px
}

.page-str .plan .grp {
      font-size: 13px;
      font-weight: 600;
      color: var(--ink);
      margin-bottom: 2px
}

.page-str .plan .btn {
      width: 100%;
      justify-content: center
}

.page-str .addon {
      margin-top: 22px;
      background: var(--ink-900);
      color: #fff;
      border-radius: 20px;
      padding: 30px;
      background-image: radial-gradient(700px 300px at 90% -20%, rgba(244, 142, 55, .18), transparent 60%), linear-gradient(160deg, var(--ink-900), var(--ink-950))
}

.page-str .addon .ah {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 20px
}

.page-str .addon .ah h3 {
      color: #fff;
      font-size: 20px
}

.page-str .addon .ah p {
      color: #a9bccd;
      font-size: 13.5px
}

.page-str .addon-rows {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px
}

.page-str .addon-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      background: rgba(255, 255, 255, .05);
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 13px;
      padding: 16px 18px
}

.page-str .addon-row .l b {
      font-size: 15px;
      display: block
}

.page-str .addon-row .l small {
      color: #9fb3c6;
      font-size: 12.5px
}

.page-str .addon-row .r {
      text-align: right;
      white-space: nowrap
}

.page-str .addon-row .r b {
      font-family: var(--mono);
      font-size: 18px;
      color: var(--orange)
}

.page-str .addon-row .r small {
      display: block;
      font-family: var(--mono);
      font-size: 10.5px;
      color: #9fb3c6
}

.page-str .faq {
      max-width: 820px;
      margin: 48px auto 0
}

.page-str .qa {
      border: 1px solid var(--line);
      border-radius: 14px;
      margin-bottom: 12px;
      background: #fff;
      overflow: hidden;
      transition: border-color .2s ease
}

.page-str .qa[open] {
      border-color: var(--line-strong);
      box-shadow: var(--shadow)
}

.page-str .qa summary {
      list-style: none;
      cursor: pointer;
      padding: 20px 22px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      font-weight: 600;
      font-size: 16px;
      color: var(--ink)
}

.page-str .qa summary::-webkit-details-marker {
      display: none
}

.page-str .qa summary .pm {
      flex: none;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      border: 1px solid var(--line-strong);
      display: grid;
      place-items: center;
      transition: transform .2s ease, background .2s ease
}

.page-str .qa[open] summary .pm {
      transform: rotate(45deg);
      background: var(--orange);
      border-color: var(--orange)
}

.page-str .qa[open] summary .pm svg {
      stroke: #fff
}

.page-str .qa .ans {
      padding: 0 22px 22px;
      color: var(--slate);
      font-size: 15px;
      line-height: 1.6
}

.page-str .cta-band {
      position: relative;
      color: #fff;
      text-align: center;
      overflow: hidden;
      background: radial-gradient(800px 400px at 50% -30%, rgba(244, 142, 55, .22), transparent 60%), linear-gradient(160deg, var(--ink), var(--ink-950))
}

.page-str .cta-band::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, transparent, #000 50%, transparent)
}

.page-str .cta-band::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background-image: radial-gradient(rgba(255, 255, 255, .16) 1.5px, transparent 1.6px);
      background-size: 22px 22px;
      mask-image: radial-gradient(90% 130% at 88% -10%, #000 10%, transparent 62%)
}

.page-str .cta-band .inner {
      position: relative;
      z-index: 1;
      padding: 62px 24px
}

.page-str .cta-mark {
      height: 46px;
      margin: 0 auto 22px;
      width: auto;
      opacity: .95
}

.page-str .cta-band h2 {
      color: #fff;
      font-size: clamp(28px, 3.6vw, 42px);
      max-width: 20ch;
      margin: 0 auto 14px
}

.page-str .cta-band p {
      color: #bcccdb;
      max-width: 52ch;
      margin: 0 auto 28px
}

.page-str footer.ft {
      background:
            radial-gradient(1300px 680px at 80% 118%, rgba(244, 142, 55, .55), transparent 64%),
            radial-gradient(900px 480px at 14% 112%, rgba(244, 142, 55, .26), transparent 60%),
            radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .24), transparent 60%),
            linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #9fb3c6;
      padding: 64px 0 30px
}

.page-str .ft-top {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1fr;
      gap: 40px;
      padding-bottom: 42px;
      border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.page-str .ft-logo {
      height: 30px;
      width: auto;
      margin-bottom: 16px
}

.page-str .ft-top p.blurb {
      font-size: 14px;
      max-width: 38ch;
      line-height: 1.6
}

.page-str .ft-col h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #7e93a7;
      margin-bottom: 16px;
      font-weight: 500
}

.page-str .ft-col a,
.page-str .ft-col span {
      display: block;
      font-size: 14.5px;
      color: #c2d0dd;
      margin-bottom: 10px
}

.page-str .ft-col a:hover {
      color: #fff
}

.page-str .ft-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      padding-top: 24px;
      font-size: 13px;
      color: #7e93a7
}

.page-str .ft-bottom .links a {
      margin-left: 18px;
      color: #9fb3c6
}

.page-str .ft-bottom .links a:hover {
      color: #fff
}

.page-str .rv {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1)
}

.page-str .rv.in {
      opacity: 1;
      transform: none
}

.page-str header.nav {
      transition: box-shadow .25s ease, background .25s ease
}

.page-str header.nav.scrolled {
      box-shadow: 0 1px 0 var(--line), 0 10px 28px -18px rgba(11, 36, 56, .28)
}

.page-str .nav-links a.lnk {
      position: relative
}

.page-str .nav-links a.lnk::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: -5px;
      height: 2px;
      background: var(--orange);
      transition: right .28s cubic-bezier(.2, .7, .2, 1)
}

.page-str .nav-links a.lnk:hover::after {
      right: 0
}

.page-str .pill .dot {
      animation: pulse 2.6s ease-out infinite
}

.page-str .js-anim .ledger .body>* {
      opacity: 0
}

.page-str .js-anim.ready .ledger .body>* {
      animation: rowin .5s ease both
}

.page-str .js-anim.ready .ledger .body>*:nth-child(1) {
      animation-delay: 0s
}

.page-str .js-anim.ready .ledger .body>*:nth-child(2) {
      animation-delay: .10s
}

.page-str .js-anim.ready .ledger .body>*:nth-child(3) {
      animation-delay: .20s
}

.page-str .js-anim.ready .ledger .body>*:nth-child(4) {
      animation-delay: .32s
}

.page-str .js-anim.ready .ledger .body>*:nth-child(5) {
      animation: popin .55s cubic-bezier(.2, .8, .2, 1) .85s both
}

.page-str .ledger::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 4;
      background: linear-gradient(115deg, transparent 42%, rgba(244, 142, 55, .14) 50%, transparent 58%);
      transform: translateX(-130%)
}

.page-str .js-anim.ready .ledger::after {
      animation: sweep 1.15s ease .15s 1
}

.page-str .js-anim .chip {
      opacity: 0
}

.page-str .js-anim.ready .chip-a {
      animation: chipin .6s ease .55s both, floaty 6s ease-in-out 1.3s infinite
}

.page-str .js-anim.ready .chip-b {
      animation: chipin .6s ease .7s both, floaty 7s ease-in-out 1.6s infinite
}

@media (max-width:980px) {
      .page-str .wrap.wrap {
            padding-left: 20px;
            padding-right: 20px
      }

      .page-str .hero-in {
            grid-template-columns: 1fr;
            gap: 48px;
            padding: 60px 20px 80px
      }

      .page-str .hero-actions {
            flex-wrap: nowrap;
            gap: 10px
      }

      .page-str .hero-actions .btn {
            flex: 1 1 0;
            min-width: 0;
            justify-content: center;
            padding: 13px 10px;
            font-size: 14px
      }

      .page-str .steps {
            grid-template-columns: repeat(2, 1fr);
            gap: 34px 24px
      }

      .page-str .steps::before {
            display: none
      }

      .page-str .grid-svc {
            grid-template-columns: repeat(2, 1fr)
      }

      .page-str .pricing-grid {
            grid-template-columns: 1fr;
            max-width: 460px;
            margin-left: auto;
            margin-right: auto
      }

      .page-str .addon-rows {
            grid-template-columns: 1fr
      }

      .page-str .ft-top {
            grid-template-columns: 1fr 1fr
      }

      .page-str .nav-links {
            display: none
      }

      .page-str .menu-btn {
            display: block
      }

      .page-str .nav-cta .btn-ghost,
      .page-str .nav-cta .btn-primary {
            display: none
      }

      .page-str .nav-links.open {
            display: flex;
            position: absolute;
            top: 70px;
            left: 0;
            right: 0;
            flex-direction: column;
            background: var(--paper);
            padding: 18px 24px 22px;
            gap: 6px;
            border-bottom: 1px solid var(--line);
            align-items: stretch;
            box-shadow: 0 18px 36px -20px rgba(11, 36, 56, .4)
      }

      .page-str .nav-links.open a.lnk {
            font-size: 16px;
            color: var(--ink);
            padding: 12px 4px;
            border-bottom: 1px solid var(--line)
      }

      .page-str .nav-links.open a.lnk:last-of-type {
            border-bottom: none
      }

      .page-str .nav-links.open a.lnk::after {
            display: none
      }

      .page-str .nav-links.open .menu-cta-row {
            display: flex;
            gap: 10px;
            margin-top: 12px
      }

      .page-str .nav-links.open .menu-cta-row a {
            flex: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .4em;
            font-family: var(--body);
            font-weight: 600;
            font-size: 14.5px;
            padding: 13px 10px;
            border-radius: 999px;
            white-space: nowrap
      }

      .page-str .nav-links.open .lnk-cta-ghost {
            border: 1px solid var(--line-strong);
            color: var(--ink)
      }

      .page-str .nav-links.open .lnk-cta {
            background: var(--orange);
            color: #fff;
            box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
      }
}

@media (max-width:560px) {
      .page-str .section {
            padding: 44px 0
      }

      .page-str .award {
            width: 100%;
            min-width: 0
      }

      .page-str .grid-svc {
            grid-template-columns: 1fr
      }

      .page-str .chip-a {
            left: -8px;
            top: -16px
      }

      .page-str .chip-b {
            right: -6px
      }

      .page-str .ft-top {
            grid-template-columns: 1fr
      }

      .page-str .nav-logo {
            height: 26px
      }
}

@media (prefers-reduced-motion:reduce) {
      .page-str * {
            scroll-behavior: auto !important
      }

      .page-str .rv {
            transition: none;
            opacity: 1;
            transform: none
      }

      .page-str .btn,
      .page-str .card,
      .page-str .btn .arr {
            transition: none
      }

      .page-str .pill .dot {
            animation: none
      }

      .page-str .js-anim .ledger .body>*,
      .page-str .js-anim .chip {
            opacity: 1 !important;
            animation: none !important
      }

      .page-str .ledger::after {
            display: none
      }
}

.page-str #str-top,
.page-str #str-benefits,
.page-str #str-how,
.page-str #str-portfolio,
.page-str #str-related,
.page-str #str-dive,
.page-str #str-awards,
.page-str #str-faq {
      scroll-margin-top: 70px
}

.page-str .lhero {
      position: relative;
      overflow: hidden;
      color: #fff;
      border-bottom: 1px solid rgba(255, 255, 255, .1);
      background:
            radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .18), transparent 60%),
            linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
}

.page-str .lhero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, #000, transparent 92%)
}

.page-str .lhero::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background-image: radial-gradient(rgba(255, 255, 255, .16) 1.5px, transparent 1.6px);
      background-size: 22px 22px;
      mask-image: radial-gradient(80% 120% at 90% 0%, #000 8%, transparent 60%)
}

.page-str .lhero-in {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 50px var(--gutter) 58px
}

.page-str .lpill {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .16);
      padding: 7px 15px;
      border-radius: 999px;
      font-size: 13px;
      color: #dbe6f0;
      font-weight: 500
}

.page-str .lpill .dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--orange);
      box-shadow: 0 0 0 4px rgba(244, 142, 55, .25);
      animation: pulse 2.6s ease-out infinite
}

.page-str .lhero-h1 {
      font-family: var(--display);
      font-weight: 800;
      color: #fff;
      font-size: clamp(38px, 6vw, 66px);
      letter-spacing: -.03em;
      line-height: 1.03;
      margin: 24px 0 0;
      max-width: 15ch
}

.page-str .lhero-h1 .em {
      color: var(--orange)
}

.page-str .lhero-sub {
      color: #bcccdb;
      font-size: clamp(16px, 1.8vw, 19px);
      line-height: 1.6;
      margin: 20px 0 30px;
      max-width: 62ch
}

.page-str .lhero-actions {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      justify-content: center
}

.page-str .lhero-actions .btn-ghost {
      background: transparent;
      color: #fff;
      border-color: rgba(255, 255, 255, .28)
}

.page-str .lhero-actions .btn-ghost:hover {
      border-color: #fff;
      background: rgba(255, 255, 255, .06)
}

.page-str .pipeline {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 16px;
      width: 100%;
      max-width: 920px;
      margin: 58px auto 0;
      text-align: left
}

.page-str .pipeline::before {
      content: "";
      position: absolute;
      top: 37px;
      left: 12%;
      right: 12%;
      height: 2px;
      z-index: 0;
      background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, .22) 0 7px, transparent 7px 14px)
}

.page-str .pl-step {
      position: relative;
      z-index: 1;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 18px 18px 20px;
      box-shadow: 0 1px 2px rgba(11, 36, 56, .05);
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease
}

.page-str .pl-step:hover {
      transform: translateY(-3px);
      box-shadow: var(--shadow);
      border-color: var(--line-strong)
}

.page-str .pl-ic {
      width: 40px;
      height: 40px;
      border-radius: 11px;
      background: var(--ink);
      display: grid;
      place-items: center;
      margin-bottom: 14px
}

.page-str .pl-ic svg {
      stroke: #fff
}

.page-str .pl-step:nth-child(4) .pl-ic {
      background: var(--orange)
}

.page-str .pl-step b {
      font-family: var(--display);
      font-weight: 700;
      font-size: 15.5px;
      color: var(--ink)
}

.page-str .pl-step small {
      display: block;
      font-size: 12.5px;
      color: var(--slate);
      margin-top: 4px;
      line-height: 1.45
}

.page-str .lhero-integ {
      margin-top: 44px
}

.page-str .lhero-integ .lbl {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #8aa0b4
}

.page-str .lhero-integ .row {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 8px 18px;
      margin-top: 12px
}

.page-str .lhero-integ .row span {
      font-family: var(--mono);
      font-size: 13.5px;
      color: #cdd9e5;
      font-weight: 500
}

.page-str .lhero-integ .row span b {
      color: var(--orange);
      font-weight: 600
}

@media (max-width:720px) {
      .page-str .pipeline {
            grid-template-columns: 1fr 1fr;
            gap: 12px;
            margin-top: 44px
      }

      .page-str .pipeline::before {
            display: none
      }

      .page-str .lhero-in {
            padding: 38px 0 46px
      }
}

@media (max-width:420px) {
      .page-str .pipeline {
            grid-template-columns: 1fr
      }
}

.page-str .grid-ben {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-top: 48px;
      text-align: left
}

.page-str .ben {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 26px 24px;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease
}

.page-str .ben:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
      border-color: var(--line-strong)
}

.page-str .ben .ic {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      background: var(--ink);
      display: grid;
      place-items: center;
      margin-bottom: 16px
}

.page-str .ben:nth-child(3n-1) .ic {
      background: var(--orange)
}

.page-str .ben .ic svg {
      stroke: #fff
}

.page-str .ben h3 {
      font-size: 18px;
      letter-spacing: -.01em;
      margin-bottom: 8px
}

.page-str .ben p {
      font-size: 14.5px;
      color: var(--slate);
      line-height: 1.55
}

.page-str .featurerow {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 56px;
      align-items: center;
      margin-top: 64px
}

.page-str .featurerow.flip .fr-visual {
      order: -1
}

.page-str .featurerow .fr-copy h3 {
      font-size: clamp(22px, 2.6vw, 30px);
      letter-spacing: -.02em;
      margin: 14px 0 12px
}

.page-str .featurerow .fr-copy p.lede {
      margin-bottom: 18px
}

.page-str .checklist {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 12px
}

.page-str .checklist li {
      display: flex;
      gap: 11px;
      font-size: 15px;
      color: #36475a;
      line-height: 1.5
}

.page-str .checklist li svg {
      flex: none;
      margin-top: 3px
}

.page-str .fr-visual {
      position: relative
}

.page-str .panelcard {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 18px;
      box-shadow: var(--shadow);
      padding: 22px;
      position: relative;
      overflow: hidden
}

.page-str .panelcard.dark {
      background: var(--ink-900);
      color: #fff;
      border-color: rgba(255, 255, 255, .1);
      background-image: radial-gradient(600px 260px at 90% -20%, rgba(244, 142, 55, .18), transparent 60%), linear-gradient(160deg, var(--ink-900), var(--ink-950))
}

.page-str .pc-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-bottom: 14px;
      margin-bottom: 14px;
      border-bottom: 1px solid var(--line)
}

.page-str .panelcard.dark .pc-head {
      border-color: rgba(255, 255, 255, .12)
}

.page-str .pc-head .t {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--orange-600);
      font-weight: 600
}

.page-str .panelcard.dark .pc-head .t {
      color: #f6b27a
}

.page-str .pc-head .s {
      font-family: var(--mono);
      font-size: 12px;
      color: var(--slate)
}

.page-str .panelcard.dark .pc-head .s {
      color: #9fb3c6
}

.page-str .pc-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 11px 0;
      border-bottom: 1px dashed var(--line);
      font-size: 14.5px
}

.page-str .panelcard.dark .pc-row {
      border-color: rgba(255, 255, 255, .1)
}

.page-str .pc-row:last-child {
      border-bottom: none
}

.page-str .pc-row .k {
      color: var(--slate)
}

.page-str .panelcard.dark .pc-row .k {
      color: #bcccdb
}

.page-str .pc-row .v {
      font-family: var(--mono);
      font-weight: 500
}

.page-str .pc-row .v.ok {
      color: #157a52
}

.page-str .panelcard.dark .pc-row .v.ok {
      color: #4ecf9a
}

.page-str .pc-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-family: var(--mono);
      font-size: 11px;
      font-weight: 600;
      padding: 4px 10px;
      border-radius: 999px;
      background: var(--orange-tint);
      color: var(--orange-600)
}

.page-str .stat-row {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-top: 44px
}

.page-str .stat {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 24px;
      text-align: center
}

.page-str .stat .big {
      font-family: var(--display);
      font-weight: 800;
      font-size: clamp(30px, 4vw, 42px);
      letter-spacing: -.03em;
      color: var(--ink)
}

.page-str .stat .big .accent {
      color: var(--orange)
}

.page-str .stat .cap {
      font-size: 13.5px;
      color: var(--slate);
      margin-top: 6px
}

@media (max-width:980px) {
      .page-str .grid-ben {
            grid-template-columns: repeat(2, 1fr)
      }

      .page-str .featurerow {
            grid-template-columns: 1fr;
            gap: 32px;
            margin-top: 52px
      }

      .page-str .featurerow.flip .fr-visual {
            order: 0
      }

      .page-str .stat-row {
            grid-template-columns: 1fr
      }
}

@media (max-width:560px) {
      .page-str .grid-ben {
            grid-template-columns: 1fr
      }
}

.page-str .related {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 20px;
      margin-top: 48px;
      text-align: left
}

.page-str .rel {
      display: flex;
      flex-direction: column;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 28px;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease
}

.page-str .rel:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
      border-color: var(--line-strong)
}

.page-str .rel .ic {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      background: var(--orange);
      display: grid;
      place-items: center;
      margin-bottom: 18px
}

.page-str .rel .ic svg {
      stroke: #fff
}

.page-str .rel h3 {
      font-size: 19px;
      letter-spacing: -.01em;
      margin-bottom: 8px
}

.page-str .rel p {
      font-size: 14.5px;
      color: var(--slate);
      line-height: 1.55;
      flex: 1
}

.page-str .rel .go {
      display: inline-flex;
      align-items: center;
      gap: .5em;
      margin-top: 18px;
      font-weight: 600;
      font-size: 14.5px;
      color: var(--orange-600)
}

.page-str .rel .go .arr {
      transition: transform .18s ease
}

.page-str .rel:hover .go .arr {
      transform: translateX(3px)
}

.page-str .dive {
      display: grid;
      grid-template-columns: 1fr 1.15fr;
      gap: 44px;
      align-items: start;
      text-align: left
}

.page-str .dive .explore h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--slate-2);
      font-weight: 500;
      margin-bottom: 14px
}

.page-str .dive .explore a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding: 16px 4px;
      border-bottom: 1px solid var(--line);
      font-size: 15.5px;
      font-weight: 500;
      color: var(--ink);
      transition: color .2s ease, padding .2s ease
}

.page-str .dive .explore a:hover {
      color: var(--orange-600);
      padding-left: 8px
}

.page-str .dive .explore a .arr {
      color: var(--orange);
      transition: transform .18s ease
}

.page-str .dive .explore a:hover .arr {
      transform: translateX(3px)
}

.page-str .awards {
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
      justify-content: center;
      gap: 16px;
      margin-top: 44px
}

.page-str .award {
      display: flex;
      align-items: center;
      gap: 13px;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 16px 20px;
      min-width: 210px;
      text-align: left
}

.page-str .award .badge {
      width: 40px;
      height: 40px;
      border-radius: 10px;
      background: var(--panel-2);
      display: grid;
      place-items: center;
      flex: none
}

.page-str .award .badge svg {
      stroke: var(--orange-600)
}

.page-str .award b {
      display: block;
      font-size: 14px;
      color: var(--ink)
}

.page-str .award small {
      font-size: 12px;
      color: var(--slate);
      font-family: var(--mono)
}

@media (max-width:980px) {
      .page-str .related {
            grid-template-columns: 1fr
      }

      .page-str .dive {
            grid-template-columns: 1fr;
            gap: 28px
      }
}

/* ===================== tax-lookup.html  (.page-lookup) ===================== */
body.page-lookup {
      --ink: #113554;

      --ink-900: #0B2438;

      --ink-950: #07192a;

      --orange: #f48e37;

      --orange-600: #de7a1e;
      --orange-tint: rgba(244, 142, 55, 0.12);
      --paper: #FAFBFC;

      --panel: #FFFFFF;
      --panel-2: #F2F5F8;

      --slate: #56697B;

      --slate-2: #7E8EA0;
      --line: rgba(17, 53, 85, 0.12);
      --line-strong: rgba(17, 53, 85, 0.22);
      --ring: rgba(244, 142, 55, 0.55);
      --shadow: 0 1px 2px rgba(11, 36, 56, .06), 0 12px 32px -12px rgba(11, 36, 56, .18);
      --shadow-lg: 0 1px 2px rgba(11, 36, 56, .06), 0 30px 70px -28px rgba(11, 36, 56, .40);
      --r: 16px;
      --maxw: 1400px;
      /* --display: "DM Sans", system-ui, sans-serif; */
      /* --body: "Inter", system-ui, sans-serif; */
      --display: "Ubuntu", system-ui, sans-serif;
      --body: "Ubuntu", system-ui, sans-serif;
      --mono: "IBM Plex Mono", ui-monospace, monospace;
}

body.page-lookup {
      font-family: var(--body);
      color: var(--ink);
      background: var(--paper);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      overflow-x: clip;
}

.page-lookup a {
      color: inherit;
      text-decoration: none
}

.page-lookup img {
      display: block;
      max-width: 100%
}

.page-lookup .wrap {
      max-width: var(--maxw);
      margin: 0 auto;
      padding: 0 var(--gutter)
}

.page-lookup .eyebrow {
      font-family: var(--mono);
      font-size: 12px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--orange-600);
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-weight: 500;
}

.page-lookup .eyebrow::before {
      content: "//";
      color: var(--orange);
      font-weight: 600;
      letter-spacing: -.06em
}

.page-lookup .eyebrow.on-dark {
      color: #f6b27a
}

.page-lookup .eyebrow.on-dark::before {
      color: var(--orange)
}

.page-lookup h1,
.page-lookup h2,
.page-lookup h3 {
      font-family: var(--display);
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: -.02em;
      color: var(--ink)
}

.page-lookup .h2 {
      font-size: clamp(28px, 4vw, 46px);
      margin: 18px 0 14px
}

.page-lookup .h2 .accent {
      color: var(--orange)
}

.page-lookup .lede {
      font-size: clamp(16px, 1.7vw, 18px);
      color: var(--slate);
      max-width: 60ch
}

.page-lookup .section {
      padding: 60px 0
}

.page-lookup #top,
.page-lookup #how,
.page-lookup #services,
.page-lookup #pricing,
.page-lookup #faq {
      scroll-margin-top: 70px
}

.page-lookup .center {
      text-align: center
}

.page-lookup .center .lede {
      margin-left: auto;
      margin-right: auto
}

.page-lookup .btn {
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-family: var(--body);
      font-weight: 600;
      font-size: 15.5px;
      padding: 13px 22px;
      border-radius: 999px;
      border: 1px solid transparent;
      cursor: pointer;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
      white-space: nowrap;
}

.page-lookup .btn .arr {
      transition: transform .18s ease
}

.page-lookup .btn:hover .arr {
      transform: translateX(3px)
}

.page-lookup .btn-primary {
      background: var(--orange);
      color: #fff;
      box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
}

.page-lookup .btn-primary:hover {
      background: var(--orange-600);
      transform: translateY(-1px)
}

.page-lookup .btn-ghost {
      background: transparent;
      color: var(--ink);
      border-color: var(--line-strong)
}

.page-lookup .btn-ghost:hover {
      border-color: var(--ink);
      background: #fff
}

.page-lookup .btn-on-dark {
      background: #fff;
      color: var(--ink)
}

.page-lookup .btn-on-dark:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5)
}

.page-lookup .btn-outline-dark {
      background: transparent;
      color: #fff;
      border-color: rgba(255, 255, 255, .28)
}

.page-lookup .btn-outline-dark:hover {
      border-color: #fff;
      background: rgba(255, 255, 255, .06)
}

.page-lookup header.nav {
      position: sticky;
      top: 0;
      z-index: 50;
      background: var(--paper);
      border-bottom: 1px solid var(--line)
}

.page-lookup .nav-in {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 70px
}

.page-lookup .nav-logo {
      height: 30px;
      width: auto
}

.page-lookup .nav-links {
      display: flex;
      align-items: center;
      gap: 30px
}

.page-lookup .nav-links a.lnk {
      font-size: 14.5px;
      color: var(--slate);
      font-weight: 500
}

.page-lookup .nav-links a.lnk:hover {
      color: var(--ink)
}

.page-lookup .nav-links a.lnk[aria-current="page"] {
      color: var(--orange);
      font-weight: 600
}

.page-lookup .nav-links a.lnk[aria-current="page"]::after {
      right: 0
}

.page-lookup .nav-links .menu-cta-row {
      display: none
}

.page-lookup .nav-cta {
      display: flex;
      align-items: center;
      gap: 14px
}

.page-lookup .menu-btn {
      display: none;
      background: none;
      border: 1px solid var(--line-strong);
      border-radius: 11px;
      padding: 11px 12px;
      cursor: pointer
}

.page-lookup .menu-btn span {
      display: block;
      width: 18px;
      height: 2px;
      background: var(--ink);
      margin: 3px 0;
      border-radius: 2px;
      transition: transform .25s ease, opacity .2s ease
}

.page-lookup .menu-btn[aria-expanded="true"] span:nth-child(1) {
      transform: translateY(5px) rotate(45deg)
}

.page-lookup .menu-btn[aria-expanded="true"] span:nth-child(2) {
      opacity: 0
}

.page-lookup .menu-btn[aria-expanded="true"] span:nth-child(3) {
      transform: translateY(-5px) rotate(-45deg)
}

.page-lookup .hero {
      position: relative;
      background:
            radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .18), transparent 60%),
            linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #fff;
      overflow: hidden;
      isolation: isolate
}

.page-lookup .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, #000, transparent 92%);
}

.page-lookup .hero-in {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 54px;
      align-items: center;
      padding: 56px var(--gutter) 64px
}

.page-lookup .pill {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .16);
      padding: 7px 14px;
      border-radius: 999px;
      font-size: 13px;
      color: #dbe6f0;
      font-weight: 500
}

.page-lookup .pill .dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--orange);
      box-shadow: 0 0 0 4px rgba(244, 142, 55, .25)
}

.page-lookup .hero h1 {
      color: #fff;
      font-size: clamp(38px, 5.2vw, 62px);
      font-weight: 800;
      margin: 22px 0 0;
      letter-spacing: -.025em
}

.page-lookup .hero h1 .em {
      color: var(--orange);
      position: relative;
      white-space: nowrap
}

.page-lookup .hero h1 .nowrap {
      white-space: nowrap
}

.page-lookup .hero p.sub {
      color: #bcccdb;
      font-size: clamp(16px, 1.8vw, 19px);
      margin: 20px 0 30px;
      max-width: 46ch
}

.page-lookup .hero-actions {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      align-items: center
}

.page-lookup .hero-actions .note {
      font-size: 13px;
      color: #9fb3c6;
      font-family: var(--mono)
}

.page-lookup .integ {
      margin-top: 38px;
      border-top: 1px solid rgba(255, 255, 255, .12);
      padding-top: 18px
}

.page-lookup .integ .lbl {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #8aa0b4
}

.page-lookup .integ .row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 18px;
      margin-top: 12px
}

.page-lookup .integ .row span {
      font-family: var(--mono);
      font-size: 13px;
      color: #cdd9e5;
      font-weight: 500
}

.page-lookup .integ .row span b {
      color: var(--orange);
      font-weight: 600
}

.page-lookup .ledger {
      background: #fff;
      color: var(--ink);
      border-radius: 18px;
      box-shadow: var(--shadow-lg);
      border: 1px solid rgba(255, 255, 255, .5);
      overflow: hidden;
      position: relative
}

.page-lookup .ledger .lh {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 18px;
      border-bottom: 1px solid var(--line)
}

.page-lookup .ledger .lh .tag {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--orange-600);
      font-weight: 600
}

.page-lookup .ledger .lh .per {
      font-family: var(--mono);
      font-size: 12px;
      color: var(--slate)
}

.page-lookup .ledger .body {
      padding: 18px
}

.page-lookup .ledger .prop {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 14px
}

.page-lookup .ledger .prop .name {
      font-weight: 700;
      font-size: 15px
}

.page-lookup .ledger .prop .type {
      font-family: var(--mono);
      font-size: 11px;
      color: var(--slate);
      background: var(--panel-2);
      padding: 3px 9px;
      border-radius: 999px
}

.page-lookup .lrow {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 11px 0;
      border-bottom: 1px dashed var(--line)
}

.page-lookup .lrow .k {
      color: var(--slate);
      font-size: 14px
}

.page-lookup .lrow .v {
      font-family: var(--mono);
      font-weight: 500;
      font-size: 14.5px
}

.page-lookup .lrow.flag {
      border-bottom: none
}

.page-lookup .lrow.flag .k {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--orange-600);
      font-weight: 600;
      font-size: 14px
}

.page-lookup .lrow.flag .v {
      color: var(--orange-600);
      font-weight: 600
}

.page-lookup .warn {
      width: 18px;
      height: 18px;
      flex: none
}

.page-lookup .resolved {
      margin-top: 14px;
      display: flex;
      align-items: center;
      gap: 9px;
      background: rgba(22, 128, 86, .08);
      border: 1px solid rgba(22, 128, 86, .2);
      color: #157a52;
      border-radius: 11px;
      padding: 11px 13px;
      font-size: 13.5px;
      font-weight: 600
}

.page-lookup .resolved svg {
      flex: none
}

.page-lookup .chip {
      position: absolute;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 12px;
      box-shadow: var(--shadow);
      padding: 10px 13px;
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 12.5px;
      color: var(--ink);
      z-index: 3
}

.page-lookup .chip .ic {
      width: 30px;
      height: 30px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      flex: none
}

.page-lookup .chip .ic.green {
      background: rgba(22, 128, 86, .12);
      color: #157a52
}

.page-lookup .chip .ic.orange {
      background: var(--orange-tint);
      color: var(--orange-600)
}

.page-lookup .chip small {
      display: block;
      font-family: var(--mono);
      font-size: 10.5px;
      color: var(--slate);
      letter-spacing: .02em;
      margin-top: 1px
}

.page-lookup .chip b {
      font-weight: 600
}

.page-lookup .chip-a {
      top: -40px;
      left: -30px
}

.page-lookup .chip-b {
      bottom: -26px;
      right: -22px
}

.page-lookup .hero-card-wrap {
      position: relative
}

.page-lookup .steps {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 26px;
      margin-top: 54px
}

.page-lookup .steps::before {
      content: "";
      position: absolute;
      top: 24px;
      left: 6%;
      right: 6%;
      height: 2px;
      background-image: repeating-linear-gradient(90deg, var(--line-strong) 0 7px, transparent 7px 14px)
}

.page-lookup .step {
      position: relative
}

.page-lookup .step .num {
      width: 50px;
      height: 50px;
      border-radius: 14px;
      background: var(--ink);
      color: #fff;
      display: grid;
      place-items: center;
      font-family: var(--mono);
      font-weight: 600;
      font-size: 16px;
      position: relative;
      z-index: 2;
      box-shadow: 0 8px 18px -8px rgba(17, 53, 85, .6)
}

.page-lookup .step:nth-child(3) .num {
      background: var(--orange);
      box-shadow: 0 8px 18px -8px rgba(244, 142, 55, .7)
}

.page-lookup .step h3 {
      font-size: 18px;
      margin: 18px 0 8px;
      letter-spacing: -.01em
}

.page-lookup .step p {
      font-size: 14.5px;
      color: var(--slate)
}

.page-lookup .grid-svc {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
      margin-top: 48px
}

.page-lookup .card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 24px;
      position: relative;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease
}

.page-lookup .card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
      border-color: var(--line-strong)
}

.page-lookup .card .ic {
      width: 42px;
      height: 42px;
      border-radius: 11px;
      background: var(--ink);
      display: grid;
      place-items: center;
      margin-bottom: 16px
}

.page-lookup .card .ic svg {
      stroke: #fff
}

.page-lookup .card.feat .ic {
      background: var(--orange)
}

.page-lookup .card .tag {
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .13em;
      text-transform: uppercase;
      color: var(--slate-2);
      font-weight: 600;
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 3px 9px;
      position: absolute;
      top: 22px;
      right: 22px
}

.page-lookup .card.feat .tag {
      color: var(--orange-600);
      border-color: rgba(244, 142, 55, .35);
      background: var(--orange-tint)
}

.page-lookup .card h3 {
      font-size: 17px;
      letter-spacing: -.01em;
      margin-bottom: 8px;
      padding-right: 70px
}

.page-lookup .card p {
      font-size: 14px;
      color: var(--slate);
      line-height: 1.55
}

.page-lookup .pricing-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-top: 50px;
      align-items: stretch
}

.page-lookup .plan {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 20px;
      padding: 30px 26px;
      position: relative;
      display: flex;
      flex-direction: column
}

.page-lookup .plan.hot {
      border: 1.5px solid var(--orange);
      box-shadow: 0 30px 60px -30px rgba(244, 142, 55, .45);
      overflow: visible
}

.page-lookup .plan .flagtop {
      position: absolute;
      top: -13px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--orange);
      color: #fff;
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .14em;
      text-transform: uppercase;
      font-weight: 600;
      padding: 5px 14px;
      border-radius: 999px;
      white-space: nowrap
}

.page-lookup .plan .pname {
      font-family: var(--display);
      font-weight: 700;
      font-size: 22px
}

.page-lookup .plan .pdesc {
      color: var(--slate);
      font-size: 13.5px;
      margin: 6px 0 18px;
      min-height: 38px
}

.page-lookup .plan .price {
      display: flex;
      align-items: baseline;
      gap: 8px
}

.page-lookup .plan .price .amt {
      font-family: var(--display);
      font-weight: 800;
      font-size: 46px;
      letter-spacing: -.03em
}

.page-lookup .plan .price .per {
      font-family: var(--mono);
      font-size: 12.5px;
      color: var(--slate)
}

.page-lookup .plan .pdiv {
      height: 1px;
      background: var(--line);
      margin: 20px 0
}

.page-lookup .plan ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 11px;
      margin-bottom: 24px;
      flex: 1
}

.page-lookup .plan li {
      display: flex;
      gap: 10px;
      font-size: 14px;
      color: #36475a;
      line-height: 1.45
}

.page-lookup .plan li svg {
      flex: none;
      margin-top: 3px
}

.page-lookup .plan .grp {
      font-size: 13px;
      font-weight: 600;
      color: var(--ink);
      margin-bottom: 2px
}

.page-lookup .plan .btn {
      width: 100%;
      justify-content: center
}

.page-lookup .addon {
      margin-top: 22px;
      background: var(--ink-900);
      color: #fff;
      border-radius: 20px;
      padding: 30px;
      background-image: radial-gradient(700px 300px at 90% -20%, rgba(244, 142, 55, .18), transparent 60%), linear-gradient(160deg, var(--ink-900), var(--ink-950))
}

.page-lookup .addon .ah {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 20px
}

.page-lookup .addon .ah h3 {
      color: #fff;
      font-size: 20px
}

.page-lookup .addon .ah p {
      color: #a9bccd;
      font-size: 13.5px
}

.page-lookup .addon-rows {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px
}

.page-lookup .addon-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      background: rgba(255, 255, 255, .05);
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 13px;
      padding: 16px 18px
}

.page-lookup .addon-row .l b {
      font-size: 15px;
      display: block
}

.page-lookup .addon-row .l small {
      color: #9fb3c6;
      font-size: 12.5px
}

.page-lookup .addon-row .r {
      text-align: right;
      white-space: nowrap
}

.page-lookup .addon-row .r b {
      font-family: var(--mono);
      font-size: 18px;
      color: var(--orange)
}

.page-lookup .addon-row .r small {
      display: block;
      font-family: var(--mono);
      font-size: 10.5px;
      color: #9fb3c6
}

.page-lookup .faq {
      max-width: 820px;
      margin: 48px auto 0
}

.page-lookup .qa {
      border: 1px solid var(--line);
      border-radius: 14px;
      margin-bottom: 12px;
      background: #fff;
      overflow: hidden;
      transition: border-color .2s ease
}

.page-lookup .qa[open] {
      border-color: var(--line-strong);
      box-shadow: var(--shadow)
}

.page-lookup .qa summary {
      list-style: none;
      cursor: pointer;
      padding: 20px 22px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      font-weight: 600;
      font-size: 16px;
      color: var(--ink)
}

.page-lookup .qa summary::-webkit-details-marker {
      display: none
}

.page-lookup .qa summary .pm {
      flex: none;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      border: 1px solid var(--line-strong);
      display: grid;
      place-items: center;
      transition: transform .2s ease, background .2s ease
}

.page-lookup .qa[open] summary .pm {
      transform: rotate(45deg);
      background: var(--orange);
      border-color: var(--orange)
}

.page-lookup .qa[open] summary .pm svg {
      stroke: #fff
}

.page-lookup .qa .ans {
      padding: 0 22px 22px;
      color: var(--slate);
      font-size: 15px;
      line-height: 1.6
}

.page-lookup .cta-band {
      position: relative;
      color: #fff;
      text-align: center;
      overflow: hidden;
      background: radial-gradient(800px 400px at 50% -30%, rgba(244, 142, 55, .22), transparent 60%), linear-gradient(160deg, var(--ink), var(--ink-950))
}

.page-lookup .cta-band::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, transparent, #000 50%, transparent)
}

.page-lookup .cta-band::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background-image: radial-gradient(rgba(255, 255, 255, .16) 1.5px, transparent 1.6px);
      background-size: 22px 22px;
      mask-image: radial-gradient(90% 130% at 88% -10%, #000 10%, transparent 62%)
}

.page-lookup .cta-band .inner {
      position: relative;
      z-index: 1;
      padding: 62px 24px
}

.page-lookup .cta-mark {
      height: 46px;
      margin: 0 auto 22px;
      width: auto;
      opacity: .95
}

.page-lookup .cta-band h2 {
      color: #fff;
      font-size: clamp(28px, 3.6vw, 42px);
      max-width: 18ch;
      margin: 0 auto 14px
}

.page-lookup .cta-band p {
      color: #bcccdb;
      max-width: 52ch;
      margin: 0 auto 28px
}

.page-lookup footer.ft {
      background:
            radial-gradient(1300px 680px at 80% 118%, rgba(244, 142, 55, .55), transparent 64%),
            radial-gradient(900px 480px at 14% 112%, rgba(244, 142, 55, .26), transparent 60%),
            radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .24), transparent 60%),
            linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #9fb3c6;
      padding: 64px 0 30px
}

.page-lookup .ft-top {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1fr;
      gap: 40px;
      padding-bottom: 42px;
      border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.page-lookup .ft-logo {
      height: 30px;
      width: auto;
      margin-bottom: 16px
}

.page-lookup .ft-top p.blurb {
      font-size: 14px;
      max-width: 38ch;
      line-height: 1.6
}

.page-lookup .ft-col h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #7e93a7;
      margin-bottom: 16px;
      font-weight: 500
}

.page-lookup .ft-col a,
.page-lookup .ft-col span {
      display: block;
      font-size: 14.5px;
      color: #c2d0dd;
      margin-bottom: 10px
}

.page-lookup .ft-col a:hover {
      color: #fff
}

.page-lookup .ft-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      padding-top: 24px;
      font-size: 13px;
      color: #7e93a7
}

.page-lookup .ft-bottom .links a {
      margin-left: 18px;
      color: #9fb3c6
}

.page-lookup .ft-bottom .links a:hover {
      color: #fff
}

.page-lookup .rv {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1)
}

.page-lookup .rv.in {
      opacity: 1;
      transform: none
}

.page-lookup header.nav {
      transition: box-shadow .25s ease, background .25s ease
}

.page-lookup header.nav.scrolled {
      box-shadow: 0 1px 0 var(--line), 0 10px 28px -18px rgba(11, 36, 56, .28)
}

.page-lookup .nav-links a.lnk {
      position: relative
}

.page-lookup .nav-links a.lnk::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: -5px;
      height: 2px;
      background: var(--orange);
      transition: right .28s cubic-bezier(.2, .7, .2, 1)
}

.page-lookup .nav-links a.lnk:hover::after {
      right: 0
}

.page-lookup .pill .dot {
      animation: pulse 2.6s ease-out infinite
}

.page-lookup .js-anim .ledger .body>* {
      opacity: 0
}

.page-lookup .js-anim.ready .ledger .body>* {
      animation: rowin .5s ease both
}

.page-lookup .js-anim.ready .ledger .body>*:nth-child(1) {
      animation-delay: 0s
}

.page-lookup .js-anim.ready .ledger .body>*:nth-child(2) {
      animation-delay: .10s
}

.page-lookup .js-anim.ready .ledger .body>*:nth-child(3) {
      animation-delay: .20s
}

.page-lookup .js-anim.ready .ledger .body>*:nth-child(4) {
      animation-delay: .32s
}

.page-lookup .js-anim.ready .ledger .body>*:nth-child(5) {
      animation: popin .55s cubic-bezier(.2, .8, .2, 1) .85s both
}

.page-lookup .ledger::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 4;
      background: linear-gradient(115deg, transparent 42%, rgba(244, 142, 55, .14) 50%, transparent 58%);
      transform: translateX(-130%)
}

.page-lookup .js-anim.ready .ledger::after {
      animation: sweep 1.15s ease .15s 1
}

.page-lookup .js-anim .chip {
      opacity: 0
}

.page-lookup .js-anim.ready .chip-a {
      animation: chipin .6s ease .55s both, floaty 6s ease-in-out 1.3s infinite
}

.page-lookup .js-anim.ready .chip-b {
      animation: chipin .6s ease .7s both, floaty 7s ease-in-out 1.6s infinite
}

@media (max-width:980px) {
      .page-lookup .wrap.wrap {
            padding-left: 20px;
            padding-right: 20px
      }

      .page-lookup .tax-cols {
            grid-template-columns: 1fr !important;
            gap: 40px !important
      }

      .page-lookup .hero-in {
            grid-template-columns: 1fr;
            gap: 48px;
            padding: 60px 20px 80px
      }

      .page-lookup .hero-actions {
            flex-wrap: nowrap;
            gap: 10px
      }

      .page-lookup .hero-actions .btn {
            flex: 1 1 0;
            min-width: 0;
            justify-content: center;
            padding: 13px 10px;
            font-size: 14px
      }

      .page-lookup .steps {
            grid-template-columns: repeat(2, 1fr);
            gap: 34px 24px
      }

      .page-lookup .steps::before {
            display: none
      }

      .page-lookup .grid-svc {
            grid-template-columns: repeat(2, 1fr)
      }

      .page-lookup .pricing-grid {
            grid-template-columns: 1fr;
            max-width: 460px;
            margin-left: auto;
            margin-right: auto
      }

      .page-lookup .addon-rows {
            grid-template-columns: 1fr
      }

      .page-lookup .ft-top {
            grid-template-columns: 1fr 1fr
      }

      .page-lookup .nav-links {
            display: none
      }

      .page-lookup .menu-btn {
            display: block
      }

      .page-lookup .nav-cta .btn-ghost,
      .page-lookup .nav-cta .btn-primary {
            display: none
      }

      .page-lookup .nav-links.open {
            display: flex;
            position: absolute;
            top: 70px;
            left: 0;
            right: 0;
            flex-direction: column;
            background: var(--paper);
            padding: 18px 24px 22px;
            gap: 6px;
            border-bottom: 1px solid var(--line);
            align-items: stretch;
            box-shadow: 0 18px 36px -20px rgba(11, 36, 56, .4)
      }

      .page-lookup .nav-links.open a.lnk {
            font-size: 16px;
            color: var(--ink);
            padding: 12px 4px;
            border-bottom: 1px solid var(--line)
      }

      .page-lookup .nav-links.open a.lnk:last-of-type {
            border-bottom: none
      }

      .page-lookup .nav-links.open a.lnk::after {
            display: none
      }

      .page-lookup .nav-links.open .menu-cta-row {
            display: flex;
            gap: 10px;
            margin-top: 12px
      }

      .page-lookup .nav-links.open .menu-cta-row a {
            flex: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .4em;
            font-family: var(--body);
            font-weight: 600;
            font-size: 14.5px;
            padding: 13px 10px;
            border-radius: 999px;
            white-space: nowrap
      }

      .page-lookup .nav-links.open .lnk-cta-ghost {
            border: 1px solid var(--line-strong);
            color: var(--ink)
      }

      .page-lookup .nav-links.open .lnk-cta {
            background: var(--orange);
            color: #fff;
            box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
      }
}

@media (max-width:560px) {
      .page-lookup .section {
            padding: 44px 0
      }

      .page-lookup .grid-svc {
            grid-template-columns: 1fr
      }

      .page-lookup .chip-a {
            left: -8px;
            top: -16px
      }

      .page-lookup .chip-b {
            right: -6px
      }

      .page-lookup .ft-top {
            grid-template-columns: 1fr
      }

      .page-lookup .nav-logo {
            height: 26px
      }
}

@media (prefers-reduced-motion:reduce) {
      .page-lookup * {
            scroll-behavior: auto !important
      }

      .page-lookup .rv {
            transition: none;
            opacity: 1;
            transform: none
      }

      .page-lookup .btn,
      .page-lookup .card,
      .page-lookup .btn .arr {
            transition: none
      }

      .page-lookup .pill .dot {
            animation: none
      }

      .page-lookup .js-anim .ledger .body>*,
      .page-lookup .js-anim .chip {
            opacity: 1 !important;
            animation: none !important
      }

      .page-lookup .ledger::after {
            display: none
      }
}

.page-lookup .tax-input-wrap {
      position: relative;
      width: 100%;
      min-width: 0;
}

.page-lookup .tax-input {
      width: 100%;
      padding: 14px 16px;
      border: 1px solid #b3c0cb;
      border-radius: 4px;
      font-family: var(--body);
      font-size: 15px;
      color: var(--ink);
      background: #fff;
      outline: none;
      transition: border-color 0.2s;
}

.page-lookup .tax-input:focus {
      border-color: var(--orange);
      box-shadow: 0 0 0 2px var(--orange-tint);
}

.page-lookup .tax-input::placeholder {
      color: transparent;
}

.page-lookup .tax-input-select {
      color: #7E8EA0;
}

.page-lookup .tax-input:focus+.tax-ph,
.page-lookup .tax-input:not(:placeholder-shown)+.tax-ph {
      display: none;
}

.page-lookup .tax-ph {
      position: absolute;
      left: 17px;
      top: 15px;
      color: #7E8EA0;
      font-size: 15px;
      pointer-events: none;
}

.page-lookup .tax-asterisk {
      color: #e53e3e;
}

.page-lookup .tax-select-wrap {
      position: relative;
      width: 100%;
      min-width: 0;
}

.page-lookup .tax-select-wrap select {
      appearance: none;
      -webkit-appearance: none;
}

.page-lookup .tax-select-wrap::after {
      content: "";
      position: absolute;
      right: 16px;
      top: 50%;
      transform: translateY(-50%);
      width: 10px;
      height: 6px;
      background-image: url('data:image/svg+xml;utf8,<svg width="10" height="6" viewBox="0 0 10 6" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L5 5L9 1" stroke="%237E8EA0" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
      background-repeat: no-repeat;
      pointer-events: none;
}

.page-lookup #tax-submit-btn:disabled {
      background: var(--panel-2) !important;
      color: #a0aab5 !important;
      cursor: not-allowed !important;
      box-shadow: none !important;
      transform: none !important;
}

/* ===================== state-guides.html  (.page-guides) ===================== */
body.page-guides {
      --ink: #113554;
      --ink-900: #0B2438;
      --ink-950: #07192a;
      --orange: #f48e37;
      --orange-600: #de7a1e;
      --orange-tint: rgba(244, 142, 55, 0.12);
      --paper: #FAFBFC;
      --panel: #FFFFFF;
      --panel-2: #F2F5F8;
      --slate: #56697B;
      --slate-2: #7E8EA0;
      --line: rgba(17, 53, 85, 0.12);
      --line-strong: rgba(17, 53, 85, 0.22);
      --ring: rgba(244, 142, 55, 0.55);
      --shadow: 0 1px 2px rgba(11, 36, 56, .06), 0 12px 32px -12px rgba(11, 36, 56, .18);
      --shadow-lg: 0 1px 2px rgba(11, 36, 56, .06), 0 30px 70px -28px rgba(11, 36, 56, .40);
      --r: 16px;
      --maxw: 1400px;
      /* --display: "DM Sans", system-ui, sans-serif; */
      /* --body: "Inter", system-ui, sans-serif; */
      --display: "Ubuntu", system-ui, sans-serif;
      --body: "Ubuntu", system-ui, sans-serif;
      --mono: "IBM Plex Mono", ui-monospace, monospace;
}

body.page-guides {
      font-family: var(--body);
      color: var(--ink);
      background: var(--paper);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      overflow-x: clip;
}

.page-guides a {
      color: inherit;
      text-decoration: none
}

.page-guides img {
      display: block;
      max-width: 100%
}

.page-guides .wrap {
      max-width: var(--maxw);
      margin: 0 auto;
      padding: 0 var(--gutter)
}

.page-guides .eyebrow {
      font-family: var(--mono);
      font-size: 12px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--orange-600);
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-weight: 500;
}

.page-guides .eyebrow::before {
      content: "//";
      color: var(--orange);
      font-weight: 600;
      letter-spacing: -.06em
}

.page-guides .eyebrow.on-dark {
      color: #f6b27a
}

.page-guides .eyebrow.on-dark::before {
      color: var(--orange)
}

.page-guides h1,
.page-guides h2,
.page-guides h3 {
      font-family: var(--display);
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: -.02em;
      color: var(--ink)
}

.page-guides .h2 {
      font-size: clamp(28px, 4vw, 46px);
      margin: 18px 0 14px
}

.page-guides .h2 .accent {
      color: var(--orange)
}

.page-guides .lede {
      font-size: clamp(16px, 1.7vw, 18px);
      color: var(--slate);
      max-width: 60ch
}

.page-guides .section {
      padding: 60px 0
}

.page-guides .center {
      text-align: center
}

.page-guides .center .lede {
      margin-left: auto;
      margin-right: auto
}

.page-guides .btn {
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-family: var(--body);
      font-weight: 600;
      font-size: 15.5px;
      padding: 13px 22px;
      border-radius: 999px;
      border: 1px solid transparent;
      cursor: pointer;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
      white-space: nowrap;
}

.page-guides .btn .arr {
      transition: transform .18s ease
}

.page-guides .btn:hover .arr {
      transform: translateX(3px)
}

.page-guides .btn-primary {
      background: var(--orange);
      color: #fff;
      box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
}

.page-guides .btn-primary:hover {
      background: var(--orange-600);
      transform: translateY(-1px)
}

.page-guides .btn-ghost {
      background: transparent;
      color: var(--ink);
      border-color: var(--line-strong)
}

.page-guides .btn-ghost:hover {
      border-color: var(--ink);
      background: #fff
}

.page-guides .btn-on-dark {
      background: #fff;
      color: var(--ink)
}

.page-guides .btn-on-dark:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5)
}

.page-guides .btn-outline-dark {
      background: transparent;
      color: #fff;
      border-color: rgba(255, 255, 255, .28)
}

.page-guides .btn-outline-dark:hover {
      border-color: #fff;
      background: rgba(255, 255, 255, .06)
}

.page-guides header.nav {
      position: sticky;
      top: 0;
      z-index: 50;
      background: var(--paper);
      border-bottom: 1px solid var(--line);
      transition: box-shadow .25s ease, background .25s ease
}

.page-guides header.nav.scrolled {
      box-shadow: 0 1px 0 var(--line), 0 10px 28px -18px rgba(11, 36, 56, .28)
}

.page-guides .nav-in {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 70px
}

.page-guides .nav-logo {
      height: 30px;
      width: auto
}

.page-guides .nav-links {
      display: flex;
      align-items: center;
      gap: 30px
}

.page-guides .nav-links a.lnk {
      font-size: 14.5px;
      color: var(--slate);
      font-weight: 500;
      position: relative
}

.page-guides .nav-links a.lnk:hover {
      color: var(--ink)
}

.page-guides .nav-links a.lnk[aria-current="page"] {
      color: var(--orange);
      font-weight: 600
}

.page-guides .nav-links a.lnk::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: -5px;
      height: 2px;
      background: var(--orange);
      transition: right .28s cubic-bezier(.2, .7, .2, 1)
}

.page-guides .nav-links a.lnk:hover::after,
.page-guides .nav-links a.lnk[aria-current="page"]::after {
      right: 0
}

.page-guides .nav-links .menu-cta-row {
      display: none
}

.page-guides .nav-cta {
      display: flex;
      align-items: center;
      gap: 14px
}

.page-guides .menu-btn {
      display: none;
      background: none;
      border: 1px solid var(--line-strong);
      border-radius: 11px;
      padding: 11px 12px;
      cursor: pointer
}

.page-guides .menu-btn span {
      display: block;
      width: 18px;
      height: 2px;
      background: var(--ink);
      margin: 3px 0;
      border-radius: 2px;
      transition: transform .25s ease, opacity .2s ease
}

.page-guides .menu-btn[aria-expanded="true"] span:nth-child(1) {
      transform: translateY(5px) rotate(45deg)
}

.page-guides .menu-btn[aria-expanded="true"] span:nth-child(2) {
      opacity: 0
}

.page-guides .menu-btn[aria-expanded="true"] span:nth-child(3) {
      transform: translateY(-5px) rotate(-45deg)
}

.page-guides .g-hero {
      position: relative;
      overflow: hidden;
      color: #fff;
      border-bottom: 1px solid rgba(255, 255, 255, .1);
      background: radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .18), transparent 60%), linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
}

.page-guides .g-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, #000, transparent 92%)
}

.page-guides .g-hero::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background-image: radial-gradient(rgba(255, 255, 255, .16) 1.5px, transparent 1.6px);
      background-size: 22px 22px;
      mask-image: radial-gradient(80% 120% at 90% 0%, #000 8%, transparent 60%)
}

.page-guides .g-hero-in {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 56px var(--gutter) 60px
}

.page-guides .g-hero h1 {
      font-family: var(--display);
      font-weight: 800;
      color: #fff;
      font-size: clamp(34px, 5.4vw, 58px);
      letter-spacing: -.03em;
      line-height: 1.04;
      margin: 22px 0 0;
      max-width: 20ch
}

.page-guides .g-hero h1 .em {
      color: var(--orange)
}

.page-guides .g-hero p.sub {
      color: #bcccdb;
      font-size: clamp(16px, 1.8vw, 19px);
      line-height: 1.6;
      margin: 20px 0 0;
      max-width: 62ch
}

.page-guides .g-stats {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px 30px;
      margin-top: 30px
}

.page-guides .g-stats .st {
      display: flex;
      align-items: baseline;
      gap: 8px;
      font-family: var(--mono);
      font-size: 13px;
      color: #cdd9e5
}

.page-guides .g-stats .st b {
      color: var(--orange);
      font-weight: 600;
      font-size: 15px
}

.page-guides .g-tools {
      max-width: 560px;
      margin: 0 auto 8px;
}

.page-guides .g-search {
      position: relative;
}

.page-guides .g-search svg {
      position: absolute;
      left: 16px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--slate-2)
}

.page-guides .g-search input {
      width: 100%;
      font-family: var(--body);
      font-size: 15.5px;
      color: var(--ink);
      background: var(--panel);
      border: 1px solid var(--line-strong);
      border-radius: 999px;
      padding: 14px 18px 14px 46px;
      transition: border-color .18s ease, box-shadow .18s ease;
}

.page-guides .g-search input:focus {
      outline: none;
      border-color: var(--orange);
      box-shadow: 0 0 0 4px var(--orange-tint)
}

.page-guides .g-search input::placeholder {
      color: var(--slate-2)
}

.page-guides .g-empty {
      display: none;
      text-align: center;
      color: var(--slate);
      margin-top: 28px;
      font-size: 15px
}

.page-guides .states {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 12px;
      margin-top: 34px
}

.page-guides .state-card {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 12px;
      padding: 15px 16px;
      font-weight: 600;
      font-size: 14.5px;
      color: var(--ink);
      transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.page-guides .state-card:hover {
      transform: translateY(-3px);
      border-color: var(--orange);
      box-shadow: var(--shadow)
}

.page-guides .state-card .st-arrow {
      color: var(--slate-2);
      font-family: var(--mono);
      transition: transform .16s ease, color .16s ease
}

.page-guides .state-card:hover .st-arrow {
      color: var(--orange);
      transform: translateX(3px)
}

.page-guides .band {
      background: var(--panel-2);
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line)
}

.page-guides .band-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-top: 44px
}

.page-guides .card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 26px 24px;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease
}

.page-guides .card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
      border-color: var(--line-strong)
}

.page-guides .card .ic {
      width: 44px;
      height: 44px;
      border-radius: 12px;
      background: var(--ink);
      display: grid;
      place-items: center;
      margin-bottom: 16px
}

.page-guides .card:nth-child(3n-1) .ic {
      background: var(--orange)
}

.page-guides .card .ic svg {
      stroke: #fff
}

.page-guides .card h3 {
      font-size: 18px;
      letter-spacing: -.01em;
      margin-bottom: 8px
}

.page-guides .card p {
      font-size: 14.5px;
      color: var(--slate);
      line-height: 1.55
}

.page-guides .cta-band {
      position: relative;
      color: #fff;
      text-align: center;
      overflow: hidden;
      background: radial-gradient(800px 400px at 50% -30%, rgba(244, 142, 55, .22), transparent 60%), linear-gradient(160deg, var(--ink), var(--ink-950))
}

.page-guides .cta-band::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, transparent, #000 50%, transparent)
}

.page-guides .cta-band .inner {
      position: relative;
      z-index: 1;
      padding: 62px 24px
}

.page-guides .cta-band h2 {
      color: #fff;
      font-size: clamp(28px, 3.6vw, 42px);
      max-width: 20ch;
      margin: 0 auto 14px
}

.page-guides .cta-band p {
      color: #bcccdb;
      max-width: 52ch;
      margin: 0 auto 28px
}

.page-guides .cta-actions {
      display: flex;
      gap: 14px;
      justify-content: center;
      flex-wrap: wrap
}

.page-guides footer.ft {
      background: radial-gradient(1300px 680px at 80% 118%, rgba(244, 142, 55, .55), transparent 64%), radial-gradient(900px 480px at 14% 112%, rgba(244, 142, 55, .26), transparent 60%), radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .24), transparent 60%), linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #9fb3c6;
      padding: 64px 0 30px
}

.page-guides .ft-top {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1fr;
      gap: 40px;
      padding-bottom: 42px;
      border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.page-guides .ft-logo {
      height: 30px;
      width: auto;
      margin-bottom: 16px
}

.page-guides .ft-top p.blurb {
      font-size: 14px;
      max-width: 38ch;
      line-height: 1.6
}

.page-guides .ft-col h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #7e93a7;
      margin-bottom: 16px;
      font-weight: 500
}

.page-guides .ft-col a,
.page-guides .ft-col span {
      display: block;
      font-size: 14.5px;
      color: #c2d0dd;
      margin-bottom: 10px
}

.page-guides .ft-col a:hover {
      color: #fff
}

.page-guides .ft-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      padding-top: 24px;
      font-size: 13px;
      color: #7e93a7
}

.page-guides .ft-bottom .links a {
      margin-left: 18px;
      color: #9fb3c6
}

.page-guides .ft-bottom .links a:hover {
      color: #fff
}

.page-guides .rv {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1)
}

.page-guides .rv.in {
      opacity: 1;
      transform: none
}

/* ---- blog.html (blog index) ---- */
.page-guides .blog-cats {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px;
      margin: 22px auto 0
}

.page-guides .cat-btn {
      font-family: var(--mono);
      font-size: 12.5px;
      letter-spacing: .04em;
      color: var(--slate);
      background: var(--panel);
      border: 1px solid var(--line-strong);
      border-radius: 999px;
      padding: 8px 16px;
      cursor: pointer;
      transition: color .16s ease, border-color .16s ease, background .16s ease
}

.page-guides .cat-btn:hover {
      color: var(--ink);
      border-color: var(--ink)
}

.page-guides .cat-btn.active {
      color: #fff;
      background: var(--orange);
      border-color: var(--orange)
}

.page-guides .blog-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-top: 36px
}

.page-guides .post-card {
      position: relative;
      display: grid;
      grid-template-columns: 176px minmax(0, 1fr);
      align-items: center;
      gap: 20px;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 14px;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease
}

.page-guides .post-card:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow);
      border-color: var(--line-strong)
}

.page-guides .post-card:focus-visible {
      outline: none;
      border-color: var(--orange);
      box-shadow: 0 0 0 4px var(--orange-tint)
}

/* thumbnail: small, uncropped (matches the 16:9 source art) */
.page-guides .pc-media {
      position: relative;
      overflow: hidden;
      border-radius: 10px;
      aspect-ratio: 16 / 9;
      background: linear-gradient(160deg, var(--ink), var(--ink-950))
}

.page-guides .pc-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform .4s cubic-bezier(.2, .7, .3, 1)
}

.page-guides .post-card:hover .pc-img {
      transform: scale(1.05)
}

.page-guides .pc-body {
      min-width: 0;
      padding-right: 26px
}

.page-guides .pc-top {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
      font-family: var(--mono);
      font-size: 11.5px;
      color: var(--slate-2)
}

.page-guides .pc-cat {
      font-size: 10.5px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--orange-600);
      background: var(--orange-tint);
      border-radius: 999px;
      padding: 4px 10px
}

.page-guides .pc-flag {
      font-size: 10.5px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: #fff;
      background: var(--orange);
      border-radius: 999px;
      padding: 4px 10px
}

.page-guides .pc-dot {
      width: 3px;
      height: 3px;
      border-radius: 50%;
      background: var(--slate-2)
}

.page-guides .pc-title {
      font-family: var(--display);
      font-weight: 700;
      font-size: 17.5px;
      line-height: 1.28;
      letter-spacing: -.01em;
      color: var(--ink);
      margin-top: 9px;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      transition: color .16s ease
}

.page-guides .post-card:hover .pc-title {
      color: var(--orange-600)
}

.page-guides .pc-excerpt {
      font-size: 14px;
      color: var(--slate);
      line-height: 1.55;
      margin-top: 7px;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden
}

.page-guides .pc-arrow {
      position: absolute;
      right: 16px;
      top: 50%;
      transform: translateY(-50%);
      color: var(--slate-2);
      opacity: .6;
      transition: transform .18s ease, color .18s ease, opacity .18s ease
}

.page-guides .post-card:hover .pc-arrow {
      color: var(--orange);
      opacity: 1;
      transform: translateY(-50%) translateX(3px)
}

/* featured: same row rhythm, one size up */
.page-guides .post-card.feat {
      grid-column: 1 / -1;
      grid-template-columns: 340px minmax(0, 1fr);
      gap: 28px;
      padding: 16px
}

.page-guides .post-card.feat .pc-media {
      border-radius: 12px
}

.page-guides .post-card.feat .pc-cat {
      background: none;
      padding: 0;
      color: var(--slate-2)
}

.page-guides .post-card.feat .pc-title {
      font-size: clamp(20px, 2.1vw, 26px);
      line-height: 1.2;
      margin-top: 12px
}

.page-guides .post-card.feat .pc-excerpt {
      font-size: 15px;
      margin-top: 10px;
      max-width: 78ch;
      -webkit-line-clamp: 3;
      line-clamp: 3
}

@media (max-width: 1080px) {
      .page-guides .states {
            grid-template-columns: repeat(4, 1fr)
      }

      .page-guides .post-card {
            grid-template-columns: 148px minmax(0, 1fr);
            gap: 16px
      }

      .page-guides .post-card.feat {
            grid-template-columns: 280px minmax(0, 1fr);
            gap: 22px
      }
}

@media (max-width: 980px) {
      .page-guides .band-grid {
            grid-template-columns: 1fr
      }

      .page-guides .blog-grid {
            grid-template-columns: minmax(0, 1fr)
      }

      .page-guides .post-card {
            grid-template-columns: 168px minmax(0, 1fr)
      }

      .page-guides .ft-top {
            grid-template-columns: 1fr 1fr
      }

      .page-guides .nav-links {
            display: none
      }

      .page-guides .menu-btn {
            display: block
      }

      .page-guides .nav-cta .btn-ghost,
      .page-guides .nav-cta .btn-primary {
            display: none
      }

      .page-guides .nav-links.open {
            display: flex;
            position: absolute;
            top: 70px;
            left: 0;
            right: 0;
            flex-direction: column;
            background: var(--paper);
            padding: 18px 24px 22px;
            gap: 6px;
            border-bottom: 1px solid var(--line);
            align-items: stretch;
            box-shadow: 0 18px 36px -20px rgba(11, 36, 56, .4)
      }

      .page-guides .nav-links.open a.lnk {
            font-size: 16px;
            color: var(--ink);
            padding: 12px 4px;
            border-bottom: 1px solid var(--line)
      }

      .page-guides .nav-links.open a.lnk::after {
            display: none
      }

      .page-guides .nav-links.open .menu-cta-row {
            display: flex;
            gap: 10px;
            margin-top: 12px
      }

      .page-guides .nav-links.open .menu-cta-row a {
            flex: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .4em;
            font-family: var(--body);
            font-weight: 600;
            font-size: 14.5px;
            padding: 13px 10px;
            border-radius: 999px;
            white-space: nowrap
      }

      .page-guides .nav-links.open .lnk-cta-ghost {
            border: 1px solid var(--line-strong);
            color: var(--ink)
      }

      .page-guides .nav-links.open .lnk-cta {
            background: var(--orange);
            color: #fff;
            box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
      }
}

@media (max-width: 720px) {
      .page-guides .states {
            grid-template-columns: repeat(3, 1fr)
      }
}

@media (max-width: 560px) {
      .page-guides .section {
            padding: 44px 0
      }

      .page-guides .states {
            grid-template-columns: repeat(2, 1fr)
      }

      .page-guides .post-card,
      .page-guides .post-card.feat {
            grid-template-columns: 116px minmax(0, 1fr);
            align-items: start;
            gap: 14px;
            padding: 12px
      }

      .page-guides .pc-body {
            padding-right: 0
      }

      .page-guides .pc-title,
      .page-guides .post-card.feat .pc-title {
            font-size: 16px;
            margin-top: 8px;
            -webkit-line-clamp: 3;
            line-clamp: 3
      }

      .page-guides .pc-excerpt,
      .page-guides .post-card.feat .pc-excerpt {
            font-size: 13.5px;
            -webkit-line-clamp: 2;
            line-clamp: 2
      }

      .page-guides .pc-arrow,
      .page-guides .pc-date,
      .page-guides .pc-dot-date {
            display: none
      }

      .page-guides .ft-top {
            grid-template-columns: 1fr
      }

      .page-guides .nav-logo {
            height: 26px
      }
}

@media (prefers-reduced-motion: reduce) {
      .page-guides * {
            scroll-behavior: auto !important
      }

      .page-guides .rv {
            transition: none;
            opacity: 1;
            transform: none
      }

      .page-guides .btn,
      .page-guides .card,
      .page-guides .state-card {
            transition: none
      }
}

/* ===================== state-guide.html  (.page-guide) ===================== */
body.page-guide {
      --ink: #113554;
      --ink-900: #0B2438;
      --ink-950: #07192a;
      --orange: #f48e37;
      --orange-600: #de7a1e;
      --orange-tint: rgba(244, 142, 55, 0.12);
      --paper: #FAFBFC;
      --panel: #FFFFFF;
      --panel-2: #F2F5F8;
      --slate: #56697B;
      --slate-2: #7E8EA0;
      --line: rgba(17, 53, 85, 0.12);
      --line-strong: rgba(17, 53, 85, 0.22);
      --ring: rgba(244, 142, 55, 0.55);
      --shadow: 0 1px 2px rgba(11, 36, 56, .06), 0 12px 32px -12px rgba(11, 36, 56, .18);
      --shadow-lg: 0 1px 2px rgba(11, 36, 56, .06), 0 30px 70px -28px rgba(11, 36, 56, .40);
      --r: 16px;
      --maxw: 1400px;
      /* --display: "DM Sans", system-ui, sans-serif; */
      /* --body: "Inter", system-ui, sans-serif; */
      --display: "Ubuntu", system-ui, sans-serif;
      --body: "Ubuntu", system-ui, sans-serif;
      --mono: "IBM Plex Mono", ui-monospace, monospace;
}

body.page-guide {
      font-family: var(--body);
      color: var(--ink);
      background: var(--paper);
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
      overflow-x: clip;
}

.page-guide a {
      color: inherit;
      text-decoration: none
}

.page-guide img {
      display: block;
      max-width: 100%
}

.page-guide .wrap {
      max-width: var(--maxw);
      margin: 0 auto;
      padding: 0 var(--gutter)
}

.page-guide .eyebrow {
      font-family: var(--mono);
      font-size: 12px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--orange-600);
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-weight: 500;
}

.page-guide .eyebrow::before {
      content: "//";
      color: var(--orange);
      font-weight: 600;
      letter-spacing: -.06em
}

.page-guide .eyebrow.on-dark {
      color: #f6b27a
}

.page-guide .eyebrow.on-dark::before {
      color: var(--orange)
}

.page-guide h1,
.page-guide h2,
.page-guide h3 {
      font-family: var(--display);
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: -.02em;
      color: var(--ink)
}

.page-guide .btn {
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-family: var(--body);
      font-weight: 600;
      font-size: 15.5px;
      padding: 13px 22px;
      border-radius: 999px;
      border: 1px solid transparent;
      cursor: pointer;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
      white-space: nowrap;
}

.page-guide .btn .arr {
      transition: transform .18s ease
}

.page-guide .btn:hover .arr {
      transform: translateX(3px)
}

.page-guide .btn-primary {
      background: var(--orange);
      color: #fff;
      box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
}

.page-guide .btn-primary:hover {
      background: var(--orange-600);
      transform: translateY(-1px)
}

.page-guide .btn-ghost {
      background: transparent;
      color: var(--ink);
      border-color: var(--line-strong)
}

.page-guide .btn-ghost:hover {
      border-color: var(--ink);
      background: #fff
}

.page-guide .btn-on-dark {
      background: #fff;
      color: var(--ink)
}

.page-guide .btn-on-dark:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5)
}

.page-guide .btn-outline-dark {
      background: transparent;
      color: #fff;
      border-color: rgba(255, 255, 255, .28)
}

.page-guide .btn-outline-dark:hover {
      border-color: #fff;
      background: rgba(255, 255, 255, .06)
}

.page-guide header.nav {
      position: sticky;
      top: 0;
      z-index: 50;
      background: var(--paper);
      border-bottom: 1px solid var(--line);
      transition: box-shadow .25s ease, background .25s ease
}

.page-guide header.nav.scrolled {
      box-shadow: 0 1px 0 var(--line), 0 10px 28px -18px rgba(11, 36, 56, .28)
}

.page-guide .nav-in {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 70px
}

.page-guide .nav-logo {
      height: 30px;
      width: auto
}

.page-guide .nav-links {
      display: flex;
      align-items: center;
      gap: 30px
}

.page-guide .nav-links a.lnk {
      font-size: 14.5px;
      color: var(--slate);
      font-weight: 500;
      position: relative
}

.page-guide .nav-links a.lnk:hover {
      color: var(--ink)
}

.page-guide .nav-links a.lnk[aria-current="page"] {
      color: var(--orange);
      font-weight: 600
}

.page-guide .nav-links a.lnk::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: -5px;
      height: 2px;
      background: var(--orange);
      transition: right .28s cubic-bezier(.2, .7, .2, 1)
}

.page-guide .nav-links a.lnk:hover::after,
.page-guide .nav-links a.lnk[aria-current="page"]::after {
      right: 0
}

.page-guide .nav-links .menu-cta-row {
      display: none
}

.page-guide .nav-cta {
      display: flex;
      align-items: center;
      gap: 14px
}

.page-guide .menu-btn {
      display: none;
      background: none;
      border: 1px solid var(--line-strong);
      border-radius: 11px;
      padding: 11px 12px;
      cursor: pointer
}

.page-guide .menu-btn span {
      display: block;
      width: 18px;
      height: 2px;
      background: var(--ink);
      margin: 3px 0;
      border-radius: 2px;
      transition: transform .25s ease, opacity .2s ease
}

.page-guide .menu-btn[aria-expanded="true"] span:nth-child(1) {
      transform: translateY(5px) rotate(45deg)
}

.page-guide .menu-btn[aria-expanded="true"] span:nth-child(2) {
      opacity: 0
}

.page-guide .menu-btn[aria-expanded="true"] span:nth-child(3) {
      transform: translateY(-5px) rotate(-45deg)
}

.page-guide .doc-hero {
      position: relative;
      overflow: hidden;
      color: #fff;
      background: radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .18), transparent 60%), linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      padding: 60px 0 54px
}

.page-guide .doc-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, #000, transparent 92%)
}

.page-guide .doc-hero .wrap {
      position: relative;
      z-index: 1;
      text-align: center
}

.page-guide .crumb {
      font-family: var(--mono);
      font-size: 12.5px;
      color: #9fb3c6;
      margin-bottom: 16px
}

.page-guide .crumb a {
      color: #cdd9e5
}

.page-guide .crumb a:hover {
      color: #fff
}

.page-guide .crumb .sep {
      margin: 0 8px;
      color: #56697B
}

.page-guide .doc-hero h1 {
      color: #fff;
      font-size: clamp(32px, 5vw, 50px);
      font-weight: 800;
      letter-spacing: -.025em;
      margin: 0 0 12px
}

.page-guide .doc-hero h1 .em {
      color: var(--orange)
}

.page-guide .doc-hero p.sub {
      color: #bcccdb;
      font-size: clamp(16px, 1.7vw, 18px);
      max-width: 60ch;
      margin-left: auto;
      margin-right: auto
}

.page-guide main {
      padding: 52px 0 20px
}

.page-guide main .wrap {
      max-width: 1160px
}

.page-guide .doc-grid {
      display: grid;
      grid-template-columns: 240px minmax(0, 1fr) 216px;
      gap: 44px;
      align-items: start
}

.page-guide .doc-grid.doc-grid--full {
      grid-template-columns: 240px minmax(0, 1fr)
}

.page-guide .toc {
      position: sticky;
      top: 90px;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 20px 22px;
      box-shadow: var(--shadow)
}

.page-guide .toc h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--slate-2);
      margin-bottom: 14px;
      font-weight: 500
}

.page-guide .toc a {
      display: block;
      font-size: 14px;
      color: var(--slate);
      margin-bottom: 10px;
      border-left: 2px solid transparent;
      padding-left: 12px;
      margin-left: -2px
}

.page-guide .toc a:hover {
      color: var(--orange-600)
}

.page-guide .rail {
      position: sticky;
      top: 90px
}

.page-guide .rail-card {
      position: relative;
      overflow: hidden;
      border-radius: var(--r);
      padding: 22px 22px 24px;
      color: #fff;
      box-shadow: var(--shadow);
      background: linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 60%, var(--ink-950) 100%)
}

.page-guide .rail-card::before {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      background: radial-gradient(420px 220px at 90% -20%, rgba(244, 142, 55, .28), transparent 60%)
}

.page-guide .rail-eyebrow {
      position: relative;
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #f3a765;
      font-weight: 600
}

.page-guide .rail-card h4 {
      position: relative;
      font-family: var(--display);
      font-weight: 700;
      font-size: 19px;
      color: #fff;
      margin: 10px 0 8px;
      line-height: 1.2
}

.page-guide .rail-card p {
      position: relative;
      font-size: 13.5px;
      line-height: 1.55;
      color: #c2d0dd;
      margin: 0 0 16px
}

.page-guide .rail-btn {
      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: .4em;
      width: 100%;
      background: var(--orange);
      color: #fff;
      font-family: var(--body);
      font-weight: 600;
      font-size: 14px;
      padding: 11px 14px;
      border-radius: 999px;
      box-shadow: 0 10px 22px -10px rgba(244, 142, 55, .8)
}

.page-guide .rail-btn:hover {
      background: var(--orange-600)
}

.page-guide .rail-btn .arr {
      transition: transform .2s ease
}

.page-guide .rail-btn:hover .arr {
      transform: translateX(3px)
}

.page-guide .doc-body h2 {
      font-size: clamp(22px, 2.6vw, 28px);
      letter-spacing: -.01em;
      margin: 0 0 14px;
      padding-top: 6px
}

.page-guide .doc-body h2 .num {
      color: var(--orange);
      font-family: var(--mono);
      font-size: .68em;
      margin-right: 10px;
      font-weight: 600
}

.page-guide .doc-body section {
      margin-bottom: 44px;
      scroll-margin-top: 88px
}

.page-guide .doc-body p {
      margin: 0 0 16px;
      color: #2e4359
}

.page-guide .doc-body ul {
      margin: 0 0 18px;
      padding-left: 22px
}

.page-guide .doc-body li {
      margin-bottom: 9px;
      color: #2e4359
}

.page-guide .doc-body strong {
      color: var(--ink)
}

.page-guide .doc-body a.inline {
      color: var(--orange-600)
}

.page-guide .doc-body a.inline:hover {
      text-decoration: underline
}

.page-guide .callout {
      background: var(--panel-2);
      border-left: 3px solid var(--orange);
      border-radius: 8px;
      padding: 16px 20px;
      margin: 22px 0;
      font-size: 15px;
      color: #2e4359
}

.page-guide .callout strong {
      color: var(--ink)
}

.page-guide .facts {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
      margin: 0 0 8px
}

.page-guide .fact {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 18px 18px
}

.page-guide .fact .l {
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .13em;
      text-transform: uppercase;
      color: var(--slate-2);
      font-weight: 600
}

.page-guide .fact .v {
      font-family: var(--display);
      font-weight: 700;
      font-size: 20px;
      color: var(--ink);
      margin-top: 6px;
      line-height: 1.15
}

.page-guide .fact .s {
      font-size: 12.5px;
      color: var(--slate);
      margin-top: 4px
}

.page-guide .snap {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      overflow: hidden;
      box-shadow: var(--shadow)
}

.page-guide .snap-h {
      font-family: var(--display);
      font-weight: 700;
      font-size: 17px;
      color: var(--ink);
      padding: 16px 20px;
      border-bottom: 1px solid var(--line);
      background: var(--panel-2)
}

.page-guide .snap dl {
      margin: 0
}

.page-guide .snap dl>div {
      display: grid;
      grid-template-columns: 190px 1fr;
      gap: 18px;
      padding: 13px 20px;
      border-bottom: 1px dashed var(--line)
}

.page-guide .snap dl>div:last-child {
      border-bottom: none
}

.page-guide .snap dt {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--slate-2);
      font-weight: 600;
      padding-top: 2px
}

.page-guide .snap dd {
      margin: 0;
      font-size: 14.5px;
      color: #2e4359;
      line-height: 1.5
}

@media (max-width: 560px) {
      .page-guide .snap dl>div {
            grid-template-columns: 1fr;
            gap: 4px
      }
}

.page-guide .cta-card {
      background: var(--ink-900);
      color: #fff;
      border-radius: 18px;
      padding: 30px 28px;
      margin-top: 8px;
      background-image: radial-gradient(600px 260px at 90% -20%, rgba(244, 142, 55, .18), transparent 60%), linear-gradient(160deg, var(--ink-900), var(--ink-950))
}

.page-guide .cta-card h3 {
      color: #fff;
      font-size: 22px;
      margin-bottom: 8px
}

.page-guide .cta-card p {
      color: #a9bccd;
      font-size: 14.5px;
      margin-bottom: 20px;
      max-width: 52ch
}

.page-guide .cta-card .row {
      display: flex;
      gap: 12px;
      flex-wrap: wrap
}

.page-guide .more {
      border-top: 1px solid var(--line);
      margin-top: 8px;
      padding: 40px 0 8px
}

.page-guide .more h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--slate-2);
      margin-bottom: 16px;
      font-weight: 500
}

.page-guide .more .links {
      display: flex;
      flex-wrap: wrap;
      gap: 10px
}

.page-guide .more .links a {
      font-size: 13.5px;
      font-weight: 600;
      color: var(--ink);
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 8px 15px;
      transition: border-color .16s ease, color .16s ease
}

.page-guide .more .links a:hover {
      border-color: var(--orange);
      color: var(--orange-600)
}

.page-guide footer.ft {
      background: radial-gradient(1300px 680px at 80% 118%, rgba(244, 142, 55, .55), transparent 64%), radial-gradient(900px 480px at 14% 112%, rgba(244, 142, 55, .26), transparent 60%), radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .24), transparent 60%), linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #9fb3c6;
      padding: 64px 0 30px
}

.page-guide .ft-top {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1fr;
      gap: 40px;
      padding-bottom: 42px;
      border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.page-guide .ft-logo {
      height: 30px;
      width: auto;
      margin-bottom: 16px
}

.page-guide .ft-top p.blurb {
      font-size: 14px;
      max-width: 38ch;
      line-height: 1.6
}

.page-guide .ft-col h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #7e93a7;
      margin-bottom: 16px;
      font-weight: 500
}

.page-guide .ft-col a,
.page-guide .ft-col span {
      display: block;
      font-size: 14.5px;
      color: #c2d0dd;
      margin-bottom: 10px
}

.page-guide .ft-col a:hover {
      color: #fff
}

.page-guide .ft-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      padding-top: 24px;
      font-size: 13px;
      color: #7e93a7
}

.page-guide .ft-bottom .links a {
      margin-left: 18px;
      color: #9fb3c6
}

.page-guide .ft-bottom .links a:hover {
      color: #fff
}

@media (max-width: 1120px) {
      .page-guide .doc-grid {
            grid-template-columns: 240px minmax(0, 1fr)
      }

      .page-guide .rail {
            display: none
      }
}

@media (max-width: 980px) {
      .page-guide .doc-grid {
            grid-template-columns: minmax(0, 1fr);
            gap: 28px
      }

      .page-guide .doc-body {
            min-width: 0
      }

      .page-guide .toc {
            position: static;
            display: none
      }

      .page-guide .ft-top {
            grid-template-columns: 1fr 1fr
      }

      .page-guide .nav-links {
            display: none
      }

      .page-guide .menu-btn {
            display: block
      }

      .page-guide .nav-cta .btn-ghost,
      .page-guide .nav-cta .btn-primary {
            display: none
      }

      .page-guide .nav-links.open {
            display: flex;
            position: absolute;
            top: 70px;
            left: 0;
            right: 0;
            flex-direction: column;
            background: var(--paper);
            padding: 18px 24px 22px;
            gap: 6px;
            border-bottom: 1px solid var(--line);
            align-items: stretch;
            box-shadow: 0 18px 36px -20px rgba(11, 36, 56, .4)
      }

      .page-guide .nav-links.open a.lnk {
            font-size: 16px;
            color: var(--ink);
            padding: 12px 4px;
            border-bottom: 1px solid var(--line)
      }

      .page-guide .nav-links.open a.lnk::after {
            display: none
      }

      .page-guide .nav-links.open .menu-cta-row {
            display: flex;
            gap: 10px;
            margin-top: 12px
      }

      .page-guide .nav-links.open .menu-cta-row a {
            flex: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .4em;
            font-family: var(--body);
            font-weight: 600;
            font-size: 14.5px;
            padding: 13px 10px;
            border-radius: 999px;
            white-space: nowrap
      }

      .page-guide .nav-links.open .lnk-cta-ghost {
            border: 1px solid var(--line-strong);
            color: var(--ink)
      }

      .page-guide .nav-links.open .lnk-cta {
            background: var(--orange);
            color: #fff;
            box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
      }
}

@media (max-width: 640px) {
      .page-guide .facts {
            grid-template-columns: 1fr
      }

      .page-guide .ft-top {
            grid-template-columns: 1fr
      }

      .page-guide .nav-logo {
            height: 26px
      }
}

/* ===================== terms-and-conditions.html  (.page-terms) ===================== */
body.page-terms {
      --ink: #113554;
      --ink-900: #0B2438;
      --ink-950: #07192a;
      --orange: #f48e37;
      --orange-600: #de7a1e;
      --orange-tint: rgba(244, 142, 55, 0.12);
      --paper: #FAFBFC;
      --panel: #FFFFFF;
      --panel-2: #F2F5F8;
      --slate: #56697B;
      --slate-2: #7E8EA0;
      --line: rgba(17, 53, 85, 0.12);
      --line-strong: rgba(17, 53, 85, 0.22);
      --ring: rgba(244, 142, 55, 0.55);
      --shadow: 0 1px 2px rgba(11, 36, 56, .06), 0 12px 32px -12px rgba(11, 36, 56, .18);
      --shadow-lg: 0 1px 2px rgba(11, 36, 56, .06), 0 30px 70px -28px rgba(11, 36, 56, .40);
      --r: 16px;
      --maxw: 1400px;
      /* --display:"DM Sans",system-ui,sans-serif; */
      /* --body:"Inter",system-ui,sans-serif; */
      --display: "Ubuntu", system-ui, sans-serif;
      --body: "Ubuntu", system-ui, sans-serif;
      --mono: "IBM Plex Mono", ui-monospace, monospace;
}

body.page-terms {
      font-family: var(--body);
      color: var(--ink);
      background: var(--paper);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      overflow-x: clip;
}

.page-terms a {
      color: inherit;
      text-decoration: none
}

.page-terms img {
      display: block;
      max-width: 100%
}

.page-terms .wrap {
      max-width: var(--maxw);
      margin: 0 auto;
      padding: 0 var(--gutter)
}

.page-terms .eyebrow {
      font-family: var(--mono);
      font-size: 12px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--orange-600);
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-weight: 500;
}

.page-terms .eyebrow::before {
      content: "//";
      color: var(--orange);
      font-weight: 600;
      letter-spacing: -.06em
}

.page-terms .eyebrow.on-dark {
      color: #f6b27a
}

.page-terms .eyebrow.on-dark::before {
      color: var(--orange)
}

.page-terms h1,
.page-terms h2,
.page-terms h3 {
      font-family: var(--display);
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: -.02em;
      color: var(--ink)
}

.page-terms .h2 {
      font-size: clamp(28px, 4vw, 46px);
      margin: 18px 0 14px
}

.page-terms .h2 .accent {
      color: var(--orange)
}

.page-terms .lede {
      font-size: clamp(16px, 1.7vw, 18px);
      color: var(--slate);
      max-width: 60ch
}

.page-terms .section {
      padding: 60px 0
}

.page-terms #top,
.page-terms #how,
.page-terms #services,
.page-terms #pricing,
.page-terms #faq {
      scroll-margin-top: 70px
}

.page-terms .center {
      text-align: center
}

.page-terms .center .lede {
      margin-left: auto;
      margin-right: auto
}

.page-terms .btn {
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-family: var(--body);
      font-weight: 600;
      font-size: 15.5px;
      padding: 13px 22px;
      border-radius: 999px;
      border: 1px solid transparent;
      cursor: pointer;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
      white-space: nowrap;
}

.page-terms .btn .arr {
      transition: transform .18s ease
}

.page-terms .btn:hover .arr {
      transform: translateX(3px)
}

.page-terms .btn-primary {
      background: var(--orange);
      color: #fff;
      box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
}

.page-terms .btn-primary:hover {
      background: var(--orange-600);
      transform: translateY(-1px)
}

.page-terms .btn-ghost {
      background: transparent;
      color: var(--ink);
      border-color: var(--line-strong)
}

.page-terms .btn-ghost:hover {
      border-color: var(--ink);
      background: #fff
}

.page-terms .btn-on-dark {
      background: #fff;
      color: var(--ink)
}

.page-terms .btn-on-dark:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5)
}

.page-terms .btn-outline-dark {
      background: transparent;
      color: #fff;
      border-color: rgba(255, 255, 255, .28)
}

.page-terms .btn-outline-dark:hover {
      border-color: #fff;
      background: rgba(255, 255, 255, .06)
}

.page-terms header.nav {
      position: sticky;
      top: 0;
      z-index: 50;
      background: var(--paper);
      border-bottom: 1px solid var(--line)
}

.page-terms .nav-in {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 70px
}

.page-terms .nav-logo {
      height: 30px;
      width: auto
}

.page-terms .nav-links {
      display: flex;
      align-items: center;
      gap: 30px
}

.page-terms .nav-links a.lnk {
      font-size: 14.5px;
      color: var(--slate);
      font-weight: 500
}

.page-terms .nav-links a.lnk:hover {
      color: var(--ink)
}

.page-terms .nav-links a.lnk[aria-current="page"] {
      color: var(--orange);
      font-weight: 600
}

.page-terms .nav-links a.lnk[aria-current="page"]::after {
      right: 0
}

.page-terms .nav-links .menu-cta-row {
      display: none
}

.page-terms .nav-cta {
      display: flex;
      align-items: center;
      gap: 14px
}

.page-terms .menu-btn {
      display: none;
      background: none;
      border: 1px solid var(--line-strong);
      border-radius: 11px;
      padding: 11px 12px;
      cursor: pointer
}

.page-terms .menu-btn span {
      display: block;
      width: 18px;
      height: 2px;
      background: var(--ink);
      margin: 3px 0;
      border-radius: 2px;
      transition: transform .25s ease, opacity .2s ease
}

.page-terms .menu-btn[aria-expanded="true"] span:nth-child(1) {
      transform: translateY(5px) rotate(45deg)
}

.page-terms .menu-btn[aria-expanded="true"] span:nth-child(2) {
      opacity: 0
}

.page-terms .menu-btn[aria-expanded="true"] span:nth-child(3) {
      transform: translateY(-5px) rotate(-45deg)
}

.page-terms .hero {
      position: relative;
      background:
            radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .18), transparent 60%),
            linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #fff;
      overflow: hidden;
      isolation: isolate
}

.page-terms .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, #000, transparent 92%);
}

.page-terms .hero-in {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 54px;
      align-items: center;
      padding: 56px var(--gutter) 64px
}

.page-terms .pill {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .16);
      padding: 7px 14px;
      border-radius: 999px;
      font-size: 13px;
      color: #dbe6f0;
      font-weight: 500
}

.page-terms .pill .dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--orange);
      box-shadow: 0 0 0 4px rgba(244, 142, 55, .25)
}

.page-terms .hero h1 {
      color: #fff;
      font-size: clamp(38px, 5.2vw, 62px);
      font-weight: 800;
      margin: 22px 0 0;
      letter-spacing: -.025em
}

.page-terms .hero h1 .em {
      color: var(--orange);
      position: relative;
      white-space: nowrap
}

.page-terms .hero p.sub {
      color: #bcccdb;
      font-size: clamp(16px, 1.8vw, 19px);
      margin: 20px 0 30px;
      max-width: 46ch
}

.page-terms .hero-actions {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      align-items: center
}

.page-terms .hero-actions .note {
      font-size: 13px;
      color: #9fb3c6;
      font-family: var(--mono)
}

.page-terms .integ {
      margin-top: 38px;
      border-top: 1px solid rgba(255, 255, 255, .12);
      padding-top: 18px
}

.page-terms .integ .lbl {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #8aa0b4
}

.page-terms .integ .row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 18px;
      margin-top: 12px
}

.page-terms .integ .row span {
      font-family: var(--mono);
      font-size: 13px;
      color: #cdd9e5;
      font-weight: 500
}

.page-terms .integ .row span b {
      color: var(--orange);
      font-weight: 600
}

.page-terms .ledger {
      background: #fff;
      color: var(--ink);
      border-radius: 18px;
      box-shadow: var(--shadow-lg);
      border: 1px solid rgba(255, 255, 255, .5);
      overflow: hidden;
      position: relative
}

.page-terms .ledger .lh {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 18px;
      border-bottom: 1px solid var(--line)
}

.page-terms .ledger .lh .tag {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--orange-600);
      font-weight: 600
}

.page-terms .ledger .lh .per {
      font-family: var(--mono);
      font-size: 12px;
      color: var(--slate)
}

.page-terms .ledger .body {
      padding: 18px
}

.page-terms .ledger .prop {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 14px
}

.page-terms .ledger .prop .name {
      font-weight: 700;
      font-size: 15px
}

.page-terms .ledger .prop .type {
      font-family: var(--mono);
      font-size: 11px;
      color: var(--slate);
      background: var(--panel-2);
      padding: 3px 9px;
      border-radius: 999px
}

.page-terms .lrow {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 11px 0;
      border-bottom: 1px dashed var(--line)
}

.page-terms .lrow .k {
      color: var(--slate);
      font-size: 14px
}

.page-terms .lrow .v {
      font-family: var(--mono);
      font-weight: 500;
      font-size: 14.5px
}

.page-terms .lrow.flag {
      border-bottom: none
}

.page-terms .lrow.flag .k {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--orange-600);
      font-weight: 600;
      font-size: 14px
}

.page-terms .lrow.flag .v {
      color: var(--orange-600);
      font-weight: 600
}

.page-terms .warn {
      width: 18px;
      height: 18px;
      flex: none
}

.page-terms .resolved {
      margin-top: 14px;
      display: flex;
      align-items: center;
      gap: 9px;
      background: rgba(22, 128, 86, .08);
      border: 1px solid rgba(22, 128, 86, .2);
      color: #157a52;
      border-radius: 11px;
      padding: 11px 13px;
      font-size: 13.5px;
      font-weight: 600
}

.page-terms .resolved svg {
      flex: none
}

.page-terms .chip {
      position: absolute;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 12px;
      box-shadow: var(--shadow);
      padding: 10px 13px;
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 12.5px;
      color: var(--ink);
      z-index: 3
}

.page-terms .chip .ic {
      width: 30px;
      height: 30px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      flex: none
}

.page-terms .chip .ic.green {
      background: rgba(22, 128, 86, .12);
      color: #157a52
}

.page-terms .chip .ic.orange {
      background: var(--orange-tint);
      color: var(--orange-600)
}

.page-terms .chip small {
      display: block;
      font-family: var(--mono);
      font-size: 10.5px;
      color: var(--slate);
      letter-spacing: .02em;
      margin-top: 1px
}

.page-terms .chip b {
      font-weight: 600
}

.page-terms .chip-a {
      top: -40px;
      left: -30px
}

.page-terms .chip-b {
      bottom: -26px;
      right: -22px
}

.page-terms .hero-card-wrap {
      position: relative
}

.page-terms .steps {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 26px;
      margin-top: 54px
}

.page-terms .steps::before {
      content: "";
      position: absolute;
      top: 24px;
      left: 6%;
      right: 6%;
      height: 2px;
      background-image: repeating-linear-gradient(90deg, var(--line-strong) 0 7px, transparent 7px 14px)
}

.page-terms .step {
      position: relative
}

.page-terms .step .num {
      width: 50px;
      height: 50px;
      border-radius: 14px;
      background: var(--ink);
      color: #fff;
      display: grid;
      place-items: center;
      font-family: var(--mono);
      font-weight: 600;
      font-size: 16px;
      position: relative;
      z-index: 2;
      box-shadow: 0 8px 18px -8px rgba(17, 53, 85, .6)
}

.page-terms .step:nth-child(3) .num {
      background: var(--orange);
      box-shadow: 0 8px 18px -8px rgba(244, 142, 55, .7)
}

.page-terms .step h3 {
      font-size: 18px;
      margin: 18px 0 8px;
      letter-spacing: -.01em
}

.page-terms .step p {
      font-size: 14.5px;
      color: var(--slate)
}

.page-terms .grid-svc {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
      margin-top: 48px
}

.page-terms .card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 24px;
      position: relative;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease
}

.page-terms .card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
      border-color: var(--line-strong)
}

.page-terms .card .ic {
      width: 42px;
      height: 42px;
      border-radius: 11px;
      background: var(--ink);
      display: grid;
      place-items: center;
      margin-bottom: 16px
}

.page-terms .card .ic svg {
      stroke: #fff
}

.page-terms .card.feat .ic {
      background: var(--orange)
}

.page-terms .card .tag {
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .13em;
      text-transform: uppercase;
      color: var(--slate-2);
      font-weight: 600;
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 3px 9px;
      position: absolute;
      top: 22px;
      right: 22px
}

.page-terms .card.feat .tag {
      color: var(--orange-600);
      border-color: rgba(244, 142, 55, .35);
      background: var(--orange-tint)
}

.page-terms .card h3 {
      font-size: 17px;
      letter-spacing: -.01em;
      margin-bottom: 8px;
      padding-right: 70px
}

.page-terms .card p {
      font-size: 14px;
      color: var(--slate);
      line-height: 1.55
}

.page-terms .pricing-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-top: 50px;
      align-items: stretch
}

.page-terms .plan {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 20px;
      padding: 30px 26px;
      position: relative;
      display: flex;
      flex-direction: column
}

.page-terms .plan.hot {
      border: 1.5px solid var(--orange);
      box-shadow: 0 30px 60px -30px rgba(244, 142, 55, .45);
      overflow: visible
}

.page-terms .plan .flagtop {
      position: absolute;
      top: -13px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--orange);
      color: #fff;
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .14em;
      text-transform: uppercase;
      font-weight: 600;
      padding: 5px 14px;
      border-radius: 999px;
      white-space: nowrap
}

.page-terms .plan .pname {
      font-family: var(--display);
      font-weight: 700;
      font-size: 22px
}

.page-terms .plan .pdesc {
      color: var(--slate);
      font-size: 13.5px;
      margin: 6px 0 18px;
      min-height: 38px
}

.page-terms .plan .price {
      display: flex;
      align-items: baseline;
      gap: 8px
}

.page-terms .plan .price .amt {
      font-family: var(--display);
      font-weight: 800;
      font-size: 46px;
      letter-spacing: -.03em
}

.page-terms .plan .price .per {
      font-family: var(--mono);
      font-size: 12.5px;
      color: var(--slate)
}

.page-terms .plan .pdiv {
      height: 1px;
      background: var(--line);
      margin: 20px 0
}

.page-terms .plan ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 11px;
      margin-bottom: 24px;
      flex: 1
}

.page-terms .plan li {
      display: flex;
      gap: 10px;
      font-size: 14px;
      color: #36475a;
      line-height: 1.45
}

.page-terms .plan li svg {
      flex: none;
      margin-top: 3px
}

.page-terms .plan .grp {
      font-size: 13px;
      font-weight: 600;
      color: var(--ink);
      margin-bottom: 2px
}

.page-terms .plan .btn {
      width: 100%;
      justify-content: center
}

.page-terms .addon {
      margin-top: 22px;
      background: var(--ink-900);
      color: #fff;
      border-radius: 20px;
      padding: 30px;
      background-image: radial-gradient(700px 300px at 90% -20%, rgba(244, 142, 55, .18), transparent 60%), linear-gradient(160deg, var(--ink-900), var(--ink-950))
}

.page-terms .addon .ah {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 20px
}

.page-terms .addon .ah h3 {
      color: #fff;
      font-size: 20px
}

.page-terms .addon .ah p {
      color: #a9bccd;
      font-size: 13.5px
}

.page-terms .addon-rows {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px
}

.page-terms .addon-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      background: rgba(255, 255, 255, .05);
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 13px;
      padding: 16px 18px
}

.page-terms .addon-row .l b {
      font-size: 15px;
      display: block
}

.page-terms .addon-row .l small {
      color: #9fb3c6;
      font-size: 12.5px
}

.page-terms .addon-row .r {
      text-align: right;
      white-space: nowrap
}

.page-terms .addon-row .r b {
      font-family: var(--mono);
      font-size: 18px;
      color: var(--orange)
}

.page-terms .addon-row .r small {
      display: block;
      font-family: var(--mono);
      font-size: 10.5px;
      color: #9fb3c6
}

.page-terms .faq {
      max-width: 820px;
      margin: 48px auto 0
}

.page-terms .qa {
      border: 1px solid var(--line);
      border-radius: 14px;
      margin-bottom: 12px;
      background: #fff;
      overflow: hidden;
      transition: border-color .2s ease
}

.page-terms .qa[open] {
      border-color: var(--line-strong);
      box-shadow: var(--shadow)
}

.page-terms .qa summary {
      list-style: none;
      cursor: pointer;
      padding: 20px 22px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      font-weight: 600;
      font-size: 16px;
      color: var(--ink)
}

.page-terms .qa summary::-webkit-details-marker {
      display: none
}

.page-terms .qa summary .pm {
      flex: none;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      border: 1px solid var(--line-strong);
      display: grid;
      place-items: center;
      transition: transform .2s ease, background .2s ease
}

.page-terms .qa[open] summary .pm {
      transform: rotate(45deg);
      background: var(--orange);
      border-color: var(--orange)
}

.page-terms .qa[open] summary .pm svg {
      stroke: #fff
}

.page-terms .qa .ans {
      padding: 0 22px 22px;
      color: var(--slate);
      font-size: 15px;
      line-height: 1.6
}

.page-terms .cta-band {
      position: relative;
      color: #fff;
      text-align: center;
      overflow: hidden;
      background: radial-gradient(800px 400px at 50% -30%, rgba(244, 142, 55, .22), transparent 60%), linear-gradient(160deg, var(--ink), var(--ink-950))
}

.page-terms .cta-band::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, transparent, #000 50%, transparent)
}

.page-terms .cta-band::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background-image: radial-gradient(rgba(255, 255, 255, .16) 1.5px, transparent 1.6px);
      background-size: 22px 22px;
      mask-image: radial-gradient(90% 130% at 88% -10%, #000 10%, transparent 62%)
}

.page-terms .cta-band .inner {
      position: relative;
      z-index: 1;
      padding: 62px 24px
}

.page-terms .cta-mark {
      height: 46px;
      margin: 0 auto 22px;
      width: auto;
      opacity: .95
}

.page-terms .cta-band h2 {
      color: #fff;
      font-size: clamp(28px, 3.6vw, 42px);
      max-width: 18ch;
      margin: 0 auto 14px
}

.page-terms .cta-band p {
      color: #bcccdb;
      max-width: 52ch;
      margin: 0 auto 28px
}

.page-terms footer.ft {
      background: radial-gradient(1300px 680px at 80% 118%, rgba(244, 142, 55, .55), transparent 64%), radial-gradient(900px 480px at 14% 112%, rgba(244, 142, 55, .26), transparent 60%), radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .24), transparent 60%), linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #9fb3c6;
      padding: 64px 0 30px
}

.page-terms .ft-top {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1fr;
      gap: 40px;
      padding-bottom: 42px;
      border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.page-terms .ft-logo {
      height: 30px;
      width: auto;
      margin-bottom: 16px
}

.page-terms .ft-top p.blurb {
      font-size: 14px;
      max-width: 38ch;
      line-height: 1.6
}

.page-terms .ft-col h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #7e93a7;
      margin-bottom: 16px;
      font-weight: 500
}

.page-terms .ft-col a,
.page-terms .ft-col span {
      display: block;
      font-size: 14.5px;
      color: #c2d0dd;
      margin-bottom: 10px
}

.page-terms .ft-col a:hover {
      color: #fff
}

.page-terms .ft-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      padding-top: 24px;
      font-size: 13px;
      color: #7e93a7
}

.page-terms .ft-bottom .links a {
      margin-left: 18px;
      color: #9fb3c6
}

.page-terms .ft-bottom .links a:hover {
      color: #fff
}

.page-terms .rv {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1)
}

.page-terms .rv.in {
      opacity: 1;
      transform: none
}

.page-terms header.nav {
      transition: box-shadow .25s ease, background .25s ease
}

.page-terms header.nav.scrolled {
      box-shadow: 0 1px 0 var(--line), 0 10px 28px -18px rgba(11, 36, 56, .28)
}

.page-terms .nav-links a.lnk {
      position: relative
}

.page-terms .nav-links a.lnk::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: -5px;
      height: 2px;
      background: var(--orange);
      transition: right .28s cubic-bezier(.2, .7, .2, 1)
}

.page-terms .nav-links a.lnk:hover::after {
      right: 0
}

.page-terms .pill .dot {
      animation: pulse 2.6s ease-out infinite
}

.page-terms .js-anim .ledger .body>* {
      opacity: 0
}

.page-terms .js-anim.ready .ledger .body>* {
      animation: rowin .5s ease both
}

.page-terms .js-anim.ready .ledger .body>*:nth-child(1) {
      animation-delay: 0s
}

.page-terms .js-anim.ready .ledger .body>*:nth-child(2) {
      animation-delay: .10s
}

.page-terms .js-anim.ready .ledger .body>*:nth-child(3) {
      animation-delay: .20s
}

.page-terms .js-anim.ready .ledger .body>*:nth-child(4) {
      animation-delay: .32s
}

.page-terms .js-anim.ready .ledger .body>*:nth-child(5) {
      animation: popin .55s cubic-bezier(.2, .8, .2, 1) .85s both
}

.page-terms .ledger::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 4;
      background: linear-gradient(115deg, transparent 42%, rgba(244, 142, 55, .14) 50%, transparent 58%);
      transform: translateX(-130%)
}

.page-terms .js-anim.ready .ledger::after {
      animation: sweep 1.15s ease .15s 1
}

.page-terms .js-anim .chip {
      opacity: 0
}

.page-terms .js-anim.ready .chip-a {
      animation: chipin .6s ease .55s both, floaty 6s ease-in-out 1.3s infinite
}

.page-terms .js-anim.ready .chip-b {
      animation: chipin .6s ease .7s both, floaty 7s ease-in-out 1.6s infinite
}

@media (max-width:980px) {
      .page-terms .wrap.wrap {
            padding-left: 20px;
            padding-right: 20px
      }

      .page-terms .hero-in {
            grid-template-columns: 1fr;
            gap: 48px;
            padding: 60px 20px 80px
      }

      .page-terms .hero-actions {
            flex-wrap: nowrap;
            gap: 10px
      }

      .page-terms .hero-actions .btn {
            flex: 1 1 0;
            min-width: 0;
            justify-content: center;
            padding: 13px 10px;
            font-size: 14px
      }

      .page-terms .steps {
            grid-template-columns: repeat(2, 1fr);
            gap: 34px 24px
      }

      .page-terms .steps::before {
            display: none
      }

      .page-terms .grid-svc {
            grid-template-columns: repeat(2, 1fr)
      }

      .page-terms .pricing-grid {
            grid-template-columns: 1fr;
            max-width: 460px;
            margin-left: auto;
            margin-right: auto
      }

      .page-terms .addon-rows {
            grid-template-columns: 1fr
      }

      .page-terms .ft-top {
            grid-template-columns: 1fr 1fr
      }

      .page-terms .nav-links {
            display: none
      }

      .page-terms .menu-btn {
            display: block
      }

      .page-terms .nav-cta .btn-ghost,
      .page-terms .nav-cta .btn-primary {
            display: none
      }

      .page-terms .nav-links.open {
            display: flex;
            position: absolute;
            top: 70px;
            left: 0;
            right: 0;
            flex-direction: column;
            background: var(--paper);
            padding: 18px 24px 22px;
            gap: 6px;
            border-bottom: 1px solid var(--line);
            align-items: stretch;
            box-shadow: 0 18px 36px -20px rgba(11, 36, 56, .4)
      }

      .page-terms .nav-links.open a.lnk {
            font-size: 16px;
            color: var(--ink);
            padding: 12px 4px;
            border-bottom: 1px solid var(--line)
      }

      .page-terms .nav-links.open a.lnk:last-of-type {
            border-bottom: none
      }

      .page-terms .nav-links.open a.lnk::after {
            display: none
      }

      .page-terms .nav-links.open .menu-cta-row {
            display: flex;
            gap: 10px;
            margin-top: 12px
      }

      .page-terms .nav-links.open .menu-cta-row a {
            flex: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .4em;
            font-family: var(--body);
            font-weight: 600;
            font-size: 14.5px;
            padding: 13px 10px;
            border-radius: 999px;
            white-space: nowrap
      }

      .page-terms .nav-links.open .lnk-cta-ghost {
            border: 1px solid var(--line-strong);
            color: var(--ink)
      }

      .page-terms .nav-links.open .lnk-cta {
            background: var(--orange);
            color: #fff;
            box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
      }
}

@media (max-width:560px) {
      .page-terms .section {
            padding: 44px 0
      }

      .page-terms .grid-svc {
            grid-template-columns: 1fr
      }

      .page-terms .chip-a {
            left: -8px;
            top: -16px
      }

      .page-terms .chip-b {
            right: -6px
      }

      .page-terms .ft-top {
            grid-template-columns: 1fr
      }

      .page-terms .nav-logo {
            height: 26px
      }
}

@media (prefers-reduced-motion:reduce) {
      .page-terms * {
            scroll-behavior: auto !important
      }

      .page-terms .rv {
            transition: none;
            opacity: 1;
            transform: none
      }

      .page-terms .btn,
      .page-terms .card,
      .page-terms .btn .arr {
            transition: none
      }

      .page-terms .pill .dot {
            animation: none
      }

      .page-terms .js-anim .ledger .body>*,
      .page-terms .js-anim .chip {
            opacity: 1 !important;
            animation: none !important
      }

      .page-terms .ledger::after {
            display: none
      }
}

body.page-terms {
      line-height: 1.7
}

.page-terms main .wrap {
      max-width: 1160px
}

.page-terms .doc-hero {
      background:
            radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .18), transparent 60%),
            linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #fff;
      padding: 64px 0 56px
}

.page-terms .doc-hero h1 {
      color: #fff;
      font-size: clamp(32px, 5vw, 48px);
      font-weight: 800;
      letter-spacing: -.025em;
      margin: 14px 0 10px
}

.page-terms .doc-hero .updated {
      font-family: var(--mono);
      font-size: 13px;
      color: #9fb3c6
}

.page-terms main {
      padding: 52px 0 72px
}

.page-terms main .lede {
      font-size: 18px;
      color: var(--slate);
      margin: 0 0 36px;
      max-width: none
}

.page-terms .toc {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 22px 26px;
      margin-bottom: 44px;
      box-shadow: var(--shadow)
}

.page-terms .toc h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--slate-2);
      margin-bottom: 14px;
      font-weight: 500
}

.page-terms .toc ol {
      margin: 0;
      padding-left: 20px;
      columns: 2;
      column-gap: 32px
}

.page-terms .toc li {
      margin-bottom: 8px;
      font-size: 14.5px
}

.page-terms .toc a {
      color: var(--ink)
}

.page-terms .toc a:hover {
      color: var(--orange-600)
}

.page-terms main h2 {
      font-size: clamp(21px, 2.6vw, 26px);
      letter-spacing: -.01em;
      margin: 44px 0 14px;
      padding-top: 12px
}

.page-terms main h2 .num {
      color: var(--orange);
      font-family: var(--mono);
      font-size: .7em;
      margin-right: 10px;
      font-weight: 600
}

.page-terms main h3 {
      font-family: var(--display);
      font-weight: 600;
      font-size: 18px;
      margin: 26px 0 10px;
      color: var(--ink)
}

.page-terms main p {
      margin: 0 0 16px;
      color: #2e4359
}

.page-terms main ul {
      margin: 0 0 18px;
      padding-left: 22px
}

.page-terms main li {
      margin-bottom: 9px;
      color: #2e4359
}

.page-terms main a {
      color: var(--orange-600)
}

.page-terms main a:hover {
      text-decoration: underline
}

.page-terms main strong {
      color: var(--ink)
}

.page-terms .callout {
      background: var(--panel-2);
      border-left: 3px solid var(--orange);
      border-radius: 8px;
      padding: 16px 20px;
      margin: 22px 0;
      font-size: 15px;
      color: #2e4359
}

.page-terms .legal {
      font-size: 14.5px;
      color: var(--slate)
}

@media(max-width:640px) {
      .page-terms .toc ol {
            columns: 1
      }
}

/* ===================== privacy-policy.html  (.page-privacy) ===================== */
body.page-privacy {
      --ink: #113554;

      --ink-900: #0B2438;

      --ink-950: #07192a;

      --orange: #f48e37;

      --orange-600: #de7a1e;
      --orange-tint: rgba(244, 142, 55, 0.12);
      --paper: #FAFBFC;

      --panel: #FFFFFF;
      --panel-2: #F2F5F8;

      --slate: #56697B;

      --slate-2: #7E8EA0;
      --line: rgba(17, 53, 85, 0.12);
      --line-strong: rgba(17, 53, 85, 0.22);
      --ring: rgba(244, 142, 55, 0.55);
      --shadow: 0 1px 2px rgba(11, 36, 56, .06), 0 12px 32px -12px rgba(11, 36, 56, .18);
      --shadow-lg: 0 1px 2px rgba(11, 36, 56, .06), 0 30px 70px -28px rgba(11, 36, 56, .40);
      --r: 16px;
      --maxw: 1160px;
      /* --display: "DM Sans", system-ui, sans-serif; */
      /* --body: "Inter", system-ui, sans-serif; */
      --display: "Ubuntu", system-ui, sans-serif;
      --body: "Ubuntu", system-ui, sans-serif;
      --mono: "IBM Plex Mono", ui-monospace, monospace;
}

body.page-privacy {
      font-family: var(--body);
      color: var(--ink);
      background: var(--paper);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
      overflow-x: clip;
}

.page-privacy a {
      color: inherit;
      text-decoration: none
}

.page-privacy img {
      display: block;
      max-width: 100%
}

.page-privacy .wrap {
      max-width: var(--maxw);
      margin: 0 auto;
      padding: 0 var(--gutter)
}

.page-privacy .eyebrow {
      font-family: var(--mono);
      font-size: 12px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--orange-600);
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-weight: 500;
}

.page-privacy .eyebrow::before {
      content: "//";
      color: var(--orange);
      font-weight: 600;
      letter-spacing: -.06em
}

.page-privacy .eyebrow.on-dark {
      color: #f6b27a
}

.page-privacy .eyebrow.on-dark::before {
      color: var(--orange)
}

.page-privacy h1,
.page-privacy h2,
.page-privacy h3 {
      font-family: var(--display);
      font-weight: 700;
      line-height: 1.05;
      letter-spacing: -.02em;
      color: var(--ink)
}

.page-privacy .h2 {
      font-size: clamp(28px, 4vw, 46px);
      margin: 18px 0 14px
}

.page-privacy .h2 .accent {
      color: var(--orange)
}

.page-privacy .lede {
      font-size: clamp(16px, 1.7vw, 18px);
      color: var(--slate);
      max-width: 60ch
}

.page-privacy .section {
      padding: 96px 0
}

.page-privacy #top,
.page-privacy #how,
.page-privacy #services,
.page-privacy #pricing,
.page-privacy #faq {
      scroll-margin-top: 70px
}

.page-privacy .center {
      text-align: center
}

.page-privacy .center .lede {
      margin-left: auto;
      margin-right: auto
}

.page-privacy .btn {
      display: inline-flex;
      align-items: center;
      gap: .55em;
      font-family: var(--body);
      font-weight: 600;
      font-size: 15.5px;
      padding: 13px 22px;
      border-radius: 999px;
      border: 1px solid transparent;
      cursor: pointer;
      transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
      white-space: nowrap;
}

.page-privacy .btn .arr {
      transition: transform .18s ease
}

.page-privacy .btn:hover .arr {
      transform: translateX(3px)
}

.page-privacy .btn-primary {
      background: var(--orange);
      color: #fff;
      box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
}

.page-privacy .btn-primary:hover {
      background: var(--orange-600);
      transform: translateY(-1px)
}

.page-privacy .btn-ghost {
      background: transparent;
      color: var(--ink);
      border-color: var(--line-strong)
}

.page-privacy .btn-ghost:hover {
      border-color: var(--ink);
      background: #fff
}

.page-privacy .btn-on-dark {
      background: #fff;
      color: var(--ink)
}

.page-privacy .btn-on-dark:hover {
      transform: translateY(-1px);
      box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5)
}

.page-privacy .btn-outline-dark {
      background: transparent;
      color: #fff;
      border-color: rgba(255, 255, 255, .28)
}

.page-privacy .btn-outline-dark:hover {
      border-color: #fff;
      background: rgba(255, 255, 255, .06)
}

.page-privacy header.nav {
      position: sticky;
      top: 0;
      z-index: 50;
      background: var(--paper);
      border-bottom: 1px solid var(--line)
}

.page-privacy .nav-in {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 70px
}

.page-privacy .nav-logo {
      height: 30px;
      width: auto
}

.page-privacy .nav-links {
      display: flex;
      align-items: center;
      gap: 30px
}

.page-privacy .nav-links a.lnk {
      font-size: 14.5px;
      color: var(--slate);
      font-weight: 500
}

.page-privacy .nav-links a.lnk:hover {
      color: var(--ink)
}

.page-privacy .nav-links a.lnk[aria-current="page"] {
      color: var(--orange);
      font-weight: 600
}

.page-privacy .nav-links a.lnk[aria-current="page"]::after {
      right: 0
}

.page-privacy .nav-links .menu-cta-row {
      display: none
}

.page-privacy .nav-cta {
      display: flex;
      align-items: center;
      gap: 14px
}

.page-privacy .menu-btn {
      display: none;
      background: none;
      border: 1px solid var(--line-strong);
      border-radius: 11px;
      padding: 11px 12px;
      cursor: pointer
}

.page-privacy .menu-btn span {
      display: block;
      width: 18px;
      height: 2px;
      background: var(--ink);
      margin: 3px 0;
      border-radius: 2px;
      transition: transform .25s ease, opacity .2s ease
}

.page-privacy .menu-btn[aria-expanded="true"] span:nth-child(1) {
      transform: translateY(5px) rotate(45deg)
}

.page-privacy .menu-btn[aria-expanded="true"] span:nth-child(2) {
      opacity: 0
}

.page-privacy .menu-btn[aria-expanded="true"] span:nth-child(3) {
      transform: translateY(-5px) rotate(-45deg)
}

.page-privacy .hero {
      position: relative;
      background:
            radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .18), transparent 60%),
            linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #fff;
      overflow: hidden;
      isolation: isolate
}

.page-privacy .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, #000, transparent 92%);
}

.page-privacy .hero-in {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 54px;
      align-items: center;
      padding: 84px var(--gutter) 96px
}

.page-privacy .pill {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      background: rgba(255, 255, 255, .08);
      border: 1px solid rgba(255, 255, 255, .16);
      padding: 7px 14px;
      border-radius: 999px;
      font-size: 13px;
      color: #dbe6f0;
      font-weight: 500
}

.page-privacy .pill .dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--orange);
      box-shadow: 0 0 0 4px rgba(244, 142, 55, .25)
}

.page-privacy .hero h1 {
      color: #fff;
      font-size: clamp(38px, 5.2vw, 62px);
      font-weight: 800;
      margin: 22px 0 0;
      letter-spacing: -.025em
}

.page-privacy .hero h1 .em {
      color: var(--orange);
      position: relative;
      white-space: nowrap
}

.page-privacy .hero p.sub {
      color: #bcccdb;
      font-size: clamp(16px, 1.8vw, 19px);
      margin: 20px 0 30px;
      max-width: 46ch
}

.page-privacy .hero-actions {
      display: flex;
      gap: 14px;
      flex-wrap: wrap;
      align-items: center
}

.page-privacy .hero-actions .note {
      font-size: 13px;
      color: #9fb3c6;
      font-family: var(--mono)
}

.page-privacy .integ {
      margin-top: 38px;
      border-top: 1px solid rgba(255, 255, 255, .12);
      padding-top: 18px
}

.page-privacy .integ .lbl {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #8aa0b4
}

.page-privacy .integ .row {
      display: flex;
      flex-wrap: wrap;
      gap: 10px 18px;
      margin-top: 12px
}

.page-privacy .integ .row span {
      font-family: var(--mono);
      font-size: 13px;
      color: #cdd9e5;
      font-weight: 500
}

.page-privacy .integ .row span b {
      color: var(--orange);
      font-weight: 600
}

.page-privacy .ledger {
      background: #fff;
      color: var(--ink);
      border-radius: 18px;
      box-shadow: var(--shadow-lg);
      border: 1px solid rgba(255, 255, 255, .5);
      overflow: hidden;
      position: relative
}

.page-privacy .ledger .lh {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 18px;
      border-bottom: 1px solid var(--line)
}

.page-privacy .ledger .lh .tag {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: var(--orange-600);
      font-weight: 600
}

.page-privacy .ledger .lh .per {
      font-family: var(--mono);
      font-size: 12px;
      color: var(--slate)
}

.page-privacy .ledger .body {
      padding: 18px
}

.page-privacy .ledger .prop {
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-bottom: 14px
}

.page-privacy .ledger .prop .name {
      font-weight: 700;
      font-size: 15px
}

.page-privacy .ledger .prop .type {
      font-family: var(--mono);
      font-size: 11px;
      color: var(--slate);
      background: var(--panel-2);
      padding: 3px 9px;
      border-radius: 999px
}

.page-privacy .lrow {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 11px 0;
      border-bottom: 1px dashed var(--line)
}

.page-privacy .lrow .k {
      color: var(--slate);
      font-size: 14px
}

.page-privacy .lrow .v {
      font-family: var(--mono);
      font-weight: 500;
      font-size: 14.5px
}

.page-privacy .lrow.flag {
      border-bottom: none
}

.page-privacy .lrow.flag .k {
      display: flex;
      align-items: center;
      gap: 8px;
      color: var(--orange-600);
      font-weight: 600;
      font-size: 14px
}

.page-privacy .lrow.flag .v {
      color: var(--orange-600);
      font-weight: 600
}

.page-privacy .warn {
      width: 18px;
      height: 18px;
      flex: none
}

.page-privacy .resolved {
      margin-top: 14px;
      display: flex;
      align-items: center;
      gap: 9px;
      background: rgba(22, 128, 86, .08);
      border: 1px solid rgba(22, 128, 86, .2);
      color: #157a52;
      border-radius: 11px;
      padding: 11px 13px;
      font-size: 13.5px;
      font-weight: 600
}

.page-privacy .resolved svg {
      flex: none
}

.page-privacy .chip {
      position: absolute;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 12px;
      box-shadow: var(--shadow);
      padding: 10px 13px;
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 12.5px;
      color: var(--ink);
      z-index: 3
}

.page-privacy .chip .ic {
      width: 30px;
      height: 30px;
      border-radius: 8px;
      display: grid;
      place-items: center;
      flex: none
}

.page-privacy .chip .ic.green {
      background: rgba(22, 128, 86, .12);
      color: #157a52
}

.page-privacy .chip .ic.orange {
      background: var(--orange-tint);
      color: var(--orange-600)
}

.page-privacy .chip small {
      display: block;
      font-family: var(--mono);
      font-size: 10.5px;
      color: var(--slate);
      letter-spacing: .02em;
      margin-top: 1px
}

.page-privacy .chip b {
      font-weight: 600
}

.page-privacy .chip-a {
      top: -40px;
      left: -30px
}

.page-privacy .chip-b {
      bottom: -26px;
      right: -22px
}

.page-privacy .hero-card-wrap {
      position: relative
}

.page-privacy .steps {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 26px;
      margin-top: 54px
}

.page-privacy .steps::before {
      content: "";
      position: absolute;
      top: 24px;
      left: 6%;
      right: 6%;
      height: 2px;
      background-image: repeating-linear-gradient(90deg, var(--line-strong) 0 7px, transparent 7px 14px)
}

.page-privacy .step {
      position: relative
}

.page-privacy .step .num {
      width: 50px;
      height: 50px;
      border-radius: 14px;
      background: var(--ink);
      color: #fff;
      display: grid;
      place-items: center;
      font-family: var(--mono);
      font-weight: 600;
      font-size: 16px;
      position: relative;
      z-index: 2;
      box-shadow: 0 8px 18px -8px rgba(17, 53, 85, .6)
}

.page-privacy .step:nth-child(3) .num {
      background: var(--orange);
      box-shadow: 0 8px 18px -8px rgba(244, 142, 55, .7)
}

.page-privacy .step h3 {
      font-size: 18px;
      margin: 18px 0 8px;
      letter-spacing: -.01em
}

.page-privacy .step p {
      font-size: 14.5px;
      color: var(--slate)
}

.page-privacy .grid-svc {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
      margin-top: 48px
}

.page-privacy .card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 24px;
      position: relative;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease
}

.page-privacy .card:hover {
      transform: translateY(-4px);
      box-shadow: var(--shadow);
      border-color: var(--line-strong)
}

.page-privacy .card .ic {
      width: 42px;
      height: 42px;
      border-radius: 11px;
      background: var(--ink);
      display: grid;
      place-items: center;
      margin-bottom: 16px
}

.page-privacy .card .ic svg {
      stroke: #fff
}

.page-privacy .card.feat .ic {
      background: var(--orange)
}

.page-privacy .card .tag {
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .13em;
      text-transform: uppercase;
      color: var(--slate-2);
      font-weight: 600;
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 3px 9px;
      position: absolute;
      top: 22px;
      right: 22px
}

.page-privacy .card.feat .tag {
      color: var(--orange-600);
      border-color: rgba(244, 142, 55, .35);
      background: var(--orange-tint)
}

.page-privacy .card h3 {
      font-size: 17px;
      letter-spacing: -.01em;
      margin-bottom: 8px;
      padding-right: 70px
}

.page-privacy .card p {
      font-size: 14px;
      color: var(--slate);
      line-height: 1.55
}

.page-privacy .pricing-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      margin-top: 50px;
      align-items: stretch
}

.page-privacy .plan {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 20px;
      padding: 30px 26px;
      position: relative;
      display: flex;
      flex-direction: column
}

.page-privacy .plan.hot {
      border: 1.5px solid var(--orange);
      box-shadow: 0 30px 60px -30px rgba(244, 142, 55, .45);
      overflow: visible
}

.page-privacy .plan .flagtop {
      position: absolute;
      top: -13px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--orange);
      color: #fff;
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .14em;
      text-transform: uppercase;
      font-weight: 600;
      padding: 5px 14px;
      border-radius: 999px;
      white-space: nowrap
}

.page-privacy .plan .pname {
      font-family: var(--display);
      font-weight: 700;
      font-size: 22px
}

.page-privacy .plan .pdesc {
      color: var(--slate);
      font-size: 13.5px;
      margin: 6px 0 18px;
      min-height: 38px
}

.page-privacy .plan .price {
      display: flex;
      align-items: baseline;
      gap: 8px
}

.page-privacy .plan .price .amt {
      font-family: var(--display);
      font-weight: 800;
      font-size: 46px;
      letter-spacing: -.03em
}

.page-privacy .plan .price .per {
      font-family: var(--mono);
      font-size: 12.5px;
      color: var(--slate)
}

.page-privacy .plan .pdiv {
      height: 1px;
      background: var(--line);
      margin: 20px 0
}

.page-privacy .plan ul {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 11px;
      margin-bottom: 24px;
      flex: 1
}

.page-privacy .plan li {
      display: flex;
      gap: 10px;
      font-size: 14px;
      color: #36475a;
      line-height: 1.45
}

.page-privacy .plan li svg {
      flex: none;
      margin-top: 3px
}

.page-privacy .plan .grp {
      font-size: 13px;
      font-weight: 600;
      color: var(--ink);
      margin-bottom: 2px
}

.page-privacy .plan .btn {
      width: 100%;
      justify-content: center
}

.page-privacy .addon {
      margin-top: 22px;
      background: var(--ink-900);
      color: #fff;
      border-radius: 20px;
      padding: 30px;
      background-image: radial-gradient(700px 300px at 90% -20%, rgba(244, 142, 55, .18), transparent 60%), linear-gradient(160deg, var(--ink-900), var(--ink-950))
}

.page-privacy .addon .ah {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 10px;
      margin-bottom: 20px
}

.page-privacy .addon .ah h3 {
      color: #fff;
      font-size: 20px
}

.page-privacy .addon .ah p {
      color: #a9bccd;
      font-size: 13.5px
}

.page-privacy .addon-rows {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px
}

.page-privacy .addon-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      background: rgba(255, 255, 255, .05);
      border: 1px solid rgba(255, 255, 255, .12);
      border-radius: 13px;
      padding: 16px 18px
}

.page-privacy .addon-row .l b {
      font-size: 15px;
      display: block
}

.page-privacy .addon-row .l small {
      color: #9fb3c6;
      font-size: 12.5px
}

.page-privacy .addon-row .r {
      text-align: right;
      white-space: nowrap
}

.page-privacy .addon-row .r b {
      font-family: var(--mono);
      font-size: 18px;
      color: var(--orange)
}

.page-privacy .addon-row .r small {
      display: block;
      font-family: var(--mono);
      font-size: 10.5px;
      color: #9fb3c6
}

.page-privacy .faq {
      max-width: 820px;
      margin: 48px auto 0
}

.page-privacy .qa {
      border: 1px solid var(--line);
      border-radius: 14px;
      margin-bottom: 12px;
      background: #fff;
      overflow: hidden;
      transition: border-color .2s ease
}

.page-privacy .qa[open] {
      border-color: var(--line-strong);
      box-shadow: var(--shadow)
}

.page-privacy .qa summary {
      list-style: none;
      cursor: pointer;
      padding: 20px 22px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      font-weight: 600;
      font-size: 16px;
      color: var(--ink)
}

.page-privacy .qa summary::-webkit-details-marker {
      display: none
}

.page-privacy .qa summary .pm {
      flex: none;
      width: 24px;
      height: 24px;
      border-radius: 50%;
      border: 1px solid var(--line-strong);
      display: grid;
      place-items: center;
      transition: transform .2s ease, background .2s ease
}

.page-privacy .qa[open] summary .pm {
      transform: rotate(45deg);
      background: var(--orange);
      border-color: var(--orange)
}

.page-privacy .qa[open] summary .pm svg {
      stroke: #fff
}

.page-privacy .qa .ans {
      padding: 0 22px 22px;
      color: var(--slate);
      font-size: 15px;
      line-height: 1.6
}

.page-privacy .cta-band {
      position: relative;
      color: #fff;
      text-align: center;
      overflow: hidden;
      background: radial-gradient(800px 400px at 50% -30%, rgba(244, 142, 55, .22), transparent 60%), linear-gradient(160deg, var(--ink), var(--ink-950))
}

.page-privacy .cta-band::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: .5;
      background-image: repeating-linear-gradient(115deg, rgba(255, 255, 255, .05) 0 1px, transparent 1px 26px);
      mask-image: linear-gradient(180deg, transparent, #000 50%, transparent)
}

.page-privacy .cta-band::after {
      content: "";
      position: absolute;
      inset: 0;
      z-index: 0;
      pointer-events: none;
      background-image: radial-gradient(rgba(255, 255, 255, .16) 1.5px, transparent 1.6px);
      background-size: 22px 22px;
      mask-image: radial-gradient(90% 130% at 88% -10%, #000 10%, transparent 62%)
}

.page-privacy .cta-band .inner {
      position: relative;
      z-index: 1;
      padding: 92px 24px
}

.page-privacy .cta-mark {
      height: 46px;
      margin: 0 auto 22px;
      width: auto;
      opacity: .95
}

.page-privacy .cta-band h2 {
      color: #fff;
      font-size: clamp(28px, 3.6vw, 42px);
      max-width: 18ch;
      margin: 0 auto 14px
}

.page-privacy .cta-band p {
      color: #bcccdb;
      max-width: 52ch;
      margin: 0 auto 28px
}

.page-privacy footer.ft {
      background:
            radial-gradient(1300px 680px at 80% 118%, rgba(244, 142, 55, .55), transparent 64%),
            radial-gradient(900px 480px at 14% 112%, rgba(244, 142, 55, .26), transparent 60%),
            radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .24), transparent 60%),
            linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #9fb3c6;
      padding: 64px 0 30px
}

.page-privacy .ft-top {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1fr;
      gap: 40px;
      padding-bottom: 42px;
      border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.page-privacy .ft-logo {
      height: 30px;
      width: auto;
      margin-bottom: 16px
}

.page-privacy .ft-top p.blurb {
      font-size: 14px;
      max-width: 38ch;
      line-height: 1.6
}

.page-privacy .ft-col h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: #7e93a7;
      margin-bottom: 16px;
      font-weight: 500
}

.page-privacy .ft-col a,
.page-privacy .ft-col span {
      display: block;
      font-size: 14.5px;
      color: #c2d0dd;
      margin-bottom: 10px
}

.page-privacy .ft-col a:hover {
      color: #fff
}

.page-privacy .ft-bottom {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 12px;
      padding-top: 24px;
      font-size: 13px;
      color: #7e93a7
}

.page-privacy .ft-bottom .links a {
      margin-left: 18px;
      color: #9fb3c6
}

.page-privacy .ft-bottom .links a:hover {
      color: #fff
}

.page-privacy .rv {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .7s cubic-bezier(.2, .7, .2, 1), transform .7s cubic-bezier(.2, .7, .2, 1)
}

.page-privacy .rv.in {
      opacity: 1;
      transform: none
}

.page-privacy header.nav {
      transition: box-shadow .25s ease, background .25s ease
}

.page-privacy header.nav.scrolled {
      box-shadow: 0 1px 0 var(--line), 0 10px 28px -18px rgba(11, 36, 56, .28)
}

.page-privacy .nav-links a.lnk {
      position: relative
}

.page-privacy .nav-links a.lnk::after {
      content: "";
      position: absolute;
      left: 0;
      right: 100%;
      bottom: -5px;
      height: 2px;
      background: var(--orange);
      transition: right .28s cubic-bezier(.2, .7, .2, 1)
}

.page-privacy .nav-links a.lnk:hover::after {
      right: 0
}

.page-privacy .pill .dot {
      animation: pulse 2.6s ease-out infinite
}

.page-privacy .js-anim .ledger .body>* {
      opacity: 0
}

.page-privacy .js-anim.ready .ledger .body>* {
      animation: rowin .5s ease both
}

.page-privacy .js-anim.ready .ledger .body>*:nth-child(1) {
      animation-delay: 0s
}

.page-privacy .js-anim.ready .ledger .body>*:nth-child(2) {
      animation-delay: .10s
}

.page-privacy .js-anim.ready .ledger .body>*:nth-child(3) {
      animation-delay: .20s
}

.page-privacy .js-anim.ready .ledger .body>*:nth-child(4) {
      animation-delay: .32s
}

.page-privacy .js-anim.ready .ledger .body>*:nth-child(5) {
      animation: popin .55s cubic-bezier(.2, .8, .2, 1) .85s both
}

.page-privacy .ledger::after {
      content: "";
      position: absolute;
      inset: 0;
      pointer-events: none;
      z-index: 4;
      background: linear-gradient(115deg, transparent 42%, rgba(244, 142, 55, .14) 50%, transparent 58%);
      transform: translateX(-130%)
}

.page-privacy .js-anim.ready .ledger::after {
      animation: sweep 1.15s ease .15s 1
}

.page-privacy .js-anim .chip {
      opacity: 0
}

.page-privacy .js-anim.ready .chip-a {
      animation: chipin .6s ease .55s both, floaty 6s ease-in-out 1.3s infinite
}

.page-privacy .js-anim.ready .chip-b {
      animation: chipin .6s ease .7s both, floaty 7s ease-in-out 1.6s infinite
}

@media (max-width:980px) {
      .page-privacy .wrap.wrap {
            padding-left: 20px;
            padding-right: 20px
      }

      .page-privacy .hero-in {
            grid-template-columns: 1fr;
            gap: 48px;
            padding: 60px 20px 80px
      }

      .page-privacy .hero-actions {
            flex-wrap: nowrap;
            gap: 10px
      }

      .page-privacy .hero-actions .btn {
            flex: 1 1 0;
            min-width: 0;
            justify-content: center;
            padding: 13px 10px;
            font-size: 14px
      }

      .page-privacy .steps {
            grid-template-columns: repeat(2, 1fr);
            gap: 34px 24px
      }

      .page-privacy .steps::before {
            display: none
      }

      .page-privacy .grid-svc {
            grid-template-columns: repeat(2, 1fr)
      }

      .page-privacy .pricing-grid {
            grid-template-columns: 1fr;
            max-width: 460px;
            margin-left: auto;
            margin-right: auto
      }

      .page-privacy .addon-rows {
            grid-template-columns: 1fr
      }

      .page-privacy .ft-top {
            grid-template-columns: 1fr 1fr
      }

      .page-privacy .nav-links {
            display: none
      }

      .page-privacy .menu-btn {
            display: block
      }

      .page-privacy .nav-cta .btn-ghost,
      .page-privacy .nav-cta .btn-primary {
            display: none
      }

      .page-privacy .nav-links.open {
            display: flex;
            position: absolute;
            top: 70px;
            left: 0;
            right: 0;
            flex-direction: column;
            background: var(--paper);
            padding: 18px 24px 22px;
            gap: 6px;
            border-bottom: 1px solid var(--line);
            align-items: stretch;
            box-shadow: 0 18px 36px -20px rgba(11, 36, 56, .4)
      }

      .page-privacy .nav-links.open a.lnk {
            font-size: 16px;
            color: var(--ink);
            padding: 12px 4px;
            border-bottom: 1px solid var(--line)
      }

      .page-privacy .nav-links.open a.lnk:last-of-type {
            border-bottom: none
      }

      .page-privacy .nav-links.open a.lnk::after {
            display: none
      }

      .page-privacy .nav-links.open .menu-cta-row {
            display: flex;
            gap: 10px;
            margin-top: 12px
      }

      .page-privacy .nav-links.open .menu-cta-row a {
            flex: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .4em;
            font-family: var(--body);
            font-weight: 600;
            font-size: 14.5px;
            padding: 13px 10px;
            border-radius: 999px;
            white-space: nowrap
      }

      .page-privacy .nav-links.open .lnk-cta-ghost {
            border: 1px solid var(--line-strong);
            color: var(--ink)
      }

      .page-privacy .nav-links.open .lnk-cta {
            background: var(--orange);
            color: #fff;
            box-shadow: 0 8px 20px -8px rgba(244, 142, 55, .7)
      }
}

@media (max-width:560px) {
      .page-privacy .section {
            padding: 68px 0
      }

      .page-privacy .grid-svc {
            grid-template-columns: 1fr
      }

      .page-privacy .chip-a {
            left: -8px;
            top: -16px
      }

      .page-privacy .chip-b {
            right: -6px
      }

      .page-privacy .ft-top {
            grid-template-columns: 1fr
      }

      .page-privacy .nav-logo {
            height: 26px
      }
}

@media (prefers-reduced-motion:reduce) {
      .page-privacy * {
            scroll-behavior: auto !important
      }

      .page-privacy .rv {
            transition: none;
            opacity: 1;
            transform: none
      }

      .page-privacy .btn,
      .page-privacy .card,
      .page-privacy .btn .arr {
            transition: none
      }

      .page-privacy .pill .dot {
            animation: none
      }

      .page-privacy .js-anim .ledger .body>*,
      .page-privacy .js-anim .chip {
            opacity: 1 !important;
            animation: none !important
      }

      .page-privacy .ledger::after {
            display: none
      }
}

body.page-privacy {
      line-height: 1.7
}

.page-privacy main .wrap {
      max-width: 1160px
}

.page-privacy .doc-hero {
      background:
            radial-gradient(1100px 540px at 78% -8%, rgba(244, 142, 55, .18), transparent 60%),
            linear-gradient(160deg, var(--ink) 0%, var(--ink-900) 55%, var(--ink-950) 100%);
      color: #fff;
      padding: 64px 0 56px
}

.page-privacy .doc-hero h1 {
      color: #fff;
      font-size: clamp(32px, 5vw, 48px);
      font-weight: 800;
      letter-spacing: -.025em;
      margin: 14px 0 10px
}

.page-privacy .doc-hero .updated {
      font-family: var(--mono);
      font-size: 13px;
      color: #9fb3c6
}

.page-privacy main {
      padding: 52px 0 72px
}

.page-privacy main .lede {
      font-size: 18px;
      color: var(--slate);
      margin: 0 0 36px;
      max-width: none
}

.page-privacy .toc {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: var(--r);
      padding: 22px 26px;
      margin-bottom: 44px;
      box-shadow: var(--shadow)
}

.page-privacy .toc h4 {
      font-family: var(--mono);
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: var(--slate-2);
      margin-bottom: 14px;
      font-weight: 500
}

.page-privacy .toc ol {
      margin: 0;
      padding-left: 20px;
      columns: 2;
      column-gap: 32px
}

.page-privacy .toc li {
      margin-bottom: 8px;
      font-size: 14.5px
}

.page-privacy .toc a {
      color: var(--ink)
}

.page-privacy .toc a:hover {
      color: var(--orange-600)
}

.page-privacy main h2 {
      font-size: clamp(21px, 2.6vw, 26px);
      letter-spacing: -.01em;
      margin: 44px 0 14px;
      padding-top: 12px
}

.page-privacy main h2 .num {
      color: var(--orange);
      font-family: var(--mono);
      font-size: .7em;
      margin-right: 10px;
      font-weight: 600
}

.page-privacy main h3 {
      font-family: var(--display);
      font-weight: 600;
      font-size: 18px;
      margin: 26px 0 10px;
      color: var(--ink)
}

.page-privacy main p {
      margin: 0 0 16px;
      color: #2e4359
}

.page-privacy main ul {
      margin: 0 0 18px;
      padding-left: 22px
}

.page-privacy main li {
      margin-bottom: 9px;
      color: #2e4359
}

.page-privacy main a {
      color: var(--orange-600)
}

.page-privacy main a:hover {
      text-decoration: underline
}

.page-privacy main strong {
      color: var(--ink)
}

.page-privacy .callout {
      background: var(--panel-2);
      border-left: 3px solid var(--orange);
      border-radius: 8px;
      padding: 16px 20px;
      margin: 22px 0;
      font-size: 15px;
      color: #2e4359
}

.page-privacy .legal {
      font-size: 14.5px;
      color: var(--slate)
}

@media(max-width:640px) {
      .page-privacy .toc ol {
            columns: 1
      }
}

/* ===================== pricing card hover (shared) ===================== */
/* Placed last so it reliably wins over page-scoped .plan / .plan.hot rules.
   --shadow-lg / --line-strong resolve via inheritance from body.page-*. */
.plan {
      transition: transform .24s cubic-bezier(.2, .7, .2, 1), box-shadow .24s ease, border-color .24s ease;
      will-change: transform;
}

.plan:hover {
      transform: translateY(-6px);
      box-shadow: var(--shadow-lg);
      border-color: var(--line-strong);
}

.plan.hot:hover {
      transform: translateY(-8px);
      box-shadow: 0 42px 80px -30px rgba(244, 142, 55, .55);
      border-color: var(--orange);
}

@media (prefers-reduced-motion: reduce) {
      .plan {
            transition: none;
      }

      .plan:hover,
      .plan.hot:hover {
            transform: none;
      }
}

/* ===================== footer navigation: 2 columns (shared) ===================== */
.ft-nav-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0 24px;
}

@media (max-width: 400px) {
      .ft-nav-grid {
            grid-template-columns: 1fr;
      }
}

/* ===================== Airbnb coverage table (page-guide) ===================== */
.page-guide .tax-legend {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 18px;
      margin: 4px 0 16px;
}

.page-guide .tax-legend .lg {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      font-size: 12.5px;
      color: var(--slate);
      font-weight: 500;
}

.page-guide .tax-table-wrap {
      border: 1px solid var(--line);
      border-radius: 14px;
      overflow: hidden;
      box-shadow: var(--shadow);
      margin: 0 0 16px;
}

.page-guide .tax-scroll {
      overflow-x: auto;
}

.page-guide .tax-table {
      width: 100%;
      border-collapse: collapse;
      font-size: 13.5px;
      min-width: 660px;
}

.page-guide .tax-table thead th {
      background: var(--panel-2);
      text-align: left;
      font-family: var(--mono);
      font-size: 10.5px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--slate-2);
      font-weight: 600;
      padding: 12px 16px;
      border-bottom: 1px solid var(--line);
      white-space: nowrap;
}

.page-guide .tax-table tbody td {
      padding: 11px 16px;
      border-bottom: 1px dashed var(--line);
      color: #2e4359;
      vertical-align: top;
      line-height: 1.45;
}

.page-guide .tax-table tbody tr:last-child td {
      border-bottom: none;
}

.page-guide .tax-table tbody tr:hover {
      background: var(--panel-2);
}

.page-guide .tax-table td.state {
      white-space: nowrap;
      font-weight: 600;
}

.page-guide .tax-table td.state a {
      color: var(--ink);
}

.page-guide .tax-table td.state a:hover {
      color: var(--orange-600);
}

.page-guide .tax-cell {
      display: inline-flex;
      align-items: flex-start;
      gap: 9px;
}

.page-guide .tax-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      flex: none;
      background: var(--slate-2);
}

.page-guide .tax-cell .tax-dot {
      margin-top: 6px;
}

.page-guide .st-yes .tax-dot {
      background: #1f9d63;
}

.page-guide .st-partial .tax-dot {
      background: var(--orange);
}

.page-guide .st-no .tax-dot {
      background: #c05a4e;
}

.page-guide .st-na .tax-dot {
      background: var(--slate-2);
}

.page-guide .legal {
      font-size: 13px;
      color: var(--slate);
      margin-top: 4px;
}

/* ===================== Consent preferences card (all pages) =====================
   Soft, non-blocking sticky card pinned bottom-left. Visitors keep full access
   to the site; the card offers Accept all / Reject all / Customize. Self-contained
   colors: the modal is injected on every page (each with its own body.page-* scope). */
.mc-consent {
      --mc-ink: #113554;
      --mc-orange: #f48e37;
      --mc-orange-600: #de7a1e;
      --mc-paper: #FAFBFC;
      --mc-slate: #56697B;
      --mc-line: rgba(17, 53, 85, .14);
      --mc-line-strong: rgba(17, 53, 85, .24);
      position: fixed;
      z-index: 9998;
      left: 20px;
      bottom: 20px;
      width: calc(100% - 40px);
      max-width: 420px;
      font-family: "Ubuntu", system-ui, sans-serif;
      opacity: 0;
      visibility: hidden;
      transform: translateY(18px);
      transition: opacity .3s ease, transform .3s cubic-bezier(.2, .8, .2, 1), visibility .3s ease;
}

.mc-consent.mc-open {
      opacity: 1;
      visibility: visible;
      transform: none;
}

.mc-card {
      background: var(--mc-paper);
      border: 1px solid var(--mc-line);
      border-radius: 16px;
      box-shadow: 0 24px 60px -24px rgba(11, 36, 56, .5);
      padding: 20px 22px;
      max-height: calc(100vh - 40px);
      overflow-y: auto;
}

.mc-card h2 {
      font-family: "Ubuntu", system-ui, sans-serif;
      font-size: 17px;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: -.01em;
      color: var(--mc-ink);
      margin: 0 0 6px;
}

.mc-card p.mc-lede {
      font-size: 13px;
      line-height: 1.5;
      color: var(--mc-slate);
      margin: 0 0 14px;
}

.mc-card p.mc-lede a {
      color: var(--mc-orange-600);
      text-decoration: underline;
}

/* expandable "Customize" region */
.mc-details {
      display: none;
      margin: 0 0 4px;
}

.mc-consent.mc-expanded .mc-details {
      display: block;
}

.mc-consent.mc-expanded .mc-btn-customize {
      display: none;
}

.mc-field {
      margin-bottom: 14px;
}

.mc-field label {
      display: block;
      font-size: 11.5px;
      font-weight: 600;
      color: var(--mc-ink);
      margin-bottom: 5px;
}

.mc-field input[type="email"] {
      width: 100%;
      box-sizing: border-box;
      font-family: inherit;
      font-size: 14px;
      color: var(--mc-ink);
      padding: 10px 12px;
      background: #fff;
      border: 1px solid var(--mc-line-strong);
      border-radius: 8px;
      outline: none;
      transition: border-color .15s ease, box-shadow .15s ease;
}

.mc-field input[type="email"]:focus {
      border-color: var(--mc-orange);
      box-shadow: 0 0 0 3px rgba(244, 142, 55, .18);
}

.mc-group-label {
      font-family: "IBM Plex Mono", ui-monospace, monospace;
      font-size: 10px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: #7E8EA0;
      font-weight: 600;
      margin: 6px 0 8px;
}

.mc-opt {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      cursor: pointer;
      padding: 9px 11px;
      border: 1px solid var(--mc-line);
      border-radius: 10px;
      margin-bottom: 8px;
      background: #fff;
      transition: border-color .15s ease, background .15s ease;
}

.mc-opt:hover {
      border-color: var(--mc-line-strong);
}

.mc-opt.mc-required {
      background: rgba(244, 142, 55, .05);
      border-color: rgba(244, 142, 55, .28);
}

.mc-opt input[type="checkbox"] {
      margin-top: 2px;
      width: 15px;
      height: 15px;
      flex: none;
      accent-color: var(--mc-orange);
      cursor: pointer;
}

.mc-opt .mc-opt-body {
      font-size: 12px;
      line-height: 1.4;
      color: var(--mc-ink);
}

.mc-opt .mc-opt-body b {
      font-weight: 700;
}

.mc-opt .mc-opt-body span {
      display: block;
      color: var(--mc-slate);
      font-weight: 400;
      margin-top: 2px;
}

.mc-opt .mc-opt-body .mc-tag {
      display: inline-block;
      margin-left: 6px;
      font-family: "IBM Plex Mono", ui-monospace, monospace;
      font-size: 8.5px;
      letter-spacing: .08em;
      text-transform: uppercase;
      font-weight: 600;
      color: var(--mc-orange-600);
      background: rgba(244, 142, 55, .14);
      padding: 1px 6px;
      border-radius: 5px;
      vertical-align: 1px;
}

.mc-opt a {
      color: var(--mc-orange-600);
      text-decoration: underline;
}

.mc-err {
      font-size: 11.5px;
      font-weight: 600;
      color: #d64530;
      margin: 2px 0 6px;
      min-height: 0;
}

.mc-err:empty {
      margin: 0;
}

/* action buttons */
.mc-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 12px;
}

.mc-btn {
      flex: 1 1 auto;
      box-sizing: border-box;
      font-family: "Ubuntu", system-ui, sans-serif;
      font-size: 13.5px;
      font-weight: 700;
      border-radius: 8px;
      padding: 11px 12px;
      cursor: pointer;
      border: 1px solid transparent;
      white-space: nowrap;
      transition: background .15s ease, border-color .15s ease, opacity .15s ease, color .15s ease;
}

.mc-btn-primary {
      color: #fff;
      background: var(--mc-orange);
}

.mc-btn-primary:hover:not(:disabled) {
      background: var(--mc-orange-600);
}

.mc-btn-primary:disabled {
      opacity: .5;
      cursor: not-allowed;
}

.mc-btn-ghost {
      color: var(--mc-ink);
      background: transparent;
      border-color: var(--mc-line-strong);
}

.mc-btn-ghost:hover {
      border-color: var(--mc-ink);
}

.mc-btn-customize {
      flex-basis: 100%;
      color: var(--mc-slate);
      background: transparent;
      border-color: var(--mc-line);
      font-size: 13px;
}

.mc-btn-customize:hover {
      border-color: var(--mc-line-strong);
      color: var(--mc-ink);
}

@media (max-width: 480px) {
      .mc-consent {
            left: 12px;
            right: 12px;
            bottom: 12px;
            width: auto;
      }

      .mc-card {
            padding: 18px 18px 16px;
            border-radius: 14px;
      }
}

@media (prefers-reduced-motion: reduce) {
      .mc-consent {
            transition: none;
      }
}

/* Footer — extra breathing room between columns and links (applies to every page footer) */
footer.ft .ft-top {
      gap: 72px;
}

footer.ft .ft-nav-grid {
      gap: 6px 56px;
}

footer.ft .ft-col a,
footer.ft .ft-col span {
      margin-bottom: 16px;
}

@media (max-width: 640px) {
      footer.ft .ft-top {
            gap: 40px;
      }
}

/* ================= pricing comparison table (pricing.html) ================= */
.cmp-wrap {
      max-width: 1120px;
      margin: 44px auto 0;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      border: 1px solid var(--line);
      border-radius: 16px;
      box-shadow: var(--shadow);
}

.cmp-table {
      width: 100%;
      min-width: 780px;
      border-collapse: collapse;
      text-align: left;
      font-size: 15px;
      background: var(--panel);
}

.cmp-table thead tr {
      /* diagonal gradient across the navy shades (darkest -> lightest) */
      background: linear-gradient(100deg, var(--ink-950) 0%, var(--ink-900) 50%, var(--ink) 100%);
}

.cmp-table thead th {
      background: transparent;
      color: #fff;
      font-weight: 700;
      font-size: 12px;
      letter-spacing: .06em;
      text-transform: uppercase;
      padding: 18px 20px;
      white-space: nowrap;
}

.cmp-table thead th.cmp-plan {
      text-align: center;
}

.cmp-table thead th.cmp-featured {
      box-shadow: inset 0 -3px 0 rgba(255, 255, 255, .9);
}

.cmp-plan-name {
      display: block;
}

.cmp-plan-price {
      display: block;
      margin-top: 4px;
      font-size: 11px;
      font-weight: 500;
      letter-spacing: .02em;
      text-transform: none;
      color: rgba(255, 255, 255, .6);
}

.cmp-table tbody td {
      padding: 15px 20px;
      border-top: 1px solid var(--line);
      color: var(--ink);
      vertical-align: middle;
}

.cmp-table tbody tr:nth-child(odd) td {
      background: rgba(244, 142, 55, .05);
}

.cmp-table tbody tr.cmp-group td {
      border-top: 2px solid var(--line-strong);
}

.cmp-cat {
      font-weight: 700;
      color: var(--ink-900);
      font-size: 13px;
      letter-spacing: .01em;
      white-space: nowrap;
}

.cmp-feature {
      color: var(--slate);
      font-weight: 500;
}

.cmp-mark {
      text-align: center;
      width: 130px;
}

.cmp-mark svg {
      display: inline-block;
      vertical-align: middle;
}

@media (max-width: 640px) {
      .cmp-table thead th,
      .cmp-table tbody td {
            padding: 13px 14px;
      }

      .cmp-mark {
            width: auto;
      }
}
/* ================= contact page (contact.html) ================= */
.page-str .contact-wrap {
      display: grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 30px;
      align-items: start;
      text-align: left;
      max-width: 1080px;
      margin: 0 auto;
}

.page-str .contact-card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 20px;
      padding: 30px;
      box-shadow: 0 30px 60px -40px rgba(11, 36, 56, .35);
}

.page-str .contact-card > h2 {
      font-family: var(--display);
      font-weight: 700;
      font-size: 22px;
      color: var(--ink);
      letter-spacing: -.01em;
}

.page-str .contact-card > p.sub {
      color: var(--slate);
      font-size: 14.5px;
      line-height: 1.6;
      margin: 8px 0 22px;
}

/* form */
.page-str .cform .cf-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
}

.page-str .cf-field {
      margin-bottom: 16px;
}

.page-str .cf-field label {
      display: block;
      font-size: 12px;
      font-weight: 600;
      color: var(--ink);
      margin-bottom: 6px;
}

.page-str .cf-field label .opt {
      font-weight: 400;
      color: var(--slate-2);
}

.page-str .cf-field input,
.page-str .cf-field select,
.page-str .cf-field textarea {
      width: 100%;
      box-sizing: border-box;
      font-family: inherit;
      font-size: 14.5px;
      color: var(--ink);
      padding: 12px 13px;
      background: #fff;
      border: 1px solid var(--line-strong);
      border-radius: 10px;
      outline: none;
      transition: border-color .15s ease, box-shadow .15s ease;
}

.page-str .cf-field textarea {
      min-height: 132px;
      resize: vertical;
      line-height: 1.55;
}

.page-str .cf-field select {
      appearance: none;
      -webkit-appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2356697B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 13px center;
      padding-right: 38px;
      cursor: pointer;
}

.page-str .cf-field input::placeholder,
.page-str .cf-field textarea::placeholder {
      color: var(--slate-2);
}

.page-str .cf-field input:focus,
.page-str .cf-field select:focus,
.page-str .cf-field textarea:focus {
      border-color: var(--orange);
      box-shadow: 0 0 0 3px rgba(244, 142, 55, .16);
}

.page-str .cf-consent {
      display: flex;
      gap: 10px;
      align-items: flex-start;
      margin: 4px 0 20px;
}

.page-str .cf-consent input[type="checkbox"] {
      width: 17px;
      height: 17px;
      margin-top: 2px;
      flex-shrink: 0;
      accent-color: var(--orange);
      cursor: pointer;
}

.page-str .cf-consent span {
      font-size: 12.5px;
      color: var(--slate);
      line-height: 1.5;
}

.page-str .cf-consent a {
      color: var(--orange-600);
      font-weight: 600;
}

.page-str .cform .btn {
      width: 100%;
      justify-content: center;
}

.page-str .cf-msg {
      display: none;
      margin-top: 16px;
      padding: 13px 15px;
      border-radius: 11px;
      font-size: 14px;
      line-height: 1.5;
}

.page-str .cf-msg.show {
      display: block;
}

.page-str .cf-msg.ok {
      background: rgba(21, 122, 82, .09);
      border: 1px solid rgba(21, 122, 82, .28);
      color: #157a52;
}

.page-str .cf-msg.bad {
      background: rgba(197, 48, 48, .08);
      border: 1px solid rgba(197, 48, 48, .28);
      color: #b42525;
}

/* aside — contact methods */
.page-str .contact-aside {
      display: flex;
      flex-direction: column;
      gap: 14px;
}

.page-str .cmethod {
      display: flex;
      gap: 14px;
      align-items: flex-start;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 16px;
      padding: 18px 20px;
      transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.page-str .cmethod:hover {
      transform: translateY(-2px);
      box-shadow: var(--shadow);
      border-color: var(--line-strong);
}

.page-str .cmethod .ic {
      width: 42px;
      height: 42px;
      flex-shrink: 0;
      border-radius: 12px;
      background: var(--orange-tint);
      display: grid;
      place-items: center;
}

.page-str .cmethod .ic svg {
      stroke: var(--orange-600);
}

.page-str .cmethod b {
      display: block;
      font-family: var(--display);
      font-weight: 700;
      font-size: 15.5px;
      color: var(--ink);
}

.page-str .cmethod p {
      font-size: 13px;
      color: var(--slate);
      line-height: 1.5;
      margin: 3px 0 7px;
}

.page-str .cmethod a {
      font-size: 13.5px;
      font-weight: 600;
      color: var(--orange-600);
      display: inline-flex;
      align-items: center;
      gap: 5px;
}

.page-str .cmethod a:hover {
      text-decoration: underline;
}

.page-str .contact-aside .aside-note {
      background: var(--ink);
      border-radius: 16px;
      padding: 20px 22px;
      color: #cdd9e5;
}

.page-str .contact-aside .aside-note b {
      display: block;
      font-family: var(--display);
      color: #fff;
      font-size: 15.5px;
      margin-bottom: 6px;
}

.page-str .contact-aside .aside-note span {
      font-size: 13px;
      line-height: 1.55;
}

@media (max-width: 860px) {
      .page-str .contact-wrap {
            grid-template-columns: 1fr;
            gap: 22px;
      }
}

@media (max-width: 520px) {
      .page-str .contact-card {
            padding: 22px 20px;
      }

      .page-str .cform .cf-row {
            grid-template-columns: 1fr;
            gap: 0;
      }
}

/* ---- contact success modal (contact.html) ---- */
.cm-modal {
      position: fixed;
      inset: 0;
      z-index: 1000;
      display: grid;
      place-items: center;
      padding: 20px;
}

.cm-modal[hidden] {
      display: none;
}

.cm-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(7, 25, 42, .55);
      backdrop-filter: blur(3px);
      -webkit-backdrop-filter: blur(3px);
      opacity: 0;
      transition: opacity .22s ease;
}

.cm-modal.open .cm-backdrop {
      opacity: 1;
}

.cm-dialog {
      position: relative;
      z-index: 1;
      width: 100%;
      max-width: 420px;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 20px;
      padding: 34px 32px 30px;
      text-align: center;
      box-shadow: 0 40px 80px -30px rgba(7, 25, 42, .6);
      transform: translateY(10px) scale(.97);
      opacity: 0;
      transition: transform .24s cubic-bezier(.2, .8, .2, 1), opacity .24s ease;
}

.cm-modal.open .cm-dialog {
      transform: translateY(0) scale(1);
      opacity: 1;
}

.cm-x {
      position: absolute;
      top: 14px;
      right: 14px;
      width: 32px;
      height: 32px;
      display: grid;
      place-items: center;
      border: none;
      border-radius: 9px;
      background: transparent;
      color: var(--slate);
      cursor: pointer;
      transition: background .15s ease, color .15s ease;
}

.cm-x:hover {
      background: var(--panel-2);
      color: var(--ink);
}

.cm-icon {
      width: 66px;
      height: 66px;
      margin: 4px auto 18px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      color: #fff;
      background: #157a52;
      box-shadow: 0 0 0 8px rgba(21, 122, 82, .12);
}

.cm-dialog h2 {
      font-family: var(--display);
      font-weight: 800;
      font-size: 23px;
      color: var(--ink);
      letter-spacing: -.01em;
      margin: 0;
}

.cm-dialog p {
      font-size: 15px;
      line-height: 1.6;
      color: var(--slate);
      margin: 10px 0 24px;
}

.cm-dialog .cm-done {
      width: 100%;
      justify-content: center;
}

@media (prefers-reduced-motion: reduce) {
      .cm-backdrop,
      .cm-dialog {
            transition: none;
      }
}
