:root{--ink:#121418;--muted:#71757d;--paper:#f4f1eb;--panel:#faf9f6;--line:#d9d6cf;--orange:#e65324;--orange-dark:#bf3d17;--steel:#6b7178;--lime:#c6ff36}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;border-bottom:1px solid #d2cfc8;background:rgba(244,241,235,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;font:800 18px/1 Manrope;letter-spacing:-.7px;text-decoration:none;color:var(--ink)}.brand>span>span{color:var(--orange)}.brand-mark{width:27px;height:27px;display:flex;gap:3px;align-items:flex-end;transform:skewY(-10deg)}.brand-mark i{display:block;width:7px;background:var(--orange)}.brand-mark i:nth-child(1){height:17px}.brand-mark i:nth-child(2){height:24px}.brand-mark i:nth-child(3){height:13px}.site-header nav{display:flex;gap:38px}.site-header nav a{color:#4e5258;text-decoration:none;font-size:14px;font-weight:600}.site-header nav a:hover{color:var(--orange)}button{font:inherit}.header-cta,.primary-btn{border:0;background:var(--orange);color:white;padding:14px 19px;font-weight:700;cursor:pointer}.header-cta span,.primary-btn>span{margin-left:22px}.header-cta:hover,.primary-btn:hover{background:var(--orange-dark)}
.hero{max-width:1160px;margin:auto;padding:88px 30px 66px}.eyebrow,.step-label{font-size:11px;letter-spacing:2px;font-weight:800;color:#62666c}.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow span{height:2px;width:25px;background:var(--orange)}h1,h2{font-family:Manrope,sans-serif;letter-spacing:-3.5px;margin:18px 0;line-height:.98}h1{font-size:clamp(48px,6.5vw,82px);max-width:1000px}h1 em,h2 em{color:var(--orange);font-style:normal}.hero>p{max-width:610px;color:#656970;font-size:17px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px}.primary-btn{padding:16px 20px}.hero-actions>span{font-size:12px;color:#777b81}
.value-strip{display:grid;grid-template-columns:repeat(3,1fr);max-width:1160px;margin:0 auto 55px;border-top:1px solid #cfccc5;border-bottom:1px solid #cfccc5}.value-strip article{display:flex;gap:15px;padding:24px 25px;border-right:1px solid #d7d4cd}.value-strip article:last-child{border-right:0}.value-strip article>span{color:var(--orange);font:800 10px Manrope;letter-spacing:1px}.value-strip strong{display:block;font:700 13px Manrope;color:#2c2f34}.value-strip p{margin:6px 0 0;color:#74787e;font-size:10px;line-height:1.5}.workspace{display:grid;grid-template-columns:390px minmax(0,1fr);max-width:1220px;min-height:760px;margin:0 auto 100px;background:var(--panel);border:1px solid #cfccc5;box-shadow:0 24px 70px rgba(31,29,25,.12)}.config-panel{border-right:1px solid var(--line);background:#f9f8f5}.panel-heading{padding:25px 27px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:20px;letter-spacing:-.7px;margin:5px 0 0}.reset-btn{border:0;background:none;color:var(--orange);font-size:12px;font-weight:700;cursor:pointer}.control-section{padding:23px 27px;border-bottom:1px solid var(--line)}.control-section h3{font:700 13px Manrope;margin:0 0 15px;text-transform:uppercase;letter-spacing:.7px}.shape-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.shape-option{background:#fff;border:1px solid var(--line);padding:12px 4px 9px;display:grid;place-items:center;gap:8px;color:#6b6f75;font-size:11px;cursor:pointer}.shape-option.active{border:1.5px solid var(--orange);color:var(--orange);box-shadow:inset 0 -2px var(--orange)}.shape-icon{display:block;width:31px;height:22px;border:2px solid currentColor}.shape-icon.square{width:24px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field-row label,.select-label{font-size:11px;font-weight:700;color:#5f636a;position:relative}.field-row label>span{position:absolute;right:11px;top:35px;color:#999;z-index:1}.field-row input,.select-label select{display:block;width:100%;height:42px;margin-top:7px;border:1px solid #d4d1ca;background:#fff;padding:0 12px;color:#1c1e22;font:600 13px DM Sans}.field-row input:focus,.select-label select:focus{outline:2px solid rgba(230,83,36,.22);border-color:var(--orange)}.field-row input[data-imperial]{padding-right:52px}.field-row input.invalid-dimension{border-color:#bf4b2a;background:#fff8f5}.field-row input.invalid-dimension:focus{outline-color:rgba(191,75,42,.25)}.dimension-format-note{margin:8px 0 0;color:#85898e;font-size:9px;line-height:1.4}.select-label{display:block;margin-top:13px}.select-label select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%23666'/%3E%3C/svg%3E") no-repeat right 12px center}.edge-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:15px;border-top:1px solid #e1ded7;color:#5f636a;font-size:11px;font-weight:700}.switch{position:relative;width:34px;height:19px}.switch input{position:absolute;opacity:0;pointer-events:none}.switch i{display:block;width:34px;height:19px;border-radius:20px;background:#c9c7c1;cursor:pointer;transition:.2s}.switch i:after{content:"";display:block;width:13px;height:13px;border-radius:50%;background:white;transform:translate(3px,3px);box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.2s}.switch input:checked+i{background:var(--orange)}.switch input:checked+i:after{transform:translate(18px,3px)}.switch input:focus-visible+i{outline:2px solid rgba(230,83,36,.35);outline-offset:2px}.edge-distance-field{display:none;position:relative;margin-top:12px;color:#5f636a;font-size:11px;font-weight:700}.edge-distance-field.visible{display:block}.edge-distance-field>span{position:absolute;right:11px;top:35px;color:#999}.edge-distance-field input{display:block;width:100%;height:42px;margin-top:7px;border:1px solid #d4d1ca;background:#fff;padding:0 35px 0 12px;color:#1c1e22;font:600 13px DM Sans}.edge-distance-field input:focus{outline:2px solid rgba(230,83,36,.22);border-color:var(--orange)}.edge-distance-row{margin-top:13px}.edge-distance-note,.stud-size-note{margin:8px 0 0;color:#85898e;font-size:9px;line-height:1.4}.stud-size-note{margin-bottom:13px}.standalone-field{display:block;width:100%;height:42px;margin-top:7px;border:1px solid #d4d1ca;background:#fff;padding:0 12px;color:#1c1e22;font:600 13px DM Sans}.standalone-field:focus{outline:2px solid rgba(230,83,36,.22);border-color:var(--orange)}.order-section{background:#f1efe9}.order-section>p{margin:-6px 0 13px;color:#777b80;font-size:10px}.quantity-control{display:flex;align-items:center;height:47px;border:1px solid #d1cec7;background:#fff}.quantity-control input{width:82px;height:100%;border:0;border-right:1px solid #dedbd4;padding:0 13px;font:700 16px Manrope}.quantity-control input:focus{outline:2px solid rgba(230,83,36,.22);outline-offset:-2px}.quantity-control span{padding-left:13px;color:#676b71;font-size:11px;font-weight:700}.add-quote-button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:14px;padding:14px 15px;border:0;background:var(--orange);color:white;font-weight:700;cursor:pointer}.add-quote-button:hover{background:var(--orange-dark)}.add-quote-button:disabled{background:#aaa;cursor:not-allowed}.add-quote-button b{font-size:17px;font-weight:500}.quote-builder{max-width:1220px;margin:-58px auto 100px;border:1px solid #cfccc5;background:#faf9f6;box-shadow:0 16px 45px rgba(31,29,25,.08)}.quote-heading{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid var(--line)}.quote-heading h2{margin:5px 0 0;font-size:22px;letter-spacing:-.8px}.quote-count{padding:7px 10px;background:#ece9e2;color:#696d73;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.quote-empty{padding:32px;text-align:center;color:#92959a;font-size:12px}.quote-items{display:grid}.quote-item{display:grid;grid-template-columns:70px 1.3fr 1fr 90px 116px;align-items:center;gap:18px;padding:17px 24px;border-bottom:1px solid var(--line)}.quote-item-number{color:#a0a3a7;font:700 10px Manrope;letter-spacing:1px}.quote-item strong{display:block;font:700 13px Manrope}.quote-item small{display:block;margin-top:4px;color:#85898f;font-size:10px}.quote-item-qty{text-align:center}.quote-actions{display:flex;gap:6px;justify-content:flex-end}.quote-actions button{border:1px solid #d3d0c9;background:#fff;padding:8px 10px;color:#555960;font-size:10px;font-weight:700;cursor:pointer}.quote-actions button:hover{border-color:var(--orange);color:var(--orange)}.quote-actions .remove-item{padding-inline:9px;color:#999}.quote-total{display:none;align-items:center;justify-content:flex-end;gap:18px;padding:18px 25px;background:#292c30;color:#b8bcc0;font-size:11px}.quote-total.visible{display:flex}.quote-total strong{color:var(--lime);font:700 15px Manrope}.section-title-row{display:flex;align-items:center;justify-content:space-between}.status-dot{font-size:8px;letter-spacing:1px;background:#e8eddc;color:#667044;padding:5px 7px}.code-note{display:flex;gap:10px;margin-top:16px;padding:11px;background:#f0eee8}.code-note>span{flex:0 0 18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-size:10px}.code-note p{font-size:9px;line-height:1.45;color:#73767b;margin:0}.code-note strong{display:block;color:#303338;font-size:10px}
.viewer-panel{min-width:0;background:#26292d;position:relative;overflow:hidden;min-height:760px}.viewer-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 43%,#4a4e53 0,transparent 48%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,40px 40px,40px 40px}.viewer-toolbar{position:absolute;z-index:2;top:20px;left:22px;right:22px;display:flex;justify-content:space-between}.live-badge{color:#d8dadd;background:rgba(10,11,13,.45);padding:8px 10px;font-size:10px;letter-spacing:1.2px;text-transform:uppercase}.live-badge i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 8px var(--lime);margin-right:6px}.view-actions{display:flex;gap:5px}.view-actions button{width:35px;height:35px;border:1px solid #5c6065;background:#303338;color:#aeb1b5;cursor:pointer}.view-actions button.active,.view-actions button:hover{border-color:#999;color:white}#plateCanvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab}.fit-warning{display:none;position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:min(310px,calc(100% - 40px));padding:15px 17px;border:1px solid rgba(230,83,36,.7);background:rgba(25,27,30,.94);color:#e9ebed;text-align:center;box-shadow:0 12px 30px rgba(0,0,0,.3);pointer-events:none}.fit-warning.visible{display:block}.fit-warning strong{display:block;color:#ff7950;font:700 12px Manrope;text-transform:uppercase;letter-spacing:.7px}.fit-warning span{display:block;margin-top:6px;color:#b9bdc1;font-size:10px;line-height:1.5}#plateCanvas:active{cursor:grabbing}.dimension-tag{position:absolute;color:#dadcdf;font-size:10px;letter-spacing:1px;background:#2b2e32;padding:4px 8px;border:1px solid #666a70;pointer-events:none}.dimension-tag.horizontal{left:50%;bottom:135px;transform:translateX(-50%)}.dimension-tag.vertical{right:30px;top:50%;transform:rotate(90deg)}.drag-hint{position:absolute;left:50%;bottom:95px;transform:translateX(-50%);font-size:9px;color:#91959a;letter-spacing:.6px}.viewer-summary{position:absolute;z-index:2;bottom:0;left:0;right:0;min-height:72px;background:rgba(18,20,23,.88);border-top:1px solid #55585d;display:grid;grid-template-columns:1fr 1fr;align-items:center}.viewer-summary>div{padding:0 24px;border-right:1px solid #46494e}.viewer-summary>div:last-child{border:0}.viewer-summary span{font-size:8px;color:#8c9095;letter-spacing:1.3px;display:block;margin-bottom:6px}.viewer-summary strong{font:600 13px Manrope;color:#eceeef}.viewer-summary>div:last-child strong{color:var(--lime)}
.customer-details{max-width:1220px;margin:-58px auto 100px;border:1px solid #cfccc5;background:#faf9f6;box-shadow:0 16px 45px rgba(31,29,25,.08)}.details-heading{padding:27px 30px;border-bottom:1px solid var(--line)}.details-heading h2{margin:6px 0 7px;font-size:28px;letter-spacing:-1.2px}.details-heading p{margin:0;color:#74787e;font-size:12px}.customer-details form{padding:28px 30px}.customer-details fieldset{margin:0 0 26px;padding:0;border:0}.customer-details legend{width:100%;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #dedbd4;font:700 12px Manrope;text-transform:uppercase;letter-spacing:.7px;color:#33363b}.shipping-note{margin:-5px 0 14px;color:#777b80;font-size:10px}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.details-grid label{color:#5f636a;font-size:11px;font-weight:700}.details-grid label.wide{grid-column:1/-1}.details-grid em{float:right;color:#a0a3a7;font-size:8px;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.7px}.details-grid input,.details-grid select,.details-grid textarea{display:block;width:100%;margin-top:7px;border:1px solid #d4d1ca;background:#fff;padding:0 12px;color:#1c1e22;font:500 13px DM Sans}.details-grid input,.details-grid select{height:43px}.details-grid textarea{padding-top:11px;resize:vertical;line-height:1.5}.details-grid input:focus,.details-grid select:focus,.details-grid textarea:focus{outline:2px solid rgba(230,83,36,.22);border-color:var(--orange)}.details-grid input:user-invalid,.details-grid select:user-invalid{border-color:#bf4b2a;background:#fff8f5}.privacy-box{display:flex;gap:12px;padding:15px 16px;background:#efede7}.privacy-box>span{flex:0 0 19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#33363a;color:#fff;font-size:10px}.privacy-box p{margin:0;color:#666a70;font-size:10px;line-height:1.55}.privacy-box strong{display:block;margin-bottom:2px;color:#303338;font-size:11px}.confirmation{display:flex;align-items:flex-start;gap:9px;margin-top:16px;color:#555960;font-size:10px;line-height:1.45}.confirmation input{margin-top:1px;accent-color:var(--orange)}.form-actions{display:flex;align-items:center;gap:18px;margin-top:21px}.form-actions p{margin:0;color:#656a70;font-size:10px;line-height:1.45}.form-actions p.error{color:#b54122}.form-actions p.success{color:#55712b}.next-step{max-width:700px;margin:0 auto;text-align:center;padding:20px 30px 110px}.next-step h2{font-size:48px}.next-step>p{color:#6c7076;line-height:1.7}.primary-btn.muted{margin-top:18px;background:#272a2e;cursor:not-allowed}.primary-btn.muted span{font-size:9px;color:#aaa;text-transform:uppercase;letter-spacing:1px}footer{border-top:1px solid #d4d1ca;padding:30px 5vw;display:flex;align-items:center;gap:30px;color:#777b80;font-size:11px}footer p{flex:1}footer .brand{transform:scale(.85);transform-origin:left}
@media(max-width:850px){.site-header nav{display:none}.hero{padding-top:60px}.workspace{grid-template-columns:1fr;margin:0 15px 70px}.config-panel{border-right:0}.viewer-panel{min-height:600px}.next-step h2{font-size:39px}}@media(max-width:520px){.site-header{padding:0 18px}.header-cta{font-size:0;padding:12px}.header-cta span{font-size:18px;margin:0}.hero{padding:50px 20px}.hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.workspace{margin-inline:0;border-left:0;border-right:0}.config-panel,.control-section,.panel-heading{min-width:0}.control-section,.panel-heading{padding-inline:20px}.viewer-panel{min-height:500px}.viewer-summary>div{padding:0 9px}.viewer-summary strong{font-size:10px}.dimension-tag.vertical{right:5px}.next-step h2{font-size:34px}footer{align-items:flex-start;flex-direction:column;gap:5px}}

@media(max-width:700px){.quote-builder{margin:-40px 0 70px;border-left:0;border-right:0}.quote-item{grid-template-columns:44px 1fr auto;gap:10px}.quote-item-spec{grid-column:2}.quote-item-studs{grid-column:2}.quote-item-qty{grid-column:3;grid-row:1/3}.quote-actions{grid-column:2/4;justify-content:flex-start}}

.internal-weight,[hidden]{display:none!important}.quantity-stepper{display:flex;align-items:center;justify-content:center;gap:7px}.quantity-stepper button{width:25px;height:25px;border:1px solid #d3d0c9;background:#fff;color:#555960;font-size:14px;line-height:1;cursor:pointer}.quantity-stepper button:hover{border-color:var(--orange);color:var(--orange)}.quantity-stepper strong{min-width:34px;text-align:center}.quantity-stepper small{display:none}

@media(max-width:760px){.value-strip{grid-template-columns:1fr;margin:0 20px 45px}.value-strip article{border-right:0;border-bottom:1px solid #d7d4cd}.value-strip article:last-child{border-bottom:0}}

@media(max-width:700px){.customer-details{margin:-40px 0 70px;border-left:0;border-right:0}.customer-details form,.details-heading{padding-left:20px;padding-right:20px}.details-grid{grid-template-columns:1fr}.details-grid label.wide{grid-column:auto}.form-actions{align-items:flex-start;flex-direction:column}}

.customer-details legend span{float:right;color:#96999e;font:700 8px DM Sans;letter-spacing:.8px}.details-grid textarea{min-height:96px}.file-field input[type=file]{height:auto;padding:11px;background:#f5f3ee;border-style:dashed;cursor:pointer}.file-field small{display:block;margin-top:6px;color:#888c91;font-size:9px;font-weight:500}.turnstile-slot{min-height:0;margin-top:16px}.primary-btn:disabled,.header-cta:disabled{background:#aaa;cursor:wait}.quote-success-card{margin-top:24px;padding:24px;border:1px solid #c8d7a7;background:#f3f7e9}.quote-success-card>span{color:#667940;font-size:9px;font-weight:800;letter-spacing:1.4px}.quote-success-card h3{margin:7px 0 8px;font:800 26px Manrope;letter-spacing:-1px}.quote-success-card p{max-width:660px;margin:0 0 18px;color:#5e6454;font-size:11px;line-height:1.55}.quote-success-card .primary-btn{display:inline-block;text-decoration:none}.site-header nav{gap:30px}
