:root{--color-bg: #f8f9fb;--color-surface: #ffffff;--color-surface-muted: #f1f5f9;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text: #0f172a;--color-text-muted: #64748b;--color-primary: #1e3a5f;--color-primary-hover: #152a45;--color-primary-soft: #eef2f7;--color-accent: #2563eb;--color-accent-soft: #eff6ff;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;--max-width: 1140px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-y:auto}#root{min-height:100vh;overflow:visible}a{color:var(--color-accent)}.app-shell{max-width:var(--max-width);margin:0 auto;padding:var(--space-lg) var(--space-md) var(--space-2xl)}.main-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-xl);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.main-nav__brand{display:flex;flex-direction:column;gap:.15rem}.main-nav__eyebrow{font-size:.85rem;font-weight:700;letter-spacing:.04em;color:var(--color-primary)}.main-nav__title{font-size:1rem;font-weight:500;color:var(--color-text-muted)}.page-header{margin-bottom:var(--space-xl)}.page-header h1{margin:0 0 var(--space-sm);font-size:clamp(1.5rem,3.5vw,2rem);font-weight:700;letter-spacing:-.02em;color:var(--color-primary)}.page-header p{margin:0;max-width:60ch;color:var(--color-text-muted);font-size:1rem}.pricing-grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg);align-items:start}@media(min-width:960px){.pricing-grid{grid-template-columns:1.15fr .85fr}.panel--output{position:sticky;top:var(--space-lg);max-height:calc(100vh - var(--space-lg) * 2);overflow-y:auto}}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.panel__title{margin:0 0 var(--space-lg);font-size:1.05rem;font-weight:600;color:var(--color-primary)}.input-form fieldset{border:none;margin:0 0 var(--space-lg);padding:0}.input-form legend{font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.field__hint{margin:var(--space-sm) 0 0;font-size:.85rem;color:var(--color-text-muted)}.track-options{display:grid;gap:var(--space-sm)}.track-option{display:flex;flex-direction:column;gap:.35rem;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);cursor:pointer;transition:border-color .15s ease,background .15s ease}.track-option:hover{border-color:var(--color-border-strong)}.track-option--selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.track-option input{position:absolute;opacity:0;pointer-events:none}.track-option__label{font-weight:600;font-size:.92rem;color:var(--color-primary)}.track-option__price{font-size:.85rem;color:var(--color-text-muted)}.growth-toggle{display:flex;gap:var(--space-sm);align-items:flex-start;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);cursor:pointer}.growth-toggle input{margin-top:.25rem;accent-color:var(--color-primary)}.growth-toggle__content{display:flex;flex-direction:column;gap:.35rem}.growth-toggle__title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);font-weight:600;font-size:.95rem}.growth-toggle__badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent)}.growth-toggle__desc{font-size:.85rem;color:var(--color-text-muted)}.base-options{display:grid;gap:var(--space-sm)}@media(min-width:600px){.base-options{grid-template-columns:1fr 1fr}}.base-card{position:relative;display:flex;flex-direction:column;gap:.3rem;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);cursor:pointer;transition:border-color .15s ease}.base-card:hover{border-color:var(--color-border-strong)}.base-card--selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.base-card input{position:absolute;opacity:0;pointer-events:none}.base-card__badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent)}.base-card__title{font-weight:600;font-size:.95rem}.base-card__price{font-size:.82rem;color:var(--color-text-muted)}.module-list{display:grid;gap:var(--space-xs)}.module-item{display:flex;gap:var(--space-sm);align-items:flex-start;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;transition:border-color .15s ease,background .15s ease}.module-item:hover{border-color:var(--color-border-strong)}.module-item--selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.module-item--bundled{opacity:.92}.module-item__included{margin-left:var(--space-xs);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent)}.module-item input{margin-top:.2rem;accent-color:var(--color-primary)}.module-item input:disabled{cursor:not-allowed}.module-item__content{flex:1;display:flex;flex-direction:column;gap:.1rem}.module-item__title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.module-item__title{font-weight:500;font-size:.9rem}.info-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;border:1px solid var(--color-border-strong);border-radius:50%;font-size:.68rem;font-weight:700;font-style:italic;font-family:Georgia,Times New Roman,serif;color:var(--color-text-muted);background:var(--color-surface);cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.info-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-soft)}.module-item__meta{font-size:.8rem;color:var(--color-text-muted)}.module-item__strike{text-decoration:line-through;color:var(--color-text-muted)}.info-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:#0f172a73}.info-modal{width:min(100%,480px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 16px 48px #0f172a2e}.info-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg) var(--space-lg) var(--space-sm);border-bottom:1px solid var(--color-border)}.info-modal__header h3{margin:0;font-size:1.05rem;font-weight:600;color:var(--color-primary)}.info-modal__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;font-size:1.5rem;line-height:1;color:var(--color-text-muted);cursor:pointer;padding:0}.info-modal__close:hover{color:var(--color-text)}.info-modal__body{padding:var(--space-lg)}.info-modal__label{margin:0 0 var(--space-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.info-modal__text{margin:0;font-size:.95rem;color:var(--color-text);line-height:1.6}.form-actions{display:flex;gap:var(--space-sm)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:var(--radius-sm);padding:.6rem 1rem;font:inherit;font-weight:500;font-size:.9rem;cursor:pointer}.btn--ghost{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn--ghost:hover{background:var(--color-surface-muted)}.quote-meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm) var(--space-md);margin:0 0 var(--space-lg);padding:var(--space-md);background:var(--color-surface-muted);border-radius:var(--radius-md)}.quote-meta div{display:flex;flex-direction:column;gap:.15rem}.quote-meta__full{grid-column:1 / -1}.quote-meta dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.quote-meta dd{margin:0;font-weight:600;font-size:.88rem}.quote-section{margin-bottom:var(--space-md)}.quote-section h3{margin:0 0 var(--space-sm);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-weight:600}.quote-lines{list-style:none;margin:0;padding:0}.quote-lines li{display:flex;justify-content:space-between;gap:var(--space-md);padding:.4rem 0;border-bottom:1px solid var(--color-border);font-size:.88rem}.quote-lines--included li span:last-child{color:var(--color-accent);font-weight:600;font-size:.82rem}.quote-section--bundle{padding:var(--space-md);background:var(--color-accent-soft);border:1px solid var(--color-border);border-radius:var(--radius-md)}.quote-lines__savings span:last-child{color:#047857;font-weight:600}.quote-price-comparison{display:inline-flex;align-items:center;gap:var(--space-xs)}.quote-price-comparison__original{text-decoration:line-through;color:var(--color-text-muted);font-size:.85rem}.quote-price-comparison__final{font-weight:600;color:var(--color-primary)}.quote-subtotal{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;font-size:.92rem;font-weight:600}.quote-totals{margin-top:var(--space-md);padding-top:var(--space-md);border-top:2px solid var(--color-border)}.quote-totals__row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.quote-totals__row--highlight strong{font-size:1.4rem;color:var(--color-primary)}.quote-disclaimer{margin:var(--space-sm) 0 0;font-size:.78rem;color:var(--color-text-muted)}.site-footer{margin-top:var(--space-2xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted);font-size:.82rem}.site-footer__disclaimer{max-width:52ch;margin:var(--space-md) auto 0;font-size:.75rem;line-height:1.5;color:#94a3b8}@media(max-width:599px){.main-nav{flex-direction:column;align-items:flex-start}}
