:root,[data-theme="light"]{--text-xs:clamp(0.75rem,0.7rem + 0.25vw,0.875rem);--text-sm:clamp(0.875rem,0.8rem + 0.35vw,1rem);--text-base:clamp(1rem,0.9rem + 0.5vw,1.125rem);--text-lg:clamp(1.125rem,0.95rem + 0.85vw,1.5rem);--text-xl:clamp(1.5rem,1rem + 1.5vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);--text-3xl:clamp(2.5rem,1rem + 4vw,5rem);--text-hero:clamp(2.8rem,0.5rem + 6vw,6.5rem);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--font-display:'DM Serif Display','Georgia',serif;--font-body:'DM Sans','Helvetica Neue',system-ui,sans-serif;--color-bg:#f8f6f1;--color-surface:#faf9f5;--color-surface-2:#fdfcfa;--color-surface-offset:#f2efe8;--color-surface-offset-2:#ece8e0;--color-surface-dynamic:#e5e0d6;--color-divider:#dbd5c8;--color-border:#cec8ba;--color-text:#1a1810;--color-text-muted:#6b6558;--color-text-faint:#b0aa9c;--color-text-inverse:#f8f6f1;--color-primary:#1a365d;--color-primary-hover:#142d4e;--color-primary-active:#0e1f36;--color-primary-highlight:#d0daea;--color-gold:#c9930a;--color-gold-hover:#a87808;--color-gold-active:#855f06;--color-gold-highlight:#f0e4c2;--color-success:#437a22;--color-success-hover:#2e5c10;--color-success-highlight:#d4dfcc;--color-error:#c0392b;--color-error-hover:#962d22;--color-error-highlight:#f2d5d2;--color-warning:#c9930a;--color-warning-highlight:#f0e4c2;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-interactive:180ms cubic-bezier(0.16,1,0.3,1);--transition-slow:320ms cubic-bezier(0.16,1,0.3,1);--shadow-sm:0 1px 2px oklch(0.15 0.02 250 / 0.07);--shadow-md:0 4px 12px oklch(0.15 0.02 250 / 0.10);--shadow-lg:0 12px 32px oklch(0.15 0.02 250 / 0.14);--shadow-xl:0 24px 48px oklch(0.15 0.02 250 / 0.18);--content-narrow:640px;--content-default:960px;--content-wide:1200px;--nav-height:64px}[data-theme="dark"]{--color-bg:#10141e;--color-surface:#151a26;--color-surface-2:#1a2030;--color-surface-offset:#141929;--color-surface-offset-2:#1c2235;--color-surface-dynamic:#25304a;--color-divider:#21293e;--color-border:#2b3550;--color-text:#dde2ef;--color-text-muted:#8491aa;--color-text-faint:#525f7a;--color-text-inverse:#10141e;--color-primary:#6e9fd8;--color-primary-hover:#5a8dc6;--color-primary-active:#4679b2;--color-primary-highlight:#1a2640;--color-gold:#e8a91c;--color-gold-hover:#d69618;--color-gold-active:#c28214;--color-gold-highlight:#2d2210;--color-success:#6daa45;--color-success-hover:#4d8f25;--color-success-highlight:#1a2e12;--color-error:#e05c4a;--color-error-hover:#c84838;--color-error-highlight:#301510;--shadow-sm:0 1px 2px oklch(0 0 0 / 0.3);--shadow-md:0 4px 12px oklch(0 0 0 / 0.4);--shadow-lg:0 12px 32px oklch(0 0 0 / 0.5);--shadow-xl:0 24px 48px oklch(0 0 0 / 0.6)}@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:#10141e;--color-surface:#151a26;--color-surface-2:#1a2030;--color-surface-offset:#141929;--color-surface-offset-2:#1c2235;--color-surface-dynamic:#25304a;--color-divider:#21293e;--color-border:#2b3550;--color-text:#dde2ef;--color-text-muted:#8491aa;--color-text-faint:#525f7a;--color-text-inverse:#10141e;--color-primary:#6e9fd8;--color-primary-hover:#5a8dc6;--color-primary-active:#4679b2;--color-primary-highlight:#1a2640;--color-gold:#e8a91c;--color-gold-hover:#d69618;--color-gold-active:#c28214;--color-gold-highlight:#2d2210;--color-success:#6daa45;--color-success-hover:#4d8f25;--color-success-highlight:#1a2e12;--color-error:#e05c4a;--color-error-hover:#c84838;--color-error-highlight:#301510;--shadow-sm:0 1px 2px oklch(0 0 0 / 0.3);--shadow-md:0 4px 12px oklch(0 0 0 / 0.4);--shadow-lg:0 12px 32px oklch(0 0 0 / 0.5);--shadow-xl:0 24px 48px oklch(0 0 0 / 0.6)}}.container{width:100%;max-width:var(--content-wide);margin:0 auto;padding:0 var(--space-6)}.container-default{max-width:var(--content-default);margin:0 auto;padding:0 var(--space-6)}.container-narrow{max-width:var(--content-narrow);margin:0 auto;padding:0 var(--space-6)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);background:color-mix(in oklch,var(--color-bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-divider);transition:background var(--transition-slow),border-color var(--transition-slow)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--content-wide);margin:0 auto;padding:0 var(--space-6)}.nav-logo{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-text);cursor:pointer}.nav-logo-mark{width:36px;height:36px;color:var(--color-primary);flex-shrink:0}.nav-brand{display:flex;flex-direction:column;gap:1px}.nav-brand-name{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-primary);line-height:1.1;letter-spacing:-0.02em}.nav-brand-tagline{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);line-height:1}.nav-actions{display:flex;align-items:center;gap:var(--space-3)}.nav-link{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);transition:color var(--transition-interactive),background var(--transition-interactive);min-height:44px;display:flex;align-items:center}.nav-link:hover{color:var(--color-text);background:var(--color-surface-offset)}.nav-cta{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text-inverse);background:var(--color-primary);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);text-decoration:none;cursor:pointer;border:none;transition:background var(--transition-interactive),box-shadow var(--transition-interactive);min-height:44px;display:flex;align-items:center;gap:var(--space-2)}.nav-cta:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.theme-toggle{width:44px;height:44px;border-radius:var(--radius-md);background:var(--color-surface-offset);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-interactive),color var(--transition-interactive)}.theme-toggle:hover{background:var(--color-surface-dynamic);color:var(--color-text)}.main-content{padding-top:var(--nav-height);min-height:100dvh}.view{display:none;animation:fadeIn 240ms cubic-bezier(0.16,1,0.3,1)}.view.active{display:block}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hero{padding:clamp(var(--space-16),10vw,var(--space-32)) 0 clamp(var(--space-12),8vw,var(--space-24));text-align:center;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,color-mix(in oklch,var(--color-primary) 8%,transparent),transparent 70%);pointer-events:none}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-4);border-radius:var(--radius-full);background:var(--color-primary-highlight);border:1px solid color-mix(in oklch,var(--color-primary) 25%,transparent);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--color-primary);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:var(--space-6)}.hero-title{font-family:var(--font-display);font-size:var(--text-hero);color:var(--color-primary);letter-spacing:-0.02em;line-height:1.05;margin-bottom:var(--space-6)}.hero-title-accent{color:var(--color-gold);font-style:italic}.hero-subtitle{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-text-muted);max-width:56ch;margin:0 auto var(--space-10);line-height:1.6}.hero-actions{display:flex;align-items:center;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.hero-note{margin-top:var(--space-6);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-faint);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.hero-social-proof{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-2) var(--space-5);background:var(--color-gold-highlight);border:1px solid color-mix(in oklch,var(--color-gold) 30%,transparent);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--color-gold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;cursor:pointer;border:none;text-decoration:none;transition:background-color var(--transition-interactive),box-shadow var(--transition-interactive),transform var(--transition-interactive),color var(--transition-interactive);min-height:44px;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(0.99)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.btn-gold{background:var(--color-gold);color:#fff;box-shadow:var(--shadow-sm);font-weight:600}.btn-gold:hover{background:var(--color-gold-hover);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-dynamic)}.btn-ghost{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-primary)}.btn-ghost:hover{background:var(--color-primary-highlight)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base);min-height:52px;border-radius:var(--radius-lg)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);min-height:36px}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:3px var(--space-3);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:0.04em}.badge-free{background:var(--color-success-highlight);color:var(--color-success)}.badge-paid{background:var(--color-gold-highlight);color:var(--color-gold)}.badge-primary{background:var(--color-primary-highlight);color:var(--color-primary)}.badge-count{background:var(--color-surface-offset);color:var(--color-text-muted);border:1px solid var(--color-border)}.section{padding:clamp(var(--space-12),8vw,var(--space-24)) 0}.section-alt{background:var(--color-surface-offset);border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}.section-header{text-align:center;margin-bottom:clamp(var(--space-10),5vw,var(--space-16))}.section-eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-gold);margin-bottom:var(--space-3);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.section-eyebrow::before,.section-eyebrow::after{content:'';width:24px;height:1px;background:var(--color-gold);opacity:0.5}.section-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text);letter-spacing:-0.02em;margin-bottom:var(--space-4)}.section-subtitle{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-muted);max-width:52ch;margin:0 auto;line-height:1.7}.verticals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-6)}.vertical-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);cursor:pointer;transition:transform var(--transition-interactive),box-shadow var(--transition-interactive),border-color var(--transition-interactive);text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:var(--space-4);position:relative;overflow:hidden}.vertical-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--color-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-interactive);border-radius:var(--radius-full) var(--radius-full) 0 0}.vertical-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:color-mix(in oklch,var(--color-primary) 30%,var(--color-border))}.vertical-card:hover::before{transform:scaleX(1)}.vertical-card:active{transform:translateY(-1px)}.card-icon-wrap{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--color-primary-highlight);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.card-content{flex:1}.card-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-2);line-height:1.2}.card-desc{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6;max-width:none}.card-meta{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);border-top:1px solid var(--color-divider);gap:var(--space-3)}.card-arrow{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-primary);display:flex;align-items:center;gap:var(--space-1);transition:gap var(--transition-interactive)}.vertical-card:hover .card-arrow{gap:var(--space-2)}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);position:relative}.steps-grid::before{content:'';position:absolute;top:calc(var(--space-8) + 26px);left:calc(16.67% + 26px);right:calc(16.67% + 26px);height:2px;background:var(--color-divider);z-index:0}@media (max-width:768px){.steps-grid{grid-template-columns:1fr}.steps-grid::before{display:none}}.steps-grid .step-item{text-align:center;padding:var(--space-8) var(--space-6);position:relative;z-index:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);display:flex;flex-direction:column;align-items:center}.step-number{width:52px;height:52px;border-radius:50%;background:var(--color-primary);color:var(--color-text-inverse);font-family:var(--font-display);font-size:var(--text-lg);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5);box-shadow:0 0 0 6px var(--color-primary-highlight)}.step-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-3)}.step-desc{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7;max-width:32ch;margin:0 auto}.step-free-tag{display:inline-block;margin-top:var(--space-3);font-size:var(--text-xs);font-weight:600;color:var(--color-success);background:var(--color-success-highlight);padding:2px var(--space-3);border-radius:var(--radius-full)}.step-paid-tag{display:inline-block;margin-top:var(--space-3);font-size:var(--text-xs);font-weight:600;color:var(--color-gold);background:var(--color-gold-highlight);padding:2px var(--space-3);border-radius:var(--radius-full)}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);max-width:780px;margin:0 auto}@media (max-width:640px){.pricing-grid{grid-template-columns:1fr}}.pricing-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.pricing-card.featured{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-xl);color:var(--color-text-inverse)}.pricing-tier{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:0.1em;text-transform:uppercase}.pricing-card.featured .pricing-tier{color:color-mix(in oklch,var(--color-text-inverse) 70%,transparent)}.pricing-tier:not(.pricing-card.featured .pricing-tier){color:var(--color-text-muted)}.pricing-price{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text);line-height:1}.pricing-card.featured .pricing-price{color:var(--color-text-inverse)}.pricing-price-label{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.pricing-card.featured .pricing-price-label{color:color-mix(in oklch,var(--color-text-inverse) 70%,transparent)}.pricing-divider{height:1px;background:var(--color-divider)}.pricing-card.featured .pricing-divider{background:color-mix(in oklch,var(--color-text-inverse) 20%,transparent)}.pricing-features{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.pricing-feature{display:flex;align-items:flex-start;gap:var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text)}.pricing-card.featured .pricing-feature{color:color-mix(in oklch,var(--color-text-inverse) 90%,transparent)}.pricing-feature-icon{width:18px;height:18px;flex-shrink:0;margin-top:2px}.pricing-feature-icon.check{color:var(--color-success)}.pricing-card.featured .pricing-feature-icon.check{color:color-mix(in oklch,var(--color-text-inverse) 80%,transparent)}.pricing-feature-icon.cross{color:var(--color-error)}.savings-section{padding:clamp(var(--space-8),5vw,var(--space-16)) 0}.savings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);max-width:780px;margin:0 auto var(--space-6)}@media (max-width:640px){.savings-grid{grid-template-columns:1fr}}.savings-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5) var(--space-4);text-align:center}.savings-card.savings-highlight{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.savings-card-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-text-muted);margin-bottom:var(--space-2)}.savings-highlight .savings-card-label{color:color-mix(in oklch,var(--color-text-inverse) 70%,transparent)}.savings-card-price{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);line-height:1.1;margin-bottom:var(--space-1)}.savings-highlight .savings-card-price{color:var(--color-gold)}.savings-card-sub{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-faint);max-width:none}.savings-highlight .savings-card-sub{color:color-mix(in oklch,var(--color-text-inverse) 60%,transparent)}.savings-card-price del{color:var(--color-error);font-family:var(--font-body);font-size:var(--text-base);opacity:0.7}.savings-tagline{text-align:center;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);max-width:none}.vertical-header{background:var(--color-primary);padding:clamp(var(--space-10),6vw,var(--space-20)) 0 clamp(var(--space-8),5vw,var(--space-16));position:relative;overflow:hidden}.vertical-header::before{content:'';position:absolute;top:-40%;right:-10%;width:60%;height:200%;background:radial-gradient(ellipse,color-mix(in oklch,var(--color-gold) 15%,transparent),transparent 60%);pointer-events:none}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-6);font-family:var(--font-body);font-size:var(--text-sm);color:color-mix(in oklch,var(--color-text-inverse) 70%,transparent)}.breadcrumb-link{color:color-mix(in oklch,var(--color-text-inverse) 70%,transparent);cursor:pointer;text-decoration:none;transition:color var(--transition-interactive)}.breadcrumb-link:hover{color:var(--color-text-inverse)}.breadcrumb-sep{color:color-mix(in oklch,var(--color-text-inverse) 40%,transparent)}.vertical-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text-inverse);margin-bottom:var(--space-3);letter-spacing:-0.02em}.vertical-subtitle{font-family:var(--font-body);font-size:var(--text-base);color:color-mix(in oklch,var(--color-text-inverse) 75%,transparent);max-width:60ch;line-height:1.7}.vertical-meta-row{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6)}.meta-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:color-mix(in oklch,var(--color-text-inverse) 12%,transparent);border:1px solid color-mix(in oklch,var(--color-text-inverse) 20%,transparent);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-inverse)}.vertical-content{padding:clamp(var(--space-8),5vw,var(--space-16)) 0}.vertical-grid{display:grid;grid-template-columns:1fr 360px;gap:var(--space-8);align-items:start}@media (max-width:900px){.vertical-grid{grid-template-columns:1fr}}.checklist-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden}.checklist-section-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-divider);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.checklist-section-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text)}.checklist-progress{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.progress-bar-wrap{height:4px;background:var(--color-surface-dynamic);border-radius:var(--radius-full);overflow:hidden;margin:0 var(--space-6) var(--space-5)}.progress-bar-fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width 300ms cubic-bezier(0.16,1,0.3,1)}.checklist-list{list-style:none;padding:var(--space-4) var(--space-6) var(--space-6);display:flex;flex-direction:column;gap:var(--space-1)}.checklist-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-interactive)}.checklist-item:hover{background:var(--color-surface-offset)}.checklist-checkbox{width:20px;height:20px;min-width:20px;border-radius:var(--radius-sm);border:2px solid var(--color-border);background:var(--color-surface-2);cursor:pointer;appearance:none;-webkit-appearance:none;transition:background var(--transition-interactive),border-color var(--transition-interactive);margin-top:1px;position:relative}.checklist-checkbox:checked{background:var(--color-primary);border-color:var(--color-primary)}.checklist-checkbox:checked::after{content:'';position:absolute;top:2px;left:5px;width:6px;height:10px;border:2px solid white;border-top:none;border-left:none;transform:rotate(45deg)}.checklist-checkbox:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.checklist-item-text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);line-height:1.5;max-width:none}.checklist-item-text.checked{text-decoration:line-through;color:var(--color-text-faint)}.checklist-item-note{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px;max-width:none}.info-cards{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-6)}.info-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.info-card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-divider);display:flex;align-items:center;gap:var(--space-3)}.info-card-icon{width:32px;height:32px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.info-card-icon.cost-icon{background:var(--color-gold-highlight);color:var(--color-gold)}.info-card-icon.where-icon{background:var(--color-primary-highlight);color:var(--color-primary)}.info-card-icon.time-icon{background:var(--color-success-highlight);color:var(--color-success)}.info-card-icon.tip-icon{background:var(--color-warning-highlight);color:var(--color-warning)}.info-card-title{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text)}.info-card-body{padding:var(--space-4) var(--space-5);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7}.info-card-body p{max-width:none}.cost-row{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-2) 0;border-bottom:1px dashed var(--color-divider);gap:var(--space-4)}.cost-row:last-child{border-bottom:none}.cost-name{font-size:var(--text-sm);color:var(--color-text-muted);flex:1;max-width:none}.cost-amount{font-size:var(--text-sm);font-weight:600;color:var(--color-text);white-space:nowrap}.cost-total-row{display:flex;justify-content:space-between;align-items:baseline;padding-top:var(--space-3);margin-top:var(--space-2);border-top:2px solid var(--color-divider)}.cost-total-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text);max-width:none}.cost-total-amount{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-primary)}.tips-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.tip-item{display:flex;align-items:flex-start;gap:var(--space-3);max-width:none}.tip-dot{width:6px;height:6px;min-width:6px;border-radius:50%;background:var(--color-gold);margin-top:7px}.tip-text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6;max-width:none}.paid-cta-card{background:var(--color-primary);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6);position:sticky;top:calc(var(--nav-height) + var(--space-4));color:var(--color-text-inverse);box-shadow:var(--shadow-xl);overflow:hidden}.paid-cta-card::before{content:'';position:absolute;top:-30%;right:-20%;width:70%;height:80%;background:radial-gradient(ellipse,color-mix(in oklch,var(--color-gold) 20%,transparent),transparent 60%);pointer-events:none}.paid-cta-content{position:relative;z-index:1}.paid-cta-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:3px var(--space-3);background:color-mix(in oklch,var(--color-gold) 20%,transparent);border:1px solid color-mix(in oklch,var(--color-gold) 40%,transparent);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--color-gold);letter-spacing:0.06em;text-transform:uppercase;margin-bottom:var(--space-4)}.paid-cta-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text-inverse);margin-bottom:var(--space-3);line-height:1.2}.paid-cta-desc{font-family:var(--font-body);font-size:var(--text-sm);color:color-mix(in oklch,var(--color-text-inverse) 75%,transparent);line-height:1.6;margin-bottom:var(--space-6);max-width:none}.paid-cta-features{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.paid-cta-feature{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);color:color-mix(in oklch,var(--color-text-inverse) 85%,transparent);max-width:none}.paid-cta-feature-icon{width:20px;height:20px;min-width:20px;border-radius:50%;background:color-mix(in oklch,var(--color-text-inverse) 15%,transparent);display:flex;align-items:center;justify-content:center;color:var(--color-gold)}.paid-cta-price{text-align:center;padding:var(--space-4);background:color-mix(in oklch,var(--color-text-inverse) 8%,transparent);border-radius:var(--radius-lg);margin-bottom:var(--space-5);border:1px solid color-mix(in oklch,var(--color-text-inverse) 12%,transparent)}.paid-cta-price-amount{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-gold);line-height:1}.paid-cta-price-period{font-family:var(--font-body);font-size:var(--text-sm);color:color-mix(in oklch,var(--color-text-inverse) 55%,transparent);margin-top:var(--space-1)}.paid-cta-btn{width:100%;background:var(--color-gold);color:var(--color-text-inverse);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;padding:var(--space-4);border-radius:var(--radius-lg);border:none;cursor:pointer;min-height:52px;display:flex;align-items:center;justify-content:center;gap:var(--space-2);transition:background var(--transition-interactive),box-shadow var(--transition-interactive),transform var(--transition-interactive);box-shadow:0 4px 16px oklch(0.55 0.14 60 / 0.3)}.paid-cta-btn:hover{background:var(--color-gold-hover);transform:translateY(-1px);box-shadow:0 6px 20px oklch(0.55 0.14 60 / 0.4)}.paid-cta-btn:active{transform:translateY(0)}.paid-cta-guarantee{text-align:center;margin-top:var(--space-4);font-family:var(--font-body);font-size:var(--text-xs);color:color-mix(in oklch,var(--color-text-inverse) 50%,transparent);max-width:none}.wizard-overlay{position:fixed;inset:0;z-index:1000;background:oklch(0.1 0.02 250 / 0.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);opacity:0;pointer-events:none;transition:opacity var(--transition-interactive)}.wizard-overlay.visible{opacity:1;pointer-events:all}.wizard-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:560px;max-height:90dvh;overflow-y:auto;box-shadow:var(--shadow-xl);transform:translateY(12px) scale(0.97);transition:transform var(--transition-slow)}.wizard-overlay.visible .wizard-panel{transform:translateY(0) scale(1)}@media (max-width:768px){.wizard-panel{max-width:100%;max-height:100dvh;border-radius:0;height:100dvh}.wizard-overlay{padding:0}}.wizard-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-divider);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);position:sticky;top:0;background:var(--color-surface);z-index:2;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}@media (max-width:768px){.wizard-header{border-radius:0}}.wizard-header-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);line-height:1.2}.wizard-close{width:40px;height:40px;min-width:40px;border-radius:var(--radius-md);background:var(--color-surface-offset);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-interactive),color var(--transition-interactive);font-size:20px;line-height:1}.wizard-close:hover{background:var(--color-surface-dynamic);color:var(--color-text)}.wizard-steps-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);background:var(--color-surface-offset)}.wizard-step-dot{flex:1;height:4px;border-radius:var(--radius-full);background:var(--color-surface-dynamic);transition:background var(--transition-slow)}.wizard-step-dot.active{background:var(--color-primary)}.wizard-step-dot.completed{background:var(--color-success)}.wizard-step-labels{display:flex;justify-content:space-between;padding:0 var(--space-6);margin-top:var(--space-1);margin-bottom:var(--space-2)}.wizard-step-label{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-faint);text-align:center;flex:1;transition:color var(--transition-interactive)}.wizard-step-label.active{color:var(--color-primary);font-weight:600}.wizard-step-label.completed{color:var(--color-success)}.wizard-body{padding:var(--space-6)}.wizard-step-content{display:none;animation:fadeIn 240ms cubic-bezier(0.16,1,0.3,1)}.wizard-step-content.active{display:block}.wizard-step-heading{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);margin-bottom:var(--space-2)}.wizard-step-desc{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-6);line-height:1.6;max-width:none}.upload-area{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-6);text-align:center;cursor:pointer;transition:border-color var(--transition-interactive),background var(--transition-interactive);margin-bottom:var(--space-4);position:relative}.upload-area:hover,.upload-area.dragover{border-color:var(--color-primary);background:var(--color-primary-highlight)}.upload-area-icon{width:48px;height:48px;margin:0 auto var(--space-3);color:var(--color-text-faint)}.upload-area-text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);max-width:none}.upload-area-hint{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-faint);margin-top:var(--space-2);max-width:none}.upload-area input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-offset);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.upload-item-icon{width:32px;height:32px;min-width:32px;border-radius:var(--radius-md);background:var(--color-primary-highlight);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.upload-item-info{flex:1;min-width:0}.upload-item-name{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:none}.upload-item-size{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-faint)}.upload-item-remove{width:28px;height:28px;min-width:28px;border-radius:var(--radius-sm);background:var(--color-error-highlight);color:var(--color-error);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:background var(--transition-interactive)}.upload-item-remove:hover{background:var(--color-error);color:white}.ocr-scanning{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-primary-highlight);border-radius:var(--radius-md);margin-top:var(--space-3)}.ocr-spinner{width:20px;height:20px;border:2px solid var(--color-primary);border-top-color:transparent;border-radius:50%;animation:spin 0.8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ocr-scanning-text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-primary);font-weight:500}.ocr-results{margin-top:var(--space-3);padding:var(--space-4);background:var(--color-success-highlight);border:1px solid color-mix(in oklch,var(--color-success) 30%,transparent);border-radius:var(--radius-md)}.ocr-result-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) 0;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-success);max-width:none}.ocr-result-item svg{flex-shrink:0}.upload-doc-label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2);margin-top:var(--space-4)}.upload-doc-label:first-child{margin-top:0}.zk-badge{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-primary-highlight);border:1px solid color-mix(in oklch,var(--color-primary) 25%,transparent);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-primary);margin-top:var(--space-4);line-height:1.5;max-width:none}.wizard-summary-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.wizard-summary-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface-offset);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);max-width:none}.wizard-summary-item svg{color:var(--color-success);flex-shrink:0}.payment-card-form{background:var(--color-surface-offset);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-top:var(--space-4)}.payment-input-group{margin-bottom:var(--space-4)}.payment-input-group:last-child{margin-bottom:0}.payment-label{display:block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:0.06em}.payment-input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);transition:border-color var(--transition-interactive);min-height:44px}.payment-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-highlight)}.payment-input::placeholder{color:var(--color-text-faint)}.payment-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width:480px){.payment-row{grid-template-columns:1fr}}.payment-price-display{text-align:center;padding:var(--space-5);background:var(--color-primary);border-radius:var(--radius-lg);color:var(--color-text-inverse);margin-bottom:var(--space-5)}.payment-price-amount{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-gold);line-height:1}.payment-price-label{font-family:var(--font-body);font-size:var(--text-sm);color:color-mix(in oklch,var(--color-text-inverse) 70%,transparent);margin-top:var(--space-1)}.wizard-success{text-align:center;padding:var(--space-6) 0}.wizard-success-icon{width:72px;height:72px;border-radius:50%;background:var(--color-success-highlight);color:var(--color-success);display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-5)}.wizard-success-title{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-text);margin-bottom:var(--space-3)}.wizard-success-desc{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-6);line-height:1.6;max-width:none}.wizard-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-divider);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:var(--color-surface);position:sticky;bottom:0;z-index:2;border-radius:0 0 var(--radius-2xl) var(--radius-2xl)}@media (max-width:768px){.wizard-footer{border-radius:0;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0))}}.wizard-footer .btn{flex:1}.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:900;background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -4px 24px oklch(0.1 0.02 250 / 0.12);padding:var(--space-4) var(--space-6);transform:translateY(100%);transition:transform 400ms cubic-bezier(0.16,1,0.3,1)}.cookie-banner.visible{transform:translateY(0)}.cookie-banner-inner{max-width:var(--content-wide);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.cookie-banner-text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);flex:1;min-width:200px;max-width:none;line-height:1.5}.cookie-banner-text a{color:var(--color-primary);text-decoration:underline}.cookie-banner-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}@media (max-width:640px){.cookie-banner-inner{flex-direction:column;align-items:stretch;text-align:center}.cookie-banner-actions{flex-direction:column;width:100%}.cookie-banner-actions .btn{width:100%}}.legal-page{padding:clamp(var(--space-8),5vw,var(--space-16)) 0}.legal-page-header{margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:2px solid var(--color-divider)}.legal-page-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-text);margin-bottom:var(--space-3)}.legal-page-meta{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted)}.legal-content{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);line-height:1.8}.legal-content h2{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);margin-top:var(--space-8);margin-bottom:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-divider)}.legal-content h3{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text);margin-top:var(--space-6);margin-bottom:var(--space-3)}.legal-content p{margin-bottom:var(--space-4);color:var(--color-text-muted);max-width:72ch}.legal-content ul,.legal-content ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}.legal-content li{margin-bottom:var(--space-2);color:var(--color-text-muted);max-width:72ch}.legal-content strong{color:var(--color-text)}.legal-content a{color:var(--color-primary);text-decoration:underline}.legal-content table{width:100%;margin:var(--space-4) 0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;font-size:var(--text-sm)}.legal-content table th{background:var(--color-surface-offset);padding:var(--space-3) var(--space-4);text-align:left;font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-border)}.legal-content table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider);color:var(--color-text-muted)}.legal-content table tr:last-child td{border-bottom:none}.legal-back-link{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-primary);cursor:pointer;text-decoration:none;margin-bottom:var(--space-6);transition:color var(--transition-interactive)}.legal-back-link:hover{color:var(--color-primary-hover)}.footer{background:var(--color-surface-offset);border-top:1px solid var(--color-divider);padding:clamp(var(--space-10),6vw,var(--space-16)) 0 var(--space-8)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-10);margin-bottom:var(--space-10)}@media (max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-8)}.footer-brand-col{grid-column:1 / -1}}@media (max-width:480px){.footer-grid{grid-template-columns:1fr}}.footer-brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);cursor:pointer}.footer-brand-name{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-primary)}.footer-tagline{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6;max-width:38ch;margin-bottom:var(--space-4)}.footer-disclaimer{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-faint);line-height:1.6;max-width:42ch;padding:var(--space-3) var(--space-4);background:var(--color-surface-dynamic);border-radius:var(--radius-md);border-left:3px solid var(--color-gold)}.footer-col-title{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:var(--space-4)}.footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.footer-link{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;cursor:pointer;transition:color var(--transition-interactive);max-width:none}.footer-link:hover{color:var(--color-primary)}.footer-bottom{padding-top:var(--space-6);border-top:1px solid var(--color-divider);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.footer-legal{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-faint);max-width:none}.footer-contact{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);max-width:none}.footer-contact a{color:var(--color-primary);text-decoration:none}.footer-contact a:hover{text-decoration:underline}.footer-attribution{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-faint);text-align:center;margin-top:var(--space-4);max-width:none}.footer-attribution a{color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-interactive)}.footer-attribution a:hover{color:var(--color-primary)}@media (max-width:768px){.container,.container-default,.container-narrow{padding:0 var(--space-4)}.nav-brand-tagline{display:none}.hero-actions{flex-direction:column;align-items:stretch;padding:0 var(--space-4)}.verticals-grid{grid-template-columns:1fr;gap:var(--space-4)}.steps-grid{gap:var(--space-4)}.btn{width:100%}.pricing-card .btn{width:100%}.hero-actions .btn{width:100%}}@media (max-width:480px){.nav-cta span{display:none}}.reveal{opacity:0;transition:opacity 400ms cubic-bezier(0.16,1,0.3,1)}.reveal.visible{opacity:1}.stagger-children > *{opacity:0;transition:opacity 300ms cubic-bezier(0.16,1,0.3,1)}.stagger-children.visible > *:nth-child(1){opacity:1;transition-delay:0ms}.stagger-children.visible > *:nth-child(2){opacity:1;transition-delay:60ms}.stagger-children.visible > *:nth-child(3){opacity:1;transition-delay:120ms}.stagger-children.visible > *:nth-child(4){opacity:1;transition-delay:180ms}.stagger-children.visible > *:nth-child(5){opacity:1;transition-delay:240ms}.stagger-children.visible > *:nth-child(6){opacity:1;transition-delay:300ms}.stagger-children.visible > *:nth-child(7){opacity:1;transition-delay:360ms}.info-card-icon.inst-icon{background:var(--color-primary-highlight);color:var(--color-primary)}.inst-row{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-2) 0;border-bottom:1px dashed var(--color-divider);gap:var(--space-4);flex-wrap:wrap}.inst-row:last-child{border-bottom:none}.inst-label{font-size:var(--text-sm);color:var(--color-text-muted);flex-shrink:0;white-space:nowrap}.inst-value{font-size:var(--text-sm);font-weight:500;color:var(--color-text);text-align:right}.inst-value.inst-yes{color:var(--color-success)}.inst-value.inst-no{color:var(--color-error)}.generator-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media (max-width:768px){.generator-grid{grid-template-columns:1fr}}.generator-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-5);cursor:pointer;transition:transform var(--transition-interactive),box-shadow var(--transition-interactive),border-color var(--transition-interactive);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-3)}.generator-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:color-mix(in oklch,var(--color-primary) 30%,var(--color-border))}.generator-card-icon{width:44px;height:44px;min-width:44px;border-radius:var(--radius-md);background:var(--color-primary-highlight);color:var(--color-primary);display:flex;align-items:center;justify-content:center}.generator-card-content{flex:1;min-width:0}.generator-card-title{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text);margin-bottom:var(--space-1)}.generator-card-desc{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5;max-width:none}.generator-card .badge{margin-top:auto}.generator-overlay{position:fixed;inset:0;z-index:1000;background:oklch(0.1 0.02 250 / 0.65);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);opacity:0;pointer-events:none;transition:opacity var(--transition-interactive)}.generator-overlay.visible{opacity:1;pointer-events:all}.generator-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);width:100%;max-width:560px;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl);transform:translateY(12px) scale(0.97);transition:transform var(--transition-slow)}.generator-overlay.visible .generator-panel{transform:translateY(0) scale(1)}@media (max-width:768px){.generator-panel{max-width:100%;max-height:100dvh;border-radius:0;height:100dvh}.generator-overlay{padding:0}.generator-modal-body{flex:1 1 auto}}.generator-modal-header{padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-divider);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex:0 0 auto;background:var(--color-surface);z-index:2;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}@media (max-width:768px){.generator-modal-header{border-radius:0}}.generator-modal-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);line-height:1.2}.generator-modal-body{padding:var(--space-6);flex:1 1 auto;overflow-y:auto;min-height:0}.generator-modal-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-divider);display:flex;align-items:center;justify-content:stretch;gap:var(--space-3);background:var(--color-surface);flex:0 0 auto;flex-wrap:nowrap;z-index:2;border-radius:0 0 var(--radius-2xl) var(--radius-2xl)}@media (max-width:768px){.generator-modal-footer{border-radius:0;padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0))}}.gen-form-group{margin-bottom:var(--space-5)}.gen-form-label{display:block;font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}.gen-form-input,.gen-form-textarea,.gen-form-select{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);transition:border-color var(--transition-interactive);min-height:44px}.gen-form-input:focus,.gen-form-textarea:focus,.gen-form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-highlight)}.gen-form-input::placeholder,.gen-form-textarea::placeholder{color:var(--color-text-faint)}.gen-field-error{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1);line-height:1.4}.gen-input-error{border-color:var(--color-error) !important;box-shadow:0 0 0 3px var(--color-error-highlight) !important}.gen-field-hint{font-weight:400;color:var(--color-text-faint);font-size:var(--text-xs)}.gen-form-textarea{min-height:100px;resize:vertical}.gen-form-hint{font-size:var(--text-xs);color:var(--color-text-faint);margin-top:var(--space-1)}.tabular-nums{font-variant-numeric:tabular-nums lining-nums}.search-bar-wrap{position:relative;max-width:600px;margin:var(--space-8) auto 0;z-index:10}.search-bar{display:flex;align-items:center;background:var(--color-surface-2);border:2px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-5);box-shadow:var(--shadow-md);transition:border-color var(--transition-interactive),box-shadow var(--transition-interactive);gap:var(--space-2)}.search-bar:focus-within{border-color:var(--color-gold);box-shadow:0 0 0 4px var(--color-gold-highlight),var(--shadow-lg)}.search-bar-icon{flex-shrink:0;color:var(--color-text-faint);width:20px;height:20px}.search-bar-input{flex:1;border:none;background:transparent;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);padding:var(--space-2) var(--space-2);min-height:44px;outline:none}.search-bar-input::placeholder{color:var(--color-text-faint)}.search-mic-btn{width:40px;height:40px;min-width:40px;border-radius:50%;background:var(--color-surface-offset);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-interactive),color var(--transition-interactive),border-color var(--transition-interactive);flex-shrink:0}.search-mic-btn:hover{background:var(--color-gold-highlight);color:var(--color-gold);border-color:var(--color-gold)}.search-mic-btn.recording{background:var(--color-error-highlight);color:#e53e3e;border-color:#e53e3e;animation:pulse-recording 1.2s ease-in-out infinite}@keyframes pulse-recording{0%,100%{box-shadow:0 0 0 0 rgba(229,62,62,0.4)}50%{box-shadow:0 0 0 8px rgba(229,62,62,0)}}.search-results-dropdown{position:absolute;top:calc(100% + var(--space-2));left:0;right:0;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;display:none;z-index:20}.search-results-dropdown.visible{display:block}.search-result-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);cursor:pointer;transition:background var(--transition-interactive);border-bottom:1px solid var(--color-divider)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover,.search-result-item.active{background:var(--color-primary-highlight)}.search-result-icon{width:36px;height:36px;min-width:36px;border-radius:var(--radius-md);background:var(--color-gold-highlight);color:var(--color-gold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.search-result-icon svg{width:18px;height:18px}.search-result-text{flex:1;min-width:0}.search-result-name{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--color-text);line-height:1.3}.search-result-desc{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.4;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-arrow{color:var(--color-text-faint);flex-shrink:0}.voice-tooltip{position:absolute;bottom:calc(100% + var(--space-2));right:0;background:var(--color-primary);color:var(--color-text-inverse);font-family:var(--font-body);font-size:var(--text-xs);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--transition-interactive);z-index:30}.voice-tooltip.visible{opacity:1}@media (max-width:768px){.search-bar-wrap{max-width:100%;margin-top:var(--space-6)}.search-bar{padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4)}.search-bar-input{font-size:var(--text-sm);min-height:40px}.search-mic-btn{width:36px;height:36px;min-width:36px}}.chat-trigger{position:fixed;bottom:var(--space-6);right:var(--space-6);width:56px;height:56px;border-radius:50%;background:var(--color-gold);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg),0 4px 16px oklch(0.55 0.14 60 / 0.35);z-index:800;transition:transform var(--transition-interactive),background var(--transition-interactive),box-shadow var(--transition-interactive);border:none}.chat-trigger:hover{transform:scale(1.08);background:var(--color-gold-hover);box-shadow:var(--shadow-xl),0 6px 20px oklch(0.55 0.14 60 / 0.45)}.chat-trigger:active{transform:scale(0.95)}.chat-trigger.hidden{display:none}.chat-panel{position:fixed;bottom:var(--space-6);right:var(--space-6);width:380px;height:520px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);z-index:850;display:flex;flex-direction:column;overflow:hidden;transform:scale(0.5) translateY(20px);transform-origin:bottom right;opacity:0;pointer-events:none;transition:transform 280ms cubic-bezier(0.16,1,0.3,1),opacity 200ms ease}.chat-panel.open{transform:scale(1) translateY(0);opacity:1;pointer-events:all}.chat-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-divider);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:var(--color-primary);color:var(--color-text-inverse);flex-shrink:0;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.chat-header-info{display:flex;align-items:center;gap:var(--space-3)}.chat-header-avatar{width:36px;height:36px;min-width:36px;border-radius:50%;background:color-mix(in oklch,var(--color-text-inverse) 15%,transparent);display:flex;align-items:center;justify-content:center;color:var(--color-gold)}.chat-header-name{font-family:var(--font-display);font-size:var(--text-base);color:var(--color-text-inverse);line-height:1.2}.chat-header-status{font-family:var(--font-body);font-size:var(--text-xs);color:color-mix(in oklch,var(--color-text-inverse) 65%,transparent);line-height:1}.chat-close-btn{width:36px;height:36px;min-width:36px;border-radius:var(--radius-md);background:color-mix(in oklch,var(--color-text-inverse) 12%,transparent);border:none;color:color-mix(in oklch,var(--color-text-inverse) 75%,transparent);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-interactive),color var(--transition-interactive)}.chat-close-btn:hover{background:color-mix(in oklch,var(--color-text-inverse) 20%,transparent);color:var(--color-text-inverse)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-4) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);overscroll-behavior:contain}.chat-msg{display:flex;flex-direction:column;max-width:85%;animation:chatMsgIn 200ms cubic-bezier(0.16,1,0.3,1)}@keyframes chatMsgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chat-msg.bot{align-self:flex-start}.chat-msg.user{align-self:flex-end}.chat-msg-bubble{font-family:var(--font-body);font-size:var(--text-sm);line-height:1.55;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);word-break:break-word;max-width:none}.chat-msg.bot .chat-msg-bubble{background:var(--color-surface-offset);color:var(--color-text);border-bottom-left-radius:var(--radius-sm)}.chat-msg.user .chat-msg-bubble{background:var(--color-primary);color:var(--color-text-inverse);border-bottom-right-radius:var(--radius-sm)}.chat-msg-bubble strong{font-weight:600}.chat-quick-replies{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) 0}.chat-quick-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1.5px solid var(--color-gold);background:transparent;color:var(--color-gold);font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:background var(--transition-interactive),color var(--transition-interactive);white-space:nowrap;min-height:32px}.chat-quick-btn:hover{background:var(--color-gold);color:#fff}.chat-nav-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-inverse);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;cursor:pointer;border:none;margin-top:var(--space-2);transition:background var(--transition-interactive);min-height:36px}.chat-nav-btn:hover{background:var(--color-primary-hover)}.chat-typing{display:flex;align-items:center;gap:4px;padding:var(--space-3) var(--space-4);background:var(--color-surface-offset);border-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-sm);align-self:flex-start;max-width:70px}.chat-typing-dot{width:6px;height:6px;border-radius:50%;background:var(--color-text-faint);animation:typingBounce 1.2s ease-in-out infinite}.chat-typing-dot:nth-child(2){animation-delay:0.15s}.chat-typing-dot:nth-child(3){animation-delay:0.3s}@keyframes typingBounce{0%,60%,100%{transform:translateY(0);opacity:0.4}30%{transform:translateY(-4px);opacity:1}}.chat-input-area{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-divider);display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface);flex-shrink:0}.chat-input{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface-2);min-height:40px;outline:none;transition:border-color var(--transition-interactive)}.chat-input:focus{border-color:var(--color-gold)}.chat-input::placeholder{color:var(--color-text-faint)}.chat-mic-btn,.chat-send-btn{width:36px;height:36px;min-width:36px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-interactive),color var(--transition-interactive);flex-shrink:0}.chat-mic-btn{background:var(--color-surface-offset);color:var(--color-text-muted);border:1px solid var(--color-border)}.chat-mic-btn:hover{background:var(--color-gold-highlight);color:var(--color-gold);border-color:var(--color-gold)}.chat-mic-btn.recording{background:var(--color-error-highlight);color:#e53e3e;border-color:#e53e3e;animation:pulse-recording 1.2s ease-in-out infinite}.chat-send-btn{background:var(--color-gold);color:#fff}.chat-send-btn:hover{background:var(--color-gold-hover)}@media (max-width:768px){.chat-trigger{bottom:var(--space-4);right:var(--space-4);width:52px;height:52px}.chat-panel{bottom:0;right:0;left:0;width:100%;height:calc(100dvh - 60px);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;transform-origin:bottom center}.chat-panel.open{transform:scale(1) translateY(0)}.chat-header{border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.chat-input-area{padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0))}}[data-theme="dark"] .chat-msg.bot .chat-msg-bubble{background:var(--color-surface-offset-2)}[data-theme="dark"] .chat-trigger{box-shadow:var(--shadow-lg),0 4px 16px oklch(0.4 0.12 60 / 0.4)}[data-theme="dark"] .chat-quick-btn{border-color:var(--color-gold);color:var(--color-gold)}[data-theme="dark"] .chat-quick-btn:hover{background:var(--color-gold);color:var(--color-text-inverse)}.faq-section{margin-top:var(--space-6);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-lg,12px);border:1px solid var(--color-border)}.faq-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-primary)}.faq-header svg{flex-shrink:0}.faq-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-heading);margin:0}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item:last-child{border-bottom:none}.faq-question{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-3) 0;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-body);font-size:var(--text-base);font-weight:600;color:var(--color-heading);line-height:1.4;transition:color 0.15s ease}.faq-question:hover{color:var(--color-primary)}.faq-chevron{flex-shrink:0;transition:transform 0.25s ease;color:var(--color-text-faint)}.faq-question[aria-expanded="true"] .faq-chevron{transform:rotate(180deg)}.faq-answer{overflow:hidden;transition:max-height 0.3s ease,padding 0.3s ease;max-height:0;padding:0}.faq-answer[hidden]{display:block !important;max-height:0;padding:0}.faq-answer.faq-open{max-height:300px;padding:0 0 var(--space-3) 0}.faq-answer p{margin:0;font-size:var(--text-sm);line-height:1.6;color:var(--color-text)}
.info-table-wrap{overflow-x:auto;margin:var(--space-6) 0}
.info-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:var(--text-sm)}
.info-table th{background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-3) var(--space-4);text-align:left;font-weight:600}
.info-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider)}
.info-table tr:hover td{background:var(--color-surface-offset)}
.steps-section{margin:var(--space-8) 0}
.steps-section .step-item{display:flex;gap:var(--space-4);margin-bottom:var(--space-6);text-align:left;padding:0}
.steps-section .step-number{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-primary);color:var(--color-text-inverse);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;flex-shrink:0;margin:0;box-shadow:none}
.steps-section .step-content{flex:1}
.steps-section .step-title{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-primary);margin-bottom:var(--space-2)}
.info-box{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);margin:var(--space-4) 0;font-size:var(--text-sm);line-height:1.6}
.info-box-warning{background:var(--color-error-highlight);border-left:4px solid var(--color-error)}
.info-box-tip{background:var(--color-gold-highlight);border-left:4px solid var(--color-gold)}
.content-section{margin-bottom:var(--space-10)}
.content-section h2{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary);margin-bottom:var(--space-4)}
.content-section h3{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-3)}
.content-section p{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--space-4)}
.content-section ul,.content-section ol{margin:var(--space-3) 0 var(--space-6) var(--space-6);color:var(--color-text-muted);line-height:1.7}
.content-section li{margin-bottom:var(--space-2)}
.comparison-table{width:100%;border-collapse:collapse;margin:var(--space-6) 0}
.comparison-table th,.comparison-table td{padding:var(--space-3) var(--space-4);text-align:left;border-bottom:1px solid var(--color-divider);font-size:var(--text-sm)}
.comparison-table th{font-weight:600;color:var(--color-primary)}
.comparison-table .highlight{background:var(--color-gold-highlight);font-weight:600}

.service-selector-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin-top:var(--space-4)}
@media (max-width:480px){.service-selector-grid{grid-template-columns:1fr}}
.service-selector-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:border-color var(--transition-interactive),background var(--transition-interactive),box-shadow var(--transition-interactive)}
.service-selector-item:hover{border-color:var(--color-primary);background:var(--color-primary-highlight);box-shadow:var(--shadow-sm)}
.service-selector-item .ssi-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-primary-highlight);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}
.service-selector-item .ssi-text{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text)}

/* Fix: bottom-align step cards and pricing cards */
.steps-grid .step-item{display:flex;flex-direction:column;align-items:center;height:100%}
.steps-grid .step-item .step-free-tag,
.steps-grid .step-item .step-paid-tag{margin-top:auto}
.pricing-grid{align-items:stretch}
.pricing-card{display:flex;flex-direction:column;height:100%}
.pricing-card .btn{margin-top:auto}

/* OCR upload section in generator modal */
.gen-ocr-upload-section{margin-bottom:var(--space-4)}
.gen-ocr-header{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--color-primary);margin-bottom:var(--space-3)}
.gen-ocr-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-offset);cursor:pointer;transition:border-color var(--transition-interactive),background var(--transition-interactive)}
.gen-ocr-drop:hover,.gen-ocr-drop.dragover{border-color:var(--color-primary);background:var(--color-primary-highlight)}
.gen-ocr-drop svg{color:var(--color-text-muted)}
.gen-ocr-drop-text{font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;color:var(--color-text)}
.gen-ocr-drop-hint{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted)}
.gen-ocr-status{font-family:var(--font-body);font-size:var(--text-sm);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-top:var(--space-3)}
.gen-ocr-status.processing{background:var(--color-warning-highlight);color:var(--color-text)}
.gen-ocr-status.success{background:var(--color-success-highlight);color:var(--color-success)}
.gen-ocr-status.error{background:var(--color-error-highlight);color:var(--color-error)}
.gen-divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0}
.gen-divider::before,.gen-divider::after{content:'';flex:1;height:1px;background:var(--color-divider)}
.gen-divider span{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:0.05em;white-space:nowrap}
