:root{--shop-accent:#4c5965}
.site-header{max-width:1280px;margin:auto;padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--surface)}
body{background:#f7f8fa}.site-header:before{content:"";position:absolute;left:0;right:0;top:0;height:96px;background:white;z-index:-1}
.brand-link{display:inline-flex;align-items:center;flex-shrink:0}.brand-logo{width:220px;height:66px;object-fit:cover}
.site-header nav{display:flex;align-items:center;gap:26px}.site-header nav a{text-decoration:none;font-size:14px}
.shop-width{max-width:1180px;margin:auto;padding-left:28px;padding-right:28px}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding-top:65px;padding-bottom:80px}
.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:700;color:#68737e;margin-bottom:22px}
.hero h1{font-size:clamp(42px,5vw,70px);letter-spacing:-.055em;line-height:1.07;margin-bottom:26px}.hero h1 span{color:#727e89}
.hero-copy{max-width:510px;font-size:17px;line-height:1.8;color:#626a74}.hero-button{margin-top:12px;gap:30px;min-height:54px}
.quiet{font-size:13px;line-height:1.6;color:#6a737e;max-width:420px;margin-top:18px}
.hero-art{position:relative;min-width:0;background:linear-gradient(145deg,#e4e8ed,#fff);border:1px solid #e0e4e8;border-radius:30px;overflow:hidden;box-shadow:0 20px 65px #26384a0d}
.hero-art img{width:100%;height:auto;display:block}.hero-caption{position:absolute;left:28px;right:28px;bottom:26px;text-align:center;display:grid;gap:7px}.hero-caption span{font-size:9px;letter-spacing:.2em;color:#69737b}.hero-caption strong{font-size:17px;font-weight:500}
.steps-section{padding-bottom:75px}.steps-section h2{font-size:29px;letter-spacing:-.025em}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px}.steps article{padding:28px;background:#fff;border:1px solid var(--border);border-radius:16px}.steps article>span{display:block;color:#9ba4ae;font-size:14px;margin-bottom:28px}.steps h3{font-size:19px}.steps p{font-size:14px;line-height:1.7;color:#69717b;margin-bottom:0}
.closing{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:35px;padding-bottom:35px;border-top:1px solid var(--border)}.closing h2{font-size:24px}.closing p{margin:0;color:var(--text-muted)}
.site-footer{display:flex;justify-content:space-between;gap:20px;padding-top:36px;padding-bottom:30px;color:#77818c;font-size:12px}.site-footer a{text-decoration:none}
.shop-page{padding-top:35px;padding-bottom:50px}.shop-page h1{letter-spacing:-.03em}.shop-intro{color:var(--text-muted);line-height:1.7;max-width:650px}
.notice{padding:16px 20px;background:white;border:1px solid var(--border);border-radius:12px;margin:20px 0;line-height:1.6}.notice a{font-weight:600}
.print-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:24px;align-items:start}.shop-card{padding:26px;background:#fff;border:1px solid var(--border);border-radius:16px}
.upload-area{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:210px;border:2px dashed #cdd3da;border-radius:12px;background:#f8f9fb;text-align:center;padding:26px;margin-bottom:20px}.upload-area.dragover{border-color:#414e5d;background:#edf1f5}.upload-area p{color:#77818c;font-size:13px}.upload-area input{max-width:100%}
.model-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0 0}.model-facts div{padding:12px;background:#f7f8fa;border-radius:8px;min-width:0}.model-facts dt{font-size:11px;color:#75808b;margin-bottom:6px}.model-facts dd{margin:0;font-size:13px;font-weight:600;overflow-wrap:anywhere}
.shop-card label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}.shop-card small{display:block;color:#77818c;line-height:1.5;margin-top:6px}.shop-card .form-group{margin-bottom:20px}
.quote-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.quote-price{font-size:48px;font-weight:750;letter-spacing:-.04em;margin:12px 0}.quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.price-lines{margin:0}.price-lines>div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--border)}.price-lines dt{color:#66717b}.price-lines dd{margin:0;font-weight:600}.price-lines>div:last-child{border:0}
.quote-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.status-message{padding:30px 0;color:var(--text-muted);line-height:1.7}.word-wrap{overflow-wrap:anywhere}
@media(max-width:850px){.hero{gap:24px;padding-top:35px}.hero h1{font-size:45px}.steps{gap:12px}.steps article{padding:22px}.print-layout{grid-template-columns:1fr}.site-header nav{gap:15px}}
@media(max-width:650px){.site-header{padding:10px 16px;gap:12px;flex-wrap:wrap}.brand-logo{width:170px;height:52px}.site-header nav{gap:15px;flex:1;justify-content:flex-end}.site-header nav a:first-child:not(.btn){display:none}.site-header .btn{min-height:38px;padding:0 12px;font-size:12px}.shop-width{padding-left:18px;padding-right:18px}.hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:50px}.hero-art{max-width:380px;width:100%;justify-self:center}.hero h1{font-size:50px}.hero-copy{font-size:16px}.steps{grid-template-columns:1fr}.steps-section{padding-bottom:35px}.steps-section h2{font-size:25px}.steps article>span{margin-bottom:16px}.closing{align-items:flex-start;flex-direction:column}.site-footer{flex-direction:column}.quote-layout{grid-template-columns:1fr}.shop-card{padding:20px}.model-facts{grid-template-columns:repeat(2,1fr)}.quote-price{font-size:40px}}
.shop-card{min-width:0}.print-layout>*{min-width:0}.shop-card input,.shop-card select{min-width:0;max-width:100%}.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.config-grid input{width:100%}#profiles form{margin-bottom:24px}#profiles select{width:100%;margin-bottom:10px}.price-lines dd{text-align:right;overflow-wrap:anywhere;min-width:0}
@media(max-width:850px){.print-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:650px){.config-grid{grid-template-columns:minmax(0,1fr)}.upload-area{padding:16px}.shop-card input[type=file]{width:100%}}

.material-choices,.color-choices{display:grid;gap:10px}.color-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card{display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:68px;padding:14px;text-align:left;background:#fff;color:#202b34;border:1px solid #cdd4db;border-radius:12px;font:inherit;cursor:pointer;transition:border-color .15s,background .15s}.choice-card:hover:not(:disabled){background:#f4f7f9;border-color:#647584}.choice-card[aria-pressed=true]{border:2px solid #263b4c;padding:13px;background:#eef3f6}.choice-card:focus-visible{outline:3px solid #3679ac;outline-offset:3px}.choice-card:disabled{opacity:.55;cursor:not-allowed}.choice-copy{display:grid;gap:5px;flex:1;min-width:0;overflow-wrap:anywhere}.choice-copy strong{font-size:14px}.choice-description{font-size:12px;line-height:1.6;color:#566572}.choice-check{visibility:hidden;font-weight:700}.choice-card[aria-pressed=true] .choice-check{visibility:visible}.color-swatch{width:32px;height:32px;flex-shrink:0;border-radius:50%;border:1px solid #8996a0;box-shadow:inset 0 0 0 2px #ffffff55}.unknown-color{background:repeating-linear-gradient(45deg,#ccc 0 4px,#fff 4px 8px)}.choice-caption{font-size:13px;margin:10px 0 0;color:#43515d}.shop-card select[hidden]{display:none}@media(max-width:380px){.color-choices{grid-template-columns:1fr}}

.selection-summary{padding:16px;border-radius:12px;background:#f1f5f7;margin:18px 0;color:#243544}.selection-summary p{font-size:13px;line-height:1.6;margin:8px 0 0;overflow-wrap:anywhere}#calculate-hint{color:#526471}#quality-info{display:none}

.inline-quote{margin-top:24px;padding-top:24px;border-top:1px solid var(--border);scroll-margin-top:24px}.inline-quote .status-message{padding:8px 0;margin:0;font-weight:600;color:var(--text)}.inline-quote .notice{font-size:13px;padding:12px;margin:12px 0}.inline-quote-layout{display:flex;flex-direction:column-reverse;gap:16px}.inline-quote-layout .shop-card{padding:16px;background:#f6f8fa;box-shadow:none}.inline-quote .quote-price{font-size:38px}.inline-quote .quiet{font-size:13px}.inline-quote .price-lines{font-size:13px}.inline-quote .quote-actions{gap:8px;margin-top:16px}.inline-quote .quote-actions .btn{flex:1;min-width:130px}.calc-animation{padding:24px;background:radial-gradient(ellipse at center,#e6eef3,#f8fafb 75%);border-radius:16px;margin:14px 0;overflow:hidden}.calc-layers{position:relative;width:100px;height:100px;margin:0 auto 16px;perspective:400px}.calc-layers i{position:absolute;left:14px;top:45px;width:72px;height:45px;border:1px solid #708b9e;border-radius:5px;background:linear-gradient(135deg,#dce8ef,#7892a5);transform:rotateX(55deg) rotateZ(-35deg);animation:layer-build 2.8s ease-in-out infinite;animation-delay:calc(var(--layer)*.15s)}.calc-layers i:nth-child(1){--layer:0;top:62px}.calc-layers i:nth-child(2){--layer:1;top:50px}.calc-layers i:nth-child(3){--layer:2;top:38px}.calc-layers i:nth-child(4){--layer:3;top:26px}.calc-layers i:nth-child(5){--layer:4;top:14px}.calc-layers>span{position:absolute;left:0;top:10px;width:100%;height:2px;background:#477f9c;box-shadow:0 0 10px #6398b7;animation:layer-scan 2.8s ease-in-out infinite}.calc-track{height:4px;max-width:240px;margin:auto;background:#dce5eb;overflow:hidden;border-radius:4px}.calc-track span{display:block;width:35%;height:100%;background:#4b728c;animation:calc-travel 1.8s ease-in-out infinite}@keyframes layer-build{0%,100%{opacity:.4;translate:0 -5px}45%,75%{opacity:1;translate:0 0}}@keyframes layer-scan{50%{top:90px;opacity:.5}}@keyframes calc-travel{from{transform:translateX(-110%)}to{transform:translateX(390%)}}@media(prefers-reduced-motion:reduce){.calc-animation *{animation:none!important}.calc-layers i{opacity:1}.calc-track span{width:100%;opacity:.6}}

.product-note{margin-top:22px;display:grid;gap:10px}.product-note textarea,#product-note{width:100%;box-sizing:border-box;min-height:105px;resize:vertical;border:1px solid #bdc7cf;border-radius:10px;padding:14px;font:inherit;background:#fff;color:inherit}.product-note .btn{justify-self:start}.product-note p{font-size:13px;margin:0}.product-note label{font-size:14px;font-weight:600}
