html{scroll-behavior:smooth}
section,header,footer{scroll-margin-top:76px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.wrap{max-width:var(--container-max,1200px);margin:0 auto;padding:0 var(--space-6)}
.eyebrow{font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--teal-500);font-weight:600}
.eyebrow.on-dark{color:var(--teal-300)}
h1,h2,h3{text-wrap:pretty}
.h-display{font-family:var(--font-display);font-size:var(--text-5xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:300}
.h-section{font-family:var(--font-display);font-size:var(--text-3xl);line-height:var(--leading-snug);font-weight:300}
.lede{font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--text-secondary);max-width:56ch}
.lede.on-dark{color:var(--teal-100)}
.section{padding:var(--space-20) 0}
.section-dark{background:var(--surface-inverse);color:var(--text-on-brand)}
.section-tint{background:var(--surface-brand-tint)}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.grid{display:grid;gap:var(--space-5)}
.g-4{grid-template-columns:repeat(4,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-2{grid-template-columns:repeat(2,1fr)}
.stack{display:flex;flex-direction:column}
.nav{position:sticky;top:0;z-index:20;background:var(--surface-inverse);border-bottom:1px solid var(--border-on-inverse)}
.nav-inner{display:flex;align-items:center;gap:var(--space-6);height:68px}
.wordmark{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;letter-spacing:var(--tracking-tight);color:var(--text-on-brand);text-decoration:none}
.wordmark .accent{color:var(--brand-accent)}
.nav-links{display:flex;gap:var(--space-5);margin-left:auto;align-items:center}
.nav-links a{color:var(--teal-100);text-decoration:none;font-size:var(--text-sm);font-weight:500}
.nav-links a:hover{color:var(--white);text-decoration:underline;text-decoration-color:var(--brand-accent);text-underline-offset:4px}
.nav-actions{display:flex;align-items:center;gap:var(--space-4)}
.login-link{color:var(--white)!important;border:1px solid var(--border-on-inverse);border-radius:var(--radius-md);padding:8px 14px;white-space:nowrap}
.btn-on-dark{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:var(--text-md);font-weight:600;color:var(--text-on-brand);background:transparent;border:1px solid var(--border-on-inverse);border-radius:var(--radius-md);padding:14px 22px;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background var(--duration-base) var(--ease-out)}
.btn-on-dark:hover{background:var(--surface-inverse-raised);color:var(--white);text-decoration:none}
.login-link:hover{background:var(--surface-inverse-raised);text-decoration:none!important}
.btn-on-dark.sm{font-size:var(--text-sm);padding:8px 14px}
.hero{background:var(--surface-inverse);color:var(--text-on-brand);position:relative;overflow:hidden}
.hero .rules{position:absolute;inset:0;opacity:0;background-image:repeating-linear-gradient(to bottom,transparent,transparent 27px,var(--teal-300) 27px,var(--teal-300) 28px);pointer-events:none;animation:rulesIn 1.2s var(--ease-out) .15s forwards}
@keyframes rulesIn{from{opacity:0;transform:translateY(-14px)}to{opacity:.16;transform:none}}
.hero-inner{position:relative;display:grid;grid-template-columns:1.15fr .8fr;gap:var(--space-12);padding:var(--space-20) var(--space-6) var(--space-16)}
.hero-margin{position:absolute;top:0;bottom:0;left:max(var(--space-6),calc((100vw - var(--container-max,1200px))/2 + var(--space-6) - 22px));width:1px;background:var(--coral-500);opacity:.55;transform-origin:top;animation:drawDown 1s var(--ease-out) .25s both}
@keyframes drawDown{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.rotator{display:inline-grid;vertical-align:top}
.rotator-line{position:relative;color:var(--brand-accent);white-space:nowrap}
.rotator-line.enter{animation:wordIn .5s var(--ease-out) both}
.rotator-line.exit{animation:wordOut .38s var(--ease-out) both;position:absolute;inset:0}
@keyframes wordIn{from{opacity:0;transform:translateY(0.35em) rotate(-1.2deg)}to{opacity:1;transform:none}}
@keyframes wordOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-0.35em) rotate(1deg)}}
.underline-draw{display:block;height:2px;background:var(--brand-accent);transform-origin:left;animation:drawRight .7s var(--ease-out) .5s both;opacity:.75}
@keyframes drawRight{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ticker{position:relative;border-top:1px solid var(--border-on-inverse);border-bottom:1px solid var(--border-on-inverse);background:var(--surface-inverse);overflow:hidden;padding:var(--space-4) 0;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ticker-track{display:flex;gap:var(--space-8);width:max-content;animation:ticker 38s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-item{display:flex;align-items:center;gap:var(--space-8);font-family:var(--font-display);font-size:var(--text-lg);font-weight:300;letter-spacing:var(--tracking-tight);color:var(--teal-100);white-space:nowrap}
.ticker-item i{font-style:normal;color:var(--brand-accent)}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.scroll-bar{position:fixed;top:0;left:0;height:2px;background:var(--brand-accent);z-index:40;transform-origin:left;transition:transform 90ms linear;width:100%}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease-out),transform .55s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.hover-lift{transition:transform var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}
.hover-lift:hover{transform:translateY(-4px)}
.hover-lift:hover .rule-grow{transform:scaleX(1)}
.rule-grow{display:block;height:2px;background:var(--brand-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--duration-base) var(--ease-out)}
.faq-a{animation:faqIn .3s var(--ease-out) both}
@keyframes faqIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.credit-line{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5);font-size:var(--text-sm);color:var(--teal-200);border-top:1px solid var(--border-on-inverse);padding-top:var(--space-4)}
.callout{border:1px solid var(--border-on-inverse);border-radius:var(--radius-lg);padding:var(--space-6);background:var(--surface-inverse-raised)}
.stat-value{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:300;line-height:1;color:var(--brand-accent)}
.stat-label{font-size:var(--text-sm);color:var(--teal-100);line-height:var(--leading-normal)}
.placeholder-note{font-size:var(--text-xs);color:var(--teal-300);letter-spacing:var(--tracking-wide)}
.step-no{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:300;color:var(--brand-accent)}
.faq-item{border-top:1px solid var(--border-default)}
.faq-q{width:100%;background:none;border:0;padding:var(--space-5) 0;display:flex;gap:var(--space-4);align-items:baseline;justify-content:space-between;cursor:pointer;font-family:var(--font-body);font-size:var(--text-md);font-weight:600;color:var(--text-primary);text-align:left}
.faq-a{padding:0 0 var(--space-5);color:var(--text-secondary);line-height:var(--leading-relaxed);max-width:70ch}
.sign{color:var(--brand-accent);font-size:var(--text-lg);line-height:1}
.future{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-6);background:transparent}
.footer{background:var(--surface-inverse);color:var(--teal-100);padding:var(--space-16) 0 var(--space-10)}
.footer h4{font-size:var(--text-sm);color:var(--white);letter-spacing:var(--tracking-wide);text-transform:uppercase;font-family:var(--font-body);font-weight:600}
.footer a{color:var(--teal-100);text-decoration:none;font-size:var(--text-sm)}
.footer a:hover{color:var(--white);text-decoration:underline}
.footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:var(--space-10)}
.footer-bottom{margin-top:var(--space-12);padding-top:var(--space-5);border-top:1px solid var(--border-on-inverse);display:flex;justify-content:space-between;gap:var(--space-5);font-size:var(--text-xs);color:var(--teal-300);flex-wrap:wrap}
.phone-link{font-family:var(--font-display);font-size:var(--text-xl);color:var(--white);text-decoration:none;letter-spacing:var(--tracking-tight)}
.phone-link:hover{color:var(--brand-accent)}
@media(max-width:980px){.hero-inner{grid-template-columns:1fr;padding:var(--space-16) var(--space-6)}.hero-margin{display:none}.rotator-line{white-space:normal}.g-4{grid-template-columns:repeat(2,1fr)}.g-3,.g-2{grid-template-columns:1fr}.footer-cols{grid-template-columns:1fr 1fr}.nav-links{display:none}.h-display{font-size:var(--text-4xl)}}
