:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;color:#16232c;background:#f9f9f9;--accent: #337fa8;--accent-strong: #285f7d;--accent-border: #398ebc;--text-primary: #16232c;--text-secondary: rgba(22, 35, 44, .62);--surface: #ffffff;--surface-muted: #f3f7fa;--surface-border: rgba(57, 142, 188, .35);--success: #2f9e64;--success-bg: rgba(47, 158, 100, .08);--success-border: rgba(47, 158, 100, .32);--error: #c94a4a;--error-bg: rgba(201, 74, 74, .07);--error-border: rgba(201, 74, 74, .32);--radius-card: 1rem;--radius-control: .6rem}*{box-sizing:border-box}html{min-width:20rem;min-height:100%;background:#f9f9f9}body{min-width:20rem;min-height:100vh;min-height:100dvh;margin:0;font-size:1rem;line-height:1.5;color:var(--text-primary);background:#f9f9f9}button,input,select{font:inherit}.app-shell{width:min(92rem,calc(100% - 2rem));margin:0 auto;padding:clamp(2rem,6vw,5.5rem) 0}.app-header{max-width:48rem;margin-bottom:clamp(1.75rem,4vw,3rem)}.factory-brand{display:inline-flex;gap:.7rem;align-items:center;margin-bottom:1rem}.factory-logo,.factory-logo-fallback{width:2.25rem;height:2.25rem;flex:0 0 auto;border:1px solid var(--surface-border);border-radius:.75rem;background:#fff}.factory-logo{display:block;object-fit:contain}.factory-logo-fallback{display:grid;place-items:center;color:#fff;background:var(--accent);font-size:.92rem;font-weight:780}.app-kicker{margin:0;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{max-width:44rem;margin-bottom:.75rem;color:var(--text-primary);font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:660;letter-spacing:-.03em;line-height:1.05}.app-intro{margin-bottom:0;color:var(--text-secondary);font-size:clamp(1rem,2vw,1.18rem)}.calculator-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:stretch}.glass-card{position:relative;overflow:hidden;border:1px solid var(--surface-border);border-radius:var(--radius-card);background:var(--surface);box-shadow:0 1px 2px #16232c0a}.form-card,.result-card,.preview-card,.hangar-card{min-height:32rem;padding:clamp(1.5rem,3.5vw,2.5rem)}fieldset{min-width:0;margin:0;padding:0;border:0}legend,.result-heading{display:flex;align-items:center;gap:.75rem;width:100%;margin-bottom:2rem;padding:0;color:var(--text-primary);font-size:1.18rem;font-weight:640;letter-spacing:-.01em}.section-index{display:inline-grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border:1px solid var(--accent-border);border-radius:50%;color:var(--accent);background:var(--surface-muted);font-size:.72rem;font-weight:750;letter-spacing:.04em}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}.field-group{display:grid;gap:.5rem}.field-group-wide{grid-column:1 / -1}.field-group label,.checkbox-field{color:#16232cc7;font-size:.9rem;font-weight:540}.field-group input{width:100%;min-height:3rem;padding:.72rem 1rem;border:1px solid var(--surface-border);border-radius:var(--radius-control);outline:none;color:var(--text-primary);background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.field-group input[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.field-group input[type=number]::-webkit-inner-spin-button,.field-group input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.field-group select{width:100%;min-height:3rem;padding:.72rem 2.75rem .72rem 1rem;border:1px solid var(--surface-border);border-radius:var(--radius-control);outline:none;color:var(--text-primary);background:linear-gradient(45deg,transparent 50%,var(--accent) 50%) calc(100% - 1.15rem) 50% / .42rem .42rem no-repeat,linear-gradient(135deg,var(--accent) 50%,transparent 50%) calc(100% - .85rem) 50% / .42rem .42rem no-repeat,#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color .18s ease,box-shadow .18s ease}.field-group input::placeholder{color:#16232c57}.field-hint{color:var(--text-secondary);font-size:.78rem;line-height:1.4}.field-group input:hover,.field-group select:hover{border-color:var(--accent-border)}.field-group input:focus-visible,.field-group select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #337fa829}.load-reference{color:var(--accent);font-size:.82rem;font-weight:650}.load-warning{margin:0;padding:.85rem 1rem;border:1px solid var(--surface-border);border-radius:var(--radius-control);color:var(--text-secondary);background:var(--surface-muted);font-size:.82rem;line-height:1.45}.catalog-selector{display:grid;gap:1rem;margin-top:1.15rem}.catalog-group{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--surface-border);border-radius:.9rem;background:var(--surface-muted)}.catalog-group-heading{display:flex;gap:1rem;align-items:center;justify-content:space-between}.catalog-group-heading h3{margin:0;color:var(--text-primary);font-size:1rem}.catalog-add,.catalog-remove{min-height:2.5rem;border:1px solid var(--accent);color:var(--accent);background:#fff;font-size:.84rem}.catalog-add:hover,.catalog-remove:hover{color:#fff;background:var(--accent)}.catalog-add{gap:.75rem;padding:.55rem .8rem .55rem 1rem}.catalog-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(5.5rem,.28fr) auto;gap:.75rem;align-items:end}.catalog-row .field-group>span{color:#16232cc7;font-size:.82rem}.catalog-remove{width:3rem;min-height:3rem;padding:0;justify-content:center;border-color:var(--error);color:var(--error);font-size:1.25rem}.catalog-remove:hover{color:#fff;background:var(--error)}.form-actions{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-top:2rem}.checkbox-field{display:inline-flex;gap:.65rem;align-items:center;cursor:pointer}.checkbox-field input{width:1.15rem;height:1.15rem;margin:0;accent-color:var(--accent)}button{display:inline-flex;min-height:3rem;gap:1.75rem;align-items:center;justify-content:space-between;padding:.72rem 1.15rem .72rem 1.35rem;border:1px solid var(--accent);border-radius:var(--radius-control);color:#fff;background:var(--accent);font-weight:680;cursor:pointer;transition:background .16s ease,color .16s ease}button:hover{color:var(--accent);background:#fff}button:active{background:var(--surface-muted)}button:disabled{cursor:not-allowed;opacity:.45}button:disabled:hover{color:#fff;background:var(--accent)}button:focus-visible,.checkbox-field input:focus-visible{outline:3px solid rgba(51,127,168,.4);outline-offset:3px}.result-card,.preview-card,.hangar-card{display:flex;flex-direction:column;transition:border-color .2s ease}.lead-card,.price-card{display:flex;grid-column:1 / -1;min-height:25rem;flex-direction:column;padding:clamp(1.5rem,3.5vw,2.5rem)}.price-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0}.price-line{display:flex;min-width:0;min-height:9rem;flex-direction:column;justify-content:space-between;padding:1.15rem;border:1px solid var(--surface-border);border-radius:.9rem;background:var(--surface-muted)}.price-line-featured{border-color:var(--success-border);background:var(--success-bg)}.price-line dt{display:grid;gap:.25rem}.price-line dt strong{color:var(--text-primary);font-size:.95rem}.price-line dt span{color:var(--text-secondary);font-size:.74rem}.price-line dd{margin:1.5rem 0 0;color:var(--text-primary);font-size:clamp(1rem,2vw,1.3rem);font-weight:650;letter-spacing:-.02em;line-height:1.25}.price-line-featured dd{color:var(--success);font-size:clamp(1.65rem,3vw,2.3rem)}.price-total-block{display:flex;min-width:0;flex-direction:column;gap:.4rem;padding:1.5rem 1.75rem;border:1px solid var(--success-border);border-radius:.9rem;background:var(--success-bg)}.price-total-block strong{color:var(--text-secondary);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.price-total-value{color:var(--success);font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:650;letter-spacing:-.02em;line-height:1.15}.price-note{max-width:48rem;margin:auto 0 0;padding-top:1.75rem;color:var(--text-secondary);font-size:.84rem}.hangar-openings-legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin:.5rem 0 0;padding:0;list-style:none}.hangar-openings-legend-item{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.82rem}.hangar-openings-legend-swatch{display:inline-block;width:.85rem;height:.85rem;border-radius:.25rem;border:1px solid rgba(22,35,44,.18)}.lead-form-fields{display:flex;flex:1;flex-direction:column}.lead-intro{max-width:42rem;margin-bottom:1.5rem;color:var(--text-secondary)}.lead-channel-field{max-width:calc(50% - .575rem)}.lead-questionnaire{margin-top:1.35rem;border:1px solid var(--surface-border);border-radius:.9rem;background:#fff;overflow:hidden}.lead-questionnaire>summary,.questionnaire-section>summary{cursor:pointer;color:var(--text-primary);font-weight:650;list-style-position:inside}.lead-questionnaire>summary{padding:1rem 1.15rem}.lead-questionnaire[open]>summary{border-bottom:1px solid var(--surface-border);background:var(--surface-muted)}.lead-questionnaire-content{padding:1rem 1.15rem 1.2rem}.lead-questionnaire-content>p{max-width:48rem;margin:0 0 1rem;color:var(--text-secondary);font-size:.86rem;line-height:1.5}.questionnaire-fields{display:grid;gap:1.1rem}.questionnaire-section{border:1px solid var(--surface-border);border-left:3px solid var(--accent-border);border-radius:.75rem;background:var(--surface-muted);overflow:hidden}.questionnaire-section>summary{padding:.85rem 1rem;font-size:.92rem}.questionnaire-section[open]>summary{color:var(--accent);border-bottom:1px solid var(--surface-border);background:#fff}.questionnaire-section-content{display:grid;gap:0;padding:.25rem 1rem .9rem}.questionnaire-text-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:.35rem 0 .75rem}.questionnaire-text-field,.questionnaire-number-field,.questionnaire-comments,.questionnaire-note{display:grid;gap:.4rem;color:#16232cc7;font-size:.84rem;font-weight:540}.questionnaire-number-field{grid-template-columns:minmax(0,1fr) minmax(7rem,12rem);align-items:center;padding:.7rem 0;border-bottom:1px solid rgba(22,35,44,.09)}.questionnaire-text-field input,.questionnaire-number-field input,.questionnaire-note input,.questionnaire-comments textarea{width:100%;min-height:2.55rem;padding:.6rem .8rem;border:1px solid var(--surface-border);border-radius:.6rem;outline:none;color:var(--text-primary);background:#fff;font:inherit;transition:border-color .18s ease,box-shadow .18s ease}.questionnaire-comments textarea{resize:vertical}.questionnaire-text-field input:focus-visible,.questionnaire-number-field input:focus-visible,.questionnaire-note input:focus-visible,.questionnaire-comments textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #337fa824}.questionnaire-question{display:grid;gap:.55rem;margin:0;padding:.75rem 0;border:0;border-bottom:1px solid rgba(22,35,44,.09)}.questionnaire-question legend{padding:0;color:#16232cd1;font-size:.86rem;font-weight:560}.questionnaire-answer-row,.questionnaire-options{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.questionnaire-answer-row{justify-content:space-between}.questionnaire-options label{display:inline-flex;gap:.35rem;align-items:center;padding:.38rem .62rem;border:1px solid var(--surface-border);border-radius:999px;color:var(--text-secondary);background:#fff;cursor:pointer;font-size:.78rem}.questionnaire-options label:has(input:checked){border-color:var(--accent);color:#fff;background:var(--accent)}.questionnaire-options input{accent-color:var(--accent)}button.questionnaire-clear{min-height:auto;padding:.3rem .15rem;border:0;border-radius:0;color:#16232c94;background:transparent;font-size:.74rem;font-weight:560}button.questionnaire-clear:hover{color:var(--accent);background:transparent}.questionnaire-note{max-width:32rem}.questionnaire-comments{margin-top:.4rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lead-actions{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;margin-top:auto;padding-top:2rem}.lead-actions>p{max-width:30rem;margin:0;color:var(--text-secondary);font-size:.86rem}.lead-error{margin:1rem 0 0;padding:.85rem 1rem;border:1px solid var(--error-border);border-radius:var(--radius-control);color:var(--error);background:var(--error-bg)}.lead-success{display:flex;flex:1;gap:1.2rem;align-items:center;justify-content:center;padding:2rem;text-align:left}.lead-success-mark{display:grid;width:4rem;height:4rem;flex:0 0 auto;place-items:center;border:1px solid var(--success-border);border-radius:50%;color:#fff;background:var(--success);font-size:1.45rem;font-weight:800}.lead-success strong{display:block;margin-bottom:.35rem;color:var(--text-primary);font-size:clamp(1.35rem,3vw,2rem);letter-spacing:-.02em}.lead-success p{margin:0;color:var(--text-secondary)}.result-heading{flex:0 0 auto}.result-heading h2{margin:0;font:inherit}.status-indicator{width:.55rem;height:.55rem;margin-left:auto;border-radius:50%;background:#16232c3d;transition:background .2s ease}.glass-card[data-state=success]{border-color:var(--success-border);background:var(--success-bg)}.glass-card[data-state=success] .status-indicator{background:var(--success)}.glass-card[data-state=error]{border-color:var(--error-border);background:var(--error-bg)}.glass-card[data-state=error] .status-indicator{background:var(--error)}.empty-state,.error-state{display:grid;flex:1;place-content:center;justify-items:center;text-align:center}.empty-state p{max-width:16rem;margin:1rem 0 0;color:var(--text-secondary)}.empty-mark,.error-mark{display:grid;width:3.5rem;height:3.5rem;place-items:center;border:1px solid var(--surface-border);border-radius:50%;color:#16232c75;background:var(--surface-muted);font-size:1.35rem}.error-state{grid-template-columns:auto minmax(0,22rem);gap:1rem;align-content:center;justify-items:start;text-align:left}.error-mark{border-color:var(--error-border);color:var(--error);background:var(--error-bg);font-weight:750}.error-state strong{display:block;margin-bottom:.35rem;color:var(--error);font-size:1.08rem}.error-state p{margin-bottom:0;color:#16232cb3}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.metric{min-width:0;padding:1rem;border:1px solid var(--surface-border);border-radius:.9rem;background:var(--surface-muted)}.metric dt{margin-bottom:.4rem;color:var(--text-secondary);font-size:.78rem;font-weight:560;line-height:1.3}.metric dd{margin:0;color:var(--text-primary);font-size:clamp(1.2rem,2vw,1.55rem);font-weight:680;letter-spacing:-.02em;line-height:1.15}.metric dd span{color:var(--text-secondary);font-size:.82rem;font-weight:520;letter-spacing:0}.metric-featured{display:flex;grid-column:1 / -1;align-items:center;justify-content:space-between;min-height:6.4rem;padding:1.2rem 1.25rem;border-color:var(--success-border);background:var(--success-bg)}.metric-featured dt{max-width:8rem;margin:0}.metric-featured dd{color:var(--success);font-size:clamp(1.7rem,3vw,2.35rem)}.arch-preview-frame{display:grid;flex:1;min-height:15rem;place-items:center;padding:1rem .25rem 0;border:1px solid var(--surface-border);border-radius:.9rem;background:var(--surface-muted)}.arch-preview{display:block;width:100%;height:auto;overflow:visible}.arch-preview-fill{fill:#337fa814}.arch-preview-curve,.arch-preview-ground,.arch-preview-dimension,.arch-preview-extension,.arch-preview-tick{vector-effect:non-scaling-stroke}.arch-preview-curve{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-width:2.5}.arch-preview-ground{stroke:#16232c8c;stroke-linecap:round;stroke-width:1.5}.arch-preview-dimension,.arch-preview-extension,.arch-preview-tick{stroke:#16232c4d;stroke-width:1}.arch-preview-dimension{stroke-dasharray:4 4}.arch-preview-label{fill:var(--text-secondary);font-family:inherit;font-weight:560;letter-spacing:.01em}.arch-preview-rise-label{dominant-baseline:middle}.hangar-preview-frame{position:relative;flex:1;min-height:24rem;overflow:hidden;border:1px solid var(--surface-border);border-radius:.9rem;background:var(--surface-muted)}.hangar-preview-frame canvas{display:block;width:100%!important;height:100%!important;touch-action:none;cursor:grab}.hangar-preview-frame canvas:active{cursor:grabbing}.hangar-preview-hints{position:absolute;right:.8rem;bottom:.8rem;left:.8rem;display:grid;gap:.4rem;justify-items:center;pointer-events:none}.hangar-preview-hint{display:flex;width:fit-content;max-width:calc(100% - 1.6rem);gap:.5rem;align-items:center;margin:0 auto;padding:.52rem .78rem;border:1px solid var(--surface-border);border-radius:999px;color:var(--text-secondary);background:#fff;box-shadow:0 .4rem 1rem #16232c14;font-size:.72rem;line-height:1.2}.hangar-preview-hint-icon{color:var(--accent);font-size:.95rem}.hangar-preview-scale-hint{max-width:min(100%,34rem);margin:0;color:var(--text-secondary);font-size:.65rem;line-height:1.35;text-align:center}@media (max-width: 74rem){.form-card,.result-card,.preview-card,.hangar-card,.price-card,.lead-card{min-height:auto}}@media (max-width: 54rem){.calculator-layout{grid-template-columns:1fr}.form-card,.result-card,.preview-card,.hangar-card,.price-card,.lead-card{min-height:auto}.result-card{min-height:26rem}.preview-card{min-height:24rem}.hangar-card{min-height:28rem}}@media (max-width: 36rem){.app-shell{width:min(100% - 1rem,34rem);padding:1.5rem 0 2.5rem}.form-card,.result-card,.preview-card,.hangar-card,.price-card,.lead-card{padding:1.25rem;border-radius:1rem}.form-grid,.result-grid,.price-breakdown{grid-template-columns:1fr}.field-group-wide,.metric-featured{grid-column:auto}.catalog-row{grid-template-columns:1fr}.catalog-remove{width:100%}.form-actions{align-items:stretch;flex-direction:column}.lead-channel-field{max-width:none}.questionnaire-text-grid,.questionnaire-number-field{grid-template-columns:1fr}button.questionnaire-clear{width:auto}.lead-actions{align-items:stretch;flex-direction:column}.lead-success{align-items:center;flex-direction:column;text-align:center}button{width:100%}.error-state{grid-template-columns:1fr;justify-items:center;text-align:center}.hangar-preview-frame{min-height:21rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
