:root{--b4: #60B8F5;--b5: #2D8FE8;--b6: #1A6FCC;--b7: #0D4A8A;--b8: #093570;--o3: #FFCA5A;--o4: #F59E1A;--o5: #E8880A;--g0: #FFFFFF;--g1: #F8FAFC;--g2: #EEF2F7;--g3: #DDE3ED;--g4: #94A3B8;--g5: #64748B;--g6: #475569;--g7: #334155;--g8: #1E293B;--g9: #0F172A;--font: "Plus Jakarta Sans", sans-serif;--max: 1020px;--sh-card: 0 2px 12px rgba(0,0,0,.07), 0 8px 32px rgba(0,0,0,.05);--sh-blue: 0 8px 40px rgba(26,111,204,.22);--sh-orange: 0 8px 32px rgba(232,136,10,.28);--r1: 8px;--r2: 14px;--r3: 20px;--r4: 32px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--g1);color:var(--g8);-webkit-font-smoothing:antialiased}h1,h2{font-weight:800;letter-spacing:-.025em;color:var(--g9);margin:0}h3,p{margin:0}.muted{color:var(--g5)}.accent-text{background:linear-gradient(110deg,var(--b7),var(--b5));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:800}.btn{font-family:var(--font);font-weight:700;font-size:15px;border:none;border-radius:var(--r1);padding:15px 30px;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--b7),var(--b5));box-shadow:var(--sh-blue);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(0) scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn--cta{background:linear-gradient(135deg,var(--o4),var(--o5));box-shadow:var(--sh-orange)}.btn--block{width:100%}.btn--outline{background:var(--g0);border:1.5px solid var(--g3);color:var(--g6);box-shadow:none}.btn--outline:hover:not(:disabled){border-color:var(--b5);color:var(--b6)}.app-loading{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:40px}.spinner{width:42px;height:42px;border-radius:50%;border:4px solid var(--g3);border-top-color:var(--b5);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.site-header{background:linear-gradient(120deg,var(--b8),var(--b6));border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 2px 16px #09357040;position:sticky;top:0;z-index:30}.site-header__inner{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:22px}.brand{display:inline-flex;align-items:center;text-decoration:none;flex:none}.brand__logo{height:42px;width:auto;display:block}.brand__wordmark{font-weight:800;font-size:20px;color:#fff}.site-header__titles{min-width:0}.site-header__titles h1{color:#fff;font-size:23px;font-weight:800;letter-spacing:-.02em;line-height:1.15}.site-header__titles p{color:#ffffffd1;font-size:13.5px;margin-top:3px}.app{min-height:100vh;display:flex;flex-direction:column}.layout{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:32px 24px 80px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}.price-lockable{display:inline-block;transition:filter .35s ease}.price-lockable--locked{filter:blur(6px);-webkit-user-select:none;user-select:none;pointer-events:none}.price-locked-note{display:flex;align-items:center;gap:8px;background:#fff7ec;border:1px solid var(--o3);color:var(--o5);font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:var(--r1);margin-bottom:-5px}.builder{display:flex;flex-direction:column;gap:22px;min-width:0}.panel{background:var(--g0);border:1px solid var(--g2);border-radius:var(--r3);box-shadow:var(--sh-card);padding:26px 28px}.panel__head{margin-bottom:18px}.panel__title{font-size:21px;display:flex;align-items:center;gap:12px}.panel__title--sm{font-size:18px}.panel__sub{color:var(--g5);font-size:14px;margin-top:6px}.step-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--b7),var(--b5));color:#fff;font-size:15px;font-weight:700;flex:none}.note{margin-top:12px;font-size:13px;color:var(--o5);background:#fff7ec;border:1px solid var(--o3);padding:8px 12px;border-radius:var(--r1)}.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--g3);border-radius:var(--r1);overflow:hidden;background:var(--g0)}.stepper__btn{width:38px;height:40px;border:none;background:var(--g1);font-size:20px;font-weight:700;color:var(--g7);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s ease}.stepper__btn:hover:not(:disabled){background:var(--g2);color:var(--b6)}.stepper__btn:disabled{color:var(--g4);cursor:not-allowed}.stepper__input{width:54px;height:40px;border:none;text-align:center;font-family:var(--font);font-size:16px;font-weight:700;color:var(--g8);background:var(--g0);-moz-appearance:textfield}.stepper__input::-webkit-outer-spin-button,.stepper__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper__input:focus{outline:none}.ext-picker{display:flex;align-items:center;gap:24px;flex-wrap:wrap;background:var(--g1);border:1px solid var(--g2);border-radius:var(--r2);padding:20px 24px}.ext-picker__label{display:flex;flex-direction:column}.ext-picker__count{font-size:40px;font-weight:800;line-height:1;color:var(--b7)}.ext-picker__word{font-size:13px;color:var(--g5);text-transform:uppercase;letter-spacing:.06em}.ext-picker__math{font-size:15px;color:var(--g6);margin-left:auto}.ext-picker__math strong{color:var(--g9)}.seat-includes{margin-top:20px;background:var(--g1);border:1px solid var(--g2);border-radius:var(--r2);padding:18px 20px}.seat-includes__title{font-size:15px;font-weight:800;color:var(--g9)}.seat-includes__intro{font-size:14px;color:var(--g6);margin-top:6px;line-height:1.5}.seat-includes__list{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:9px 20px}.seat-includes__list li{position:relative;padding-left:26px;font-size:13.5px;color:var(--g7);line-height:1.35}.seat-includes__list li:before{content:"✓";position:absolute;left:4px;top:0;color:var(--b5);font-weight:800}.seat-includes__note{margin-top:16px;font-size:12.5px;color:var(--o5);line-height:1.5;background:#fff7ec;border:1px solid var(--o3);border-radius:var(--r1);padding:10px 12px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}.product-card{position:relative;border:1px solid var(--g2);border-radius:var(--r2);background:var(--g0);box-shadow:var(--sh-card);display:flex;flex-direction:column;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.product-card__badge{position:absolute;top:10px;left:10px;z-index:2;background:linear-gradient(135deg,var(--o4),var(--o5));color:#fff;font-size:11px;font-weight:700;letter-spacing:.02em;padding:4px 10px;border-radius:999px;box-shadow:var(--sh-orange)}.product-card:hover{transform:translateY(-3px);box-shadow:var(--sh-blue)}.product-card--active{border-color:var(--b5);box-shadow:var(--sh-blue)}.product-card__media{height:120px;background:var(--g1);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--g2)}.product-card__media img{max-height:100%;max-width:100%;object-fit:contain}.product-card__placeholder{font-size:44px;opacity:.6}.product-card__body{padding:14px 16px;display:flex;flex-direction:column;gap:8px;flex:1}.product-card__name{font-weight:700;font-size:15px;color:var(--g9)}.product-card__desc{font-size:12.5px;color:var(--g5);line-height:1.4;flex:1}.product-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.product-card__price{font-weight:700;color:var(--b7);font-size:15px}.product-card__each{font-weight:500;color:var(--g5);font-size:12px}.addon-group{margin-top:18px}.addon-group:first-of-type{margin-top:0}.addon-group__head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--g2)}.addon-group__head h3{font-size:15px;font-weight:700;color:var(--g7)}.addon-group__head .muted{font-size:12.5px}.addon-list{display:flex;flex-direction:column;gap:10px}.addon-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--g2);border-radius:var(--r2);padding:14px 16px;background:var(--g0);transition:border-color .15s ease,background .15s ease}.addon-row--active{border-color:var(--b5);background:#f5faff}.addon-row__info{min-width:0}.addon-row__name{font-weight:700;font-size:15px;color:var(--g9)}.addon-row__desc{font-size:12.5px;color:var(--g5);margin-top:3px;line-height:1.4}.addon-row__hint{font-size:12.5px;color:var(--b6);font-weight:600}.addon-row__control{flex:none}.toggle{width:52px;height:30px;border-radius:999px;border:none;background:var(--g3);position:relative;cursor:pointer;padding:0;transition:background .18s ease}.toggle--on{background:linear-gradient(135deg,var(--b7),var(--b5))}.toggle__knob{position:absolute;top:3px;left:3px;width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0000004d;transition:transform .18s ease}.toggle--on .toggle__knob{transform:translate(22px)}.term-toggle{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.term-toggle__opt{position:relative;text-align:left;cursor:pointer;border:2px solid var(--g3);border-radius:var(--r2);background:var(--g0);padding:18px 20px;display:flex;flex-direction:column;gap:3px;transition:border-color .15s ease,box-shadow .15s ease}.term-toggle__opt.is-active{border-color:var(--b5);box-shadow:var(--sh-blue)}.term-toggle__name{font-weight:700;font-size:17px;color:var(--g9)}.term-toggle__meta{font-size:13px;color:var(--g5)}.term-toggle__badge{position:absolute;top:-11px;right:14px;background:linear-gradient(135deg,var(--o4),var(--o5));color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;box-shadow:var(--sh-orange)}.panel--install{padding:20px 28px}.install-line{display:flex;align-items:center;justify-content:space-between;gap:20px}.install-line__info{min-width:0}.install-line__price{text-align:right;flex:0 0 auto;white-space:nowrap}.install-line__amount{font-size:20px;font-weight:800;color:var(--b7);white-space:nowrap}.install-line__price .muted{font-size:13px;font-weight:500}.install-line__math{font-size:12.5px;font-weight:600;color:var(--g5);margin-top:2px}.quote-wrap{min-width:0;position:sticky;top:92px}.quote-handle{display:none}.quote-panel{background:var(--g0);border:1px solid var(--g3);border-radius:var(--r3);box-shadow:var(--sh-card);padding:24px;overflow:hidden}.quote-panel__title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:16px}.quote-panel__title h2{font-size:19px}.quote-panel__for{font-size:12.5px;color:var(--g5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}.quote-blurable{position:relative;border-radius:var(--r2)}.quote-blurable--locked{min-height:490px}.quote-content{transition:filter .4s ease}.quote-content.is-blurred{filter:blur(9px);pointer-events:none;-webkit-user-select:none;user-select:none}.quote-content--pop{animation:pop-in .55s cubic-bezier(.16,1,.3,1) both}@keyframes pop-in{0%{transform:scale(.965);opacity:.35}60%{transform:scale(1.012);opacity:1}to{transform:scale(1);opacity:1}}.quote-panel--celebrate{animation:glow-pulse 1.1s ease-out}@keyframes glow-pulse{0%{box-shadow:var(--sh-card)}40%{box-shadow:0 0 0 4px #2d8fe847,var(--sh-blue)}to{box-shadow:var(--sh-card)}}.qline{animation:qline-in .32s ease both}@keyframes qline-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.qgroup{margin-bottom:16px}.qgroup__head{display:flex;justify-content:space-between;font-weight:700;color:var(--g8);font-size:14px;padding-bottom:8px;border-bottom:2px solid var(--g2);margin-bottom:8px}.qgroup--collapsed .qgroup__head{border-bottom:none;padding-bottom:0;margin-bottom:0}.qline{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:14px}.qline--empty{padding:4px 0}.qline__name{color:var(--g6)}.qline__qty{color:var(--g4);font-weight:600}.qline__amt{color:var(--g8);font-weight:600;white-space:nowrap}.qtotals{margin-top:18px;padding-top:16px;border-top:2px dashed var(--g3)}.qtotals__save{background:#fff7ec;color:var(--o5);border:1px solid var(--o3);font-size:13px;font-weight:700;text-align:center;padding:8px;border-radius:var(--r1);margin-bottom:12px}.qtotals__row{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;font-weight:700;color:var(--g8);padding:6px 0}.qtotals__row--muted{font-size:13px;font-weight:500;color:var(--g5)}.qtotals__row--due{margin-top:8px;padding:12px 14px;background:linear-gradient(135deg,var(--b7),var(--b5));color:#fff;border-radius:var(--r2);font-size:16px}.qtotals__row--due .qtotals__val{color:#fff}.qtotals__val{font-size:20px;font-weight:800;color:var(--b7)}.qtotals__unit{font-size:13px;font-weight:600;color:var(--g5);margin-left:2px}.qtotals__fine{margin-top:12px;font-size:11.5px;color:var(--g4);font-style:italic}.quote-actions{margin-top:20px}.send-msg{margin-top:12px;font-size:13px;padding:10px 12px;border-radius:var(--r1)}.send-msg--ok{background:#ecfdf3;color:#067647;border:1px solid #ABEFC6}.send-msg--warn{background:#fff7ec;color:var(--o5);border:1px solid var(--o3)}.send-msg--error{background:#fef3f2;color:#b42318;border:1px solid #FECDCA}.gate{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:12px;z-index:5}.gate:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#f8fafc8c;border-radius:var(--r2)}.gate__card{position:relative;z-index:1;text-align:center;background:var(--g0);border:1px solid var(--g3);border-radius:var(--r3);box-shadow:var(--sh-card);padding:26px 22px;max-width:340px;width:100%}.gate__icon{font-size:30px;margin-bottom:6px}.gate__title{font-size:18px;font-weight:800;color:var(--g9)}.gate__sub{font-size:13.5px;color:var(--g5);margin-top:8px;line-height:1.5}.gate__form{display:flex;flex-direction:column;gap:10px;margin-top:16px}.gate__input{font-family:var(--font);font-size:15px;padding:13px 15px;border:1.5px solid var(--g3);border-radius:var(--r1);color:var(--g8);background:var(--g0);transition:border-color .15s ease}.gate__input:focus{outline:none;border-color:var(--b5)}.gate__input--err{border-color:#f04438}.gate__btn{padding:13px 20px;font-size:15px}.gate__err{color:#b42318;font-size:12.5px;margin-top:8px}.gate__fine{color:var(--g4);font-size:11.5px;margin-top:12px}.step-progress{width:100%;max-width:1200px;margin:0 auto;padding:26px 24px 10px}.step-progress__list{list-style:none;display:flex;position:relative;padding:0;width:fit-content;max-width:100%;margin:0 auto;gap:40px}.step-progress__track{position:absolute;top:18px;left:18px;right:18px;height:3px;background:var(--g3);border-radius:2px}.step-progress__fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,var(--b7),var(--b5));border-radius:2px;transition:width .4s ease}.step-progress__item{flex:0 0 auto;display:flex;justify-content:center;align-items:center;position:relative;z-index:1}.step-progress__dot{width:38px;height:38px;border-radius:50%;border:2px solid var(--g3);background:var(--g0);color:var(--g5);font-weight:700;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .18s ease,box-shadow .18s ease,transform .12s ease}.step-progress__dot:hover{border-color:var(--b5)}.step-progress__dot:active{transform:scale(.94)}.step-progress__item--done .step-progress__dot{background:linear-gradient(135deg,var(--b7),var(--b5));border-color:transparent;color:#fff}.step-progress__item--current .step-progress__dot{border-color:var(--b5);color:var(--b7);box-shadow:0 0 0 4px #2d8fe82e}.step-progress__current{text-align:center;margin-top:12px;font-size:14px}.step-progress__cnum{color:var(--g5);font-weight:600}.step-progress__cnum:after{content:" · ";color:var(--g4)}.step-progress__clabel{color:var(--g9);font-weight:700}.step-progress__mobile{display:none}.builder-step{animation:step-in .32s cubic-bezier(.16,1,.3,1) both}@keyframes step-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.step-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.install-line__name{font-weight:700;font-size:16px;color:var(--g9)}.review-cta{margin-top:20px}.review-cta__hint{font-size:14px;color:var(--g5);background:var(--g1);border:1px solid var(--g2);border-radius:var(--r2);padding:14px 16px;text-align:center;line-height:1.5}.site-footer{border-top:1px solid var(--g2);background:var(--g0);padding:20px 24px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:13px;color:var(--g6)}@media(max-width:900px){.layout{grid-template-columns:1fr;padding-bottom:96px}.site-header__inner{gap:14px;padding:12px 18px}.site-header__titles h1{font-size:18px}.site-header__titles p{display:none}.step-progress{padding:16px 20px 6px}.step-progress__list,.step-progress__current{display:none}.step-progress__mobile{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.step-progress__count{font-size:13px;font-weight:700;color:var(--b7)}.step-progress__mlabel{font-size:15px;font-weight:700;color:var(--g9)}.step-progress__mbar{flex-basis:100%;height:6px;background:var(--g3);border-radius:3px;overflow:hidden}.step-progress__mbar span{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--b7),var(--b5));transition:width .4s ease}.quote-wrap{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:40;background:var(--g0);border-top:1px solid var(--g3);box-shadow:0 -6px 24px #0000001f;border-radius:var(--r3) var(--r3) 0 0;max-height:85vh;display:flex;flex-direction:column}.quote-handle{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;background:transparent;cursor:pointer;padding:16px 20px;font-family:var(--font)}.quote-handle__label{font-weight:700;font-size:16px;color:var(--g9)}.quote-handle__amt{font-weight:800;font-size:18px;color:var(--b7);display:flex;align-items:center;gap:8px}.quote-handle__chev{color:var(--g5);font-size:14px}.quote-panel{display:none;border:none;box-shadow:none;border-radius:0;overflow-y:auto;padding-top:0}.quote-wrap--open .quote-panel{display:block}.quote-panel__title{display:none}}@media(min-width:901px){.quote-handle{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.btn:hover:not(:disabled),.btn:active:not(:disabled),.product-card:hover{transform:none!important}}
