:root {
    color-scheme: light;
    --ink: #10243d;
    --ink-soft: #52657c;
    --paper: #f7f5ef;
    --white: #ffffff;
    --navy: #0c1d33;
    --navy-2: #132c49;
    --blue: #176bd1;
    --blue-soft: #dcecff;
    --cyan: #46e6ff;
    --violet: #8b71ff;
    --night: #061221;
    --night-soft: #0b1d32;
    --copper: #c87838;
    --copper-soft: #f7e3d2;
    --mint: #24c79a;
    --line: #d9e0e8;
    --shadow: 0 24px 70px rgba(16, 36, 61, .12);
    --radius: 28px;
}

/* Policy centre */
.policy-hero {
    background:
        radial-gradient(circle at 84% 18%, rgba(120, 87, 255, 0.24), transparent 31rem),
        radial-gradient(circle at 12% 76%, rgba(33, 211, 181, 0.15), transparent 28rem),
        #0a1c31;
    color: #fff;
    border-bottom: 1px solid rgba(112, 171, 233, 0.2);
}

.policy-hero h1 {
    max-width: 880px;
}

.policy-hero > p:last-child {
    color: #b9cbe0;
    max-width: 790px;
}

.policy-status {
    background: #fff4ce;
    border-bottom: 1px solid #e5d59a;
    color: #283c57;
    display: grid;
    grid-template-columns: minmax(210px, 0.34fr) minmax(0, 1fr);
    gap: 36px;
    align-items: start;
    padding-top: 34px;
    padding-bottom: 34px;
}

.policy-status strong {
    color: #112740;
    font-size: 1.04rem;
}

.policy-status p {
    margin: 0;
    line-height: 1.7;
}

.policy-index {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    background: #f4f8fc;
    border-bottom: 1px solid #d9e4ef;
    padding-top: 38px;
    padding-bottom: 38px;
}

.policy-index a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 17px 18px;
    border: 1px solid #ccd9e6;
    border-radius: 16px;
    background: #fff;
    color: #18314f;
    font-weight: 800;
    text-decoration: none;
    transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.policy-index a:hover,
.policy-index a:focus-visible {
    border-color: #1f6ed7;
    box-shadow: 0 12px 28px rgba(17, 45, 78, 0.1);
    transform: translateY(-2px);
}

.policy-index span {
    color: #1970dc;
    font-size: 0.75rem;
    letter-spacing: 0.12em;
}

.policy-section {
    display: grid;
    grid-template-columns: minmax(250px, 0.38fr) minmax(0, 1fr);
    gap: clamp(38px, 7vw, 100px);
    border-bottom: 1px solid #dce5ee;
    background: #fff;
}

.policy-section:nth-of-type(even) {
    background: #f7f9fc;
}

.policy-heading {
    align-self: start;
    position: sticky;
    top: 112px;
}

.policy-heading > span {
    display: inline-flex;
    width: 46px;
    height: 46px;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
    border-radius: 14px;
    background: #e3efff;
    color: #1769cf;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.policy-heading h2 {
    margin: 8px 0 0;
    color: #10243d;
    font-size: clamp(2rem, 3.6vw, 3.7rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.policy-copy {
    max-width: 850px;
    color: #465f7d;
    line-height: 1.75;
}

.policy-copy h3 {
    margin: 0 0 10px;
    padding-top: 8px;
    color: #122b48;
    font-size: 1.3rem;
}

.policy-copy h3:not(:first-child) {
    margin-top: 34px;
}

.policy-copy p {
    margin: 0 0 17px;
}

.policy-copy ul,
.policy-copy ol {
    display: grid;
    gap: 10px;
    margin: 14px 0 24px;
    padding-left: 23px;
}

.policy-copy li::marker {
    color: #2477da;
    font-weight: 900;
}

.provider-policy {
    background:
        linear-gradient(135deg, rgba(222, 243, 237, 0.62), transparent 54%),
        #f7faf8 !important;
}

.provider-policy-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 28px 0;
}

.provider-policy-grid article {
    display: flex;
    flex-direction: column;
    min-height: 210px;
    padding: 24px;
    border: 1px solid #d1e0dc;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.88);
}

.provider-policy-grid h3,
.provider-policy-grid h3:not(:first-child) {
    margin: 0 0 8px;
    padding: 0;
}

.provider-policy-grid p {
    margin-bottom: 18px;
}

.provider-policy-grid a {
    margin-top: auto;
    color: #075fbd;
    font-weight: 850;
    text-underline-offset: 4px;
}

.policy-callout {
    margin-top: 30px;
    padding: 25px 27px;
    border: 1px solid #bdcfe1;
    border-left: 5px solid #1b70d7;
    border-radius: 16px;
    background: #eef6ff;
    color: #304d6b;
}

.policy-callout strong {
    display: block;
    margin-bottom: 6px;
    color: #102b48;
    font-size: 1.12rem;
}

.policy-callout p {
    margin: 0;
}

.cancellation-policy {
    background:
        radial-gradient(circle at 90% 20%, rgba(248, 203, 117, 0.18), transparent 28rem),
        #fff !important;
}

.policy-source-list {
    display: grid;
    gap: 8px;
    margin-top: 32px;
    padding: 25px;
    border: 1px solid #d7e1eb;
    border-radius: 18px;
    background: #f5f8fc;
}

.policy-source-list h3 {
    margin: 0 0 8px;
    padding: 0;
}

.policy-source-list a {
    color: #075fbd;
    font-weight: 760;
    text-underline-offset: 4px;
}

.policy-closing {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 40px;
    background: #0d233c;
    color: #fff;
}

.policy-closing h2 {
    max-width: 760px;
    margin: 7px 0 12px;
    font-size: clamp(2.2rem, 4.2vw, 4.4rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.policy-closing p:not(.eyebrow) {
    max-width: 780px;
    color: #b8cbdf;
    line-height: 1.7;
}

@media (max-width: 860px) {
    .policy-status,
    .policy-section {
        grid-template-columns: 1fr;
    }

    .policy-index {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .policy-heading {
        position: static;
    }

    .policy-heading h2 {
        max-width: 650px;
    }
}

@media (max-width: 620px) {
    .policy-index,
    .provider-policy-grid {
        grid-template-columns: 1fr;
    }

    .provider-policy-grid article {
        min-height: 0;
    }

    .policy-closing {
        align-items: stretch;
        flex-direction: column;
    }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid #59a8ff; outline-offset: 4px; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 100; background: var(--navy); color: white; padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { top: 16px; }
.section-pad { padding: 112px max(5vw, 28px); }

.site-header { position: sticky; top: 0; z-index: 50; min-height: 80px; padding: 12px max(5vw, 28px); display: flex; align-items: center; justify-content: space-between; gap: 24px; color: white; background: rgba(6, 18, 33, .9); border-bottom: 1px solid rgba(141, 218, 255, .12); box-shadow: 0 12px 35px rgba(2, 9, 18, .16); backdrop-filter: blur(22px); }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-mark { position: relative; width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; color: white; background: linear-gradient(145deg, #168bdd, #7354e8); box-shadow: 0 0 0 5px rgba(78, 187, 255, .06), 0 12px 30px rgba(50, 102, 230, .28); font-weight: 900; letter-spacing: -.08em; }
.brand-mark::after { content: ""; position: absolute; inset: 5px; border: 1px solid rgba(255,255,255,.18); border-radius: 10px; pointer-events: none; }
.brand strong { display: block; letter-spacing: .08em; font-size: .98rem; }
.brand small { display: block; color: #89a2bb; font-size: .72rem; }
.site-nav { display: flex; align-items: center; gap: 6px; }
.site-nav a { padding: 10px 13px; text-decoration: none; border-radius: 999px; font-size: .92rem; font-weight: 750; color: #a9bed1; }
.site-nav a:hover, .site-nav a[aria-current="page"] { background: rgba(255,255,255,.07); color: white; }
.site-nav .nav-cta { margin-left: 8px; padding-inline: 18px; border: 1px solid rgba(70, 230, 255, .24); background: linear-gradient(135deg, rgba(37, 137, 215, .32), rgba(123, 84, 232, .32)); color: white; }
.site-nav .nav-cta:hover { border-color: rgba(70, 230, 255, .58); background: linear-gradient(135deg, #176bd1, #6748d8); color: white; }
.nav-toggle { display: none; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: white; border-radius: 12px; padding: 9px 12px; font-weight: 800; }

@media (max-width: 1120px) {
    .site-header { padding-inline: 18px; }
    .nav-toggle { display: block; }
    .site-nav { position: absolute; left: 14px; right: 14px; top: 72px; display: none; flex-direction: column; align-items: stretch; padding: 12px; border: 1px solid rgba(137, 203, 245, .16); border-radius: 18px; background: rgba(8, 24, 42, .98); box-shadow: 0 22px 50px rgba(0,0,0,.34); }
    .site-nav.open { display: flex; }
    .site-nav a { text-align: center; }
    .site-nav .nav-cta { margin: 0; }
}

.hero { position: relative; min-height: 820px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(520px, 1.08fr); align-items: center; gap: 5vw; overflow: hidden; color: white; background: radial-gradient(circle at 80% 18%, rgba(47, 124, 255, .2), transparent 30%), radial-gradient(circle at 16% 86%, rgba(113, 66, 220, .18), transparent 34%), linear-gradient(145deg, #06111f 0%, #08182a 52%, #061322 100%); isolation: isolate; }
.hero-atmosphere { position: absolute; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; }
.hero-grid { position: absolute; inset: -15%; opacity: .2; background-image: linear-gradient(rgba(96, 190, 255, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(96, 190, 255, .12) 1px, transparent 1px); background-size: 72px 72px; transform: perspective(700px) rotateX(58deg) translateY(31%); transform-origin: center bottom; mask-image: linear-gradient(to bottom, transparent 4%, black 48%, transparent 94%); animation: grid-drift 22s linear infinite; }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(1px); opacity: .72; }
.hero-orb-one { width: 420px; height: 420px; right: -120px; top: -140px; border: 1px solid rgba(81, 182, 255, .18); box-shadow: inset 0 0 110px rgba(36, 123, 242, .11), 0 0 120px rgba(36, 123, 242, .09); animation: orb-breathe 9s ease-in-out infinite; }
.hero-orb-two { width: 260px; height: 260px; left: 41%; bottom: -180px; border: 1px solid rgba(139, 113, 255, .2); box-shadow: inset 0 0 80px rgba(139, 113, 255, .12), 0 0 100px rgba(139, 113, 255, .08); animation: orb-breathe 11s 2s ease-in-out infinite; }
.data-beam { position: absolute; height: 1px; width: 42vw; overflow: visible; background: linear-gradient(90deg, transparent, rgba(70, 230, 255, .22), transparent); transform-origin: left center; }
.data-beam i { position: absolute; top: -2px; width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px 3px rgba(70, 230, 255, .7); animation: beam-travel 6s linear infinite; }
.data-beam-one { left: -4vw; top: 26%; transform: rotate(8deg); }.data-beam-two { left: 14vw; top: 76%; transform: rotate(-7deg); }.data-beam-three { right: -10vw; top: 49%; transform: rotate(176deg); }
.data-beam-two i { animation-delay: -2.4s; }.data-beam-three i { animation-delay: -4.1s; }
.hero-copy { position: relative; z-index: 2; max-width: 790px; }
.eyebrow { margin: 0 0 13px; color: var(--blue); text-transform: uppercase; letter-spacing: .14em; font-size: .76rem; font-weight: 900; }
.hero .eyebrow { color: #78dcff; }
.status-pill { width: fit-content; display: flex; align-items: center; gap: 9px; margin-bottom: 26px; padding: 8px 13px; border: 1px solid #b7d7cb; border-radius: 999px; background: #e9f8f2; color: #12674f; font-size: .78rem; font-weight: 850; }
.hero .status-pill { border-color: rgba(76, 226, 184, .24); background: rgba(24, 124, 101, .17); color: #a8f1dc; backdrop-filter: blur(12px); }
.status-pill span { width: 9px; height: 9px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 5px rgba(36, 199, 154, .14); }
.hero .status-pill span { box-shadow: 0 0 0 5px rgba(36, 199, 154, .12), 0 0 16px rgba(36, 199, 154, .7); }
h1, h2, h3, p { margin-top: 0; }
h1 { max-width: 790px; margin-bottom: 24px; font-size: clamp(3.2rem, 6.4vw, 6.6rem); line-height: .96; letter-spacing: -.065em; }
.hero h1 { max-width: 850px; margin-bottom: 25px; font-size: clamp(3.25rem, 5.25vw, 5.6rem); line-height: .98; letter-spacing: -.058em; text-wrap: balance; }
.hero h1 span { display: block; color: transparent; background: linear-gradient(100deg, #64dcff 0%, #85a9ff 45%, #b993ff 100%); background-clip: text; -webkit-background-clip: text; }
h2 { margin-bottom: 18px; font-size: clamp(2.2rem, 4vw, 4.2rem); line-height: 1.02; letter-spacing: -.05em; }
h3 { font-size: 1.3rem; line-height: 1.2; }
.hero-lede { max-width: 750px; margin-bottom: 17px; color: #b7c9da; font-size: clamp(1.05rem, 1.35vw, 1.22rem); line-height: 1.68; }
.hero-promise { max-width: 720px; margin-bottom: 30px; padding-left: 16px; border-left: 2px solid rgba(70, 230, 255, .48); color: #809ab1; font-size: .94rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-bottom: 30px; }
.button { display: inline-flex; min-height: 49px; align-items: center; justify-content: center; padding: 12px 20px; border: 1px solid transparent; border-radius: 13px; text-decoration: none; font-weight: 850; transition: transform .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.button.primary { color: white; background: linear-gradient(135deg, #137bd0, #6b4fe1); box-shadow: 0 14px 35px rgba(46, 105, 230, .27), inset 0 1px rgba(255,255,255,.16); }
.button.primary:hover { box-shadow: 0 18px 40px rgba(46, 105, 230, .36); transform: translateY(-2px); }
.button.secondary { border-color: #bdc9d7; background: rgba(255,255,255,.7); color: var(--ink); }
.hero .button.secondary { border-color: rgba(150, 197, 230, .2); background: rgba(255,255,255,.055); color: #d8e8f5; backdrop-filter: blur(12px); }
.button.secondary:hover { background: white; border-color: #7f94ab; }
.hero .button.secondary:hover { border-color: rgba(70, 230, 255, .46); background: rgba(255,255,255,.1); color: white; }
.button.disabled { cursor: not-allowed; color: #8996a7; background: #e9edf1; }
.service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 20px; max-width: 560px; margin: 0; padding: 0; list-style: none; color: #a6bbce; font-size: .82rem; font-weight: 760; }
.service-list li { display: flex; align-items: center; gap: 9px; }
.service-list span { display: inline-grid; width: 27px; height: 27px; place-items: center; border: 1px solid rgba(112, 190, 242, .18); border-radius: 8px; color: #70d3f4; background: rgba(50, 128, 188, .08); font-size: .62rem; letter-spacing: .06em; }

.hero-visual { --pointer-x: 0px; --pointer-y: 0px; position: relative; z-index: 2; min-height: 620px; display: flex; flex-direction: column; padding: 24px; overflow: hidden; border: 1px solid rgba(123, 199, 255, .18); border-radius: 36px; color: white; background: linear-gradient(145deg, rgba(17, 43, 70, .88), rgba(8, 24, 42, .92)); box-shadow: 0 45px 100px rgba(0, 4, 12, .46), inset 0 1px rgba(255,255,255,.07); backdrop-filter: blur(24px); transform: translate3d(var(--pointer-x), var(--pointer-y), 0); transition: transform .2s ease-out; isolation: isolate; }
.hero-visual::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(circle at 82% 13%, rgba(62, 148, 255, .25), transparent 28%), radial-gradient(circle at 5% 92%, rgba(139, 113, 255, .2), transparent 34%); }
.hero-visual::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .15; background-image: linear-gradient(rgba(138, 204, 255, .13) 1px, transparent 1px), linear-gradient(90deg, rgba(138, 204, 255, .13) 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(130deg, black, transparent 68%); }
.visual-topbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 0 5px 21px; border-bottom: 1px solid rgba(255,255,255,.08); color: #8ea7bd; font-size: .67rem; letter-spacing: .12em; }
.visual-topbar > div { display: flex; align-items: center; gap: 9px; }.visual-topbar b { color: #d9eaf7; font-size: .68rem; }.visual-topbar small { font-size: .67rem; }
.live-indicator { width: 8px; height: 8px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 5px rgba(36, 199, 154, .09), 0 0 14px rgba(36, 199, 154, .8); animation: live-pulse 2.4s ease-in-out infinite; }
.flow-stage { flex: 1; display: grid; grid-template-columns: minmax(155px, .88fr) 106px minmax(225px, 1.2fr); gap: 9px; align-items: center; padding: 27px 0 23px; }
.source-stack { display: flex; flex-direction: column; gap: 10px; }
.source-card { position: relative; display: grid; grid-template-columns: 36px 1fr; gap: 10px; align-items: center; min-height: 65px; padding: 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(255,255,255,.045); box-shadow: 0 10px 22px rgba(0,0,0,.12); backdrop-filter: blur(12px); animation: card-breathe 7s ease-in-out infinite; }
.source-card:nth-child(2) { animation-delay: -1.6s; }.source-card:nth-child(3) { animation-delay: -3.2s; }.source-card:nth-child(4) { animation-delay: -4.8s; }
.source-card::after { content: ""; position: absolute; right: -40px; top: 50%; width: 39px; height: 1px; background: linear-gradient(90deg, var(--source-color), rgba(255,255,255,.08)); }
.source-card > i { position: absolute; right: -42px; top: calc(50% - 2px); width: 5px; height: 5px; border-radius: 50%; background: var(--source-color); box-shadow: 0 0 10px var(--source-color); animation: source-signal 2.8s linear infinite; }
.source-card:nth-child(2) > i { animation-delay: -.7s; }.source-card:nth-child(3) > i { animation-delay: -1.4s; }.source-card:nth-child(4) > i { animation-delay: -2.1s; }
.source-web { --source-color: #4ad9ff; }.source-call { --source-color: #a589ff; }.source-stock { --source-color: #45dfad; }.source-legacy { --source-color: #ff9f62; }
.source-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; color: var(--source-color); background: color-mix(in srgb, var(--source-color) 13%, transparent); font-size: .92rem; font-weight: 900; }
.source-card b { display: block; color: #dcebf7; font-size: .76rem; line-height: 1.25; }.source-card small { display: block; margin-top: 4px; color: #748da4; font-size: .63rem; line-height: 1.25; }
.flow-router { position: relative; height: 152px; display: grid; place-items: center; }
.router-ring { position: absolute; border: 1px solid rgba(89, 191, 255, .17); border-radius: 50%; animation: router-pulse 4s ease-out infinite; }.router-ring-one { width: 104px; height: 104px; }.router-ring-two { width: 142px; height: 142px; animation-delay: -2s; }
.router-core { position: relative; z-index: 1; width: 76px; height: 76px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 12px; border: 1px solid rgba(120, 211, 255, .35); border-radius: 23px; background: linear-gradient(145deg, rgba(33, 130, 210, .75), rgba(100, 68, 201, .72)); box-shadow: 0 0 35px rgba(48, 128, 235, .3), inset 0 1px rgba(255,255,255,.22); transform: rotate(45deg); }
.router-core strong, .router-core small { transform: rotate(-45deg); }.router-core strong { font-size: 1.1rem; }.router-core small { color: #d8d0ff; font-size: .48rem; line-height: 1.2; text-transform: uppercase; }
.destination-panel { padding: 15px; border: 1px solid rgba(110, 191, 245, .13); border-radius: 20px; background: rgba(4, 15, 27, .54); box-shadow: 0 20px 45px rgba(0,0,0,.23); }
.destination-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; padding: 1px 3px 10px; border-bottom: 1px solid rgba(255,255,255,.07); }.destination-header > div { display: flex; align-items: center; gap: 7px; }.destination-header span { width: 7px; height: 7px; border-radius: 50%; background: #51d8ff; box-shadow: 0 0 12px rgba(81,216,255,.9); }.destination-header b { font-size: .71rem; letter-spacing: .05em; }.destination-header small { color: #45dcae; font-size: .53rem; letter-spacing: .12em; }
.destination-row { position: relative; display: grid; grid-template-columns: 31px 1fr auto; gap: 8px; align-items: center; min-height: 60px; padding: 7px 4px; border-bottom: 1px solid rgba(255,255,255,.055); }.destination-row:last-of-type { border-bottom: 0; }.destination-row b { display: block; color: #cfe1ee; font-size: .67rem; line-height: 1.2; }.destination-row small { display: block; margin-top: 4px; color: #667f95; font-size: .57rem; line-height: 1.2; }.destination-row em { padding: 4px 6px; border-radius: 99px; color: #76ddff; background: rgba(49, 164, 222, .11); font-size: .5rem; font-style: normal; font-weight: 900; white-space: nowrap; }.destination-row > i { position: absolute; left: -18px; width: 8px; height: 8px; border-radius: 50%; background: #45cfff; box-shadow: 0 0 0 5px rgba(69, 207, 255, .08), 0 0 13px rgba(69,207,255,.75); }
.destination-row.reviewed { opacity: .48; }.folder-shape { position: relative; width: 27px; height: 20px; display: block; border-radius: 4px; background: linear-gradient(145deg, #448eb7, #275578); }.folder-shape::before { content: ""; position: absolute; left: 2px; top: -4px; width: 12px; height: 6px; border-radius: 3px 3px 0 0; background: #448eb7; }
.direct-path { display: grid; grid-template-columns: 32px 1fr; gap: 9px; align-items: center; margin-top: 11px; padding: 10px; border: 1px solid rgba(66, 220, 172, .15); border-radius: 12px; background: rgba(28, 150, 113, .08); }.direct-path > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 9px; color: #66e3bc; background: rgba(59, 204, 159, .1); font-weight: 900; }.direct-path b { display: block; color: #bfe9dc; font-size: .64rem; }.direct-path small { display: block; margin-top: 3px; color: #638d80; font-size: .54rem; }
.visual-footer { display: flex; justify-content: center; align-items: center; gap: 9px; padding: 14px 3px 0; border-top: 1px solid rgba(255,255,255,.08); color: #5d7890; font-size: .52rem; letter-spacing: .12em; }.visual-footer i { width: 22px; height: 1px; background: linear-gradient(90deg, #315e7d, #806acb); }

@keyframes grid-drift { to { background-position: 72px 72px; } }
@keyframes beam-travel { 0% { left: 0; opacity: 0; } 12%, 82% { opacity: 1; } 100% { left: 100%; opacity: 0; } }
@keyframes orb-breathe { 0%, 100% { transform: scale(.96); opacity: .48; } 50% { transform: scale(1.06); opacity: .78; } }
@keyframes live-pulse { 0%, 100% { opacity: .7; } 50% { opacity: 1; box-shadow: 0 0 0 7px rgba(36, 199, 154, .04), 0 0 18px rgba(36, 199, 154, .95); } }
@keyframes card-breathe { 0%, 100% { border-color: rgba(255,255,255,.075); background: rgba(255,255,255,.04); } 50% { border-color: color-mix(in srgb, var(--source-color) 20%, transparent); background: rgba(255,255,255,.065); } }
@keyframes source-signal { 0% { transform: translateX(-34px); opacity: 0; } 18%, 72% { opacity: 1; } 100% { transform: translateX(38px); opacity: 0; } }
@keyframes router-pulse { 0% { transform: scale(.63); opacity: 0; } 28% { opacity: .8; } 100% { transform: scale(1.08); opacity: 0; } }

.proof-strip { display: grid; grid-template-columns: repeat(4, 1fr); background: white; border-block: 1px solid var(--line); }
.proof-strip div { min-height: 118px; display: flex; flex-direction: column; justify-content: center; padding: 24px max(2.3vw, 22px); border-right: 1px solid var(--line); }
.proof-strip div:last-child { border-right: 0; }
.proof-strip strong { margin-bottom: 5px; font-size: 1.14rem; }.proof-strip span { color: var(--ink-soft); font-size: .87rem; }

.section-heading { max-width: 790px; margin-bottom: 48px; }.section-heading > p:last-child { color: var(--ink-soft); font-size: 1.05rem; }
.workflow { background: white; }
.steps { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); list-style: none; }
.steps li { position: relative; min-height: 255px; padding: 32px 28px 20px 0; border-right: 1px solid var(--line); }
.steps li:not(:first-child) { padding-left: 28px; }
.steps li:last-child { border-right: 0; }.steps li > span { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 36px; border-radius: 50%; color: var(--blue); background: var(--blue-soft); font-weight: 900; }
.steps h3 { margin-bottom: 10px; }.steps p { color: var(--ink-soft); font-size: .92rem; }

.modules { color: white; background: var(--navy); }
.light-heading .eyebrow { color: #77baff; }.light-heading > p:last-child { color: #adc1d6; }
.module-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.module-card { position: relative; min-height: 370px; padding: 35px; overflow: hidden; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); background: linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.03)); }
.module-card::after { content: ""; position: absolute; right: -70px; bottom: -80px; width: 230px; height: 230px; border-radius: 50%; background: var(--module-glow); filter: blur(2px); opacity: .24; }
.module-card.intake-card { --module-glow: #4ba0ff; }.module-card.answering-card { --module-glow: #ef8c48; }.module-card.inventory-card { --module-glow: #42d3a8; }.module-card.legacy-card { --module-glow: #aa82ff; }
.module-number { color: #8faac3; font-size: .76rem; font-weight: 900; letter-spacing: .14em; }
.module-icon { width: 58px; height: 58px; display: grid; place-items: center; margin: 23px 0 30px; border-radius: 18px; color: white; background: rgba(255,255,255,.13); font-size: 1.5rem; font-weight: 900; }
.module-icon svg { width: 31px; height: 31px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2.35; stroke-linecap: round; stroke-linejoin: round; }
.module-card h3 { margin-bottom: 14px; font-size: 1.7rem; }.module-card p { max-width: 590px; color: #b8cade; }.module-card ul { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 0; padding: 0; list-style: none; }
.module-card li { padding: 7px 10px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: #dbe8f5; font-size: .78rem; }

.lead-focus { background: linear-gradient(135deg, #eaf3fc, #f7efe7); }
.lead-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; align-items: center; max-width: 1500px; margin: auto; }
.lead-panel > *, .privacy > *, .hero > *, .flow-stage > *, .boundary-diagram > * { min-width: 0; }
.lead-panel p:not(.eyebrow) { color: var(--ink-soft); font-size: 1.05rem; }
.folder-demo { min-width: 0; padding: 22px; border: 1px solid rgba(16,36,61,.1); border-radius: 26px; background: rgba(255,255,255,.78); box-shadow: var(--shadow); }
.folder-row { position: relative; display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 12px; align-items: center; min-height: 78px; padding: 14px 20px; border-bottom: 1px solid var(--line); }
.folder-row b { overflow-wrap: anywhere; }
.folder-row:last-child { border-bottom: 0; }.folder-icon { width: 42px; height: 34px; display: grid; place-items: center; color: #d69b39; background: #fff2c7; border-radius: 8px; }.folder-row small { color: var(--blue); font-weight: 850; }.folder-row i { position: absolute; left: 11px; top: 12px; width: 10px; height: 10px; border-radius: 50%; background: var(--blue); }.folder-row.seen { opacity: .58; }.folder-row.seen small { color: var(--ink-soft); }

.pricing { background: white; }
.price-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.price-card { position: relative; min-height: 330px; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: #fbfcfd; }
.price-card.featured { border-color: var(--blue); box-shadow: 0 18px 50px rgba(23,107,209,.13); }
.price-card em { position: absolute; right: 18px; top: -12px; padding: 6px 9px; border-radius: 999px; color: white; background: var(--blue); font-size: .7rem; font-style: normal; font-weight: 900; }
.price-card > span { margin-bottom: 24px; font-weight: 850; }.price-card > strong { font-size: 2.4rem; line-height: 1; letter-spacing: -.05em; }.price-card > small { margin: 6px 0 24px; color: var(--ink-soft); }.price-card p { color: var(--ink-soft); font-size: .9rem; }.price-card hr { width: 100%; margin: auto 0 18px; border: 0; border-top: 1px solid var(--line); }.price-card > b { font-size: .85rem; }
.pricing-note { margin: 22px 0 0; color: var(--ink-soft); font-size: .82rem; }

.privacy { display: grid; grid-template-columns: minmax(0,.8fr) minmax(500px,1.2fr); gap: 7vw; align-items: center; background: #edf4ed; }
.privacy-copy > p:not(.eyebrow) { color: var(--ink-soft); font-size: 1.05rem; }.privacy-copy .privacy-lede { max-width: 680px; color: var(--ink); font-size: 1.18rem; font-weight: 760; line-height: 1.55; }.privacy-copy .privacy-promise { margin: 26px 0; padding: 17px 19px; border-left: 3px solid var(--blue); border-radius: 0 12px 12px 0; background: rgba(255,255,255,.58); font-size: .94rem; }.privacy-promise strong { display: block; margin-top: 4px; color: var(--ink); font-size: 1.02rem; }.text-link { display: inline-flex; gap: 7px; align-items: center; color: var(--blue); font-weight: 900; text-decoration: none; }.text-link:hover span { transform: translateX(4px); }
.boundary-diagram { display: grid; grid-template-columns: 1fr 90px 1fr; align-items: stretch; padding: 28px; border-radius: var(--radius); background: white; box-shadow: var(--shadow); }
.boundary-business, .boundary-owner { display: flex; flex-direction: column; gap: 9px; padding: 22px; border-radius: 19px; }.boundary-business { background: #e8f3ff; }.boundary-owner { background: #f7ede4; }.boundary-diagram strong { margin-bottom: 10px; }.boundary-diagram span { padding: 8px 10px; border-radius: 8px; background: rgba(255,255,255,.72); font-size: .82rem; }
.boundary-divider { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; }.boundary-divider i { height: 75%; border-left: 2px dotted #9fb0c0; }.boundary-divider small { color: var(--ink-soft); writing-mode: vertical-rl; font-size: .68rem; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }

.beta { color: white; background: var(--navy); }.beta-card { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: center; max-width: 1400px; margin: auto; padding: 52px; border: 1px solid rgba(255,255,255,.13); border-radius: 32px; background: radial-gradient(circle at 90% 20%, rgba(89,168,255,.24), transparent 28%), linear-gradient(145deg,#173b61,#102744); }
.beta-card h2 { max-width: 800px; }.beta-card p:not(.eyebrow) { max-width: 800px; color: #b9cce0; }.beta-card .eyebrow { color: #7bbcff; }.beta-actions { display: flex; flex-direction: column; gap: 18px; align-items: center; }.light-link { color: white; }.light-button { background: white; color: var(--navy); }

.faq { background: white; }.faq-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }.faq details { padding: 23px; border: 1px solid var(--line); border-radius: 17px; background: #fbfcfd; }.faq summary { cursor: pointer; font-weight: 850; }.faq details p { margin: 16px 0 0; color: var(--ink-soft); font-size: .9rem; }.faq-more { display: flex; align-items: center; gap: 20px; margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--line); }.faq-more span { max-width: 620px; color: var(--ink-soft); font-size: .88rem; }

.faq-hero { background: radial-gradient(circle at 82% 18%, rgba(70,230,255,.18), transparent 24%), radial-gradient(circle at 12% 85%, rgba(139,113,255,.2), transparent 30%), var(--night); }.faq-hero h1 { max-width: 1100px; }.faq-overview { background: white; }.faq-overview > div:first-child { max-width: 760px; }.data-answer-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin-top: 40px; }.data-answer-grid article { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: #f8fafc; }.data-answer-grid article:first-child { background: #eaf4ff; }.data-answer-grid article:last-child { background: #f7eee6; }.data-answer-grid article > span { display: inline-block; margin-bottom: 26px; color: var(--blue); font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }.data-answer-grid h3 { font-size: 1.55rem; }.data-answer-grid p, .data-answer-grid li { color: var(--ink-soft); font-size: .93rem; }.data-answer-grid ul { margin: 20px 0 0; padding-left: 19px; }.data-answer-grid li { margin: 7px 0; }.not-stored-callout { margin-top: 18px; padding: 22px 25px; border-left: 4px solid var(--blue); border-radius: 0 17px 17px 0; background: #eef4f9; color: var(--ink-soft); }.not-stored-callout strong { color: var(--ink); }.provider-disclosure { max-width: 1100px; margin: 28px 0 0; color: var(--ink-soft); font-size: .88rem; }
.faq-library { background: var(--paper); }.faq-category { padding: 72px 0; border-top: 1px solid var(--line); }.faq-category:first-child { padding-top: 0; border-top: 0; }.faq-category-heading { display: grid; grid-template-columns: 76px minmax(0, 760px); gap: 24px; align-items: start; margin-bottom: 34px; }.faq-category-heading > span { width: 56px; height: 56px; display: grid; place-items: center; border: 1px solid #bcd8f3; border-radius: 18px; color: var(--blue); background: #e8f3ff; font-size: .75rem; font-weight: 900; letter-spacing: .08em; }.faq-category-heading h2 { font-size: clamp(2rem, 3.6vw, 3.5rem); }.faq-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-left: 100px; }.faq-list details { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: white; }.faq-list summary { cursor: pointer; color: var(--ink); font-weight: 850; line-height: 1.4; }.faq-list details[open] { border-color: #9dc8ee; box-shadow: 0 14px 35px rgba(16,36,61,.07); }.faq-list details p { margin: 17px 0 0; color: var(--ink-soft); font-size: .91rem; }.faq-closing { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; background: #edf4ed; }.faq-closing > div { max-width: 850px; }.faq-closing p:not(.eyebrow) { color: var(--ink-soft); }

.site-footer { display: grid; grid-template-columns: 1fr auto 1fr; gap: 30px; align-items: center; padding: 34px max(5vw,28px); color: #aebfd0; background: #081626; font-size: .82rem; }.footer-brand { color: white; }.footer-brand small { color: #91a7bb; }.footer-links { display: flex; gap: 18px; }.footer-links a { text-decoration: none; }.site-footer > p { margin: 0; text-align: right; }

.page-hero { min-height: 500px; display: flex; flex-direction: column; justify-content: center; color: white; background: radial-gradient(circle at 85% 20%, rgba(89,168,255,.3), transparent 30%), var(--navy); }.page-hero h1 { max-width: 980px; }.page-hero > p:last-child { max-width: 820px; color: #bbcee0; font-size: 1.15rem; }.page-hero .eyebrow { color: #77baff; }
.boundary-content { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; background: white; }.boundary-column { padding: 42px; border-radius: var(--radius); }.boundary-column > span { display: inline-block; margin-bottom: 35px; padding: 7px 10px; border-radius: 999px; font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }.boundary-column ul { padding-left: 20px; }.boundary-column li { margin: 10px 0; }.boundary-column p { margin: 30px 0 0; color: var(--ink-soft); }.business-column { background: #eaf4ff; }.business-column > span { color: #07529c; background: #cee6ff; }.owner-column { background: #f8ece2; }.owner-column > span { color: #814015; background: #f1d4bc; }
.principles { background: var(--paper); }.principle-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }.principle-grid article { min-height: 190px; padding: 25px; border: 1px solid var(--line); border-radius: 18px; background: white; }.principle-grid b { font-size: 1.05rem; }.principle-grid p { margin: 15px 0 0; color: var(--ink-soft); font-size: .9rem; }
.disclosure { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 40px; background: white; }.disclosure > div { max-width: 900px; }.disclosure p { color: var(--ink-soft); }
.release-hero .status-pill { margin-bottom: 35px; }.milestones { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; background: white; }.milestone { min-height: 330px; padding: 34px; border-radius: var(--radius); }.milestone > span { display: inline-block; margin-bottom: 60px; padding: 7px 10px; border-radius: 999px; font-size: .72rem; font-weight: 900; text-transform: uppercase; }.milestone h2 { font-size: 2rem; }.milestone p { color: var(--ink-soft); }.milestone.complete { background: #e9f7f1; }.milestone.complete > span { color: #0c654b; background: #c8eddf; }.milestone.active { background: #e9f3ff; }.milestone.active > span { color: #0756a4; background: #cbe3ff; }.milestone.locked { background: #f7eee5; }.milestone.locked > span { color: #804417; background: #f0d6c1; }
.release-list { display: grid; grid-template-columns: .8fr 1.2fr; gap: 6vw; align-items: start; }.release-list ul { margin: 0; padding: 0; list-style: none; }.release-list li { padding: 18px 0 18px 34px; border-bottom: 1px solid var(--line); position: relative; }.release-list li::before { content: "✓"; position: absolute; left: 0; color: var(--mint); font-weight: 1000; }.future-list { background: white; }.future-list li::before { content: "—"; color: var(--copper); }

@media (max-width: 1100px) {
    .hero { grid-template-columns: 1fr; }.hero-copy { max-width: 860px; }.hero-visual { min-height: 570px; }.proof-strip { grid-template-columns: repeat(2,1fr); }.proof-strip div:nth-child(2) { border-right: 0; }.proof-strip div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.faq-list { margin-left: 0; }
    .steps { grid-template-columns: repeat(2,1fr); }.steps li:nth-child(2) { border-right: 0; }.steps li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }.price-grid { grid-template-columns: repeat(2,1fr); }.privacy { grid-template-columns: 1fr; }.principle-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 760px) {
    .section-pad { padding: 78px 22px; }.site-header { padding-inline: 18px; }.brand small { display: none; }.nav-toggle { display: block; }.site-nav { position: absolute; left: 14px; right: 14px; top: 72px; display: none; flex-direction: column; align-items: stretch; padding: 12px; border: 1px solid rgba(137, 203, 245, .16); border-radius: 18px; background: rgba(8, 24, 42, .98); box-shadow: 0 22px 50px rgba(0,0,0,.34); }.site-nav.open { display: flex; }.site-nav a { text-align: center; }.site-nav .nav-cta { margin: 0; }
    .hero { min-height: auto; padding-top: 90px; }.hero h1 { font-size: clamp(2.8rem, 12.5vw, 3.9rem); }.hero-lede { font-size: 1rem; }.hero-promise { font-size: .87rem; }.hero-grid { background-size: 48px 48px; }.service-list { gap: 8px 11px; }.hero-visual { min-height: auto; padding: 17px; border-radius: 28px; }.visual-topbar { padding-bottom: 15px; }.visual-topbar small { display: none; }.flow-stage { grid-template-columns: 1fr; gap: 16px; padding-block: 19px; }.source-stack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }.source-card { min-height: 62px; grid-template-columns: 31px 1fr; gap: 8px; padding: 8px; }.source-icon { width: 31px; height: 31px; }.source-card::after, .source-card > i { display: none; }.flow-router { height: 96px; }.router-ring-one { width: 78px; height: 78px; }.router-ring-two { width: 105px; height: 105px; }.router-core { width: 64px; height: 64px; border-radius: 20px; }.destination-panel { padding: 12px; }.visual-footer { gap: 6px; }.visual-footer i { width: 11px; }
    .proof-strip, .steps, .module-grid, .lead-panel, .price-grid, .faq-grid, .boundary-content, .principle-grid, .milestones, .release-list, .data-answer-grid, .faq-list, .faq-closing { grid-template-columns: 1fr; }.proof-strip div { border-right: 0; border-bottom: 1px solid var(--line); }.steps li, .steps li:not(:first-child) { min-height: auto; padding: 28px 0; border-right: 0; border-bottom: 1px solid var(--line); }.steps li > span { margin-bottom: 18px; }.module-card { min-height: 340px; padding: 28px; }.boundary-diagram { grid-template-columns: 1fr; }.boundary-divider { height: 72px; }.boundary-divider i { width: 60%; height: auto; border-left: 0; border-top: 2px dotted #9fb0c0; }.boundary-divider small { writing-mode: initial; }.beta-card, .disclosure { grid-template-columns: 1fr; padding: 30px; }.site-footer { grid-template-columns: 1fr; text-align: center; }.footer-brand, .footer-links { justify-content: center; }.site-footer > p { text-align: center; }.boundary-column { padding: 28px; }.milestone { min-height: auto; }.milestone > span { margin-bottom: 35px; }.faq-more { align-items: flex-start; flex-direction: column; }.faq-category { padding-block: 52px; }.faq-category-heading { grid-template-columns: 50px minmax(0,1fr); gap: 14px; }.faq-category-heading > span { width: 44px; height: 44px; border-radius: 14px; }.faq-list { margin-left: 0; }.data-answer-grid article { padding: 26px; }
}

@media (max-width: 460px) {
    .service-list { grid-template-columns: 1fr; }.source-stack { grid-template-columns: 1fr; }.source-card { min-height: 58px; }.visual-footer { justify-content: space-between; }.visual-footer i { display: none; }.folder-demo { padding: 12px; }.folder-row { grid-template-columns: 38px minmax(0,1fr); gap: 9px; padding: 12px 9px; }.folder-row small { grid-column: 2; }.folder-row i { left: 3px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Policy identity and full-document system */
.policy-identity,
.policy-documents {
    display: grid;
    grid-template-columns: minmax(250px, .55fr) minmax(0, 1.45fr);
    gap: clamp(38px, 7vw, 100px);
    align-items: start;
}

.policy-identity {
    color: white;
    background:
        radial-gradient(circle at 88% 20%, rgba(70, 230, 255, .14), transparent 28rem),
        linear-gradient(145deg, #102d4d, #0a1c31);
}

.policy-identity .eyebrow,
.policy-documents .eyebrow {
    margin: 0 0 12px;
}

.policy-identity h2,
.policy-documents h2 {
    margin: 0;
    font-size: clamp(2rem, 3.6vw, 3.7rem);
    line-height: 1;
    letter-spacing: -.045em;
}

.policy-identity dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.policy-identity dl div {
    padding: 22px;
    border: 1px solid rgba(150, 204, 255, .16);
    border-radius: 17px;
    background: rgba(255, 255, 255, .06);
}

.policy-identity dt {
    margin-bottom: 8px;
    color: #7dbdff;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.policy-identity dd {
    margin: 0;
    color: #dceafa;
    line-height: 1.55;
}

.policy-documents {
    background: #eef5fb;
    border-bottom: 1px solid #d7e4ef;
}

.policy-document-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.policy-document-grid a {
    min-height: 190px;
    display: flex;
    flex-direction: column;
    padding: 25px;
    border: 1px solid #cbdbea;
    border-radius: 20px;
    background: white;
    color: var(--ink);
    text-decoration: none;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.policy-document-grid a:hover,
.policy-document-grid a:focus-visible {
    border-color: var(--blue);
    box-shadow: 0 16px 38px rgba(16, 36, 61, .1);
    transform: translateY(-3px);
}

.policy-document-grid span {
    color: var(--blue);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.policy-document-grid strong {
    margin: 20px 0 10px;
    font-size: 1.24rem;
}

.policy-document-grid small {
    color: var(--ink-soft);
    font-size: .87rem;
    line-height: 1.6;
}

.legal-hero {
    min-height: 470px;
}

.privacy-hero {
    background: radial-gradient(circle at 83% 18%, rgba(36, 199, 154, .26), transparent 28rem), var(--navy);
}

.terms-hero {
    background: radial-gradient(circle at 83% 18%, rgba(139, 113, 255, .28), transparent 28rem), var(--navy);
}

.billing-hero {
    background: radial-gradient(circle at 83% 18%, rgba(200, 120, 56, .3), transparent 28rem), var(--navy);
}

.use-hero {
    background: radial-gradient(circle at 83% 18%, rgba(70, 230, 255, .2), transparent 28rem), var(--navy);
}

.provider-hero {
    background:
        radial-gradient(circle at 84% 18%, rgba(70, 230, 255, .22), transparent 25rem),
        radial-gradient(circle at 62% 85%, rgba(139, 113, 255, .16), transparent 30rem),
        var(--navy);
}

.legal-identity {
    padding-top: 31px;
    padding-bottom: 31px;
    border-bottom: 1px solid #e5d59a;
    background: #fff4ce;
    color: #2b405a;
}

.legal-identity strong {
    display: block;
    margin-bottom: 8px;
    color: #10243d;
}

.legal-identity p {
    max-width: 1160px;
    margin: 0;
}

.legal-document {
    display: grid;
    grid-template-columns: minmax(220px, .3fr) minmax(0, 1fr);
    gap: clamp(42px, 7vw, 110px);
    align-items: start;
    background: white;
}

.legal-toc {
    position: sticky;
    top: 112px;
    display: grid;
    gap: 4px;
    padding: 21px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #f7f9fc;
}

.legal-toc strong {
    margin: 0 10px 12px;
    color: var(--ink);
}

.legal-toc a {
    padding: 8px 10px;
    border-radius: 9px;
    color: var(--ink-soft);
    font-size: .85rem;
    font-weight: 750;
    text-decoration: none;
}

.legal-toc a:hover,
.legal-toc a:focus-visible {
    background: #e5f0fc;
    color: var(--blue);
}

.legal-copy {
    max-width: 920px;
}

.legal-copy > section {
    padding: 0 0 55px;
    margin: 0 0 55px;
    border-bottom: 1px solid var(--line);
    scroll-margin-top: 115px;
}

.legal-copy > section:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: 0;
}

.legal-copy h2 {
    margin: 0 0 20px;
    font-size: clamp(1.65rem, 2.5vw, 2.45rem);
    line-height: 1.15;
    letter-spacing: -.035em;
}

.legal-copy h3 {
    margin: 30px 0 10px;
    font-size: 1.1rem;
}

.legal-copy p,
.legal-copy li {
    color: var(--ink-soft);
}

.legal-copy ul,
.legal-copy ol {
    display: grid;
    gap: 9px;
    padding-left: 22px;
}

.legal-copy li::marker {
    color: var(--blue);
    font-weight: 900;
}

.legal-sources {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 26px;
    padding: 17px;
    border-radius: 14px;
    background: #edf4fa;
}

.legal-sources strong {
    width: 100%;
    margin-bottom: 3px;
}

.legal-sources a {
    padding: 6px 9px;
    border: 1px solid #c8daeb;
    border-radius: 999px;
    color: #135dae;
    background: white;
    font-size: .77rem;
    font-weight: 800;
    text-decoration: none;
}

.policy-callout {
    margin: 25px 0;
    padding: 20px;
    border-left: 4px solid var(--blue);
    border-radius: 0 15px 15px 0;
    background: #edf5fc;
}

.policy-callout strong {
    color: var(--ink);
}

.policy-callout p {
    margin: 6px 0 0;
}

.legal-price-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 24px 0;
}

.legal-price-grid div {
    display: grid;
    gap: 6px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #f8fafc;
}

.legal-price-grid span {
    color: var(--blue);
    font-weight: 850;
}

.provider-document {
    background: linear-gradient(180deg, #f8fbff 0, #fff 24rem);
}

.provider-directory {
    max-width: 980px;
}

.provider-detail {
    position: relative;
    padding: 34px !important;
    margin-bottom: 26px !important;
    border: 1px solid #d9e4ef !important;
    border-radius: 23px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 18px 55px rgba(20, 49, 78, .06);
}

.provider-label {
    display: inline-flex;
    margin: 0 0 14px !important;
    padding: 6px 10px;
    border: 1px solid #bed8f1;
    border-radius: 999px;
    color: #0b64bf !important;
    background: #edf6ff;
    font-size: .71rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.provider-link-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 24px;
}

.provider-link-grid a,
.provider-scope a {
    padding: 8px 11px;
    border: 1px solid #c8daeb;
    border-radius: 10px;
    color: #075fbd;
    background: #f8fbff;
    font-size: .8rem;
    font-weight: 800;
    line-height: 1.35;
    text-decoration: none;
}

.provider-link-grid a:hover,
.provider-link-grid a:focus-visible,
.provider-scope a:hover,
.provider-scope a:focus-visible {
    border-color: #73ade2;
    background: #eaf4ff;
}

.provider-scope {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
    margin-top: 24px;
}

.provider-scope article {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    padding: 20px;
    border: 1px solid #d8e3ee;
    border-radius: 16px;
    background: #f8fafc;
}

.provider-scope h3 {
    margin: 0 0 4px;
    color: var(--ink);
}

@media (max-width: 860px) {
    .policy-identity,
    .policy-documents,
    .legal-document {
        grid-template-columns: 1fr;
    }

    .legal-toc {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .legal-toc strong {
        grid-column: 1 / -1;
    }

    .provider-scope {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .policy-identity dl,
    .policy-document-grid,
    .legal-price-grid,
    .legal-toc {
        grid-template-columns: 1fr;
    }

    .policy-document-grid a {
        min-height: 0;
    }

    .legal-toc strong {
        grid-column: auto;
    }

    .provider-detail {
        padding: 24px !important;
    }

    .provider-link-grid {
        align-items: stretch;
        flex-direction: column;
    }
}
