/* The product uses the shared Soft Express colour system in both themes. */
.product-hero__main>p:not(.signal-label)+p{margin-top:18px}.spec-button{width:100%;display:grid;grid-template-columns:35px 1fr 24px;align-items:center;gap:4px 12px;text-align:left;border:0;color:var(--ink);background:transparent;padding:18px 10px;border-radius:14px;cursor:pointer;transition:background .2s,transform .2s}.product-spec li{display:block;padding:0;min-height:0}.spec-button>span:first-child{grid-row:1/3;font:700 11px var(--mono);color:var(--accent)}.spec-button strong{font-size:17px}.spec-button small{grid-column:2;color:var(--muted);font-size:13px}.spec-arrow{grid-column:3;grid-row:1/3;color:var(--accent);font-size:22px;transition:transform .2s}.spec-button:hover,.spec-button:focus-visible{background:rgba(var(--accent-rgb),.08)}.spec-button:hover .spec-arrow{transform:translate(3px,-3px)}
.role-grid article{padding:0;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.role-button{display:flex;flex-direction:column;width:100%;height:100%;min-height:360px;text-align:left;padding:26px;border:0;color:var(--ink);background:transparent;cursor:pointer}.role-button>span:first-child{color:var(--accent);font:700 10px var(--mono);letter-spacing:.13em}.role-button h3{margin-top:auto;padding-top:40px}.role-button p{margin-bottom:25px}.role-open{display:flex;justify-content:space-between;gap:15px;width:100%;padding-top:18px;border-top:1px solid var(--line);font-size:13px;font-weight:600}.role-open>span{color:var(--accent)}.role-grid article:hover,.role-grid article:focus-within{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 14px 30px rgba(var(--accent-rgb),.08)}
.package-card{position:relative;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.package-card:hover{transform:translateY(-6px);border-color:var(--line-strong)}.package-card.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 16px 60px rgba(var(--accent-rgb),.09)}.package-selection{display:none;position:absolute;top:20px;right:20px;padding:7px 10px;border-radius:20px;background:var(--accent);color:var(--bg);font:700 9px var(--mono);text-transform:uppercase}.is-selected .package-selection{display:block}.package-select{display:block;text-align:left;color:var(--ink);background:transparent;border:0;padding:0;cursor:pointer;font:inherit}.package-card .package-select h3{margin:48px 0 20px}.package-configure{margin-top:auto;padding:24px 0 0;border:0;border-top:1px solid var(--line);color:var(--ink);background:transparent;display:flex;justify-content:space-between;gap:16px;font:700 15px var(--sans);cursor:pointer;text-align:left}.package-configure span{color:var(--accent)}
.product-dialog{--dialog-bg:var(--bg);box-sizing:border-box;width:min(1120px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:0;border:1px solid var(--line-strong);border-radius:28px;color:var(--ink);background:var(--dialog-bg);box-shadow:0 40px 160px #0005;overscroll-behavior:contain;scrollbar-width:thin}.product-dialog::backdrop{background:#060b14b8;backdrop-filter:blur(12px)}body:has(.product-dialog[open]){overflow:hidden}.dialog-header{position:sticky;z-index:3;top:0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 28px;background:var(--dialog-bg);border-bottom:1px solid var(--line)}.dialog-header .signal-label{margin:0}.dialog-close{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);color:var(--ink);background:var(--surface);font-size:26px;cursor:pointer}.dialog-close:hover{background:var(--accent);color:var(--bg)}.dialog-intro{color:var(--muted);font-size:16px;line-height:1.65;max-width:680px}.product-dialog h2{margin:10px 0 18px;font-size:clamp(30px,4vw,52px);line-height:1.04;letter-spacing:-.045em}.eyebrow{font:700 10px var(--mono);color:var(--accent);letter-spacing:.1em;text-transform:uppercase}.explanation-layout{padding:32px;display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:start}.explanation-copy p{color:var(--muted);line-height:1.65}.explanation-copy dl{margin:28px 0}.explanation-copy dl div{padding:15px 0;border-top:1px solid var(--line)}.explanation-copy dt{color:var(--accent);font:700 10px var(--mono);text-transform:uppercase;margin-bottom:8px}.explanation-copy dd{margin:0;font-size:14px;line-height:1.6}.explanation-footer{padding:0 32px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px}.explanation-footer a{font-size:13px;color:var(--muted)}
.demo-window{border:1px solid var(--line-strong);border-radius:20px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.demo-window__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);font:700 9px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.window-dots{display:flex;gap:5px}.window-dots i{width:6px;height:6px;border-radius:50%;background:var(--line-strong)}.mini-body{padding:22px;min-height:310px}.mini-caption{display:block;color:var(--faint);font:700 9px var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px}.mini-body h3{font-size:23px;line-height:1.15;letter-spacing:-.03em;margin:8px 0 18px}.mini-field{border:1px solid var(--line);padding:13px 14px;border-radius:12px;margin-bottom:10px;background:var(--bg)}.mini-field small{display:block;color:var(--muted);font-size:10px;margin-bottom:4px}.mini-field b{font-weight:500;font-size:13px}.mini-action{display:block;padding:13px 16px;margin-top:18px;border:1px solid var(--accent);border-radius:12px;background:var(--accent);color:var(--bg);cursor:pointer;font:700 12px var(--sans)}.mini-action:disabled{opacity:.65;cursor:default}.demo-feedback{padding:14px;margin:14px 0 0;background:rgba(var(--accent-rgb),.07);border:1px solid var(--line);border-radius:12px;line-height:1.5;font-size:13px}.demo-note{margin:16px 0 0;color:var(--faint);font-size:11px;line-height:1.5}.mini-status{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:20px;border:1px solid var(--line);color:var(--accent);font:700 9px var(--mono);text-transform:uppercase}.mini-status:before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.mini-row{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:13px}.mini-row small{display:block;color:var(--muted);margin-top:4px;line-height:1.5}.mini-row>b{font-size:12px;font-weight:500}.mini-check{display:flex;align-items:flex-start;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);cursor:pointer;font-size:13px;line-height:1.4}.mini-check input{accent-color:var(--accent);width:17px;height:17px;flex:none;margin:0}.mini-check:has(input:checked){color:var(--muted)}.mini-check:has(input:checked)>span{text-decoration:line-through}.mini-check small{display:block;font-size:11px;margin-top:5px;color:var(--muted)}.mini-meter{height:5px;background:var(--line);border-radius:10px;overflow:hidden;margin-top:16px}.mini-meter span{height:100%;display:block;width:33%;background:var(--accent);transition:width .25s}.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.mini-metrics>div{padding:15px 9px;border:1px solid var(--line);border-radius:12px}.mini-metrics strong{display:block;font-size:26px}.mini-metrics span{color:var(--muted);font-size:9px}.mini-filter{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.mini-filter button{border:1px solid var(--line);border-radius:20px;padding:8px 10px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px}.mini-filter button[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.mini-alert{border-left:2px solid var(--accent);padding:12px;margin:12px 0;background:rgba(var(--accent-rgb),.05);font-size:12px;line-height:1.6}.mini-alert b{display:block}.mini-route{display:flex;justify-content:space-between;gap:8px;margin:20px 0}.mini-route span{flex:1;position:relative;border-top:3px solid var(--line);padding-top:12px;color:var(--muted);font-size:9px}.mini-route span.done{border-color:var(--accent);color:var(--ink)}
.configuration-progress{display:flex;gap:15px;align-items:center;padding:20px 30px;border-bottom:1px solid var(--line)}.configuration-progress button{padding:0;border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}.configuration-progress b{margin-right:8px;color:inherit;font:700 10px var(--mono)}.configuration-progress [aria-current]{color:var(--accent)}.configuration-progress>span{color:var(--faint)}.configuration-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start}.configuration-main{padding:32px}.package-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:25px 0}.package-switch button{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--muted);text-align:left;padding:14px 10px;cursor:pointer;font-size:12px}.package-switch button span{display:block;font:700 9px var(--mono);margin-bottom:6px}.package-switch button[aria-pressed=true]{border-color:var(--accent);color:var(--ink);background:rgba(var(--accent-rgb),.06)}.option-group{padding:0;margin:25px 0;border:0;min-width:0}.option-group legend{font:700 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.configuration-option{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) 44px;align-items:start;gap:12px;border:1px solid var(--line);border-radius:15px;padding:16px;margin-bottom:8px;transition:border-color .2s,background .2s}.configuration-option:has(input:checked){border-color:rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.035)}.configuration-option label{cursor:pointer}.configuration-option input{accent-color:var(--accent);width:18px;height:18px;margin:2px 0}.configuration-option input:disabled{opacity:.65}.configuration-option strong{font-size:13px;line-height:1.4;font-weight:600}.configuration-option small{display:block;font-size:11px;line-height:1.55;color:var(--muted);margin-top:5px}.included-label{display:inline-block;color:var(--accent);font:700 8px var(--mono);text-transform:uppercase;letter-spacing:.04em;margin-left:6px}.option-details{grid-column:2/4;font-size:12px;color:var(--muted);line-height:1.65}.option-details summary{cursor:pointer;display:inline-block;color:var(--ink);font-size:10px;text-decoration:underline;text-underline-offset:3px}.option-details p{margin:8px 0 0}.option-symbol{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:var(--accent);background:rgba(var(--accent-rgb),.07)}.option-symbol svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.configuration-summary{position:sticky;top:85px;padding:25px 22px;background:var(--surface);border-left:1px solid var(--line);min-height:500px}.summary-top{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.summary-top .signal-label{font-size:9px;margin:0}.summary-live{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}.summary-live i{width:5px;height:5px;background:var(--accent);border-radius:50%}.configuration-summary h3{font-size:26px;line-height:1.1;letter-spacing:-.03em;margin:20px 0}.system-map{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--bg)}.system-map>span{grid-column:1/-1;text-align:center;padding:10px;border:1px solid var(--accent);color:var(--accent);border-radius:10px;font:700 9px var(--mono)}.system-map i{font-style:normal;text-align:center;border:1px solid var(--line);border-radius:8px;padding:10px 4px;font-size:9px;transition:opacity .2s}.system-map i.is-off{opacity:.25}.system-map i.is-on{background:rgba(var(--accent-rgb),.06);border-color:rgba(var(--accent-rgb),.3)}#selected-options{list-style:none;padding:0;margin:0}#selected-options li{padding:7px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.4;display:flex;justify-content:space-between;gap:10px}#selected-options li::after{content:'✓';color:var(--accent)}.summary-total{margin:20px 0 10px;display:grid;gap:6px}.summary-total strong{font-size:17px}.summary-total span,.summary-note{font-size:11px;line-height:1.6;color:var(--muted)}.configuration-summary .button{width:100%;min-height:48px;font-size:12px;padding:13px 16px;margin-top:16px}.summary-back{padding:15px 0;border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}
.form-field{display:block;margin:20px 0;color:var(--ink);font-size:13px;line-height:1.5}.form-field input,.form-field textarea{box-sizing:border-box;display:block;resize:vertical;width:100%;margin-top:8px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);padding:14px 15px;color:var(--ink);font:inherit}.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.form-field small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.optional{margin-left:5px;color:var(--faint);font-size:10px}.consent-row{display:flex;align-items:flex-start;gap:12px;line-height:1.65;font-size:12px;margin:24px 0 12px}.consent-row input{width:19px;height:19px;accent-color:var(--accent);flex:none;margin:2px 0}.consent-row a,.form-privacy a{color:var(--ink);text-underline-offset:3px}.form-privacy,.form-hint{font-size:10px;color:var(--muted);line-height:1.65}.form-error{padding:14px;border:1px solid #c86666;color:var(--ink);border-radius:12px;font-size:13px;line-height:1.5}.form-submit{width:100%;margin:18px 0 0}.trap-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.estimate-success{padding:25px 0}.estimate-success p{font-size:15px;color:var(--muted);line-height:1.65}.success-orbit{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;border:1px solid var(--accent);background:rgba(var(--accent-rgb),.06);color:var(--accent);font-size:28px;margin-bottom:28px}.product-dialog [hidden]{display:none!important}button:focus-visible,a:focus-visible,summary:focus-visible,.package-card:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.legal-document{max-width:800px;margin:80px auto;padding:0 20px 80px}.legal-document h1{font-size:clamp(32px,5vw,65px);line-height:1.05;letter-spacing:-.04em}.legal-document h2{margin-top:38px;font-size:22px;line-height:1.2}.legal-document p,.legal-document li{font-size:15px;line-height:1.85;color:var(--muted)}.legal-document a{color:var(--ink)}.legal-document .legal-version{font:11px var(--mono);color:var(--accent)}
@media(max-width:850px){.configuration-layout{grid-template-columns:minmax(0,1fr) 270px}.configuration-main{padding:25px}.explanation-layout{grid-template-columns:1fr}.explanation-copy{order:-1}.mini-body{min-height:260px}}@media(max-width:640px){.product-dialog{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:22px}.dialog-header{padding:14px 18px}.dialog-header .signal-label{font-size:9px}.dialog-close{width:34px;height:34px}.configuration-progress{padding:18px;gap:10px}.configuration-progress button{font-size:10px}.configuration-layout{display:flex;flex-direction:column}.configuration-main{width:100%;box-sizing:border-box;padding:25px 18px}.configuration-summary{box-sizing:border-box;position:static;order:2;width:100%;border:0;border-top:1px solid var(--line);min-height:0;padding:22px 18px}.configuration-summary .system-map{display:none}.configuration-summary #selected-options{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.summary-note{max-width:430px}.package-switch{gap:5px}.package-switch button{font-size:10px;padding:12px 8px}.configuration-option{padding:14px 12px;gap:10px}.role-button{min-height:310px}.explanation-layout{padding:24px 18px;gap:20px}.explanation-footer{padding:0 18px 22px;align-items:flex-start;flex-direction:column}.mini-body{padding:18px}.package-selection{right:15px}.product-hero__main h1{font-size:clamp(47px,12vw,75px)}}@media(prefers-reduced-motion:reduce){.spec-button,.spec-arrow,.role-grid article,.package-card,.mini-meter span{transition:none;transform:none!important}}
.package-card--accent:not(.is-selected){box-shadow:none;border-color:var(--line)}

.configuration-summary{max-height:calc(100dvh - 130px);overflow-y:auto;scrollbar-width:thin}.configuration-mobile-actions{display:none}@media(max-width:640px){.configuration-summary{max-height:none;overflow:visible}.configuration-summary #configuration-next{display:none}.configuration-mobile-actions{display:block;position:sticky;bottom:0;z-index:4;padding:12px 18px;background:var(--bg);border-top:1px solid var(--line)}.configuration-mobile-actions .button{width:100%;min-height:46px;padding:12px 16px;font-size:13px}}
