/*!
 * Selfpage UI — public site design system
 * Tokens come from the Selfpage brand kit. Every class is prefixed "sp-" so the
 * stylesheet can coexist with the legacy Bootstrap theme on pages that are not
 * redesigned yet.
 */

/* ============ Fonts (self-hosted, variable) ============ */
@font-face{font-family:"Manrope";font-style:normal;font-display:swap;font-weight:200 800;src:url(../fonts/manrope-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-display:swap;font-weight:200 800;src:url(../fonts/manrope-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Nunito Sans";font-style:normal;font-display:swap;font-weight:200 1000;src:url(../fonts/nunito-sans-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Nunito Sans";font-style:normal;font-display:swap;font-weight:200 1000;src:url(../fonts/nunito-sans-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Metric-matched fallbacks keep layout shift near zero while the web fonts load */
@font-face{font-family:"Manrope Fallback";src:local("Arial");size-adjust:104%;ascent-override:102%;descent-override:29%;line-gap-override:0%}
@font-face{font-family:"Nunito Sans Fallback";src:local("Arial");size-adjust:101%;ascent-override:100%;descent-override:35%;line-gap-override:0%}

/* ============ Tokens ============ */
:root{
    /* Brand */
    --sp-blue-50:#EBF5FF;
    --sp-blue-100:#D6EBFF;
    --sp-blue-500:#008AFF; /* Selfpage Blue — logo, large accents, focus */
    --sp-blue-600:#0070D1; /* Interactive: buttons, links (AA on white) */
    --sp-blue-700:#0059A8;
    --sp-mint-50:#E8F8F2;
    --sp-mint-500:#5CC9A7; /* The "self" dot — decorative only */
    --sp-mint-700:#187A5E;
    --sp-navy-900:#152C5B;
    --sp-navy-800:#1E3A70;
    --sp-midnight:#0E0B2B;
    --sp-midnight-2:#17143A;
    --sp-slate-600:#5A6B85;
    --sp-slate-400:#8C9AB0;
    --sp-slate-100:#F3F6FA;
    --sp-slate-50:#F8FAFC;
    --sp-line:#E3E8F0;
    --sp-white:#FFFFFF;
    --sp-danger:#C62828;
    --sp-warning:#B25E00;

    /* Semantic */
    --sp-bg:var(--sp-white);
    --sp-bg-alt:#EEF2F8;
    --sp-bg-tint:#EAF3FF;
    --sp-surface:var(--sp-white);
    --sp-text:var(--sp-navy-900);
    --sp-text-muted:var(--sp-slate-600);
    --sp-primary:var(--sp-blue-600);
    --sp-primary-hover:var(--sp-blue-700);
    --sp-focus:var(--sp-blue-500);

    /* Type */
    --sp-font-display:"Manrope","Manrope Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
    --sp-font-body:"Nunito Sans","Nunito Sans Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
    --sp-fs-display:clamp(2.375rem,1.6rem + 3.4vw,4rem);
    --sp-fs-h1:clamp(2.125rem,1.6rem + 2.2vw,3.25rem);
    --sp-fs-h2:clamp(1.75rem,1.4rem + 1.5vw,2.5rem);
    --sp-fs-h3:clamp(1.25rem,1.15rem + .4vw,1.5rem);
    --sp-fs-lead:clamp(1.0625rem,1rem + .3vw,1.25rem);
    --sp-fs-body:1.0625rem;
    --sp-fs-sm:.9375rem;
    --sp-fs-xs:.8125rem;

    /* Space, radius, elevation */
    --sp-gutter:clamp(1rem,.6rem + 2vw,2rem);
    --sp-container:1200px;
    --sp-section:clamp(4rem,3rem + 5vw,7.5rem);
    --sp-r-sm:8px;
    --sp-r-md:12px;
    --sp-r-lg:16px;
    --sp-r-xl:24px;
    --sp-r-pill:9999px;
    --sp-shadow-1:0 1px 2px rgb(21 44 91 / .06),0 1px 1px rgb(21 44 91 / .04);
    --sp-shadow-2:0 12px 32px -12px rgb(21 44 91 / .18),0 2px 6px rgb(21 44 91 / .05);
    --sp-shadow-3:0 32px 64px -24px rgb(21 44 91 / .28);
    --sp-ease:cubic-bezier(.2,.7,.2,1);
    --sp-header-h:72px;
}

/* ============ Base ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--sp-header-h) + 16px)}
body.sp-body{margin:0;background:var(--sp-bg);color:var(--sp-text);font-family:var(--sp-font-body);font-size:var(--sp-fs-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.sp-body img{max-width:100%;height:auto}
.sp-body :where(h1,h2,h3,h4,h5,h6){font-family:var(--sp-font-display);color:var(--sp-text);line-height:1.15;letter-spacing:-.02em;margin:0 0 .5em;font-weight:800}
.sp-body :where(p){margin:0 0 1em}
.sp-body :where(a){color:var(--sp-primary);text-decoration-thickness:1px;text-underline-offset:3px}
.sp-body :where(a:hover){color:var(--sp-primary-hover)}
.sp-body :where(ul,ol){padding-left:1.25em}
.sp-body :focus-visible{outline:3px solid var(--sp-focus);outline-offset:2px;border-radius:4px}
.sp-body ::selection{background:var(--sp-blue-100);color:var(--sp-navy-900)}

.sp-body .sp-icon,.sp-icon{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.125em;overflow:visible}
.sp-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sp-skip{position:absolute;left:1rem;top:-100px;z-index:1000;background:var(--sp-navy-900);color:#fff!important;padding:.75rem 1rem;border-radius:var(--sp-r-sm);font-weight:700;text-decoration:none}
.sp-skip:focus{top:1rem}

/* ============ Layout ============ */
.sp-container{width:100%;max-width:calc(var(--sp-container) + var(--sp-gutter) * 2);margin-inline:auto;padding-inline:var(--sp-gutter)}
.sp-container--narrow{max-width:calc(820px + var(--sp-gutter) * 2)}
.sp-section{padding-block:var(--sp-section)}
.sp-section--tight{padding-block:calc(var(--sp-section) * .6)}
.sp-section--alt{background:var(--sp-bg-alt)}
.sp-hero:has(+ .sp-section--hero-tail){border-bottom:0}
.sp-section--hero-tail{background:linear-gradient(180deg,#F6FAFF,#EEF2F8)}
.sp-section--hero-tail .sp-answer{background:#fff;box-shadow:var(--sp-shadow-1)}
.sp-section:has(> .sp-container > .sp-cta){background:var(--sp-bg-alt)}
.sp-section--alt a:not(.sp-btn):not(.sp-card),.sp-section--tint a:not(.sp-btn):not(.sp-card),.sp-section--hero-tail a:not(.sp-btn){color:var(--sp-blue-700)}
.sp-section--tint{background:linear-gradient(180deg,var(--sp-bg-tint),#F4F9FF)}
.sp-section--dark{position:relative;isolation:isolate;background:radial-gradient(900px 420px at 88% 0%,rgb(26 149 255 / .16),transparent 60%),radial-gradient(700px 380px at 0% 100%,rgb(92 201 167 / .12),transparent 60%),var(--sp-midnight);color:#D5DBEA;--sp-text:#fff;--sp-text-muted:#AEB8CE;--sp-line:rgb(255 255 255 / .1)}
.sp-section--dark::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgb(255 255 255 / .035) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);pointer-events:none}
.sp-section--dark :where(h1,h2,h3,h4){color:#fff}
.sp-grid{display:grid;gap:clamp(1rem,.5rem + 1.5vw,1.5rem)}
.sp-grid--2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.sp-grid--3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.sp-grid--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.sp-split{display:grid;gap:clamp(2rem,1rem + 4vw,5rem);align-items:center}
@media (min-width:900px){
    .sp-split{grid-template-columns:1fr 1fr}
    .sp-split--reverse>:first-child{order:2}
    .sp-split--form{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}
}
.sp-hero__grid>*,.sp-split>*,.sp-grid>*,.sp-bento>*{min-width:0}
.sp-center{text-align:center}
.sp-stack>*+*{margin-top:1rem}

/* ============ Typography ============ */
.sp-display,.sp-h1,.sp-h2,.sp-h3{font-family:var(--sp-font-display);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--sp-text)}
.sp-display{font-size:var(--sp-fs-display);line-height:1.05;letter-spacing:-.035em}
.sp-h1{font-size:var(--sp-fs-h1);letter-spacing:-.03em}
.sp-h2{font-size:var(--sp-fs-h2);letter-spacing:-.025em}
.sp-h3{font-size:var(--sp-fs-h3)}
.sp-lead{font-size:var(--sp-fs-lead);color:var(--sp-text-muted);line-height:1.6}
.sp-muted{color:var(--sp-text-muted)}
.sp-small{font-size:var(--sp-fs-sm)}
.sp-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sp-font-display);font-size:var(--sp-fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sp-blue-700);margin-bottom:1rem}
.sp-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sp-mint-500)}
.sp-section--dark .sp-eyebrow{color:#7CC2FF}
.sp-highlight{background:linear-gradient(120deg,var(--sp-blue-500),#34A8FF 60%,var(--sp-mint-500));-webkit-background-clip:text;background-clip:text;color:transparent}
.sp-section-head{max-width:760px;margin:0 auto clamp(2.5rem,2rem + 2vw,4rem);text-align:center}
.sp-section-head .sp-lead{margin-inline:auto;max-width:640px}

/* ============ Buttons ============ */
.sp-btn{--_bg:var(--sp-primary);--_fg:#fff;--_bd:transparent;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.625rem 1.25rem;border:1.5px solid var(--_bd);border-radius:var(--sp-r-md);background:var(--_bg);color:var(--_fg)!important;font-family:var(--sp-font-display);font-size:.9375rem;font-weight:700;line-height:1.2;text-decoration:none!important;white-space:nowrap;cursor:pointer;transition:background-color .2s var(--sp-ease),border-color .2s var(--sp-ease),box-shadow .2s var(--sp-ease),transform .2s var(--sp-ease)}
.sp-btn:hover{--_bg:var(--sp-primary-hover);box-shadow:0 8px 20px -8px rgb(0 112 209 / .55)}
.sp-btn:active{transform:translateY(1px)}
.sp-btn--secondary{--_bg:var(--sp-white);--_fg:var(--sp-navy-900);--_bd:var(--sp-line)}
.sp-btn--secondary:hover{--_bg:var(--sp-slate-50);--_bd:#C9D3E1;box-shadow:var(--sp-shadow-1)}
.sp-btn--ghost{--_bg:transparent;--_fg:var(--sp-navy-900)}
.sp-btn--ghost:hover{--_bg:var(--sp-slate-100);box-shadow:none}
.sp-btn--light{--_bg:#fff;--_fg:var(--sp-navy-900)}
.sp-btn--light:hover{--_bg:var(--sp-blue-50);box-shadow:none}
.sp-btn--outline-light{--_bg:transparent;--_fg:#fff;--_bd:rgb(255 255 255 / .35)}
.sp-btn--outline-light:hover{--_bg:rgb(255 255 255 / .08);box-shadow:none}
.sp-btn--lg{min-height:52px;padding:.8rem 1.6rem;font-size:1rem;border-radius:14px}
.sp-btn--sm{min-height:36px;padding:.4rem .875rem;font-size:.875rem;border-radius:10px}
.sp-btn--block{display:flex;width:100%}
.sp-btn .sp-icon{transition:transform .2s var(--sp-ease)}
.sp-btn:hover .sp-icon--arrow{transform:translateX(3px)}
.sp-link-arrow{display:inline-flex;align-items:center;gap:.375rem;font-weight:700;font-family:var(--sp-font-display);text-decoration:none!important}
.sp-link-arrow:hover .sp-icon{transform:translateX(3px)}
.sp-link-arrow .sp-icon{transition:transform .2s var(--sp-ease)}

/* ============ Header ============ */
.sp-header{position:sticky;top:0;z-index:100;background:rgb(255 255 255 / .86);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s,box-shadow .2s}
.sp-header.is-scrolled{border-bottom-color:var(--sp-line);box-shadow:0 1px 12px rgb(21 44 91 / .05)}
.sp-header__bar{display:flex;align-items:center;gap:1.5rem;height:var(--sp-header-h)}
.sp-logo{display:inline-flex;align-items:center;flex:none;line-height:0}
.sp-logo img{height:30px;width:auto}
.sp-nav{display:none;align-items:center;gap:.25rem;margin-left:1rem}
.sp-nav__item{position:relative}
.sp-nav__link{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem .75rem;border:0;border-radius:var(--sp-r-sm);background:none;color:var(--sp-navy-900)!important;font:600 .9375rem/1.2 var(--sp-font-display);text-decoration:none!important;cursor:pointer}
.sp-nav__link:hover,.sp-nav__link[aria-expanded="true"]{background:var(--sp-slate-100)}
.sp-nav__link[aria-current="page"]{color:var(--sp-primary)!important}
.sp-nav__link .sp-icon{font-size:.875em;transition:transform .2s var(--sp-ease)}
.sp-nav__link[aria-expanded="true"] .sp-icon{transform:rotate(180deg)}
.sp-header__actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.sp-header__login{display:none}
@media (max-width:639px){.sp-header__cta{min-height:40px;padding:.4rem .875rem;font-size:.875rem}.sp-logo img{height:26px;width:auto}}
@media (max-width:359px){.sp-header__cta{display:none}}
.sp-menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--sp-line);border-radius:var(--sp-r-md);background:#fff;color:var(--sp-navy-900);cursor:pointer;font-size:1.25rem}

/* Mega menu */
.sp-mega{position:absolute;top:calc(100% + 10px);left:50%;translate:-50% 0;width:min(640px,90vw);padding:.75rem;background:#fff;border:1px solid var(--sp-line);border-radius:var(--sp-r-lg);box-shadow:var(--sp-shadow-3);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s var(--sp-ease),transform .18s var(--sp-ease),visibility 0s linear .18s}
.sp-mega::before{content:"";position:absolute;inset:-12px 0 auto;height:12px}
.sp-nav__item.is-open .sp-mega{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.sp-mega--sm{width:min(380px,90vw)}
.sp-mega__grid{display:grid;grid-template-columns:1fr 1fr;gap:.25rem}
.sp-mega--sm .sp-mega__grid{grid-template-columns:1fr}
.sp-mega__link{display:flex;gap:.875rem;align-items:flex-start;padding:.75rem;border-radius:var(--sp-r-md);color:var(--sp-navy-900)!important;text-decoration:none!important}
.sp-mega__link:hover{background:var(--sp-slate-100)}
.sp-mega__icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:10px;background:var(--sp-blue-50);color:var(--sp-primary);font-size:1.125rem}
.sp-mega__title{display:block;font:700 .9375rem/1.3 var(--sp-font-display)}
.sp-mega__desc{display:block;margin-top:.125rem;font-size:.8125rem;line-height:1.45;color:var(--sp-text-muted)}
.sp-mega__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.5rem;padding:.875rem 1rem;border-radius:var(--sp-r-md);background:var(--sp-slate-100);font-size:.875rem}

/* Mobile sheet */
.sp-sheet{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:#fff;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s var(--sp-ease),transform .2s var(--sp-ease),visibility 0s linear .2s}
.sp-sheet.is-open{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.sp-sheet__head{display:flex;align-items:center;justify-content:space-between;height:var(--sp-header-h);padding-inline:var(--sp-gutter);border-bottom:1px solid var(--sp-line);flex:none}
.sp-sheet__body{padding:1rem var(--sp-gutter) 2rem;flex:1}
.sp-sheet__group{border-bottom:1px solid var(--sp-line)}
.sp-sheet__group>summary{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;font:700 1.0625rem var(--sp-font-display);cursor:pointer;list-style:none}
.sp-sheet__group>summary::-webkit-details-marker{display:none}
.sp-sheet__group[open]>summary .sp-icon{transform:rotate(180deg)}
.sp-sheet__group .sp-mega__link{padding:.625rem 0}
.sp-sheet__link{display:block;padding:1rem 0;border-bottom:1px solid var(--sp-line);font:700 1.0625rem var(--sp-font-display);color:var(--sp-navy-900)!important;text-decoration:none!important}
.sp-sheet__cta{display:grid;gap:.75rem;padding:1rem var(--sp-gutter) calc(1.5rem + env(safe-area-inset-bottom));border-top:1px solid var(--sp-line);flex:none}
body.sp-no-scroll{overflow:hidden}

@media (min-width:1024px){
    .sp-nav{display:flex}
    .sp-header__login{display:inline-flex}
    .sp-menu-toggle{display:none}
}

/* Impersonation banner */
.sp-banner{background:var(--sp-navy-900);color:#fff;font-size:var(--sp-fs-sm)}
.sp-banner .sp-container{display:flex;align-items:center;justify-content:center;gap:1rem;min-height:44px;flex-wrap:wrap}

/* ============ Hero ============ */
.sp-hero{position:relative;overflow:hidden;padding-block:clamp(3rem,2rem + 5vw,6.5rem) clamp(3.5rem,2rem + 5vw,6rem);background:radial-gradient(1100px 520px at 90% -10%,rgb(0 138 255 / .18),transparent 60%),radial-gradient(800px 460px at -10% 110%,rgb(92 201 167 / .18),transparent 60%),linear-gradient(180deg,#EDF5FF 0%,#F6FAFF 100%);border-bottom:1px solid #DCE8F7}
.sp-hero__grid{display:grid;gap:clamp(2.5rem,1rem + 5vw,4rem);align-items:center}
@media (min-width:1000px){.sp-hero__grid{grid-template-columns:1.1fr .9fr}}
.sp-hero__title{margin-bottom:1.25rem}
.sp-hero__lead{max-width:560px;margin-bottom:2rem}
.sp-hero__proof{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:1.25rem;padding:0;list-style:none;font-size:var(--sp-fs-sm);color:var(--sp-text-muted)}
.sp-hero__proof li{display:inline-flex;align-items:center;gap:.375rem}
.sp-hero__proof .sp-icon{color:var(--sp-mint-700)}
.sp-hero__visual{position:relative;display:flex;justify-content:center}

/* Username claim */
.sp-claim{display:flex;flex-wrap:wrap;gap:.5rem;max-width:560px;padding:.375rem;background:#fff;border:1.5px solid var(--sp-line);border-radius:18px;box-shadow:var(--sp-shadow-2);transition:border-color .2s,box-shadow .2s}
.sp-claim:focus-within{border-color:var(--sp-blue-500);box-shadow:0 0 0 4px rgb(0 138 255 / .14),var(--sp-shadow-2)}
.sp-claim__field{display:flex;align-items:center;flex:1 1 260px;min-width:0;padding-left:.875rem}
.sp-claim__prefix{flex:none;color:var(--sp-text-muted);font:600 1rem var(--sp-font-display);user-select:none}
.sp-claim__input{flex:1;min-width:0;height:48px;padding:0 .25rem;border:0;outline:0;background:transparent;color:var(--sp-navy-900);font:700 1rem var(--sp-font-display)}
.sp-claim__input::placeholder{color:var(--sp-slate-400);font-weight:600}
.sp-claim .sp-btn{flex:1 0 auto;min-height:48px}
.sp-section--dark .sp-claim{border-color:transparent}

/* Phone mockup */
.sp-phone{position:relative;width:var(--sp-phone-w,300px);max-width:100%;aspect-ratio:9/19;padding:12px;border-radius:44px;background:linear-gradient(145deg,#1b1f3b,#0b0a22);box-shadow:var(--sp-shadow-3),inset 0 0 0 2px rgb(255 255 255 / .06)}
.sp-phone::before{content:"";position:absolute;top:22px;left:50%;translate:-50% 0;width:84px;height:22px;border-radius:14px;background:#05040f;z-index:2}
.sp-phone__screen{position:relative;height:100%;overflow:hidden;border-radius:34px;background:var(--pb-bg,#fff)}
.sp-bio{display:flex;flex-direction:column;align-items:center;gap:.625rem;height:100%;padding:3.25rem 1.125rem 1.25rem;text-align:center;color:var(--pb-fg,var(--sp-navy-900));transition:opacity .45s var(--sp-ease)}
.sp-bio>*{flex-shrink:0}
.sp-bio__avatar{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--pb-avatar,linear-gradient(135deg,#008AFF,#5CC9A7));color:#fff;font:800 1.625rem var(--sp-font-display);box-shadow:0 0 0 4px var(--pb-ring,#fff)}
.sp-bio__name{margin:.25rem 0 0;font:800 1.0625rem/1.2 var(--sp-font-display);color:inherit;letter-spacing:-.01em}
.sp-bio__tag{margin:0;font-size:.75rem;opacity:.75;line-height:1.4}
.sp-bio__social{display:flex;gap:.625rem;margin:.125rem 0 .375rem;font-size:.9375rem;opacity:.85}
.sp-bio__btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:42px;padding:.5rem .75rem;border-radius:var(--pb-radius,12px);background:var(--pb-btn,#fff);color:var(--pb-btn-fg,var(--sp-navy-900));border:1px solid var(--pb-btn-bd,var(--sp-line));font:700 .8125rem var(--sp-font-display);box-shadow:0 2px 0 rgb(21 44 91 / .04)}
.sp-bio__media{width:100%;aspect-ratio:16/9;border-radius:var(--pb-radius,12px);background:var(--pb-media,linear-gradient(135deg,#dfeaff,#e8f8f2));display:grid;place-items:center;color:var(--pb-fg,var(--sp-navy-900));font-size:1.5rem}
.sp-bio__foot{margin-top:auto;font-size:.625rem;opacity:.6;display:flex;align-items:center;gap:.25rem}
.sp-bio.is-fading{opacity:0}
.sp-float{position:absolute;display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;background:#fff;border:1px solid var(--sp-line);border-radius:14px;box-shadow:var(--sp-shadow-2);font-size:.8125rem;line-height:1.3;white-space:nowrap}
.sp-float strong{display:block;font:800 .9375rem var(--sp-font-display);color:var(--sp-navy-900)}
.sp-float__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--sp-mint-50);color:var(--sp-mint-700)}
.sp-float--a{left:0;top:18%}
.sp-float--b{right:0;bottom:16%}
.sp-float--b .sp-float__icon{background:var(--sp-blue-50);color:var(--sp-primary)}
@media (max-width:560px){.sp-float{display:none}}

/* Bio page theme presets (used by the mockups) */
.pb-theme--sky{--pb-bg:linear-gradient(180deg,#EAF4FF 0%,#FFFFFF 70%)}
.pb-theme--midnight{--pb-bg:linear-gradient(180deg,#17143A,#0E0B2B);--pb-fg:#fff;--pb-btn:rgb(255 255 255 / .08);--pb-btn-fg:#fff;--pb-btn-bd:rgb(255 255 255 / .14);--pb-ring:#17143A;--pb-media:linear-gradient(135deg,#243066,#1a4a55)}
.pb-theme--mint{--pb-bg:linear-gradient(180deg,#E8F8F2,#FFFFFF 75%);--pb-avatar:linear-gradient(135deg,#187A5E,#5CC9A7);--pb-radius:9999px;--pb-btn:#152C5B;--pb-btn-fg:#fff;--pb-btn-bd:#152C5B}
.pb-theme--sunset{--pb-bg:linear-gradient(180deg,#FFF1E8,#FFE3EC);--pb-avatar:linear-gradient(135deg,#FF7A59,#E0487F);--pb-radius:6px;--pb-btn:#fff;--pb-btn-bd:#1f1f1f;--pb-btn-fg:#1f1f1f}

/* ============ Trust strip ============ */
.sp-trust{padding-block:1.75rem;background:var(--sp-navy-900)}
.sp-trust__list{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.5rem;margin:0;padding:0;list-style:none}
.sp-trust__item{display:inline-flex;align-items:center;gap:.625rem;font:700 .9375rem var(--sp-font-display);color:#fff}
.sp-trust__item .sp-icon{font-size:1.25rem;color:var(--sp-mint-500)}

/* ============ Cards ============ */
.sp-card{position:relative;padding:clamp(1.5rem,1.2rem + 1vw,2rem);background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:var(--sp-r-xl);transition:border-color .2s,box-shadow .2s,transform .2s var(--sp-ease)}
a.sp-card{display:block;color:inherit!important;text-decoration:none!important}
a.sp-card:hover,.sp-card--hover:hover{border-color:#C9D3E1;box-shadow:var(--sp-shadow-2);transform:translateY(-2px)}
.sp-card__icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:1.25rem;border-radius:14px;background:var(--sp-blue-50);color:var(--sp-primary);font-size:1.375rem}
.sp-card__icon--mint{background:var(--sp-mint-50);color:var(--sp-mint-700)}
.sp-card__icon--navy{background:#E8ECF5;color:var(--sp-navy-900)}
.sp-card__title{font-size:1.1875rem;margin-bottom:.5rem}
.sp-card__text{margin:0;color:var(--sp-text-muted);font-size:var(--sp-fs-sm)}
.sp-section--dark .sp-card{background:var(--sp-midnight-2);border-color:rgb(255 255 255 / .08)}
.sp-section--dark .sp-card__icon{background:rgb(26 149 255 / .14);color:#7CC2FF}

/* Bento */
.sp-bento{display:grid;gap:clamp(1rem,.5rem + 1.5vw,1.5rem);grid-template-columns:1fr}
@media (min-width:760px){.sp-bento{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){
    .sp-bento{grid-template-columns:repeat(6,1fr)}
    .sp-bento>*{grid-column:span 2}
    .sp-bento>.sp-bento__wide{grid-column:span 3}
    .sp-bento>.sp-bento__xl{grid-column:span 4}
}
.sp-bento__feature{background:linear-gradient(160deg,var(--sp-blue-50),#fff 60%)}
.sp-bento__art{margin:1.5rem -.25rem -.25rem;display:flex;gap:.5rem;flex-wrap:wrap}
.sp-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--sp-line);border-radius:var(--sp-r-pill);background:#fff;font:700 .8125rem var(--sp-font-display);color:var(--sp-navy-900)}
.sp-chip .sp-icon{color:var(--sp-primary)}
.sp-bars{display:flex;align-items:flex-end;gap:6px;height:84px;margin-top:1.5rem}
.sp-bars span{flex:1;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--sp-blue-500),#6CBBFF)}
.sp-bars span:nth-child(3n){background:linear-gradient(180deg,var(--sp-mint-500),#9BE0CA)}

/* Steps */
.sp-steps{display:grid;gap:1.5rem;counter-reset:step;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin:0;padding:0;list-style:none}
.sp-step{position:relative;padding:2rem 1.75rem 1.75rem;border-radius:var(--sp-r-xl);background:#fff;border:1px solid var(--sp-line)}
.sp-step::before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:40px;height:40px;margin-bottom:1.25rem;border-radius:50%;background:var(--sp-navy-900);color:#fff;font:800 1rem var(--sp-font-display)}
.sp-step h3{font-size:1.1875rem}
.sp-step p{margin:0;color:var(--sp-text-muted);font-size:var(--sp-fs-sm)}

/* Feature list with checks */
.sp-checks{display:grid;gap:.875rem;margin:1.75rem 0 2rem;padding:0;list-style:none}
.sp-checks li{display:flex;gap:.75rem;align-items:flex-start}
.sp-checks li>.sp-icon{margin-top:.2rem;padding:3px;width:1.375rem;height:1.375rem;border-radius:50%;background:var(--sp-mint-50);color:var(--sp-mint-700)}
.sp-checks strong{display:block;font-family:var(--sp-font-display);color:var(--sp-text)}
.sp-checks span{color:var(--sp-text-muted);font-size:var(--sp-fs-sm)}

/* Media panel (screenshots, mockups) */
.sp-panel{position:relative;padding:clamp(1.5rem,1rem + 2vw,2.5rem);border-radius:28px;background:linear-gradient(150deg,var(--sp-blue-50),var(--sp-mint-50));overflow:hidden}
.sp-panel--navy{background:linear-gradient(150deg,#152C5B,#0E0B2B)}
.sp-window{border-radius:var(--sp-r-lg);background:#fff;box-shadow:var(--sp-shadow-3);overflow:hidden;border:1px solid var(--sp-line)}
.sp-window__bar{display:flex;align-items:center;gap:6px;padding:.75rem 1rem;border-bottom:1px solid var(--sp-line);background:var(--sp-slate-50)}
.sp-window__bar i{width:10px;height:10px;border-radius:50%;background:#D8DEE8}
.sp-window__url{margin-left:.75rem;padding:.25rem .75rem;border-radius:var(--sp-r-pill);background:#fff;border:1px solid var(--sp-line);font-size:.75rem;color:var(--sp-text-muted);font-family:var(--sp-font-display);font-weight:600}
.sp-window__body{padding:1.25rem}

/* Stat tiles */
.sp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1rem}
.sp-stat{padding:.875rem;border-radius:var(--sp-r-md);background:var(--sp-slate-50);border:1px solid var(--sp-line)}
.sp-stat b{display:block;font:800 1.25rem var(--sp-font-display);color:var(--sp-navy-900)}
.sp-stat small{font-size:.75rem;color:var(--sp-text-muted)}
.sp-stat em{font-style:normal;font-size:.75rem;font-weight:700;color:var(--sp-mint-700)}
.sp-rows{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}
.sp-rows li{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:center;font-size:.8125rem;font-weight:600}
.sp-rows li span:last-child{color:var(--sp-text-muted)}
.sp-rows li i{grid-column:1/-1;display:block;height:6px;border-radius:6px;background:var(--sp-slate-100);overflow:hidden}
.sp-rows li i::after{content:"";display:block;height:100%;width:var(--w);border-radius:inherit;background:var(--sp-blue-500)}

/* Tabs */
.sp-tabs__list{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:0 auto 2.5rem;padding:.375rem;width:fit-content;max-width:100%;border-radius:22px;background:var(--sp-slate-100)}
.sp-tabs__tab{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:.5rem 1.125rem;border:0;border-radius:var(--sp-r-pill);background:transparent;color:var(--sp-text-muted);font:700 .9375rem var(--sp-font-display);cursor:pointer;transition:background-color .2s,color .2s}
.sp-tabs__tab:hover{color:var(--sp-navy-900)}
.sp-tabs__tab[aria-selected="true"]{background:#fff;color:var(--sp-navy-900);box-shadow:var(--sp-shadow-1)}
.sp-tabs__panel[hidden]{display:none}

/* Testimonials */
.sp-quote{display:flex;flex-direction:column;height:100%;margin:0}
.sp-quote blockquote{margin:0 0 1.5rem;font-size:1.0625rem;line-height:1.6;color:var(--sp-text)}
.sp-quote__stars{display:flex;gap:2px;margin-bottom:1rem;color:#F5A524}
.sp-quote__stars .sp-icon{fill:currentColor}
.sp-quote figcaption{display:flex;align-items:center;gap:.75rem;margin-top:auto}
.sp-quote img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.sp-quote figcaption b{display:block;font-family:var(--sp-font-display);color:var(--sp-text)}
.sp-quote figcaption span{font-size:var(--sp-fs-sm);color:var(--sp-text-muted)}

/* FAQ */
.sp-faq{display:grid;gap:.75rem}
.sp-faq__item{border:1px solid var(--sp-line);border-radius:var(--sp-r-lg);background:#fff;transition:border-color .2s,box-shadow .2s}
.sp-faq__item[open]{border-color:#C9D3E1;box-shadow:var(--sp-shadow-1)}
.sp-faq__q{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.125rem 1.375rem;font:700 1.0625rem/1.4 var(--sp-font-display);color:var(--sp-text);cursor:pointer;list-style:none}
.sp-faq__q::-webkit-details-marker{display:none}
.sp-faq__q .sp-faq__icon{padding:4px;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--sp-slate-100);transition:transform .2s var(--sp-ease)}
.sp-faq__item[open] .sp-faq__q .sp-faq__icon{transform:rotate(45deg);background:var(--sp-blue-50);color:var(--sp-primary)}
.sp-faq__a{padding:0 1.375rem 1.25rem;color:var(--sp-text-muted)}
.sp-faq__a p:last-child{margin:0}

/* CTA band */
.sp-cta{position:relative;overflow:hidden;padding:clamp(2.5rem,2rem + 3vw,4.5rem) clamp(1.5rem,1rem + 3vw,4rem);border-radius:32px;background:radial-gradient(600px 300px at 90% 0%,rgb(26 149 255 / .35),transparent 60%),radial-gradient(500px 260px at 0% 100%,rgb(92 201 167 / .25),transparent 60%),var(--sp-midnight);color:#D5DBEA;text-align:center}
.sp-cta h2{color:#fff;margin-inline:auto;max-width:720px}
.sp-cta .sp-lead{color:#AEB8CE;margin-inline:auto;max-width:560px}
.sp-cta .sp-claim{margin:2rem auto 0}
.sp-cta__note{margin-top:1rem;font-size:var(--sp-fs-sm);color:#AEB8CE}

/* ============ Page hero (inner pages) ============ */
.sp-page-hero{padding-block:clamp(3rem,2rem + 4vw,5.5rem) clamp(2.5rem,2rem + 2vw,3.5rem);background:radial-gradient(900px 380px at 50% -30%,rgb(0 138 255 / .16),transparent 70%),radial-gradient(600px 300px at 100% 100%,rgb(92 201 167 / .12),transparent 60%),linear-gradient(180deg,#EDF5FF,#F6FAFF);border-bottom:1px solid #DCE8F7;text-align:center}
.sp-page-hero--flush{border-bottom:0;background:radial-gradient(900px 380px at 50% -30%,rgb(0 138 255 / .16),transparent 70%),linear-gradient(180deg,#EDF5FF,#F6FAFF)}
.sp-page-hero .sp-lead{max-width:680px;margin-inline:auto}
.sp-page-hero__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}
.sp-crumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:.375rem;margin:0 0 1.25rem;padding:0;list-style:none;font-size:var(--sp-fs-sm);color:var(--sp-text-muted)}
.sp-crumbs li+li::before{content:"/";margin-right:.375rem;color:var(--sp-slate-400)}
.sp-crumbs a{color:var(--sp-text-muted);text-decoration:none}
.sp-crumbs a:hover{color:var(--sp-primary)}

/* Answer box (GEO) */
.sp-answer{max-width:760px;margin:0 auto;padding:1.5rem 1.75rem;border-left:4px solid var(--sp-blue-500);border-radius:0 var(--sp-r-lg) var(--sp-r-lg) 0;background:var(--sp-slate-50);text-align:left}
.sp-answer h2{font-size:1.125rem;margin-bottom:.5rem}
.sp-answer p{margin:0;color:var(--sp-text)}

/* ============ Pricing ============ */
.sp-billing{display:inline-flex;align-items:center;gap:.25rem;padding:.3125rem;border-radius:var(--sp-r-pill);background:var(--sp-slate-100);margin-top:2rem}
.sp-billing button{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:.5rem 1.125rem;border:0;border-radius:var(--sp-r-pill);background:none;color:var(--sp-text-muted);font:700 .9375rem var(--sp-font-display);cursor:pointer}
.sp-billing button[aria-pressed="true"]{background:#fff;color:var(--sp-navy-900);box-shadow:var(--sp-shadow-1)}
.sp-save{padding:.125rem .5rem;border-radius:var(--sp-r-pill);background:var(--sp-mint-50);color:var(--sp-mint-700);font-size:.75rem;font-weight:800}
.sp-plans{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:stretch}
.sp-plan{position:relative;display:flex;flex-direction:column;padding:2rem 1.75rem;border:1px solid var(--sp-line);border-radius:var(--sp-r-xl);background:#fff}
.sp-plan--featured{border:2px solid var(--sp-primary);box-shadow:var(--sp-shadow-2)}
.sp-plan__badge{position:absolute;top:-13px;left:1.75rem;display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:var(--sp-r-pill);background:var(--sp-primary);color:#fff;font:800 .75rem var(--sp-font-display);letter-spacing:.02em}
.sp-plan__badge::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sp-mint-500)}
.sp-plan__name{font-size:1.25rem;margin-bottom:.25rem}
.sp-plan__desc{min-height:3em;margin:0 0 1.5rem;color:var(--sp-text-muted);font-size:var(--sp-fs-sm)}
.sp-plan__price{display:flex;align-items:baseline;gap:.375rem;margin-bottom:.25rem;font:800 2.5rem/1 var(--sp-font-display);letter-spacing:-.03em;color:var(--sp-navy-900)}
.sp-plan__period{font:600 .9375rem var(--sp-font-body);color:var(--sp-text-muted);letter-spacing:0}
.sp-plan__trial{min-height:1.5em;margin-bottom:1.25rem;font-size:var(--sp-fs-sm);color:var(--sp-mint-700);font-weight:700}
.sp-plan .sp-btn{margin-bottom:1.5rem}
.sp-plan__perks{display:grid;gap:.625rem;margin:0 0 1.25rem;padding:.875rem;list-style:none;border-radius:var(--sp-r-lg);background:linear-gradient(135deg,var(--sp-mint-50),var(--sp-blue-50));border:1px solid #CDEBDF}
.sp-plan__perks li{display:flex;gap:.75rem;align-items:center}
.sp-plan__perk-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:10px;background:#fff;color:var(--sp-mint-700);font-size:1.125rem;box-shadow:var(--sp-shadow-1)}
.sp-plan__perks strong{display:block;font:800 .9375rem/1.3 var(--sp-font-display);color:var(--sp-navy-900)}
.sp-plan__perks small{display:block;font-size:.8125rem;line-height:1.35;color:var(--sp-mint-700);font-weight:700}
.sp-plan--featured .sp-plan__badge{background:linear-gradient(90deg,var(--sp-blue-600),var(--sp-mint-700))}
.sp-plan__features{display:grid;gap:.625rem;margin:0;padding:1.25rem 0 0;border-top:1px solid var(--sp-line);list-style:none;font-size:var(--sp-fs-sm)}
.sp-plan__features li{display:flex;gap:.625rem;align-items:flex-start}
.sp-plan__features .sp-icon{margin-top:.2rem;color:var(--sp-mint-700)}
.sp-plan__features li.is-off{color:var(--sp-slate-400)}
.sp-plan__features li.is-off .sp-icon{color:var(--sp-slate-400)}

.sp-compare{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--sp-fs-sm)}
.sp-compare-wrap{position:relative;overflow-x:auto;border:1px solid var(--sp-line);border-radius:var(--sp-r-xl);background:#fff;-webkit-overflow-scrolling:touch}
.sp-compare th,.sp-compare td{padding:.875rem 1.125rem;border-bottom:1px solid var(--sp-line);text-align:center;white-space:nowrap}
.sp-compare thead th{position:sticky;top:0;background:#fff;font:800 1rem var(--sp-font-display);color:var(--sp-navy-900)}
.sp-compare tbody th{text-align:left;font-weight:600;color:var(--sp-text);white-space:normal;min-width:220px}
.sp-compare tbody th small{display:block;font-weight:400;color:var(--sp-text-muted);font-size:.8125rem}
.sp-compare tr.sp-compare__group th{padding-top:1.5rem;background:var(--sp-slate-50);font:800 .75rem var(--sp-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--sp-text-muted)}
.sp-compare tbody tr:last-child>*{border-bottom:0}
.sp-compare .sp-yes{color:var(--sp-mint-700);font-size:1.125rem}
.sp-compare .sp-no{color:var(--sp-slate-400);font-size:1.125rem}

/* ============ Prose (CMS pages, legal) ============ */
.sp-prose{font-size:1.0625rem;line-height:1.75;color:#2B3A55}
.sp-prose :where(h2){font-size:1.625rem;margin:2.5rem 0 1rem}
.sp-prose :where(h3){font-size:1.25rem;margin:2rem 0 .75rem}
.sp-prose :where(img){border-radius:var(--sp-r-lg)}
.sp-prose :where(blockquote){margin:1.5rem 0;padding:.25rem 0 .25rem 1.25rem;border-left:3px solid var(--sp-blue-500);color:var(--sp-text-muted)}
.sp-prose :where(table){width:100%;border-collapse:collapse;margin:1.5rem 0}
.sp-prose :where(th,td){padding:.625rem .75rem;border:1px solid var(--sp-line);text-align:left}
.sp-meta{display:flex;justify-content:center;gap:.5rem;margin-top:1rem;font-size:var(--sp-fs-sm);color:var(--sp-text-muted)}

/* ============ Forms ============ */
.sp-form{display:grid;gap:1.25rem}
.sp-form__row{display:grid;gap:1.25rem}
@media (min-width:640px){.sp-form__row{grid-template-columns:1fr 1fr}}
.sp-label{display:block;margin-bottom:.4rem;font:700 .9375rem var(--sp-font-display);color:var(--sp-text)}
.sp-input{display:block;width:100%;min-height:48px;padding:.75rem 1rem;border:1.5px solid var(--sp-line);border-radius:var(--sp-r-md);background:#fff;color:var(--sp-text);font:500 1rem var(--sp-font-body);transition:border-color .2s,box-shadow .2s}
.sp-input:focus{outline:0;border-color:var(--sp-blue-500);box-shadow:0 0 0 4px rgb(0 138 255 / .14)}
textarea.sp-input{min-height:160px;resize:vertical}
.sp-help{margin-top:.375rem;font-size:.8125rem;color:var(--sp-text-muted)}
.sp-alert{padding:1rem 1.25rem;border-radius:var(--sp-r-md);border:1px solid var(--sp-line);background:var(--sp-slate-50)}
.sp-contact-aside{display:grid;gap:1rem;align-content:start}

/* Legacy flash messages rendered by message() */
.sp-body .alert{padding:1rem 1.25rem;margin-bottom:1rem;border-radius:var(--sp-r-md);border:1px solid var(--sp-line);background:var(--sp-slate-50);color:var(--sp-text);font-size:var(--sp-fs-sm)}
.sp-body .alert-success{border-color:#BFE8D8;background:var(--sp-mint-50);color:#0F5A44}
.sp-body .alert-danger{border-color:#F5C2C2;background:#FDEEEE;color:#8E1B1B}
.sp-body .alert .close{float:right;border:0;background:none;font-size:1.25rem;line-height:1;cursor:pointer;color:inherit}

/* ============ Error pages ============ */
.sp-error{background:radial-gradient(900px 380px at 50% 0%,rgb(0 138 255 / .12),transparent 70%),linear-gradient(180deg,#EDF5FF,#F6FAFF);display:grid;place-items:center;min-height:calc(100vh - var(--sp-header-h) - 200px);padding-block:5rem;text-align:center}
.sp-error__code{font:800 clamp(5rem,4rem + 6vw,9rem)/1 var(--sp-font-display);letter-spacing:-.05em;background:linear-gradient(135deg,var(--sp-blue-500),var(--sp-mint-500));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:1rem}

/* ============ Footer ============ */
.sp-footer{background:var(--sp-midnight);color:#AEB8CE;font-size:var(--sp-fs-sm)}
.sp-footer a{color:#D5DBEA!important;text-decoration:none!important}
.sp-footer a:hover{color:#fff!important}
.sp-footer__top{display:grid;gap:2.5rem;padding-block:4.5rem 3rem}
@media (min-width:900px){.sp-footer__top{grid-template-columns:1.4fr repeat(4,1fr)}}
.sp-footer__brand p{max-width:300px;margin:1.25rem 0 1.5rem;line-height:1.6}
.sp-footer__brand img{height:30px;width:auto}
.sp-footer__cols{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;grid-column:1/-1}
@media (min-width:640px){.sp-footer__cols{grid-template-columns:repeat(4,1fr)}}
@media (min-width:900px){.sp-footer__cols{display:contents}}
.sp-footer h2{margin:0 0 1rem;font:800 .8125rem var(--sp-font-display);letter-spacing:.08em;text-transform:uppercase;color:#fff}
.sp-footer ul{display:grid;gap:.625rem;margin:0;padding:0;list-style:none}
.sp-social{display:flex;gap:.5rem}
.sp-social a{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgb(255 255 255 / .06);font-size:1.0625rem;transition:background-color .2s}
.sp-social a:hover{background:rgb(255 255 255 / .14)}
.sp-footer__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.5rem 2rem;border-top:1px solid rgb(255 255 255 / .08)}
.sp-footer__legal{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;list-style:none}
.sp-footer__badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .75rem;border:1px solid rgb(255 255 255 / .12);border-radius:var(--sp-r-pill);font-size:.8125rem;color:#D5DBEA}
.sp-footer__badge .sp-icon{color:var(--sp-mint-500)}

/* Language switcher */
.sp-lang{position:relative}
.sp-lang>summary{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border:1px solid rgb(255 255 255 / .16);border-radius:var(--sp-r-md);color:#D5DBEA;font-weight:700;cursor:pointer;list-style:none}
.sp-lang>summary::-webkit-details-marker{display:none}
.sp-lang ul{position:absolute;bottom:calc(100% + 8px);right:0;min-width:180px;padding:.375rem;border-radius:var(--sp-r-md);background:#fff;box-shadow:var(--sp-shadow-3);gap:0!important}
.sp-lang ul a{display:block;padding:.5rem .75rem;border-radius:var(--sp-r-sm);color:var(--sp-navy-900)!important}
.sp-lang ul a:hover,.sp-lang ul a[aria-current="true"]{background:var(--sp-slate-100)}

/* ============ Auth (login, register…) ============ */
.sp-auth{display:grid;min-height:100vh;min-height:100dvh}
@media (min-width:1024px){.sp-auth{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (min-width:1280px){.sp-auth{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}
.sp-auth__main{display:flex;flex-direction:column;min-width:0;padding:1.25rem var(--sp-gutter) 1.5rem;background:radial-gradient(700px 360px at 0% 0%,rgb(0 138 255 / .08),transparent 60%),var(--sp-bg)}
.sp-auth__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px}
.sp-auth__back{display:inline-flex;align-items:center;gap:.375rem;font:700 .875rem var(--sp-font-display);color:var(--sp-text-muted)!important;text-decoration:none!important}
.sp-auth__back:hover{color:var(--sp-navy-900)!important}
.sp-auth__content{flex:1;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:440px;margin:0 auto;padding-block:clamp(2rem,1rem + 4vw,4rem)}
@media (max-width:1023px){.sp-auth__content{justify-content:flex-start;padding-top:2rem}}
.sp-auth__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;font-size:.8125rem;color:var(--sp-text-muted)}
.sp-auth__foot nav{display:flex;gap:1rem}
.sp-auth__foot a{color:var(--sp-text-muted);text-decoration:none}
.sp-auth__foot a:hover{color:var(--sp-primary)}
.sp-auth__aside{display:none;overflow:hidden}
@media (min-width:1024px){.sp-auth__aside{display:flex;align-items:center;position:sticky;top:0;height:100vh;height:100dvh}}
.sp-auth__aside-inner{position:relative;display:grid;gap:2rem;align-items:center;width:100%;max-width:640px;margin:0 auto;padding:3rem clamp(2rem,1rem + 3vw,4rem)}
@media (min-width:1280px){.sp-auth__aside-inner{grid-template-columns:1fr auto}.sp-auth__aside-inner>.sp-eyebrow,.sp-auth__headline{grid-column:1/-1}}
.sp-auth__headline{font-size:clamp(1.75rem,1.2rem + 1.4vw,2.5rem);max-width:520px;margin:0}
.sp-auth__points{margin:0}
.sp-auth__visual{position:relative;display:flex;justify-content:center;--sp-phone-w:250px}
.sp-auth__visual .sp-float--a{left:-3rem;top:30%;bottom:auto}
.sp-section--dark .sp-float{color:var(--sp-slate-600)}
@media (max-width:1279px){.sp-auth__visual{display:none}}

.sp-auth-card__title{font-size:clamp(1.75rem,1.4rem + 1vw,2.125rem);margin-bottom:.5rem}
.sp-auth-card__lead{margin:0 0 2rem;color:var(--sp-text-muted)}
.sp-auth-card__switch{margin:1.75rem 0 0;text-align:center;font-size:var(--sp-fs-sm);color:var(--sp-text-muted)}
.sp-auth-card__switch a{font-weight:700;font-family:var(--sp-font-display)}
.sp-auth-icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:1.5rem;border-radius:16px;background:var(--sp-blue-50);color:var(--sp-primary);font-size:1.5rem}

/* Form fields with leading icon */
.sp-field{position:relative}
.sp-field>.sp-icon{position:absolute;left:1rem;top:50%;translate:0 -50%;color:var(--sp-slate-400);pointer-events:none;font-size:1.125rem}
.sp-field .sp-input{padding-left:2.875rem}
.sp-field--toggle .sp-input{padding-right:3.25rem}
.sp-field__toggle{position:absolute;right:.375rem;top:50%;translate:0 -50%;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:none;color:var(--sp-slate-600);cursor:pointer;font-size:1.125rem}
.sp-field__toggle:hover{background:var(--sp-slate-100);color:var(--sp-navy-900)}
.sp-field--prefix{display:flex;align-items:center;border:1.5px solid var(--sp-line);border-radius:var(--sp-r-md);background:#fff;transition:border-color .2s,box-shadow .2s}
.sp-field--prefix:focus-within{border-color:var(--sp-blue-500);box-shadow:0 0 0 4px rgb(0 138 255 / .14)}
.sp-field__prefix{padding-left:1rem;color:var(--sp-text-muted);font:600 .9375rem var(--sp-font-display);white-space:nowrap;user-select:none}
.sp-field--prefix .sp-input{border:0;box-shadow:none!important;padding-left:.125rem;min-width:0;font-weight:700;font-family:var(--sp-font-display)}
.sp-input:disabled,.sp-input[readonly]{background:var(--sp-slate-50);color:var(--sp-text-muted)}
.sp-input[aria-invalid="true"]{border-color:var(--sp-danger)}
.sp-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.4rem}
.sp-label-row .sp-label{margin:0}
.sp-label-row a{font-size:.875rem;font-weight:700;font-family:var(--sp-font-display)}
.sp-field-error{margin-top:.375rem;font-size:.8125rem;color:var(--sp-danger)}

/* Password strength */
.sp-strength{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:.5rem}
.sp-strength i{height:4px;border-radius:4px;background:var(--sp-line);transition:background-color .2s}
.sp-strength[data-score="1"] i:nth-child(-n+1){background:var(--sp-danger)}
.sp-strength[data-score="2"] i:nth-child(-n+2){background:var(--sp-warning)}
.sp-strength[data-score="3"] i:nth-child(-n+3){background:#3A9E7C}
.sp-strength[data-score="4"] i{background:var(--sp-mint-700)}

/* Checkbox */
.sp-check{display:flex;align-items:flex-start;gap:.75rem;font-size:var(--sp-fs-sm);color:var(--sp-text);cursor:pointer}
.sp-check input{appearance:none;-webkit-appearance:none;flex:none;display:grid;place-items:center;width:20px;height:20px;margin:.1rem 0 0;border:1.5px solid #C4CEDD;border-radius:6px;background:#fff;cursor:pointer;transition:background-color .15s,border-color .15s}
.sp-check input::after{content:"";width:10px;height:6px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px) scale(0);transition:transform .15s}
.sp-check input:checked{background:var(--sp-primary);border-color:var(--sp-primary)}
.sp-check input:checked::after{transform:rotate(-45deg) translate(1px,-1px) scale(1)}
.sp-check input:focus-visible{outline:3px solid var(--sp-focus);outline-offset:2px}

/* Divider and social sign-in */
.sp-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;font:700 .75rem var(--sp-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--sp-slate-400)}
.sp-divider::before,.sp-divider::after{content:"";flex:1;height:1px;background:var(--sp-line)}
.sp-social-auth{display:grid;gap:.75rem}
.sp-social-auth .sp-btn .sp-icon{font-size:1.125rem}
.sp-social-auth .sp-icon--google{color:#4285F4}
.sp-social-auth .sp-icon--facebook{color:#1877F2}

/* One-time code */
.sp-otp{text-align:center;letter-spacing:.5em;font:800 1.5rem var(--sp-font-display)!important;padding-left:1rem!important}

/* ============ Components on dark sections ============ */
.sp-section--dark .sp-lead{color:#AEB8CE}
.sp-section--dark .sp-card__icon--mint{background:rgb(92 201 167 / .14);color:var(--sp-mint-500)}
.sp-section--dark .sp-card__icon--navy{background:rgb(255 255 255 / .08);color:#fff}
.sp-section--dark a.sp-card:hover,.sp-section--dark .sp-card--hover:hover{border-color:rgb(255 255 255 / .18);box-shadow:0 16px 40px -16px rgb(0 0 0 / .6)}
.sp-section--dark .sp-step{background:var(--sp-midnight-2);border-color:rgb(255 255 255 / .08)}
.sp-section--dark .sp-step::before{background:var(--sp-blue-500)}
.sp-section--dark .sp-checks li>.sp-icon{background:rgb(92 201 167 / .16);color:var(--sp-mint-500)}
.sp-section--dark .sp-btn--secondary{--_bg:transparent;--_fg:#fff;--_bd:rgb(255 255 255 / .3)}
.sp-section--dark .sp-btn--secondary:hover{--_bg:rgb(255 255 255 / .08);box-shadow:none}
.sp-section--dark .sp-panel{background:linear-gradient(150deg,rgb(26 149 255 / .22),rgb(92 201 167 / .16));border:1px solid rgb(255 255 255 / .08)}
.sp-section--dark .sp-window{border-color:transparent;color:var(--sp-navy-900);--sp-text:var(--sp-navy-900);--sp-text-muted:var(--sp-slate-600);--sp-line:#E3E8F0}
.sp-section--dark .sp-window :where(h1,h2,h3,h4){color:var(--sp-navy-900)}
.sp-section--dark .sp-phone{box-shadow:0 40px 80px -30px rgb(0 0 0 / .8),0 0 0 1px rgb(255 255 255 / .12),inset 0 0 0 2px rgb(255 255 255 / .06)}
.sp-section--dark .sp-tabs__list{background:rgb(255 255 255 / .06)}
.sp-section--dark .sp-tabs__tab{color:#AEB8CE}
.sp-section--dark .sp-tabs__tab:hover{color:#fff}
.sp-section--dark .sp-tabs__tab[aria-selected="true"]{background:#fff;color:var(--sp-navy-900)}
.sp-section--dark .sp-quote__stars{color:#FFC24B}
.sp-section--dark .sp-faq__item{background:var(--sp-midnight-2);border-color:rgb(255 255 255 / .08)}
.sp-section--dark .sp-faq__q .sp-faq__icon{background:rgb(255 255 255 / .08)}
.sp-section--dark .sp-answer{background:rgb(255 255 255 / .05)}
.sp-section--dark a:not(.sp-btn){color:#7CC2FF}
.sp-section--tint .sp-tabs__list,.sp-section--alt .sp-tabs__list{background:#fff;box-shadow:var(--sp-shadow-1)}
.sp-section--tint .sp-tabs__tab[aria-selected="true"],.sp-section--alt .sp-tabs__tab[aria-selected="true"]{background:var(--sp-navy-900);color:#fff}
.sp-section--alt .sp-answer,.sp-section--tint .sp-answer{background:#fff}

/* ============ Motion ============ */
.sp-reveal{opacity:0;transform:translateY(16px);transition:opacity .6s var(--sp-ease),transform .6s var(--sp-ease)}
.sp-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
    .sp-reveal{opacity:1;transform:none}
}
/* Cookie consent (orestbida/cookieconsent v2) in brand colors */
#cc--main{--cc-font-family:var(--sp-font-body);--cc-text:var(--sp-navy-900);--cc-btn-primary-bg:var(--sp-primary);--cc-btn-primary-hover-bg:var(--sp-primary-hover);--cc-btn-secondary-bg:var(--sp-slate-100);--cc-btn-secondary-text:var(--sp-navy-900);--cc-btn-secondary-hover-bg:#E3E8F0;--cc-toggle-bg-on:var(--sp-primary);--cc-cookie-category-block-bg:var(--sp-slate-50)}
#cc--main .c-bn{border-radius:var(--sp-r-md)!important;font-family:var(--sp-font-display)!important}
#cc--main #cm{border-radius:var(--sp-r-xl)!important;box-shadow:var(--sp-shadow-3)!important}
@media print{.sp-header,.sp-footer,.sp-cta,.sp-sheet{display:none!important}}
