
:root{--ink:#151719;--muted:#687078;--soft:#f4f5f2;--line:#dfe3df;--accent:#ff6b2c;--accent-dark:#dc4d15;--yellow:#ffc857;--dark:#1b1e1d}
*{box-sizing:border-box}
.site-announcement{background:#18201e;color:#fff;border-bottom:3px solid #ff6b2c;padding:14px 0}.site-announcement[hidden]{display:none}.site-announcement .container{display:flex;align-items:center;gap:18px}.site-announcement strong{color:#ffc857;font-size:13px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.site-announcement p{margin:0;line-height:1.5;white-space:pre-line}@media(max-width:700px){.site-announcement{padding:12px 0}.site-announcement .container{display:block}.site-announcement strong{display:block;margin-bottom:5px}.site-announcement p{font-size:14px}}html{scroll-behavior:smooth}body{margin:0;background:var(--soft);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input,select{font:inherit}.container{width:min(1240px,calc(100% - 64px));margin:0 auto}
.topline{background:var(--dark);color:#cdd2ce;font-size:12px}.topline__inner{height:38px;display:flex;align-items:center;gap:10px}.topline__city{margin-left:auto;color:#a2aaa5}.status-dot{width:7px;height:7px;border-radius:50%;background:#65d487;box-shadow:0 0 0 4px #314337}
.header{height:82px;background:var(--soft);border-bottom:1px solid var(--line);position:relative;z-index:5}.header__inner{height:100%;display:flex;align-items:center;gap:42px}.logo{display:flex;align-items:center;gap:11px;font:800 19px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.01em}.logo small{display:block;font:700 12px/1 'Manrope',Arial,sans-serif;letter-spacing:.08em;color:#68756f;margin-top:8px}.logo__mark{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--accent);color:#fff;font:700 27px Georgia;transform:rotate(-7deg)}.nav{display:flex;gap:28px;margin-left:auto;color:#5c6565;font-size:14px;font-weight:600}.nav a{transition:color .2s}.nav a:hover{color:var(--accent)}.nav-shop-link{color:var(--accent);font-weight:800;position:relative;padding:4px 6px;margin:-4px -6px}.nav-shop-link::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:3px;border-radius:3px;background:var(--accent);box-shadow:0 3px 10px #ff6b2c55}.header__actions{display:flex;align-items:center;gap:24px}.office-address{color:#68756f;font-size:12px;font-weight:600;white-space:nowrap}.phone{font-size:14px;font-weight:700;white-space:nowrap}.phone:hover{color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 22px;border:0;border-radius:5px;font-weight:700;font-size:14px;cursor:pointer;transition:.25s}.btn span{font-size:20px;font-weight:400}.btn--small{padding:12px 17px;font-size:13px}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 9px 20px #ff6b2c30}.btn--primary:hover{background:var(--accent-dark);transform:translateY(-2px)}.btn--outline{border:1px solid #cbd2cd;color:var(--ink);background:transparent}.btn--outline:hover{border-color:var(--accent);color:var(--accent)}.menu-toggle{display:none;border:0;background:none}
.hero{background:var(--soft);overflow:hidden}.hero__grid{display:grid;grid-template-columns:49% 51%;gap:20px;min-height:650px;align-items:center}.hero__content{padding:70px 0 76px}.eyebrow{display:flex;align-items:center;gap:12px;color:#7a827e;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.eyebrow span{color:var(--accent);font-weight:800}.hero h1{max-width:650px;font:800 clamp(49px,6.1vw,88px)/.96 'Plus Jakarta Sans',sans-serif;letter-spacing:-.015em;margin:28px 0 28px;color:var(--ink)}.hero h1 em,.section h2 em,.cta h2 em{color:var(--accent);font-style:normal}.hero__lead{max-width:540px;color:#5e6865;font-size:18px;line-height:1.65;margin:0 0 36px}.hero__buttons{display:flex;align-items:center;gap:26px}.play-link{font-size:14px;font-weight:700;color:#58615f;display:flex;align-items:center;gap:10px}.play{display:grid;place-items:center;border:1px solid #bdc6c1;border-radius:50%;width:34px;height:34px;font-size:9px;color:var(--accent)}.hero__trust{display:flex;align-items:center;gap:15px;margin-top:55px}.avatars{display:flex}.avatars span{display:grid;place-items:center;width:31px;height:31px;border:2px solid var(--soft);border-radius:50%;background:#657b74;color:#fff;font-size:10px;margin-left:-7px}.avatars span:first-child{margin-left:0;background:#ec875d}.avatars span:nth-child(2){background:#405253}.avatars span:nth-child(3){background:#9aa9a4}.avatars span:last-child{background:#d7dfdb;color:#53605c}.hero__trust strong{display:block;font-size:14px}.hero__trust small{display:block;color:#7b8580;font-size:12px;margin-top:4px}
.hero__visual{height:540px;position:relative}.hero__glow{position:absolute;width:430px;height:430px;border-radius:50%;background:#ffb99a;right:4px;top:50px;filter:blur(28px);opacity:.32}.hero__photo{position:absolute;right:20px;top:22px;width:min(445px,84%);height:500px;background:linear-gradient(180deg,#132a2a22,#132a2ab5),url('https://images.unsplash.com/photo-1503387762-592deb58ef4e?auto=format&fit=crop&w=1000&q=90') center/cover;border-radius:5px;overflow:hidden;box-shadow:22px 28px 60px #1e272520}.photo-lines{display:none}.photo-label{position:absolute;bottom:28px;left:28px;color:#fff;z-index:1}.photo-label span{font-size:10px;letter-spacing:.14em;color:#ffb290}.photo-label strong{display:block;font:600 18px 'Plus Jakarta Sans';margin-top:8px}.hero__card{position:absolute;z-index:2;display:flex;align-items:center;gap:12px;padding:15px 18px;background:#fff;border-radius:5px;box-shadow:0 15px 35px #1e272522;min-width:205px}.hero__card--top{top:72px;left:0}.hero__card--bottom{bottom:38px;right:-6px}.hero__card strong{font-size:13px;display:block}.hero__card small{font-size:11px;color:#71807a;display:block;margin-top:5px}.check,.bolt{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#e4f5e8;color:#42ae69;font-weight:800}.bolt{background:#fff0e9;color:var(--accent);font:20px Georgia}.hero__number{position:absolute;right:-2px;top:23px;font:700 12px 'Plus Jakarta Sans';color:#86918b}.hero__scroll{height:55px;display:flex;align-items:center;gap:13px;color:#86908a;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.scroll-line{display:block;width:48px;height:1px;background:#bcc5bf}
.pricing{background:#fff;padding:96px 0 88px}.pricing__head{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.pricing h2{font:800 clamp(38px,4.5vw,60px)/1.03 'Plus Jakarta Sans';letter-spacing:-.01em;margin:20px 0 0;color:var(--ink)}.pricing h2 em{color:var(--accent);font-style:normal}.pricing__head>p{max-width:320px;color:#65706b;font-size:16px;line-height:1.65;margin:0}.pricing__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.price-card{min-height:220px;padding:25px 24px 22px;background:var(--soft);border:1px solid #e0e6e1;border-radius:5px;display:flex;flex-direction:column;transition:.25s}.price-card:hover{transform:translateY(-5px);border-color:#ff9b77;box-shadow:0 16px 30px #26332d14}.price-card--featured{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 12px 28px #ff6b2c30}.price-card__type{font-size:14px;font-weight:700;color:#596761}.price-card--featured .price-card__type{color:#fff0eb}.price-card strong{font:800 clamp(30px,3vw,40px)/1 'Plus Jakarta Sans';letter-spacing:-.01em;margin-top:30px}.price-card strong small{font-size:.55em}.price-card__note{font-size:12px;color:#7d8983;margin-top:7px}.price-card--featured .price-card__note{color:#ffe3d9}.price-card a{margin-top:auto;padding-top:18px;font-size:13px;font-weight:700}.price-card a span{font-size:19px;margin-left:8px}.pricing__notice{display:flex;align-items:flex-start;gap:14px;margin-top:20px;padding:18px 22px;background:#fff7e1;border-left:4px solid var(--yellow);color:#665b36}.pricing__notice-icon{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border:1px solid #c49a2b;border-radius:50%;font:700 13px Georgia;color:#a57a15}.pricing__notice p{font-size:13px;line-height:1.6;margin:0}.pricing__notice strong{color:var(--ink)}.stats{background:var(--dark);color:#fff}.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);padding:38px 0}.stats__grid>div{display:flex;align-items:center;gap:17px;border-right:1px solid #ffffff1c;padding-left:34px}.stats__grid>div:first-child{padding-left:0}.stats__grid>div:last-child{border:0}.stats strong{font:800 40px 'Plus Jakarta Sans';letter-spacing:.01em;color:var(--yellow)}.stats strong span{font-size:22px}.stats span{font-size:13px;line-height:1.45;color:#b5bfba}
.section{padding:128px 0}.services,.projects,.reviews{background:var(--soft)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:52px}.section h2,.cta h2{font:800 clamp(39px,4.5vw,63px)/1.02 'Plus Jakarta Sans';letter-spacing:-.01em;margin:21px 0 0;color:var(--ink)}.section-head>p{max-width:405px;color:#65706b;font-size:16px;line-height:1.7;margin:0}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{background:#fff;min-height:340px;padding:28px 27px;display:flex;flex-direction:column;border:1px solid #e2e7e3;border-radius:5px;transition:.25s}.service-card:hover{transform:translateY(-6px);border-color:#ffb596;box-shadow:0 18px 35px #26332d12}.service-card--accent{background:var(--accent);border-color:var(--accent);color:#fff}.service-card__top{display:flex;justify-content:space-between;align-items:center}.service-icon{font-size:31px;color:var(--accent)}.service-card--accent .service-icon{color:#fff}.service-no{font:700 12px 'Plus Jakarta Sans';color:#acb6b1}.service-card--accent .service-no{color:#ffd6c7}.service-card h3{font:700 22px/1.12 'Plus Jakarta Sans';margin:42px 0 16px;letter-spacing:0}.service-card p{color:#66736d;font-size:14px;line-height:1.65;margin:0}.service-card--accent p{color:#ffe9e0}.service-card a{margin-top:auto;font-size:14px;font-weight:700}.service-card a span,.text-link span{color:var(--accent);font-size:20px;margin-left:8px}.service-card--accent a span{color:#fff}
.approach{background:var(--dark);color:#fff}.approach__grid{display:grid;grid-template-columns:47% 53%;gap:85px;align-items:center}.approach__visual{height:505px;position:relative}.blueprint{position:absolute;inset:0;background:linear-gradient(135deg,#30423e,#172220);border:1px solid #53605b;overflow:hidden}.blueprint:before,.blueprint:after{content:"";position:absolute;border:1px solid #cbd5ca45}.blueprint:before{width:245px;height:170px;top:65px;left:55px}.blueprint:after{width:175px;height:255px;bottom:46px;right:54px}.bp-room{position:absolute;top:137px;left:109px;color:#b8c5bd;font:11px 'Plus Jakarta Sans';letter-spacing:.1em}.bp-room--2{top:331px;left:auto;right:98px}.bp-label{position:absolute;font:9px 'DM Sans';letter-spacing:.15em;color:var(--yellow)}.bp-label--1{top:47px;left:70px}.bp-label--2{top:99px;right:63px}.bp-label--3{bottom:78px;left:51px}.bp-line{position:absolute;height:2px;background:var(--yellow);transform-origin:left center}.bp-line--a{width:220px;left:96px;top:248px;transform:rotate(-31deg)}.bp-line--b{width:154px;left:178px;top:240px;transform:rotate(27deg)}.bp-line--c{width:185px;left:281px;top:278px;transform:rotate(-61deg)}.approach-badge{position:absolute;bottom:-20px;right:-30px;background:var(--yellow);color:var(--ink);padding:20px 24px;display:flex;align-items:center;gap:14px;box-shadow:0 14px 25px #0003}.approach-badge strong{font:800 36px 'Plus Jakarta Sans';letter-spacing:.01em}.approach-badge span{font-size:11px;line-height:1.5}.approach__content .eyebrow{color:#abb7b0}.approach h2{color:#fff}.approach__content>p{max-width:530px;color:#b8c3bd;font-size:16px;line-height:1.75;margin:28px 0 34px}.steps{border-top:1px solid #ffffff24}.step{display:flex;gap:23px;padding:19px 0;border-bottom:1px solid #ffffff24}.step>span{color:var(--yellow);font:12px 'Plus Jakarta Sans'}.step strong{font-size:15px}.step p{color:#a4b0a9;font-size:13px;margin:7px 0 0;line-height:1.5}
.section-head--projects{align-items:center}.text-link{font-size:14px;font-weight:700}.projects-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:15px}.projects-grid--real .project--large{grid-row:span 2}.project{height:370px;position:relative;overflow:hidden;background:#33443f;border-radius:5px}.project--large{height:440px}.project-bg{position:absolute;inset:0;transition:transform .5s}.project:hover .project-bg{transform:scale(1.05)}.project-bg--tower{background:linear-gradient(180deg,#203a3a22,#13221ddd),url('https://avatars.mds.yandex.net/get-altay/6236655/2a00000183ada6f9de19631ad1f89c64238b/XXL_height') center/cover}.project-bg--vertical{background:linear-gradient(180deg,#203a3a22,#13221ddd),url('https://avatars.mds.yandex.net/get-altay/9709783/2a0000018a06bb65e005642db973d913edf2/orig') center/cover}.project-bg--sgeu{background:linear-gradient(180deg,#203a3a22,#13221ddd),url('https://avatars.mds.yandex.net/get-altay/8093564/2a00000188eb995d4dc74fb9aa0426f181a6/XXL_height') center/cover}.project-bg--hospital{background:linear-gradient(180deg,#203a3a22,#13221ddd),url('https://avatars.mds.yandex.net/get-altay/4398559/2a00000182a1d057fd1e464e1b8c6ed9f347/orig') center/cover}.project-bg--volzhskaya{background:linear-gradient(180deg,#203a3a22,#13221ddd),url('https://avatars.mds.yandex.net/get-altay/15148849/2a00000196386a1dcdcbca1a79c608267e86/orig') center/cover}.project-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#0b1814bb)}.project-info{position:absolute;bottom:27px;left:27px;right:15px;color:#fff;z-index:1}.project-info span{display:block;color:#ffc857;font-size:11px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:10px}.project-info strong{font:600 21px/1.15 'Plus Jakarta Sans'}
.reviews{background:#e7ebe7}.reviews__grid{display:grid;grid-template-columns:42% 58%;align-items:center;gap:80px}.rating{margin-top:52px;display:grid;grid-template-columns:68px auto;align-items:center}.rating strong{font:800 49px 'Plus Jakarta Sans';letter-spacing:.01em}.rating span{color:var(--accent);letter-spacing:3px;font-size:18px}.rating small{grid-column:1/3;color:#718079;font-size:13px;margin-top:8px}.review-card{background:#fff;padding:48px 52px;position:relative;border-radius:5px;box-shadow:0 14px 35px #26332d0d}.quote{font:700 76px Georgia;color:var(--accent);height:49px}.review-card blockquote{font:500 19px/1.65 'Plus Jakarta Sans';margin:17px 0 33px;letter-spacing:0}.review-author{border-top:1px solid #e4e9e5;padding-top:19px;display:flex;align-items:center;gap:12px}.author-avatar{width:36px;height:36px;border-radius:50%;background:#dce5df;display:grid;place-items:center;color:#62716b;font-size:10px;font-weight:800}.review-author strong{display:block;font-size:13px}.review-author small{color:#718079;font-size:11px;display:block;margin-top:4px}.review-date{margin-left:auto;font-size:11px;color:#89958f}
.cta{background:var(--yellow);padding:105px 0}.cta__grid{display:grid;grid-template-columns:1fr 420px;gap:100px;align-items:center}.eyebrow--light{color:#75652f}.cta h2{color:var(--ink)}.cta p{max-width:500px;color:#62562d;font-size:16px;line-height:1.75;margin:27px 0}.contact-details{display:flex;gap:26px}.contact-details a{font-size:15px;font-weight:700;border-bottom:1px solid #8c772b;padding-bottom:4px}.lead-form{background:#fff;padding:35px 38px;border-radius:5px;box-shadow:0 17px 35px #a77b1433}.form-title{font:700 21px 'Plus Jakarta Sans';margin-bottom:22px}.lead-form label{display:block;color:#718079;font-size:13px;margin:17px 0}.lead-form input,.lead-form select{display:block;width:100%;border:0;border-bottom:1px solid #d9e1dc;padding:11px 0 12px;outline:0;font:500 15px 'DM Sans';color:var(--ink);background:#fff}.lead-form input:focus,.lead-form select:focus{border-color:var(--accent)}.btn--full{width:100%;margin-top:14px}.form-note{display:block;text-align:center;color:#8a948f;font-size:10px;line-height:1.4;margin-top:14px}.form-success{display:none;color:#3d9b62;font-size:13px;text-align:center;margin-top:12px}.form-success.is-visible{display:flex;flex-direction:column;gap:7px;align-items:center}.form-success strong{font-size:17px}.form-success b{display:inline-block;padding:10px 16px;background:#e8f6ec;border:1px dashed #4aab6c;color:#237342;font:800 21px 'Plus Jakarta Sans';letter-spacing:.06em}.form-success small{color:#718079;font-size:11px}.lead-form textarea{display:block;width:100%;resize:vertical;border:1px solid #d9e1dc;padding:11px;font:500 15px 'DM Sans';color:var(--ink);background:#fff;border-radius:4px}.lead-form textarea:focus{border-color:var(--accent);outline:0}.required-mark,.optional-mark{font-size:10px;margin-left:5px}.required-mark{color:var(--accent)}.optional-mark{color:#9aa59f}.footer{background:var(--dark);color:#9ca8a1;padding:28px 0}.footer__inner{display:flex;align-items:center;gap:30px;font-size:12px}.footer__inner>span{margin:auto}.logo--footer{color:#fff}.footer-links{display:flex;gap:18px;align-items:center}.footer a:last-child{color:var(--yellow);font-weight:700}.admin-link{font-size:11px;color:#8e9b93!important;border:1px solid #52615a;padding:8px 10px;border-radius:3px}
@media(max-width:950px){.nav{gap:14px}.header__actions .phone,.office-address{display:none}.hero__grid{grid-template-columns:1fr}.hero__content{padding-top:80px}.hero__visual{height:450px;margin-top:10px}.hero__photo{right:8%;height:420px}.pricing__grid{grid-template-columns:repeat(2,1fr)}.pricing__head{gap:35px}.services-grid{grid-template-columns:repeat(2,1fr)}.approach__grid{gap:45px}.projects-grid{grid-template-columns:1fr 1fr}.project--large{grid-column:1/-1;height:390px}.reviews__grid{gap:40px}.cta__grid{gap:45px}}
@media(max-width:650px){.container{width:calc(100% - 32px)}.topline__city{display:none}.header{height:70px}.header__inner{gap:15px}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:22px 16px;flex-direction:column;box-shadow:0 10px 20px #0001}.nav.is-open{display:flex}.header__actions{margin-left:auto}.header__actions .btn{display:none}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:10px}.menu-toggle span{width:23px;height:2px;background:var(--ink)}.hero h1{font-size:49px}.hero__lead{font-size:17px}.hero__photo{width:82%;right:1%;height:390px}.hero__card--top{left:-4px}.hero__card--bottom{right:-4px}.pricing{padding:75px 0 68px}.pricing__head{display:block}.pricing__head>p{margin-top:22px}.pricing__grid{grid-template-columns:1fr 1fr;gap:10px}.price-card{min-height:205px;padding:20px 17px}.price-card strong{font-size:28px;margin-top:24px}.price-card__type{font-size:13px}.pricing__notice{padding:16px;margin-top:14px}.pricing__notice p{font-size:12px}.stats__grid{grid-template-columns:1fr 1fr;gap:26px}.stats__grid>div{padding:0!important;border:0}.stats strong{font-size:32px}.stats span{font-size:12px}.section{padding:82px 0}.section-head{display:block}.section-head>p{margin-top:25px}.section h2{font-size:42px}.services-grid{grid-template-columns:1fr}.service-card{min-height:290px}.approach__grid{grid-template-columns:1fr}.approach__visual{height:340px}.approach-badge{right:5px}.approach h2{font-size:42px}.projects-grid{grid-template-columns:1fr}.project,.project--large{height:300px;grid-column:auto}.projects-grid--real .project--large{grid-row:auto}.reviews__grid{grid-template-columns:1fr}.review-card{padding:29px}.review-card blockquote{font-size:16px}.cta{padding:75px 0}.cta__grid{grid-template-columns:1fr}.cta h2{font-size:43px}.footer__inner{flex-wrap:wrap}.footer__inner>span{order:3;width:100%;margin:0}.footer__inner .logo{margin-right:auto}}

/* Новые разделы: цены, материалы, сроки, преимущества и каталог */
.pricing{border-top:8px solid var(--accent)}
.pricing__head{align-items:start}.pricing__head h2{font-size:clamp(44px,5vw,72px)}.pricing__head h2 em{display:inline-block;color:var(--accent)}.pricing__head>p{font-size:18px;font-weight:600;color:var(--ink);max-width:390px}
.pricing__grid{margin-top:16px}.price-card{min-height:245px}.price-card strong{font-size:clamp(35px,3.6vw,50px);color:var(--accent)}.price-card--featured strong{color:#fff}.price-card__note{font-size:14px;font-weight:600}.pricing__notice{margin-top:26px;padding:23px 26px;background:#fff1e9;border-left:6px solid var(--accent);color:#4f4039}.pricing__notice-icon{border:0;background:var(--accent);color:#fff;font-family:'DM Sans';font-size:14px;font-weight:800}.pricing__notice p{font-size:16px;line-height:1.65}.pricing__notice strong{font-size:18px;color:var(--accent-dark)}.included-work{margin-top:28px;padding:34px 36px;background:#fff;border:2px solid var(--accent);border-radius:6px;box-shadow:0 14px 30px #ff6b2c16}.included-work__head{display:flex;justify-content:space-between;align-items:start;gap:25px;border-bottom:1px solid #f0d8ce;padding-bottom:25px}.included-work__label{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.1em}.included-work h3{font:800 clamp(28px,3.3vw,44px)/1.08 'Plus Jakarta Sans';letter-spacing:-.01em;margin:13px 0 0}.included-work h3 em{font-style:normal;color:var(--accent)}.included-work__check{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:var(--accent);color:#fff;font-size:25px;font-weight:700}.included-work__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.included-item{display:grid;grid-template-columns:32px 1fr;gap:12px;padding:20px 0;border-bottom:1px solid #e9eeea}.included-item>span{color:var(--accent);font:700 13px 'Plus Jakarta Sans'}.included-item p{font-size:17px;line-height:1.6;margin:0;color:#44534c}.included-item--final{grid-column:1/-1;border-bottom:0;background:#fff7e1;margin:20px -12px -10px;padding:16px 18px;border-radius:4px}.included-item--final>span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--yellow);color:var(--ink)}.included-item--final p{color:#5d512c;font-size:16px;line-height:1.6}.included-item--final strong{color:var(--accent-dark)}.finishing-work{margin-top:34px;padding:34px 36px;background:var(--dark);color:#fff;border-radius:6px;box-shadow:0 14px 30px #17221d22}.finishing-work__head{display:flex;justify-content:space-between;align-items:start;gap:25px;padding-bottom:25px;border-bottom:1px solid #ffffff2b}.finishing-work__label{color:var(--yellow);font-size:12px;font-weight:800;letter-spacing:.1em}.finishing-work h3{font:800 clamp(28px,3.3vw,44px)/1.08 'Plus Jakarta Sans';letter-spacing:-.01em;margin:13px 0 0}.finishing-work h3 em{font-style:normal;color:var(--yellow)}.finishing-work__badge{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:50%;background:var(--yellow);color:var(--ink);font:800 18px/1 'Plus Jakarta Sans';text-align:center}.finishing-work__badge small{font:600 9px 'DM Sans';text-transform:uppercase}.finishing-work__intro{max-width:850px;color:#c3cec6;font-size:16px;line-height:1.7;margin:25px 0}.finishing-table{border-top:1px solid #ffffff2b}.finishing-row{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:15px 0;border-bottom:1px solid #ffffff2b;color:#dbe3dd;font-size:14px}.finishing-row strong{color:var(--yellow);font-size:15px;white-space:nowrap}.finishing-row--head{padding:10px 0;color:#94a49a;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.finishing-row--head strong{color:#94a49a;font-size:11px}.finishing-note{margin-top:22px;padding:17px 19px;background:#25312b;color:#b7c4bb;font-size:16px;line-height:1.7}.finishing-note strong{color:var(--yellow);font-size:17px}.finishing-work__button{margin-top:24px}
.materials{background:var(--dark);color:#fff;padding:120px 0}.materials__head{display:flex;justify-content:space-between;align-items:end;gap:40px}.materials h2,.benefits h2{color:#fff;font:800 clamp(42px,4.8vw,68px)/1.02 'Plus Jakarta Sans';letter-spacing:-.01em;margin:21px 0 0}.materials h2 em,.benefits h2 em{color:var(--yellow);font-style:normal}.fixed-callout{background:var(--yellow);color:var(--ink);padding:22px 26px;min-width:280px;border-radius:5px}.fixed-callout strong,.fixed-callout span{display:block}.fixed-callout strong{font-size:15px}.fixed-callout span{font-size:13px;margin-top:7px}.materials__intro{max-width:780px;color:#c1cbc4;font-size:18px;line-height:1.7;margin:28px 0 36px}.materials__grid{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;border-top:1px solid #ffffff2b}.material-row{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #ffffff2b;color:#d9e1dc;font-size:15px}.material-row strong{color:var(--yellow);white-space:nowrap}.materials__note{max-width:800px;color:#a8b4ac;font-size:14px;line-height:1.65;margin:25px 0 0}
.schedule{background:#fff;padding:120px 0}.schedule__grid{display:grid;grid-template-columns:1fr 430px;gap:75px;align-items:start}.terms{border-top:1px solid var(--line)}.term{display:grid;grid-template-columns:150px 1fr;column-gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.term strong{grid-row:span 2;color:var(--accent);font:800 29px 'Plus Jakarta Sans'}.term span{font-size:18px;font-weight:700}.term small{color:var(--muted);font-size:13px;margin-top:5px}.calendar-card{padding:26px;background:var(--soft);border:1px solid var(--line);border-radius:5px}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.calendar-top strong{font:700 16px 'Plus Jakarta Sans'}.calendar-arrow{border:1px solid var(--line);background:#fff;border-radius:4px;width:32px;height:32px;cursor:pointer}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.calendar-week{color:#8a958e;font-size:10px;font-weight:700;margin-bottom:8px}.calendar-days button{height:38px;border:1px solid transparent;background:#fff;border-radius:4px;color:var(--ink);cursor:pointer}.calendar-days button:hover:not(:disabled),.calendar-days button.selected{border-color:var(--accent);background:#fff0e9;color:var(--accent-dark);font-weight:700}.calendar-days button:disabled{background:transparent;color:#b9c1bc;cursor:default}.calendar-days button.busy{background:#e3e8e4;color:#9aa49e;text-decoration:line-through;cursor:not-allowed}.calendar-legend{display:flex;gap:18px;color:#75817a;font-size:11px;margin:17px 0}.calendar-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;background:#fff;border:1px solid var(--line);margin-right:5px}.calendar-legend i.busy{background:#dce3de}.calendar-card .btn{margin-top:5px}
.benefits{background:var(--soft);padding:120px 0}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:50px}.benefits-grid article{background:#fff;border:1px solid var(--line);padding:27px;min-height:190px;border-radius:5px}.benefits-grid b{color:var(--accent);font:700 13px 'Plus Jakarta Sans'}.benefits-grid h3{font:700 19px 'Plus Jakarta Sans';margin:23px 0 10px}.benefits-grid p{color:#64716a;font-size:14px;line-height:1.6;margin:0}
.shop{background:#fff;padding:120px 0}.shop-categories{display:flex;flex-wrap:wrap;gap:8px;margin:-15px 0 25px}.shop-category{border:1px solid var(--line);background:var(--soft);color:#66736d;border-radius:30px;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer}.shop-category:hover,.shop-category.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.shop-item{padding:22px;background:var(--soft);border:1px solid var(--line);border-radius:5px;transition:.2s}.shop-item.is-hidden{display:none}.shop-item:hover{transform:translateY(-4px);border-color:#ff9b77;box-shadow:0 12px 25px #26332d12}.shop-item span{font-size:11px;color:var(--accent);text-transform:uppercase;font-weight:700}.shop-item__image{height:115px;margin:-22px -22px 18px;background:linear-gradient(135deg,#253a34,#53665d);display:grid;place-items:center;overflow:hidden}.shop-item__image img{width:100%;height:100%;object-fit:cover}.shop-item__image span{font-size:44px;color:var(--yellow)}.shop-item strong{display:block;font:700 17px 'Plus Jakarta Sans';margin:12px 0 7px}.shop-item__article{display:block;color:#8a958e;font-size:10px}.shop-item p{color:#65736b;font-size:12px;line-height:1.5;min-height:36px;margin:11px 0}.shop-item>b{font-size:20px}.shop-empty{grid-column:1/-1;padding:35px;background:var(--soft);text-align:center;color:#75827b}.shop-item button{display:block;width:100%;border:1px solid #cbd4ce;background:#fff;padding:11px 8px;margin-top:20px;border-radius:4px;color:var(--ink);font-size:12px;font-weight:700;cursor:pointer}.shop-item button:hover{border-color:var(--accent);color:var(--accent)}.shop-item button.is-added,.shop-related-product button.is-added,.shop-product-detail__actions button.is-added{background:#e8f6ed;border-color:#32915a;color:#257244}.shop-related-product button.is-added{cursor:default}.shop-cart{margin-top:18px;padding:16px 20px;background:#fff7e1;border-left:4px solid var(--yellow);color:#62562d;font-size:14px}.shop-cart.has-items{font-weight:700}
.booking-modal{display:none;position:fixed;inset:0;z-index:20;background:#121918b8;padding:25px;overflow:auto}.booking-modal.is-open{display:grid;place-items:center}.booking-modal__box{position:relative;width:min(500px,100%);background:#fff;padding:38px;border-radius:6px;box-shadow:0 25px 70px #0005}.booking-modal__close{position:absolute;right:17px;top:12px;border:0;background:none;font-size:28px;cursor:pointer;color:#64716a}.booking-modal h2{font:800 38px/1.05 'Plus Jakarta Sans';letter-spacing:-.01em;margin:18px 0}.booking-modal h2 em{color:var(--accent);font-style:normal}.booking-modal p{color:var(--muted);font-size:14px;line-height:1.6}.booking-modal label{display:block;color:#718079;font-size:12px;margin:15px 0}.booking-modal input{display:block;width:100%;border:0;border-bottom:1px solid var(--line);padding:10px 0;outline:0;font-size:15px}.booking-modal input:focus{border-color:var(--accent)}.booking-success{display:none;color:#32915a;text-align:center;font-size:13px;margin-top:15px}.booking-success.is-visible{display:block}
@media(max-width:950px){.materials__head{align-items:start}.schedule__grid{grid-template-columns:1fr 390px;gap:35px}.benefits-grid{grid-template-columns:repeat(2,1fr)}.shop-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.pricing__head>p{font-size:16px}.pricing__notice p{font-size:14px}.included-work{padding:25px 20px}.included-work__grid{grid-template-columns:1fr;gap:0}.included-item--final{grid-column:auto;margin:20px 0 -5px}.finishing-work{padding:25px 20px}.finishing-work__intro{font-size:14px}.finishing-row{align-items:flex-start;font-size:13px}.finishing-row strong{font-size:13px}.finishing-note{font-size:15px}.materials,.schedule,.benefits,.shop{padding:78px 0}.materials__head{display:block}.fixed-callout{margin-top:25px}.materials__intro{font-size:16px}.materials__grid{grid-template-columns:1fr}.material-row{font-size:13px}.schedule__grid{grid-template-columns:1fr;gap:35px}.term{grid-template-columns:115px 1fr}.term strong{font-size:24px}.term span{font-size:16px}.benefits-grid{grid-template-columns:1fr;margin-top:35px}.shop-categories{margin-top:22px}.shop-grid{grid-template-columns:1fr 1fr;gap:9px}.shop-item{padding:16px}.shop-category{padding:9px 11px;font-size:11px}.footer-links{gap:8px;flex-wrap:wrap}.shop-item strong{font-size:14px}.shop-item>b{font-size:17px}.booking-modal{padding:12px}.booking-modal__box{padding:30px 22px}.booking-modal h2{font-size:32px}}


/* VOLT typography refresh: readable Manrope system with overflow protection */
:root {
  --font-body: 'Manrope', Arial, sans-serif;
  --font-display: 'Manrope', Arial, sans-serif;
}
body, button, input, select, textarea {
  font-family: var(--font-body);
}
body { font-size: 17px; line-height: 1.55; }
.logo, .hero h1, .pricing h2, .section h2, .cta h2,
.price-card strong, .service-card h3, .project-info strong,
.review-card blockquote, .form-title, .stats strong, .approach-badge strong {
  font-family: var(--font-display);
}
.topline { font-size: 14px; }
.logo { font-size: 21px; }
.logo small { font:700 12px/1 'Manrope',Arial,sans-serif; letter-spacing:.08em; color:#68756f; margin-top:8px; }
.nav, .phone { font-size: 16px; }
.btn { font-size: 16px; }
.btn--small { font-size: 15px; }
.eyebrow { font-size: 14px; }
.hero h1 { max-width: 100%; font-size: clamp(46px, 5.3vw, 76px); line-height: 1.02; }
.hero__lead, .section-head>p, .pricing__head>p, .cta p,
.approach__content>p { font-size: 18px; }
.hero__trust strong { font-size: 16px; }
.hero__trust small { font-size: 14px; }
.hero__scroll { font-size: 13px; }
.pricing h2, .section h2, .cta h2 { line-height: 1.08; }
.price-card__type { font-size: 16px; }
.price-card__note { font-size: 14px; }
.price-card a, .service-card a, .text-link { font-size: 16px; }
.pricing__notice p, .service-card p, .step p { font-size: 16px; }
.stats span { font-size: 15px; }
.service-card h3 { line-height: 1.2; }
.service-card p { line-height: 1.7; }
.bp-room { font-size: 13px; }
.bp-label { font-size: 11px; }
.step strong { font-size: 17px; }
.step p { line-height: 1.65; }
.project-info span { font-size: 13px; }
.project-info strong { font-size: 23px; line-height: 1.25; }
.rating small { font-size: 15px; }
.review-card blockquote { font-size: 21px; line-height: 1.7; }
.review-author strong { font-size: 15px; }
.review-author small, .review-date { font-size: 13px; }
.contact-details a { font-size: 17px; }
.lead-form label { font-size: 15px; }
.lead-form input, .lead-form select, .lead-form textarea { font-size: 17px; }
.form-note { font-size: 12px; }
.footer__inner { font-size: 14px; }
.admin-link { font-size: 13px; }

/* The enlarged type must remain inside its own layout columns. */
.hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 44px; }
.hero__content, .hero__visual, .section-head, .pricing__head,
.cta__grid, .approach__grid, .reviews__grid { min-width: 0; }
.hero__lead, .section-head>p, .pricing__head>p, .cta p,
.approach__content>p { max-width: 100%; }
.pricing__grid, .services-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.service-card, .price-card, .review-card { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 950px) {
  .hero__grid { grid-template-columns: 1fr; gap: 20px; }
  .pricing__grid, .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats__grid>div { padding-left: 20px; }
  .stats__grid>div:nth-child(odd) { padding-left: 0; }
}
@media (max-width: 650px) {
  body { font-size: 16px; }
  .hero h1 { font-size: clamp(43px, 12vw, 58px); line-height: 1.04; }
  .hero__lead, .section-head>p, .pricing__head>p, .cta p,
  .approach__content>p { font-size: 17px; }
  .pricing__grid, .services-grid, .stats__grid { grid-template-columns: 1fr; }
  .stats__grid { gap: 22px; }
  .stats__grid>div, .stats__grid>div:nth-child(odd) { padding-left: 0; }
  .section h2, .pricing h2, .cta h2, .approach h2 { font-size: clamp(38px, 10vw, 50px); }
  .service-card { min-height: 320px; }
  .review-card blockquote { font-size: 18px; }
  .contact-details { flex-direction: column; gap: 16px; }
}


/* Final responsive layout pass after typography enlargement */
.pricing__head {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .75fr);
  gap: 70px;
  align-items: start;
}
.pricing__head > div,
.pricing__head > p,
.section-head > div,
.section-head > p,
.services-head > div,
.services-head > p {
  min-width: 0;
}
.pricing__head h2 {
  max-width: 650px;
  font-size: clamp(44px, 5vw, 70px);
  line-height: 1.04;
  overflow-wrap: normal;
  word-break: normal;
}
.pricing__head > p {
  max-width: 100%;
  padding-top: 5px;
}
.pricing__grid { align-items: stretch; }
.price-card { min-width: 0; }
.price-card strong { white-space: nowrap; }

.section-head,
.services-head {
  gap: 50px;
}
.section-head > p,
.services-head > p {
  flex: 0 1 405px;
}
.services-head > h2,
.services-head > div { min-width: 0; }

.included-work__head,
.finishing-work__head {
  min-width: 0;
}
.included-work__head > div,
.finishing-work__head > div { min-width: 0; }
.included-work h3,
.finishing-work h3 { overflow-wrap: normal; word-break: normal; }
.included-item p,
.finishing-row,
.finishing-note { overflow-wrap: anywhere; }

@media (max-width: 1100px) {
  .pricing__head { grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr); gap: 38px; }
  .pricing__head h2 { font-size: clamp(42px, 5vw, 62px); }
  .section-head, .services-head { gap: 30px; }
}
@media (max-width: 950px) {
  .pricing__head { display: block; }
  .pricing__head > p { margin-top: 26px; max-width: 620px; }
  .section-head, .services-head { display: block; }
  .section-head > p, .services-head > p { margin-top: 25px; max-width: 620px; }
  .price-card strong { white-space: normal; }
}
@media (max-width: 650px) {
  .pricing__head h2 { font-size: clamp(39px, 10vw, 52px); }
  .pricing__head > p { margin-top: 22px; }
  .included-work__head, .finishing-work__head { gap: 16px; }
  .included-work__check { flex-basis: 40px; width: 40px; height: 40px; }
  .finishing-work__badge { flex-basis: 48px; width: 48px; height: 48px; }
}

.reviews{background:#e7ebe7}.reviews-intro{max-width:1240px}.reviews-intro>p{max-width:780px;color:#596761;font-size:18px;line-height:1.75;margin:25px 0}.reviews-summary{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 14px;margin-top:42px}.reviews-summary strong{font:800 58px/1 'Manrope',Arial;color:var(--ink)}.reviews-summary span{color:var(--accent);font-size:22px;letter-spacing:3px}.reviews-summary small{grid-column:1/-1;color:#718079;font-size:14px;margin-top:8px}.reviews-summary small b{color:var(--ink)}.reviews-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:55px;margin-top:58px;align-items:start}.reviews-list{display:grid;gap:20px;min-width:0}.reviews-empty{background:#fff;border:1px dashed #c9d4cd;padding:34px;color:#627069;font-size:17px;line-height:1.65}.review-form-card{background:#fff;padding:34px 36px;border-radius:5px;box-shadow:0 14px 35px #26332d0d;min-width:0}.review-form-card h3{font:700 25px/1.2 Manrope;margin:0 0 10px}.review-form-card>p{color:#6b7771;font-size:15px;line-height:1.6;margin:0 0 24px}.review-form-card label{display:block;color:#68766e;font-size:14px;margin:17px 0}.review-form-card input,.review-form-card textarea{display:block;width:100%;border:0;border-bottom:1px solid #d9e1dc;padding:12px 0;outline:0;font:500 16px Manrope;color:var(--ink);background:#fff}.review-form-card textarea{border:1px solid #d9e1dc;padding:12px;resize:vertical}.review-form-card input:focus,.review-form-card textarea:focus{border-color:var(--accent)}.review-form-card label small{display:block;color:#87938c;font-size:12px;margin-top:6px}.review-form-card fieldset{border:0;padding:0;margin:22px 0}.review-form-card legend{color:#68766e;font-size:14px;margin-bottom:10px}.rating-choices,.review-tags{display:flex;flex-wrap:wrap;gap:8px}.rating-choices label,.review-tags label{margin:0;cursor:pointer}.rating-choices input,.review-tags input{position:absolute;opacity:0;width:1px;height:1px}.rating-choices span,.review-tags span{display:block;border:1px solid #d3ddd6;border-radius:4px;padding:9px 13px;color:#5e6c65;font-size:14px}.rating-choices input:checked+span,.review-tags input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}.review-form-status{min-height:24px;margin-top:15px;color:#398b5b;font-size:14px;line-height:1.5}.review-rules{margin-top:45px;padding:25px 28px;background:#fff7e1;border-left:5px solid var(--yellow)}.review-rules h3{font-size:19px;margin:0 0 8px}.review-rules p{font-size:15px;line-height:1.65;margin:0;color:#615733}.review-card-rating{color:var(--accent);letter-spacing:2px;font-size:18px}.review-tags-public{display:flex;flex-wrap:wrap;gap:7px}.review-tags-public span{background:#fff1e9;color:#b94d25;padding:5px 8px;border-radius:3px;font-size:12px}.reviews .review-card{padding:30px 34px}.reviews .review-card blockquote{margin:12px 0 22px}@media(max-width:950px){.reviews-layout{grid-template-columns:1fr;gap:35px}.review-form-card{max-width:700px}}@media(max-width:650px){.reviews-intro>p{font-size:17px}.reviews-summary strong{font-size:50px}.review-form-card{padding:26px 20px}.reviews .review-card{padding:25px 20px}.review-rules{padding:21px 18px}}


.shop-related-products{grid-column:1/-1;margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}.shop-related-products h3{margin:0 0 16px;font:800 22px/1.2 Manrope;color:var(--ink)}.shop-related-products__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.shop-related-product{min-width:0;padding:12px;background:var(--soft);border:1px solid var(--line);border-radius:6px;cursor:pointer}.shop-related-product__image{height:82px;margin:-12px -12px 10px;background:linear-gradient(135deg,#253a34,#53665d);display:grid;place-items:center;overflow:hidden}.shop-related-product__image img{width:100%;height:100%;object-fit:cover}.shop-related-product__image span{font-size:32px;color:var(--yellow)}.shop-related-product strong{display:block;font-size:13px;line-height:1.3}.shop-related-product>span{display:block;margin-top:6px;color:var(--accent-dark);font-size:13px;font-weight:800}.shop-related-product small{display:block;margin-top:5px;color:#75827b;font-size:11px}.shop-related-product small.is-available{color:#25804a}.shop-related-product button{width:100%;margin-top:10px;padding:8px 6px;border:1px solid #cbd4ce;border-radius:4px;background:#fff;color:var(--ink);font-size:11px;font-weight:700;cursor:pointer}.shop-related-product button:hover{border-color:var(--accent);color:var(--accent)}.shop-product-detail__actions button.is-added{background:#e8f6ed;border-color:#32915a;color:#257244}@media(max-width:650px){.shop-related-products__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-related-products h3{font-size:19px}}

/* Pricing cards: keep schedule notes readable without competing with the price or action. */
.price-card__note {
  display: block;
  max-width: 19ch;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
@media (max-width: 650px) {
  .price-card__note {
    max-width: 16ch;
    font-size: 12px;
  }
}

/* Reviews layout refinement: balanced intro, stats and empty state. */
.reviews-intro {
  max-width: 100%;
}
.reviews-intro > p {
  max-width: 820px;
}
.reviews-summary {
  width: max-content;
  max-width: 100%;
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  column-gap: 22px;
  row-gap: 5px;
  margin-top: 38px;
}
.reviews-summary strong {
  line-height: .9;
}
.reviews-summary span {
  line-height: 1;
  padding-bottom: 4px;
}
.reviews-summary small {
  flex-basis: 100%;
  margin-top: 5px;
}
.reviews-layout {
  grid-template-columns: minmax(0, 1fr) minmax(380px, 450px);
  gap: 48px;
  margin-top: 52px;
  align-items: stretch;
}
.reviews-list {
  min-height: 100%;
}
.reviews-empty {
  min-height: 300px;
  height: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  padding: 42px 44px;
  border-style: solid;
  border-radius: 5px;
  box-shadow: 0 14px 35px #26332d0a;
}
.review-form-card {
  height: 100%;
  box-sizing: border-box;
}
@media (max-width: 950px) {
  .reviews-layout {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .reviews-empty {
    min-height: 190px;
    height: auto;
  }
  .review-form-card {
    height: auto;
    max-width: none;
  }
}
@media (max-width: 650px) {
  .reviews-summary {
    margin-top: 32px;
  }
  .reviews-summary strong {
    font-size: 50px;
  }
  .reviews-summary span {
    font-size: 20px;
  }
  .reviews-empty {
    min-height: 155px;
    padding: 28px 22px;
  }
}

/* Unified appointment block with address map. */
.booking-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,520px); gap:52px; align-items:start; }
.booking-info { min-width:0; }
.booking-note { display:grid; gap:5px; margin-top:26px; padding:20px 22px; background:#fff7e1; border-left:4px solid var(--yellow); color:#665b35; line-height:1.5; }
.booking-note strong { color:var(--ink); }
.booking-panel { display:grid; gap:18px; min-width:0; }
.booking-form { background:#fff; padding:30px 32px; border:1px solid #e0e7e1; border-radius:6px; box-shadow:0 14px 35px #26332d0c; }
.booking-form__title { font:700 23px/1.2 Manrope; margin-bottom:20px; }
.booking-form label { display:block; color:#68766e; font-size:13px; margin:15px 0; }
.booking-form input, .booking-form select, .booking-form textarea { display:block; width:100%; box-sizing:border-box; margin-top:7px; padding:11px 0; border:0; border-bottom:1px solid #d9e1dc; outline:0; background:#fff; color:var(--ink); font:500 15px Manrope; }
.booking-form select { cursor:pointer; }
.booking-form textarea { border:1px solid #d9e1dc; padding:11px; resize:vertical; }
.booking-form input:focus, .booking-form select:focus, .booking-form textarea:focus { border-color:var(--accent); }
.booking-form__row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field-hint { display:block; color:#87938c; font-size:11px; margin-top:6px; }
.address-map { height:240px; overflow:hidden; border:1px solid #d9e1dc; border-radius:4px; background:#edf1ee; }
.address-map .map-placeholder { display:grid; place-items:center; height:100%; color:#718079; font-size:13px; }
.booking-form .form-note { display:block; color:#87938c; text-align:center; margin-top:12px; }
.booking-success { display:none; color:#31915a; text-align:center; font-size:14px; line-height:1.5; margin-top:14px; }
.booking-success.is-visible { display:block; }
@media (max-width:950px) { .booking-layout { grid-template-columns:1fr; gap:35px; } .booking-panel { max-width:700px; } }
@media (max-width:650px) { .booking-form { padding:25px 20px; } .booking-form__row { grid-template-columns:1fr; gap:0; } .address-map { height:210px; } }

/* Booking form: equal columns and live address suggestions. */
.booking-layout {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
}
.booking-panel { width: 100%; }
.booking-form { width: 100%; }
.address-field { position: relative; }
.address-suggestions {
  display: none;
  position: absolute;
  z-index: 30;
  left: 0;
  right: 0;
  top: calc(100% - 19px);
  padding: 5px 0;
  background: #fff;
  border: 1px solid #d9e1dc;
  border-radius: 4px;
  box-shadow: 0 12px 28px #26332d1f;
}
.address-suggestions.is-visible { display: block; }
.address-suggestions button {
  display: block;
  width: 100%;
  padding: 11px 13px;
  border: 0;
  background: #fff;
  color: var(--ink);
  text-align: left;
  font: 500 13px/1.35 Manrope;
  cursor: pointer;
}
.address-suggestions button:hover,
.address-suggestions button:focus { background: #fff1e9; color: var(--accent-dark); outline: 0; }
@media (max-width: 950px) {
  .booking-layout { grid-template-columns: 1fr; gap: 35px; }
  .booking-panel { max-width: 760px; }
}


/* Booking usability fix */
.schedule .container { max-width: 1240px; }
.booking-layout { grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); gap: 42px; align-items: start; }
.booking-panel { min-width: 0; }
.booking-form { padding: 34px 38px; }
.booking-form__row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.address-map { min-height: 280px; }
@media (max-width: 950px) { .booking-layout { grid-template-columns: 1fr; } .booking-panel { max-width: none; } }
@media (max-width: 650px) { .booking-form { padding: 24px 20px; } .booking-form__row { grid-template-columns: 1fr; } .address-map { min-height: 230px; } }

/* Final booking layout: the form is the primary action and gets the available width. */
.schedule .section-head { max-width: 1120px; }
.schedule .booking-layout { grid-template-columns: minmax(260px, .6fr) minmax(620px, 1.4fr); max-width: 1240px; margin-inline: auto; }
.schedule .booking-form { min-width: 0; }
.schedule .address-suggestions { max-height: 260px; overflow-y: auto; }
@media (max-width: 1000px) { .schedule .booking-layout { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .schedule .booking-layout { display: block; } .schedule .booking-info { margin-bottom: 28px; } }

.service-area-hint { display:block; margin-top:8px; color:#557365; }

/* Рабочая карта должна быть главным, широким элементом формы. */
.schedule .booking-panel { width:100%; }
.schedule .address-map { width:100%; min-height:420px; height:420px; border-radius:8px; }
.schedule .service-area-hint { font-size:12px; }
@media (max-width:700px) { .schedule .address-map { min-height:300px; height:300px; } }

/* Карта адреса занимает всю ширину блока записи, а не узкую колонку формы. */
.schedule .booking-layout { grid-template-columns: 1fr; max-width: 1440px; }
.schedule .booking-info { display:grid; grid-template-columns: minmax(0,1fr) minmax(280px,.45fr); gap:28px; align-items:start; }
.schedule .booking-panel { width:100%; }
.schedule .booking-form { width:100%; box-sizing:border-box; }
.schedule .address-map { width:100%; min-height:520px; height:520px; }
@media (max-width:700px) {
  .schedule .booking-info { display:block; }
  .schedule .address-map { min-height:320px; height:320px; }
}
/* VOLT typography pass 2026-09-21 */
html {font-size: 16px;}
body, body *, button, input, select, textarea {font-family: 'Manrope', Arial, sans-serif;}
.container {width:min(1240px,calc(100% - 64px));margin:0 auto;}

/* Unify the display face with the site's main font. */
.header .logo, .hero h1, .pricing h2, .section h2, .cta h2, .price-card strong, .service-card h3, .project-info strong, .review-card blockquote, .form-title, .stats strong, .approach-badge strong, .calendar-top strong {font-family:'Manrope',Arial,sans-serif;}

/* VOLT typography pass 2026-09-21 */
html { font-size: 16px; }
body, body *, button, input, select, textarea { font-family: 'Manrope', Arial, sans-serif; }
.logo, .hero h1, .pricing h2, .section h2, .cta h2, .price-card strong, .service-card h3, .project-info strong, .review-card blockquote, .form-title, .stats strong, .approach-badge strong, .calendar-top strong { font-family: 'Manrope', Arial, sans-serif; }
.topline { font-size: 14px; }
.nav, .phone { font-size: 16px; }
.btn { font-size: 16px; }
.btn--small { font-size: 15px; }
.eyebrow { font-size: 14px; }
.hero__lead { font-size: 19px; }
.section-head > p, .pricing__head > p { font-size: 18px; }
.price-card__type, .price-card__note, .price-card a { font-size: 15px; }
.service-card p { font-size: 16px; }
.project-info span { font-size: 13px; }
.project-info strong { font-size: 22px; }
.stats span { font-size: 16px; }
.approach__content > p { font-size: 18px; }
.step strong { font-size: 17px; }
.step p { font-size: 15px; }
.review-author strong { font-size: 15px; }
.review-author small, .review-date { font-size: 13px; }
.form-note { font-size: 13px; }
.calendar-top strong { font-size: 18px; line-height: 1.3; }
.calendar-arrow { width: 38px; height: 38px; font-size: 21px; line-height: 1; }
.calendar-week { font-size: 13px; line-height: 1; margin-bottom: 10px; }
.calendar-days { gap: 10px; }
.calendar-days button { height: 46px; font-size: 16px; font-weight: 500; }
.calendar-legend { font-size: 14px; line-height: 1.4; gap: 24px; }
.calendar-legend i { width: 11px; height: 11px; vertical-align: -1px; margin-right: 7px; }
.booking-form__title { font-size: 24px; line-height: 1.25; margin-bottom: 24px; }
.booking-form label { font-size: 15px; line-height: 1.4; margin: 18px 0; }
.booking-form input, .booking-form select, .booking-form textarea { font-size: 17px; line-height: 1.4; padding: 12px 0; }
.booking-form input::placeholder, .booking-form textarea::placeholder { color: #788480; opacity: 1; }
.field-hint { font-size: 13px; line-height: 1.4; }
.booking-form .form-note { font-size: 13px; }
.booking-success { font-size: 15px; }
.address-suggestions button { font-size: 15px; }
.booking-form button { font-size: 17px; }
@media (max-width: 650px) {
  body { font-size: 16px; }
  .calendar-days { gap: 6px; }
  .calendar-days button { height: 41px; font-size: 15px; }
  .calendar-legend { font-size: 13px; }
  .booking-form input, .booking-form select, .booking-form textarea { font-size: 16px; }
}

/* Reviews summary: integrated into the section instead of floating above the cards. */
.reviews-summary {
  width: 100%;
  max-width: 820px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 34px;
  padding-top: 20px;
  border-top: 1px solid #d3dbd5;
}
.reviews-summary__label {
  color: #68766e;
  font-size: 16px;
  font-weight: 600;
}
.reviews-summary strong {
  font: 800 42px/1 'Manrope', Arial, sans-serif;
  color: var(--ink);
}
.reviews-summary__stars {
  color: var(--accent);
  font-size: 22px;
  line-height: 1;
  letter-spacing: 3px;
}
.reviews-summary small {
  flex-basis: 100%;
  margin-top: 3px;
  color: #718079;
  font-size: 14px;
}
.reviews-summary small b { color: var(--ink); }
@media (max-width: 650px) {
  .reviews-summary { gap: 8px 12px; margin-top: 28px; padding-top: 16px; }
  .reviews-summary__label { font-size: 15px; }
  .reviews-summary strong { font-size: 36px; }
  .reviews-summary__stars { font-size: 19px; }
  .reviews-summary small { font-size: 13px; }
}

/* Keep the empty reviews state compact and aligned with the section background. */
.reviews-layout { align-items: start; }
.reviews-list { min-height: 0; }
.reviews-empty { height: auto; min-height: 180px; display: flex; align-items: center; }
@media (max-width: 950px) {
  .reviews-empty { min-height: 150px; }
}

/* Independent booking resources */
.booking-resource-note{margin:-10px 0 16px;padding:12px 14px;background:#f3f7f4;color:#607169;font-size:13px;line-height:1.45;border-left:3px solid var(--accent)}
.calendar-days button:not(.busy){cursor:pointer}.calendar-days button.selected{background:var(--accent);color:#fff}

/* Two separate booking calendars */
.booking-service-choice{margin-bottom:18px}.booking-service-choice__title{font-weight:800;font-size:15px;margin-bottom:10px}.booking-service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-service-option{display:grid;gap:4px;text-align:left;padding:15px 16px;border:1px solid #d9e1dc;border-radius:5px;background:#fff;color:var(--ink);cursor:pointer}.booking-service-option span{color:#718079;font-size:12px}.booking-service-option.is-active{border-color:var(--accent);background:#fff7f0;box-shadow:0 0 0 2px #ff6b2c22}.booking-calendar-panel{display:none}.booking-calendar-panel.is-active{display:block}.calendar-panel-title{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 10px}.calendar-panel-title strong{font-size:17px}.calendar-panel-title span{font-size:12px;color:#718079}@media(max-width:650px){.booking-service-options{grid-template-columns:1fr}.calendar-panel-title{display:grid;gap:3px}}

/* Availability indicators inside each calendar date. */
.calendar-days button { position:relative; min-height:56px; padding:7px 5px 5px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; }
.calendar-day-number { line-height:1; }
.calendar-slot-indicators { display:flex; width:100%; max-width:44px; gap:2px; justify-content:center; }
.calendar-slot-indicator { display:block; flex:1; height:4px; min-width:7px; border-radius:3px; background:#dce3de; }
.calendar-slot-indicator.is-free { background:#ff6b2c; }
.calendar-slot-indicator.is-busy { background:#c7d0ca; }
.calendar-days button.busy .calendar-slot-indicator.is-free { background:#c7d0ca; }
.calendar-days button.selected .calendar-slot-indicator.is-free { background:#fff; }
.calendar-slot-explanation { margin-top:12px; color:#718079; font-size:12px; line-height:1.45; }
@media(max-width:650px){.calendar-days button{min-height:50px;padding-left:2px;padding-right:2px}.calendar-slot-indicators{max-width:34px}.calendar-slot-indicator{min-width:5px;height:3px}}

/* Clear availability colors: green is free, red is busy. */
.calendar-legend i.free { background:#2eaa63; border-color:#2eaa63; }
.calendar-legend i.busy { background:#dc4c4c; border-color:#dc4c4c; }
.calendar-slot-indicator.is-free { background:#2eaa63; }
.calendar-slot-indicator.is-busy { background:#dc4c4c; }
.calendar-days button.busy { background:#fff0f0; color:#b83d3d; border-color:#f2c4c4; }
.calendar-days button.busy .calendar-slot-indicator.is-free { background:#dc4c4c; }
.calendar-days button.selected { background:var(--accent); color:#fff; border-color:var(--accent); }
.calendar-days button.selected .calendar-slot-indicator.is-free { background:#fff; }
.calendar-days button.selected .calendar-slot-indicator.is-busy { background:#ffd0d0; }
.calendar-legend { align-items:center; flex-wrap:wrap; }

/* Static visual example explains what appears after clicking an inspection date. */
.calendar-slot-example { margin-top:14px; padding:14px; border:1px dashed #b9cfc1; border-radius:8px; background:#fbfdfb; }
.calendar-slot-example__label { margin-bottom:10px; color:#718079; font-size:11px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.calendar-slot-example__head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; color:var(--ink); font-size:13px; }
.calendar-slot-example__head span { color:#718079; font-size:18px; line-height:14px; }
.calendar-slot-example p { margin:8px 0 9px; color:#718079; font-size:11px; }
.calendar-slot-example__items { display:grid; gap:6px; }
.calendar-slot-example__item { display:grid; grid-template-columns:9px 1fr auto; align-items:center; gap:7px; padding:8px 9px; border:1px solid #a8d9bb; border-radius:5px; background:#effaf3; color:#1e7b46; }
.calendar-slot-example__item i { width:9px; height:9px; border-radius:50%; background:#2eaa63; }
.calendar-slot-example__item span { display:grid; gap:2px; }
.calendar-slot-example__item strong { font-size:13px; }
.calendar-slot-example__item small { color:#718079; font-size:9px; font-weight:500; line-height:1.35; }
.calendar-slot-example__item b { font-size:10px; font-weight:800; }
.calendar-slot-example__more { margin-top:8px; color:#718079; font-size:10px; line-height:1.35; }
@media(max-width:650px){.calendar-slot-example{padding:12px 10px}.calendar-slot-example__item{grid-template-columns:9px 1fr}.calendar-slot-example__item b{grid-column:2}.calendar-slot-example__item small{font-size:9px}}

/* Both calendars stay visible; a date opens its detailed time-window popover. */
.booking-calendar-panel { display:block; margin-bottom:26px; }
.calendar-slot-popover { position:absolute; z-index:50; width:min(330px,calc(100vw - 24px)); padding:18px; background:#fff; border:1px solid #d9e1dc; border-radius:8px; box-shadow:0 18px 45px #17211e2b; color:var(--ink); }
.calendar-slot-popover__head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; font-size:15px; }
.calendar-slot-popover__close { border:0; background:transparent; color:#718079; font-size:25px; line-height:20px; cursor:pointer; padding:0 2px; }
.calendar-slot-popover p { margin:10px 0 12px; color:#718079; font-size:13px; }
.calendar-slot-list { display:grid; gap:7px; }
.calendar-slot-choice { display:grid; grid-template-columns:12px 1fr auto; align-items:center; gap:8px; width:100%; padding:10px 11px; border:1px solid #d9e1dc; border-radius:5px; text-align:left; background:#fff; font:600 13px Manrope,Arial,sans-serif; }
.calendar-slot-choice.is-free { border-color:#a8d9bb; background:#effaf3; color:#1e7b46; cursor:pointer; }
.calendar-slot-choice.is-free:hover { border-color:#2eaa63; background:#e1f6e9; }
.calendar-slot-choice.is-busy { border-color:#efb4b4; background:#fff1f1; color:#b83d3d; cursor:not-allowed; }
.calendar-slot-choice i { width:10px; height:10px; border-radius:50%; background:#dc4c4c; }
.calendar-slot-choice.is-free i { background:#2eaa63; }
.calendar-slot-choice b { font-size:11px; font-weight:700; }
@media(max-width:650px){.calendar-slot-popover{position:fixed;left:12px!important;right:12px;width:auto;top:50%!important;transform:translateY(-50%);}.booking-calendar-panel{margin-bottom:22px;}}

/* Selected time window in the slot popover. */
.calendar-slot-choice.is-selected { outline:3px solid #2eaa63; outline-offset:1px; }

/* Inspection slots show arrival start time; full interval remains internal for conflict checks. */
.calendar-slot-choice span { display:grid; gap:2px; }
.calendar-slot-choice span strong { font-size:15px; }
.calendar-slot-choice span small { color:#718079; font-size:10px; font-weight:500; }
.calendar-slot-choice.is-busy span small { color:#b83d3d; }

/* Show the complete customer time window and explain the arrival start. */
.calendar-slot-choice span strong { font-size:15px; letter-spacing:.01em; }
.calendar-slot-choice span small { white-space:normal; }

/* Fixed apartment prices: keep the estimate table aligned with its note. */
.schedule .booking-info { display:block; }
.schedule .terms { width:100%; }
.schedule .term { grid-template-columns:170px minmax(0,1fr); align-items:center; min-height:82px; padding:18px 0; }
.schedule .term strong { grid-row:span 2; white-space:nowrap; font-size:29px; }
.schedule .term span { line-height:1.3; }
.schedule .term small { margin-top:4px; }
.schedule .booking-note { margin-top:22px; max-width:none; }
@media(max-width:650px) {
  .schedule .term { grid-template-columns:125px minmax(0,1fr); min-height:72px; }
  .schedule .term strong { font-size:22px; }
  .schedule .term span { font-size:15px; }
  .schedule .term small { font-size:12px; }
}

.shop-cart span{display:block;margin-top:5px}.shop-cart__lines{margin-top:10px;font-weight:500}.shop-cart__lines button{margin-left:6px;border:1px solid #cbd4ce;background:#fff;border-radius:3px;cursor:pointer}.product-form small{display:block;color:#718079;font-size:11px;line-height:1.35;margin-top:4px}

.shop-order{background:#f3f5f3;padding:120px 0}.shop-order__layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:28px}.shop-order-form{background:#18201e;color:#fff;padding:26px;border-radius:6px;align-self:start}.shop-order-form h3{font-size:24px;margin:0 0 8px}.shop-order-form__hint{color:#aab6ae;font-size:13px;line-height:1.5}.shop-order-form label{display:block;color:#aab6ae;font-size:12px;margin:15px 0}.shop-order-form input,.shop-order-form select{display:block;width:100%;box-sizing:border-box;padding:11px 0;background:transparent;color:#fff;border:0;border-bottom:1px solid #54615a;outline:0}.shop-order-form select option{color:#17211e}.shop-order-form small{display:block;color:#9eaca4;line-height:1.35;margin-top:6px}.shop-order-form [hidden]{display:none}.shop-order-form select:disabled{opacity:.65;cursor:not-allowed}.order-total-note{margin:18px 0;padding:12px;background:#25312b;color:#c4d0c7;font-size:12px;line-height:1.45}.shop-cart__lines button{padding:2px 7px}.shop-cart__lines div{margin-top:5px}@media(max-width:800px){.shop-order__layout{grid-template-columns:1fr}.shop-order{padding:78px 0}}

/* Final typography consistency */
.play-link { font: 700 17px/1.35 'Manrope', Arial, sans-serif; }
.play { width:38px; height:38px; font-size:11px; }
.logo small { font:700 12px/1 'Manrope', Arial, sans-serif; letter-spacing:.08em; }

/* Separate materials store */
.shop-page{background:#f3f5f3}.shop-hero{padding:100px 0 86px;background:#18201e;color:#fff}.shop-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:80px;align-items:center}.shop-hero h1{font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.06em;margin:22px 0}.shop-hero h1 em,.shop-hero__card em{color:#ffc857;font-style:italic}.shop-hero p{max-width:650px;color:#c0cbc4;line-height:1.75;font-size:17px}.shop-hero__buttons{display:flex;gap:24px;align-items:center;margin-top:32px}.shop-hero .text-link{color:#fff}.shop-hero__card{background:#ffc857;color:#18201e;padding:30px;border-radius:6px;box-shadow:18px 18px 0 #2b3b34}.shop-hero__card>strong{display:block;font-size:24px;line-height:1.15;margin-bottom:24px}.shop-hero__card>div{display:flex;justify-content:space-between;border-top:1px solid #18201e55;padding:12px 0}.shop-hero__card>div span{font:700 28px 'Space Grotesk'}.shop-hero__card small{align-self:end}.shop-hero__card p{color:#34423a;font-size:12px;line-height:1.45;margin:16px 0 0}.shop-benefits{background:#fff;border-bottom:1px solid #dfe6e1}.shop-benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.shop-benefits article{padding:34px 25px;border-right:1px solid #dfe6e1}.shop-benefits article:first-child{padding-left:0}.shop-benefits article:last-child{border:0}.shop-benefits b{display:block;color:#ff6b2c;font-size:12px;margin-bottom:18px}.shop-benefits strong{display:block;font-size:17px;margin-bottom:8px}.shop-benefits p{color:#718078;font-size:13px;line-height:1.55;margin:0}.shop-catalog,.shop-checkout{padding:110px 0}.shop-catalog{background:#f3f5f3}.shop-checkout{background:#fff}.shop-catalog__toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:32px 0 25px}.shop-filters{display:flex;gap:8px;flex-wrap:wrap}.shop-filters button,.shop-cart-jump{border:1px solid #d2dcd5;background:#fff;color:#56645c;padding:10px 14px;border-radius:3px;cursor:pointer;text-decoration:none;font:600 12px Manrope}.shop-filters button.is-active{background:#18201e;color:#fff;border-color:#18201e}.shop-cart-jump{background:#ffc857;color:#18201e;border-color:#ffc857}.shop-checkout__layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:30px}.checkout-note{padding:28px;background:#f3f5f3;border-left:3px solid #ffc857;margin-bottom:18px}.checkout-note strong{display:block;font-size:18px;margin-bottom:15px}.checkout-note ol{margin:0;padding-left:20px;color:#69776f;line-height:2}.checkout-note p{color:#69776f;line-height:1.6;margin:0}.checkout-note--light{background:#fff;border:1px solid #dfe6e1;border-left:3px solid #2eaa70}.store-promo{padding:120px 0;background:#18201e;color:#fff}.store-promo__grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:80px;align-items:center}.store-promo h2{font-size:clamp(36px,4vw,58px);line-height:1.05;letter-spacing:-.05em;margin:20px 0}.store-promo h2 em{color:#ffc857;font-style:italic}.store-promo__lead{color:#c0cbc4;line-height:1.7;font-size:16px;max-width:670px}.store-promo__points{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;margin:28px 0;color:#d7e0da;font-size:13px}.store-promo__points b{color:#ffc857;margin-right:8px}.store-promo__actions{display:flex;align-items:center;gap:25px}.store-promo .text-link{color:#fff}.store-promo__visual{background:#ffc857;color:#18201e;padding:32px;border-radius:5px;box-shadow:16px 16px 0 #314238}.store-promo__visual-top span{font-size:11px;letter-spacing:.15em}.store-promo__visual-top strong{display:block;font-size:30px;line-height:1.05;margin:18px 0 25px}.store-promo__visual-top em{font-style:normal;color:#e55d25}.store-promo__levels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.store-promo__levels div{border-top:1px solid #18201e55;padding-top:12px}.store-promo__levels strong{display:block;font-size:24px}.store-promo__levels span{font-size:10px}.store-promo__visual p{font-size:12px;line-height:1.5;color:#38463e}.store-promo__visual>a{display:block;color:#18201e;font-weight:800;text-decoration:none;margin-top:20px}@media(max-width:800px){.shop-hero__grid,.store-promo__grid,.shop-checkout__layout{grid-template-columns:1fr;gap:40px}.shop-benefits__grid{grid-template-columns:1fr 1fr}.shop-benefits article,.shop-benefits article:first-child{padding:24px 15px;border-bottom:1px solid #dfe6e1;padding-left:15px}.shop-hero{padding:75px 0}.shop-hero__buttons,.store-promo__actions{align-items:flex-start;flex-direction:column}.shop-catalog,.shop-checkout,.store-promo{padding:78px 0}.shop-catalog__toolbar{align-items:flex-start;flex-direction:column}.store-promo__points{grid-template-columns:1fr}}


.order-pickup-address{white-space:pre-line;margin:12px 0;padding:16px;border-left:4px solid #2eaa70;background:#eef8f1;color:#315b43;font-size:16px;font-weight:700;line-height:1.55}.shop-checkout [hidden]{display:none!important}

/* Booking flow explanation: inspection first vs preliminary installation booking. */
.booking-flow-hint { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:24px 0 28px; }
.booking-flow-hint__item { padding:18px 20px; border:1px solid rgba(20,50,40,.14); border-radius:14px; background:#f7fbf8; display:flex; flex-direction:column; gap:7px; }
.booking-flow-hint__item--installation { background:#fffaf0; border-color:rgba(194,126,25,.28); }
.booking-flow-hint__item strong { font-size:16px; }
.booking-flow-hint__item span { color:#687b76; font-size:14px; line-height:1.5; }
@media (max-width:700px) { .booking-flow-hint { grid-template-columns:1fr; } }

.booking-fixed-type,.preferred-installation-box{padding:14px 16px;border:1px solid rgba(20,50,40,.14);border-radius:12px;background:#f7fbf8;display:flex;flex-direction:column;gap:6px}.booking-fixed-type span,.preferred-installation-box span{font-size:13px;color:#687b76}.preferred-installation-box{margin:14px 0;background:#fffaf0;border-color:rgba(194,126,25,.28)}.preferred-installation-box .booking-form__row{margin-top:8px}


/* Clear preliminary installation estimate block. */
.preferred-installation-box { margin-top:24px; padding:22px 24px 20px; border:1px solid #f0cfae; border-radius:12px; background:linear-gradient(135deg,#fffaf2,#fff7ed); }
.preferred-installation-box > strong { display:block; color:var(--ink); font-size:18px; line-height:1.3; }
.preferred-installation-box > span { display:block; max-width:760px; margin-top:7px; color:#766d62; font-size:13px; line-height:1.5; }
.preferred-installation-box label { color:#68766e; }
.preferred-installation-box .installation-object-field { margin:18px 0 12px; }
.preferred-installation-box select,
.preferred-installation-box input { background:#fff; border:1px solid #d9e1dc; border-radius:7px; padding:12px 13px; }
.preferred-installation-box select:focus,
.preferred-installation-box input:focus { border-color:var(--accent); box-shadow:0 0 0 3px #ff6b2c18; }
.installation-date-row { gap:12px; }
.installation-duration-result { margin-top:12px; padding:11px 13px; border-radius:8px; background:#f4f8f5; color:#557365; font-size:13px; line-height:1.5; }
.installation-duration-result strong { color:#236f45; }
.installation-duration-result small { color:#718079; }
@media (max-width:650px) { .preferred-installation-box { padding:18px 16px; } .installation-date-row { gap:0; } }


/* Installation planning: compact, readable start-to-finish preview. */
.preferred-installation-box { box-shadow:0 8px 24px rgba(116,78,30,.06); }
.preferred-installation-box > span { max-width:680px; }
.installation-date-row label { margin-top:10px; }
.installation-date-row label:last-child { color:#557365; }
.installation-date-row input[readonly] { background:#f3f8f4; color:#236f45; font-weight:700; cursor:default; }
.installation-plan { margin-top:14px; padding:14px 16px; border:1px solid #cde2d3; border-radius:9px; background:#f6fbf7; color:#557365; font-size:13px; line-height:1.5; }
.installation-plan__empty { color:#718079; }
.installation-plan__dates { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:10px; }
.installation-plan__dates span { display:grid; gap:2px; }
.installation-plan__dates small { color:#718079; font-size:11px; }
.installation-plan__dates b { color:#236f45; font-size:15px; }
.installation-plan__dates i { color:#2eaa63; font-size:20px; font-style:normal; }
.installation-plan p { margin:9px 0 1px; }
.installation-plan > small { color:#718079; font-size:11px; }
@media(max-width:650px){.installation-plan__dates{grid-template-columns:1fr;gap:5px}.installation-plan__dates i{transform:rotate(90deg);justify-self:center}.installation-plan__dates b{font-size:14px}}


/* Make weekends and official Russian holidays obvious in both public calendars. */
.calendar-days button.is-non-working { background:#fff1f1; border-color:#f4b5b5; color:#b43737; }
.calendar-days button.is-non-working .calendar-day-number { font-weight:800; }
.calendar-days button.is-holiday { background:#ffe0e0; border-color:#e87575; color:#a52222; box-shadow:inset 0 -3px 0 #dc4c4c; }
.calendar-days button.is-non-working:hover { background:#ffdede; }
.calendar-days button.selected.is-non-working { background:var(--accent); color:#fff; border-color:var(--accent); }
.calendar-legend i.weekend { background:#dc4c4c; border-color:#dc4c4c; }
.calendar-legend span:last-child { color:#a52222; font-weight:700; }


/* Distinguish availability, weekends and official holidays. */
.calendar-days button.is-non-working:not(.is-holiday) {
  background:#eef4ff;
  border-color:#9fb8e8;
  color:#31558f;
}
.calendar-days button.is-non-working:not(.is-holiday):hover { background:#e2ecff; }
.calendar-days button.is-holiday {
  background:#fff3d6;
  border-color:#e2b34d;
  color:#875b08;
  box-shadow:inset 0 -3px 0 #d99a1b;
}
.calendar-days button.is-holiday:hover { background:#ffebbb; }
.calendar-days button.is-non-working.is-holiday .calendar-day-number { font-weight:800; }
/* A busy weekend/holiday remains red, but the stripe makes both meanings visible. */
.calendar-days button.busy.is-non-working {
  background:repeating-linear-gradient(135deg,#ffe7e7 0,#ffe7e7 7px,#ffd5d5 7px,#ffd5d5 10px);
  border-color:#df6a6a;
  color:#a52d2d;
  box-shadow:inset 0 -3px 0 #c93f3f;
}
.calendar-days button.busy.is-holiday {
  background:repeating-linear-gradient(135deg,#fff0d0 0,#fff0d0 7px,#ffe2a1 7px,#ffe2a1 10px);
  border-color:#d99a1b;
  color:#875b08;
}
.calendar-legend i.weekend { background:#4c82d8; border-color:#4c82d8; }
.calendar-legend i.holiday { background:#e0a21e; border-color:#e0a21e; }
.calendar-legend span:last-child { color:#875b08; }


/* Regular weekends remain available; official holidays are the only blocked dates. */
.calendar-days button.is-weekend:not(.is-holiday) {
  background:#eef4ff;
  border-color:#9fb8e8;
  color:#31558f;
}
.calendar-days button.is-weekend:not(.is-holiday) .calendar-slot-indicator.is-free { background:#2eaa63; }
.calendar-days button.is-weekend:not(.is-holiday):hover { background:#e2ecff; }
.calendar-days button.is-holiday,
.calendar-days button.is-holiday:disabled {
  background:#fff3d6;
  border-color:#e2b34d;
  color:#875b08;
  box-shadow:inset 0 -3px 0 #d99a1b;
  cursor:not-allowed;
}
.calendar-days button.is-holiday .calendar-day-number { font-weight:800; }
.calendar-days button.is-holiday .calendar-slot-indicators { display:none; }
.calendar-legend i.weekend { background:#4c82d8; border-color:#4c82d8; }
.calendar-legend i.holiday { background:#e0a21e; border-color:#e0a21e; }


/* One clear entry point for choosing inspection date and time. */
.booking-datetime-choice { margin:18px 0 22px; }
.booking-datetime-trigger { display:flex; align-items:center; width:100%; gap:13px; padding:15px 16px; border:1px solid #cddbd3; border-radius:10px; background:#f5faf6; color:var(--ink); text-align:left; cursor:pointer; transition:.2s ease; }
.booking-datetime-trigger:hover { border-color:var(--accent); background:#fff7f0; box-shadow:0 5px 16px #26332d12; }
.booking-datetime-trigger__icon { display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:var(--accent); color:#fff; font-size:15px; }
.booking-datetime-trigger__text { display:grid; gap:3px; flex:1; }
.booking-datetime-trigger__text strong { font-size:15px; }
.booking-datetime-trigger__text small { color:#718079; font-size:12px; }
.booking-datetime-trigger__arrow { color:var(--accent); font-size:22px; }
.booking-datetime-selected { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:14px 16px; border:1px solid #b9dec5; border-radius:10px; background:#f1fbf4; }
.booking-datetime-selected > span { display:grid; gap:2px; }
.booking-datetime-selected small { color:#557365; font-size:11px; }
.booking-datetime-selected strong { color:#236f45; font-size:15px; }
.booking-datetime-selected b { color:#236f45; font-size:14px; }
.booking-datetime-change { border:1px solid #9bc9aa; border-radius:7px; padding:8px 11px; background:#fff; color:#236f45; cursor:pointer; font:600 12px Manrope; }
.booking-datetime-change:hover { background:#eaf8ee; }
@media(max-width:650px){.booking-datetime-selected{align-items:flex-start;flex-direction:column}.booking-datetime-change{width:100%}}


/* Keep the empty selected-state container from leaving a visible strip. */
.booking-datetime-selected[hidden] { display: none !important; }
/* Make the main date/time entry point easier to notice. */
.booking-datetime-trigger { border: 2px solid var(--accent); background: #fffaf5; box-shadow: 0 4px 14px rgba(238, 103, 39, .14); }
.booking-datetime-trigger:hover, .booking-datetime-trigger:focus-visible { border-color: #df571f; background: #fff4eb; box-shadow: 0 6px 18px rgba(238, 103, 39, .24); }
.booking-datetime-trigger:focus-visible { outline: 3px solid rgba(238, 103, 39, .22); outline-offset: 2px; }


.installation-date-trigger { display:flex; align-items:center; width:100%; gap:13px; margin:18px 0 12px; padding:15px 16px; border:2px solid var(--accent); border-radius:10px; background:#fffaf5; color:var(--ink); text-align:left; cursor:pointer; box-shadow:0 4px 14px rgba(238,103,39,.14); transition:.2s ease; }
.installation-date-trigger:hover, .installation-date-trigger:focus-visible { background:#fff4eb; border-color:#df571f; box-shadow:0 6px 18px rgba(238,103,39,.24); }
.installation-date-trigger:focus-visible { outline:3px solid rgba(238,103,39,.22); outline-offset:2px; }
.installation-date-trigger__icon { display:grid; place-items:center; width:30px; height:30px; border-radius:8px; background:var(--accent); color:#fff; font-size:15px; }
.installation-date-trigger__text { display:grid; gap:3px; flex:1; }
.installation-date-trigger__text strong { font-size:15px; }
.installation-date-trigger__text small { color:#718079; font-size:12px; }
.installation-date-trigger__arrow { color:var(--accent); font-size:22px; }
.installation-date-selected { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:18px 0 12px; padding:14px 16px; border:1px solid #b9dec5; border-radius:10px; background:#f1fbf4; }
.installation-date-selected[hidden] { display:none !important; }
.installation-date-selected > span { display:grid; gap:2px; }
.installation-date-selected small { color:#557365; font-size:11px; }
.installation-date-selected strong, .installation-date-selected b { color:#236f45; font-size:14px; }
.installation-date-change { border:1px solid #9bc9aa; border-radius:7px; padding:8px 11px; background:#fff; color:#236f45; cursor:pointer; font:600 12px Manrope; }
.installation-end-field { display:block; margin-top:10px; }
.is-installation-selectable { cursor:pointer; }
@media(max-width:650px){.installation-date-selected{align-items:flex-start;flex-direction:column}.installation-date-change{width:100%}}


.lead-confirmation { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:20px; background:rgba(24,34,29,.48); overflow:auto; }
.lead-confirmation__card { position:relative; width:min(620px,100%); max-height:calc(100vh - 40px); overflow:auto; padding:34px; border-radius:18px; background:#fff; box-shadow:0 20px 70px rgba(24,34,29,.28); color:var(--ink); }
.lead-confirmation__close { position:absolute; top:14px; right:16px; border:0; background:transparent; color:#718079; font-size:28px; line-height:1; cursor:pointer; }
.lead-confirmation__brand { display:flex; align-items:center; gap:10px; margin-bottom:18px; color:var(--ink); font-weight:800; letter-spacing:.04em; }
.lead-confirmation__brand .logo__mark { display:grid; place-items:center; width:38px; height:38px; border-radius:10px; background:#b8e3c2; color:#236f45; font-size:24px; }
.lead-confirmation__brand small { display:block; margin-top:2px; color:#718079; font-size:9px; letter-spacing:.12em; }
.lead-confirmation__contacts { display:grid; gap:6px; margin:0 0 24px; padding:14px 16px; border-radius:12px; background:#f1fbf4; color:#40564a; line-height:1.45; }
.lead-confirmation__contacts strong { color:#236f45; }
.lead-confirmation__mark { display:grid; place-items:center; width:48px; height:48px; margin-bottom:14px; border-radius:50%; background:#b8e3c2; color:#236f45; font-size:28px; font-weight:700; }
.lead-confirmation h2 { margin:0 0 8px; font-size:28px; }
.lead-confirmation__number { margin:0 0 8px; color:#236f45; font-size:17px; }
.lead-confirmation__hint { margin:0 0 22px; color:#718079; line-height:1.5; }
.lead-confirmation__details { display:grid; gap:0; margin:0 0 24px; border:1px solid #d7e4db; border-radius:12px; overflow:hidden; }
.lead-confirmation__details > div { display:grid; grid-template-columns:155px 1fr; gap:14px; padding:11px 14px; border-bottom:1px solid #e8efea; }
.lead-confirmation__details > div:last-child { border-bottom:0; }
.lead-confirmation__details dt { color:#718079; }
.lead-confirmation__details dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.lead-confirmation__actions { display:flex; flex-wrap:wrap; gap:10px; }
.lead-confirmation__actions button { flex:1 1 160px; min-height:42px; padding:10px 14px; border:1px solid #9bc9aa; border-radius:8px; background:#f1fbf4; color:#236f45; cursor:pointer; font:600 13px Manrope; }
.lead-confirmation__actions button:hover { background:#e1f5e7; border-color:#62a875; }
@media(max-width:600px){.lead-confirmation__card{padding:27px 20px}.lead-confirmation__details > div{grid-template-columns:1fr;gap:3px}.lead-confirmation h2{font-size:24px}}
@media print { body.print-confirmation > *:not(.lead-confirmation) { display:none !important; } body.print-confirmation { background:#fff; } body.print-confirmation .lead-confirmation { position:static; display:block; padding:0; background:#fff; } body.print-confirmation .lead-confirmation__card { width:100%; max-height:none; padding:0; box-shadow:none; } body.print-confirmation .lead-confirmation__close, body.print-confirmation .lead-confirmation__actions { display:none !important; } }


.calendar-days button.is-past { background:#f1f3f2; color:#b8c0bb; cursor:not-allowed; opacity:.65; text-decoration:line-through; }


/* Make booking fields feel like real input controls with a full clickable area. */
.booking-form input:not([type="hidden"]),
.booking-form select,
.booking-form textarea {
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #cfdad3;
  border-radius: 7px;
  background: #fff;
  cursor: text;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.booking-form select { cursor: pointer; }
.booking-form textarea { min-height: 112px; resize: vertical; }
.booking-form input:not([type="hidden"]):hover,
.booking-form select:hover,
.booking-form textarea:hover { border-color: #9fb5a8; }
.booking-form input:not([type="hidden"]):focus,
.booking-form select:focus,
.booking-form textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(238, 103, 39, .13);
  outline: none;
  background: #fffdfb;
}
.booking-form input::placeholder,
.booking-form textarea::placeholder { color: #718079; opacity: 1; }

.calendar-days button.before-inspection { background:#f5f6f5; color:#aeb8b1; cursor:not-allowed; opacity:.7; }

/* Улучшенная читаемость названий ценовых карточек */
.price-card__type {
  display: block;
  color: var(--ink);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: -0.01em;
}
.price-card--featured .price-card__type {
  color: #fff;
}
@media (max-width: 650px) {
  .price-card__type {
    font-size: 15px;
    line-height: 1.3;
  }
}

/* Читаемая структура списка чернового монтажа */
.included-work__intro {
  max-width: 900px;
  margin: 20px 0 0;
  color: #53635b;
  font-size: 18px;
  line-height: 1.55;
}
.included-item {
  align-items: start;
}
.included-item > span {
  padding-top: 2px;
  font-size: 14px;
  line-height: 1.55;
}
.included-item p {
  font-size: 18px;
  line-height: 1.55;
  color: #34453d;
}
@media (max-width: 650px) {
  .included-work__intro,
  .included-item p {
    font-size: 16px;
  }
}

/* Акцентный блок этапов работ */
.included-work__label {
  display: inline-block;
  padding: 10px 15px;
  border-radius: 5px;
  background: var(--accent);
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  letter-spacing: .1em;
  line-height: 1.3;
  box-shadow: 0 8px 18px #ff6b2c2b;
}
.work-stages {
  margin-top: 34px;
  padding: 34px 36px;
  background: #fffaf7;
  color: #241811;
  border: 1px solid #f0ddd2;
  border-radius: 6px;
  box-shadow: 0 12px 28px #5a2b1712;
}
.work-stages__head {
  padding-bottom: 24px;
  border-bottom: 1px solid #ead8ce;
}
.work-stages__label {
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .12em;
}
.work-stages h3 {
  margin: 12px 0 0;
  font: 800 clamp(28px, 3.3vw, 44px)/1.08 'Plus Jakarta Sans';
}
.work-stages h3 em {
  color: #241811;
  font-style: normal;
}
.work-stages__grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
}
.work-stage {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  align-items: start;
  min-height: 190px;
  padding: 24px 16px 0 0;
  margin-right: 16px;
  border-right: 1px solid #ead8ce;
}
.work-stage:last-child {
  margin-right: 0;
  border-right: 0;
}
.work-stage > span {
  padding-top: 2px;
  color: var(--accent-dark);
  font: 800 14px/1.4 'Plus Jakarta Sans';
}
.work-stage strong {
  display: block;
  font-size: 17px;
  line-height: 1.3;
}
.work-stage p {
  margin: 10px 0 0;
  color: #5f514b;
  font-size: 14px;
  line-height: 1.55;
}
.work-stage--accent {
  padding-left: 20px;
  margin-left: 0;
}
@media (max-width: 900px) {
  .work-stages__grid { grid-template-columns: 1fr 1fr; }
  .work-stage { min-height: 160px; }
  .work-stage:nth-child(2) { border-right: 0; }
  .work-stage:nth-child(3) { border-right: 1px solid #ead8ce; }
  .work-stage--accent { padding-left: 0; }
}
@media (max-width: 650px) {
  .included-work__label { font-size: 12px; padding: 8px 10px; }
  .work-stages { padding: 25px 20px; }
  .work-stages__grid { grid-template-columns: 1fr; }
  .work-stage,
  .work-stage:nth-child(2),
  .work-stage:nth-child(3) {
    min-height: auto;
    margin: 0;
    padding: 18px 0;
    border-right: 0;
    border-bottom: 1px solid #ead8ce;
  }
  .work-stage:last-child { border-bottom: 0; }
  .work-stage--accent { padding-left: 0; }
}

.work-stages--soft-accent {
  background: #fffaf7;
}
.work-stage--accent {
  background: #fff0e8;
  border-radius: 4px;
  padding-left: 20px;
  padding-right: 16px;
}

.finishing-row span small {
  display: block;
  max-width: 760px;
  margin-top: 6px;
  color: #9fb0b5;
  font-size: 12px;
  line-height: 1.45;
}
@media (max-width: 650px) {
  .finishing-row span small { font-size: 11px; }
}

/* Главное преимущество фиксированной цены */
.pricing__advantage {
  align-self: end;
  max-width: 500px;
  margin-bottom: 18px;
  padding: 22px 26px;
  border-left: 6px solid var(--accent);
  background: #fff1e9;
  color: var(--ink);
}
.pricing__advantage strong {
  display: block;
  color: var(--accent-dark);
  font-size: clamp(18px, 2vw, 27px);
  font-weight: 900;
  letter-spacing: .03em;
  line-height: 1.15;
}
.pricing__advantage span {
  display: block;
  margin-top: 9px;
  color: #5f514b;
  font-size: clamp(14px, 1.25vw, 17px);
  font-weight: 700;
  line-height: 1.45;
}
@media (max-width: 800px) {
  .pricing__advantage { margin: 24px 0 0; max-width: none; }
}

.pricing__advantage span strong {
  display: inline;
  color: var(--accent-dark);
  font-size: inherit;
  font-weight: 900;
  letter-spacing: 0;
}

/* Единый вводный блок записи на осмотр */
.schedule .section-head {
  display: block;
  max-width: 900px;
  margin-bottom: 38px;
  padding: 28px 34px 30px;
  background: #fff7f2;
  border-left: 5px solid var(--accent);
  border-radius: 4px;
}
.schedule .section-head h2 {
  margin-top: 16px;
  max-width: 620px;
}
.schedule .section-head > p {
  max-width: 760px;
  margin: 20px 0 0;
  color: #5f514b;
}
@media (max-width: 650px) {
  .schedule .section-head {
    margin-bottom: 30px;
    padding: 23px 20px 25px;
  }
  .schedule .section-head h2 { margin-top: 14px; }
  .schedule .section-head > p { margin-top: 17px; }
}

/* Заголовки календарей без лишних пояснений */
.calendar-panel-title {
  margin-bottom: 16px;
}
.calendar-panel-title strong {
  font-size: 22px;
  line-height: 1.2;
}
@media (max-width: 650px) {
  .calendar-panel-title strong { font-size: 20px; }
}

/* Читаемые подписи и пояснения календарей */
.calendar-legend {
  gap: 22px;
  font-size: 15px;
  line-height: 1.45;
}
.calendar-legend i {
  width: 11px;
  height: 11px;
  margin-right: 7px;
}
.calendar-slot-explanation {
  font-size: 15px;
  line-height: 1.5;
}
.calendar-slot-example__label,
.calendar-slot-example__more {
  font-size: 14px;
  line-height: 1.5;
}
.calendar-slot-example__head strong,
.calendar-slot-example > p {
  font-size: 16px;
}
.calendar-slot-example__item {
  font-size: 15px;
}
.calendar-slot-example__item small {
  font-size: 13px;
  line-height: 1.45;
}
@media (max-width: 650px) {
  .calendar-legend {
    gap: 12px 18px;
    font-size: 14px;
    flex-wrap: wrap;
  }
  .calendar-slot-explanation { font-size: 14px; }
  .calendar-slot-example__label,
  .calendar-slot-example__more { font-size: 13px; }
}

/* Крупное окно выбора времени и понятный пример занятости */
.calendar-slot-example__item.is-busy {
  border-color: #efb4b4;
  background: #fff1f1;
  color: #b83d3d;
}
.calendar-slot-example__item.is-busy i { background: #dc4c4c; }
.calendar-slot-example__item.is-busy small { color: #b83d3d; }
.calendar-slot-popover {
  width: min(470px, calc(100vw - 32px));
  padding: 24px;
}
.calendar-slot-popover__head { font-size: 18px; }
.calendar-slot-popover p { margin: 14px 0 16px; font-size: 15px; }
.calendar-slot-list { gap: 10px; }
.calendar-slot-choice {
  grid-template-columns: 14px 1fr auto;
  gap: 11px;
  padding: 15px 16px;
  min-height: 72px;
  font-size: 16px;
}
.calendar-slot-choice i { width: 12px; height: 12px; }
.calendar-slot-choice span { gap: 4px; }
.calendar-slot-choice span strong { font-size: 18px; }
.calendar-slot-choice span small { font-size: 13px; line-height: 1.45; }
.calendar-slot-choice b { font-size: 13px; }
@media (max-width: 650px) {
  .calendar-slot-popover {
    left: 10px !important;
    right: 10px;
    width: auto;
    padding: 20px;
  }
  .calendar-slot-popover__head { font-size: 17px; }
  .calendar-slot-choice { min-height: 68px; padding: 13px 12px; }
  .calendar-slot-choice span strong { font-size: 16px; }
  .calendar-slot-choice span small { font-size: 12px; }
}

/* Статусы справа в примере выбора времени */
.calendar-slot-example__item b {
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}
@media (max-width: 650px) {
  .calendar-slot-example__item b { font-size: 12px; }
}

/* Заголовок первого экрана: более широкие строки без одиночных переносов */
.hero__grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
  gap: 34px;
}
.hero h1 {
  max-width: 780px;
}
@media (max-width: 950px) {
  .hero__grid { grid-template-columns: 1fr; }
}


/* Service cards use project photography instead of descriptive paragraphs. */
.service-card { min-height: 340px; padding: 28px 27px 0; }
.service-card h3 { margin: 16px 0 12px; }
.service-card__image { display: block; width: calc(100% + 54px); height: 160px; margin: 0 -27px; object-fit: cover; }
.service-card--accent .service-card__image { border-top: 1px solid rgba(255,255,255,.28); }
@media (max-width: 650px) {
  .service-card h3 { margin: 16px 0 12px; }
  .service-card__image { height: 175px; }
}


/* Booking form readability improvements. */
.booking-datetime-trigger__text strong,
.installation-date-trigger__text strong { font-size: 18px; line-height: 1.3; }
.booking-datetime-trigger__text small,
.installation-date-trigger__text small { font-size: 15px; line-height: 1.4; }
.booking-datetime-selected small,
.installation-date-selected small { font-size: 14px; }
.booking-datetime-selected strong,
.booking-datetime-selected b,
.installation-date-selected strong,
.installation-date-selected b { font-size: 17px; }
.field-hint,
.service-area-hint { font-size: 15px; line-height: 1.5; }
.preferred-installation-box > strong { font-size: 20px; line-height: 1.35; }
.preferred-installation-box > span { font-size: 15px; line-height: 1.5; }
.installation-plan { font-size: 15px; line-height: 1.55; }
.installation-plan__dates small { font-size: 14px; }
.installation-plan__dates b { font-size: 18px; }
@media (max-width: 650px) {
  .booking-datetime-trigger__text strong,
  .installation-date-trigger__text strong { font-size: 17px; }
  .booking-datetime-trigger__text small,
  .installation-date-trigger__text small,
  .field-hint,
  .service-area-hint { font-size: 14px; }
}


/* Final readability pass for booking explanations and status text. */
.booking-fixed-type > span {
  font-size: 17px !important;
  line-height: 1.5;
}
.address-field > .field-hint,
.service-area-hint {
  font-size: 17px !important;
  line-height: 1.55;
}
.installation-plan,
.installation-plan__empty {
  font-size: 17px !important;
  line-height: 1.55;
}
.preferred-installation-box > span {
  font-size: 17px !important;
  line-height: 1.55;
}
@media (max-width: 650px) {
  .booking-fixed-type > span,
  .address-field > .field-hint,
  .service-area-hint,
  .installation-plan,
  .installation-plan__empty,
  .preferred-installation-box > span {
    font-size: 16px !important;
  }
}


/* Clear visual hierarchy for booking form labels, values and hints. */
.booking-form label {
  color: #43544d;
  font-weight: 600;
}
.booking-form input:not([type="hidden"]),
.booking-form select,
.booking-form textarea {
  color: #17211e;
  font-weight: 500;
}
.booking-form input::placeholder,
.booking-form textarea::placeholder {
  color: #8a9690;
  opacity: 1;
  font-weight: 400;
}
.booking-form .field-hint,
.booking-form .service-area-hint,
.booking-form .form-note {
  color: #65756d;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 400;
}
.booking-fixed-type > span {
  color: #6f7f78;
}
.preferred-installation-box > span {
  color: #6f665d;
}
.booking-datetime-trigger__text small,
.installation-date-trigger__text small {
  color: #687a72;
}

/* Improved readability for review form, publication rules and store promo. */
.review-form-card label,
.review-form-card legend {
  color: #43544d;
  font-weight: 600;
}
.review-form-card input:not([type="radio"]):not([type="checkbox"]),
.review-form-card textarea {
  color: #17211e;
  font-weight: 500;
}
.review-form-card input::placeholder,
.review-form-card textarea::placeholder {
  color: #7c8982;
  opacity: 1;
  font-weight: 400;
}
.review-form-card label small {
  color: #65756d;
  font-size: 13px;
  font-weight: 400;
}
.review-form-card .rating-choices span,
.review-form-card .review-tags span {
  color: #43544d;
  font-weight: 500;
}
.review-rules h3 {
  font-size: 21px;
}
.review-rules p {
  color: #514a2b;
  font-size: 17px;
  line-height: 1.7;
}
.store-promo__lead {
  color: #d0dad3;
  font-size: 18px;
}
.store-promo__points {
  color: #e0e7e2;
  font-size: 15px;
  line-height: 1.5;
}
.store-promo__visual-top span {
  font-size: 12px;
}
.store-promo__visual p {
  font-size: 14px;
  line-height: 1.6;
}
.store-promo__visual>a {
  font-size: 17px;
}
.store-promo__levels span {
  font-size: 12px;
}
/* Project cards follow the same title-then-photo rhythm as the services cards. */
.projects-grid--real .project { height: 390px; display: flex; flex-direction: column; background: #fff; border: 1px solid #e2e7e3; border-radius: 5px; }
.projects-grid--real .project--large { height: 470px; grid-row: span 2; }
.projects-grid--real .project-card-title { position: relative; z-index: 2; min-height: 132px; padding: 27px 27px 20px; color: var(--ink); background: #fff; display: flex; flex-direction: column; justify-content: center; }
.projects-grid--real .project--large .project-card-title { background: var(--accent); color: #fff; }
.projects-grid--real .project-card-title span { display: block; color: #65736b; font-size: 12px; line-height: 1.35; margin-bottom: 10px; }
.projects-grid--real .project--large .project-card-title span { color: #ffe9e0; }
.projects-grid--real .project-card-title strong { display: block; font: 700 21px/1.12 'Plus Jakarta Sans'; }
.projects-grid--real .project-bg { position: relative; inset: auto; flex: 1; min-height: 0; transition: transform .5s; }
.projects-grid--real .project:hover .project-bg { transform: scale(1.04); }
.projects-grid--real .project-bg:after { display: none; }
@media(max-width:950px) { .projects-grid--real .project--large { grid-row: span 1; height: 390px; } }
@media(max-width:650px) { .projects-grid--real .project, .projects-grid--real .project--large { height: 330px; grid-row: auto; } .projects-grid--real .project-card-title { min-height: 118px; padding: 21px 20px 16px; } .projects-grid--real .project-card-title strong { font-size: 19px; } }
/* Projects use the same simple title-and-photo cards as the services section. */
.projects-grid--real { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.projects-grid--real .project,
.projects-grid--real .project--large { height: 340px; min-height: 0; display: flex; flex-direction: column; position: relative; background: #fff; border: 1px solid #e2e7e3; border-radius: 5px; }
.projects-grid--real .project-card-title { position: relative; z-index: 2; flex: 0 0 108px; min-height: 108px; padding: 27px 27px 18px; background: #fff; color: var(--ink); display: flex; align-items: center; }
.projects-grid--real .project:first-child { background: var(--accent); border-color: var(--accent); }
.projects-grid--real .project:first-child .project-card-title { background: var(--accent); color: #fff; }
.projects-grid--real .project-card-title strong { display: block; font: 700 22px/1.12 'Plus Jakarta Sans'; }
.projects-grid--real .project-bg { position: relative; inset: auto; flex: 1; min-height: 0; width: 100%; background-position: center; background-size: cover; }
.projects-grid--real .project-bg:after { display: none; }
.projects-grid--real .project:hover .project-bg { transform: none; }
@media(max-width:950px) { .projects-grid--real { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:650px) { .projects-grid--real { grid-template-columns: 1fr; } .projects-grid--real .project, .projects-grid--real .project--large { height: 340px; } .projects-grid--real .project-card-title { flex-basis: 100px; min-height: 100px; padding: 22px 20px 16px; } .projects-grid--real .project-card-title strong { font-size: 20px; } }
/* Keep project card titles consistent with the service cards. */
.projects-grid--real .project-card-title strong {
  font: 700 22px/1.2 'Manrope', Arial, sans-serif;
  letter-spacing: 0;
}
@media(max-width:650px) {
  .projects-grid--real .project-card-title strong {
    font: 700 20px/1.2 'Manrope', Arial, sans-serif;
  }
}
/* Projects carousel: eight service-style cards per slide. */
.projects-carousel { position: relative; }
.projects-slides { overflow: hidden; }
.projects-slide { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.projects-slide:not(:first-child) { display: none; }
.projects-carousel__controls { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 24px; }
.projects-carousel__button { width: 42px; height: 42px; border: 1px solid #d3ddd6; border-radius: 50%; background: #fff; color: var(--ink); font-size: 20px; cursor: pointer; transition: .2s; }
.projects-carousel__button:hover { background: var(--accent); border-color: var(--accent); color: #fff; }
.projects-carousel__status { color: #68766e; font-size: 14px; }
.projects-carousel__status b { color: var(--accent); }
@media(max-width:950px) { .projects-slide { grid-template-columns: repeat(2, 1fr); } }
@media(max-width:650px) { .projects-slide { grid-template-columns: 1fr; } }
.projects-grid--real .project-bg--monte { background-image: linear-gradient(180deg,#203a3a22,#13221ddd), url('https://avatars.mds.yandex.net/get-altay/3598710/2a00000189feab97d385fedcd472342700b9/L_height'); }
.projects-grid--real .project-bg--capital { background-image: linear-gradient(180deg,#203a3a22,#13221ddd), url('https://avatars.mds.yandex.net/get-altay/10142335/2a0000018d5943426c6740836782f29f205f/XXXL'); }
.projects-grid--real .project-bg--aquarium { background-image: linear-gradient(180deg,#203a3a22,#13221ddd), url('https://xn--80az8a.xn--d1aqf.xn--p1ai/resizer/image?imageUrl=https://xn--80az8a.xn--d1aqf.xn--p1ai/api/ext/file/6C6B7A3ABE325707790E4230A90278F4E18A7879?type=png&systemClientId=portal-client&config=resize:fill:0:0'); }
.projects-grid--real .project-bg--neva { background-image: linear-gradient(180deg,#203a3a22,#13221ddd), url('https://www.emlakrotasi.com.tr/wp-content/uploads/2020/02/1581322564_RNS_Neva_Towers__2_-1068x1602.jpg'); }
.projects-grid--real .project-bg--orbital { background-image: linear-gradient(180deg,#203a3a22,#13221ddd), url('https://i.archi.ru/i/466617.jpg'); }
.projects-grid--real .project-bg--symphony { background-image: linear-gradient(180deg,#203a3a22,#13221ddd), url('https://mir-s3-cdn-cf.behance.net/project_modules/max_3840_webp/092913175296907.64b0ff41a6173.jpg'); }
.projects-grid--real .project-bg--berezki { background-image: linear-gradient(180deg,#203a3a22,#13221ddd), url('https://avatars.dzeninfra.ru/get-zen_doc/5222751/pub_614c5fdd9398c5118ed5b3b5_614c5ffdc6da567d36c8b35b/scale_1200'); }


.price-card--developer { background: var(--ink); border-color: var(--ink); color: #fff; box-shadow: 0 12px 28px rgba(38, 51, 45, .18); }
.price-card--developer:hover { border-color: var(--ink); box-shadow: 0 16px 30px rgba(38, 51, 45, .26); }
.price-card--developer .price-card__type, .price-card--developer .price-card__note { color: #dce7e0; }
.price-card--developer strong {
  color: #fff;
  font-size: clamp(25px, 2.45vw, 34px);
  line-height: 1.08;
  margin-top: 28px;
  white-space: normal;
  overflow-wrap: anywhere;
}
.price-card--developer strong small { display: block; margin-top: 8px; color: var(--accent); font-size: 14px; line-height: 1.25; letter-spacing: 0; text-transform: uppercase; }
.price-card--developer a { color: #fff; }
.price-card--developer a span { color: var(--accent); }


@media (min-width: 1000px) {
  .header .office-address {
    display: block;
    width: 225px;
    white-space: normal;
    color: #68756f;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.22;
  }

  .header .phone {
    font-size: 18px;
    font-weight: 800;
    white-space: nowrap;
  }
}


@media (min-width: 1000px) {
  .work-stages__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .work-stage,
  .work-stage--accent {
    min-height: 255px;
    margin-right: 0;
    padding: 26px 24px 24px 0;
    border-right: 1px solid #ead8ce;
    border-bottom: 1px solid #ead8ce;
  }

  .work-stage:nth-child(3n) {
    border-right: 0;
    padding-right: 0;
  }

  .work-stage:nth-child(n + 4) {
    padding-top: 28px;
    border-bottom: 0;
  }

  .work-stage:not(:nth-child(3n)) {
    margin-right: 24px;
  }

  .work-stage > span {
    font-size: 15px;
  }

  .work-stage strong {
    font-size: 19px;
    line-height: 1.3;
  }

  .work-stage p {
    font-size: 17px;
    line-height: 1.55;
  }

  .work-stage--accent {
    padding-left: 20px;
    padding-right: 20px;
  }

  .finishing-work__intro { font-size: 18px; }
  .finishing-row { font-size: 16px; }
  .finishing-row strong { font-size: 17px; }
  .finishing-row span small { font-size: 14px; }
  .finishing-note { font-size: 18px; }

  .fixed-callout strong { font-size: 17px; }
  .fixed-callout span { font-size: 15px; }
  .materials__note { font-size: 17px; line-height: 1.7; }
}


.calendar-slot-example__item.is-free {
  width: 100%;
  cursor: pointer;
  text-align: left;
  font: inherit;
}
.calendar-slot-example__item.is-free:hover {
  border-color: #2eaa63;
  background: #e1f6e9;
}

.calendar-current-day-note {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px dashed #b9d7c4;
  border-radius: 5px;
  background: #f4fbf6;
  color: #557064;
  font-size: 14px;
  line-height: 1.45;
}
.calendar-inline-slots { margin-top: 14px; padding: 18px; border: 1px solid #d9e1dc; border-radius: 8px; background: #fff; }
.calendar-inline-slots__head { color: var(--ink); font-size: 17px; }
.calendar-inline-slots > p { margin: 10px 0 12px; color: #718079; font-size: 14px; }
.calendar-inline-slots .calendar-slot-list { display: grid; gap: 8px; }
.calendar-inline-slots .calendar-slot-choice { min-height: 58px; }
@media(max-width:650px){ .calendar-inline-slots { padding: 14px 12px; } .calendar-inline-slots .calendar-slot-choice { min-height: 64px; } }
.calendar-days button.is-today {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}


/* Store promo readability update 20260928 */
.store-promo__points { font-size: 17px; }
.store-promo__visual-top span { font-size: 13px; }
.store-promo__visual p { font-size: 16px; }
.store-promo__levels span { font-size: 13px; }


/* Builders partner page */
.builders-page { background: #f4f5f2; }
.builders-hero { padding: 105px 0 92px; background: #18201e; color: #fff; }
.builders-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 82px; align-items: center; }
.builders-page .eyebrow { color: #7a8982; font-size: 14px; letter-spacing: .12em; }
.builders-page .eyebrow span { color: #d47a18; }
.builders-hero h1 { max-width: 760px; font: 800 clamp(42px, 5vw, 72px)/1.03 'Plus Jakarta Sans', sans-serif; letter-spacing: -.03em; margin: 24px 0 28px; }
.builders-hero h1 em { color: var(--yellow); font-style: normal; }
.builders-hero__lead { max-width: 700px; color: #c4cec8; font-size: 19px; line-height: 1.7; margin: 0; }
.builders-hero__card { padding: 30px; background: var(--yellow); color: var(--ink); border-radius: 6px; box-shadow: 16px 16px 0 #314238; }
.builders-hero__card strong { display: block; font: 800 25px/1.15 'Plus Jakarta Sans'; margin-bottom: 15px; }
.builders-hero__card p { margin: 0; color: #4f482a; font-size: 15px; line-height: 1.6; }
.builders-section { padding: 105px 0; }
.builders-section--white { background: #fff; }
.builders-section h2 { max-width: 700px; font: 800 clamp(35px, 4vw, 54px)/1.08 'Plus Jakarta Sans'; margin: 18px 0 45px; }
.builders-section h2 em { color: var(--accent); font-style: normal; }
.builders-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.builders-card { padding: 29px 27px; background: #f4f5f2; border: 1px solid #dfe6e1; border-radius: 5px; }
.builders-card__number { color: var(--accent); font: 800 13px 'Plus Jakarta Sans'; }
.builders-card h3 { font: 700 23px/1.2 'Plus Jakarta Sans'; margin: 34px 0 13px; }
.builders-card p { color: #68766e; font-size: 18px; line-height: 1.65; margin: 0; }
.builders-info { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.builders-info h2 { margin-top: 0; margin-bottom: 24px; }
.builders-info p { color: #68766e; font-size: 19px; line-height: 1.75; margin: 0 0 18px; }
.builders-note { padding: 27px 30px; background: #fff7e1; border-left: 4px solid var(--yellow); color: #625733; font-size: 18px; line-height: 1.65; }
.builders-cta { padding: 82px 0; background: var(--yellow); }
.builders-cta__inner { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.builders-cta h2 { max-width: 620px; font: 800 clamp(32px, 4vw, 52px)/1.08 'Plus Jakarta Sans'; margin: 0; }
.builders-cta p { max-width: 720px; color: #62562d; font-size: 21px; line-height: 1.65; margin: 22px 0 0; }
.builders-cta__contact { color: #8d3f1c; font-weight: 800; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.builders-cta__contact:not(a) { text-decoration: none; }
@media(max-width:800px){.builders-hero__grid,.builders-info{grid-template-columns:1fr;gap:42px}.builders-cards{grid-template-columns:1fr}.builders-hero{padding:78px 0}.builders-section{padding:78px 0}.builders-cta__inner{display:block}.builders-cta p{margin-top:22px}}
@media(max-width:650px){.builders-hero h1{font-size:42px}.builders-hero__lead{font-size:17px}.builders-card p,.builders-info p{font-size:17px}.builders-cta p{font-size:18px}.nav-partners{color:var(--accent)!important}}


/* Header navigation alignment 20260929 */
.header__inner { align-items: center; }
.nav { align-items: center; }
.nav a { display: inline-flex; align-items: center; min-height: 24px; white-space: nowrap; }
.header__actions { align-items: center; }


/* Header contact spacing 20260929 */
.header__inner { gap: 24px; padding-right: 30px; }
.nav { gap: 20px; }
.header__actions { gap: 16px; }
.office-address { max-width: 190px; white-space: normal; line-height: 1.25; }


/* Header gaps restored and shifted left 20260929 */
@media (min-width: 951px) {
  .header__inner { transform: translateX(-64px); }
  .header__inner { gap: 42px; padding-right: 0; }
  .nav { gap: 28px; }
  .header__actions { gap: 24px; }
  .office-address { max-width: none; white-space: nowrap; line-height: normal; }
}

.office-contact { display:flex; flex-direction:column; align-items:flex-end; gap:3px; min-width:0; }
.office-contact .office-address, .office-contact .office-hours { display:block; max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.phone-contact { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-width:0; }
.phone-contact .phone { display:block; }
.phone-contact .office-email { display:block; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#52635b; font-size:13px; font-weight:700; line-height:1.3; user-select:text; cursor:text; }
.office-contact .office-details { display:flex; gap:8px; max-width:260px; color:#8a958f; font-size:11px; font-weight:600; }
.office-contact .office-hours { color:#8a958f; font-size:11px; font-weight:600; }
.office-contact .office-email { color:#8a958f; font-size:11px; font-weight:600; text-decoration:none; }
@media (max-width: 950px) { .office-contact { display:none; } }

/* Compact public warehouse contact block: keep the dense main navigation readable. */
@media (min-width: 951px) {
  .header__actions .office-contact {
    width: 190px;
    padding-left: 14px;
    border-left: 1px solid #d7dfda;
    gap: 4px;
  }
  .header__actions .office-contact .office-address {
    width: 100%;
    color: #52635b;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
    text-align: right;
  }
  .header__actions .office-contact .office-details {
    width: 100%;
    justify-content: flex-end;
    gap: 10px;
    color: #52635b;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
  }
  .header__actions .office-contact .office-hours,
  .header__actions .office-contact .office-email {
    width: 100%;
    max-width: none;
    color: #687870;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
    text-align: right;
  }
  .header__actions .office-contact .office-email {
    color: #63736b;
    font-weight: 700;
  }
  .header__actions .phone-contact {
    align-items: flex-start;
    gap: 5px;
  }
  .header__actions .phone-contact .phone {
    font-size: 18px;
    font-weight: 800;
  }
  .header__actions .phone-contact .office-email {
    max-width: 220px;
    color: #52635b;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
  }
}

/* Final desktop header balance: wider contacts, larger readable type, navigation shifted left. */
@media (min-width: 951px) {
  .header { height: 106px; }
  .header > .container.header__inner { width: min(1450px, calc(100% - 48px)); gap: 28px; transform: none; }
  .header__inner .logo { flex: 0 0 auto; }
  .header__inner .nav { margin-left: 0; gap: 0; flex: 1 1 auto; justify-content: space-between; font-size: 16px; line-height: 1.35; }
  .header__actions { flex: 0 0 auto; gap: 25px; }
  .header__actions .office-contact { width: 285px; padding-left: 18px; gap: 6px; }
  .header__actions .office-contact .office-address { font-size: 15px; line-height: 1.3; }
  .header__actions .office-contact .office-details { gap: 14px; font-size: 15px; line-height: 1.3; }
  .header__actions .office-contact .office-hours { font-size: 13px; line-height: 1.35; }
  .header__actions .phone-contact { gap: 6px; }
  .header__actions .phone-contact .phone { font-size: 24px; line-height: 1.2; }
  .header__actions .phone-contact .office-email { max-width: 230px; font-size: 15px; line-height: 1.3; }
}

/* Builders-only header: a single return link and the published warehouse contact. */
.builders-page .header__inner { gap: 28px; }
.builders-page .nav { margin-left: 0; justify-content: flex-start; gap: 0; }
.builders-page .builders-return-link { white-space: normal; text-align: left; }
.builders-page .header__actions { gap: 25px; }
@media (min-width: 951px) {
  .builders-page .header__actions .office-contact { width: 285px; }
}
@media (max-width: 950px) {
  .builders-page .nav.is-open { display: flex; }
  .builders-page .nav .builders-return-link { white-space: normal; }
}
