@font-face {
    font-family:'Sora';
    src:url('fonts/sora.woff2') format('woff2');
    font-style:normal;
    font-weight:100 800;
    font-display:swap;
}
@font-face {
    font-family:'DM Sans';
    src:url('fonts/dmsans.woff2') format('woff2');
    font-style:normal;
    font-weight:100 900;
    font-display:swap;
}
:root {
    --orange:#f97316;
    --orange-ink:#c2410c;
    --orange-hover:#fb923c;
    --orange-light:#fff0e8;
    --ink:#282c27;
    --muted:#596052;
    --paper:#faf8f1;
    --cream:#f0ede2;
    --white:#fffefa;
    --sage:#e2e8d9;
    --green:#314f3c;
    --border:#dcded2;
    --radius:20px;
    --radius-small:12px;
    --shadow:0 16px 40px #282c2710;
    --space-1:4px;
    --space-2:8px;
    --space-3:12px;
    --space-4:16px;
    --space-6:24px;
    --space-8:32px;
    --space-12:48px;
    --space-16:64px;
    --space-24:96px;
    --feedback:150ms;
    --disclosure:240ms;
    --panel:340ms;
    --entrance:560ms;
    --settle:cubic-bezier(.22,1,.36,1);
    --standard:cubic-bezier(.2,0,.2,1);
    font-family:'DM Sans',Arial,sans-serif;
    color:var(--ink);
    background:var(--paper);
    font-synthesis:none;
    color-scheme:light;
}
* {
    box-sizing:border-box;
}
body {
    margin:0;
}
h1,h2,h3,p,figure {
    margin:0;
}
a {
    color:inherit;
    text-decoration:none;
}
button,input,select,textarea {
    font:inherit;
}
button,a,summary {
    -webkit-tap-highlight-color:transparent;
}
button,summary {
    cursor:pointer;
}
img,svg {
    max-width:100%;
    display:block;
}
button {
    color:inherit;
}
h1,h2,h3 {
    font-family:'Sora',Arial,sans-serif;
    font-weight:600;
    letter-spacing:-.05em;
}
h1 {
    font-size:clamp(40px,4.6vw,68px);
    line-height:1.08;
}
h2 {
    font-size:clamp(32px,3.3vw,48px);
    line-height:1.12;
}
h3 {
    font-size:22px;
    line-height:1.25;
    letter-spacing:-.035em;
}
em {
    font-family:Georgia,serif;
    font-weight:400;
    color:var(--ink);
    letter-spacing:-.05em;
}
p {
    font-size:17px;
    line-height:1.7;
    color:var(--muted);
}
p+p {
    margin-top:16px;
}
::selection {
    background:#e9c9af;
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible {
    outline:3px solid var(--orange-ink);
    outline-offset:5px;
    border-radius:4px;
}
[hidden] {
    display:none!important;
}
.shell {
    width:min(1232px,calc(100% - 96px));
    margin-inline:auto;
}
.section {
    padding-block:96px;
}
section[id],article[id] {
    scroll-margin-top:110px;
}
.eyebrow {
    display:block;
    font-size:11px;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
    line-height:1.6;
    color:var(--green);
    margin-bottom:20px;
}
.small-copy {
    font-size:13px;
    line-height:1.65;
    margin-top:24px;
}
.text-link {
    display:inline-flex;
    align-items:center;
    gap:12px;
    min-height:44px;
    font-size:14px;
    font-weight:600;
    text-decoration:underline;
    text-decoration-color:#62685f66;
    text-underline-offset:5px;
}
.cta-icon {
    width:20px;
    height:20px;
    flex:none;
    vertical-align:middle;
}
.text-link .cta-icon,.professional-link .cta-icon {
    transition:transform var(--feedback) var(--standard);
}
.text-link:hover .cta-icon,.professional-link:hover .cta-icon {
    transform:translateX(2px);
}
.text-link:hover {
    color:var(--orange-ink);
}
.button {
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:24px;
    min-height:52px;
    border:1px solid transparent;
    border-radius:8px;
    background:var(--orange);
    /* Ink, not white: white on this orange is 2.78:1 and fails AA. */
    color:var(--ink);
    padding:14px 22px;
    font-size:14px;
    font-weight:600;
    line-height:1.45;
    text-align:center;
    transition:background var(--feedback),color var(--feedback),transform var(--feedback),border-color var(--feedback);
}
.button .cta-icon {
    transition:transform var(--feedback);
}
.button:hover {
    background:var(--orange-hover);
}
.button:hover .cta-icon {
    transform:translateX(2px);
}
.button:hover .cta-icon-download,.button:hover .cta-icon-arrow-down,.text-link:hover .cta-icon-download,.text-link:hover .cta-icon-arrow-down {
    transform:translateY(2px);
}
.button:active,button:active {
    transform:scale(.98);
}
.button:disabled {
    opacity:.55;
    cursor:default;
    transform:none;
}
.button.secondary {
    background:transparent;
    border-color:var(--border);
    color:var(--ink);
}
.button.secondary:hover {
    border-color:var(--orange-ink);
    background:var(--orange-light);
}
.button.small {
    min-height:44px;
    padding:10px 16px;
    font-size:13px;
    gap:18px;
}
.actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px;
    margin-block:28px;
}
.skip {
    position:fixed;
    top:8px;
    left:16px;
    padding:16px;
    background:white;
    transform:translateY(-150%);
    z-index:10000;
}
.skip:focus {
    transform:none;
}
.sr-only {
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
}
.site-header {
    position:sticky;
    top:0;
    z-index:50;
    background:var(--paper);
    border-bottom:1px solid var(--border);
}
.header-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    height:88px;
}
.brand {
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    white-space:nowrap;
}
.brand img {
    object-fit:contain;
    padding:2px;
}
.brand>span {
    font-size:24px;
    font-weight:700;
    letter-spacing:-1.2px;
}
.brand-dot {
    color:var(--orange);
}
.desktop-nav {
    display:flex;
    gap:28px;
    align-items:center;
}
.desktop-nav a {
    font-size:13px;
    min-height:44px;
    display:flex;
    align-items:center;
    transition:color var(--feedback);
}
.desktop-nav a:hover,.desktop-nav a[aria-current] {
    color:var(--orange-ink);
}
.menu-trigger,.icon-button {
    background:transparent;
    border:1px solid var(--border);
    border-radius:8px;
    width:44px;
    height:44px;
    font-size:24px;
}
.menu-trigger {
    display:none;
}
.fallback-nav {
    display:none;
}
.menu-dialog {
    position:fixed;
    inset:0 0 0 auto;
    margin:0;
    width:min(420px,100%);
    height:100dvh;
    max-height:none;
    max-width:100%;
    padding:24px;
    border:0;
    background:var(--paper);
    overflow-y:auto;
    color:var(--ink);
}
.menu-dialog::backdrop {
    background:#17221b66;
    animation:backdrop-in var(--disclosure);
}
.menu-dialog[open] {
    animation:menu-in var(--disclosure) var(--settle);
}
.menu-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:36px;
}
.menu-head .eyebrow {
    margin:0;
}
.menu-dialog nav {
    display:flex;
    flex-direction:column;
    margin-bottom:32px;
}
.menu-dialog nav a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:20px 0;
    border-bottom:1px solid var(--border);
    font-size:20px;
}
.menu-dialog .button {
    width:100%;
}
body.menu-open {
    overflow:hidden;
}
.hero {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    align-items:center;
    padding-block:72px 64px;
}
.hero-copy>p {
    max-width:460px;
    margin-top:24px;
}
.hero-copy .eyebrow {
    display:flex;
    gap:8px;
    align-items:center;
}
.status-dot {
    width:7px;
    height:7px;
    background:var(--orange);
    border-radius:50%;
    flex:none;
}
.professional-link {
    display:inline-flex;
    align-items:center;
    gap:16px;
    min-height:44px;
    font-size:13px;
    border-bottom:1px solid var(--border);
}
.professional-link:hover {
    color:var(--orange-ink);
}
.hero-footnote {
    display:flex;
    gap:14px;
    margin-top:28px;
    font-size:11px;
    color:var(--muted);
}
.hero-footnote span {
    display:flex;
    align-items:center;
    gap:5px;
}
.hero-footnote span:before {
    content:'✓';
    color:var(--green);
    font-size:13px;
}
.hero-art {
    position:relative;
    min-width:0;
    height:540px;
    border-radius:50% 50% 16px 16px;
    background:var(--cream);
}
.house-art {
    position:absolute;
    inset:40px -8px auto;
    width:100%;
    height:auto;
}
.art-caption {
    position:absolute;
    top:30px;
    left:27%;
    font:italic 17px Georgia,serif;
    z-index:1;
    color:var(--green);
    transform:rotate(-4deg);
}
.art-caption span {
    font-size:28px;
}
.art-orbit {
    position:absolute;
    inset:35px;
    border:1px dashed #abb59f;
    border-radius:50%;
    transform:rotate(-8deg);
}
.art-label {
    position:absolute;
    z-index:2;
    display:flex;
    align-items:center;
    gap:10px;
    background:var(--white);
    border:1px solid var(--border);
    box-shadow:var(--shadow);
    padding:14px 18px;
    border-radius:12px;
    font-size:12px;
    font-weight:600;
}
.art-label svg {
    width:22px;
    height:22px;
    color:var(--orange-ink);
}
.label-clean {
    left:0;
    top:36%;
    transform:rotate(-5deg);
}
.label-repair {
    right:-10px;
    bottom:23%;
    transform:rotate(4deg);
}
.art-note {
    position:absolute;
    bottom:20px;
    left:35%;
    font-size:11px;
    line-height:1.65;
    color:var(--muted);
    text-align:center;
}
.legacy-legal .aside-card a {
    color:var(--ink);
}
.art-note strong {
    font-size:14px;
    color:var(--ink);
}
.art-line {
    position:absolute;
    bottom:14px;
    left:12%;
    width:100px;
    color:var(--orange-ink);
}
.art-line path {
    stroke-dasharray:200;
    stroke-dashoffset:0;
}
.hero-art .art-label {
    animation:label-settle var(--entrance) var(--settle) both;
}
.hero-art .label-clean {
    animation-delay:50ms;
}
.hero-art .label-repair {
    animation-delay:110ms;
}
.hero-art .art-line path {
    animation:line-draw 650ms var(--settle);
}
.hero-art .art-note {
    animation:visual-settle var(--entrance) var(--settle);
}
.intro-strip {
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    padding-block:28px;
    background:var(--sage);
}
.intro-strip>.shell {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.intro-strip .eyebrow {
    margin:0;
    max-width:150px;
}
.intro-strip p {
    font-size:16px;
    line-height:1.5;
    color:var(--ink);
}
.intro-strip p span {
    display:block;
    color:var(--muted);
}
.section-heading {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:40px;
    margin-bottom:40px;
}
.section-heading>p {
    max-width:320px;
    font-size:15px;
}
.category-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
    align-items:start;
}
.category {
    border:1px solid var(--border);
    border-radius:var(--radius-small);
    background:var(--white);
    transition:transform var(--feedback) var(--settle),border-color var(--feedback);
    overflow:hidden;
}
.category summary {
    list-style:none;
    position:relative;
    display:flex;
    flex-direction:column;
    padding:28px 24px;
    min-height:280px;
}
.category summary::-webkit-details-marker {
    display:none;
}
.category-number {
    font-size:10px;
    color:var(--muted);
    position:absolute;
    right:20px;
    top:20px;
}
.category svg {
    color:var(--orange-ink);
    margin-bottom:32px;
    transition:transform var(--feedback);
}
.category h3 {
    font-size:20px;
    letter-spacing:-.03em;
    margin-bottom:12px;
}
.category summary p {
    font-size:14px;
    line-height:1.65;
    margin-bottom:24px;
}
.category-action {
    display:flex;
    justify-content:space-between;
    gap:8px;
    margin-top:auto;
    font-size:12px;
    font-weight:600;
}
.category:hover,.category:focus-within {
    transform:translateY(-3px);
    border-color:var(--orange-ink);
}
.category:active {
    transform:translateY(-1px);
}
.category:hover .icon-wrench,.category:focus-within .icon-wrench {
    transform:rotate(-12deg);
}
.category:hover .icon-sparkle .spark,.category:focus-within .icon-sparkle .spark {
    animation:spark 320ms var(--settle);
}
.category:hover .indicator,.category:focus-within .indicator {
    fill:var(--orange);
}
.category:hover .icon-bolt,.category:focus-within .icon-bolt {
    transform:translateY(-2px);
}
.category-detail {
    padding:0 24px 24px;
}
.category-detail p {
    font-size:14px;
}
.category[open] .category-action>span {
    transform:rotate(45deg);
}
.category-action>span {
    transition:transform var(--feedback);
    font-size:20px;
    line-height:12px;
}
.showcase-section {
    background:var(--cream);
    border-block:1px solid var(--border);
}
.feature-tabs {
    display:flex;
    gap:32px;
    border-bottom:1px solid #bfc4b4;
    margin-bottom:32px;
}
.feature-tab {
    position:relative;
    padding:16px 0;
    display:flex;
    gap:28px;
    align-items:center;
    min-height:52px;
    font-size:14px;
    color:var(--muted);
    font-weight:600;
    white-space:nowrap;
}
.feature-tab>span {
    font-size:10px;
}
.feature-tab:after {
    content:'';
    position:absolute;
    bottom:-1px;
    height:3px;
    inset-inline:0;
    background:var(--orange);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform var(--disclosure) var(--settle);
}
.feature-tab[aria-selected=true] {
    color:var(--ink);
}
.feature-tab[aria-selected=true]:after,.feature-tab:hover:after {
    transform:scaleX(1);
}
.feature-panel {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center;
    margin-top:32px;
}
.feature-visual {
    min-height:350px;
    background:var(--sage);
    border-radius:var(--radius);
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px 24px 55px;
}
.feature-copy {
    max-width:430px;
}
.feature-copy h3 {
    font-size:38px;
    line-height:1.15;
}
.feature-copy p {
    margin:24px 0 28px;
    font-size:16px;
}
.feature-illustration {
    position:relative;
    width:300px;
    height:270px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.feature-ring {
    width:150px;
    height:150px;
    border:1px solid var(--green);
    border-radius:32px;
    background:var(--white);
    display:grid;
    place-items:center;
    z-index:1;
    transform:rotate(-7deg);
    box-shadow:12px 12px 0 #c2d0b6;
}
.feature-ring svg {
    width:64px;
    height:64px;
    color:var(--green);
    transform:rotate(7deg);
}
.feature-orbit {
    position:absolute;
    width:250px;
    height:250px;
    border:1px dashed #869a78;
    border-radius:50%;
    transform:rotate(-12deg);
}
.orbit-two {
    width:45px;
    height:45px;
    border:0;
    background:#d4a574;
    left:10px;
    top:20px;
}
.feature-art-caption {
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    text-align:center;
    font:italic 21px Georgia,serif;
    color:var(--green);
}
.visual-caption {
    position:absolute;
    bottom:18px;
    left:20px;
    right:20px;
    text-align:center;
    font-size:10px;
    font-weight:600;
    letter-spacing:.04em;
    color:var(--green);
}
.app-screenshot {
    max-height:480px;
    width:auto;
    object-fit:contain;
    border:6px solid var(--ink);
    border-radius:24px;
}
.app-screenshot.failed-image {
    display:none;
}
.enhanced .feature-panel {
    margin-top:0;
}
.feature-panel.panel-enter {
    animation:panel-enter var(--panel) var(--settle);
}
.steps {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    list-style:none;
    padding:0;
    gap:48px;
    position:relative;
    margin-top:48px;
}
.steps:before {
    content:'';
    position:absolute;
    height:1px;
    background:var(--border);
    top:26px;
    left:0;
    right:0;
    transform-origin:left;
    z-index:-1;
}
.step-icon {
    display:flex;
    align-items:center;
    gap:24px;
    font-size:12px;
    color:var(--orange-ink);
    margin-bottom:28px;
}
.step-icon svg {
    background:var(--paper);
    width:54px;
    height:54px;
    padding:10px;
    border:1px solid var(--border);
    border-radius:50%;
    color:var(--green);
}
.steps h3 {
    margin-bottom:16px;
    font-size:21px;
}
.steps p {
    font-size:15px;
}
.steps-section .small-copy {
    max-width:690px;
    border-left:2px solid var(--orange);
    padding-left:16px;
    margin-top:40px;
}
.steps-section.in-view .steps:before {
    animation:connector 650ms var(--settle);
}
.steps-section.in-view .step-icon svg {
    animation:visual-settle 450ms var(--settle);
}
.steps li:nth-child(2) svg {
    animation-delay:50ms;
}
.steps li:nth-child(3) svg {
    animation-delay:100ms;
}
.trust-section {
    background:var(--green);
    color:var(--white);
}
.trust-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:96px;
    align-items:center;
}
.trust-section .eyebrow {
    color:#d2deca;
}
.trust-section p {
    color:#e0e5da;
    font-size:16px;
}
.trust-grid>div>p {
    margin:24px 0;
    max-width:420px;
}
.trust-points article {
    display:flex;
    gap:24px;
    padding-block:28px;
    border-bottom:1px solid #7e9380;
}
.trust-points article:last-child {
    border:0;
}
.trust-points article>span {
    font-size:11px;
    color:#d2deca;
    padding-top:5px;
}
.trust-points h3 {
    font-size:21px;
    letter-spacing:-.025em;
    margin-bottom:12px;
}
.trust-points p {
    font-size:14px;
}
.trust-section .text-link:hover {
    color:#f8ccad;
}
.provider-banner {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center;
}
.provider-banner p {
    margin:24px 0;
}
.provider-banner .small-copy {
    margin:16px 0 0;
}
.provider-art {
    position:relative;
    min-height:410px;
    background:#dfd9cb;
    border-radius:140px 140px 12px 12px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:48px;
    overflow:hidden;
}
.provider-art-word {
    font-size:29px;
    letter-spacing:-.05em;
    line-height:1.35;
    font-weight:700;
    position:relative;
    z-index:1;
    transform:rotate(-5deg);
}
.provider-art-word em {
    font-family:Georgia,serif;
}
.tool-circle {
    width:104px;
    height:104px;
    background:var(--green);
    color:var(--white);
    border-radius:50%;
    display:grid;
    place-items:center;
    margin-bottom:36px;
    transform:rotate(10deg);
}
.tool-circle svg {
    width:54px;
    height:54px;
}
.provider-art:after {
    content:'';
    position:absolute;
    right:-25px;
    top:65px;
    bottom:55px;
    width:90px;
    border:1px dashed #a49f91;
    border-radius:50%;
    transform:rotate(30deg);
}
.provider-art-caption {
    font:italic 14px Georgia,serif;
    margin-top:32px;
    color:var(--muted);
}
.provider-art.large {
    min-height:500px;
}
.pro-hero h1 {
    font-size:clamp(40px,4.3vw,62px);
}
.coverage {
    text-align:center;
    padding:64px;
    background:var(--sage);
    border-radius:var(--radius);
    position:relative;
    overflow:hidden;
}
.coverage p {
    margin:24px auto 12px;
    max-width:570px;
    font-size:16px;
}
.coverage:before,.coverage:after {
    content:'✳';
    position:absolute;
    top:45%;
    font-size:100px;
    font-family:Georgia,serif;
    color:#adbda066;
    left:8%;
}
.coverage:after {
    left:auto;
    right:8%;
    font-size:65px;
    top:30%;
}
.faq-section {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:96px;
}
.faq-section>div>p {
    margin-top:24px;
}
.faq {
    border-bottom:1px solid var(--border);
}
.faq summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding-block:24px;
    list-style:none;
    font-size:15px;
    font-weight:600;
    line-height:1.5;
    min-height:68px;
}
.faq summary::-webkit-details-marker {
    display:none;
}
.faq-plus {
    width:20px;
    height:20px;
    position:relative;
    flex:none;
}
.faq-plus:before,.faq-plus:after {
    content:'';
    position:absolute;
    top:9px;
    width:16px;
    height:1px;
    background:var(--orange);
    left:2px;
}
.faq-plus:after {
    transform:rotate(90deg);
    transition:transform var(--disclosure) var(--settle);
}
.faq[open] .faq-plus:after {
    transform:rotate(0);
}
.faq-answer {
    padding:0 32px 24px 0;
}
.faq-answer p {
    font-size:14px;
}
.final-cta {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:32px;
    background:#efe1d1;
    border-radius:var(--radius);
    padding:56px 64px;
    margin-bottom:80px;
}
.final-cta p {
    margin-top:20px;
    font-size:15px;
}
.final-cta>div:last-child>.text-link {
    display:flex;
    justify-content:center;
    margin-top:12px;
    font-size:12px;
}
.site-footer {
    border-top:1px solid var(--border);
    padding-top:56px;
    background:var(--cream);
}
.footer-top {
    display:grid;
    grid-template-columns:1.2fr 1fr 1fr;
    gap:64px;
    padding-bottom:56px;
}
.footer-top p {
    font-size:15px;
    margin:20px 0;
}
.footer-top .eyebrow {
    font-size:9px;
}
.footer-top nav {
    display:flex;
    flex-direction:column;
}
.footer-top nav h2 {
    font-size:12px;
    letter-spacing:0;
    font-weight:700;
    margin-bottom:20px;
}
.footer-top nav a {
    font-size:13px;
    color:var(--muted);
    min-height:36px;
    padding-block:8px;
}
.site-footer a:hover {
    color:var(--orange-ink);
}
.footer-bottom {
    border-top:1px solid var(--border);
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    padding-block:24px;
}
.footer-bottom p {
    font-size:11px;
}
.footer-bottom nav {
    display:flex;
    gap:24px;
}
.footer-bottom nav a {
    font-size:11px;
    min-height:44px;
    display:flex;
    align-items:center;
}
.download-heading {
    text-align:center;
    margin:0 auto 40px;
}
.download-heading h1 {
    font-size:clamp(40px,4.3vw,60px);
}
.download-heading p {
    margin-top:24px;
    font-size:16px;
}
.audience-selector {
    display:flex;
    position:relative;
    max-width:480px;
    margin:0 auto 48px;
    padding:6px;
    background:var(--cream);
    border:1px solid var(--border);
    border-radius:12px;
    gap:6px;
}
.audience-selector a {
    position:relative;
    z-index:1;
    flex:1;
    text-align:center;
    padding:16px 8px;
    font-size:14px;
    font-weight:600;
    border-radius:8px;
    transition:color var(--feedback),background var(--disclosure);
}
.audience-selector a>span {
    display:block;
    font-size:10px;
    color:var(--muted);
    font-weight:400;
    margin-top:6px;
}
.audience-selector a[aria-current] {
    background:var(--white);
    box-shadow:0 2px 8px #282c2708;
    color:var(--orange-ink);
}
.audience-selector .audience-indicator {
    position:absolute;
    z-index:0;
    background:var(--white);
    box-shadow:0 2px 8px #282c2708;
    border-radius:8px;
    transition:transform var(--disclosure) var(--settle);
    pointer-events:none;
}
.audience-selector.enhanced a[aria-current] {
    background:transparent;
    box-shadow:none;
}
.download-panel {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    border:1px solid var(--border);
    border-radius:var(--radius);
    overflow:hidden;
    background:var(--white);
    min-height:520px;
}
.download-illustration {
    background:var(--sage);
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:48px;
    padding:48px;
}
.download-illustration>.service-icon {
    width:112px;
    height:112px;
    border:1px solid #a6b69a;
    padding:24px;
    border-radius:32px;
    background:var(--white);
    box-shadow:12px 12px 0 #c2d0b6;
    color:var(--green);
    transform:rotate(-8deg);
}
.download-illustration>span {
    font-size:32px;
    font-weight:700;
    letter-spacing:-.06em;
    text-align:center;
    line-height:1.3;
}
.download-copy {
    padding:48px;
}
.download-copy h2 {
    font-size:34px;
}
.download-copy>p {
    font-size:15px;
    margin:20px 0 28px;
}
.store-links {
    margin-bottom:24px;
}
.store-button {
    font-size:13px;
    margin:8px 0;
    gap:12px;
}
.availability-note {
    background:var(--cream);
    border-left:2px solid var(--orange);
    padding:20px;
}
.availability-note .eyebrow {
    margin-bottom:8px;
    font-size:10px;
}
.availability-note p {
    font-size:14px;
}
.availability-note .text-link {
    margin-top:8px;
    font-size:13px;
}
.availability-note .availability-lead {
    margin-top:10px;
    color:var(--ink);
}
.availability-note .whatsapp-cta {
    margin-top:14px;
    width:100%;
}
.qr-disclosure {
    margin-block:24px;
    border-block:1px solid var(--border);
}
.qr-disclosure summary {
    list-style:none;
    font-size:12px;
    line-height:1.65;
    padding-block:20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
}
.qr-disclosure summary::-webkit-details-marker {
    display:none;
}
.qr-content {
    display:grid;
    grid-template-columns:160px 1fr;
    gap:20px;
    align-items:center;
    padding-bottom:24px;
}
.qr-content img {
    width:160px;
    height:160px;
}
.qr-content h3 {
    font-size:16px;
    letter-spacing:0;
}
.qr-content p {
    font-size:12px;
    margin-top:8px;
}
.qr-url {
    font-size:11px;
    overflow-wrap:anywhere;
    word-break:break-word;
}
.qr-disclosure[open] .qr-content {
    animation:qr-enter var(--panel) var(--settle);
}
.download-note {
    max-width:620px;
    text-align:center;
    font-size:12px;
    margin:32px auto 0;
}
.download-panel.panel-enter {
    animation:panel-enter var(--panel) var(--settle);
}
.editorial {
    max-width:900px;
}
.editorial>p {
    max-width:690px;
    margin-top:24px;
}
.editorial .text-link {
    margin-top:16px;
}
.contact-grid {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:80px;
    align-items:start;
}
.contact-grid>div>p {
    margin-top:24px;
}
.contact-grid h1 {
    font-size:clamp(40px,4vw,56px);
}
.support-note {
    margin-top:32px;
    padding:24px;
    background:var(--sage);
    border-radius:12px;
}
.support-note h2 {
    font-size:20px;
    letter-spacing:-.02em;
}
.support-note p {
    font-size:14px;
    margin-top:12px;
}
.contact-form {
    background:var(--white);
    border:1px solid var(--border);
    padding:36px;
    border-radius:16px;
}
.form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
}
.field {
    display:flex;
    flex-direction:column;
    gap:10px;
    font-size:13px;
    font-weight:600;
    line-height:1.5;
}
.field-span {
    grid-column:1/-1;
}
.field input,.field select,.field textarea {
    width:100%;
    min-height:48px;
    border:1px solid #a5ab9b;
    border-radius:8px;
    background:var(--white);
    padding:12px;
    color:var(--ink);
    font-size:15px;
    font-weight:400;
}
.field textarea {
    resize:vertical;
}
.phone-row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}
.field-note {
    font-size:12px;
    line-height:1.65;
    color:var(--muted);
    font-weight:400;
}
.form-actions {
    display:flex;
    flex-direction:column;
    gap:20px;
    margin-top:24px;
}
.form-actions p {
    font-size:12px;
}
.alert {
    padding:20px;
    border-radius:12px;
    margin-bottom:24px;
    border:1px solid var(--orange);
    background:var(--orange-light);
}
.alert-success {
    background:var(--sage);
    border-color:var(--green);
}
.alert p,.alert li {
    font-size:14px;
    color:var(--ink);
}
.field-error {
    font-size:12px;
    color:#a72d1b;
    font-weight:400;
}
.honeypot {
    position:absolute;
    left:-10000px;
}
.form-button {
    align-self:start;
}
.legacy-legal {
    width:min(1120px,calc(100% - 96px));
    margin:auto;
    padding-block:64px 96px;
}
.legacy-legal .hero-copy {
    max-width:850px;
}
.legacy-legal .hero-title {
    font-size:48px;
    margin:16px 0;
}
.legacy-legal .material-symbols-outlined {
    display:none;
}
.legacy-legal h2 {
    font-size:27px;
    letter-spacing:-.025em;
    margin-bottom:20px;
}
.legacy-legal h3 {
    font-size:20px;
    margin-bottom:12px;
}
.legacy-legal p,.legacy-legal li {
    font-size:15px;
    line-height:1.8;
    color:var(--muted);
}
.legacy-legal a {
    color:var(--orange-ink);
    text-decoration:underline;
    text-underline-offset:3px;
}
.legacy-legal .hero-grid,.legacy-legal .policy-layout {
    display:grid;
    grid-template-columns:1fr 300px;
    gap:48px;
    margin-top:32px;
}
.legacy-legal .section-card {
    padding-block:32px;
    border-bottom:1px solid var(--border);
}
.legacy-legal .section-tag,.legacy-legal .aside-kicker,.legacy-legal .hero-kicker,.legacy-legal .summary-note-label,.legacy-legal .jump-label {
    font-size:10px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.12em;
    color:var(--green);
    margin-bottom:12px;
}
.legacy-legal .detail-grid,.legacy-legal .summary-grid,.legacy-legal .jump-grid,.legacy-legal .hero-metrics {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    margin-top:24px;
}
.legacy-legal .summary-note,.legacy-legal .detail-card,.legacy-legal .metric,.legacy-legal .jump-card {
    padding:20px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--white);
}
.legacy-legal .aside-stack {
    display:flex;
    flex-direction:column;
    gap:24px;
}
.legacy-legal .aside-card {
    padding:24px;
    border-radius:12px;
    background:var(--sage);
    height:fit-content;
}
.legacy-legal .aside-links {
    display:flex;
    flex-direction:column;
    gap:16px;
}
.legacy-legal .hero-actions {
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    margin-top:24px;
}
.legacy-legal .summary-note-head {
    display:flex;
    gap:12px;
}
.legacy-legal .summary-note-index {
    font-size:12px;
    color:var(--orange-ink);
}
@keyframes visual-settle {
    from {
        opacity:0;
        transform:translateY(14px);
    }
    to {
        opacity:1;
        transform:translateY(0);
    }
}
@keyframes label-settle {
    from {
        opacity:0;
        translate:0 14px;
    }
    to {
        opacity:1;
        translate:0 0;
    }
}
@keyframes line-draw {
    from {
        stroke-dashoffset:200;
    }
    to {
        stroke-dashoffset:0;
    }
}
@keyframes spark {
    50% {
        opacity:.5;
        transform:scale(.9);
    }
    100% {
        opacity:1;
        transform:scale(1);
    }
}
@keyframes connector {
    from {
        transform:scaleX(0);
    }
    to {
        transform:scaleX(1);
    }
}
@keyframes panel-enter {
    from {
        opacity:.6;
        clip-path:inset(0 0 0 3%);
        translate:8px 0;
    }
    to {
        opacity:1;
        clip-path:inset(0);
        translate:0 0;
    }
}
@keyframes qr-enter {
    from {
        opacity:.5;
        transform:scale(.98);
    }
    to {
        opacity:1;
        transform:scale(1);
    }
}
@keyframes menu-in {
    from {
        transform:translateX(24px);
        opacity:.6;
    }
    to {
        transform:translateX(0);
        opacity:1;
    }
}
@keyframes backdrop-in {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@media(min-width:900px) {
    @view-transition {
        navigation:auto;
    }
    ::view-transition-old(root),::view-transition-new(root) {
        animation-duration:180ms;
    }
}
@media(max-width:1100px) {
    .shell {
        width:calc(100% - 64px);
    }
    .desktop-nav {
        gap:20px;
    }
    .header-row {
        gap:16px;
    }
    .hero-art {
        height:460px;
    }
    .hero-footnote {
        gap:8px;
        flex-wrap:wrap;
    }
    .category summary {
        padding:24px 20px;
    }
    .category-detail {
        padding-inline:20px;
    }
    .feature-panel {
        gap:48px;
    }
    .trust-grid,.faq-section {
        gap:64px;
    }
    .provider-banner {
        gap:48px;
    }
    .qr-content {
        grid-template-columns:1fr;
    }
    .legacy-legal {
        width:calc(100% - 64px);
    }
}
@media(max-width:899px) {
    .shell {
        width:calc(100% - 48px);
    }
    .section {
        padding-block:64px;
    }
    .desktop-nav {
        display:none;
    }
    .header-row {
        height:72px;
        justify-content:start;
    }
    .header-cta {
        margin-left:auto;
    }
    .menu-trigger:not([hidden]) {
        display:block;
    }
    .fallback-nav:not([hidden]) {
        display:flex;
        gap:24px;
        flex-wrap:wrap;
        padding-bottom:16px;
        font-size:12px;
    }
    .fallback-nav a {
        min-height:32px;
        display:flex;
        align-items:center;
    }
    .hero {
        padding-block:48px;
        gap:32px;
        grid-template-columns:1.1fr .9fr;
    }
    .hero h1 {
        font-size:44px;
    }
    .hero-art {
        height:390px;
    }
    .hero-copy>p {
        font-size:16px;
    }
    .art-caption {
        font-size:13px;
        left:20%;
        top:20px;
    }
    .art-caption span {
        font-size:20px;
    }
    .art-label {
        font-size:10px;
        padding:10px 12px;
        gap:6px;
    }
    .art-label svg {
        width:18px;
    }
    .art-note {
        left:26%;
        bottom:18px;
    }
    .art-line {
        width:80px;
        left:0;
    }
    .house-art {
        top:64px;
    }
    .hero-footnote {
        font-size:10px;
    }
    .intro-strip>.shell {
        flex-wrap:wrap;
    }
    .intro-strip .eyebrow {
        max-width:none;
    }
    .category-grid {
        grid-template-columns:repeat(2,1fr);
    }
    .category summary {
        min-height:252px;
    }
    .category summary svg {
        margin-bottom:24px;
    }
    .section-heading {
        gap:24px;
    }
    .feature-panel {
        gap:32px;
    }
    .feature-copy h3 {
        font-size:30px;
    }
    .feature-visual {
        min-height:330px;
    }
    .feature-illustration {
        width:240px;
    }
    .feature-orbit {
        width:220px;
        height:220px;
    }
    .orbit-two {
        width:35px;
        height:35px;
    }
    .trust-grid {
        gap:48px;
    }
    .trust-points h3 {
        font-size:18px;
    }
    .provider-banner {
        gap:32px;
    }
    .provider-art {
        padding:32px;
        min-height:360px;
    }
    .provider-art-word {
        font-size:25px;
    }
    .steps {
        gap:24px;
    }
    .steps h3 {
        font-size:19px;
    }
    .faq-section {
        gap:48px;
    }
    .final-cta {
        padding:40px;
    }
    .footer-top {
        gap:32px;
    }
    .download-panel {
        grid-template-columns:.7fr 1.3fr;
    }
    .download-copy {
        padding:32px;
    }
    .download-illustration {
        padding:32px;
    }
    .download-illustration>span {
        font-size:26px;
    }
    .contact-grid {
        gap:40px;
    }
    .contact-form {
        padding:24px;
    }
    .form-grid {
        grid-template-columns:1fr;
    }
    .field-span {
        grid-column:auto;
    }
    .legacy-legal {
        width:calc(100% - 48px);
    }
    .legacy-legal .policy-layout,.legacy-legal .hero-grid {
        grid-template-columns:1fr;
    }
    .legacy-legal .aside-stack {
        display:grid;
        grid-template-columns:1fr 1fr;
    }
    .pro-hero h1 {
        font-size:42px;
    }
    .provider-art.large {
        min-height:410px;
    }
}
@media(max-width:650px) {
    .shell {
        width:calc(100% - 40px);
    }
    .eyebrow {
        font-size:10px;
        margin-bottom:16px;
    }
    .brand>span {
        font-size:22px;
    }
    .brand img {
        width:36px;
        height:36px;
    }
    .header-row {
        gap:12px;
    }
    .header-cta {
        font-size:11px!important;
        padding:9px 12px!important;
        gap:12px!important;
    }
    .menu-trigger {
        width:40px;
        height:44px;
    }
    .hero {
        grid-template-columns:1fr;
        padding-block:40px 32px;
        gap:24px;
    }
    .hero h1 {
        font-size:clamp(38px,9.8vw,50px);
    }
    .hero-copy>p {
        margin-top:20px;
        font-size:16px;
        max-width:450px;
    }
    .hero-copy .actions {
        gap:10px;
        margin-block:24px 12px;
    }
    .hero-copy .button {
        padding-inline:16px;
        font-size:13px;
        gap:14px;
    }
    .hero .professional-link {
        font-size:12px;
    }
    .hero-footnote {
        margin-top:20px;
        gap:12px;
        font-size:10px;
    }
    .hero-art {
        width:min(420px,100%);
        margin-inline:auto;
        height:340px;
        min-height:0;
    }
    .house-art {
        width:90%;
        left:5%;
        top:12px;
    }
    .art-orbit {
        inset:25px;
    }
    .art-caption {
        font-size:14px;
        top:12px;
        left:18%;
    }
    .art-label {
        font-size:10px;
        padding:10px;
        gap:8px;
    }
    .label-clean {
        top:40%;
        left:0;
    }
    .label-repair {
        right:0;
        bottom:25%;
    }
    .art-note {
        left:38%;
        bottom:10px;
        font-size:9px;
    }
    .art-note strong {
        font-size:12px;
    }
    .art-line {
        left:7%;
        bottom:3px;
        width:74px;
    }
    .intro-strip {
        padding-block:24px;
    }
    .intro-strip>.shell {
        gap:16px;
    }
    .intro-strip .eyebrow {
        width:100%;
        font-size:9px;
    }
    .intro-strip p {
        font-size:15px;
    }
    .intro-strip .text-link {
        font-size:12px;
    }
    .section {
        padding-block:56px;
    }
    h2 {
        font-size:34px;
    }
    .section-heading {
        display:block;
        margin-bottom:28px;
    }
    .section-heading>p {
        margin-top:20px;
        font-size:14px;
    }
    .section-heading .text-link {
        margin-top:16px;
    }
    .category-grid {
        gap:12px;
    }
    .category summary {
        padding:24px 16px 20px;
        min-height:246px;
    }
    .category h3 {
        font-size:18px;
    }
    .category summary p {
        font-size:12px;
        line-height:1.7;
        margin-bottom:20px;
    }
    .category-action {
        font-size:11px;
    }
    .category-number {
        right:16px;
        top:16px;
    }
    .category-detail {
        padding:0 16px 20px;
    }
    .category-detail p {
        font-size:12px;
    }
    .category-detail .text-link {
        font-size:11px;
    }
    .small-copy {
        font-size:12px;
    }
    .feature-tabs {
        gap:20px;
        overflow-x:auto;
        margin-bottom:24px;
    }
    .feature-tab {
        font-size:12px;
        gap:12px;
        flex:none;
    }
    .feature-tab span {
        font-size:9px;
    }
    .feature-panel {
        grid-template-columns:1fr;
        gap:24px;
        align-items:start;
    }
    .feature-visual {
        min-height:280px;
        padding-bottom:45px;
    }
    .feature-illustration {
        height:220px;
    }
    .feature-ring {
        width:120px;
        height:120px;
        border-radius:28px;
    }
    .feature-ring svg {
        width:48px;
    }
    .feature-orbit {
        width:200px;
        height:200px;
    }
    .orbit-two {
        width:30px;
        height:30px;
        left:18px;
    }
    .feature-art-caption {
        font-size:19px;
    }
    .feature-copy h3 {
        font-size:30px;
    }
    .feature-copy p {
        font-size:15px;
        margin:16px 0 20px;
    }
    .feature-copy .eyebrow {
        font-size:9px;
    }
    .feature-copy {
        min-height:236px;
    }
    .feature-panel+.feature-panel {
        margin-top:40px;
    }
    .enhanced .feature-panel+.feature-panel {
        margin-top:0;
    }
    .steps {
        grid-template-columns:1fr;
        gap:32px;
        margin-top:32px;
        padding-left:48px;
    }
    .steps:before {
        left:22px;
        right:auto;
        top:0;
        bottom:0;
        width:1px;
        height:auto;
        transform-origin:top;
    }
    .step-icon {
        position:relative;
        margin-bottom:16px;
        gap:0;
        font-size:10px;
        min-height:32px;
    }
    .step-icon svg {
        position:absolute;
        left:-48px;
        top:-8px;
        width:40px;
        height:40px;
        padding:9px;
    }
    .steps h3 {
        font-size:20px;
        margin-bottom:12px;
    }
    .steps p {
        font-size:14px;
    }
    .steps-section.in-view .steps:before {
        animation-name:connector-mobile;
    }
    .trust-grid {
        grid-template-columns:1fr;
        gap:24px;
    }
    .trust-grid>div>p {
        font-size:15px;
        margin-top:20px;
    }
    .trust-points article {
        gap:20px;
        padding-block:24px;
    }
    .trust-points h3 {
        font-size:20px;
    }
    .trust-points p {
        font-size:14px;
    }
    .provider-banner {
        grid-template-columns:1fr;
        gap:28px;
    }
    .provider-art {
        min-height:300px;
        padding:36px;
        border-radius:100px 100px 12px 12px;
    }
    .provider-art-word {
        font-size:26px;
        max-width:300px;
    }
    .tool-circle {
        width:72px;
        height:72px;
        margin-bottom:24px;
    }
    .tool-circle svg {
        width:40px;
    }
    .provider-art-caption {
        font-size:12px;
        margin-top:24px;
    }
    .provider-banner p {
        font-size:15px;
        margin:20px 0;
    }
    .coverage {
        padding:40px 24px;
    }
    .coverage h2 {
        font-size:32px;
    }
    .coverage p {
        font-size:14px;
        margin-top:20px;
    }
    .coverage:before,.coverage:after {
        display:none;
    }
    .faq-section {
        grid-template-columns:1fr;
        gap:24px;
    }
    .faq-section>div>p {
        font-size:14px;
        margin-top:20px;
    }
    .faq summary {
        font-size:14px;
        gap:16px;
        padding-block:22px;
    }
    .faq-answer {
        padding-right:12px;
    }
    .final-cta {
        flex-direction:column;
        align-items:start;
        padding:36px 24px;
        gap:24px;
        margin-bottom:56px;
    }
    .final-cta h2 {
        font-size:34px;
    }
    .final-cta p {
        font-size:14px;
    }
    .final-cta>div:last-child>.text-link {
        justify-content:start;
    }
    .site-footer {
        padding-top:40px;
    }
    .footer-top {
        grid-template-columns:1fr 1fr;
        gap:32px 20px;
        padding-bottom:32px;
    }
    .footer-top>div {
        grid-column:1/-1;
    }
    .footer-top p {
        margin:16px 0;
    }
    .footer-top .eyebrow {
        margin-bottom:0;
    }
    .footer-top nav a {
        font-size:12px;
        line-height:1.5;
        min-height:40px;
    }
    .footer-bottom {
        flex-direction:column;
        align-items:start;
        gap:8px;
        padding-block:24px;
        padding-bottom:max(24px,env(safe-area-inset-bottom));
    }
    .footer-bottom nav {
        flex-wrap:wrap;
        gap:20px;
    }
    .footer-bottom p {
        font-size:10px;
    }
    .download-heading {
        margin-bottom:32px;
    }
    .download-heading p {
        font-size:14px;
    }
    .audience-selector {
        margin-bottom:24px;
    }
    .audience-selector a {
        font-size:12px;
        padding:14px 6px;
    }
    .download-panel {
        grid-template-columns:1fr;
        min-height:760px;
    }
    .download-illustration {
        min-height:220px;
        flex-direction:row;
        gap:32px;
        padding:32px;
    }
    .download-illustration>.service-icon {
        width:80px;
        height:80px;
        border-radius:22px;
        padding:20px;
    }
    .download-illustration>span {
        font-size:26px;
        text-align:left;
    }
    .download-copy {
        padding:28px 20px;
    }
    .download-copy h2 {
        font-size:28px;
    }
    .download-copy>p {
        font-size:14px;
    }
    .availability-note {
        padding:16px;
    }
    .availability-note p {
        font-size:13px;
    }
    .qr-content {
        grid-template-columns:1fr;
    }
    .qr-content img {
        margin:auto;
    }
    .qr-content p {
        font-size:13px;
    }
    .qr-content h3 {
        font-size:18px;
    }
    .qr-disclosure summary {
        font-size:12px;
    }
    .download-note {
        font-size:11px;
    }
    .contact-grid {
        grid-template-columns:1fr;
        gap:32px;
    }
    .contact-grid>div>p {
        font-size:15px;
        margin-top:20px;
    }
    .contact-form {
        padding:24px 20px;
    }
    .phone-row {
        grid-template-columns:1fr;
    }
    .form-actions .button {
        width:100%;
    }
    .legacy-legal {
        width:calc(100% - 40px);
        padding-block:40px 64px;
    }
    .legacy-legal .hero-title {
        font-size:38px;
    }
    .legacy-legal h1 {
        font-size:38px;
    }
    .legacy-legal .detail-grid,.legacy-legal .summary-grid,.legacy-legal .jump-grid,.legacy-legal .hero-metrics,.legacy-legal .aside-stack {
        grid-template-columns:1fr;
    }
    .legacy-legal .hero-grid,.legacy-legal .policy-layout {
        gap:24px;
    }
    .editorial>p {
        font-size:15px;
    }
    .provider-art.large {
        min-height:320px;
    }
    .pro-hero h1 {
        font-size:clamp(38px,9vw,48px);
    }
}
@keyframes connector-mobile {
    from {
        transform:scaleY(0);
    }
    to {
        transform:scaleY(1);
    }
}
@media(max-width:359px) {
    .shell {
        width:calc(100% - 32px);
    }
    .header-row {
        gap:8px;
    }
    .brand>span {
        font-size:20px;
    }
    .brand img {
        width:30px;
    }
    .header-cta {
        gap:8px!important;
        padding-inline:8px!important;
    }
    .hero h1 {
        font-size:37px;
    }
    .hero-art {
        height:290px;
    }
    .hero-copy .actions {
        flex-direction:column;
        align-items:stretch;
    }
    .category-grid {
        grid-template-columns:1fr;
    }
    .category summary {
        min-height:230px;
    }
    .feature-tabs {
        gap:16px;
    }
    .feature-tab {
        font-size:11px;
    }
    .legacy-legal {
        width:calc(100% - 32px);
    }
}
@media(prefers-reduced-motion:reduce) {
    *,*:before,*:after {
        animation:none!important;
        transition-duration:0ms!important;
        scroll-behavior:auto!important;
    }
    .category:hover,.category:focus-within,.button:active,button:active,.category:hover svg,.category:focus-within svg,.text-link:hover .cta-icon,.professional-link:hover .cta-icon,.button:hover .cta-icon {
        transform:none!important;
    }
    .panel-enter {
        clip-path:none!important;
        translate:none!important;
    }
    ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*) {
        animation:none!important;
    }
}
.restored .hero-art * {
    animation:none!important;
}
.legacy-legal * {
    min-width:0;
    overflow-wrap:anywhere;
}
.legacy-legal .hero {
    display:block;
    padding:0;
    grid-template-columns:none;
}
.legacy-legal .hero-grid {
    display:block;
}
.legacy-legal .hero-head {
    margin-bottom:24px;
}
.legacy-legal .hero-updated {
    font-size:12px;
    color:var(--muted);
}
.legacy-legal .hero-metrics {
    margin-top:24px;
}
.legacy-legal .hero-strip {
    margin-top:24px;
}
.legacy-legal .jump-grid {
    padding-block:24px;
}
.legacy-legal .hero-copy {
    font-size:17px;
    line-height:1.75;
}
.steps {
    isolation:isolate;
}
.steps:before {
    z-index:0;
}
.steps li {
    position:relative;
    z-index:1;
}
body .hp-cookie-link,body .hp-cookie-inline-button {
    color:var(--orange-ink);
    text-decoration:underline;
    text-underline-offset:3px;
}
body .hp-cookie-btn-muted {
    color:var(--muted);
}
body .hp-cookie-btn-primary {
    background:var(--orange);
    color:var(--ink);
}
body .hp-cookie-btn-primary:hover {
    background:var(--orange-hover);
}
body .hp-cookie-btn-outline:hover {
    color:var(--orange-ink);
    border-color:var(--orange-ink);
}
body .hp-cookie-intro,body .hp-cookie-row-desc,body .hp-cookie-preferences-subtitle,body .hp-cookie-example {
    color:var(--muted);
}
body .hp-cookie-close {
    width:44px;
    height:44px;
}
body .hp-cookie-btn {
    min-height:44px;
}
body .hp-cookie-panel {
    max-height:calc(100dvh - 32px);
    overflow-y:auto;
}
body .hp-cookie-title,body .hp-cookie-preferences-title {
    letter-spacing:-.025em;
}
.art-note {
    background:var(--paper);
    border-radius:8px;
    padding:6px 12px;
}
.enhanced .feature-panels{min-height:380px}
@media(max-width:650px){.enhanced .feature-panels{min-height:630px}}
@media(max-width:359px){.enhanced .feature-panels{min-height:690px}}

/* Progressive 3D artwork: fixed composition, no layout shift on activation. */
.house-stage {
    position:absolute;
    inset:35px -12px 20px;
    pointer-events:none;
    opacity:0;
}
.house-stage canvas {
    display:block;
    width:100%;
    height:100%;
}
.house-ready .house-stage {
    opacity:1;
}
.house-ready .house-art {
    visibility:hidden;
}
.house-ready .art-line {
    display:none;
}
.house-replay {
    position:absolute;
    z-index:3;
    bottom:13px;
    left:16px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:44px;
    padding:6px 9px;
    border:1px solid var(--border);
    border-radius:20px;
    background:var(--paper);
    color:var(--green);
    font-size:10px;
    font-weight:600;
}
.house-replay .cta-icon {
    width:14px;
    height:14px;
}
.house-replay:hover {
    border-color:var(--green);
    background:var(--white);
}
@media(max-width:650px) {
    .house-stage { inset:24px -12px 22px; }
    .house-replay {left:4px;bottom:3px;font-size:9px;padding:5px 8px;gap:4px;}
    .house-ready .art-note {left:auto;right:4px;max-width:150px;}
}
@media(prefers-reduced-motion:reduce) {
    .house-stage,.house-replay {display:none!important;}
    .house-ready .house-art {visibility:visible;}
}

/* Provider tools share the house's visual language and static-first behavior. */
.provider-stage {
    position:absolute;
    inset:74px -4px 45px;
    pointer-events:none;
    opacity:0;
}
.provider-stage canvas {width:100%;height:100%;display:block;}
.provider-art {min-height:500px;}
.provider-ready {padding:28px;}
.provider-ready .provider-stage {opacity:1;}
.provider-ready .provider-fallback {visibility:hidden;}
.provider-ready .provider-art-word {
    position:absolute;top:32px;left:78px;
    font-size:19px;line-height:1.25;transform:none;
}
.provider-ready .provider-art-caption {
    position:absolute;bottom:23px;right:24px;
    font-size:11px;margin:0;
}
.provider-ready:after {display:none;}
.provider-replay {
    position:absolute;bottom:10px;left:18px;z-index:2;
    display:inline-flex;align-items:center;gap:6px;min-height:44px;
    padding:6px 9px;border:1px solid var(--border);border-radius:20px;
    background:var(--paper);color:var(--green);font-size:10px;font-weight:600;
}
.provider-replay .cta-icon {width:14px;height:14px;}
.provider-replay:hover {border-color:var(--green);background:var(--white);}
@media(max-width:650px) {
    .provider-art,.provider-art.large {min-height:410px;}
    .provider-ready .provider-art-word {top:28px;left:72px;font-size:15px;}
    .provider-stage {inset:76px -4px 62px;}
    .provider-ready .provider-art-caption {bottom:61px;left:24px;right:auto;font-size:10px;}
    .provider-replay {bottom:10px;left:22px;}
}
@media(prefers-reduced-motion:reduce) {
    .provider-stage,.provider-replay {display:none!important;}
    .provider-ready .provider-fallback {visibility:visible;}
}

/* Error pages. `.section`, `.shell` and `.actions` already supply the padding,
   width and button row, so only the centred error treatment is new here. */
.error-page {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}
.error-code {
    font-family:'Sora',Arial,sans-serif;
    font-size:104px;
    font-weight:700;
    line-height:1;
    letter-spacing:-4px;
    color:var(--orange);
    margin:8px 0 4px;
}
.error-page h1 {
    font-family:'Sora',Arial,sans-serif;
    font-size:48px;
    font-weight:700;
    line-height:1.08;
    letter-spacing:-1.8px;
}
.error-page h1 em {
    font-style:normal;
    color:var(--orange);
}
.error-text {
    margin-top:18px;
    max-width:54ch;
    color:var(--muted);
    font-size:15px;
}
.error-actions {
    justify-content:center;
}
.error-footnote {
    font-size:13px;
    color:var(--muted);
}
@media(max-width:650px) {
    .error-code {
        font-size:72px;
        letter-spacing:-2.5px;
    }
    .error-page h1 {
        font-size:32px;
        letter-spacing:-1.2px;
    }
    .error-actions {
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }
}

/* Checkbox row inside a form grid. `.field` stacks and stretches its control to
   full width and 48px tall, which is right for a text input and wrong for a
   checkbox, so this puts the box beside its wording instead. */
.field-check {
    flex-direction:row;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:12px;
    font-weight:400;
    line-height:1.6;
}
.field-check input[type="checkbox"] {
    width:20px;
    min-width:20px;
    height:20px;
    min-height:20px;
    margin-top:2px;
    accent-color:var(--orange);
}
.field-check>span {
    flex:1;
}
.field-check .field-error {
    flex-basis:100%;
}

/* Back to top. The home page runs to roughly fourteen phone screens, so the
   header scrolls far out of reach. Hidden until it is actually needed, and
   while the consent bar occupies the same corner. */
.to-top {
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:40;
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
    border:1px solid var(--border);
    border-radius:50%;
    background:var(--white);
    color:var(--ink);
    box-shadow:0 6px 20px #282c2718;
    cursor:pointer;
    transition:background var(--feedback),border-color var(--feedback),transform var(--feedback);
}
.to-top[hidden] {
    display:none;
}
.to-top:hover {
    background:var(--orange-light);
    border-color:var(--orange-ink);
}
.to-top:active {
    transform:scale(.96);
}
@media(prefers-reduced-motion:reduce) {
    .to-top {
        transition:none;
    }
    .to-top:active {
        transform:none;
    }
}
