@font-face{font-family:Josefin Sans;src:url(/fonts/JosefinSans-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Josefin Sans;src:url(/fonts/JosefinSans-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Josefin Sans;src:url(/fonts/JosefinSans-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Pacifico;src:url(/fonts/Pacifico-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--white:#ffffff;--ink:#1a1a1a;--muted:#565656;--border:#e8e8e8;--hover-lift:rgba(0,0,0,0.06);--radius:4px;--trans:0.18s ease}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--white);color:var(--ink);font-family:Josefin Sans,Helvetica Neue,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}.site-header{padding:44px 24px 36px;border-bottom:1px solid var(--border);text-align:center}.site-header,.site-header-link{display:flex;flex-direction:column;align-items:center}.site-header-link{text-decoration:none;color:inherit}.site-header img{width:clamp(44px,7vw,60px);height:auto;display:block;margin-bottom:18px}.site-header h1{font-size:clamp(24px,4vw,40px);font-weight:300;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);line-height:1;margin:0}.site-header .divider{width:40px;height:1px;background:var(--ink);margin:16px auto;opacity:.25}.site-header span{font-size:13px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.hero{text-align:center;padding:72px 24px 56px;max-width:720px;margin:0 auto}.hero h2{font-size:clamp(26px,4.5vw,42px);font-weight:300;letter-spacing:.06em;margin:0 0 18px;line-height:1.25}.hero p{font-size:16px;font-weight:400;color:var(--muted);line-height:1.7;margin:0 0 28px}.btn-large{font-size:13px;padding:14px 34px;text-decoration:none}.btn-primary{background:var(--ink);color:var(--white);box-shadow:0 10px 24px rgba(26,26,26,.16)}.btn-primary:hover:not(:disabled){background:#3a6040;border-color:#3a6040;color:var(--white);transform:translateY(-1px)}.hero-feature{max-width:520px;margin:8px auto 48px;padding:0 24px;text-align:center}.hero-feature-link{display:block}.hero-feature img{width:100%;height:auto;display:block;border-radius:var(--radius);transition:transform var(--trans),box-shadow var(--trans);box-shadow:0 24px 48px rgba(0,0,0,.14)}.hero-feature-link:hover img{transform:translateY(-4px)}.hero-feature .hint{margin-top:16px}.home-reviews{max-width:520px;margin:0 auto 22px;display:flex;flex-direction:column;gap:16px}.home-reviews blockquote{margin:0;font-size:15px;line-height:1.6;color:var(--muted)}.home-reviews blockquote cite{display:block;margin-top:6px;font-style:normal;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.section{max-width:1100px;margin:0 auto;padding:40px 24px 56px;text-align:center}.section-title{font-size:14px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin:0 0 28px}.example-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px;margin-bottom:18px}@media (max-width:760px){.example-grid{grid-template-columns:repeat(2,1fr);gap:12px}}.example-card{text-decoration:none;color:var(--ink)}.example-card img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius);transition:transform var(--trans),box-shadow var(--trans);display:block}.example-card:hover img{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1)}.example-card span{display:block;margin-top:10px;font-size:13px;letter-spacing:.12em;text-transform:uppercase}.hint.center{text-align:center}.stars{font-size:22px;letter-spacing:.3em;color:var(--ink);margin-bottom:12px}.reviews-blurb{max-width:460px;margin:0 auto 22px}.design-reviews{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.design-reviews .stars{font-size:16px;margin-bottom:10px}.design-reviews blockquote{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--muted)}.design-reviews blockquote cite{display:block;margin-top:4px;font-style:normal;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:28px;gap:28px;text-align:center}@media (max-width:760px){.step-grid{grid-template-columns:1fr}}.step-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--ink);border-radius:50%;font-size:14px;margin-bottom:12px}.step h4{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px}.step p{font-size:14px;font-weight:300;color:var(--muted);line-height:1.65;margin:0}.product-cards{display:grid;grid-template-columns:repeat(2,minmax(0,340px));justify-content:center;grid-gap:20px;gap:20px;margin-bottom:28px}@media (max-width:640px){.product-cards{grid-template-columns:1fr}}.product-card{border:1px solid var(--border);border-radius:var(--radius);padding:26px 22px}.product-card h4{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px}.product-card p{font-size:14px;font-weight:300;color:var(--muted);margin:0 0 10px}.product-card span{font-size:15px}.site-footer{border-top:1px solid var(--border);padding:40px 24px;display:flex;flex-direction:column;align-items:center;gap:16px}.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px}.footer-links a{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none}.footer-links a:hover{color:inherit;text-decoration:underline}.site-footer p{font-size:11px;letter-spacing:.12em;color:var(--muted);margin:0}.configurator{display:grid;grid-template-columns:minmax(360px,460px) minmax(0,1fr);grid-gap:clamp(20px,3vw,44px);gap:clamp(20px,3vw,44px);padding:32px clamp(24px,4vw,64px) 64px;max-width:1680px;margin:0 auto}@media (max-width:900px){.configurator{grid-template-columns:1fr;padding:16px 12px 40px}}.panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.panel h2{font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);margin:0 0 14px}.controls-stack{gap:16px}.controls-stack,.field{display:flex;flex-direction:column}.field{gap:7px}.field label{font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.field input[type=search],.field input[type=text]{font-family:inherit;font-weight:400;font-size:16px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--ink);outline:none;transition:border-color var(--trans)}.field input[type=search]:focus,.field input[type=text]:focus{border-color:var(--ink)}.search-wrap{position:relative}.search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.1);list-style:none;margin:0;padding:4px;z-index:1200;max-height:280px;overflow-y:auto}.search-results li button{display:block;width:100%;text-align:left;font-family:inherit;font-weight:400;font-size:15px;padding:9px 10px;border:none;border-radius:2px;background:transparent;color:var(--ink);cursor:pointer;transition:background var(--trans)}.search-results li button:hover{background:var(--hover-lift)}.row{display:flex;align-items:center;gap:10px}.row .grow{flex:1 1}input[type=range]{width:100%;accent-color:var(--ink)}input[type=color]{width:42px;height:34px;padding:2px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);cursor:pointer}.pill-group{display:flex;gap:0;border:1px solid var(--border);border-radius:20px;overflow:hidden;width:100%;max-width:100%}.pill{flex:1 1;min-width:0;font-family:inherit;font-weight:500;font-size:13px;letter-spacing:.1em;text-transform:uppercase;padding:9px 14px;border:none;background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap;transition:background var(--trans),color var(--trans)}.pill.active{background:var(--ink);color:var(--white)}.pill:not(.active):hover{background:var(--hover-lift);color:var(--ink)}.btn{display:inline-block;font-family:inherit;font-weight:500;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);padding:12px 24px;border-radius:2px;background:transparent;cursor:pointer;transition:background var(--trans),color var(--trans)}.btn:hover:not(:disabled){background:var(--ink);color:var(--white)}.btn:disabled{opacity:.4;cursor:default}.size-select{width:100%;font-family:inherit;font-weight:400;font-size:16px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);color:var(--ink)}.panel-product .btn{width:100%}.hint{color:var(--muted);letter-spacing:.02em;line-height:1.45}.error-note,.hint{font-size:14px;font-weight:400;margin:0}.error-note{color:#8f3a2a;background:#faf1ee;border:1px solid #edd6cf;border-radius:var(--radius);padding:8px 12px}.preview-column{display:flex;flex-direction:column;gap:16px;min-width:0}.map-picker{height:clamp(220px,36vh,340px);width:100%;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.coverage-box{cursor:move}.coverage-center{background:#1a1a1a;border:2px solid #ffffff;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:move}.coverage-handle{background:#ffffff;border:2px solid #1a1a1a;border-radius:2px;box-shadow:0 1px 3px rgba(0,0,0,.25)}.coverage-handle-nw,.coverage-handle-se{cursor:nwse-resize}.coverage-handle-ne,.coverage-handle-sw{cursor:nesw-resize}.marker-point{background:rgba(255,255,255,.9);border:3px solid #1a1a1a;border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,.35);cursor:-webkit-grab;cursor:grab}.preview-frame{position:relative;background:linear-gradient(175deg,#f8f7f4,#efede8 78%,#e6e3dc);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(22px,6vw,64px);display:flex;justify-content:center;align-items:center}.preview-frame canvas{width:100%;max-width:min(720px,100%);height:auto;box-shadow:0 22px 44px rgba(30,28,24,.22),0 4px 10px rgba(30,28,24,.12)}.preview-frame canvas.stretched{border-right:6px solid rgba(0,0,0,.1);border-bottom:6px solid rgba(0,0,0,.16)}.preview-frame.has-mockup{background:var(--white);padding:clamp(6px,2vw,20px)}.preview-frame.has-mockup canvas{box-shadow:none;max-width:min(820px,100%)}.preview-overlay{position:absolute;inset:0;justify-content:center;background:rgba(255,255,255,.72);font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border-radius:var(--radius)}.checkbox-row,.preview-overlay{display:flex;align-items:center}.checkbox-row{gap:8px;font-size:16px;font-weight:400}.checkbox-row input{accent-color:var(--ink)}@media (max-width:900px){.configurator>.controls-stack,.configurator>.preview-column{display:contents}.panel-location{order:1}.map-picker{order:2}.zoom-panel{order:3}.preview-frame{order:4}.preview-column>.error-note,.preview-column>.hint{order:5}.panel-colors{order:6}.panel-marker{order:7}.panel-text{order:8}.panel-product{order:9}}@media (max-width:520px){.panel{padding:16px}.pill{font-size:13px;letter-spacing:.06em;padding:10px 8px}.panel-product .pill{font-size:12px;letter-spacing:.05em}.btn{width:100%;padding-inline:12px;text-align:center;white-space:normal;line-height:1.35}.preview-frame{padding:clamp(6px,3vw,20px)}}