:root{--white:#fff;--black:#000;--gray:#b2b2b2;--surface:#fafafa;--line:rgba(0,0,0,.09);--line-soft:rgba(0,0,0,.06);--error:#b00020;--success:#1e7b34;--radius:6px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Didact Gothic,Arial,sans-serif;background:var(--white);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}body,h1,h2,h3{color:var(--black)}h1,h2,h3{font-family:Inter,Arial,sans-serif;font-weight:600;line-height:1.2;letter-spacing:-.01em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{max-width:1180px;margin:0 auto;padding:0 32px}.eyebrow{font-family:Inter,Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gray);display:block}header.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:hsla(0,0%,100%,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 32px;max-width:1180px;margin:0 auto}.brand-logo{height:68px;width:auto}nav.links{display:flex;gap:36px}nav.links a{font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.btn,nav.links a{font-family:Inter,Arial,sans-serif}.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:var(--radius);font-size:13px;font-weight:600;letter-spacing:.02em;border:1px solid var(--black);transition:all .2s ease}.btn-primary{background:var(--black);color:var(--white)}.btn-primary:hover{box-shadow:0 6px 18px rgba(0,0,0,.18);transform:translateY(-1px)}.btn-ghost{background:var(--white);color:var(--black)}.btn-ghost:hover{background:var(--black);color:var(--white)}.btn[disabled]{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.hero{padding:140px 32px 120px}.hero-inner{max-width:760px;margin:0 auto;text-align:center}.hero h1{font-size:52px;margin-bottom:24px;font-weight:500;letter-spacing:-.015em}.hero h1 strong{font-weight:700}.hero p.lead{font-size:17px;color:#3d3d3d;max-width:480px;margin:0 auto 44px}.hero-ctas{gap:14px;flex-wrap:wrap;margin-bottom:56px}.hero-ctas,.hero-stats{display:flex;justify-content:center}.hero-stats{gap:56px;padding-top:32px;border-top:1px solid var(--line)}.stat-num{font-size:24px;font-weight:600}.stat-label,.stat-num{font-family:Inter,Arial,sans-serif;display:block}.stat-label{font-size:11px;color:var(--gray);letter-spacing:.04em;margin-top:4px}section{padding:110px 32px}.surface{background:var(--surface)}.section-head{max-width:600px;margin-bottom:60px}.section-head .eyebrow{margin-bottom:14px}.section-head h2{font-size:32px;font-weight:500}.section-head p{color:#3d3d3d;font-size:15.5px;margin-top:16px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.service-card{background:var(--white);padding:40px 32px}.service-card h3{font-size:18px;margin-bottom:10px}.service-card p{font-size:14.5px;color:#4a4a4a;margin-bottom:20px}.service-card .link{font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:600;border-bottom:1px solid var(--black);padding-bottom:2px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.gallery-item{aspect-ratio:3/4;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);display:flex;align-items:flex-end;padding:16px}.gallery-item span{font-family:Inter,Arial,sans-serif;font-size:11px;color:var(--gray)}.gallery-item:nth-child(2){aspect-ratio:3/5;grid-row:span 2}.quote-card{max-width:700px;margin:0 auto;text-align:center;padding:64px 40px;border:1px solid var(--line);border-radius:var(--radius)}.quote-card p.quote{font-family:Inter,Arial,sans-serif;font-style:italic;font-size:21px;line-height:1.55;margin-bottom:24px}.quote-card .who{font-family:Inter,Arial,sans-serif;font-size:12px;color:var(--gray)}.reassure{display:grid;grid-template-columns:repeat(4,1fr)}.reassure-item{padding:28px 24px 0;border-top:1px solid var(--line)}.cta-final{text-align:center;background:var(--black);color:var(--white)}.cta-final h2{color:var(--white);font-size:36px;max-width:600px;margin:0 auto 16px;font-weight:500}.cta-final p{color:#c9c9c9;max-width:460px;margin:0 auto 40px;font-size:15.5px}.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.cta-final .btn-primary{background:var(--white);color:var(--black);border-color:var(--white)}.cta-final .btn-ghost{background:transparent;color:var(--white);border-color:var(--white)}footer.site-footer{padding:56px 32px 40px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px}.footer-logo{height:52px;width:auto;margin-bottom:12px}footer .contact{font-family:Inter,Arial,sans-serif;font-size:12.5px;color:#4a4a4a;text-align:right}main.devis-main{max-width:720px;margin:0 auto;padding:56px 24px 120px}.progress{display:flex;justify-content:space-between;margin-bottom:56px;position:relative}.progress:before{content:"";position:absolute;top:11px;left:0;right:0;height:1px;background:var(--line);z-index:0}.progress-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px;flex:1 1}.progress-step .dot{width:22px;height:22px;border-radius:50%;background:var(--white);border:1px solid var(--gray);display:flex;align-items:center;justify-content:center;font-family:Inter,Arial,sans-serif;font-size:11px;font-weight:600;color:var(--gray)}.progress-step.active .dot{border-color:var(--black);color:var(--black)}.progress-step.done .dot{background:var(--black);border-color:var(--black);color:var(--white)}.progress-step .label{font-family:Inter,Arial,sans-serif;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--gray)}.progress-step.active .label{color:var(--black);font-weight:600}.step-head{margin-bottom:36px}.step-head h2{font-size:26px;font-weight:500;margin-bottom:8px}.step-head p{color:#4a4a4a;font-size:14.5px}.row{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.field,.row{margin-bottom:20px}label{display:block;font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:600;letter-spacing:.03em;margin-bottom:8px}label .opt{color:var(--gray);font-weight:400;text-transform:none;letter-spacing:0}input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:var(--radius);font-family:Didact Gothic,Arial,sans-serif;font-size:14.5px;color:var(--black);background:var(--white)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--black)}textarea{resize:vertical;min-height:90px}.field.error input,.field.error select{border-color:var(--error)}.error-msg{font-family:Inter,Arial,sans-serif;font-size:11.5px;color:var(--error);margin-top:6px}.autocomplete{position:relative}.autocomplete-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 24px rgba(0,0,0,.08);max-height:220px;overflow-y:auto;z-index:10}.autocomplete-list div{padding:11px 14px;font-size:14px;cursor:pointer}.autocomplete-list div:hover{background:var(--surface)}.choice-grid{display:grid;grid-gap:12px;gap:12px}.choice-grid.cols-2{grid-template-columns:repeat(2,1fr)}.choice-grid.cols-3{grid-template-columns:repeat(3,1fr)}.choice-card{border:1px solid var(--line);border-radius:var(--radius);padding:18px 16px;cursor:pointer;position:relative}.choice-card:hover{border-color:var(--gray)}.choice-card.selected{border-color:var(--black);background:var(--surface)}.choice-card .title{font-family:Inter,Arial,sans-serif;font-size:14px;font-weight:600;margin-bottom:4px}.choice-card .desc{font-size:13px;color:#5a5a5a}.choice-card .check{position:absolute;top:14px;right:14px;width:16px;height:16px;border-radius:50%;border:1px solid var(--line)}.choice-card:not(:has(.desc)) .check{top:50%;transform:translateY(-50%)}.centered-check .choice-card .check{top:50%;transform:translateY(-50%)}.choice-card.selected .check{background:var(--black);border-color:var(--black)}.slider-value{font-family:Inter,Arial,sans-serif;font-size:22px;font-weight:600;margin-bottom:14px}input[type=range]{-webkit-appearance:none;width:100%;height:2px;background:var(--line);border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--black);cursor:pointer;border:3px solid var(--white);box-shadow:0 0 0 1px var(--black)}.slider-ticks{display:flex;justify-content:space-between;margin-top:8px;font-family:Inter,Arial,sans-serif;font-size:11px;color:var(--gray)}.check-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line-soft);cursor:pointer}.check-row:last-child{border-bottom:none}.check-box{width:18px;height:18px;border:1px solid var(--gray);border-radius:4px;flex-shrink:0;position:relative}.check-row.checked .check-box{background:var(--black);border-color:var(--black)}.check-row.checked .check-box:after{content:"";position:absolute;left:5px;top:1px;width:4px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.check-row .txt small{display:block;color:var(--gray);font-size:12px;margin-top:2px}.check-row .txt{flex:1 1}.check-delete{margin-left:auto;flex-shrink:0;border:none;background:none;color:var(--gray);font-size:20px;line-height:1;cursor:pointer;padding:0 4px;opacity:0;transition:opacity .15s ease,color .15s ease}.check-row:hover .check-delete{opacity:1}.check-delete:hover{color:#b3261e}.included-list{border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;background:var(--surface);margin-bottom:8px}.included-list ul{list-style:none}.included-list li{font-size:14px;padding:6px 0;display:flex;align-items:center;gap:10px}.included-list li:before{content:"✓";font-weight:600}.catalog-category{margin-bottom:28px}.catalog-category h3{font-size:13px;font-family:Inter,Arial,sans-serif;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#3a3a3a;margin:0}.catalog-category-header{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.catalog-category-meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.catalog-count{font-family:Inter,Arial,sans-serif;font-size:11px;font-weight:600;color:var(--white);background:var(--black);border-radius:999px;padding:2px 9px}.catalog-chevron{font-size:11px;color:var(--gray);transition:transform .2s ease;display:inline-block}.catalog-chevron.open{transform:rotate(180deg)}.catalog-items{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:10px;gap:10px}.catalog-subgroup{margin-top:16px}.catalog-subgroup-title{font-family:Inter,Arial,sans-serif;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--gray);margin-bottom:8px}.catalog-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;font-size:14px}.catalog-item.selected{border-color:var(--black);background:var(--surface)}.catalog-item-main{display:flex;align-items:center;gap:10px;cursor:pointer;flex:1 1;min-width:0}.catalog-item .dot{width:14px;height:14px;border-radius:4px;border:1px solid var(--gray);flex-shrink:0;position:relative}.catalog-item.selected .dot{background:var(--black);border-color:var(--black)}.catalog-item-qty{display:flex;align-items:center;gap:6px;flex-shrink:0}.catalog-item-qty button{width:22px;height:22px;border:1px solid var(--line);border-radius:4px;background:var(--white);font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.catalog-item-qty button:hover{border-color:var(--black)}.catalog-item-qty span{font-family:Inter,Arial,sans-serif;font-size:13px;font-weight:600;min-width:14px;text-align:center}.catalog-unsure{margin-top:10px}.catalog-unsure .txt{font-style:italic;color:#5a5a5a}.upload-zone{border:1px dashed var(--gray);border-radius:var(--radius);padding:28px;text-align:center;color:#5a5a5a;font-size:13.5px;cursor:pointer}.file-list{margin-top:10px;font-family:Inter,Arial,sans-serif;font-size:12.5px;color:#4a4a4a}.summary-block{border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin-bottom:16px}.summary-block h3{font-size:13px;font-family:Inter,Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--gray);margin-bottom:12px}.summary-row{display:flex;justify-content:space-between;gap:16px;font-size:14px;padding:6px 0;border-bottom:1px solid var(--line-soft)}.summary-row span:first-child{color:#5a5a5a}.summary-row span:last-child{font-weight:500;text-align:right}.form-nav{display:flex;justify-content:space-between;margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}.confirm{text-align:center;padding:60px 20px}.confirm .mark{width:56px;height:56px;border-radius:50%;background:var(--black);color:var(--white);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:22px}.confirm h2{font-size:26px;margin-bottom:12px}.confirm p{color:#4a4a4a;max-width:420px;margin:0 auto 32px;font-size:14.5px}.form-error-banner{background:#fdedee;border:1px solid var(--error);color:var(--error);border-radius:var(--radius);padding:14px 16px;font-size:13.5px;margin-bottom:24px}main.admin-main{max-width:900px;margin:0 auto;padding:56px 24px 120px}.admin-login{max-width:360px;margin:80px auto}.admin-table{width:100%;border-collapse:collapse;margin-bottom:16px}.admin-table th{text-align:left;font-family:Inter,Arial,sans-serif;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--gray);padding:10px 12px;border-bottom:1px solid var(--line)}.admin-table td{padding:10px 12px;border-bottom:1px solid var(--line-soft);font-size:14px}.admin-table input{padding:8px 10px;font-size:13.5px}.admin-actions{display:flex;gap:8px}.admin-actions button{font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:600;padding:6px 12px;border:1px solid var(--line);border-radius:4px}.admin-actions button.danger{color:var(--error);border-color:var(--error)}.admin-new-row{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.admin-new-row input,.admin-new-row select{width:auto;flex:1 1;min-width:140px}.badge-inactive{font-family:Inter,Arial,sans-serif;font-size:10.5px;color:var(--gray);border:1px solid var(--line);border-radius:20px;padding:2px 8px}.admin-table a{font-weight:600}@media (max-width:900px){.catalog-items,.choice-grid.cols-3,.gallery-grid,.reassure,.row,.service-grid{grid-template-columns:1fr}nav.links{display:none}.brand-logo{height:48px}footer.site-footer{flex-direction:column;align-items:flex-start}footer .contact{text-align:left}}