@font-face { font-family:'Saira'; src:url('../fonts/saira-regular.woff2') format('woff2'), url('../fonts/saira-regular.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Saira'; src:url('../fonts/saira-bold.woff2') format('woff2'), url('../fonts/saira-bold.woff') format('woff'); font-weight:700; font-style:normal; font-display:swap; }

:root {
    --bg-main: #FAFBFD;
    --primary: #0E1628;
    --secondary: #7CF461;
    --secondary-hover: #6BE050;
    --text-body: #696E6E;
    --text-dark: var(--primary);
    --text-light: #64748B;
    --border-color: #E2E8F0;
    --white: #FFFFFF;
    --transition: 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { font-size:clamp(1rem, 1.157vw, 2.5rem); }
html, body { height:100%; }
body {
    font-family:'Saira', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    background:var(--bg-main);
    color:var(--text-dark);
    -webkit-font-smoothing:antialiased;
}
.is-hidden { display:none !important; }
body.mobile-panel-open { overflow:hidden; }

.skip-link {
    position:absolute; left:0; top:0; z-index:600;
    transform:translateY(-120%);
    background:var(--primary); color:var(--white);
    padding:0.75rem 1.25rem; font-weight:700; text-decoration:none;
    transition:transform var(--transition);
}
.skip-link:focus { transform:translateY(0); }

.noscript-note {
    background:var(--primary); color:var(--white);
    padding:1rem 1.5rem; text-align:center; font-size:0.9375rem;
}
.noscript-note a { color:var(--secondary); }

.app { display:grid; grid-template-columns:1fr; min-height:100vh; }
@media(min-width:1024px) { .app { grid-template-columns:7fr 3fr; } }
.app.app-plain { grid-template-columns:1fr; }

.app-left {
    position:relative;
    padding:3rem 2rem 2rem;
    display:flex;
    flex-direction:column;
    max-width:70rem;
    width:100%;
    margin:0 auto;
}
@media(min-width:1024px) { .app-left { padding:4rem 4rem 2rem; } }

.app-right {
    position:relative;
    background:var(--primary);
    color:var(--white);
    overflow:hidden;
}
@media(min-width:1024px) {
    .app-right {
        position:sticky; top:0; height:100vh;
        border-left:4px solid transparent;
        transition:border-left-color 0.8s ease;
    }
    body.is-ready .app-right { border-left-color:var(--secondary); }
}

.preloader {
    position:fixed; inset:0; z-index:500;
    background:var(--primary);
    display:flex; align-items:center; justify-content:center;
}
.preloader-inner { text-align:center; transition:opacity 0.4s ease; animation:logoPulse 1.8s ease-in-out infinite; padding:0 1.5rem; }
.preloader-logo { height:2.75rem; width:auto; display:block; margin:0 auto 0.75rem; max-width:100%; }
@keyframes logoPulse { 0%,100% { opacity:0.55; transform:scale(0.98); } 50% { opacity:1; transform:scale(1.02); } }
.preloader.is-fading .preloader-inner { animation:none; opacity:0; }
.preloader-subtitle { color:var(--white); opacity:0.8; font-size:0.875rem; }
.preloader.is-wiping { transition:transform 0.9s cubic-bezier(0.76,0,0.24,1); transform:translateX(100%); }
@media(min-width:1024px) { .preloader.is-wiping { transform:translateX(70%); } }
@media(max-width:640px) {
    .preloader-logo { height:2rem; }
    .preloader-subtitle { font-size:0.8125rem; }
}

.breadcrumb {
    display:flex; flex-wrap:wrap; align-items:center; gap:0.75rem;
    margin-bottom:2.5rem; font-size:0.8125rem; font-weight:700;
    text-transform:uppercase; letter-spacing:0.05em;
}
.crumb { font:inherit; }
.crumb-home { line-height:1; padding:0 0.1rem; display:inline-flex; align-items:center; }
.crumb-home-signet { height:1.75rem; width:auto; display:block; }
.crumb-progress { color:var(--text-light); margin-left:auto; }

.screen { flex:1 0 auto; animation:screenIn 0.5s cubic-bezier(0.16,1,0.3,1); }
#screen-welcome { display:flex; flex-direction:column; justify-content:center; flex:1 1 auto; align-items:flex-start; }

.screen[data-step] { display:flex; flex-direction:column; }
@keyframes screenIn { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }

.welcome-title {
    font-size:clamp(2.25rem, 7vw, 4rem); font-weight:700; line-height:1.05;
    letter-spacing:-0.02em; text-transform:uppercase;
}
.welcome-text { color:var(--text-body); font-size:1.125rem; margin:1.5rem 0 2.5rem; max-width:38rem; line-height:1.6; }

.trust-row { list-style:none; display:flex; flex-wrap:wrap; gap:1.5rem 2rem; margin-top:3rem; }
.trust-item { display:flex; align-items:center; gap:0.6rem; color:var(--text-dark); font-size:0.9375rem; font-weight:700; }
.legal-content { max-width:42rem; font-size:1.0625rem; line-height:1.8; }
.legal-content p, .legal-content address { margin:0 0 1.5rem; }
.legal-content p { color:var(--text-body); }
.legal-content address { font-style:normal; color:var(--text-dark); font-weight:700; }
.legal-intro { color:var(--text-light); font-size:1rem; margin:1.5rem 0 2rem; }
.legal-content a { color:var(--primary); font-weight:700; }
.legal-content h2 { font-size:1.25rem; font-weight:700; color:var(--text-dark); margin:2.5rem 0 1rem; }
.legal-content h3 { font-size:1.0625rem; font-weight:700; color:var(--text-dark); margin:1.75rem 0 0.5rem; }
.legal-content ul { list-style:none; margin:0 0 1.5rem; padding:0; }
.legal-content li { position:relative; padding-left:1.4rem; margin:0 0 0.6rem; }
.legal-content li::before { content:""; position:absolute; left:0; top:0.65em; width:0.45rem; height:0.45rem; background:var(--secondary); }
.app.app-plain .app-left { max-width:50rem; }
.trust-icon { width:2rem; height:2rem; background:var(--primary); color:var(--white); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.trust-icon svg { width:1.1rem; height:1.1rem; }

.step-group { border:none; }
.screen-title-lg { font-size:1.75rem; font-weight:700; letter-spacing:-0.01em; color:var(--text-dark); margin-bottom:2rem; line-height:1.2; }

.card-grid { display:grid; gap:1.5rem; }
@media(min-width:640px) {
    .cols-2 { grid-template-columns:repeat(2,1fr); }
    .cols-3 { grid-template-columns:repeat(3,1fr); }
}
.opt { display:block; cursor:pointer; height:100%; }
.opt-input {
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); border:0;
}
.opt-card {
    height:100%; background:var(--white); border:1px solid var(--border-color);
    padding:2rem; display:flex; flex-direction:column;
    transition:border-color var(--transition), box-shadow var(--transition), background-color var(--transition);
}
.opt-head { display:flex; align-items:flex-start; gap:1rem; margin-bottom:0.75rem; }
.opt-box { display:block; width:1.25rem; height:1.25rem; border:1px solid #94A3B8; flex-shrink:0; margin-top:0.2rem; transition:border-color var(--transition), background-color var(--transition), box-shadow var(--transition); }
.opt-title { display:block; font-weight:700; font-size:1.125rem; line-height:1.3; color:var(--text-dark); }
.opt-desc { display:block; color:var(--text-body); font-size:0.9375rem; line-height:1.55; flex-grow:1; }
.opt-price { display:block; margin-top:1.25rem; padding-top:1rem; border-top:1px solid var(--border-color); font-size:1rem; font-weight:700; color:var(--text-dark); }
.opt-price-neutral { color:var(--text-light); text-transform:uppercase; letter-spacing:0.05em; font-size:0.875rem; }

.opt:hover .opt-card { border-color:var(--primary); box-shadow:0 4px 10px -4px rgba(14,22,40,0.12); }

.opt-input:focus-visible + .opt-card { outline:3px solid var(--primary); outline-offset:3px; }
.opt-input:checked:focus-visible + .opt-card { outline-color:var(--secondary); }

.opt-input:checked + .opt-card {
    background:var(--primary); border-color:var(--primary);
    box-shadow:0 12px 28px -8px rgba(14,22,40,0.30);
}
.opt-input:checked + .opt-card * { color:var(--white) !important; }
.opt-input:checked + .opt-card .opt-box {
    border-color:var(--secondary); background:var(--secondary);
    box-shadow:inset 0 0 0 4px var(--primary);
}
.opt-input:checked + .opt-card .opt-price { border-top-color:rgba(255,255,255,0.2); }

.btn-primary {
    width:100%; background:var(--secondary); color:var(--primary);
    font-weight:700; padding:1rem; font-size:0.875rem; text-transform:uppercase;
    letter-spacing:0.1em; text-align:center; border:none; cursor:pointer;
    transition:background-color var(--transition); font-family:inherit; display:block;
}
.btn-primary:hover { background:var(--secondary-hover); }
.btn-primary:disabled { opacity:0.4; cursor:not-allowed; }
.btn-primary:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
.btn-inline { width:auto; display:inline-block; padding-left:2.5rem; padding-right:2.5rem; }

.btn-back {
    width:auto; background:var(--white); border:1px solid var(--border-color);
    color:var(--text-body); display:inline-flex; align-items:center; justify-content:center;
    gap:0.5rem; padding:1rem 1.8rem; font-weight:700; font-size:0.875rem;
    text-transform:uppercase; letter-spacing:0.1em; cursor:pointer;
    font-family:inherit; transition:border-color var(--transition), color var(--transition);
}
.btn-back:hover { border-color:var(--primary); color:var(--primary); }
.btn-back:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }

.screen-actions { margin-top:auto; padding-top:2.5rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; }

.contact-form { display:flex; flex-direction:column; gap:1.5rem; }
.form-fields-box { border:1px solid var(--border-color); padding:2rem; display:flex; flex-direction:column; gap:1.5rem; }
.form-row { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media(min-width:640px) { .form-row { grid-template-columns:1fr 1fr; } }
.form-field label { display:block; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.5rem; }
.req { color:#D14343; }
.opt-hint, .form-hint { color:var(--text-light); font-weight:400; text-transform:none; letter-spacing:0; }
.form-hint { font-size:0.75rem; margin-top:-0.25rem; }
.form-input { width:100%; background:#F1F5F9; border:1px solid #E2E8F0; padding:1rem; font-size:1rem; color:var(--primary); font-family:inherit; transition:border-color var(--transition), background-color var(--transition); }
.form-input:focus { outline:none; border-color:var(--primary); background:var(--white); }
.form-input:focus-visible { outline:3px solid var(--primary); outline-offset:2px; }
.contact-actions { display:flex; gap:1rem; align-items:stretch; }
.contact-actions .btn-primary { flex:1; }

.consent { display:block; cursor:pointer; }
.consent-input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); }
.consent-card { display:flex; align-items:flex-start; gap:0.75rem; border:1px solid var(--border-color); padding:1.5rem; cursor:pointer; transition:border-color var(--transition), background-color var(--transition), box-shadow var(--transition); }
.consent-input:focus-visible + .consent-card { outline:3px solid var(--primary); outline-offset:3px; }
.consent-input:checked + .consent-card { background:var(--primary); border-color:var(--primary); box-shadow:0 12px 28px -8px rgba(14,22,40,0.30); }
.consent-input:checked:focus-visible + .consent-card { outline-color:var(--secondary); }
.consent-text { font-size:0.9375rem; line-height:1.55; color:var(--text-body); }
.consent-text a { color:var(--primary); font-weight:700; }
.consent-input:checked + .consent-card .consent-text { color:var(--white); }
.consent-input:checked + .consent-card .consent-text a { color:var(--secondary); }
.consent-box { display:block; width:1.25rem; height:1.25rem; border:1px solid #94A3B8; flex-shrink:0; margin-top:0.1rem; transition:border-color var(--transition), background-color var(--transition), box-shadow var(--transition); }
.consent-input:checked + .consent-card .consent-box { border-color:var(--secondary); background:var(--secondary); box-shadow:inset 0 0 0 4px var(--primary); }

.xsell { display:block; cursor:pointer; }
.xsell-input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); }
.xsell-card { display:block; border:1px solid var(--border-color); padding:1.5rem; transition:border-color var(--transition), background-color var(--transition), box-shadow var(--transition); }
.xsell-input:focus-visible + .xsell-card { outline:3px solid var(--primary); outline-offset:3px; }
.xsell-input:checked + .xsell-card { background:var(--primary); border-color:var(--primary); box-shadow:0 12px 28px -8px rgba(14,22,40,0.30); }
.xsell-input:checked:focus-visible + .xsell-card { outline-color:var(--secondary); }
.xsell-input:checked + .xsell-card .xsell-title,
.xsell-input:checked + .xsell-card .xsell-desc,
.xsell-input:checked + .xsell-card .xsell-check { color:var(--white) !important; }
.xsell-text { display:block; }
.xsell-title { font-weight:700; font-size:1.125rem; display:block; margin-bottom:0.5rem; }
.xsell-desc { color:var(--text-body); font-size:0.9375rem; line-height:1.55; margin-bottom:1rem; display:block; }
.xsell-check { display:flex; align-items:center; gap:0.75rem; color:var(--text-body); }
.xsell-box { display:block; width:1.25rem; height:1.25rem; border:1px solid #94A3B8; flex-shrink:0; transition:border-color var(--transition), background-color var(--transition), box-shadow var(--transition); }
.xsell-input:checked + .xsell-card .xsell-box { border-color:var(--secondary); background:var(--secondary); box-shadow:inset 0 0 0 4px var(--primary); }

.legal { display:flex; align-items:center; gap:1rem; margin-top:2.5rem; padding-top:1.5rem; flex-shrink:0; }
.legal a { color:var(--text-light); text-decoration:none; font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; transition:color var(--transition); }
.legal a:hover { color:var(--primary); }
.legal a:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
.legal-sep { color:var(--border-color); }

.ref-ticker {
    position:absolute; inset:0; overflow:hidden;
    -webkit-mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
    mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 88%, transparent);
}

.ref-track { display:flex; flex-direction:column; padding:0 1.5rem; animation:refScroll 52s linear infinite; }
@keyframes refScroll { from { transform:translateY(0); } to { transform:translateY(-50%); } }
.ref-card { flex-shrink:0; margin-bottom:1.25rem; }
.ref-card img { width:100%; height:auto; display:block; aspect-ratio:1728 / 1020; }

.calculator { height:100%; display:flex; flex-direction:column; padding:3rem 2.5rem; overflow-y:auto; }
#calc-standard { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; }
.calc-badge { color:var(--secondary); font-size:0.8125rem; font-weight:700; text-transform:uppercase; letter-spacing:0.15em; }
.calc-title { font-size:1.5rem; font-weight:700; margin:0.5rem 0 1.5rem; }
.calc-items { list-style:none; display:flex; flex-direction:column; gap:0.4rem; font-size:0.8125rem; color:rgba(255,255,255,0.8); line-height:1.35; border-top:1px solid rgba(255,255,255,0.1); padding-top:1.5rem; }
.calc-items li { display:flex; align-items:flex-start; gap:0.6rem; }
.calc-items li::before { content:''; width:0.5em; height:0.5em; background:var(--secondary); flex-shrink:0; margin-top:0.42em; }
.calc-prices { margin-top:auto; padding-top:2rem; }
.price-row { display:flex; justify-content:space-between; align-items:baseline; padding:0.35rem 0; }
.price-row-muted { color:rgba(255,255,255,0.7); }
.price-net { font-size:2rem; font-weight:700; color:var(--white); }
.price-row-small { font-size:0.875rem; color:rgba(255,255,255,0.55); }
.price-row-total { border-top:1px solid rgba(255,255,255,0.15); margin-top:0.5rem; padding-top:1rem; font-weight:700; }
.price-row-discount { color:var(--secondary); font-weight:600; }
.price-gross { font-size:1.4rem; color:var(--secondary); }
#calc-standard.has-discount .calc-items { padding-top:1.1rem; gap:0.3rem; }
#calc-standard.has-discount .calc-prices { padding-top:1.25rem; }
#calc-standard.has-discount .price-row { padding:0.22rem 0; }
#calc-standard.has-discount .recurring { margin:0.85rem 0; }
.recurring { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08); padding:1rem; margin:1.25rem 0; }
.recurring-head { display:flex; justify-content:space-between; align-items:baseline; }
.recurring-head span:first-child { color:rgba(255,255,255,0.7); font-size:0.875rem; }
.recurring-amount { font-weight:700; }
.recurring-list { list-style:none; color:var(--secondary); font-size:0.8125rem; line-height:1.7; margin-top:0.75rem; }
.recurring-list li { padding-left:1.3em; position:relative; }
.recurring-list li::before { content:'✓'; position:absolute; left:0; }

.calc-mobile-bar { display:none; }

@media(max-width:1023px) {
    .app { display:block; }
    .app-left { min-height:100vh; padding-bottom:6rem; }
    .app-right {
        position:fixed; left:0; right:0; bottom:0; top:auto;
        height:auto; z-index:120;
        box-shadow:0 -12px 30px rgba(14,22,40,0.25);
    }

    .ref-ticker { display:none; }
    .ref-panel { display:flex; flex-direction:column; min-height:0; }
    .app-right.is-expanded .ref-panel { flex:1 1 auto; min-height:0; }
    .app-right.is-expanded #ref-ticker {
        display:block; position:relative; inset:auto; flex:1 1 auto; min-height:0;
        -webkit-mask-image:linear-gradient(to bottom, transparent, #000 8%, #000 92%, transparent);
        mask-image:linear-gradient(to bottom, transparent, #000 8%, #000 92%, transparent);
    }
    .app-right.is-expanded .ref-track { padding:1.5rem; }

    .calculator { padding:0; height:auto; overflow:visible; display:flex; flex-direction:column; }

    .calc-mobile-bar {
        display:flex; align-items:center;
        width:100%; padding:1.3rem 1.5rem;
        padding-bottom:max(1.3rem, env(safe-area-inset-bottom));
        background:var(--primary);
        border:none; border-top:4px solid var(--secondary); cursor:pointer;
        color:var(--white); font-family:inherit; flex-shrink:0;
    }
    .calc-mobile-bar:focus-visible { outline:3px solid var(--secondary); outline-offset:-3px; }
    .calc-mobile-bar:disabled { opacity:0.5; cursor:not-allowed; }
    .cmb-collapsed { display:flex; align-items:center; justify-content:space-between; width:100%; }
    .cmb-expanded { display:none; width:100%; justify-content:flex-end; }
    .app-right.is-expanded .cmb-collapsed { display:none; }
    .app-right.is-expanded .cmb-expanded { display:flex; }

    .cmb-label { font-size:0.75rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:rgba(255,255,255,0.7); }
    .cmb-right { display:flex; align-items:center; gap:1rem; }
    .cmb-prices { display:flex; align-items:baseline; gap:0.5rem; }
    .cmb-original { font-size:0.9rem; color:rgba(255,255,255,0.5); text-decoration:line-through; }
    .cmb-net { font-size:1.25rem; font-weight:700; color:var(--white); }
    .cmb-toggle-hint {
        display:inline-flex; align-items:center; gap:0.4rem;
        font-size:0.7rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em;
        color:rgba(255,255,255,0.8);
        background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14);
        padding:0.4rem 0.65rem;
    }
    .cmb-chevron { font-size:0.65rem; display:inline-block; }

    #calc-standard, #calc-consult { display:none; }

    .app-right.is-expanded { top:0; height:100%; display:flex; flex-direction:column; }
    .app-right.is-expanded .calculator { flex:1 1 auto; min-height:0; }
    .app-right.is-expanded #calc-standard,
    .app-right.is-expanded #calc-consult {
        display:flex; flex-direction:column; flex:1 1 auto; min-height:0; overflow:hidden; padding:1.5rem;
    }
    .calc-prices { margin-top:auto; }
    .recurring { margin-bottom:0; }
}

.calc-consult { display:flex; flex-direction:column; height:100%; }
.calc-consult-text { color:rgba(255,255,255,0.8); line-height:1.6; margin:1rem 0 2rem; }
.calc-consult-cta { margin-top:auto; }

.hp-field { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.modal { position:fixed; inset:0; z-index:1000; display:flex; align-items:center; justify-content:center; padding:1.5rem; }
.modal[hidden] { display:none; }
.modal-backdrop {
    position:absolute; inset:0;
    background:rgba(14,22,40,0.6);
    -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
.modal-card {
    position:relative; background:var(--white); width:100%; max-width:30rem;
    padding:2.75rem 2rem; text-align:center;
    box-shadow:0 24px 60px -12px rgba(14,22,40,0.45);
    animation:modalIn 0.3s cubic-bezier(0.16,1,0.3,1);
}
@keyframes modalIn { from { opacity:0; transform:translateY(12px) scale(0.98); } to { opacity:1; transform:none; } }
.modal-state { display:flex; flex-direction:column; align-items:center; gap:0.6rem; }
.modal-title { font-size:1.5rem; font-weight:700; color:var(--text-dark); line-height:1.2; }
.modal-title:focus-visible { outline:none; }
.modal-desc { color:var(--text-body); font-size:1rem; line-height:1.6; max-width:24rem; }
.modal-state .btn-primary { margin-top:1.5rem; }

.spinner {
    width:3rem; height:3rem; margin-bottom:0.25rem;
    border:4px solid var(--border-color); border-top-color:var(--primary);
    border-radius:50%; animation:spin 0.8s linear infinite;
}
@keyframes spin { to { transform:rotate(360deg); } }

.modal-icon { width:3.5rem; height:3.5rem; border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:0.25rem; }
.modal-icon svg { width:2rem; height:2rem; }
.modal-icon-success { background:var(--secondary); color:var(--primary); }
.modal-icon-error { background:#FDE2E2; color:#D14343; }

body.modal-open { overflow:hidden; }
.modal-card-legal { max-width:42rem; text-align:left; max-height:85vh; overflow:hidden; padding:0; display:flex; flex-direction:column; }
.modal-legal-head { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.5rem 2.5rem; border-bottom:1px solid var(--border-color); }
.modal-legal-head .modal-title { margin:0; }
.modal-close { flex-shrink:0; width:2rem; height:2rem; display:flex; align-items:center; justify-content:center; background:none; border:none; color:var(--text-light); cursor:pointer; transition:color var(--transition); }
.modal-close svg { width:1.25rem; height:1.25rem; }
.modal-close:hover { color:var(--primary); }
.modal-close:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
.modal-card-legal .modal-scroll { overflow-y:auto; flex:1 1 auto; min-height:0; padding:2.5rem 0 0; }
.modal-card-legal .modal-scroll > * { margin-left:2.5rem; margin-right:2.5rem; }
.modal-card-legal .legal-content > :first-child { margin-top:0; }
.modal-card-legal .legal-content > :last-child { margin-bottom:2.5rem; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration:0.001ms !important;
        animation-iteration-count:1 !important;
        transition-duration:0.001ms !important;
        scroll-behavior:auto !important;
    }
    .ref-track { animation:none !important; }
    .preloader-inner { animation:none !important; }
    .preloader.is-wiping { transition:none; transform:translateX(100%); }
}

@media (max-width:1023px) and (prefers-reduced-motion: reduce) {
    .app-right.is-expanded #ref-ticker {
        overflow-y:auto; -webkit-overflow-scrolling:touch;
        -webkit-mask-image:none; mask-image:none;
    }
    .app-right.is-expanded .ref-track { scroll-snap-type:y proximity; }
    .app-right.is-expanded .ref-card { scroll-snap-align:start; }
}