
.lang-banner{display:none;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--sp-2) var(--sp-3);padding:var(--sp-1) var(--gutter);background:var(--c-surface-2);border-bottom:1px solid var(--c-line);font-size:var(--fs-small)}
.lang-banner a{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--c-text);font-weight:600}
.lang-banner-close{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);border:0;background:transparent;color:var(--c-text-dim);font:inherit;font-size:1.5rem;line-height:1;cursor:pointer}
.lang-banner-close:hover{color:var(--c-text)}
.hero{padding-block:var(--sp-6)}
.hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-5);align-items:center}
.hero-copy{display:grid;gap:var(--sp-4);justify-items:start}
.hero-new{display:inline-flex;align-items:center;min-height:var(--tap);color:var(--c-text);font-weight:500;text-decoration:none}
.hero-new:hover{text-decoration:underline}
.hero-new .tag{margin-left:0;margin-right:var(--sp-2)}
.analysis{border:1px solid var(--c-line);background:var(--c-surface)}
.analysis-title{padding:12px var(--sp-3) 0;color:var(--c-text-dim);font-size:var(--fs-small);font-weight:600}
.trace svg{width:100%;padding:var(--sp-2) var(--sp-3)}
.trace .grid-l{stroke:var(--c-line);stroke-width:1}
.trace .ref{fill:none;stroke:var(--c-ref);stroke-width:2.5}
.trace .you{fill:none;stroke:var(--c-brand);stroke-width:4;stroke-linejoin:round;stroke-dasharray:1200;stroke-dashoffset:1200;animation:trace-draw 1.4s ease-out .3s forwards}
@keyframes trace-draw{to{stroke-dashoffset:0}}
.trace .zone{fill:var(--c-brand);opacity:.14}
.trace text{font-family:var(--f-num);font-size:22px;fill:var(--c-text-dim)}
.trace .lbl{fill:var(--c-text)}
.legend{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);padding:0 var(--sp-3) var(--sp-3);color:var(--c-text-dim);font-size:var(--fs-small)}
.legend li::before{content:"";display:inline-block;width:22px;height:3px;margin-right:var(--sp-2);vertical-align:middle;background:var(--c-ref)}
.legend .l-you::before{background:var(--c-brand)}
.readout{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--c-line)}
.readout > div{display:grid;gap:2px;padding:var(--sp-3);border-left:1px solid var(--c-line)}
.readout > div:first-child{border-left:0}
.readout dt{color:var(--c-text-dim);font-size:var(--fs-small)}
.readout dd{font-family:var(--f-num);font-size:1.3rem;font-weight:500;color:var(--c-loss)}
.hero-shots{display:grid;grid-template-columns:960fr 498fr;gap:var(--sp-3);margin-top:var(--sp-6);align-items:start}
.hero-video{width:100%;border:1px solid var(--c-line);background:var(--c-surface)}
.shot-wide{aspect-ratio:960/716}
.shot-tall{aspect-ratio:680/976}
@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .hero{padding-block:var(--sp-5)}
  .trace text{font-size:30px}
  .readout{grid-template-columns:1fr}
  .readout > div{border-left:0;border-top:1px solid var(--c-line)}
  .readout > div:first-child{border-top:0}
  .hero-shots{grid-template-columns:1fr}
  .shot-tall{max-width:70%}
}
.panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:var(--sp-4)}
.panel{display:grid;gap:var(--sp-3);align-content:start;padding:var(--sp-4);border:1px solid var(--c-line);background:var(--c-surface)}
.panel p{color:var(--c-text-dim)}
.panel .bullets{font-size:var(--fs-small)}
.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--sp-4);max-width:820px}
.price{display:grid;gap:var(--sp-3);align-content:start;padding:var(--sp-4);border:1px solid var(--c-line);background:var(--c-surface)}
.price-main{border-color:var(--c-brand)}
.price .tag{justify-self:start;margin-left:0;border-color:var(--c-brand);background:var(--c-brand);color:var(--c-on-brand)}
.price-amount{font-family:var(--f-num);font-size:2.4rem;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}
.price-amount small{display:block;margin-top:var(--sp-2);font-family:var(--f-body);font-size:1rem;font-weight:400;line-height:1.4;color:var(--c-text-dim)}
.price-old{text-decoration:line-through}
.price-extra{display:grid;gap:2px;padding:12px 14px;border:1px solid var(--c-brand);border-left-width:4px;border-radius:var(--radius);background:rgba(224,32,42,.12)}
.price-extra-label{color:var(--c-brand-text);font-size:0.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.price-extra-name{font-size:1.375rem;font-weight:700;line-height:1.2;color:var(--c-text)}
.price-extra-text{color:var(--c-text);font-size:0.9375rem;line-height:1.4}
.pricing-notes{display:grid;gap:var(--sp-3);margin-top:var(--sp-4);max-width:820px;color:var(--c-text-dim);font-size:var(--fs-small)}
.signup{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-5);align-items:start}
.signup .section-head{margin-bottom:0}
.signup-side{display:grid;gap:var(--sp-3);max-width:560px}
.signup-form{display:grid;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--c-line);background:var(--c-surface)}
.signup-form > div{display:grid;gap:6px}
.signup-form label{font-size:var(--fs-small);font-weight:500}
.signup-form input,.signup-form select{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--c-line-strong);border-radius:var(--radius);background:var(--c-bg);color:var(--c-text);font:inherit}
.signup-form input::placeholder{color:var(--c-text-dim);opacity:1}
.signup-form input:focus-visible,.signup-form select:focus-visible{outline-offset:1px}
.signup-form button:disabled{opacity:.6;cursor:progress}
.signup-form .hint{color:var(--c-text-dim);font-size:var(--fs-small)}
.signup-form .hint a,.signup-alt a,.hero-signin a,.pricing-notes a{color:var(--c-text);font-weight:500;text-decoration:underline;text-decoration-color:var(--c-brand);text-decoration-thickness:2px;text-underline-offset:4px}
.signup-form .hint a:hover,.signup-alt a:hover,.hero-signin a:hover,.pricing-notes a:hover{color:var(--c-brand-text)}
.signup-status{padding:var(--sp-3) var(--sp-4);border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-text)}
.signup-status:empty{display:none}
.signup-status.error{border-color:var(--c-loss);color:var(--c-loss)}
.signup-status.success{border-color:var(--c-gain)}
.signup-alt,.hero-signin{color:var(--c-text-dim)}
@media (max-width:900px){
  .signup{grid-template-columns:1fr}
}
.signup-form > div > :is(.field-error,.pw-count){margin-top:0}
