:root{
  --ink:#111512;
  --muted:#626a64;
  --lime:#8cf22c;
  --lime-dark:#56b300;
  --paper:#ffffff;
  --soft:#f3f5ef;
  --soft-2:#edf0e8;
  --line:#d9ded8;
  --dark:#101512;
  --shell:min(1180px,calc(100% - 48px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Golos Text","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
.shell{width:var(--shell);margin-inline:auto}
section[id]{scroll-margin-top:126px}
.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:12px;top:-80px;background:#fff;border:1px solid var(--ink);padding:10px 14px;z-index:1000}
.skip-link:focus{top:12px}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px}

.contact-strip{background:var(--dark);color:#fff}
.contact-strip__inner{min-height:32px;display:flex;justify-content:flex-end;align-items:center;gap:18px;font-size:11px}
.contact-strip a{color:#e7ece8}
.messenger{display:inline-flex;align-items:center;gap:6px;color:#e7ece8}
.messenger svg{width:15px;height:15px;fill:#2aabee}
.messenger--max b{width:16px;height:16px;border-radius:4px;background:#4f83ff;display:grid;place-items:center;font-size:9px}

.header{position:sticky;top:0;z-index:100;background:#fff;box-shadow:0 1px 0 rgba(17,21,18,.08)}
.nav-bar{background:#fff;border-bottom:1px solid var(--line)}
.nav-bar__inner{min-height:74px;display:grid;grid-template-columns:200px 1fr auto;gap:28px;align-items:center}
.brand img{width:174px;height:auto}
.nav{display:flex;justify-content:center;align-items:center;gap:28px;font-size:13px}
.nav>a,.nav-root{padding:28px 0;position:relative}
.nav>a:after,.nav-root:after{content:"";position:absolute;left:0;right:100%;bottom:21px;height:1px;background:var(--ink);transition:right .15s ease}
.nav>a:hover:after,.nav-root:hover:after{right:0}
.nav-group{position:relative}
.mega-menu{position:absolute;top:calc(100% - 2px);left:50%;transform:translateX(-50%) translateY(8px);width:min(860px,90vw);display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:26px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 45px rgba(17,21,18,.12);opacity:0;visibility:hidden;pointer-events:none;transition:.15s ease}
.nav-group:hover .mega-menu,.nav-group:focus-within .mega-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.mega-menu>div{display:flex;flex-direction:column;gap:9px}
.mega-menu b{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7b827d;margin-bottom:4px}
.mega-menu a{font-size:13px;line-height:1.35}
.mega-menu a:hover{text-decoration:underline;text-underline-offset:3px}
.header-actions{display:flex;gap:10px;align-items:center}
.button{border:1px solid transparent;min-height:48px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;cursor:pointer;background:#fff}
.button--lime{background:var(--lime);border-color:var(--lime)}
.button--lime:hover{background:#7fe31f}
.button--outline{border-color:var(--ink)}
.button--outline:hover{background:var(--ink);color:#fff}
.button--light{background:#fff;border-color:#fff;color:var(--ink)}
.button--small{min-height:42px;padding:0 15px}
.button--header{min-height:42px;padding-inline:14px}
.button-icon{width:15px;height:15px;fill:currentColor;margin-right:7px}
.menu-toggle,.mobile-nav{display:none}

.hero{padding:52px 0 58px}
.hero-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:48px;align-items:center}
.hero-copy h1{font-size:clamp(54px,4.8vw,76px);line-height:.95;letter-spacing:-.055em;font-weight:600;margin:0 0 24px}
.hero-copy>p{font-size:18px;line-height:1.55;color:#414844;max-width:560px;margin:0 0 28px}
.hero-actions{display:flex;gap:12px}
.hero-photo{height:470px;position:relative;overflow:hidden;background:#dfe3dd}
.hero-photo>img{width:100%;height:100%;object-fit:cover}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,10,8,.02),rgba(6,10,8,.02) 48%,rgba(6,10,8,.24));pointer-events:none}
.hero-chip{position:absolute;z-index:3;min-height:34px;padding:0 12px;border-radius:999px;display:flex;align-items:center;font-size:12px;font-weight:700;box-shadow:0 10px 24px rgba(12,16,13,.1)}
.hero-chip--discount{right:16px;top:16px;background:rgba(140,242,44,.92)}
.hero-chip--minimum{left:16px;bottom:96px;background:#fff}
.hero-proof{position:absolute;z-index:3;left:16px;right:16px;bottom:16px;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(255,255,255,.96)}
.hero-proof>div{padding:15px 17px 13px;border-right:1px solid var(--line);position:relative}
.hero-proof>div:last-child{border-right:0}
.hero-proof>div:before{content:"";position:absolute;left:17px;top:0;width:32px;height:3px;background:var(--lime)}
.hero-proof strong{display:block;font-size:18px;letter-spacing:-.03em;margin-bottom:4px}
.hero-proof span{font-size:10.5px;line-height:1.35;color:var(--muted)}

.section{padding:88px 0}
.section--soft{background:var(--soft)}
.section--soft-2{background:var(--soft-2)}
.section-head{margin-bottom:34px}
.section-head--split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end}
.section-head--split>p{margin:0;color:var(--muted);font-size:14px;line-height:1.55;max-width:470px}
.section-head--actions{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.accent-title{position:relative;padding-left:18px;margin:0;font-size:clamp(36px,3.5vw,52px);line-height:1.04;letter-spacing:-.045em;font-weight:600}
.accent-title:before{content:"";position:absolute;left:0;top:.15em;bottom:.12em;width:5px;height:auto;background:var(--lime)}
.accent-title--dark{color:#fff}

.solutions-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:46px;align-items:start}
.solution-list{border-top:1px solid #aeb5af}
.solution-row{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}
.solution-row.is-active,.solution-row:hover{background:#fff;padding-left:12px;padding-right:12px}
.solution-row h3{font-size:20px;line-height:1.15;margin:0 0 6px;letter-spacing:-.02em}
.solution-row p{font-size:13px;line-height:1.45;color:var(--muted);max-width:580px;margin:0}
.solution-row strong{font-size:13px;white-space:nowrap}
.solution-preview{position:sticky;top:120px}
.solution-preview img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#dde2dc}
.solution-preview__button{width:100%;margin-top:10px}
.solution-tags{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:24px;padding-top:18px;border-top:1px solid #adb4ae;font-size:12px}
.solution-tags b{margin-right:4px}
.solution-tags a{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;background:#fff;border:1px solid var(--line)}
.solution-tags a:hover{border-color:var(--ink)}

.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.why-card{min-height:174px;padding:22px 20px;background:#fff;border:1px solid var(--line)}
.why-icon{width:42px;height:42px;border-radius:9px;border:1px solid #d9e7cf;background:#f7fbf3;color:#70b817;display:grid;place-items:center;margin-bottom:16px;font-weight:700}
.why-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.why-icon--text{font-size:13px}
.why-card h3{font-size:18px;line-height:1.15;margin:0 0 9px}
.why-card p{font-size:13px;line-height:1.5;color:var(--muted);margin:0}

.calculator-placeholder{background:#fff;border:1px solid var(--line);min-height:250px;padding:34px;display:grid;grid-template-columns:1fr auto;gap:42px;align-items:center}
.calculator-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#777f79;margin-bottom:18px}
.calculator-placeholder h3{font-size:24px;line-height:1.15;letter-spacing:-.025em;margin:0 0 10px}
.calculator-placeholder p{font-size:14px;line-height:1.6;color:var(--muted);max-width:720px;margin:0}
.calculator-actions{display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.discount-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border-radius:999px;background:rgba(140,242,44,.15);color:#3b7420;font-size:11px;font-weight:700}
.discount-chip--contact{align-self:flex-start}

.projects-grid{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(320px,.72fr);gap:14px;align-items:stretch}
.project,.project>:is(a,.project-media){height:100%}
.project--large>a{min-height:500px}
.project>:is(a,.project-media){display:block;position:relative;overflow:hidden;background:#dfe3de}
.project img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.project a:hover img{transform:scale(1.02)}
.projects-side{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:14px}
.projects-side .project>:is(a,.project-media){min-height:243px}
.project-overlay{position:absolute;left:0;right:0;bottom:0;padding:24px;color:#fff;background:linear-gradient(180deg,rgba(8,12,10,0),rgba(8,12,10,.92));z-index:2}
.project-overlay--small{padding:14px}
.project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.project-tags span{min-height:24px;padding:0 8px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;font-size:10px;line-height:1;white-space:nowrap}
.project-overlay h3{font-size:27px;line-height:1.08;margin:0}
.project-overlay--small h3{font-size:16px;line-height:1.1}
.project-overlay p{font-size:11px;color:#dce2dd;margin:8px 0 0;max-width:90%}

.installation{background:var(--dark);color:#fff;padding:76px 0}
.installation-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center}
.installation-photo{aspect-ratio:4/3;overflow:hidden;background:#252b27}
.installation-photo img{width:100%;height:100%;object-fit:cover}
.installation-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:9px}
.thumb{padding:0;border:2px solid transparent;background:transparent;opacity:.55;cursor:pointer}
.thumb.is-active{border-color:var(--lime);opacity:1}
.thumb img{width:100%;height:68px;object-fit:cover}
.installation-copy>p{font-size:14px;line-height:1.65;color:#bcc5bf;margin:24px 0 22px}
.installation-list{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:12px}
.installation-list li{position:relative;padding-left:20px;font-size:14px;line-height:1.45;color:#f2f5f3}
.installation-list li:before{content:"";position:absolute;left:0;top:.48em;width:8px;height:8px;border-radius:50%;background:var(--lime)}

.production-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:84px;align-items:start}
.production-copy p{font-size:15px;line-height:1.68;color:var(--muted);max-width:650px;margin:24px 0 0}
.production-stats{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}
.production-stats>div{padding:22px 0;border-bottom:1px solid var(--line)}
.production-stats strong{display:block;font-size:30px;line-height:1;letter-spacing:-.04em;margin-bottom:10px}
.production-stats span{font-size:12px;line-height:1.4;color:var(--muted)}

.faq-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:70px;align-items:start}
.faq-list{border-top:1px solid var(--ink)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;position:relative;cursor:pointer;padding:20px 38px 20px 0;font-size:14px;font-weight:600}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;top:16px;font-size:21px;font-weight:400}
.faq-list details[open] summary:after{content:"−"}
.faq-list p{font-size:13px;line-height:1.55;color:var(--muted);margin:0;padding:0 44px 20px 0}

.seo-panel{background:#fff;padding:30px 32px}
.seo-panel h2{font-size:30px;line-height:1.1;letter-spacing:-.035em;margin:0 0 16px}
.seo-panel p{font-size:13px;line-height:1.72;color:#555d58;margin:0}
.seo-panel a{text-decoration:underline;text-underline-offset:3px}

.contacts-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:stretch}
.map-wrap{min-height:430px;position:relative;background:#e0e4df;overflow:hidden}
.map-wrap iframe{border:0;width:100%;height:100%;min-height:430px;filter:grayscale(1) contrast(.94)}
.map-caption{position:absolute;left:16px;bottom:16px;background:#fff;padding:12px 14px}
.map-caption strong{display:block;font-size:13px;margin-bottom:3px}
.map-caption span{font-size:11px;color:var(--muted)}
.contact-panel{padding:8px 0 0}
.contact-panel>p{font-size:14px;line-height:1.6;color:var(--muted);max-width:500px;margin:24px 0}
.contact-data{padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:11px}
.contact-phone{font-size:28px;font-weight:600;letter-spacing:-.035em}
.contact-messengers{display:flex;gap:16px;font-size:13px}
.contact-messengers span,.contact-messengers a{display:inline-flex;align-items:center;gap:6px}
.contact-messengers b{width:17px;height:17px;border-radius:4px;background:#4f83ff;color:#fff;display:grid;place-items:center;font-size:9px}

.footer{background:#0e1210;color:#fff;padding:54px 0 18px}
.footer-grid{display:grid;grid-template-columns:1.1fr 1fr .8fr;gap:70px}
.footer-logo{display:inline-block;background:#fff;padding:10px 12px}
.footer-logo img{width:176px}
.footer-brand p{font-size:11px;line-height:1.55;color:#98a19b;max-width:320px;margin:16px 0 0}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.footer-links>div,.footer-contact{display:flex;flex-direction:column;gap:9px;font-size:12px}
.footer-links b,.footer-contact b{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#78827b;margin-bottom:5px}
.footer-links a,.footer-contact a{color:#dce2de}
.footer-phone{font-size:19px!important;color:#fff!important}
.footer-bottom{margin-top:44px;padding-top:15px;border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;gap:18px;font-size:10.5px;color:#77817a}
.footer-up{display:inline-flex;align-items:center;gap:6px}

.mobile-estimate{display:none}

.calc-modal[hidden]{display:none}
.calc-modal{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:20px}
.calc-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(7,10,8,.72)}
.calc-modal__dialog{position:relative;z-index:1;width:min(690px,94vw);max-height:92vh;overflow:auto;background:#fff;padding:30px}
.calc-modal__close{position:absolute;right:16px;top:14px;width:40px;height:40px;border:1px solid var(--ink);background:#fff;font-size:27px;cursor:pointer}
.calc-modal__dialog h2{font-size:38px;letter-spacing:-.04em;margin:0 55px 10px 0}
.calc-modal__dialog>p{font-size:13px;line-height:1.55;color:var(--muted);max-width:520px;margin:0 0 24px}
.calc-modal__form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.calc-modal__form label>span{display:block;font-size:12px;font-weight:600;margin-bottom:7px}
.calc-modal__form label em{font-style:normal;font-weight:400;color:#858c87}
.calc-modal__form input,.calc-modal__form select,.calc-modal__form textarea{width:100%;border:1px solid #adb5ae;border-radius:0;background:#fff;min-height:49px;padding:13px;}
.calc-modal__form textarea{resize:vertical}
.calc-modal__wide{grid-column:1/-1}
.calc-modal__submit{display:flex;align-items:center;gap:18px}
.calc-modal__submit small{font-size:10px;line-height:1.4;color:#777e79;max-width:270px}
.modal-error{display:block;color:#a32f2a;font-size:10px;margin-top:5px}
.modal-status{padding:11px;background:#e8f9d7;font-size:12px}

@media(max-width:1050px){
  :root{--shell:min(100% - 36px,940px)}
  .nav{gap:17px}.nav-bar__inner{grid-template-columns:180px 1fr auto}.brand img{width:160px}
  .button--header:first-child{display:none}
  .hero-grid,.production-grid{gap:42px}
  .projects-grid{height:460px}
}
@media(max-width:860px){
  :root{--shell:calc(100% - 28px)}
  .contact-strip__inner{justify-content:flex-start;overflow:auto;white-space:nowrap}
  .nav-bar__inner{grid-template-columns:1fr auto;min-height:66px}
  .nav,.header-actions{display:none}
  .menu-toggle{display:flex;width:42px;height:42px;border:0;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:7px}
  .menu-toggle span{width:22px;height:1.5px;background:var(--ink)}
  .mobile-nav{padding:8px 14px 14px;background:#fff;border-top:1px solid var(--line)}
  .mobile-nav.is-open{display:grid}
  .mobile-nav>a,.mobile-nav summary{padding:12px 0;border-bottom:1px solid var(--line);font-weight:600;list-style:none}
  .mobile-nav details>a{display:block;padding:9px 12px;color:#555d58}
  .mobile-nav__cta{background:var(--lime);padding:13px 14px!important;margin-top:8px;border:0!important}

  .hero{padding-top:36px}.hero-grid{grid-template-columns:1fr;gap:26px}.hero-copy h1{font-size:54px}.hero-photo{height:430px}
  .section{padding:70px 0}.section-head--split{grid-template-columns:1fr;gap:16px}
  .solutions-grid{grid-template-columns:1fr}.solution-preview{position:relative;top:auto}.solution-preview img{aspect-ratio:1.4/1}
  .why-grid{grid-template-columns:1fr 1fr}
  .calculator-placeholder{grid-template-columns:1fr}.calculator-actions{align-items:flex-start}
  .projects-grid{grid-template-columns:1fr;height:auto}.project--large>a{min-height:420px}.projects-side{grid-template-columns:1fr 1fr;grid-template-rows:none}.projects-side .project>:is(a,.project-media){min-height:250px}
  .installation-grid{grid-template-columns:1fr;gap:40px}
  .production-grid,.faq-grid,.contacts-grid{grid-template-columns:1fr;gap:40px}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
  .mobile-estimate{display:flex;position:fixed;z-index:90;left:10px;right:10px;bottom:10px;min-height:48px;background:var(--lime);align-items:center;justify-content:center;font-size:13px;font-weight:700;box-shadow:0 12px 28px rgba(0,0,0,.18)}
}
@media(max-width:560px){
  .hero-copy h1{font-size:44px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-photo{height:390px}
  .hero-chip{font-size:10.5px;min-height:30px;padding:0 9px}.hero-chip--minimum{bottom:132px}
  .hero-proof{grid-template-columns:1fr 1fr}.hero-proof>div:nth-child(2){border-right:0}.hero-proof>div:last-child{grid-column:1/-1;border-top:1px solid var(--line)}
  .accent-title{font-size:34px}.section-head--actions{display:block}.section-head--actions .button{width:100%;margin-top:18px}
  .solution-row{grid-template-columns:1fr}.solution-row strong{margin-top:2px}
  .why-grid{grid-template-columns:1fr}
  .calculator-placeholder{padding:24px}
  .projects-side{grid-template-columns:1fr}.project--large>a{min-height:360px}.projects-side .project>:is(a,.project-media){min-height:280px}
  .footer-grid{display:block}.footer-links{margin:36px 0}.footer-bottom{display:grid;justify-content:start;gap:8px}
  .calc-modal__form{grid-template-columns:1fr}.calc-modal__wide{grid-column:auto}.calc-modal__submit{display:block}.calc-modal__submit .button{width:100%;margin-bottom:10px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
}

/* ================= CLIENT FINAL — alignment & scale polish ================= */
:root{
  --shell:min(1240px,calc(100% - 48px));
}

/* Header: one visual axis, equal action heights. */
.contact-strip__inner{min-height:34px;font-size:11.5px;gap:20px}
.nav-bar__inner{min-height:78px;grid-template-columns:205px minmax(0,1fr) auto;gap:30px}
.brand img{width:180px}
.nav{gap:30px;font-size:13.5px}
.nav>a,.nav-root{padding:30px 0}
.nav>a:after,.nav-root:after{bottom:22px}
.header-actions{gap:10px}
.header-actions .button{height:44px;min-height:44px;white-space:nowrap}
.button{min-height:50px;padding:0 19px;font-size:13.5px;line-height:1}
.button--small{min-height:44px}

/* Hero: restore the visual weight of the earlier layout. */
.hero{padding:56px 0 62px}
.hero-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:54px}
.hero-copy h1{font-size:clamp(60px,5.1vw,82px);line-height:.94;max-width:610px;margin-bottom:25px}
.hero-copy>p{font-size:18.5px;line-height:1.55;max-width:590px;margin-bottom:30px}
.hero-actions{gap:12px;align-items:stretch}
.hero-actions .button{min-width:158px}
.hero-photo{height:500px}
.hero-offers{position:absolute;z-index:4;top:16px;right:16px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:76%}
.hero-offers .hero-chip{position:static;min-height:34px;box-shadow:0 10px 24px rgba(12,16,13,.10)}
.hero-chip--discount{background:rgba(140,242,44,.94)}
.hero-chip--minimum{background:rgba(255,255,255,.96)}
.hero-proof{left:16px;right:16px;bottom:16px}
.hero-proof>div{padding:16px 18px 14px}
.hero-proof strong{font-size:19px}
.hero-proof span{font-size:11px}

/* Type scale — Onest has smaller visual metrics than the local fallback. */
.accent-title{font-size:clamp(39px,3.7vw,56px);line-height:1.035}
.section{padding:94px 0}
.section-head{margin-bottom:38px}
.section-head--split{gap:76px}
.section-head--split>p{font-size:14.5px;line-height:1.6}
.solution-row{padding:20px 0}
.solution-row h3{font-size:21px}
.solution-row p{font-size:13.5px}
.solution-row strong{font-size:13.5px}
.why-card h3{font-size:18.5px}
.why-card p{font-size:13.5px}

/* Projects: fixed card geometry; text never pushes into the next block. */
.projects-grid{grid-template-columns:minmax(0,1.52fr) minmax(330px,.72fr);gap:16px;align-items:stretch}
.project--large>a{min-height:520px}
.projects-side{grid-template-rows:repeat(2,minmax(0,1fr));gap:16px}
.projects-side .project>:is(a,.project-media){min-height:252px}
.project-overlay{padding:25px 24px 22px}
.project-overlay--small{padding:14px 15px 13px}
.project-overlay h3{font-size:28px}
.project-overlay--small h3{font-size:16px;line-height:1.12;max-width:100%}
.project-tags{gap:6px;margin-bottom:9px}
.project-tags span{min-height:24px;font-size:9.5px;padding:0 8px;white-space:nowrap}

/* Production now intentionally precedes the dark installation section. */
.production{background:#fff}
.production-grid{gap:90px}
.production-copy p{font-size:15.5px}
.production-stats strong{font-size:31px}

.installation{padding:82px 0}
.installation-grid{gap:70px}
.installation-copy>p{font-size:14.5px}
.installation-list li{font-size:14.5px}

/* Keep anchors clear of the two-level sticky header. */
section[id]{scroll-margin-top:132px}

@media(max-width:1050px){
  :root{--shell:min(100% - 36px,1020px)}
  .nav{gap:19px;font-size:13px}
  .nav-bar__inner{grid-template-columns:180px minmax(0,1fr) auto}
  .brand img{width:164px}
  .hero-grid{gap:42px}
  .hero-copy h1{font-size:62px}
  .hero-photo{height:470px}
  .projects-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.75fr)}
}
@media(max-width:860px){
  :root{--shell:calc(100% - 28px)}
  .hero-copy h1{font-size:56px}
  .hero-photo{height:440px}
  .hero-offers{left:12px;right:12px;max-width:none;justify-content:space-between}
  .projects-grid{grid-template-columns:1fr}
  .project--large>a{min-height:430px}
  .projects-side{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .projects-side .project>:is(a,.project-media){min-height:260px}
}
@media(max-width:560px){
  .hero-copy h1{font-size:46px}
  .hero-photo{height:405px}
  .hero-offers{top:10px;gap:6px}
  .hero-offers .hero-chip{font-size:10px;min-height:29px;padding:0 8px}
  .projects-side{grid-template-columns:1fr}
  .project--large>a{min-height:370px}
  .projects-side .project>:is(a,.project-media){min-height:290px}
}


/* ================= FINAL FIX — projects proportions ================= */
/*
   The project grid is ratio-driven instead of height-driven.
   This prevents the featured image from turning into a tall portrait card
   when viewport / browser scaling changes.
*/
.projects-grid{
  display:grid;
  grid-template-columns:minmax(0,1.52fr) minmax(310px,.72fr);
  gap:16px;
  align-items:stretch;
  height:auto;
}
.project--large{
  aspect-ratio:16/9;
  min-width:0;
  min-height:0;
}
.project--large>a{
  height:100%;
  min-height:0;
}
.projects-side{
  min-width:0;
  min-height:0;
  height:100%;
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:16px;
}
.projects-side .project,
.projects-side .project>:is(a,.project-media){
  min-height:0;
  height:100%;
}
.project img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.project-overlay{
  z-index:2;
}
.project--large .project-overlay{
  padding:22px 22px 20px;
}
.project--large .project-overlay h3{
  font-size:27px;
}
.projects-side .project-overlay{
  padding:12px 13px 12px;
}
.projects-side .project-tags{
  margin-bottom:6px;
}
.projects-side .project-tags span{
  min-height:22px;
  padding:0 7px;
  font-size:9px;
}
.projects-side .project-overlay h3{
  font-size:15px;
  line-height:1.12;
}

/* Tablet: keep the featured image wide, put the two small cards beneath it. */
@media(max-width:860px){
  .projects-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .project--large{
    aspect-ratio:16/9;
  }
  .projects-side{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:none;
    gap:14px;
  }
  .projects-side .project{
    aspect-ratio:16/10;
  }
}

/* Mobile: all cards become landscape blocks rather than tall tiles. */
@media(max-width:560px){
  .projects-side{
    grid-template-columns:1fr;
  }
  .project--large,
  .projects-side .project{
    aspect-ratio:16/10;
  }
}


/* ================= HERO V2 — shared rhythm with commercial landing ================= */
.hero-proof{
  position:static;
  left:auto;right:auto;bottom:auto;
  margin-top:34px;
  border-top:1px solid var(--line);
  background:transparent;
}
.hero-proof>div{
  padding:17px 18px 0 0;
  border-right:0;
}
.hero-proof>div:before{display:none}
.hero-proof strong{font-size:16px;margin-bottom:4px}
.hero-proof span{display:block;font-size:10.5px;line-height:1.4;max-width:165px}
.hero-photo{align-self:stretch}
@media(max-width:860px){
  .hero-proof{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .hero-proof{grid-template-columns:1fr 1fr;margin-top:26px}
  .hero-proof>div:last-child{grid-column:1/-1;border-top:0}
}


/* v8 unified trust/contact updates */
.messenger-logo{display:block;flex:0 0 auto}
.messenger-logo--max{width:16px;height:16px;border-radius:5px}
.messenger-logo--inline{width:17px;height:17px;border-radius:5px}
.messenger--max{gap:7px}
.contact-messengers{display:flex;gap:16px;font-size:13px;flex-wrap:wrap}
.contact-messengers span,.contact-messengers a{display:inline-flex;align-items:center;gap:7px}
.contact-messengers .brand-icon--telegram{width:15px;height:15px;fill:#2aabee}
.contact-panel{padding:0}
.contact-panel>p{margin:18px 0 20px;max-width:560px}
.contact-data{padding-top:16px;gap:10px}
.contact-panel__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.contact-panel__actions .button--lime{color:var(--ink)}
.discount-chip--contact{align-self:auto}
.installation-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:28px}
.installation-actions .button--lime{color:var(--ink)}
.reviews-trust{background:var(--paper);padding-bottom:56px}
.reviews-trust + .contacts{padding-top:40px}
.reviews-platforms{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.review-platform{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:22px 22px 22px 0;margin-right:22px;border-right:1px solid var(--line);min-width:0}
.review-platform:last-child{margin-right:0;padding-right:0;border-right:0}
.review-platform__mark{width:42px;height:42px;background:transparent;display:grid;place-items:center;overflow:hidden}
.review-platform__mark img{width:100%;height:100%;object-fit:contain;display:block}
.review-platform__body strong{display:block;font-size:16px;line-height:1.15;margin-bottom:4px}
.review-platform__body span{display:block;font-size:11.5px;color:var(--muted)}
.review-platform__rating{text-align:right;white-space:nowrap}
.review-platform__rating b{display:block;font-size:18px;line-height:1;color:var(--lime-dark);letter-spacing:-.02em}
.review-platform__rating span{display:block;font-size:9.5px;color:var(--muted);margin-top:5px}
@media(max-width:1020px){
  .reviews-platforms{grid-template-columns:1fr}
  .review-platform,.review-platform:last-child{margin:0;padding:18px 0;border-right:0;border-bottom:1px solid var(--line)}
  .review-platform:last-child{border-bottom:0}
  .reviews-trust + .contacts{padding-top:30px}
}
@media(max-width:620px){
  .installation-actions{display:grid;grid-template-columns:1fr}
  .installation-actions .button{width:100%}
  .review-platform{grid-template-columns:auto 1fr auto;gap:11px}
  .review-platform__mark{width:36px;height:36px}
  .review-platform__rating b{font-size:17px}
}


/* v9 — clean review strip + five-project grid */
.reviews-platforms{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px;
  border:0;
}
.review-platform,
.review-platform:last-child{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.review-platform__mark{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:0;
  background:transparent;
}
.review-platform__mark img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.review-platform__body strong{
  display:block;
  margin:0 0 4px;
  font-size:15px;
  line-height:1.15;
}
.review-platform__body span{
  display:block;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.3;
}
.review-platform__rating{
  text-align:right;
  white-space:nowrap;
}
.review-platform__rating b{
  display:block;
  color:var(--lime-dark);
  font-size:22px;
  line-height:1;
  letter-spacing:-.04em;
}
.home-projects-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(470px,.92fr);
  gap:16px;
}
.home-projects-side{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:16px;
  height:100%;
}
.home-projects-side .project{
  aspect-ratio:16/10;
  min-width:0;
}
.home-projects-side .project>:is(a,.project-media){
  min-height:0;
  height:100%;
}
.home-projects-side .project-overlay{
  padding:14px 14px 13px;
}
.home-projects-side .project-tags{
  gap:6px;
  margin-bottom:7px;
}
.home-projects-side .project-tags span{
  min-height:22px;
  padding-inline:7px;
  font-size:9px;
}
.home-projects-side .project-overlay h3{
  font-size:15px;
  line-height:1.12;
}
@media(max-width:1020px){
  .reviews-platforms{grid-template-columns:1fr;gap:18px}
  .review-platform,.review-platform:last-child{padding:0;border:0}
  .home-projects-grid{grid-template-columns:1fr}
  .home-projects-side{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}
}
@media(max-width:620px){
  .review-platform{grid-template-columns:38px minmax(0,1fr) auto;gap:11px}
  .review-platform__mark{width:38px;height:38px}
  .review-platform__rating b{font-size:20px}
  .home-projects-side{grid-template-columns:1fr}
}


/* v10 — MAX logo: preserve original aspect ratio, no forced square crop */
.messenger-logo--max{
  width:auto !important;
  height:15px !important;
  max-width:24px;
  object-fit:contain;
  object-position:center;
  border-radius:0 !important;
  flex:0 0 auto;
}
.contact-strip .messenger-logo--max{
  height:15px !important;
  width:auto !important;
  max-width:24px;
}
.contact-messengers .messenger-logo--max,
.contact-messengers .messenger-logo--inline{
  height:16px !important;
  width:auto !important;
  max-width:25px;
  border-radius:0 !important;
}
.messenger--max,
.contact-messengers span{
  align-items:center;
}


/* v11 финал: MAX + компактный contact panel */

.contact-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:start}
.contact-panel > h2,.contact-panel > p{grid-column:1 / -1}
.contact-data{grid-column:1;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;min-width:0}
.contact-panel__actions{grid-column:2;align-self:end;display:flex;align-items:center;gap:10px;flex-wrap:nowrap;margin-top:0;padding-top:18px;border-top:1px solid var(--line)}
.contact-panel__actions .button{white-space:nowrap}
.discount-chip--contact{white-space:nowrap}
.messenger-logo--max{width:auto !important;height:17px !important;max-width:27px;border-radius:0 !important;object-fit:contain;object-position:center;flex:0 0 auto;display:block}
.contact-strip .messenger-logo--max{height:17px !important;max-width:27px}
.contact-messengers .messenger-logo--max,.contact-messengers .messenger-logo--inline{height:17px !important;max-width:27px;width:auto !important;border-radius:0 !important;object-fit:contain}
.messenger--max,.contact-messengers span,.contact-messengers a{align-items:center}
@media (max-width: 860px){
  .contact-panel{grid-template-columns:1fr}
  .contact-data,.contact-panel__actions{grid-column:1}
  .contact-panel__actions{justify-content:flex-start;flex-wrap:wrap}
}
@media (max-width: 620px){
  .contact-panel__actions{display:grid;grid-template-columns:1fr;gap:10px}
  .contact-panel__actions .button,.discount-chip--contact{width:max-content;max-width:100%}
}


/* v12 contact panel fix */
.contact-panel{display:block !important;padding:0 !important}
.contact-panel > p{margin:18px 0 20px !important;max-width:560px}
.contact-data{padding-top:18px;border-top:1px solid var(--line);display:grid !important;grid-template-columns:minmax(0,1fr) auto;gap:14px 18px;align-items:end}
.contact-data__main{display:flex;flex-direction:column;gap:10px;min-width:0}
.contact-phone{font-size:26px !important;line-height:1.08 !important;white-space:nowrap}
.contact-panel__actions{display:flex !important;align-items:center;gap:10px;flex-wrap:nowrap;margin:0 !important;padding:0 !important;border:0 !important;align-self:end}
.contact-panel__actions .button{white-space:nowrap}
.discount-chip--contact{white-space:nowrap}
@media (max-width: 980px){
  .contact-data{grid-template-columns:1fr}
  .contact-panel__actions{justify-content:flex-start}
}
@media (max-width: 620px){
  .contact-phone{font-size:24px !important;white-space:normal}
  .contact-panel__actions{flex-wrap:wrap}
}

/* Unified calculator — main page MVP */
.calc-section-head{align-items:start}
.project-calc{background:#fff;border:1px solid var(--line)}
.project-calc__progress{min-height:66px;padding:0 28px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}
.project-calc__progress-item{display:flex;align-items:center;gap:9px;color:#8b928d;font-size:12px}
.project-calc__progress-item span{width:26px;height:26px;border:1px solid #cbd1cb;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700}
.project-calc__progress-item b{font-size:12px;font-weight:600}
.project-calc__progress-item.is-active,.project-calc__progress-item.is-done{color:var(--ink)}
.project-calc__progress-item.is-active span{border-color:var(--lime);background:var(--lime)}
.project-calc__progress-item.is-done span{border-color:#7d867f;background:#f0f3ee}
.project-calc__progress-line{width:42px;height:1px;background:#d8ddd8}
.project-calc__time{margin-left:auto;font-size:11px;color:var(--muted)}
.project-calc__layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.62fr);min-height:590px}
.project-calc__workspace{padding:34px 34px 28px;display:flex;flex-direction:column;min-width:0}
.project-calc__summary{border-left:1px solid var(--line);background:#f8faf6;padding:30px 26px;position:relative}
.project-calc__summary:before{content:"";position:absolute;left:-1px;top:30px;width:3px;height:54px;background:var(--lime)}
.project-calc__intro{margin-bottom:24px}
.project-calc__intro h3{font-size:30px;line-height:1.08;letter-spacing:-.035em;margin:0 0 9px}
.project-calc__intro p{font-size:13px;line-height:1.55;color:var(--muted);max-width:680px;margin:0}
.project-calc__step{flex:1}
.project-calc__step[hidden],.project-calc__result[hidden]{display:none}
.calc-direction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.calc-direction{padding:0;border:1px solid var(--line);background:#fff;text-align:left;cursor:pointer;min-width:0;transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}
.calc-direction:hover{border-color:#9ba39d;transform:translateY(-1px)}
.calc-direction.is-active{border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--lime)}
.calc-direction img{width:100%;height:128px;object-fit:cover;background:#e2e6e0}
.calc-direction>span{display:block;padding:13px 14px 14px}
.calc-direction strong{display:block;font-size:14px;line-height:1.2;margin-bottom:4px}
.calc-direction small{display:block;font-size:10.5px;line-height:1.4;color:var(--muted)}
.calc-size-mode{display:inline-flex;border:1px solid var(--line);margin-bottom:22px}
.calc-size-mode button{min-height:38px;border:0;background:#fff;padding:0 14px;font-size:11px;font-weight:600;cursor:pointer;color:#666e68}
.calc-size-mode button+button{border-left:1px solid var(--line)}
.calc-size-mode button.is-active{background:var(--ink);color:#fff}
.calc-dimensions{display:grid;grid-template-columns:1fr 1fr .8fr;gap:12px;align-items:end;margin-bottom:30px}
.calc-area-only{max-width:360px;margin-bottom:30px}
.calc-field>span{display:block;font-size:11.5px;font-weight:600;margin-bottom:7px}
.calc-field>div{height:52px;border:1px solid #b5bcb6;display:flex;align-items:center;background:#fff}
.calc-field input{width:100%;height:100%;border:0;padding:0 14px;font-size:19px;font-weight:600;background:transparent}
.calc-field em{font-style:normal;color:#6b736d;font-size:12px;padding-right:14px}
.calc-area-readout{height:52px;background:var(--soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 15px}
.calc-area-readout span{font-size:11px;color:var(--muted)}
.calc-area-readout strong{font-size:17px}
.calc-conditional{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.calc-choice-block+.calc-choice-block{margin-top:22px}
.calc-choice-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:10px}
.calc-choice-head strong{font-size:13px}
.calc-choice-head span{font-size:10.5px;color:var(--muted)}
.calc-choice-row{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.calc-choice-row--three{grid-template-columns:repeat(3,1fr)}
.calc-choice-row--four{grid-template-columns:repeat(4,1fr)}
.calc-choice-row button{min-height:46px;padding:8px 10px;background:#fff;border:1px solid #b9c0ba;cursor:pointer;font-size:11.5px;font-weight:600}
.calc-choice-row button:hover{border-color:#6f7871}
.calc-choice-row button.is-active{border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--lime);background:#fbfcfa}
.calc-individual-note{margin-top:22px;border-left:3px solid var(--lime);padding:13px 16px;background:#f6f8f3;display:grid;gap:4px}
.calc-individual-note strong{font-size:12.5px}
.calc-individual-note span{font-size:11px;line-height:1.45;color:var(--muted)}
.calc-options{display:grid;gap:22px}
.calc-option-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.calc-option-row>div:first-child{display:grid;gap:3px}
.calc-option-row strong{font-size:13px}
.calc-option-row span{font-size:10.5px;color:var(--muted)}
.calc-counter{display:grid!important;grid-template-columns:38px 48px 38px;gap:0!important;border:1px solid #aeb6af}
.calc-counter button{height:38px;border:0;background:#fff;cursor:pointer;font-size:18px}
.calc-counter output{height:38px;display:grid;place-items:center;border-left:1px solid var(--line);border-right:1px solid var(--line);font-size:13px;font-weight:700}
.calc-more{border-top:1px solid var(--line);padding-top:16px}
.calc-more summary{font-size:12px;font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.calc-more summary:after{content:"+";font-size:17px;font-weight:400}
.calc-more[open] summary:after{content:"−"}
.calc-more__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.calc-more__grid label span{display:block;font-size:10.5px;font-weight:600;margin-bottom:6px}
.calc-more__grid select{width:100%;height:44px;border:1px solid #aeb6af;background:#fff;padding:0 10px}
.calc-options--common{margin-top:24px;padding-top:22px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.calc-toggle{position:relative;display:block}
.calc-toggle input{position:absolute;opacity:0;pointer-events:none}
.calc-toggle>span{display:block;min-height:76px;padding:13px 13px 12px 40px;border:1px solid var(--line);cursor:pointer;position:relative;background:#fff}
.calc-toggle>span:before{content:"";position:absolute;left:13px;top:15px;width:15px;height:15px;border:1px solid #9fa79f;background:#fff}
.calc-toggle input:checked+span{border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--lime)}
.calc-toggle input:checked+span:before{background:var(--lime);border-color:var(--lime);box-shadow:inset 0 0 0 3px #fff}
.calc-toggle strong{display:block;font-size:12px;margin-bottom:3px}
.calc-toggle small{display:block;font-size:10px;line-height:1.35;color:var(--muted)}
.project-calc__nav{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}
.project-calc__nav .calc-next{margin-left:auto;min-width:122px}
.project-calc__nav .button[disabled]{opacity:.35;cursor:not-allowed}
.calc-summary__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}
.calc-summary__head span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.calc-summary__head button{border:0;background:transparent;padding:0;color:#7b837d;font-size:10px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.calc-summary__empty{font-size:13px;line-height:1.6;color:var(--muted);max-width:260px}
.calc-summary__body h3{font-size:23px;line-height:1.1;letter-spacing:-.03em;margin:0 0 22px}
.calc-summary__list{margin:0 0 24px;display:grid}
.calc-summary__list>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #dde2dc;font-size:11.5px}
.calc-summary__list dt{color:var(--muted)}
.calc-summary__list dd{margin:0;text-align:right;font-weight:600}
.calc-summary__price-wrap{padding:18px 0 0;border-top:1px solid #9ea69f;display:grid;gap:5px}
.calc-summary__price-wrap>span{font-size:10.5px;color:var(--muted)}
.calc-summary__price-wrap strong{font-size:22px;line-height:1.15;letter-spacing:-.03em}
.calc-summary__price-wrap small{font-size:10.5px;line-height:1.45;color:var(--muted)}
.calc-summary__hint{margin-top:20px;padding:11px 12px;border-left:3px solid var(--lime);background:#fff;font-size:10.5px;line-height:1.45;color:#5d655f}
.project-calc__result{flex:1}
.calc-result__eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#717972;margin-bottom:12px}
.project-calc__result>h3{font-size:34px;line-height:1.05;letter-spacing:-.04em;margin:0 0 10px}
.calc-result__price{font-size:42px;line-height:1;letter-spacing:-.045em;font-weight:700;margin:8px 0 16px}
.calc-result__note{font-size:12.5px;line-height:1.55;color:var(--muted);max-width:650px;margin:0 0 20px}
.calc-result__config{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:28px}
.calc-result__config span{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid var(--line);background:#fafbf9;font-size:10.5px;font-weight:600}
.calc-result__contact{border-top:1px solid var(--line);padding-top:26px;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:start}
.calc-result__contact h4{font-size:20px;line-height:1.1;margin:0 0 7px}
.calc-result__contact p{font-size:11.5px;line-height:1.5;color:var(--muted);margin:0}
.calc-result__contact form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.calc-result__contact label span{display:block;font-size:10.5px;font-weight:600;margin-bottom:6px}
.calc-result__contact input{width:100%;height:46px;border:1px solid #aeb6af;padding:0 11px;background:#fff}
.calc-result__submit{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin-top:2px}
.calc-result__submit small{font-size:9.5px;line-height:1.35;color:#7a827c;max-width:250px}
.calc-result__status{grid-column:1/-1;padding:11px 12px;background:#f3f8ef;border-left:3px solid var(--lime);font-size:11px}
.mobile-estimate.is-hidden{opacity:0;pointer-events:none;transform:translateY(10px)}

@media(max-width:1020px){
 .project-calc__layout{grid-template-columns:1fr}
 .project-calc__summary{border-left:0;border-top:1px solid var(--line);position:static}
 .project-calc__summary:before{left:26px;top:-1px;width:54px;height:3px}
 .calc-direction-grid{grid-template-columns:repeat(3,1fr)}
 .calc-options--common{grid-template-columns:1fr 1fr}
 .calc-result__contact{grid-template-columns:1fr}
}
@media(max-width:720px){
 .project-calc__progress{padding:0 18px;gap:7px}.project-calc__progress-line{width:16px}.project-calc__progress-item b{display:none}.project-calc__time{font-size:9.5px}
 .project-calc__workspace{padding:24px 18px 20px}
 .project-calc__summary{padding:24px 18px}
 .project-calc__intro h3{font-size:25px}
 .calc-direction-grid{grid-template-columns:1fr 1fr;gap:9px}
 .calc-direction img{height:104px}
 .calc-direction>span{padding:11px}
 .calc-dimensions{grid-template-columns:1fr 1fr}.calc-area-readout{grid-column:1/-1}
 .calc-choice-row--four{grid-template-columns:1fr 1fr}
 .calc-options--common{grid-template-columns:1fr}
 .calc-more__grid{grid-template-columns:1fr}
 .calc-result__contact form{grid-template-columns:1fr}
 .calc-result__submit{display:block}.calc-result__submit .button{width:100%;margin-bottom:8px}
 .calc-result__price{font-size:34px}
}
@media(max-width:460px){
 .calc-direction-grid{grid-template-columns:1fr}
 .calc-direction{display:grid;grid-template-columns:112px 1fr;align-items:stretch}.calc-direction img{height:100%;min-height:88px}.calc-direction>span{display:flex;flex-direction:column;justify-content:center}
 .calc-dimensions{grid-template-columns:1fr}.calc-area-readout{grid-column:auto}
 .calc-choice-row,.calc-choice-row--three,.calc-choice-row--four{grid-template-columns:1fr}
 .calc-option-row{align-items:flex-start}.project-calc__nav .button{flex:1}
}
.calc-result__edit{margin:-8px 0 24px}

/* Calculator v20 — simplified flow */
.project-calc__time{margin-left:auto;padding:6px 10px;border:1px solid var(--lime);border-radius:999px;color:var(--ink);font-weight:700;background:#f8fff0}
.project-calc__layout{grid-template-columns:1fr;min-height:0}
.project-calc__summary{display:none!important}
.project-calc__workspace{padding:32px 34px 28px}
.project-calc__intro{margin-bottom:18px}
.project-calc__intro h3{margin-bottom:0}
.calc-direction-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.calc-direction img{height:112px}
.calc-direction>span{padding:11px 12px 12px;text-align:center}
.calc-direction strong{font-size:13.5px;margin:0}
.calc-direction small{display:none}
.calc-choice-head{margin-bottom:9px}
.calc-choice-head span{display:none}
.calc-choice-block+.calc-choice-block{margin-top:18px}
.calc-individual-note{display:none!important}
.calc-option-row{min-height:50px}
.calc-option-row>div:first-child span{display:none}
.calc-options--common{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.calc-toggle>span{min-height:48px;padding:14px 12px 12px 38px;display:flex;align-items:center}
.calc-toggle>span:before{top:15px}
.calc-toggle strong{margin:0;font-size:11.5px}
.calc-toggle small{display:none}
.calc-color-row button{display:flex;align-items:center;justify-content:center;gap:8px}
.ral-swatch{width:15px;height:15px;border-radius:50%;display:inline-block;flex:0 0 15px;border:1px solid rgba(0,0,0,.18)}
.ral-swatch--9006{background:#a5a6a4}
.ral-swatch--9005{background:#0b0b0c}
.ral-swatch--9003{background:#f4f4ef}
.ral-swatch--other{background:conic-gradient(#ef4545,#f0c84a,#63b64f,#46a5d7,#7058c9,#ef4545)}
.calc-more{display:none}
.calc-live-price{margin-top:24px;padding:16px 18px;border:1px solid var(--lime);display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fbfff7}
.calc-live-price[hidden]{display:none}
.calc-live-price>div{display:flex;align-items:baseline;gap:14px;min-width:0}
.calc-live-price span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#59615a}
.calc-live-price strong{font-size:22px;line-height:1.1;letter-spacing:-.03em;white-space:nowrap}
.calc-live-price small{font-size:10.5px;line-height:1.4;color:var(--muted);text-align:right;max-width:300px}
.calc-result__contact{grid-template-columns:.85fr 1.15fr;gap:24px}
.calc-discount{display:inline-flex;margin-top:12px;padding:7px 10px;border-radius:999px;background:var(--lime);font-size:10.5px;font-weight:700;line-height:1}
.calc-result__note{max-width:700px}
@media(max-width:1050px){
 .calc-direction-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .project-calc__workspace{padding:24px 18px 20px}
 .calc-direction-grid{grid-template-columns:1fr 1fr}
 .calc-direction{display:block}.calc-direction img{height:105px}.calc-direction>span{display:block;text-align:left}
 .calc-options--common{grid-template-columns:1fr}
 .calc-live-price{align-items:flex-start;flex-direction:column;gap:6px}
 .calc-live-price>div{display:grid;gap:4px}.calc-live-price strong{white-space:normal}
 .calc-live-price small{text-align:left;max-width:none}
}
@media(max-width:480px){
 .calc-direction-grid{grid-template-columns:1fr}
 .calc-direction{display:grid;grid-template-columns:112px 1fr;align-items:stretch}.calc-direction img{height:100%;min-height:82px}.calc-direction>span{display:flex;align-items:center;text-align:left}
}


/* Calculator v21 — UX cleanup */
.project-calc [hidden]{display:none!important}
.calc-section-head{grid-template-columns:.9fr 1.1fr;gap:76px;align-items:center}
.calc-note{position:relative;max-width:500px;margin:2px 0 0;padding:17px 22px 16px 48px;border:2px solid var(--lime);border-radius:17px 13px 18px 12px;background:#fff;transform:rotate(-.35deg);box-shadow:3px 4px 0 rgba(126,244,0,.12)}
.calc-note:after{content:"";position:absolute;left:52px;bottom:-10px;width:17px;height:17px;background:#fff;border-right:2px solid var(--lime);border-bottom:2px solid var(--lime);transform:rotate(45deg)}
.calc-note__quote{position:absolute;left:16px;top:5px;font-size:42px;line-height:1;color:var(--lime);font-weight:700}
.calc-note p{margin:0!important;max-width:none!important;color:#303632!important;font-size:13px!important;line-height:1.5!important;font-weight:500}
.project-calc{border-color:#cfd6cf}
.project-calc__workspace{padding:30px 34px 26px}
.project-calc__progress{padding:0 24px;min-height:54px}
.project-calc__time{font-size:10.5px;padding:6px 11px;background:#f6ffe9}
.project-calc__intro h3{font-size:27px}

.calc-live-price{margin-top:22px;padding:15px 18px;background:#fbfff7;border:1.5px solid var(--lime);min-height:64px}
.calc-live-price>div{display:grid;grid-template-columns:auto auto;column-gap:16px;align-items:baseline}
.calc-live-price span{font-size:10px;letter-spacing:.06em;color:#667068}
.calc-live-price strong{font-size:24px;color:var(--ink)}
.calc-live-price small{margin-left:auto;font-size:11px;max-width:320px;color:#535b55;font-weight:500}

/* clearer controls */
.calc-choice-block{padding-top:4px}
.calc-choice-head strong,.calc-option-row>div:first-child strong{font-size:14px;line-height:1.2}
.calc-choice-row{gap:8px}
.calc-choice-row button{min-height:48px;padding:11px 12px;font-size:12px;font-weight:600;background:#fff;border:1px solid #c7cec8}
.calc-choice-row button:hover{border-color:#89938a}
.calc-choice-row button.is-active{border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--lime);background:#fbfff8}
.calc-color-row button{min-height:54px;font-size:12.5px;gap:10px}
.ral-swatch{width:21px;height:21px;flex-basis:21px;border-width:1px}

.calc-option-row{padding:13px 0;border-bottom:0}
.calc-counter{min-width:118px}
.calc-counter button,.calc-counter output{height:42px;min-width:38px;font-size:13px}
.calc-options{gap:18px}
.calc-options--common{margin-top:20px;padding-top:0;border-top:0;gap:10px}
.calc-toggle>span{min-height:54px;padding:16px 14px 14px 42px;border-color:#c7cec8;font-size:12px}
.calc-toggle>span:before{top:18px;left:14px}
.calc-toggle strong{font-size:12.5px}
.project-calc__nav{margin-top:24px;padding-top:18px;border-top:0}

/* result: price is the hero, not another paragraph */
.project-calc__result>h3{font-size:31px;margin-bottom:18px}
.calc-result__price-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:#6f7871;margin-bottom:7px;font-weight:700}
.calc-result__price{font-size:44px;margin:0 0 12px;color:var(--ink)}
.calc-result__note{font-size:12px;margin-bottom:16px}
.calc-result__config{margin-bottom:22px}
.calc-result__contact{padding-top:22px}
.calc-result__contact h4{font-size:21px}
.calc-discount{font-size:11px;padding:8px 11px}

@media(max-width:1020px){
 .calc-section-head{grid-template-columns:1fr;gap:20px}
 .calc-note{max-width:620px}
}
@media(max-width:720px){
 .calc-note{transform:none;padding:15px 17px 14px 42px}
 .calc-note:after{left:38px}
 .project-calc__workspace{padding:23px 18px 20px}
 .calc-live-price{align-items:flex-start;gap:8px}
 .calc-live-price small{margin-left:0}
 .calc-choice-row button{font-size:12.5px}
 .calc-color-row button{justify-content:flex-start}
}


/* v22 calculator cleanup */
.project-calc__step[data-calc-step="3"] .project-calc__intro{margin-bottom:22px}
.project-calc__step[data-calc-step="3"] .project-calc__intro h3{font-size:28px}
.calc-options[data-office-options],.calc-options[data-sanitary-options]{gap:20px}
.calc-option-row--doors{padding:18px 18px!important;background:#f8faf6;border:1px solid #d9dfd9!important;align-items:center!important}
.calc-option-row--doors>div:first-child strong{font-size:16px!important}
.calc-counter{display:grid!important;grid-template-columns:42px 48px 42px;align-items:center}
.calc-counter button,.calc-counter output{height:42px!important;min-width:0!important;display:grid!important;place-items:center;border:1px solid #bfc7c0;background:#fff;font-size:14px;font-weight:700}
.calc-counter output{border-left:0;border-right:0}
.calc-choice-block{padding:0!important}
.calc-choice-block+.calc-choice-block{margin-top:22px!important}
.calc-choice-head{margin-bottom:11px!important}
.calc-choice-head strong{font-size:16px!important;letter-spacing:-.02em}
.calc-choice-row button{min-height:52px!important;font-size:13px!important}
.calc-color-row button{display:flex;align-items:center;justify-content:center;gap:9px}
.ral-swatch{width:17px!important;height:17px!important;flex:0 0 17px!important;border-radius:50%;border:1px solid #aeb6af;display:inline-block}
.calc-options--common{margin-top:24px!important;padding-top:0!important;border-top:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.calc-toggle>span{min-height:52px!important;padding:15px 14px 13px 42px!important;display:flex!important;align-items:center!important}
.calc-toggle strong{font-size:13px!important}
.calc-live-price{margin-top:22px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:18px!important;padding:16px 18px!important;min-height:62px!important;border:1.5px solid var(--lime)!important;background:#fbfff7!important}
.calc-live-price[hidden]{display:none!important}
.calc-live-price>span{font-size:10.5px!important;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#657067}
.calc-live-price>strong{font-size:26px!important;line-height:1!important;letter-spacing:-.035em;color:var(--ink)}
.project-calc__result>h3{font-size:30px!important;margin:0 0 10px!important}
.calc-result__price{font-size:46px!important;line-height:1!important;margin:0 0 18px!important;font-weight:700!important;letter-spacing:-.045em}
.calc-result__config{margin-bottom:26px!important}
.calc-result__contact{border-top:1px solid var(--line);padding-top:24px!important;grid-template-columns:.75fr 1.25fr!important;gap:26px!important}
.calc-result__contact-copy{display:grid;gap:12px}
.calc-result__contact-copy p{font-size:13px!important;line-height:1.5!important;color:#4f5751!important;margin:0!important;max-width:340px}
.calc-result__back-row{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.calc-result__back-row .button{min-width:92px}
@media(max-width:760px){
 .calc-options--common{grid-template-columns:1fr!important}
 .calc-result__contact{grid-template-columns:1fr!important}
 .calc-live-price{align-items:flex-start!important;flex-direction:column!important;gap:6px!important}
 .calc-live-price>strong{font-size:24px!important}
}


/* v23 global cleanup */
.solution-tags{border-top:0!important;padding-top:8px!important}
.solution-preview{border-bottom:0!important}
.solution-preview__button{border-bottom:0!important}

/* Calculator heading: one line on home, note aligned to the form's right edge */
.calc-section-head{grid-template-columns:minmax(0,1fr) minmax(330px,390px)!important;gap:36px!important;align-items:center!important;margin-bottom:24px!important}
.calc-section-head .accent-title{font-size:clamp(32px,3.2vw,46px)!important;white-space:nowrap}
.calc-section-head .calc-note{justify-self:end;width:100%;max-width:390px;margin:0!important;transform:none!important}
.calc-section-head--service .accent-title{white-space:normal;font-size:clamp(32px,3vw,44px)!important}
.calc-section-head--service{align-items:end!important}
@media(max-width:980px){
 .calc-section-head,.calc-section-head--service{grid-template-columns:1fr!important;gap:16px!important}
 .calc-section-head .accent-title{white-space:normal!important}
 .calc-section-head .calc-note{justify-self:start;max-width:620px}
}


/* v29 — homepage hero proof aligned with landing-page fact pattern */
.hero-proof{border-top:0!important;gap:24px!important}
.hero-proof>div{
  display:grid!important;grid-template-columns:8px minmax(0,1fr);column-gap:10px;row-gap:3px;align-items:start;
  padding:0!important;min-width:0
}
.hero-proof>div::before{
  content:""!important;display:block!important;position:static!important;width:7px!important;height:7px!important;
  border-radius:50%;background:var(--lime)!important;margin-top:5px;grid-row:1/3
}
.hero-proof strong{grid-column:2;font-size:16px;margin:0!important;line-height:1.2}
.hero-proof span{grid-column:2;font-size:10.5px;line-height:1.4;max-width:175px}
@media(max-width:560px){.hero-proof{gap:18px 20px!important}}


/* v30 — unified micro-UI rhythm */
.hero-proof--points>div{padding-inline-start:31px}
.hero-proof--points>div:before{left:17px;top:20px;width:7px;height:7px;border-radius:50%;background:var(--lime)}
.hero-proof--points strong{font-size:17px}
.solution-note{position:relative;margin:0 0 14px;padding:14px 16px 14px 40px;border:1px solid var(--lime);border-radius:12px;background:rgba(255,255,255,.72)}
.solution-note:after{content:"";position:absolute;left:28px;bottom:-6px;width:10px;height:10px;background:var(--soft);border-right:1px solid var(--lime);border-bottom:1px solid var(--lime);transform:rotate(45deg)}
.solution-note__quote{position:absolute;left:13px;top:7px;color:var(--lime-dark);font-size:28px;font-weight:700;line-height:1}
.solution-note p{margin:0!important;max-width:none!important;color:#56605a!important;font-size:12.5px!important;line-height:1.5!important}
.solutions .section-head--split{grid-template-columns:1fr;max-width:620px;margin-bottom:26px}
.solution-preview{align-self:start}
@media(max-width:860px){.solution-note{margin-bottom:12px}.hero-proof--points>div{padding-inline-start:28px}}


/* v31 — homepage solutions composition */
.solutions .solutions-head{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr)!important;
  gap:46px!important;
  align-items:center!important;
  max-width:none!important;
  margin-bottom:18px!important;
}
.solutions .solutions-head .accent-title{max-width:620px}
.solutions .solutions-head .solution-note{
  margin:0!important;
  align-self:end;
  width:100%;
  max-width:none;
}
.solutions-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr)!important;
  gap:46px!important;
  align-items:start!important;
}
.solution-preview{position:relative!important;top:auto!important;align-self:start!important}
.solution-preview img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.solution-tags{
  width:calc(60% - 28px);
  max-width:680px;
  margin-top:12px!important;
  padding-top:0!important;
  border-top:0!important;
  gap:7px!important;
}
.solution-tags a{min-height:29px!important;padding-inline:9px!important}

/* Homepage proof stays slightly more prominent than service-page proof. */
.hero-proof--points strong{font-size:16px!important;line-height:1.18!important}
.hero-proof--points span{font-size:10.8px!important;line-height:1.4!important}

@media(max-width:1020px){
  .solutions .solutions-head,.solutions-grid{grid-template-columns:1fr!important;gap:20px!important}
  .solutions .solutions-head .solution-note{max-width:620px}
  .solution-preview img{aspect-ratio:16/10}
  .solution-tags{width:100%;max-width:none}
}

/* v6 review polish — compact rhythm without collapsing the approved layout */
@media (min-width: 1021px){
  .section{padding:80px 0}
  .section-head{margin-bottom:32px}
  .installation{padding:70px 0}
  .nav-bar__inner{grid-template-columns:214px 1fr auto;gap:26px}
  .brand img{width:188px}
  .nav{font-size:14px;gap:27px}
  .mega-menu a{font-size:13.5px}
}

/* Click-to-expand for non-navigation content photos. Project cards remain links to projects. */
.photo-zoomable{cursor:zoom-in}
.photo-lightbox[hidden]{display:none}
.photo-lightbox{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:32px;background:rgba(7,10,8,.9)}
.photo-lightbox__close{position:fixed;right:22px;top:20px;width:44px;height:44px;border:1px solid rgba(255,255,255,.65);background:#fff;color:#111512;font-size:28px;line-height:1;cursor:pointer;z-index:2}
.photo-lightbox__image{display:block;max-width:min(1400px,94vw);max-height:90vh;width:auto;height:auto;object-fit:contain;background:#fff}
@media (max-width:700px){.photo-lightbox{padding:16px}.photo-lightbox__close{right:10px;top:10px}}


/* v6.2 review polish — final rhythm + trust + bottom form */
@media (min-width:1021px){
  .section{padding:70px 0}
  .section-head{margin-bottom:28px}
  .installation{padding:62px 0}
}
.reviews-trust--compact{padding-top:54px!important;padding-bottom:54px!important}
.reviews-compact__head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px}
.reviews-compact__head>div>p{margin:12px 0 0 18px;color:var(--muted);font-size:13px;line-height:1.5}
.reviews-compact__hint{font-size:12px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:3px;white-space:nowrap}
.reviews-trust--compact .reviews-platforms{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.reviews-trust--compact .review-platform{min-height:76px}
.reviews-trust--compact .review-platform__rating{display:none!important}

.installation-prep{margin:24px 0 26px;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.18)}
.installation-prep h3{margin:0 0 15px;color:#fff;font-size:17px;line-height:1.2}
.installation-prep__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.installation-prep__grid p{margin:0;padding:0 14px 0 0}
.installation-prep__grid strong{display:block;color:#fff;font-size:12px;line-height:1.25;margin-bottom:5px}
.installation-prep__grid span{display:block;color:#aeb9b2;font-size:11px;line-height:1.45}

.bottom-request-form{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.bottom-request-form__head{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin-bottom:16px}
.bottom-request-form__head strong{font-size:18px;line-height:1.2}
.bottom-request-form__head span{font-size:11px;line-height:1.45;color:var(--muted);max-width:360px;text-align:right}
.bottom-request-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bottom-request-form label{display:grid;gap:6px}
.bottom-request-form label>span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#687169}
.bottom-request-form input,.bottom-request-form textarea{width:100%;border:1px solid #d7ddd5;background:#fff;color:var(--ink);font:inherit;font-size:13px;padding:12px 13px;border-radius:0;}
.bottom-request-form input:focus,.bottom-request-form textarea:focus{border-color:var(--lime-dark)}
.bottom-request-form textarea{min-height:82px;resize:vertical}
.bottom-request-form__wide{grid-column:1 / -1}
.bottom-request-form__footer{display:flex;align-items:center;gap:14px;margin-top:12px}
.bottom-request-form__status{font-size:11px;color:var(--muted)}

@media(max-width:1020px){
  .reviews-compact__head{align-items:flex-start;flex-direction:column;gap:12px}
  .reviews-compact__head>div>p{margin-left:18px}
  .installation-prep__grid{grid-template-columns:1fr}
  .bottom-request-form__head{display:block}
  .bottom-request-form__head span{display:block;margin-top:6px;text-align:left}
}
@media(max-width:620px){
  .bottom-request-form__grid{grid-template-columns:1fr}
  .bottom-request-form__wide{grid-column:1}
  .reviews-trust--compact{padding-top:46px!important;padding-bottom:46px!important}
}
\n\n/* v6.3 final review/form/installation polish */
.reviews-trust--compact{padding-top:48px!important;padding-bottom:48px!important}
.reviews-trust--compact .reviews-platforms{border-top:0!important;border-bottom:0!important}
.reviews-compact__head{align-items:flex-start;margin-bottom:22px}
.reviews-compact__head>div>p{margin:10px 0 0 18px;max-width:760px;font-size:13px;line-height:1.5}
.reviews-platforms{gap:0}
.review-platform{color:inherit;text-decoration:none!important;transition:opacity .15s ease}
.review-platform:hover{opacity:.68}
.reviews-trust--compact .review-platform__rating{display:block!important}
.review-platform__rating b{font-size:20px}
.review-platform__rating span{font-size:9.5px}

.bottom-request-form{margin-top:18px;padding-top:0;border-top:0}
.bottom-request-form label>span{font-size:11px;font-weight:600;text-transform:none;letter-spacing:0;color:#626b64}
.bottom-request-form input,.bottom-request-form textarea{font-family:inherit!important;font-size:13px;font-weight:400;line-height:1.45}
.bottom-request-form input::placeholder,.bottom-request-form textarea::placeholder{color:#99a19b;opacity:.62;font-family:inherit;font-weight:400}
.bottom-request-form textarea{min-height:92px}
.bottom-request-form__footer{margin-top:14px}

.installation-copy>p{margin:16px 0 16px!important;line-height:1.55}
.installation-list{gap:8px!important;margin-bottom:16px!important}
.installation-list li{line-height:1.4!important}
.installation-details-note{margin:14px 0 0!important;padding-top:14px;border-top:1px solid rgba(255,255,255,.16);color:#aeb9b2!important;font-size:11.5px!important;line-height:1.45!important}
.installation-actions{margin-top:16px!important}

/* Same underline animation in main nav and dropdowns. */
.mega-menu a{position:relative;text-decoration:none!important;width:max-content;max-width:100%}
.mega-menu a:after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--ink);transition:right .15s ease}
.mega-menu a:hover:after,.mega-menu a:focus-visible:after,.mega-menu a[aria-current="page"]:after{right:0}
.mega-menu a[aria-current="page"]{text-decoration:none!important}


/* v6.4 — review alignment, installation accent, form discount, linked sanitary cards */
@media (min-width:1021px){
  .reviews-trust--compact .reviews-platforms{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:48px!important;
  }
  .reviews-trust--compact .review-platform,
  .reviews-trust--compact .review-platform:last-child{
    display:flex!important;
    align-items:center;
    justify-content:flex-start;
    gap:11px!important;
    width:max-content;
    min-width:0;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  .reviews-trust--compact .review-platform__mark{
    width:36px;
    height:36px;
    flex:0 0 36px;
  }
  .reviews-trust--compact .review-platform__body{
    flex:0 0 auto;
  }
  .reviews-trust--compact .review-platform__body strong{
    margin:0;
    white-space:nowrap;
  }
  .reviews-trust--compact .review-platform__rating{
    flex:0 0 auto;
    margin-left:5px;
    text-align:left;
  }
  .reviews-trust--compact .review-platform__rating b{font-size:19px}
}

.installation-details-note{
  margin:14px 0 0!important;
  padding:10px 12px!important;
  border-top:0!important;
  border-left:0!important;
  background:rgba(255,255,255,.045);
  color:#bac4bd!important;
  font-size:11.5px!important;
  line-height:1.45!important;
}

.bottom-request-form__footer{
  flex-wrap:wrap;
}
.discount-chip--form{
  min-height:34px;
  border-radius:0;
  white-space:nowrap;
  font-size:10.5px;
}
.bottom-request-form__status:not(:empty){
  flex-basis:100%;
  margin-top:2px;
}

.office-type--linked{cursor:pointer}
.office-type--linked:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.office-type--linked .sanitary-type-link{position:relative;z-index:1}

@media(max-width:1020px){
  .reviews-trust--compact .reviews-platforms{display:grid!important;grid-template-columns:1fr!important;gap:18px!important}
  .reviews-trust--compact .review-platform,.reviews-trust--compact .review-platform:last-child{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:11px!important;width:100%;padding:0!important;border:0!important}
}
@media(max-width:620px){
  .discount-chip--form{min-height:32px}
}


/* v6.6 reviews redesign */
.reviews-trust--compact{padding-top:44px!important;padding-bottom:44px!important}
.reviews-compact__head{margin-bottom:18px!important}
.reviews-compact__head>div>p{margin:10px 0 0 18px!important;max-width:700px;color:var(--muted);font-size:13px;line-height:1.55}
.reviews-platforms{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.reviews-trust--compact .review-platform,.reviews-trust--compact .review-platform:last-child{display:grid!important;grid-template-columns:56px minmax(0,1fr)!important;align-items:center!important;gap:14px!important;width:100%!important;min-height:118px;padding:18px 18px!important;border:1px solid #dce8d5!important;background:#fff!important;box-shadow:none!important;text-decoration:none!important;color:inherit!important;margin:0!important}
.reviews-trust--compact .review-platform:hover{opacity:1!important;border-color:var(--lime-dark)!important;transform:translateY(-1px)}
.reviews-trust--compact .review-platform__mark{width:56px!important;height:56px!important;display:grid!important;place-items:center!important;border:1px solid #e7eee2;border-radius:0;background:#f8faf7;flex:0 0 56px!important}
.reviews-trust--compact .review-platform__mark img{max-width:30px;max-height:30px;width:auto;height:auto;object-fit:contain}
.reviews-trust--compact .review-platform__body{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;min-width:0}
.reviews-trust--compact .review-platform__body strong{margin:0!important;font-size:16px!important;line-height:1.2!important;white-space:normal!important}
.reviews-trust--compact .review-platform__rating{display:none!important}
.stars-rating{--rating:5;position:relative;display:inline-block;font-size:17px;line-height:1;letter-spacing:2px;color:#d9e1d6;white-space:nowrap}
.stars-rating::before{content:"★★★★★"}
.stars-rating::after{content:"★★★★★";position:absolute;left:0;top:0;width:calc((var(--rating) / 5) * 100%);overflow:hidden;color:var(--lime-dark);white-space:nowrap}
.review-platform__meta{display:inline-flex;align-items:center;gap:6px;font-size:12px;line-height:1.3;color:#69726b}
.review-platform__meta::after{content:"↗";font-size:12px;line-height:1;color:#90a086}
@media (max-width:1020px){
  .reviews-platforms{grid-template-columns:1fr!important;gap:14px!important}
  .reviews-trust--compact .review-platform,.reviews-trust--compact .review-platform:last-child{grid-template-columns:52px minmax(0,1fr)!important;min-height:auto;padding:16px 16px!important}
  .reviews-trust--compact .review-platform__mark{width:52px!important;height:52px!important}
}
@media (max-width:620px){
  .reviews-trust--compact{padding-top:40px!important;padding-bottom:40px!important}
  .reviews-trust--compact .review-platform,.reviews-trust--compact .review-platform:last-child{grid-template-columns:48px minmax(0,1fr)!important;padding:14px 14px!important}
  .reviews-trust--compact .review-platform__mark{width:48px!important;height:48px!important}
  .stars-rating{font-size:16px;letter-spacing:1px}
}


/* v6.7 final polish */
/* main production heading and stats accent */
.production-copy .accent-title{max-width:700px}
.production-stats strong{position:relative;padding-left:18px}
.production-stats strong::before{content:"";position:absolute;left:0;top:.12em;width:4px;height:.9em;background:var(--lime)}

/* reviews block final */
.reviews-trust--compact{padding-top:44px!important;padding-bottom:42px!important}
.reviews-compact__head{margin-bottom:16px!important}
.reviews-compact__head>div>p{display:none!important}
.reviews-platforms{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.reviews-trust--compact .review-platform,.reviews-trust--compact .review-platform:last-child{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;align-items:center!important;gap:14px!important;width:100%!important;min-height:0;padding:18px 20px!important;border:1px solid #dce8d5!important;background:#fff!important;box-shadow:none!important;text-decoration:none!important;color:inherit!important;margin:0!important}
.reviews-trust--compact .review-platform:hover{opacity:1!important;border-color:var(--lime-dark)!important;transform:translateY(-1px)}
.reviews-trust--compact .review-platform__mark{width:36px!important;height:36px!important;display:grid!important;place-items:center!important;border:0!important;border-radius:0!important;background:transparent!important;flex:0 0 36px!important;padding:0!important}
.reviews-trust--compact .review-platform__mark img{max-width:28px;max-height:28px;width:auto;height:auto;object-fit:contain}
.reviews-trust--compact .review-platform__body{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;min-width:0}
.reviews-trust--compact .review-platform__body strong{margin:0!important;font-size:16px!important;line-height:1.2!important;white-space:normal!important}
.stars-rating{--rating:5;position:relative;display:inline-block;font-size:17px;line-height:1;letter-spacing:2px;color:#d9e1d6;white-space:nowrap}
.stars-rating::before{content:"★★★★★"}
.stars-rating::after{content:"★★★★★";position:absolute;left:0;top:0;width:calc((var(--rating) / 5) * 100%);overflow:hidden;color:var(--lime-dark);white-space:nowrap}
.review-platform__meta{display:inline-flex;align-items:center;gap:7px;font-size:12px;line-height:1.3;color:#667068}
.review-platform__meta::after{content:"→";font-size:14px;line-height:1;color:var(--lime-dark);font-weight:700}
.reviews-compact__footer{margin:14px 0 0 18px!important;max-width:none!important;color:var(--muted);font-size:13px;line-height:1.55}
.reviews-compact__footer a{color:var(--lime-dark)!important;font-weight:700;text-decoration:none}
.reviews-compact__footer a:hover{text-decoration:underline}
@media (max-width:1020px){
  .reviews-platforms{grid-template-columns:1fr!important;gap:14px!important}
  .reviews-trust--compact .review-platform,.reviews-trust--compact .review-platform:last-child{grid-template-columns:34px minmax(0,1fr)!important;padding:16px 16px!important}
}
@media (max-width:620px){
  .reviews-trust--compact{padding-top:40px!important;padding-bottom:38px!important}
  .reviews-trust--compact .review-platform,.reviews-trust--compact .review-platform:last-child{padding:14px 14px!important}
  .stars-rating{font-size:16px;letter-spacing:1px}
  .reviews-compact__footer{margin-left:0!important}
}


/* v6.12.8 calculator heading + note cleanup */
.calc-section-head .accent-title,
.calc-section-head--service .accent-title{font-size:clamp(39px,3.7vw,56px)!important;line-height:1.035!important;letter-spacing:-.045em!important;white-space:normal!important}
.calc-section-head{align-items:center!important}
@media(max-width:760px){
  .calc-section-head .accent-title,
  .calc-section-head--service .accent-title{font-size:34px!important;line-height:1.04!important}
}

/* v6.15.3 vector logo */
.footer-logo{background:transparent!important;padding:0!important}
.footer-logo img{width:176px;height:auto}


/* v6.15.6 — global header/footer consolidation */
.nav-group:after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);width:min(920px,92vw);height:18px;pointer-events:auto}
.mega-menu{top:calc(100% + 8px);width:min(920px,92vw);padding:28px 30px;gap:32px}
.header-actions .button-icon{width:17px;height:17px;fill:currentColor;flex:0 0 auto}
.button--header{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.footer-links--grouped{display:grid}

/* Release: intrinsic gallery sizing, preserving approved composition. */
.installation-gallery{min-width:0;max-width:100%}
.installation-thumbs .thumb{min-width:0;max-width:100%}
.project-media{height:100%;display:block;position:relative;overflow:hidden;background:#dfe3de}
@media(max-width:1020px){
  .contact-strip__inner{flex-wrap:wrap;white-space:normal;overflow:visible;gap:0 12px;padding-block:3px}
  .contact-strip__inner a,.contact-strip__inner .messenger{min-height:34px;align-items:center}
}
@media(max-width:620px){
  .calc-size-mode button{min-height:44px;font-size:12px}
  .solution-tags a{min-height:44px;display:inline-flex;align-items:center}
}

/* Client clarification for sanitary calculator; existing layout unchanged in other modes. */
.calc-field [data-sanitary-height-note]:not([hidden]){display:block;font-size:11px;line-height:1.35;color:var(--muted);margin-bottom:6px}


.static-location__visual{display:block;overflow:hidden;border-radius:20px;box-shadow:0 18px 45px rgba(18,24,14,.08);}
.static-location__visual img{width:100%;height:auto;display:block;}
.static-location__badge{pointer-events:none;}

/* Final October 13 address correction: show entire static map, including address. */
.static-location__visual img{object-fit:contain!important;object-position:center!important;background:#fff}
