@charset "UTF-8";
:root{--ink:#163650;--text:#375266;--muted:#728392;--blue:#1769df;--blue-hover:#0c56c1;--blue-soft:#edf4ff;--line:#e3eaf0;--surface:#fff;--canvas:#f5f7fa;--success:#1c896d;--radius:16px;--shadow:0 5px 24px rgba(30,56,80,.035);font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-synthesis:none;color:var(--ink);background:var(--canvas);font-size:14px;line-height:1.6;font-weight:400}
*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,select{color:var(--ink)}a{color:inherit;text-decoration:none}button{color:inherit}button,select,input{touch-action:manipulation}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-weight:650}button{border:0}svg{display:block;max-width:100%}[hidden]{display:none!important}:focus-visible{outline:3px solid #5b9af2;outline-offset:4px}input:focus-visible,select:focus-visible{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px #1769df18}.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}.skip-link{position:fixed;left:20px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:10px 18px;border-radius:8px}.skip-link:focus{top:12px}
.site-header{background:#fff;border-bottom:1px solid var(--line)}.header-inner{max-width:1248px;margin:auto;padding:0 40px;min-height:84px;display:flex;align-items:center;gap:48px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{display:block;position:relative;width:35px;height:37px}.brand-mark i{position:absolute;width:24px;height:20px;left:5px;background:#1f6bdc;transform:skewY(-24deg) rotate(-1deg);border:1.5px solid #fff;border-radius:2px}.brand-mark i:nth-child(1){top:17px;background:#a9c9f5}.brand-mark i:nth-child(2){top:9px;background:#609ce9}.brand-mark i:nth-child(3){top:1px}.brand-name{font-size:23px;font-weight:760;letter-spacing:2px;line-height:1.05}.brand-name span{display:block;font-size:9px;font-weight:650;letter-spacing:2.3px;margin-top:7px;color:#6c7d8a}.main-nav{display:flex;gap:28px;align-items:stretch;align-self:stretch}.nav-link{position:relative;padding:0 1px;background:none;color:#647788;font-size:14px;font-weight:550;white-space:nowrap;display:flex;align-items:center;gap:6px}.nav-link:hover{color:var(--blue)}.nav-link.active{color:var(--blue)}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:3px 3px 0 0;background:var(--blue)}.nav-tag{font-size:9px;color:#6384a0;background:#edf3f7;padding:1px 5px;border-radius:4px;line-height:1.6}.demo-label{margin-left:auto;display:flex;gap:7px;align-items:center;font-size:11px;white-space:nowrap;color:#8b7853;background:#faf7ef;padding:5px 10px;border:1px solid #efe8d8;border-radius:6px}.demo-label>span{height:5px;width:5px;background:#b5985e;border-radius:50%}
.site-main{max-width:1248px;padding:0 40px 56px;margin:0 auto;min-height:calc(100vh - 184px)}.hero{display:flex;min-height:270px;gap:30px;align-items:center;padding:36px 0 32px}.hero-content{flex:1;min-width:0}.eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:600;color:#638097;letter-spacing:1.6px;margin-bottom:14px}.eyebrow>span{width:15px;height:2px;background:var(--blue)}h1{font-size:36px;line-height:1.35;letter-spacing:-1.1px;color:var(--ink)}.hero-description{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.85}.hero-points{display:flex;flex-wrap:wrap;gap:20px;margin-top:21px;color:#698090;font-size:11px}.hero-points>span:before{content:"✓";font-size:11px;color:#6991b1;margin-right:7px}.mobile-break{display:none}.film-visual{position:relative;flex:0 0 344px;align-self:center}.film-visual svg{width:100%}.visual-caption{font-size:8px;letter-spacing:2px;color:#8d9eaa;position:absolute;left:50px;top:0}.visual-legend{display:flex;gap:26px;font-size:10px;letter-spacing:1px;justify-content:center;color:#7891a5;margin-top:-3px}.visual-legend span:before{content:"";display:inline-block;width:5px;height:5px;margin-right:7px;background:#b1cbe0}.visual-legend span:nth-child(2):before{background:#79a9ce}.visual-legend span:nth-child(3):before{background:#d2dee8}
.quote-layout{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(320px,1fr);gap:24px;align-items:start}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.configurator{padding:27px 30px 23px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}.section-kicker{font-size:9px;font-weight:650;color:#91a1ae;letter-spacing:1.6px;line-height:1.5;margin-bottom:5px}h2{font-size:19px;line-height:1.5;letter-spacing:-.3px}h3{font-size:15px;line-height:1.6}.pill{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:5px;font-size:10px;font-weight:500;line-height:1.6;white-space:nowrap;background:var(--blue-soft);color:var(--blue)}.pill-neutral{background:#f4f7fa;color:#7f91a0;border:1px solid #eaf0f4}.pill-success{color:#24846d;background:#eef8f4}.pill-warning{color:#92703d;background:#fcf6eb}.form-section{border:0;padding:0;margin:0;min-width:0}.form-section+.form-section{border-top:1px solid var(--line);margin-top:27px;padding-top:24px}.form-section legend{font-size:14px;font-weight:650;margin-bottom:18px;padding:0;width:100%;display:flex;align-items:center;gap:9px;float:left}.form-section legend+*{clear:both}.step-number{font-size:10px;font-weight:600;border:1px solid #dce6ef;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:#7392aa;background:#f9fbfd;font-variant-numeric:tabular-nums}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.material-selects{grid-template-columns:1fr 1.5fr}.field{min-width:0}.field label{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;color:#4b6579;font-weight:550;gap:8px}.field label>span{font-size:10px;font-weight:400;color:#9ba8b1;display:none}input,select{width:100%;height:44px;min-width:0;border:1px solid #dae4ed;border-radius:8px;background:#fff;padding:0 13px;font-size:13px;transition:border-color .15s,box-shadow .15s}input:hover,select:hover{border-color:#a9bed0}input::placeholder{color:#a2aeba;font-weight:400}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%23788e9e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:35px;text-overflow:ellipsis}select:disabled{background-color:#f5f7f9;color:#8497a6}input[type=number]{-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-unit{position:relative}.input-unit input{padding-right:52px;font-variant-numeric:tabular-nums}.input-unit>span{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:11px;color:#8a9ca9;pointer-events:none}.field-help{font-size:11px;line-height:1.8;color:#8a9aa7;margin-top:9px}.dimension-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.direction-field{margin-top:20px}.direction-field select{max-width:100%}.material-specs{margin-top:17px}.spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#f5f8fb;border:1px solid #e8eff5;border-radius:10px;padding:17px 8px}.spec-item{text-align:center;min-width:0;padding:0 10px}.spec-item+.spec-item{border-left:1px solid #dfe8f0}.spec-item span,.spec-item label,.spec-item dt{display:block;font-size:10px;font-weight:400;color:#8195a5;margin-bottom:5px}.spec-item strong,.spec-item b,.spec-item dd{display:block;font-size:20px;font-weight:620;line-height:1.35;color:#274c6b;font-variant-numeric:tabular-nums;margin:0}.spec-item small{font-size:11px;font-weight:450;color:#7891a5}.spec-note,.material-note{font-size:10px;color:#8b9daa;margin-top:9px;line-height:1.7}.form-bottom-note{display:flex;gap:8px;border-top:1px solid var(--line);margin-top:23px;padding-top:16px;font-size:10px;color:#8c9dab;line-height:1.8;align-items:flex-start}.note-symbol{display:inline-flex;justify-content:center;align-items:center;border:1px solid #a0b1bf;width:13px;height:13px;flex:0 0 13px;font-size:9px;border-radius:50%;line-height:1;margin-top:3px;color:#8ba0b1}.error{background:#fff3f1;border:1px solid #f5c8bf;color:#b33d28;border-radius:8px;padding:11px 13px;font-size:12px;margin:15px 0;line-height:1.7}.error:empty{display:none}
.quote-sidebar{display:grid;gap:16px}.quote-summary{padding:27px 25px 22px;position:relative;overflow:hidden}.quote-summary:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#3981e1}.quote-summary .panel-heading{margin-bottom:22px}.live-label{font-size:10px;color:#8495a3;white-space:nowrap;display:flex;align-items:center;gap:6px}.live-label>span{height:5px;width:5px;border-radius:50%;background:#2e9d7e}.quote-total{background:#f2f7ff;border-radius:11px;padding:20px 20px 18px;margin-bottom:20px}.quote-total>p:first-child,.quote-total>span:first-child{font-size:11px;color:#718da8}.price{font-size:38px;letter-spacing:-1.5px;font-weight:650;color:#1e67c9;line-height:1.35;font-variant-numeric:tabular-nums;margin:6px 0}.price small{font-size:20px;font-weight:500;letter-spacing:0;margin-right:3px}.price .currency{font-size:20px;letter-spacing:0;margin-right:4px}.quote-total .muted{font-size:11px;color:#7893aa}.quote-total .unit-price{font-size:12px;color:#6d8ba5}.muted{color:var(--muted);font-size:12px;line-height:1.8}.breakdown{margin:0;padding:0;font-size:12px;list-style:none}.breakdown>div,.breakdown>li{display:flex;justify-content:space-between;gap:15px;margin:11px 0;color:#6a8194}.breakdown dt,.breakdown dd{margin:0}.breakdown>div>span:last-child,.breakdown>li>span:last-child,.breakdown dd{color:#294c68;font-variant-numeric:tabular-nums}.breakdown .subtotal{padding-top:11px;margin-top:14px;border-top:1px dashed #dce7ee;font-weight:600}.quote-meta{background:#f8fafc;border-radius:8px;padding:12px;margin-top:18px;display:grid;gap:6px;font-size:11px;color:#8194a4}.quote-meta>div{display:flex;justify-content:space-between;gap:10px}.quote-meta strong{color:#526f86;font-weight:500}.quote-actions{display:grid;gap:10px;margin-top:23px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:42px;padding:10px 18px;border-radius:8px;font-size:12px;font-weight:550;line-height:1.6;transition:background .15s,border-color .15s,transform .15s}.button:active{transform:translateY(1px)}.button-primary{background:var(--blue);color:#fff;box-shadow:0 3px 7px #1769df15}.button-primary:hover{background:var(--blue-hover)}.button-secondary{background:#fff;color:#56738a;border:1px solid #dce6ee}.button-secondary:hover{background:#f5f9fd;border-color:#b7cde0}.button-danger{background:#fff5f2;color:#b1523e;border:1px solid #f0d1c8}.button-danger:hover{background:#ffece6}.button-small{font-size:11px;padding:7px 12px;min-height:34px}.quote-actions .button-primary{justify-content:space-between;padding:12px 18px}.quote-actions .button-primary span{font-size:18px;line-height:1}.quote-disclaimer{font-size:10px;color:#94a2ae;line-height:1.9;margin-top:14px;text-align:center}.help-card{display:flex;align-items:flex-start;gap:12px;padding:19px 22px;background:#edf3f8;border:1px solid #e2ebf2;border-radius:12px}.help-icon{flex:0 0 28px;width:28px;height:28px;color:#487ba4;font-size:21px;border:1px solid #c3d7e5;border-radius:8px;display:flex;align-items:center;justify-content:center}.help-card h3{font-size:12px;font-weight:600;margin-bottom:4px}.help-card p{font-size:10px;color:#8095a5;line-height:1.8}.text-link{background:none;color:#286fb6;padding:0;font-size:11px;font-weight:550;margin-top:9px;display:inline-flex;align-items:center;gap:9px}.text-link:hover{text-decoration:underline}.process-strip{display:flex;justify-content:space-between;align-items:center;padding:30px 13px 0;gap:16px}.process-strip>div{display:flex;gap:12px;align-items:center}.process-strip>div>span{font-size:11px;font-weight:600;color:#b0bdc7;width:29px;height:29px;border:1px solid #dfe7ee;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f8fafc}.process-strip strong{display:block;font-size:11px;color:#6c8598;font-weight:550}.process-strip small{display:block;font-size:10px;color:#a1aeb8;margin-top:1px}.process-arrow{color:#c9d3dd;font-size:15px}
.page-intro{padding:45px 0 31px}.page-intro h1{font-size:30px}.page-intro>p:last-child{font-size:13px;color:var(--muted);margin-top:12px}.recommend-layout{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(0,1.3fr);gap:24px;align-items:start}.recommend-form{padding:26px}.recommend-form .panel-heading{margin-bottom:24px}.recommend-form .field-grid{gap:17px 15px}.field-wide{grid-column:1/-1}.optional-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px;margin-bottom:16px;color:#4c6a81;font-size:12px;font-weight:550}.optional-heading small{font-size:10px;font-weight:400;color:#93a3b0}.recommend-submit{width:100%;justify-content:space-between;margin-top:23px}.recommend-form>.field-help{font-size:10px;margin-top:12px}.recommend-results{min-width:0}.empty-state{padding:66px 25px;text-align:center;color:#8a9dac}.empty-state h2{color:#3a5a74;margin-bottom:12px;font-size:19px}.empty-state p{font-size:12px;line-height:1.9}.empty-state .button{margin-top:23px}.empty-symbol{width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:35px;line-height:1;color:#759abb;border:1px solid #dbe6ef;background:#f6f9fc;margin:0 auto 20px;border-radius:16px}.empty-state .section-kicker{font-size:8px;color:#a1afbb;margin-bottom:9px}.recommendation-empty{min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-image:radial-gradient(#dee7ef .6px,transparent .6px);background-size:12px 12px;background-position:center}.recommendation-empty h2,.recommendation-empty>p{background:#fff;padding:2px 8px}.empty-layer-tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:23px}.empty-layer-tags span{background:#f5f8fb;border:1px solid #e5edf3;padding:5px 9px;border-radius:5px;font-size:9px;color:#8ba0b0}.compact{padding:30px 10px}.scheme-grid{display:grid;grid-template-columns:1fr;gap:16px}.scheme-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;box-shadow:var(--shadow);position:relative}.scheme-card.recommended,.scheme-card.best-match{border-color:#91b8ed;box-shadow:0 0 0 1px #1769df08}.scheme-header,.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.scheme-header h3,.card-header h3{font-size:16px}.scheme-description{font-size:12px;color:#718a9d;margin:9px 0 15px;line-height:1.8}.scheme-layers,.layer-list{margin:16px 0;padding:0;list-style:none;display:grid;gap:8px}.scheme-layers>li,.layer-list>li{background:#f5f8fb;padding:10px 12px;border-radius:7px;font-size:12px;color:#55748c;display:flex;justify-content:space-between;gap:12px}.scheme-layers strong,.layer-list strong{font-weight:550;color:#325a7b}.scheme-metrics{display:flex;gap:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 0;margin:16px 0}.scheme-metrics>div{flex:1;font-size:11px;color:#8197a8}.scheme-metrics strong{display:block;font-size:19px;color:#325e83;font-weight:600;line-height:1.5;font-variant-numeric:tabular-nums}.scheme-metrics small{font-size:10px;font-weight:400}.scheme-card .price{font-size:26px;letter-spacing:-.8px}.scheme-card ul:not(.layer-list):not(.scheme-layers){padding-left:17px;font-size:12px;color:#728b9e;line-height:1.9}.scheme-card .inline-actions{margin-top:17px}.results-heading{margin-bottom:17px;display:flex;justify-content:space-between;align-items:center;gap:15px}.results-heading h2{font-size:18px}.results-summary,.recommend-note{background:#edf4fc;border:1px solid #dce9f6;border-radius:10px;padding:14px 17px;margin-bottom:18px;font-size:12px;color:#61809a;line-height:1.9}.recommend-note{margin-top:16px;margin-bottom:0}
.library-panel{overflow:hidden}.library-toolbar{display:flex;gap:13px;align-items:center;padding:23px 25px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search-field{position:relative;flex:1;max-width:340px}.search-field input{padding-left:36px;background:#f9fbfd}.search-icon{position:absolute;left:13px;top:8px;font-size:20px;color:#7e95a8;line-height:1.3;pointer-events:none}.filter-field{width:180px}.library-note{font-size:10px;color:#97a6b2;margin-left:auto}.material-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.material-table th{background:#f6f9fc;color:#8499a9;font-size:10px;letter-spacing:.3px;font-weight:500;padding:15px 22px;border-bottom:1px solid var(--line);white-space:nowrap}.material-table td{padding:19px 22px;border-bottom:1px solid #edf1f5;color:#53738c;vertical-align:middle;font-variant-numeric:tabular-nums}.material-table tbody tr:last-child td{border-bottom:0}.material-table tbody tr:hover{background:#fbfdff}.material-table td strong{color:#244d6c;display:block;font-size:12px}.material-table td small{display:block;color:#96a7b4;font-size:10px;line-height:1.8;margin-top:3px}.material-table .button{white-space:nowrap}.table-scroll,.table-wrap{width:100%;overflow:auto}.material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:24px}.material-card{border:1px solid var(--line);border-radius:10px;padding:21px}.material-card h3{font-size:16px}.material-card .spec-grid{margin:17px 0 14px;padding:12px 0}.material-card .spec-item{padding:0 6px}.material-card .spec-item strong{font-size:17px}.material-card>.button{width:100%;margin-top:16px}.material-card p{font-size:11px;color:#8499a9}.page-footnote{font-size:11px;color:#91a3b1;margin:19px 3px;line-height:1.8}.saved-notice{display:flex;align-items:flex-start;gap:8px;margin-bottom:24px;font-size:12px;color:#8499aa;background:#eef3f8;border:1px solid #e0e9f1;border-radius:9px;padding:13px 17px}.saved-list{display:grid;gap:16px}.saved-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px 25px;display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:var(--shadow)}.saved-card h3{font-size:15px}.saved-card .saved-meta{font-size:11px;color:#8c9fad;margin-top:6px}.saved-card .price{font-size:24px;letter-spacing:-.5px}.saved-card .muted{font-size:11px}.saved-card p{font-size:12px;color:#7991a4;margin-top:6px}.inline-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.saved-card .inline-actions{justify-content:flex-end}.saved-card .button{min-height:35px;font-size:11px;padding:7px 12px}.saved-card-content{flex:1;min-width:0}.saved-card-aside{text-align:right}.saved-card-aside .inline-actions{margin-top:10px}.saved-card .pill{margin-bottom:6px}#saved-empty{padding:74px 25px}.site-footer{background:#fff;border-top:1px solid var(--line)}.footer-inner{max-width:1248px;padding:26px 40px;margin:auto;display:flex;justify-content:space-between;gap:25px;align-items:center;color:#9aaaae;font-size:10px}.footer-inner p:first-child{display:flex;gap:20px;align-items:center}.footer-inner strong{font-size:10px;font-weight:650;letter-spacing:1px;color:#688298}.footer-inner p:first-child span{color:#99a9b5}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#183e5b;color:#fff;border:1px solid #365b76;border-radius:10px;max-width:calc(100vw - 32px);width:max-content;padding:13px 23px;font-size:13px;box-shadow:0 8px 30px #183e5b26;z-index:100;text-align:center;line-height:1.7}
.tooling-fields{display:grid;gap:16px;margin-top:18px;padding:17px;background:#f8fafc;border:1px solid #e5edf4;border-radius:9px}.tooling-fields .field-help{margin-top:0}
@media(min-width:1440px){.hero{min-height:294px}.hero h1{font-size:40px}.film-visual{flex-basis:374px}.site-main{padding-bottom:68px}.process-strip{padding-top:36px}.configurator{padding:30px 32px 25px}.quote-summary{padding:30px 28px 24px}}
@media(max-width:1050px){.header-inner{gap:35px;padding:0 28px}.main-nav{gap:22px}.site-main{padding-left:28px;padding-right:28px}.hero h1{font-size:31px}.film-visual{flex-basis:295px}.quote-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:20px}.configurator{padding:25px 23px 20px}.quote-summary{padding:25px 21px 20px}.dimension-fields{gap:10px}.spec-item strong{font-size:19px}.recommend-layout{grid-template-columns:minmax(325px,1fr) minmax(0,1.2fr);gap:20px}.recommend-form{padding:23px}.material-table th,.material-table td{padding-left:16px;padding-right:16px}.footer-inner{padding-left:28px;padding-right:28px}}
@media(max-width:850px){.header-inner{gap:28px;min-height:78px}.main-nav{gap:18px}.nav-link{font-size:12px}.demo-label{font-size:9px;padding:4px 7px}.nav-tag{display:none}.brand-name{font-size:21px}.brand-name span{font-size:8px}.hero{min-height:235px;gap:10px;padding-top:29px;padding-bottom:28px}.hero h1{font-size:29px}.hero-description{font-size:12px}.film-visual{flex-basis:246px}.visual-caption{font-size:6px;left:30px}.hero-points{gap:12px;font-size:10px}.quote-layout{grid-template-columns:minmax(0,1.3fr) minmax(285px,1fr);gap:17px}.configurator{padding:23px 20px 20px}.material-selects{grid-template-columns:1fr;gap:15px}.form-section+.form-section{margin-top:23px;padding-top:21px}.dimension-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.dimension-fields .field:last-child{grid-column:1/-1}.dimension-fields .field:last-child .input-unit{max-width:100%}.quote-summary{padding:23px 20px 20px}.quote-total{padding:18px 17px}.price{font-size:34px}.process-strip{padding-left:0;padding-right:0;gap:12px}.process-strip>div{gap:8px}.process-strip small{font-size:9px}.process-arrow{font-size:12px}.process-strip>div>span{width:25px;height:25px;flex-shrink:0;font-size:9px}.recommend-layout{grid-template-columns:minmax(300px,1fr) minmax(0,1.1fr);gap:17px}.recommend-form{padding:22px 20px}.scheme-card{padding:20px}.scheme-metrics{gap:14px}.empty-layer-tags{gap:6px}.recommendation-empty{padding-left:15px;padding-right:15px}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-table{font-size:11px}.material-table th,.material-table td{padding-left:12px;padding-right:12px}.material-table .button{padding:8px 10px;font-size:11px}.library-note{width:100%;margin-left:0}.library-toolbar{padding:20px}.search-field{max-width:none}}
@media(max-width:700px){.header-inner{flex-wrap:wrap;gap:0;padding:17px 22px 0;min-height:0;justify-content:space-between}.brand{gap:9px}.brand-mark{transform:scale(.85);transform-origin:left center;width:29px;height:32px}.brand-name{font-size:21px}.brand-name span{font-size:8px;margin-top:5px}.demo-label{margin-left:0;font-size:10px}.main-nav{order:3;width:100%;justify-content:space-between;gap:10px;margin-top:15px;height:48px}.nav-link{font-size:12px;justify-content:center;padding:0 5px}.site-main{padding:0 22px 39px}.hero{min-height:0;padding:30px 0 25px}.hero h1{font-size:29px;letter-spacing:-.7px}.hero-description{font-size:12px;max-width:350px}.hero-points{margin-top:17px;gap:16px;font-size:10px}.eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:12px}.film-visual{display:none}.quote-layout{grid-template-columns:1fr;gap:18px}.configurator{padding:23px 22px 20px}.panel-heading{margin-bottom:23px}.material-selects{grid-template-columns:1fr 1.45fr;gap:14px}.dimension-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dimension-fields .field:last-child{grid-column:auto}.spec-grid{padding:17px 8px}.spec-item strong{font-size:23px}.form-section+.form-section{margin-top:26px;padding-top:22px}.quote-summary{padding:24px}.quote-total{padding:20px 22px}.price{font-size:38px}.quote-actions{grid-template-columns:1.5fr 1fr;gap:11px}.quote-actions .button-primary{justify-content:center;gap:18px}.quote-disclaimer{max-width:340px;margin-left:auto;margin-right:auto}.help-card{padding:18px 23px}.help-card h3{font-size:13px}.help-card p{font-size:11px}.help-card .text-link{font-size:11px}.process-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 25px;padding:26px 10px 0}.process-strip>div{gap:11px}.process-strip strong{font-size:11px}.process-strip small{font-size:10px}.process-arrow{display:none}.process-strip>div>span{width:29px;height:29px;font-size:10px}.page-intro{padding:30px 0 25px}.page-intro h1{font-size:26px;line-height:1.4;letter-spacing:-.5px}.page-intro>p:last-child{font-size:12px;line-height:1.9}.recommend-layout{grid-template-columns:1fr;gap:20px}.recommend-form{padding:23px 22px}.recommendation-empty{min-height:330px}.recommendation-empty h2{font-size:18px}.scheme-card{padding:23px}.scheme-grid{grid-template-columns:1fr}.library-toolbar{padding:18px;gap:12px}.search-field{flex:1 1 100%}.filter-field{width:170px}.library-note{width:auto;flex:1;text-align:right;font-size:9px}.material-grid{grid-template-columns:1fr;padding:18px}.material-table{min-width:630px}#materials-list{overflow-x:auto}.saved-card{flex-direction:column;align-items:stretch;padding:21px;gap:15px}.saved-card .inline-actions{justify-content:flex-start}.saved-card-aside{text-align:left;border-top:1px solid var(--line);padding-top:12px}.saved-card .price{font-size:25px}.saved-notice{font-size:11px;padding:13px 15px}.saved-card h3{font-size:15px}#saved-empty{padding:48px 22px}.footer-inner{padding:23px 22px;flex-direction:column;gap:10px;text-align:center}.footer-inner p:first-child{gap:13px;flex-wrap:wrap;justify-content:center}.toast{bottom:20px;font-size:12px;padding:12px 19px}}
@media(max-width:400px){.header-inner{padding:16px 16px 0}.site-main{padding-left:16px;padding-right:16px}.hero{padding-top:26px}.hero h1{font-size:27px}.hero-description{font-size:11px;max-width:270px}.hero-points{gap:11px;font-size:9px}.hero-points>span:before{margin-right:4px}.main-nav{gap:5px}.nav-link{font-size:11px;padding:0 2px}.configurator{padding:21px 17px 18px}.quote-summary{padding:22px 19px 20px}.panel-heading{gap:8px}h2{font-size:18px}.section-kicker{font-size:8px;letter-spacing:1.25px}.material-selects{grid-template-columns:1fr;gap:14px}.dimension-fields{gap:9px}.field label{font-size:11px}.dimension-fields .input-unit input{padding-left:9px;padding-right:30px;font-size:12px}.dimension-fields .input-unit>span{right:9px;font-size:9px}.spec-grid{padding:15px 2px}.spec-item{padding:0 5px}.spec-item strong{font-size:20px}.spec-item span,.spec-item label,.spec-item dt{font-size:9px}.spec-item small{font-size:10px}.quote-actions{grid-template-columns:1fr}.quote-actions .button-primary{justify-content:space-between}.process-strip{padding-left:0;padding-right:0;column-gap:12px}.process-strip>div{gap:8px}.process-strip strong{font-size:10px}.process-strip small{font-size:9px}.recommend-form{padding:21px 17px}.recommend-form .field-grid{gap:15px 11px}.recommend-form .input-unit input{font-size:12px;padding-left:10px}.page-intro h1{font-size:24px}.library-toolbar{padding:15px}.filter-field{width:144px}.library-note{font-size:8px}.optional-heading{font-size:11px}.optional-heading small{font-size:9px}.empty-state h2{font-size:17px}.empty-state p{font-size:11px}.scheme-card{padding:20px 17px}.scheme-metrics{gap:12px}.scheme-metrics strong{font-size:18px}.saved-card{padding:19px 17px}.saved-card .inline-actions{gap:7px}.saved-card .button{padding:7px 10px}.footer-inner{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{body{background:#fff}.site-header,.site-footer,.hero,.configurator,.help-card,.quote-actions,.process-strip,.toast,.skip-link,.main-nav{display:none!important}.site-main{max-width:none;padding:0;min-height:0}.quote-layout{display:block}.quote-summary{max-width:600px;box-shadow:none;border-color:#ccc;margin:20px auto}.quote-summary:before{display:none}.quote-total{background:#f7f7f7!important}.price{color:#173e5f}.page[hidden]{display:none!important}}

/* Shared presentation for the live quote and saved/recommended results. */
.quote-result-header,.material-heading,.scheme-top,.results-heading,.saved-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.quote-total>.price:first-child{display:block;font-size:40px;color:#1e67c9;line-height:1.25;font-weight:650;letter-spacing:-1.4px;margin:0 0 9px}
.quote-total>p{font-size:13px;color:#5f778d;margin:0}.quote-line-item{display:grid;gap:4px;padding:0 0 15px;margin-bottom:14px;border-bottom:1px solid #e2eaf1;font-size:13px;color:#506a80}.quote-line-item span:last-child{font-size:12px;color:#7a8ea0}
.quote-details{font-size:12px;line-height:1.85;color:#6a8194;margin-top:16px}.quote-details summary,.scheme-layers summary{color:#2567a4;font-size:12px;cursor:pointer}.quote-details p{margin:8px 0}.cutting-result-note{font-size:12px;line-height:1.75;color:#8b6236;background:#fcf7ef;padding:10px 12px;border-radius:7px;margin-top:16px}.tooling-cost{border-top:1px dashed #dce5ed;padding-top:12px}.breakdown small{font-size:11px;margin-left:5px;color:#8397a6}
.material-description{margin-top:10px}.data-source{font-size:11px;color:#8193a2;margin-top:5px}.field label,.field select,.field input{font-size:13px}.field-help{font-size:12px;line-height:1.8}
.results-heading h2{font-size:18px}.scheme-card h3{font-size:19px;margin:7px 0}.scheme-price{font-size:30px;font-weight:600;color:#216fc7;margin-top:13px;font-variant-numeric:tabular-nums}.scheme-price span{font-size:12px;color:#788e9f;font-weight:400}.scheme-reasons{font-size:12px;line-height:1.8;color:#5f798e;padding-left:18px;margin:15px 0}.scheme-reasons li{margin:6px 0}.scheme-layers ol{padding-left:20px;margin-top:10px}.scheme-layers li{font-size:12px;margin:10px 0;color:#58728a}.scheme-layers li span,.scheme-layers li strong,.scheme-layers li small{display:block}.scheme-layers li small{font-size:11px;color:#7a8d9e;margin-top:4px}.verification-note{font-size:11px;color:#8d713e;background:#faf6ed;border-radius:6px;padding:9px 11px;margin-bottom:15px}.scheme-card>.button{width:100%}
.table-scroll{overflow-x:auto}.material-table small{display:block;margin-top:4px;color:#8a9ca9;font-size:10px}.table-note{padding:14px 22px}.saved-price{font-size:25px;color:#246ac0;display:block;text-align:right;margin-bottom:12px;font-variant-numeric:tabular-nums}.saved-actions{flex-shrink:0}.saved-meta{justify-content:flex-start}.saved-card h3{margin:6px 0}.button-quiet{background:transparent;color:#8a6770}.empty-mark{font-size:35px;color:#a3b6c8}.empty-state h3{font-size:18px;color:#45617a;margin-bottom:10px}
@media(max-width:700px){.quote-total>.price:first-child{font-size:38px}.saved-price{text-align:left}.results-heading{align-items:flex-start}.scheme-card{min-width:0}.inline-actions{flex-wrap:wrap}.field input,.field select{font-size:16px}}

/* Supplier pricing is a material reference until conversion rules are provided. */
.supplier-label{background:#f0f7f6;border-color:#dcece7;color:#567f74}.supplier-label>span{background:#438d75}
.material-reference-note{font-size:11px;line-height:1.9;color:#6c8396;background:#f5f8fb;border:1px solid #e3ebf2;border-radius:9px;padding:12px 14px;margin-top:14px;overflow-wrap:anywhere}.material-reference-note strong{color:#486a85;font-weight:600}.material-reference-note p+p{margin-top:5px}.material-reference-note .muted{font-size:11px}.material-reference-note ul{padding-left:17px;margin:6px 0 0}.material-reference-note li+li{margin-top:3px}
.width-list{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center;max-width:100%;font-size:11px;font-variant-numeric:tabular-nums;line-height:1.85;color:#647f95;overflow-wrap:anywhere}.width-list>span,.width-list>small{display:inline-block;padding:1px 6px;border:1px solid #e2eaf1;border-radius:4px;background:#f8fafc;white-space:nowrap;margin:0;font-size:10px;font-weight:400;color:#6c869a}.material-reference-note .width-list{margin-top:6px}
.library-panel .material-table{min-width:780px}.library-panel .material-table th,.library-panel .material-table td{padding-left:17px;padding-right:17px}.material-table td{overflow-wrap:anywhere}.material-table td .width-list{min-width:130px;max-width:240px}.material-table .material-price,.material-table .price-cell{white-space:nowrap;color:#2c618d;font-weight:550}.material-table .widths-cell{min-width:160px;max-width:260px}.material-table .specs-pending{font-size:11px;line-height:1.8;color:#8da0af}.table-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#c9d8e4 #f5f8fb}.quote-summary .panel-heading h2{font-size:18px}.quote-disclaimer{line-height:1.95}.library-note{line-height:1.8}.hero-description{max-width:580px}
@media(max-width:850px){.header-inner{gap:24px}.supplier-label{font-size:9px;padding:4px 7px}.library-panel .material-table th,.library-panel .material-table td{padding-left:14px;padding-right:14px}}
@media(max-width:700px){.header-inner{gap:0}.supplier-label{font-size:9px;max-width:150px}.library-panel .material-table{min-width:790px}.material-table td .width-list{max-width:185px}.material-reference-note{font-size:11px;padding:12px}.material-reference-note .width-list{font-size:11px}.width-list>span,.width-list>small{font-size:10px;padding:2px 6px}.library-note{max-width:150px;line-height:1.7}.library-toolbar .filter-field{flex-shrink:0}.quote-summary .panel-heading h2{font-size:18px}}
@media(max-width:400px){.supplier-label{font-size:8px;padding:4px 6px;gap:5px}.hero-points{gap:10px}.library-toolbar .library-note{font-size:9px;max-width:100px}.quote-summary .panel-heading{gap:7px}.quote-summary .panel-heading h2{font-size:17px}.live-label{font-size:9px;gap:5px}.material-reference-note{padding:10px 11px}.empty-state h2{overflow-wrap:anywhere}}

/* Customer estimates distinguish provisional charges from confirmed quotes. */
.estimate-notice{background:#f2f7fc;border:1px solid #deebf6;border-radius:9px;padding:12px 14px;margin-top:16px;color:#597b97;font-size:11px;line-height:1.85}.estimate-notice strong{font-weight:600;color:#3e678a}.estimate-notice p+p{margin-top:5px}.estimate-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid #d6e4f5;border-radius:5px;background:#eff5fd;color:#547baf;font-size:10px;font-weight:550;line-height:1.6;white-space:nowrap}.estimate-assumptions{margin-top:15px;padding-top:13px;border-top:1px dashed #dce6ef;color:#8295a5;font-size:11px;line-height:1.85}.estimate-assumptions summary{color:#6485a1;cursor:pointer;font-size:11px}.estimate-assumptions p{margin-top:7px}.estimate-assumptions ul{margin:7px 0 0;padding-left:17px}.estimate-assumptions li+li{margin-top:3px}.estimate-assumptions strong{color:#5c7890;font-weight:550}
@media(max-width:700px){.estimate-notice{padding:11px 13px;font-size:11px}.estimate-assumptions{font-size:11px}.estimate-badge{font-size:10px}}

/* Quote-to-order workspace. */
.main-nav{gap:22px}.header-inner{gap:35px}.confirm-quote{width:100%;justify-content:space-between;margin-top:22px;min-height:46px}.quote-actions{grid-template-columns:1fr 1fr;margin-top:10px}.quote-actions .button{font-size:11px}.quote-line-item span{overflow-wrap:anywhere}.quote-result-header{font-size:12px}.free-shipping{color:#2d806c!important;font-size:11px}.spec-item .spec-display{font-size:15px;line-height:1.65;font-weight:600;overflow-wrap:anywhere}.spec-grid{grid-template-columns:repeat(auto-fit,minmax(85px,1fr))}.material-specs>.width-list{margin-top:12px;line-height:1.9}.screen-helper{background:#f6f9fc;border:1px solid #e3edf5;border-radius:10px;padding:15px;margin-bottom:20px}.screen-helper-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:12px;font-size:11px}.screen-helper-heading strong{font-weight:600;color:#53748f}.screen-helper-heading span{font-size:9px;color:#91a5b5}.screen-helper-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.screen-helper .field label{font-size:11px}.screen-helper .field input,.screen-helper .field select{height:39px;font-size:12px}.screen-helper .button{min-height:39px;font-size:10px;padding:9px 12px}.screen-helper .field-help{font-size:10px}.rotation-field{margin-top:20px;padding-top:18px;border-top:1px dashed #e1eaf2}.rotation-field .input-unit{max-width:175px}.rotation-field .field-help{font-size:11px}.quantum-warning{color:#9a522f!important;background:#fff5ed!important;border:1px solid #f0d9c4!important;border-radius:8px;padding:12px!important}.quote-result-header+.quote-total{margin-top:2px}[aria-busy="true"]{opacity:.58;transition:opacity .15s}.footer-admin{font-size:10px;color:#96a7b5;background:none;padding:2px 0;white-space:nowrap}.footer-admin:hover{color:var(--blue)}
textarea{width:100%;min-width:0;border:1px solid #dae4ed;border-radius:8px;background:#fff;padding:11px 13px;resize:vertical;font:inherit;font-size:13px;line-height:1.7;color:var(--ink)}textarea:hover{border-color:#a9bed0}textarea:focus-visible{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px #1769df18}textarea::placeholder{color:#a2aeba}.order-steps{display:flex;align-items:center;gap:30px;margin:0 0 25px;font-size:12px;color:#9cabb6}.order-steps span{padding-bottom:9px;border-bottom:2px solid transparent}.order-steps .complete{color:#5a8c7c}.order-steps .active{color:var(--blue);border-color:var(--blue)}.checkout-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:24px;align-items:start}.checkout-form,.checkout-summary{padding:28px}.checkout-summary{position:sticky;top:20px}.checkout-product{font-size:12px;line-height:1.9;color:#6f8799;margin:16px 0}.checkout-summary .quote-total{margin-top:16px}.checkout-summary .price{font-size:31px}.checkout-divider{height:1px;background:var(--line);margin:26px 0}.checkout-form>.field{margin-top:20px}.upload-field{padding:16px;background:#f8fafc;border:1px dashed #cfdde9;border-radius:9px;margin:18px 0}.upload-field input[type="file"]{height:auto;padding:8px;background:#fff;font-size:11px;max-width:100%}.upload-field input::file-selector-button{padding:7px 10px;margin-right:10px;border:0;border-radius:5px;color:#477399;background:#edf4fa;font:inherit;cursor:pointer}.check-field{display:flex;align-items:flex-start;gap:9px;margin-top:17px;font-size:11px;line-height:1.9;color:#698497;cursor:pointer}.check-field input[type="checkbox"]{height:16px;width:16px;flex:0 0 16px;accent-color:var(--blue);margin:3px 0 0}.order-warning{font-size:11px;line-height:1.9;color:#8d673e;background:#faf6ef;border:1px solid #f0e5d4;border-radius:9px;padding:13px 15px;margin:22px 0 15px}.checkout-actions{justify-content:space-between;margin-top:25px}.checkout-actions .button{font-size:11px}.lookup-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.lookup-form{padding:28px}.lookup-form .field+.field{margin-top:18px}.lookup-form>.button{margin-top:23px;min-width:150px}.lookup-form .field-help{margin-top:13px}.code-input{display:flex;gap:10px}.code-input input{flex:1;min-width:0}.code-input .button{flex-shrink:0;font-size:11px;min-height:44px}.orders-list{display:grid;gap:16px;margin-top:28px}.order-detail-intro{display:flex;align-items:center;justify-content:space-between;gap:20px}.order-detail-intro .eyebrow{margin-bottom:12px}.order-detail-intro p:last-child{font-size:12px;color:#8396a5;margin-top:9px}.order-overview{padding:23px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.order-number{font-size:21px;letter-spacing:.4px;overflow-wrap:anywhere}.order-overview-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px;flex-shrink:0}.order-status{font-size:11px;padding:5px 11px}.status-pending_review,.status-awaiting_confirmation,.status-awaiting_payment{background:#faf3e8;color:#937046}.status-payment_pending{background:#eaf3ff;color:#4378b5}.status-paid,.status-production,.status-shipped,.status-completed{background:#edf7f2;color:#397b63}.status-cancelled{background:#f3f4f6;color:#8b939c}.order-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:24px;align-items:start}.order-information,.payment-panel{padding:27px 28px}.order-specs{font-size:12px;line-height:1.9;color:#7892a6;margin:7px 0}.order-information>.breakdown{border-top:1px solid var(--line);margin-top:21px;padding-top:12px}.order-pay-total{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);margin-top:15px;padding-top:15px}.order-pay-total span{font-size:12px;color:#69869c}.order-pay-total strong{font-size:26px;color:#256dc2;font-weight:600;font-variant-numeric:tabular-nums}.contact-details,.bank-details{margin:15px 0;font-size:12px}.contact-details>div{display:grid;grid-template-columns:64px 1fr;gap:15px;margin:13px 0}.contact-details dt,.bank-details dt{color:#92a5b3;font-size:11px}.contact-details dd,.bank-details dd{margin:0;color:#54758e;overflow-wrap:anywhere;line-height:1.85}.contact-details small{display:block;color:#8fa1af;font-size:10px}.drawing-amend{margin:17px 0;border:1px solid #e5edf4;border-radius:8px;padding:12px 14px;font-size:11px;color:#7390a5}.drawing-amend summary{cursor:pointer;color:#4d7a9d}.drawing-amend .upload-field{padding:12px;margin:12px 0}.drawing-amend .button{font-size:11px}.order-history{border-top:1px solid var(--line);margin-top:27px;padding-top:22px}.order-history h3{margin-bottom:17px}.order-history>div{position:relative;display:flex;gap:12px;padding:0 0 18px}.history-dot{height:7px;width:7px;background:#a4c1d8;border-radius:50%;margin-top:6px;flex-shrink:0}.order-history p{display:flex;flex-direction:column;gap:3px;font-size:11px;line-height:1.7;color:#7993a7}.order-history strong{font-weight:550;color:#536f85}.order-history small{color:#9aacb9;font-size:10px}.payment-intro{font-size:12px;line-height:1.95;color:#728da1;margin:14px 0 20px}.payment-amount{font-size:34px;font-weight:600;color:#256dc2;margin:20px 0}.payment-panel>.button,.payment-panel form>.button{width:100%}.payment-options{margin:18px 0 23px}.payment-options details{border:1px solid #e0e9f1;border-radius:10px;padding:13px 15px;margin-top:12px}.payment-options summary{font-size:12px;color:#496f8e;cursor:pointer;font-weight:550}.payment-qr{display:block;width:225px;max-width:100%;height:auto;margin:18px auto 12px;border-radius:7px}.payment-options .field-help{font-size:10px;line-height:1.9}.bank-details>div{margin:12px 0}.bank-details dd{font-size:12px;margin-top:3px;letter-spacing:.2px}.payment-state-icon{width:57px;height:57px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f1f7fa;color:#739bb8;font-size:25px;margin:25px 0 20px}.payment-panel .check-field{margin:18px 0}.payment-panel .field label{font-size:12px}.payment-panel form>.button{margin-top:16px}.payment-panel>.field-help{font-size:10px;margin-top:14px}.admin-login{max-width:460px;padding:28px}.admin-login .field{margin:23px 0}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.admin-order{padding:27px;margin-bottom:22px}.admin-order>p{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.admin-product{margin-top:13px;font-weight:550;color:#4f718b}.admin-file-actions{margin:15px 0 20px}.admin-order-forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-top:1px solid var(--line);padding-top:22px}.admin-order-forms h4{font-size:13px;margin-bottom:14px}.admin-order-forms .field{margin:13px 0}.admin-order-forms .field label{font-size:11px}.admin-order-forms .button{font-size:11px}.admin-order-forms form{min-width:0}.admin-row-error{margin-bottom:0}
@media(max-width:1050px){.main-nav{gap:17px}.header-inner{gap:26px}.screen-helper-grid{grid-template-columns:1fr 1fr}.screen-helper-grid>.button{grid-column:1/-1}.screen-helper-heading{flex-wrap:wrap}.checkout-form,.checkout-summary,.lookup-form{padding:23px}.order-information,.payment-panel{padding:24px}.admin-order-forms{gap:16px}.spec-item .spec-display{font-size:13px}}
@media(max-width:850px){.header-inner{gap:20px}.main-nav{gap:13px}.nav-link{font-size:11px}.demo-label{font-size:8px;padding:4px 6px}.checkout-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);gap:18px}.order-layout{grid-template-columns:minmax(0,1.1fr) minmax(285px,1fr);gap:18px}.checkout-actions{flex-direction:column;align-items:stretch;gap:10px}.order-information,.payment-panel{padding:21px}.order-number{font-size:18px}.lookup-form{padding:23px}.code-input{gap:7px}.code-input .button{padding:9px 11px;font-size:10px}.admin-order-forms{grid-template-columns:1fr 1fr}.admin-order-forms>form:last-child{grid-column:1/-1}.admin-order-forms>form:last-child .field{max-width:400px}}
@media(max-width:700px){.header-inner{gap:0}.main-nav{gap:6px}.nav-link{font-size:11px}.screen-helper-grid{grid-template-columns:1fr 1fr auto}.screen-helper-grid>.button{grid-column:auto}.screen-helper{padding:13px}.screen-helper-heading{font-size:11px}.screen-helper .field input,.screen-helper .field select{font-size:16px}.spec-item .spec-display{font-size:14px}.quote-sidebar{position:static}.quote-actions{grid-template-columns:1fr 1fr}.confirm-quote{font-size:12px}.checkout-layout,.lookup-grid,.order-layout{grid-template-columns:1fr;gap:19px}.checkout-summary{position:static;grid-row:1}.checkout-form,.checkout-summary,.lookup-form{padding:23px}.checkout-summary .quote-total{margin:16px 0}.checkout-summary .price{font-size:30px}.order-steps{gap:20px;font-size:10px;margin-bottom:20px}.checkout-actions{flex-direction:row}.checkout-actions .button{font-size:10px;padding-left:12px;padding-right:12px}.lookup-form .field-help{font-size:11px}.lookup-form>.button{width:100%}.order-detail-intro{align-items:flex-start;gap:12px}.order-detail-intro h1{font-size:26px}.order-detail-intro>.button{font-size:10px;padding:8px 12px;min-height:36px;margin-top:7px}.order-overview{padding:20px;gap:13px}.order-number{font-size:16px}.order-overview .muted{font-size:10px}.order-overview-actions .pill{font-size:10px;padding:4px 8px}.order-information,.payment-panel{padding:23px}.payment-panel{grid-row:1}.order-pay-total strong{font-size:24px}.contact-details>div{grid-template-columns:57px 1fr;gap:12px}.payment-panel .field-help{font-size:11px}.payment-qr{width:225px}.code-input .button{font-size:11px;padding:9px 14px}.admin-login{max-width:none;padding:24px}.admin-order{padding:22px}.admin-order-forms{grid-template-columns:1fr;gap:22px}.admin-order-forms>form:last-child{grid-column:auto}.admin-order-forms>form:last-child .field{max-width:none}.admin-order-forms form+form{border-top:1px solid var(--line);padding-top:20px}.admin-toolbar h2{font-size:17px}.admin-toolbar .button{font-size:10px;padding:8px 12px;min-height:36px}.footer-inner{gap:10px}.check-field{font-size:11px}.field textarea{font-size:16px}.upload-field input[type="file"]{font-size:11px}}
@media(max-width:400px){.nav-link{font-size:10px}.main-nav{gap:3px}.screen-helper-grid{grid-template-columns:1fr 1fr}.screen-helper-grid>.button{grid-column:1/-1}.screen-helper-heading span{font-size:8px}.screen-helper{padding:12px}.spec-item .spec-display{font-size:12px}.checkout-form,.checkout-summary,.lookup-form,.order-information,.payment-panel{padding:19px 17px}.checkout-actions{flex-direction:column;align-items:stretch}.order-steps{gap:12px;font-size:9px}.order-overview{padding:17px;align-items:flex-start;flex-direction:column}.order-overview-actions{width:100%;flex-direction:row;align-items:center;justify-content:space-between}.order-number{font-size:17px}.code-input .button{font-size:10px;padding:9px 10px}.code-input input{padding-left:10px;font-size:14px}.order-detail-intro{flex-direction:column}.order-detail-intro>.button{margin-top:0}.admin-toolbar{align-items:flex-start;gap:12px}.admin-toolbar .inline-actions{gap:6px}.admin-toolbar .button{padding:7px 9px;font-size:9px}.admin-order{padding:19px 17px}.order-pay-total span{font-size:11px}.order-pay-total strong{font-size:22px}}

/* Payment balances and manually recorded order changes. */
.payment-ledger{display:grid;gap:10px;padding:16px 0;margin:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.payment-ledger>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:12px;line-height:1.7}
.payment-ledger dt{color:#71899c}.payment-ledger dd{margin:0;color:#456882;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
.payment-ledger-balance{border-top:1px dashed #dce6ef;padding-top:10px;margin-top:2px}.payment-ledger-balance dd{color:#1e67c9;font-size:17px}
.refund-amount{color:#b36d39}.admin-order>.payment-ledger{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 24px;padding:13px 0}
.admin-spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 11px}
.admin-adjust-preview{color:#4a7291;min-height:21px;margin:8px 0}.status-refund_pending{background:#fff2e8;color:#a46439}
.admin-order-forms{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-order-forms>form{min-width:0}.admin-order-forms>form:last-child{grid-column:auto}
@media(max-width:850px){.admin-order-forms{grid-template-columns:1fr}.admin-order-forms>form+form{border-top:1px solid var(--line);padding-top:20px}.admin-order-forms>form:last-child{grid-column:auto}}
@media(max-width:520px){.admin-order>.payment-ledger,.admin-spec-grid{grid-template-columns:1fr}.payment-ledger>div{font-size:11px}}
.admin-audit{border:1px solid #e2ebf2;border-radius:8px;padding:10px 13px;margin:12px 0 18px;font-size:11px;color:#668095}
.admin-audit summary{cursor:pointer;font-weight:600;color:#497394}.admin-audit ul{list-style:none;margin:13px 0 0;padding:0;display:grid;gap:9px}
.admin-audit li{line-height:1.7;border-top:1px solid #edf2f6;padding-top:8px}.admin-audit li span{display:block;overflow-wrap:anywhere}.admin-audit strong{color:#426b87}

/* Relevant specification columns by material type. */
.material-type-group + .material-type-group{margin-top:28px}.material-type-group > h3{margin:0 0 12px}.spec-grid:has(> .spec-item:only-child){grid-template-columns:1fr}

/* Customer-focused navigation, compact details and consultation handoff. */
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.hero-actions .button{min-height:44px}
.hero-description{max-width:520px}.hero h1{font-size:38px;line-height:1.35}
.material-details{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.material-details summary{cursor:pointer;color:#51738c}.material-details p{margin-top:8px;line-height:1.8}
.quote-disclaimer{font-size:12px;line-height:1.8}.quote-details{font-size:12px}.help-card p{line-height:1.8}
.consultation-card{padding:28px}.consultation-card h2{margin-bottom:18px}.consultation-card textarea{background:#f8fafc;min-height:270px;font-size:14px;line-height:1.9;margin-bottom:18px}
.consult-contact{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-size:12px;color:var(--muted)}.consult-contact a{color:var(--blue);font-size:21px;font-weight:600;letter-spacing:.6px}.recommendation-empty .button{margin-top:22px}
.recommend-results{scroll-margin-top:24px}.saved-notice{padding:12px 16px}.site-footer .footer-inner{flex-wrap:wrap}
@media(max-width:700px){.hero h1{font-size:29px}.hero h1 .mobile-break{display:block}.hero-actions{margin:18px 0}.consultation-card{padding:22px}.main-nav .nav-link{min-height:44px}.consultation-card textarea{font-size:16px}.material-specs .spec-display{font-size:14px}.library-panel .material-table{min-width:650px}.material-type-group:has(th:nth-child(4):last-child) .material-table{min-width:450px}}

/* Quote handoff, accessible contact dialog and mobile quote actions. */
.preflight-button{width:100%;margin-top:10px;min-height:44px;font-size:12px}.supplier-card{padding:22px 25px}.supplier-card h3{font-size:14px;margin-bottom:8px}.supplier-name{font-size:12px;line-height:1.8;color:#5d7689}.supplier-card dl{margin:14px 0;display:grid;gap:7px;font-size:12px}.supplier-card dl>div{display:flex;justify-content:space-between;gap:12px}.supplier-card dt{color:var(--muted)}.supplier-card dd{margin:0;text-align:right}.supplier-card .text-link{font-size:12px}.manual-quote{padding:10px 0}.manual-quote h3{margin:16px 0 8px;font-size:22px;overflow-wrap:anywhere}.manual-quote p{font-size:13px;color:var(--muted)}.manual-quote-spec{margin-top:18px;padding:14px;border-radius:9px;background:var(--blue-soft);font-size:14px}
.contact-launcher{position:fixed;right:22px;bottom:22px;z-index:50;display:flex;align-items:center;gap:7px;min-height:44px;padding:11px 17px;border:1px solid #c8dbee;border-radius:24px;background:#fff;color:#165aa3;box-shadow:0 4px 20px #16365016;font-size:13px;font-weight:600}.contact-launcher:hover{background:#edf4ff}.contact-launcher>span{font-size:20px;line-height:1}.mobile-quote-bar{display:none}.contact-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:0;border:0;border-radius:18px;color:var(--ink);box-shadow:0 20px 90px #12263b3d;overflow:auto;overscroll-behavior:contain}.contact-dialog::backdrop{background:rgba(14,34,53,.46)}body:has(.contact-dialog[open]){overflow:hidden}.contact-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.contact-dialog-heading h2{font-size:21px;margin-top:4px}.contact-close{width:40px;height:40px;border-radius:50%;background:#f3f6fa;font-size:25px;color:#5e788e;flex-shrink:0}.contact-dialog-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;padding:24px 26px 28px}.contact-person{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.contact-person img{width:200px;height:auto;max-width:100%;border:1px solid #e7edf3;border-radius:10px}.contact-person strong{font-size:16px}.contact-person p{font-size:12px;color:var(--muted)}.contact-save-qr{font-size:12px;color:var(--blue);text-decoration:underline;text-underline-offset:3px}.contact-phone{margin-top:6px;font-size:12px;min-height:44px;width:100%}.contact-request{min-width:0}.contact-request>label{display:block;font-size:13px;font-weight:600;margin-bottom:10px}.contact-request textarea{min-height:230px;font-size:13px;line-height:1.85;background:#f7f9fc}.contact-request>.button{width:100%;margin-top:13px;min-height:44px;font-size:13px}.contact-request .field-help{font-size:12px;line-height:1.7;margin-top:10px}.consultation-card .inline-actions{flex-wrap:wrap}.recommendation-empty .button+.button{margin-left:8px}.site-footer{padding-bottom:55px}
@media(max-width:700px){body.has-mobile-quote{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}.mobile-quote-bar:not([hidden]){display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid #dce6ef;background:rgba(255,255,255,.98);box-shadow:0 -4px 20px #1636500a}.mobile-quote-amount{background:none;text-align:left;padding:0;min-width:0;display:flex;flex-direction:column;gap:1px}.mobile-quote-amount span{font-size:10px;color:#6f8498}.mobile-quote-amount strong{font-size:22px;color:#1769df;font-weight:650;white-space:nowrap}.mobile-quote-bar>.button{min-height:44px;min-width:132px;font-size:13px;flex-shrink:0}.contact-launcher{right:14px;bottom:18px;font-size:12px;padding:10px 14px;min-height:42px}.has-mobile-quote .contact-launcher{bottom:calc(89px + env(safe-area-inset-bottom,0px))}.supplier-card{padding:21px}.contact-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:14px}.contact-dialog-heading{padding:16px 18px}.contact-dialog-heading h2{font-size:19px}.contact-dialog-grid{grid-template-columns:1fr;gap:20px;padding:18px}.contact-person img{width:174px}.contact-person{gap:6px}.contact-phone{max-width:280px}.contact-request textarea{min-height:180px;font-size:14px}.recommendation-empty .button+.button{margin-left:0}.contact-request .field-help{margin-bottom:0}.site-footer{padding-bottom:70px}.toast{bottom:160px}}
@media print{.contact-launcher,.mobile-quote-bar,.contact-dialog{display:none!important}body.has-mobile-quote{padding-bottom:0}}

/* One material table becomes cards on phones, keeping one action per model. */
.material-cell-label{display:none}
@media(max-width:700px){
 #materials-list{overflow:visible;padding:0 15px 18px}
 #materials-list .table-note{padding:14px 0;font-size:11px}
 #materials-list .material-type-group>h3{font-size:14px;margin:4px 0 12px}
 #materials-list .material-type-group+.material-type-group{margin-top:24px}
 #materials-list .table-scroll{overflow:visible}
 #materials-list .material-table{display:block;width:100%;min-width:0}
 #materials-list .material-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #materials-list .material-table tbody{display:grid;gap:12px}
 #materials-list .material-table tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 10px;border:1px solid #e0e9f1;border-radius:11px;padding:15px;background:#fff}
 #materials-list .material-table td{display:block;min-width:0;padding:0;border:0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
 #materials-list .material-model-cell{grid-column:span 2;align-self:center}
 #materials-list .material-model-cell strong{font-size:16px;line-height:1.4}
 #materials-list .material-model-cell small{margin-top:3px;font-size:10px;color:#8b754d}
 #materials-list .material-table .material-category-cell{text-align:right;align-self:start;font-size:10px;color:#63829a}
 #materials-list .material-category-cell>span{display:inline-block;padding:3px 6px;border-radius:5px;background:#f0f5fa}
 #materials-list .material-cell-label{display:block;margin-bottom:3px;color:#8395a4;font-size:10px}
 #materials-list .material-spec-value{font-size:12px;color:#375c78}
 #materials-list .material-row-reflector .material-spec-cell{grid-column:1/-1;display:flex;gap:12px;align-items:baseline}
 #materials-list .material-row-reflector .material-cell-label{margin:0}
 #materials-list .material-table .material-action-cell{grid-column:1/-1;padding-top:12px;border-top:1px solid #edf1f5}
 #materials-list .material-action-cell .button{width:100%;min-height:42px;font-size:12px}
}

.field-optional{margin-left:7px;font-size:11px;font-weight:400;color:var(--muted)}

/* Editorial optical-materials design. Append after flow-built/styles.css. */
:root {
  --ink: #17232c;
  --text: #46515a;
  --muted: #73808a;
  --blue: #245fdb;
  --blue-hover: #174bb9;
  --blue-soft: #f0f4fc;
  --line: #e2e5e7;
  --surface: #fff;
  --canvas: #fff;
  --radius: 5px;
  --shadow: none;
  font-size: 15px;
  line-height: 1.65;
}
body { background: #fff; }
.header-inner, .site-main, .footer-inner { max-width: 1440px; }
.header-inner { min-height: 86px; padding: 0 64px; gap: 72px; }
.brand { gap: 13px; }
.brand-name { color: var(--ink); font-size: 25px; font-weight: 740; letter-spacing: 2px; }
.brand-name span { color: #4d5b65; font-size: 9px; letter-spacing: 2px; }
.main-nav { gap: 32px; }
.nav-link { font-size: 14px; color: #57616b; font-weight: 500; }
.nav-link.active { color: var(--ink); font-weight: 650; }
.nav-link.active:after { background: var(--blue); height: 2px; border-radius: 0; }
.header-contact { display: flex; align-items: center; gap: 10px; margin-left: auto; padding: 10px 0; background: none; font-size: 13px; font-weight: 600; white-space: nowrap; }
.header-contact span { font-size: 18px; color: var(--blue); }
.header-contact:hover { color: var(--blue); }
.site-main { padding: 0 64px 54px; }
.panel { border-color: var(--line); border-radius: 5px; box-shadow: none; }
.eyebrow { color: #67717a; font-size: 10px; letter-spacing: 2px; }
.section-kicker { color: #687680; font-size: 10px; letter-spacing: 2px; font-weight: 500; }
h1, h2, h3 { color: var(--ink); }
h2 { font-size: 23px; line-height: 1.45; font-weight: 650; }
h3 { font-size: 16px; }
.button { min-height: 46px; border-radius: 4px; font-size: 14px; font-weight: 550; box-shadow: none; padding: 11px 20px; }
.button-primary { background: var(--blue); box-shadow: none; }
.button-primary:hover { background: var(--blue-hover); }
.button-secondary { color: #344954; border-color: #d7dde2; background: #fff; }
.button-secondary:hover { background: #f7f8fa; border-color: #b7c2cb; }
.button-small { min-height: 40px; font-size: 12px; padding: 8px 14px; }
.text-link { color: var(--blue); font-size: 13px; font-weight: 550; }
.pill { border-radius: 3px; font-size: 10px; }
.pill-neutral { background: #f4f5f6; color: #68727b; border-color: #e6e8ea; }
.muted { color: #6f7a84; }

/* A single photographic opening, with no framed illustration panel. */
.hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 550px; margin: 0 -64px; padding: 56px 64px 52px; overflow: hidden; background: #f7f7f3; gap: 0; }
.hero-content { position: relative; z-index: 2; flex: 0 0 51%; min-width: 0; }
.hero .eyebrow { margin-bottom: 24px; font-size: 11px; font-weight: 500; letter-spacing: 3px; color: #43535f; }
.hero .eyebrow>span { display: none; }
.hero h1 { font-size: clamp(44px, 4.65vw, 66px); line-height: 1.2; letter-spacing: -2px; font-weight: 700; max-width: 700px; }
.hero h1 .hero-line { display: block; white-space: nowrap; }
.hero-description { font-size: 19px; line-height: 1.7; color: #384650; margin-top: 22px; max-width: 520px; }
.hero-actions { margin: 30px 0 0; gap: 24px; align-items: center; }
.hero-actions .button { min-height: 52px; font-size: 15px; padding: 13px 28px; }
.hero-actions .button-secondary { border-color: transparent; background: transparent; color: var(--blue); padding-left: 0; padding-right: 0; }
.hero-actions .button-secondary:hover { color: var(--blue-hover); background: transparent; }
.hero-points { margin-top: 40px; gap: 22px; color: #586671; font-size: 12px; align-items: center; }
.hero-points>span { display: inline-flex; align-items: baseline; gap: 8px; }
.hero-points>span+span { border-left: 1px solid #cbd1d4; padding-left: 22px; }
.hero-points>span:before { content: none; }
.hero-points strong { font-size: 24px; line-height: 1; font-weight: 600; color: var(--ink); }
.hero-art { position: absolute; z-index: 1; width: 64%; inset: 0 0 0 auto; overflow: hidden; pointer-events: none; }
.hero-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; mix-blend-mode: multiply; mask-image: linear-gradient(90deg, transparent 0%, #000 20%); }

/* Five tactile category choices on a continuous editorial strip. */
.material-discovery { padding: 31px 0 30px; border-bottom: 1px solid var(--line); }
.discovery-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 22px; }
.discovery-heading h2 { font-size: 17px; font-weight: 600; }
.discovery-heading .text-link, .discovery-heading>button { margin: 0; font-size: 12px; background: none; color: #5b6873; padding: 6px 0; }
.material-tiles { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.material-tile { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 11px 5px; background: none; padding: 0 22px; text-align: left; min-width: 0; align-items: center; border-radius: 0; }
.material-tile:first-child { padding-left: 0; }
.material-tile:last-child { padding-right: 0; }
.material-tile+.material-tile { border-left: 1px solid var(--line); }
.material-tile img { display: block; grid-column: 1/-1; width: 100%; height: auto; aspect-ratio: 1.65; object-fit: cover; object-position: center; background: #f8f8f5; transition: transform .25s ease; }
.material-tile>span { color: var(--ink); font-size: 14px; font-weight: 550; line-height: 1.55; }
.material-tile>i { font-style: normal; color: #596872; font-size: 17px; }
.material-tile:hover img { transform: translateY(-3px); }
.material-tile:hover>span, .material-tile:hover>i { color: var(--blue); }
.material-tile:focus-visible { outline-offset: 6px; }

/* Quoting is a working surface, with ruled steps and one strong result panel. */
.quote-workspace { padding-top: 36px; scroll-margin-top: 24px; }
.workspace-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.workspace-heading .section-kicker { margin-bottom: 9px; }
.workspace-heading h2 { font-size: 34px; letter-spacing: -1px; }
.workspace-heading>p, .workspace-heading>small { font-size: 12px; color: #6e7a84; letter-spacing: .3px; margin-bottom: 4px; }
.quote-layout { grid-template-columns: minmax(0,1.7fr) minmax(330px,1fr); gap: 42px; align-items: start; }
.configurator { padding: 0; border: 0; border-radius: 0; background: none; }
.configurator .form-section { padding-left: 46px; position: relative; }
.configurator .form-section+.form-section { margin-top: 26px; padding-top: 26px; }
.form-section legend { font-size: 17px; line-height: 1.5; margin-bottom: 20px; font-weight: 600; gap: 0; }
.step-number { position: absolute; left: 0; width: auto; height: auto; font-size: 17px; font-weight: 400; border: 0; border-radius: 0; background: none; color: #83909b; }
.field-grid { gap: 20px 24px; }
.material-selects { grid-template-columns: 1fr 1fr; }
.dimension-fields { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.field label { font-size: 13px; color: #5d6974; font-weight: 450; margin-bottom: 8px; }
.field label>.field-optional { display: inline; font-size: 11px; color: #7b8790; font-weight: 400; }
input, select { height: 46px; font-size: 15px; border-radius: 3px; border-color: #d1d8de; color: #253641; }
.field textarea { font-size: 15px; border-radius: 3px; border-color: #d1d8de; color: #253641; }
input::placeholder, textarea::placeholder { color: #919ba4; }
.input-unit>span { color: #6d7983; font-size: 12px; }
.field-help { color: #78848e; font-size: 12px; line-height: 1.8; }
.material-specs { margin-top: 17px; }
.material-heading { display: none; }
.material-specs .spec-grid { grid-template-columns: repeat(3,minmax(0,1fr)); border: 0; background: none; padding: 0; border-radius: 0; gap: 0; }
.material-specs .spec-grid:has(>.spec-item:only-child) { grid-template-columns: 1fr; }
.material-specs .spec-item { padding: 0 15px; text-align: left; display: flex; flex-wrap: wrap; gap: 2px 9px; align-items: baseline; }
.material-specs .spec-item:first-child { padding-left: 0; }
.material-specs .spec-item:last-child { padding-right: 0; }
.material-specs .spec-item+.spec-item { border-left-color: #d8dfe4; }
.material-specs .spec-item>span { color: #7e8890; font-size: 11px; margin: 0; white-space: nowrap; }
.material-specs .spec-item .spec-display { font-size: 12px; line-height: 1.7; font-weight: 500; color: #344853; }
.material-specs>.width-list { color: #7b8791; font-size: 11px; margin-top: 14px; }
.material-details { border: 0; padding-top: 0; margin-top: 7px; font-size: 11px; color: #7b8791; }
.material-details summary { color: #697d8c; font-size: 11px; }
.material-details p { margin-top: 10px; line-height: 1.85; }
.screen-helper { padding: 0; border: 0; border-radius: 0; background: none; margin: 0 0 17px; color: var(--blue); }
.screen-helper>summary { display: list-item; width: fit-content; font-size: 12px; font-weight: 500; cursor: pointer; padding: 2px 0 4px; }
.screen-helper[open] { padding: 15px; margin-bottom: 21px; background: #f7f8fa; border: 1px solid #e7ebee; }
.screen-helper[open]>summary { margin-bottom: 15px; }
.screen-helper-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
.screen-helper-grid>.button { grid-column: 1/-1; min-height: 42px; font-size: 12px; }
.screen-helper .field input, .screen-helper .field select { height: 43px; font-size: 14px; }
.screen-helper .field label, .screen-helper .field-help { font-size: 11px; }
.configurator .form-section:last-of-type>.field>select { max-width: 340px; }
.rotation-field { padding-top: 15px; margin-top: 18px; border-top-style: solid; }
.quantum-warning { font-size: 12px; border-radius: 4px; }
.quote-sidebar { position: sticky; top: 26px; gap: 0; }
.quote-summary { padding: 28px 30px 24px; background: #f5f7f8; border: 1px solid #dce4e9; border-radius: 5px; color: #334956; overflow: hidden; }
.quote-summary:before { display: none; }
.quote-summary .panel-heading { margin-bottom: 21px; gap: 12px; align-items: center; }
.quote-summary .section-kicker { display: none; }
.quote-summary .panel-heading h2 { font-size: 16px; line-height: 1.5; font-weight: 450; color: #17232c; }
.quote-summary .live-label { color: #637480; font-size: 10px; }
.quote-summary .live-label>span { background: #4a8269; width: 4px; height: 4px; }
.quote-summary .quote-result-header { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; color: #637480; }
.quote-summary .estimate-badge { color: #637480; border: 0; padding: 0; background: none; font-size: 10px; }
.quote-summary .quote-total { padding: 0; border-radius: 0; margin: 8px 0 20px; background: none; }
.quote-summary .quote-total>.price, .quote-summary .quote-total>.price:first-child { display: block; font-size: 52px; font-weight: 600; color: #17232c; letter-spacing: -1.6px; line-height: 1.25; margin: 8px 0 11px; }
.quote-summary .quote-total p, .quote-summary .quote-total>p:first-child { color: #5b6d79; font-size: 12px; line-height: 1.8; }
.quote-summary .quote-total p strong { color: #2f4656; font-weight: 500; }
.quote-summary .quote-line-item { color: #435966; font-size: 12px; line-height: 1.8; border-color: #d8e0e6; margin: 0 0 18px; padding-bottom: 17px; }
.quote-summary .quote-line-item span:last-child { font-size: 11px; color: #637480; }
.quote-summary .breakdown { font-size: 13px; }
.quote-summary .breakdown>div { margin: 14px 0; }
.quote-summary .breakdown dt { color: #526672; }
.quote-summary .breakdown dd { color: #223c4c; }
.quote-summary .breakdown small { display: block; margin: 1px 0 0; font-size: 10px; color: #677782; }
.quote-summary .breakdown .free-shipping { color: #356c55!important; font-size: 11px; }
.quote-summary .tooling-cost, .quote-summary .breakdown .subtotal { border-color: #d8e0e6; }
.quote-summary .quote-details { margin-top: 18px; color: #566c7a; font-size: 11px; }
.quote-summary .quote-details summary { color: #42617b; font-size: 11px; }
.quote-summary .estimate-notice { padding: 9px 11px; margin-top: 15px; background: #eaf0f4; color: #425e71; border-color: #d2dfe7; border-radius: 3px; font-size: 11px; }
.quote-summary .confirm-quote { font-size: 14px; min-height: 49px; padding: 12px 18px; margin-top: 25px; justify-content: center; }
.quote-summary .preflight-button { color: #3b586e; background: #fff; border-color: #cbd7df; min-height: 43px; font-size: 12px; }
.quote-summary .preflight-button:hover { background: #e9eff3; color: #17232c; }
.quote-summary .quote-actions { grid-template-columns: 1fr 1fr; margin-top: 18px; gap: 0; }
.quote-summary .quote-actions .button { border: 0; border-radius: 0; background: transparent; color: #3f5a6d; min-height: 40px; font-size: 12px; padding: 6px 8px; }
.quote-summary .quote-actions .button+.button { border-left: 1px solid #d1dce3; }
.quote-summary .quote-actions .button:hover:not(:disabled) { color: var(--blue); }
.quote-summary .quote-disclaimer { font-size: 10px; line-height: 1.8; text-align: left; color: #677985; margin-top: 15px; }
.quote-summary .manual-quote h3 { color: #17232c; font-size: 26px; margin: 18px 0 12px; }
.quote-summary .manual-quote p { color: #566d7c; font-size: 13px; line-height: 1.9; }
.quote-summary .manual-quote .pill { color: #526e80; background: #eaf0f4; border-color: #cbd7df; }
.quote-summary .manual-quote-spec { background: #eaf0f4; color: #26495f; border-radius: 3px; margin-top: 20px; font-size: 14px; }
.quote-summary .empty-state { color: #566d7c; }
.quote-summary .empty-state h3 { color: #223c4c; }
.quote-summary .empty-state .button-secondary { color: #355c76; background: #eaf0f4; border-color: #c4d3de; }
.service-strip { display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid var(--line); padding: 31px 0 0; margin-top: 44px; }
.service-contact { display: flex; align-items: center; gap: 24px; }
.service-contact h2 { font-size: 21px; letter-spacing: -.3px; font-weight: 600; }
.service-contact .text-link { font-size: 12px; margin: 0; white-space: nowrap; }
.service-strip ul { display: flex; align-items: center; gap: 23px; list-style: none; margin: 0; padding: 0; }
.service-strip li { color: #5b6772; font-size: 12px; white-space: nowrap; }
.service-strip li+li { border-left: 1px solid #cdd5db; padding-left: 23px; }

/* Shared customer pages retain the same typographic and surface system. */
.page-intro { padding: 48px 0 34px; }
.page-intro .eyebrow { margin-bottom: 15px; font-size: 10px; }
.page-intro h1 { font-size: 38px; line-height: 1.35; letter-spacing: -1px; }
.page-intro>p:last-child, .order-detail-intro p:last-child { color: #6d7983; font-size: 14px; line-height: 1.85; margin-top: 13px; }
.recommend-layout { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); gap: 38px; }
.recommend-form, .consultation-card { padding: 30px; }
.recommend-form .panel-heading { margin-bottom: 27px; }
.recommend-form .field-grid { gap: 23px 22px; }
.optional-heading { font-size: 13px; color: #4a5a66; border-top-color: var(--line); margin-top: 26px; padding-top: 23px; }
.optional-heading small { font-size: 11px; color: #79858f; }
.consultation-card textarea { background: #f8f9fa; border-color: #dce2e6; border-radius: 3px; padding: 18px; font-size: 14px; line-height: 2; }
.consultation-card .inline-actions .button { font-size: 13px; }
.consult-contact { border-color: var(--line); font-size: 12px; color: #75818b; margin-top: 25px; padding-top: 24px; }
.consult-contact a { font-size: 25px; color: var(--ink); font-weight: 500; }
.recommendation-empty { background: #f7f8f8; min-height: 420px; border-color: transparent; border-radius: 4px; padding: 36px; }
.recommendation-empty h2, .recommendation-empty>p { background: none; }
.recommendation-empty .empty-symbol { border: 0; background: none; border-radius: 0; color: #a1afb9; font-size: 42px; }
.recommendation-empty h2 { color: #354a59; font-size: 25px; }
.recommendation-empty p { color: #778690; font-size: 14px; }
.recommendation-empty .button { min-width: 180px; margin-top: 20px; }
.recommendation-empty .button+.button { margin-left: 0; margin-top: 10px; }
.empty-state h2 { color: #3a4d5a; font-size: 23px; }
.empty-state p { color: #778690; font-size: 14px; line-height: 1.9; }
.empty-state .empty-symbol { background: #f5f7f8; color: #92a6b5; border-radius: 4px; border-color: #e6ebef; }
.library-panel { border: 0; border-radius: 0; background: none; }
.library-toolbar { padding: 0 0 24px; border-bottom-color: #cfd8df; gap: 18px; }
.search-field { max-width: 480px; }
.search-field input { background: #fff; padding-left: 40px; }
.search-icon { left: 15px; top: 10px; color: #8897a3; }
.filter-field { width: 220px; }
.table-note { padding: 22px 0; font-size: 12px; color: #7d8992; }
.material-type-group>h3 { margin: 0 0 16px; font-size: 17px; font-weight: 600; }
.material-type-group+.material-type-group { margin-top: 38px; }
.library-panel .material-table { min-width: 0; }
.library-panel .material-table th { background: #f5f7f8; color: #748491; font-size: 12px; font-weight: 400; padding: 13px 18px; border-bottom-color: #e0e6eb; }
.library-panel .material-table td { font-size: 13px; color: #546a7a; padding: 20px 18px; border-bottom-color: #e6ebef; }
.material-table td strong { color: #263e4f; font-size: 15px; font-weight: 600; }
.material-table td small { color: #857756; font-size: 10px; }
.material-table .button { font-size: 12px; min-height: 38px; padding: 8px 14px; }
.material-table tbody tr:hover { background: #f9fafb; }
.saved-notice { background: #f4f6f8; border: 0; border-radius: 3px; color: #70808d; font-size: 12px; padding: 13px 16px; }
.saved-card { border-radius: 4px; box-shadow: none; padding: 26px 28px; border-color: #dfe5e9; }
.saved-card h3 { font-size: 18px; color: #2a4050; }
.saved-card p { font-size: 13px; color: #6e818e; line-height: 1.8; }
.saved-card .button { font-size: 12px; min-height: 40px; }
.saved-price { font-size: 29px; color: var(--ink); font-weight: 600; }
.lookup-form, .checkout-form, .checkout-summary, .order-information, .payment-panel { padding: 30px; }
.lookup-grid { gap: 28px; }
.lookup-form .panel-heading { margin-bottom: 26px; }
.lookup-form .field-help { font-size: 12px; }
.lookup-form>.button { min-height: 46px; }
.code-input .button { font-size: 12px; }
.order-steps { margin-bottom: 27px; font-size: 12px; gap: 24px; color: #7a8994; }
.checkout-layout { grid-template-columns: minmax(0,1.4fr) minmax(310px,1fr); gap: 30px; }
.checkout-summary { background: #f8f9fa; }
.checkout-summary .price { font-size: 40px; color: var(--ink); }
.checkout-summary .quote-total { background: #eef2f5; border-radius: 4px; }
.checkout-product { font-size: 15px; color: #5b7283; }
.check-field { font-size: 12px; line-height: 1.9; color: #60798c; }
.upload-field { border-radius: 4px; background: #f8fafb; }
.order-warning { border-radius: 4px; }
.checkout-actions .button { font-size: 13px; }
.order-overview { padding: 26px 30px; border-radius: 4px; box-shadow: none; }
.order-number { font-size: 23px; }
.order-specs, .payment-intro, .contact-details, .bank-details { font-size: 13px; }
.contact-details dt, .bank-details dt { font-size: 12px; color: #7b8b97; }
.contact-details dd, .bank-details dd { color: #4d667a; }
.order-history p { font-size: 12px; }
.order-history small { font-size: 11px; }
.payment-options details, .drawing-amend { border-radius: 4px; }
.payment-ledger>div { font-size: 13px; }
.payment-panel .field label { font-size: 13px; }
.payment-panel>.field-help { font-size: 11px; }
.order-pay-total strong, .payment-amount { color: var(--ink); }

/* Low-key chrome and dialogs. */
.site-footer { background: #fff; border-color: var(--line); padding-bottom: 24px; }
.footer-inner { padding: 24px 64px; gap: 22px; font-size: 11px; color: #7a8892; }
.footer-inner p:first-child { gap: 18px; }
.footer-inner strong { color: #354b5a; font-size: 11px; letter-spacing: 1px; }
.footer-inner p:first-child span { color: #748591; font-size: 11px; }
.footer-inner a { font-size: 11px; }
.footer-admin { font-size: 10px; color: #929da6; }
.contact-launcher { border-color: #d9e1e7; background: #fff; color: #2f536e; box-shadow: 0 3px 16px #233c5010; font-size: 12px; padding: 9px 15px; }
.contact-dialog { border-radius: 6px; }
.contact-dialog-heading h2 { font-size: 22px; }
.contact-close { border-radius: 4px; background: #f3f6f8; }
.contact-person img { border-radius: 3px; }
.contact-request textarea { font-size: 14px; border-radius: 3px; background: #f8fafb; }
.toast { border-radius: 5px; background: #223644; border-color: #405764; }

@media (min-width: 1101px) and (max-width: 1270px) {
  .header-inner { gap: 42px; padding-left: 48px; padding-right: 48px; }
  .main-nav { gap: 24px; }
  .site-main { padding-left: 48px; padding-right: 48px; }
  .hero { margin-left: -48px; margin-right: -48px; padding-left: 48px; padding-right: 48px; min-height: 515px; }
  .hero h1 { font-size: 55px; }
  .hero-description { font-size: 17px; }
  .quote-layout { gap: 32px; }
  .material-tile { padding-left: 18px; padding-right: 18px; }
  .service-strip { gap: 22px; }
  .service-contact { gap: 16px; }
  .service-contact h2 { font-size: 19px; }
  .service-strip ul { gap: 16px; }
  .service-strip li+li { padding-left: 16px; }
  .footer-inner { padding-left: 48px; padding-right: 48px; }
}

@media (min-width: 701px) and (max-width: 1100px) {
  .header-inner { min-height: 78px; padding: 0 32px; gap: 30px; }
  .main-nav { gap: 18px; }
  .nav-link { font-size: 13px; }
  .brand-name { font-size: 23px; }
  .header-contact { font-size: 12px; gap: 6px; }
  .site-main { padding-left: 32px; padding-right: 32px; }
  .hero { min-height: 460px; margin-left: -32px; margin-right: -32px; padding: 45px 32px 42px; }
  .hero-content { flex-basis: 55%; }
  .hero h1 { font-size: clamp(40px,4.7vw,52px); letter-spacing: -1.5px; }
  .hero .eyebrow { font-size: 10px; letter-spacing: 2px; margin-bottom: 20px; }
  .hero-description { font-size: 16px; margin-top: 18px; }
  .hero-actions { margin-top: 25px; gap: 18px; }
  .hero-actions .button { min-height: 47px; font-size: 14px; padding: 12px 20px; }
  .hero-points { margin-top: 32px; gap: 17px; font-size: 11px; }
  .hero-points>span+span { padding-left: 17px; }
  .hero-points strong { font-size: 21px; }
  .hero-art { width: 64%; }
  .material-tile { padding-left: 13px; padding-right: 13px; gap: 10px 4px; }
  .material-tile>span { font-size: 12px; }
  .material-tile>i { font-size: 14px; }
  .quote-layout { grid-template-columns: minmax(0,1.45fr) minmax(295px,1fr); gap: 28px; }
  .workspace-heading h2 { font-size: 31px; }
  .configurator .form-section { padding-left: 37px; }
  .step-number { font-size: 15px; }
  .form-section legend { font-size: 16px; }
  .field-grid, .dimension-fields { gap: 15px; }
  .field label { font-size: 12px; }
  .material-specs .spec-item { padding-left: 10px; padding-right: 10px; gap: 1px 6px; }
  .material-specs .spec-item .spec-display { font-size: 11px; }
  .material-specs .spec-item>span { font-size: 10px; }
  .quote-summary { padding: 25px 23px 22px; }
  .quote-summary .quote-total>.price, .quote-summary .quote-total>.price:first-child { font-size: 44px; }
  .quote-summary .confirm-quote { font-size: 13px; }
  .quote-summary .panel-heading h2 { font-size: 15px; }
  .quote-summary .breakdown { font-size: 12px; }
  .service-strip { align-items: flex-start; flex-direction: column; gap: 19px; }
  .service-contact h2 { font-size: 21px; }
  .service-strip ul { gap: 24px; }
  .service-strip li+li { padding-left: 24px; }
  .page-intro h1 { font-size: 35px; }
  .recommend-layout { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 24px; }
  .recommend-form, .consultation-card, .lookup-form, .checkout-form, .checkout-summary, .order-information, .payment-panel { padding: 25px; }
  .recommend-form .field-grid { gap: 20px 15px; }
  .recommendation-empty { padding: 26px; }
  .recommendation-empty h2 { font-size: 22px; }
  .recommendation-empty p { font-size: 13px; }
  .checkout-layout { grid-template-columns: minmax(0,1.2fr) minmax(285px,1fr); gap: 23px; }
  .library-panel .material-table th, .library-panel .material-table td { padding-left: 13px; padding-right: 13px; }
  .library-panel .material-table th { font-size: 11px; }
  .library-panel .material-table td { font-size: 12px; }
  .material-table td strong { font-size: 14px; }
  .material-table .button { font-size: 11px; padding-left: 10px; padding-right: 10px; }
  .footer-inner { padding-left: 32px; padding-right: 32px; }
}

@media (min-width: 701px) and (max-width: 850px) {
  .header-inner { flex-wrap: wrap; min-height: 0; padding-top: 20px; gap: 0; }
  .header-contact { margin-left: auto; }
  .main-nav { order: 3; width: 100%; height: 51px; justify-content: flex-start; margin-top: 12px; gap: 30px; }
  .nav-link { min-height: 44px; font-size: 13px; }
  .hero { min-height: 435px; }
  .hero-art { width: 62%; }
  .hero h1 { font-size: 40px; }
  .hero-description { font-size: 15px; }
  .quote-layout { grid-template-columns: minmax(0,1.2fr) minmax(275px,1fr); gap: 24px; }
  .configurator .form-section { padding-left: 0; }
  .form-section legend { gap: 12px; }
  .step-number { position: static; }
  .material-selects { grid-template-columns: 1fr; }
  .dimension-fields { gap: 9px; }
  .dimension-fields input { padding-left: 9px; padding-right: 30px; font-size: 14px; }
  .dimension-fields .input-unit>span { right: 8px; font-size: 11px; }
  .material-specs .spec-item { display: block; }
  .material-specs .spec-item>span { margin-bottom: 3px; }
  .quote-summary { padding: 23px 21px; }
  .quote-summary .live-label { display: none; }
  .recommend-layout, .checkout-layout, .order-layout, .lookup-grid { grid-template-columns: 1fr; }
  .checkout-summary { grid-row: 1; }
  .recommendation-empty { min-height: 320px; }
  .recommendation-empty .consult-contact { width: 270px; }
  .library-panel .material-table { min-width: 660px; }
}

@media (max-width: 700px) {
  .header-inner { min-height: 0; padding: 19px 22px 0; gap: 0; }
  .brand { gap: 9px; }
  .brand-name { font-size: 22px; }
  .brand-name span { font-size: 8px; letter-spacing: 2px; }
  .header-contact { font-size: 12px; gap: 7px; padding: 5px 0; }
  .header-contact span { font-size: 17px; }
  .main-nav { margin-top: 17px; gap: 7px; height: 49px; }
  .nav-link { font-size: 12px; padding-left: 0; padding-right: 0; }
  .main-nav .nav-link { min-height: 44px; }
  .site-main { padding: 0 22px 32px; }
  .hero { display: flex; flex-direction: column; align-items: stretch; min-height: 0; margin: 0 -22px; padding: 34px 22px 0; overflow: hidden; }
  .hero-content { flex: none; width: 100%; }
  .hero .eyebrow { font-size: 9px; letter-spacing: 2.1px; margin-bottom: 18px; }
  .hero h1 { font-size: clamp(34px,8.2vw,48px); line-height: 1.22; letter-spacing: -1.3px; }
  .hero h1 .hero-line { white-space: normal; }
  .hero-description { margin-top: 17px; font-size: 15px; line-height: 1.8; }
  .hero-actions { margin-top: 23px; gap: 22px; }
  .hero-actions .button { min-height: 47px; font-size: 14px; padding: 11px 23px; }
  .hero-actions .button-secondary { padding-left: 0; padding-right: 0; }
  .hero-points { margin-top: 28px; gap: 20px; font-size: 10px; }
  .hero-points>span { gap: 7px; }
  .hero-points>span+span { padding-left: 20px; }
  .hero-points strong { font-size: 22px; }
  .hero-art { position: relative; inset: auto; width: calc(100% + 44px); height: 220px; margin: 12px -22px 0; }
  .hero-art img { object-fit: cover; object-position: 55% 50%; mask-image: linear-gradient(180deg,transparent 0%,#000 15%); }
  .material-discovery { padding: 26px 0 25px; }
  .discovery-heading { margin-bottom: 18px; gap: 15px; }
  .discovery-heading h2 { font-size: 16px; }
  .discovery-heading .text-link, .discovery-heading>button { font-size: 11px; }
  .material-tiles { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px 15px; }
  .material-tile, .material-tile:first-child, .material-tile:last-child { padding: 0; border: 0; gap: 7px 3px; }
  .material-tile+.material-tile { border-left: 0; }
  .material-tile img { aspect-ratio: 1.2; }
  .material-tile>span { font-size: 11px; }
  .material-tile>i { font-size: 13px; }
  .quote-workspace { padding-top: 28px; }
  .workspace-heading { display: block; margin-bottom: 28px; }
  .workspace-heading .section-kicker { font-size: 9px; margin-bottom: 9px; }
  .workspace-heading h2 { font-size: 29px; letter-spacing: -.7px; }
  .workspace-heading>p, .workspace-heading>small { display: block; margin-top: 8px; font-size: 11px; }
  .quote-layout { grid-template-columns: 1fr; gap: 28px; }
  .configurator { padding: 0; border: 0; }
  .configurator .form-section { padding-left: 0; }
  .configurator .form-section+.form-section { padding-top: 24px; margin-top: 24px; }
  .form-section legend { font-size: 16px; gap: 12px; margin-bottom: 19px; }
  .step-number { position: static; font-size: 16px; }
  .field label { font-size: 12px; margin-bottom: 8px; }
  .field label>.field-optional { font-size: 10px; }
  input, select, .field input, .field select, .field textarea { font-size: 16px; }
  input, select { height: 47px; }
  .material-selects { grid-template-columns: 1fr; gap: 17px; }
  .dimension-fields { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
  .dimension-fields .input-unit input { padding-left: 11px; padding-right: 31px; font-size: 16px; }
  .dimension-fields .input-unit>span { font-size: 11px; right: 10px; }
  .material-specs { margin-top: 18px; }
  .material-specs .spec-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .material-specs .spec-item { display: block; padding-left: 12px; padding-right: 12px; }
  .material-specs .spec-item>span { font-size: 10px; margin-bottom: 3px; }
  .material-specs .spec-item .spec-display { font-size: 12px; }
  .material-specs>.width-list { font-size: 11px; line-height: 1.9; }
  .material-details, .material-details summary { font-size: 11px; }
  .screen-helper { padding: 0; margin-bottom: 18px; }
  .screen-helper>summary { font-size: 12px; }
  .screen-helper[open] { padding: 14px; }
  .screen-helper-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .screen-helper-grid>.button { grid-column: 1/-1; }
  .screen-helper .field input, .screen-helper .field select { font-size: 16px; height: 44px; }
  .screen-helper .field-help { font-size: 11px; }
  .field-help { font-size: 12px; }
  .configurator .form-section:last-of-type>.field>select { max-width: none; }
  .quote-sidebar { position: static; }
  .quote-summary { padding: 25px 23px 23px; border-radius: 4px; }
  .quote-summary .panel-heading { margin-bottom: 22px; }
  .quote-summary .panel-heading h2 { font-size: 16px; }
  .quote-summary .quote-result-header { font-size: 11px; }
  .quote-summary .quote-total>.price, .quote-summary .quote-total>.price:first-child { font-size: 48px; }
  .quote-summary .quote-total p { font-size: 12px; }
  .quote-summary .breakdown { font-size: 13px; }
  .quote-summary .confirm-quote { min-height: 48px; font-size: 14px; }
  .quote-summary .quote-actions .button { font-size: 12px; }
  .quote-summary .quote-disclaimer { font-size: 10px; }
  .service-strip { flex-direction: column; align-items: stretch; gap: 22px; padding-top: 26px; margin-top: 31px; }
  .service-contact { gap: 14px; justify-content: space-between; align-items: center; }
  .service-contact h2 { font-size: 19px; }
  .service-contact .text-link { font-size: 11px; }
  .service-strip ul { justify-content: space-between; gap: 10px; }
  .service-strip li { font-size: 10px; }
  .service-strip li+li { padding-left: 10px; }
  .page-intro { padding: 32px 0 26px; }
  .page-intro .eyebrow { font-size: 9px; margin-bottom: 13px; }
  .page-intro h1 { font-size: 30px; letter-spacing: -.7px; }
  .page-intro>p:last-child, .order-detail-intro p:last-child { font-size: 13px; margin-top: 11px; }
  .recommend-layout, .checkout-layout, .order-layout, .lookup-grid { grid-template-columns: 1fr; gap: 22px; }
  .recommend-form, .consultation-card, .lookup-form, .checkout-form, .checkout-summary, .order-information, .payment-panel { padding: 23px 21px; border-radius: 4px; }
  .recommend-form .field-grid { gap: 22px 14px; }
  .recommend-form .panel-heading { margin-bottom: 24px; }
  h2 { font-size: 21px; }
  .optional-heading { font-size: 13px; }
  .consultation-card textarea { font-size: 15px; padding: 15px; }
  .consultation-card .inline-actions .button { font-size: 12px; min-height: 43px; }
  .recommendation-empty { padding: 28px 22px; min-height: 345px; }
  .recommendation-empty h2 { font-size: 23px; }
  .recommendation-empty p { font-size: 13px; }
  .recommendation-empty .consult-contact { width: min(100%,270px); }
  .empty-state { padding: 44px 22px; }
  .empty-state h2 { font-size: 21px; }
  .empty-state p { font-size: 13px; }
  .library-toolbar { padding: 0 0 19px; gap: 12px; }
  .search-field { max-width: none; flex-basis: 100%; }
  .filter-field { width: 100%; }
  #materials-list { overflow: visible; padding: 0; }
  #materials-list .table-note { padding: 19px 0; font-size: 11px; }
  #materials-list .material-type-group>h3 { margin: 0 0 14px; font-size: 16px; }
  #materials-list .material-type-group+.material-type-group { margin-top: 27px; }
  #materials-list .material-table tbody { gap: 13px; }
  #materials-list .material-table tbody tr { border-radius: 4px; border-color: #dce3e9; padding: 18px; gap: 17px 12px; }
  #materials-list .material-table td { padding: 0; font-size: 13px; }
  #materials-list .material-model-cell strong { font-size: 17px; color: #263e50; }
  #materials-list .material-cell-label { font-size: 10px; color: #788d9d; margin-bottom: 5px; }
  #materials-list .material-spec-value { color: #405e75; font-size: 12px; }
  #materials-list .material-table .material-category-cell { font-size: 10px; }
  #materials-list .material-category-cell>span { background: #f2f5f7; border-radius: 3px; }
  #materials-list .material-table .material-action-cell { padding-top: 14px; border-top-color: #e4eaee; }
  #materials-list .material-action-cell .button { min-height: 43px; font-size: 12px; }
  .library-panel .material-table { min-width: 0; }
  .saved-card { padding: 23px 21px; border-radius: 4px; gap: 18px; }
  .saved-card h3 { font-size: 17px; }
  .saved-card p { font-size: 12px; }
  .saved-price { font-size: 27px; }
  .saved-card .button { font-size: 12px; }
  .saved-notice { font-size: 11px; }
  .order-steps { font-size: 11px; gap: 15px; flex-wrap: wrap; margin-bottom: 22px; }
  .checkout-summary { grid-row: 1; }
  .checkout-summary .price { font-size: 36px; }
  .checkout-actions { flex-direction: column; align-items: stretch; gap: 10px; }
  .checkout-actions .button { min-height: 46px; font-size: 13px; }
  .check-field { font-size: 12px; }
  .code-input .button { font-size: 12px; padding-left: 12px; padding-right: 12px; }
  .order-detail-intro { flex-direction: column; align-items: flex-start; }
  .order-detail-intro>.button { margin-top: 0; font-size: 12px; }
  .order-overview { padding: 22px; }
  .order-number { font-size: 19px; }
  .contact-details>div { grid-template-columns: 62px 1fr; gap: 12px; }
  .payment-ledger>div { font-size: 12px; }
  .site-footer { padding-bottom: 62px; }
  .footer-inner { padding: 24px 22px; gap: 13px; }
  .footer-inner p:first-child { flex-direction: column; gap: 7px; }
  .footer-inner strong, .footer-inner p:first-child span, .footer-inner a { font-size: 10px; }
  .contact-launcher { bottom: 18px; right: 13px; font-size: 11px; padding: 10px 13px; min-height: 42px; }
  .has-mobile-quote .contact-launcher { bottom: calc(91px + env(safe-area-inset-bottom,0px)); }
  .mobile-quote-bar:not([hidden]) { border-top-color: #d7e0e7; box-shadow: none; padding-left: 18px; padding-right: 18px; }
  .mobile-quote-amount span { font-size: 10px; }
  .mobile-quote-amount strong { font-size: 23px; color: var(--ink); }
  .mobile-quote-bar>.button { min-width: 132px; min-height: 46px; font-size: 13px; }
  .contact-dialog { border-radius: 6px; }
  .contact-dialog-heading h2 { font-size: 20px; }
  .contact-dialog-grid { padding: 19px; }
  .toast { bottom: 158px; }
}

@media (max-width: 370px) {
  .header-inner { padding-left: 16px; padding-right: 16px; }
  .site-main { padding-left: 16px; padding-right: 16px; }
  .main-nav { gap: 5px; }
  .nav-link { font-size: 11px; }
  .hero { margin-left: -16px; margin-right: -16px; padding-left: 16px; padding-right: 16px; }
  .hero h1 { font-size: 33px; }
  .hero-description { font-size: 14px; }
  .hero-art { width: calc(100% + 32px); margin-left: -16px; margin-right: -16px; height: 200px; }
  .hero-actions { gap: 18px; }
  .hero-actions .button { font-size: 13px; padding-left: 21px; padding-right: 21px; }
  .hero-actions .button-secondary { padding-left: 0; padding-right: 0; }
  .material-tiles { gap: 22px 11px; }
  .material-tile>span { font-size: 10px; }
  .material-tile>i { font-size: 11px; }
  .workspace-heading h2 { font-size: 27px; }
  .field label { font-size: 12px; }
  .dimension-fields { gap: 9px; }
  .dimension-fields .input-unit input { padding-left: 9px; padding-right: 29px; font-size: 15px; }
  .dimension-fields .input-unit>span { right: 8px; font-size: 10px; }
  .material-specs .spec-item { padding-left: 9px; padding-right: 9px; }
  .material-specs .spec-item .spec-display { font-size: 11px; }
  .quote-summary { padding: 24px 21px; }
  .quote-summary .quote-total>.price, .quote-summary .quote-total>.price:first-child { font-size: 45px; }
  .service-contact { flex-direction: column; align-items: flex-start; gap: 12px; }
  .service-strip ul { gap: 8px; }
  .service-strip li { font-size: 9px; }
  .service-strip li+li { padding-left: 8px; }
  .recommend-form, .consultation-card, .lookup-form, .checkout-form, .checkout-summary, .order-information, .payment-panel { padding: 21px 17px; }
  .recommend-form .field-grid { gap: 20px 12px; }
  #materials-list .material-table tbody tr { padding: 16px; gap: 16px 9px; }
  #materials-list .material-model-cell strong { font-size: 16px; }
  #materials-list .material-spec-value { font-size: 11px; }
  .code-input .button { font-size: 11px; padding-left: 10px; padding-right: 10px; }
  .code-input input { padding-left: 10px; }
  .footer-inner { padding-left: 16px; padding-right: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .material-tile img { transition: none; }
  .material-tile:hover img { transform: none; }
}

#contact-launcher { display: none; }
.footer-contact { padding: 8px 0; min-height: 36px; font-size: 12px; color: #42515d; background: transparent; }
.footer-contact:hover { color: var(--blue); }
@media (max-width: 700px) { .footer-contact { min-height: 44px; } }

@media print {
  .hero-art, .material-discovery, .service-strip, .header-contact { display: none!important; }
  .quote-summary { background: #fff!important; color: #17232c!important; border: 1px solid #cbd5dd!important; }
  .quote-summary .quote-total { background: none!important; }
  .quote-summary .quote-total>.price, .quote-summary .quote-total p, .quote-summary .quote-total strong,
  .quote-summary .panel-heading h2, .quote-summary .breakdown dt, .quote-summary .breakdown dd,
  .quote-summary .quote-line-item, .quote-summary .quote-line-item span, .quote-summary .quote-result-header,
  .quote-summary .quote-details, .quote-summary .quote-details summary { color: #17232c!important; }
  .quote-sidebar { position: static; }
}

/* Customer journey refinements. Preserve the existing pale quotation surface. */
.hero-service { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; list-style: none; margin: 20px 0 0; padding: 0; color: #52616a; font-size: 12px; line-height: 1.6; }
.hero-service li { white-space: nowrap; }
.hero-service li+li { padding-left: 18px; border-left: 1px solid #cdd4d7; }
.hero-service strong { color: #273d4b; font-weight: 600; }
.hero-service+.hero-points { margin-top: 27px; }
#quote-dimensions, #quote-review { scroll-margin-top: 24px; }
#quote-dimensions:focus, #quote-review:focus { outline: none; }
#quote-dimensions:focus-visible, #quote-review:focus-visible { outline: 2px solid #94b3e8; outline-offset: 7px; }
.quote-summary .quote-delivery { margin: 23px 0 0; color: #566c7a; font-size: 11px; line-height: 1.8; }
.quote-delivery>span { color: #8b99a3; padding: 0 5px; }
.quote-summary .preflight-button { margin-top: 14px; min-height: 46px; color: #245fdb; border-color: #b8cbed; background: #fff; font-size: 13px; }
.quote-summary .preflight-button:hover { color: #174bb9; border-color: #8daee5; background: #f0f5ff; }
.quote-summary .preflight-button+.confirm-quote { margin-top: 10px; }
.quote-summary .preflight-button[hidden]+.confirm-quote { margin-top: 18px; }
.checkout-preflight { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0 0 25px; padding: 17px 22px; text-align: left; background: #f4f7fc; border: 1px solid #d5e0ef; border-radius: 4px; color: #245fdb; }
.checkout-preflight>span { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 22px; }
.checkout-preflight strong { font-size: 14px; font-weight: 600; }
.checkout-preflight small { color: #697b88; font-size: 12px; font-weight: 400; }
.checkout-preflight i { font-style: normal; font-size: 20px; }
.checkout-preflight:hover { background: #edf3fc; border-color: #b5cae9; }
#materials-list .material-spec-unconfirmed .material-model-cell small { color: #71818d; }
#materials-list .material-action-cell [data-spec-inquiry] { color: #245fdb; border-color: #c4d4ed; }
.spec-inquiry-link { display: inline-flex; align-items: center; min-height: 36px; gap: 6px; margin-top: 8px; padding: 5px 0; color: #245fdb; background: none; font-size: 12px; text-align: left; }
.spec-inquiry-link:hover { color: #174bb9; text-decoration: underline; }
@media (max-width: 1000px) {
  .hero-service { gap: 8px 12px; font-size: 11px; }
  .hero-service li+li { padding-left: 12px; }
}
@media (max-width: 700px) {
  .hero-service { margin-top: 17px; gap: 7px 11px; font-size: 10px; }
  .hero-service li+li { padding-left: 11px; }
  .hero-service+.hero-points { margin-top: 23px; }
  #quote-dimensions, #quote-review { scroll-margin-top: 20px; }
  .quote-summary .quote-delivery { font-size: 11px; margin-top: 21px; }
  .quote-summary .preflight-button { font-size: 13px; min-height: 47px; }
  .checkout-preflight { padding: 16px 18px; margin-bottom: 22px; }
  .checkout-preflight>span { display: flex; flex-direction: column; gap: 4px; }
  .checkout-preflight strong { font-size: 14px; }
  .checkout-preflight small { font-size: 11px; }
  #materials-list .material-table td.material-spec-cell[data-spec-missing="true"] { display: none; }
  .mobile-quote-bar:not([hidden]) { gap: 12px; }
  .mobile-quote-amount { flex: 1; min-width: 0; }
  .mobile-quote-amount strong { font-size: 20px; }
  .mobile-quote-amount span, .mobile-quote-amount strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-quote-bar>.button { min-width: 122px; }
}
@media (max-width: 370px) {
  .hero-service { gap: 7px 8px; font-size: 9px; }
  .hero-service li+li { padding-left: 8px; }
  .mobile-quote-amount strong { font-size: 18px; }
  .mobile-quote-bar>.button { min-width: 116px; padding-left: 15px; padding-right: 15px; }
}
@media print {
  .hero-service, .checkout-preflight, .spec-inquiry-link { display: none!important; }
}
