:root{
  --accent:#ffd400;
  --ink:#17191d;
  --muted:#69717c;
  --light:#f3f4f2;
  --dark:#11151b;
  --dark-2:#171c23;
  --line:rgba(23,25,29,.09);
  --radius:28px;
  --container:min(1480px,calc(100vw - 48px));
  --ease:cubic-bezier(.22,1,.36,1);
  --shutter-perspective:1800px;
  --site-angle:28deg;
  --menu-angle:-15deg;
  --menu-width:34vw;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#090d12}
body.is-locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
button{cursor:pointer}
.container{width:var(--container);margin-inline:auto}.section{position:relative;padding:clamp(86px,8vw,138px) 0}.section--light{background:var(--light)}.section--dark{background:#12161c;color:#fff}
h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.055em}h1{font-size:clamp(58px,7.2vw,82px);line-height:.92}h2{font-size:clamp(46px,5.2vw,62px);line-height:.95}h3{font-size:clamp(26px,2.6vw,38px);line-height:1.05}p{line-height:1.65}

.m-40 {margin-top: 40px; margin-bottom: 40px;}

/* ===== 3D SHUTTERS =====
   Обе створки лежат в одной 3D-сцене.
   Сайт закреплен по ЛЕВОЙ кромке браузера и уводит правую часть назад.
   Меню закреплено по ПРАВОЙ кромке и уводит левую часть назад.
   За счет общего perspective их внутренние кромки сходятся как створки окна. */
.shutter-scene{position:relative;min-height:100vh;overflow:hidden;background:#080c11;perspective:var(--shutter-perspective);perspective-origin:50% 50%;transform-style:preserve-3d}
.site-plane{position:relative;z-index:3;min-height:100vh;background:#fff;transform-origin:0 50%;transform:rotateY(0deg);transform-style:preserve-3d;backface-visibility:hidden;will-change:transform,filter;transition:transform .92s var(--ease),filter .72s ease,box-shadow .92s var(--ease)}
.menu-plane{position:fixed;z-index:2;top:0;right:0;width:var(--menu-width);height:100vh;color:#fff;transform-origin:100% 50%;transform:rotateY(0deg);transform-style:preserve-3d;backface-visibility:hidden;will-change:transform;pointer-events:none;visibility:hidden;transition:transform .92s var(--ease),visibility 0s linear .92s}
.menu-plane__surface{position:absolute;inset:0;padding:clamp(34px,4vw,64px);display:flex;flex-direction:column;background:radial-gradient(circle at 30% 8%,rgba(255,212,0,.13),transparent 28%),linear-gradient(160deg,#11161e 0%,#0a0f15 78%);border-left:1px solid rgba(255,255,255,.08);box-shadow:inset 26px 0 50px rgba(0,0,0,.12)}
.shutter-backdrop{position:fixed;z-index:4;inset:0 auto 0 0;width:70vw;border:0;background:transparent;opacity:0;pointer-events:none}
body.is-menu-open .site-plane{transform:rotateY(var(--site-angle));filter:brightness(.82) saturate(.88);box-shadow:42px 0 90px rgba(0,0,0,.38)}
body.is-menu-open .menu-plane{visibility:visible;pointer-events:auto;transform:rotateY(var(--menu-angle));transition:transform .92s var(--ease),visibility 0s}
body.is-menu-open .shutter-backdrop{pointer-events:auto}
.site-plane::after{content:"";position:fixed;z-index:999;inset:0 0 0 auto;width:1px;background:rgba(255,255,255,.35);opacity:0;pointer-events:none;transition:opacity .4s ease}
body.is-menu-open .site-plane::after{opacity:1}

#top {background: url(../imgs/graphics/main.jpg) no-repeat; background-size: cover;}

.menu-plane__top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.menu-plane__kicker{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.42)}.menu-plane__top h2{margin-top:12px;font-size:clamp(30px,3vw,46px)}.menu-plane__close{width:50px;height:50px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:30px;line-height:1}
.menu-plane__nav{display:grid;margin-top:clamp(28px,5vh,64px)}.menu-plane__nav a{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:clamp(16px,2.1vh,25px) 0;border-bottom:1px solid rgba(255,255,255,.1);transition:transform .3s var(--ease),color .3s ease}.menu-plane__nav a:hover{transform:translateX(7px);color:var(--accent)}.menu-plane__nav span{font-size:clamp(21px,2vw,31px);font-weight:850;letter-spacing:-.04em}.menu-plane__nav b{font-size:11px;letter-spacing:.15em;color:rgba(255,255,255,.35)}
.menu-plane__footer{margin-top:auto;padding-top:28px;display:grid;gap:20px;color:rgba(255,255,255,.62)}.menu-plane__contacts{display:grid;gap:5px}.menu-plane__contacts span{margin-bottom:6px;font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.35)}.menu-plane__contacts a{font-size:17px;font-weight:800}.menu-plane__footer p{font-size:14px}

.eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.72)}.eyebrow span{width:34px;height:2px;border-radius:99px;background:var(--accent)}.eyebrow--dark{color:#5d6570}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 26px;border:1px solid transparent;border-radius:999px;font-weight:800;letter-spacing:-.02em;transition:transform .3s var(--ease),background .3s ease,border-color .3s ease,box-shadow .3s ease;cursor:pointer}.button:hover{transform:translateY(-2px)}.button--primary{background:var(--accent);color:#111;box-shadow:0 16px 38px rgba(255,212,0,.2)}.button--glass{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.25);backdrop-filter:blur(14px)}.button--dark{background:#16191e;color:#fff}.button--light{background:#fff;color:#111}.button--outline-light{color:#fff;border-color:rgba(255,255,255,.28)}.button--full{width:100%}.text-link{display:inline-flex;align-items:center;gap:18px;padding-bottom:5px;border-bottom:1px solid currentColor;font-weight:800}.text-link--light{color:#fff}

.site-header{position:fixed;z-index:40;top:0;left:0;right:0;padding:18px 0;transition:padding .3s ease}.right-side-block{display: flex;justify-content: space-between;}.site-header.is-scrolled{padding:11px 0}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:14px}.brand__mark{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.12)}.brand__mark i{width:29px;height:29px;border-radius:50%;border:7px solid #8e9197;border-right-color:#d8d9dc;border-bottom-color:#d8d9dc;transform:rotate(42deg)}.brand__name{font-size:clamp(20px,1.8vw,28px);font-weight:900;color:#0e1115;letter-spacing:-.04em}
.site-nav{display:flex;align-items:center;gap:4px;padding:6px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);box-shadow:0 14px 42px rgba(0,0,0,.1)}.site-nav a{position:relative;display:flex;align-items:center;min-height:42px;padding:0 15px;border-radius:999px;font-size:15px;font-weight:750;color:#2c333b;transition:background .25s ease,transform .25s var(--ease)}.site-nav a:hover,.site-nav a.is-active{background:rgba(255,212,0,.19);transform:translateY(-1px)}.site-nav a.is-active::after{content:"";position:absolute;left:15px;right:15px;bottom:7px;height:2px;border-radius:99px;background:var(--accent)}
.site-header__actions{display:flex;align-items:center;gap:12px}.header-phone{display:flex;flex-direction:column;justify-content:center;min-height:54px;padding:0 16px;border-radius:18px;background:rgba(255,255,255,.82);backdrop-filter:blur(18px);box-shadow:0 14px 38px rgba(0,0,0,.09)}.header-phone span{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#777f88}.header-phone b{font-size:17px}.menu-toggle{width:56px;height:56px;border:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:rgba(255,255,255,.92);box-shadow:0 14px 38px rgba(0,0,0,.12)}.menu-toggle span{width:22px;height:2px;border-radius:99px;background:#181c21;transition:transform .3s var(--ease),opacity .2s ease}.site-header--solid{background:rgba(255,255,255,.9);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(0,0,0,.06)}

.site-rules {display: flex; justify-content: space-between;}.site-rules i {position: relative; margin: 0px 15px;}.site-rules i::before{content:"";position: absolute;height: 4px;width:4px;border-radius: 50%;background:var(--accent);top: 6px;left: -2px;}
.faq-item__question i::before, .faq-item__question i::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 14px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transform: translate(-50%, -50%);
    transform-origin: center;
}
.faq-item__question i::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.hero{min-height:100vh;padding-top:145px;padding-bottom:38px;color:#fff;background:#111}.hero__media,.hero__shade{position:absolute;inset:0}.hero__media{transform:scale(1.025);transition:transform .2s linear}.hero__shade{background:linear-gradient(90deg,rgba(7,10,14,.74) 0%,rgba(7,10,14,.35) 42%,rgba(7,10,14,.08) 72%),linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.5))}.hero__inner,.hero__bottom{position:relative;z-index:2}.hero__inner{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);align-items:center;gap:48px}.hero__content{max-width:930px}.hero__content h1{margin-top:24px}.hero__content em{font-style:normal;color:var(--accent)}.hero__lead{max-width:760px;margin-top:28px;font-size:clamp(20px,1.8vw,28px);line-height:1.45;color:rgba(255,255,255,.75)}.hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.hero__trust{display:flex;flex-wrap:wrap;gap:18px 26px;margin-top:34px;font-size:13px;color:rgba(255,255,255,.64)}.hero__trust span::before{content:"•";margin-right:8px;color:var(--accent)}.hero__side{justify-self:end;width:min(100%,360px)}.hero-card{padding:30px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);background:rgba(20,22,26,.48);backdrop-filter:blur(18px);box-shadow:0 30px 80px rgba(0,0,0,.25)}.hero-card__label{display:block;margin-bottom:28px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.52)}.hero-card__phone{display:block;font-size:clamp(23px,2vw,28px);font-weight:850}.hero-card__phone--small{margin-top:8px;font-size:18px;color:rgba(255,255,255,.74)}.hero-card__divider{height:1px;background:rgba(255,255,255,.14);margin:26px 0}.hero-card p{color:rgba(255,255,255,.72)}.hero-card__link{display:flex;justify-content:space-between;margin-top:26px;font-weight:800;color:var(--accent)}.hero__bottom{margin-top:52px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.metric-strip{display:flex;width:min(900px,78%);border-top:1px solid rgba(255,255,255,.2)}.metric{flex:1;display:flex;gap:15px;padding:20px 20px 0 0}.metric+.metric{padding-left:20px;border-left:1px solid rgba(255,255,255,.14)}.metric strong{font-size:27px;color:var(--accent)}.metric span{font-size:12px;line-height:1.45;color:rgba(255,255,255,.58)}.scroll-hint{display:inline-flex;align-items:center;gap:10px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.58)}.scroll-hint span{width:21px;height:34px;border:1px solid rgba(255,255,255,.34);border-radius:20px;position:relative}.scroll-hint span::after{content:"";position:absolute;width:4px;height:7px;left:50%;top:7px;transform:translateX(-50%);border-radius:8px;background:var(--accent);animation:scrollDot 1.7s ease-in-out infinite}@keyframes scrollDot{50%{transform:translate(-50%,10px);opacity:.25}}

.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:60px}.section-heading>p{max-width:520px;color:var(--muted);font-size:17px}.section-heading--dark>p{color:rgba(255,255,255,.58)}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.feature-card{min-height:315px;padding:28px;display:flex;flex-direction:column;border-radius:var(--radius);background:#fff;border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s ease}.feature-card:hover{transform:translateY(-7px);box-shadow:0 22px 56px rgba(0,0,0,.09)}.feature-card__index{align-self:flex-end;font-size:11px;letter-spacing:.14em;color:#9ea4aa}.feature-card__icon{margin:auto 0 42px;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:27px;background:#f0f1ed}.feature-card h3{margin-bottom:12px;font-size:27px}.feature-card p{color:var(--muted)}.feature-card--accent{background:var(--accent)}.feature-card--accent p{color:rgba(23,25,29,.72)}.feature-card--accent a{margin-top:22px;display:flex;justify-content:space-between;font-weight:850}

.products{overflow:hidden}.product-tabs{display:inline-flex;padding:5px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}.product-tabs__button{height:44px;line-height:44px;padding:0 20px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.58);font-weight:750}.product-tabs__button.is-active{background:var(--accent);color:#111}.product-panel{display:none}.product-panel.is-active{display:block}.product-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.product-card{position:relative;min-height:280px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:var(--radius);border:1px solid rgba(255,255,255,.1);background:#202328;transition:transform .35s var(--ease),border-color .35s ease}.product-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,16,21,.12),rgba(13,16,21,.83))}.product-card>*{position:relative;z-index:1}.product-card--concrete{background-image:linear-gradient(180deg,rgba(13,16,21,.02),rgba(13,16,21,.2)),url('../imgs/graphics/concrete.jpg');background-size:cover;background-position:center}.product-card--mortar{background-image:linear-gradient(180deg,rgba(13,16,21,.02),rgba(13,16,21,.2)),url('../imgs/graphics/concrete-mix.jpg');background-size:cover;background-position:center}.product-card:hover{transform:translateY(-6px);border-color:rgba(255,212,0,.4)}.product-card__class{position:absolute;left:24px;top:24px;font-size:13px;color:rgba(255,255,255,.55)}.product-card strong{font-size:clamp(55px,5vw,86px);line-height:.85}.product-card small{margin-top:15px;color:rgba(255,255,255,.68);font-size:12px}.product-card i{position:absolute;right:22px;bottom:22px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.09);font-style:normal}.product-card--featured{grid-column:span 2}.product-card__badge{position:absolute;right:20px;top:20px;padding:7px 10px;border-radius:999px;background:var(--accent);color:#111;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.products__footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:34px;margin-top:28px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.58)}

.delivery{background:#e9e9e4;overflow:hidden}.delivery__grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:8vw}.delivery__content p,.calculator__intro p{max-width:620px;margin:28px 0 0;font-size:18px;color:var(--muted)}.delivery__facts{display:flex;gap:56px;margin:40px 0 34px}.delivery__facts div{display:grid;gap:6px}.delivery__facts strong{font-size:36px}.delivery-card{position:relative;min-height:390px;padding:34px;border-radius:34px;background:radial-gradient(circle at 20% 20%,rgba(255,212,0,.18),transparent 30%),#171b21;color:#fff;box-shadow:0 35px 90px rgba(0,0,0,.18)}.delivery-card__route{position:relative;height:120px}.delivery-card__line{position:absolute;left:36px;right:36px;top:21px;height:4px;background:linear-gradient(90deg,var(--accent),rgba(255,255,255,.34));border-radius:99px}.delivery-card__dot{position:absolute;top:7px;width:30px;height:30px;border-radius:50%;border:3px solid rgba(255,255,255,.3)}.delivery-card__dot--start{left:0;background:var(--accent)}.delivery-card__dot--end{right:0;background:#fff}.delivery-card__labels{display:flex;justify-content:space-between;color:rgba(255,255,255,.7);font-size:13px}.delivery-card__truck{  position:absolute;
  z-index:4;
  left:50%;
  top:-26px;
  width:64px;
  height:46px;
  transform:translateX(-50%);font-size:72px;color:var(--accent)}.delivery-card__caption{position:absolute;left:34px;bottom:34px;font-size:32px;font-weight:850;line-height:1}.delivery-card__caption small{display:block;margin-top:10px;font-size:15px;font-weight:500;color:rgba(255,255,255,.62)}

.delivery-service{background:#f4f5f3}.delivery-service__layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:16px;align-items:start}.delivery-service__map-card,.delivery-order{padding:22px;border-radius:30px;background:#fff;border:1px solid rgba(23,25,29,.07);box-shadow:0 18px 45px rgba(23,25,29,.06)}.delivery-service__toolbar{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.route-status{margin:12px 0;padding:12px 14px;border-radius:14px;background:#f2f3f1;color:#66707a;font-size:13px}
.map-frame{border-radius:22px;overflow:hidden;background:#dfe4e8}
.map-frame.delivery{height: 480px;}
.delivery-map{height:calc(100% + 30px) !important;overflow:hidden;background:#dfe4e8}.delivery-order{position:sticky;top:96px}.delivery-order__number{display:block;margin-bottom:16px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:#959ba2}.delivery-order__head p{margin-top:12px;color:var(--muted);font-size:14px}.delivery-order__summary{display:grid;gap:0;margin:22px 0;border-top:1px solid var(--line)}.delivery-order__summary div{display:grid;grid-template-columns:105px 1fr;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.delivery-order__summary span{color:#8b9299}.delivery-order__summary strong{text-align:right;word-break:break-word}.delivery-order__form{display:grid;gap:13px}.form-status,.quick-form__status{font-size:13px;color:#68717a;min-height:18px}
.field{display:grid;gap:8px}.field span{font-size:12px;font-weight:750;color:#636c75}.field input,.field select{width:100%;height:54px;padding:0 15px;border:1px solid #d8dce0;border-radius:16px;background:#fff;color:#181c20;outline:none}.field input:focus,.field select:focus{border-color:#aab0b6;box-shadow:0 0 0 4px rgba(23,25,29,.06)}.field--wide{grid-column:1/-1}

.calculator{background:#fff}.calculator__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}.calculator__intro .text-link{margin-top:26px}.quick-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:30px;border-radius:30px;background:#f3f4f1;border:1px solid var(--line)}.button--form{grid-column:1/-1}.quick-form__status{grid-column:1/-1}
.story{background:#12161c;color:#fff}.story__card{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px;border-radius:34px;overflow:hidden;background:#1a1e24;box-shadow:0 34px 90px rgba(0,0,0,.2)}.story__media{background:linear-gradient(90deg,rgba(0,0,0,.02),rgba(0,0,0,.4)),url('../imgs/graphics/bg-3.jpg') center/cover no-repeat}.story__content{padding:clamp(36px,5vw,70px);display:flex;flex-direction:column;justify-content:center}.story__content p{margin:24px 0 30px;color:rgba(255,255,255,.7);font-size:18px}.story__links{display:flex;gap:28px}
.news-card{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:28px;padding:28px 32px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 38px rgba(0,0,0,.05);transition:transform .35s var(--ease)}.news-card:hover{transform:translateY(-5px)}.news-card__date strong{display:block;font-size:56px;line-height:.9}.news-card__date span{font-size:12px;color:#6f767d}.news-card h3{font-size:clamp(25px,2.5vw,38px)}.news-card__arrow{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--accent)}
.order{background:url(../imgs/pages/main/beton.jpg) repeat;color:#fff}.order__card{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px;border-radius:34px;background:radial-gradient(circle at 88% 10%,rgba(255,212,0,.17),transparent 30%),#1a1e24}.order__actions{display:flex;gap:12px;flex-wrap:wrap}
.site-footer{padding:58px 0 28px;background:#080b0f;color:rgba(255,255,255,.7)}
.site-footer .brand__name{color:#fff}
.site-footer__grid{display:grid;grid-template-columns:1.35fr .82fr .9fr .8fr .9fr;gap:clamp(26px,3vw,52px);align-items:start}
.site-footer__brand{min-width:0}
.site-footer__copy{max-width:320px;margin-top:16px}
.site-footer__label,.site-footer__col>span,.site-footer__nav>span{display:block;margin-bottom:15px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.35)}
.site-footer__nav,.site-footer__col{display:grid;align-content:start;gap:9px}
.site-footer__nav a,.site-footer__col a{width:max-content;max-width:100%;transition:color .25s ease,transform .25s var(--ease); margin-bottom: 5px;}
.site-footer__nav a:hover,.site-footer__col a:hover{color:#fff;transform:translateX(3px)}
.site-footer__col p{margin:0;color:rgba(255,255,255,.7)}
.site-footer__socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.site-footer__social{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 13px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:rgba(255,255,255,.04);transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s var(--ease)}
.site-footer__social:hover{background:rgba(255,212,0,.1);border-color:rgba(255,212,0,.42);color:#fff;transform:translateY(-2px)}
.site-footer__social>span{display:grid;place-items:center;min-width:27px;height:27px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.08);font-size:9px;font-weight:900;letter-spacing:.08em;color:#fff}
.site-footer__social strong{font-size:12px;font-weight:750}
.site-footer__social i{font-style:normal;color:var(--accent);font-size:12px}
.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);font-size:13px}
.site-footer__bottom-main{display:flex;align-items:center;gap:0;flex-wrap:wrap}
.site-footer__bottom-main>*+*{position:relative;margin-left:18px;padding-left:18px}
.site-footer__bottom-main>*+*::before{content:"";position:absolute;left:0;top:50%;width:4px;height:4px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%)}
.site-footer__author{margin-left:auto;color:rgba(255,255,255,.46);font-weight:800;letter-spacing:.04em}


.page-intro .about-us {background: url(../imgs/graphics/bg-3.jpg) no-repeat; background-size: cover;}
.page-intro .production {background: url(../imgs/graphics/bg-2.jpg) no-repeat; background-size: cover;}
.page-intro .contacts {background: url(../imgs/graphics/bg-1.jpg) no-repeat; background-size: cover;}

/* compact calculator page */
.compact-calc-hero{position:relative;min-height:470px;padding:155px 0 75px;color:#fff;background:#13171c;overflow:hidden}.compact-calc-hero__media{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,11,15,.78),rgba(8,11,15,.3))) center/cover no-repeat}.compact-calc-hero__inner{position:relative;z-index:2}.compact-calc-hero h1{margin-top:20px;font-size:clamp(52px,6.2vw,92px)}.compact-calc-hero p{max-width:700px;margin-top:20px;font-size:19px;color:rgba(255,255,255,.7)}.compact-calc-section{background:#f1f2ef}.compact-calc{margin:0 auto;padding:20px;border-radius:32px;background:#fff;border:1px solid var(--line);box-shadow:0 24px 65px rgba(0,0,0,.08)}.compact-calc__types{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding-bottom:18px;border-bottom:1px solid var(--line)}.calc-type{min-height:96px;padding:12px;border-radius:20px;display:grid;grid-template-columns:46px 1fr;align-items:center;gap:10px;background:#f6f7f5;border:1px solid transparent;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s var(--ease)}.calc-type:hover{transform:translateY(-2px)}.calc-type.is-active{background:#fff8d8;border-color:rgba(255,212,0,.55)}.calc-type input{display:none}.calc-type b{font-size:14px}.calc-type__icon{position:relative;width:46px;height:46px;border-radius:13px;background:var(--muted);border:1px solid #e4e6e7}.calc-type__icon img {width: 100%; height: 100%; display: block;}.compact-calc__body{display:grid;grid-template-columns:1fr 310px;gap:16px;padding-top:18px}.compact-calc__fields{padding:8px}.calc-fields{display:none;grid-template-columns:repeat(3,1fr);gap:12px}.calc-fields.is-active{display:grid}.compact-calc__result{min-height:236px;padding:24px;border-radius:24px;background:#171b21;color:#fff;display:flex;flex-direction:column}.compact-calc__result>span{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.42)}.compact-calc__result strong{margin-top:18px;font-size:48px;line-height:1;color:var(--accent);letter-spacing:-.06em}.compact-calc__result strong small{font-size:20px}.compact-calc__result p{margin:12px 0 20px;font-size:13px;color:rgba(255,255,255,.62)}.compact-calc__result .button{margin-top:auto}.compact-calc__contact{display:grid;grid-template-columns:1fr 320px auto;align-items:end;gap:12px;margin-top:18px;padding:18px;border-radius:22px;background:#f4f5f2}.compact-calc__contact p{align-self:center;font-weight:750}

#foundationType-img {width: 100%; display: block; margin-bottom: 20px;}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s var(--ease)}.reveal--delay{transition-delay:.12s}.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1280px){:root{--menu-width:38vw;--site-angle:28deg;--menu-angle:-14deg}.site-nav a{padding:0 12px}.product-grid{grid-template-columns:repeat(4,1fr)}.product-card--featured{grid-column:span 2}.delivery-service__layout{grid-template-columns:1.15fr .85fr}}
@media(max-width:1100px){.site-nav{display:none}.hero__inner,.delivery__grid,.calculator__grid,.story__card,.section-heading,.delivery-service__layout{grid-template-columns:1fr}.section-heading{align-items:flex-start}.hero__side{justify-self:start}.metric-strip{width:100%}.feature-grid{grid-template-columns:repeat(2,1fr)}.product-grid,.product-grid--compact{grid-template-columns:repeat(3,1fr)}.delivery-order{position:static}.site-footer__grid{grid-template-columns:repeat(2,1fr)}.compact-calc__types{grid-template-columns:repeat(3,1fr)}.compact-calc__body{grid-template-columns:1fr}.compact-calc__contact{grid-template-columns:1fr 1fr}.compact-calc__contact p{grid-column:1/-1}:root{--menu-width:44vw;--site-angle:28deg;--menu-angle:-13deg}}
@media(max-width:760px){:root{--container:min(100vw - 28px,100vw - 28px)}.shutter-scene{perspective:none}.menu-plane{z-index:60;width:100%;transform:none;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}.menu-plane__surface{padding:28px}.menu-plane__nav a{padding:15px 0}.menu-plane__nav span{font-size:22px}.menu-plane__footer{margin-top:24px}.shutter-backdrop{z-index:55;width:100%}body.is-menu-open .site-plane{transform:translateX(-5%) scale(.97);filter:brightness(.42)}body.is-menu-open .menu-plane{opacity:1;visibility:visible;transform:none;transition:opacity .35s ease}.header-phone{display:none}.brand__mark{width:46px;height:46px}.brand__mark img {width: 100%; height: 100%; display: block;}.brand__name{font-size:20px}.menu-toggle{width:50px;height:50px}.hero{min-height:auto;padding-top:125px}.hero__bottom{flex-direction:column;align-items:flex-start}.metric-strip{display:grid;grid-template-columns:1fr}.metric+.metric{padding-left:0;border-left:0}.feature-grid,.product-grid,.product-grid--compact,.calc-fields{grid-template-columns:1fr}.product-card--featured{grid-column:span 1}.products__footer,.order__card,.site-footer__bottom{flex-direction:column;align-items:flex-start}.delivery-service__toolbar{grid-template-columns:1fr}.quick-form{grid-template-columns:1fr}.field--wide,.button--form,.quick-form__status{grid-column:1}.news-card{grid-template-columns:1fr}.story__links{flex-direction:column;align-items:flex-start}.site-footer__grid{grid-template-columns:1fr}.compact-calc-hero{padding-top:135px}.compact-calc__types{grid-template-columns:repeat(2,1fr)}.compact-calc__contact{grid-template-columns:1fr}.compact-calc__contact p{grid-column:auto}.button{width:100%}.hero__actions{display:grid}.order__actions{width:100%}}
@media(max-width:470px){.section{padding:72px 0}.feature-card,.product-card,.delivery-card,.delivery-service__map-card,.delivery-order,.quick-form,.story__card,.order__card,.compact-calc{border-radius:22px}.compact-calc__types{grid-template-columns:1fr}.calc-type{min-height:74px}.hero-card{padding:24px}}

/* ==========================================================================\n   V4 — fixed full-width header + first-concept hero + product hover + delivery visual\n   ========================================================================== */
:root{
  --header-height:84px;
}

/* Header is no longer a part of either 3D shutter. It stays flat and fixed. */
.site-header,
.site-header.site-header--solid{
  position:fixed;
  z-index:120;
  inset:0 0 auto 0;
  height:var(--header-height);
  padding:0;
  display:flex;
  align-items:center;
  background:rgba(255,255,255,.96);
  border-bottom:1px solid rgba(23,25,29,.075);
  box-shadow:0 8px 30px rgba(10,14,20,.055);
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
  transition:background .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.site-header.is-scrolled{
  padding:0;
  background:rgba(255,255,255,.985);
  border-bottom-color:rgba(23,25,29,.1);
  box-shadow:0 12px 34px rgba(10,14,20,.08);
}
.site-header__inner{height:100%;}

/* Restore the clean navigation language from the original first concept. */
.site-nav{
  display:flex;
  align-items:center;
  gap:clamp(22px,2.2vw,38px);
  padding:0;
  min-height:var(--header-height);
  border:0;
  border-radius:0;
  background:transparent;
  backdrop-filter:none;
  box-shadow:none;
}
.site-nav a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:var(--header-height);
  padding:0;
  border-radius:0;
  color:#17191d;
  font-size:15px;
  font-weight:700;
  background:transparent!important;
  transform:none!important;
}
.site-nav a::before{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:0;
  height:3px;
  background:var(--accent);
  transition:left .35s var(--ease),right .35s var(--ease);
}
.site-nav a:hover::before,
.site-nav a.is-active::before{left:0;right:0;}
.site-nav a.is-active::after{display:none;}
.site-header__actions{margin-left:18px;}
.menu-toggle{
  width:52px;
  height:52px;
  background:#f4f5f3;
  border:1px solid rgba(23,25,29,.08);
  box-shadow:none;
  transition:background .3s ease,transform .3s var(--ease),border-color .3s ease;
}
.menu-toggle span:nth-child(2) {width: 16px;}
body.is-menu-open .menu-toggle{background:var(--accent);border-color:var(--accent);}
body.is-menu-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
body.is-menu-open .menu-toggle span:nth-child(2){opacity:0}
body.is-menu-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Both shutters begin below the permanent header. */
.site-plane{padding-top:var(--header-height);}
.menu-plane{
  top:var(--header-height);
  height:calc(100vh - var(--header-height));
}
.shutter-backdrop{
  top:var(--header-height);
}
.menu-plane__surface{
  padding-top:clamp(28px,3vw,48px);
}

/* Bring the opening screen back to the proportions of the original proposal. */
.hero{
  min-height:calc(100vh - var(--header-height));
  padding-top:clamp(68px,7vh,96px);
  padding-bottom:34px;
}
.hero__media{
  background-position:center center;
}
.hero__shade{
  background:
    linear-gradient(90deg,rgba(7,10,14,.78) 0%,rgba(7,10,14,.42) 38%,rgba(7,10,14,.08) 73%),
    linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.14) 50%,rgba(0,0,0,.62) 100%);
}
.hero__inner{
  grid-template-columns:minmax(0,1.22fr) minmax(330px,.78fr);
  gap:56px;
}
.hero__content{max-width:900px;}
.hero__content h1{
  margin-top:26px;
  max-width:700px;
  font-size:clamp(62px,7.15vw,82px);
}
.hero__lead{
  max-width:720px;
  margin-top:26px;
  font-size:clamp(19px,1.6vw,26px);
}
.hero__side{width:min(100%,350px);}
.hero-card{
  padding:30px;
  background:linear-gradient(180deg,rgba(65,66,68,.76),rgba(12,15,19,.78));
  border-color:rgba(255,255,255,.2);
}
.hero__bottom{margin-top:48px;}

/* Keep image underlays, but restore the lively hover from the first version. */
.product-card{
  transition:
    transform .35s var(--ease),
    border-color .35s ease,
    box-shadow .35s ease,
    background-size .55s var(--ease);
  background-size:cover;
}
.product-card:hover{
  transform:translateY(-6px);
  border-color:rgba(255,212,0,.9);
  box-shadow:0 0 0 1px rgba(255,212,0,.15),0 22px 46px rgba(0,0,0,.22);
}
.product-card i{
  transition:background .28s ease,color .28s ease,transform .35s var(--ease),box-shadow .3s ease;
}
.product-card:hover i{
  background:var(--accent);
  color:#111;
  transform:rotate(-45deg);
  box-shadow:0 9px 24px rgba(255,212,0,.24);
}

/* Delivery illustration — restored centered route/radar composition. */
.delivery__visual{justify-self:end;width:100%;max-width:650px;}
.delivery-card{
  position:relative;
  min-height:430px;
  width:100%;
  padding:0;
  overflow:hidden;
  border-radius:34px;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,212,0,.095),transparent 25%),
    #171b21;
  color:#fff;
  box-shadow:0 35px 90px rgba(0,0,0,.18);
}
.delivery-card::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background-image:radial-gradient(rgba(255,255,255,.34) .8px,transparent .8px);
  background-size:18px 18px;
  mask-image:linear-gradient(90deg,transparent 1%,#000 20%,#000 80%,transparent 99%);
  -webkit-mask-image:linear-gradient(90deg,transparent 1%,#000 20%,#000 80%,transparent 99%);
}
.delivery-card__radar{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.delivery-card__radar span{
  position:absolute;
  left:50%;
  top:48%;
  border:1px solid rgba(255,255,255,.11);
  border-radius:50%;
  transform:translate(-50%,-50%);
}
.delivery-card__radar span:first-child{width:62%;aspect-ratio:1;}
.delivery-card__radar span:last-child{width:82%;aspect-ratio:1;opacity:.34;}
.delivery-card__route{
  position:absolute;
  left:12%;
  right:12%;
  top:50%;
  height:64px;
  transform:translateY(-50%);
}
.delivery-card__line{
  position:absolute;
  z-index:1;
  left:8px;
  right:8px;
  top:14px;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--accent) 0%,rgba(255,212,0,.78) 44%,rgba(255,255,255,.37) 100%);
}
.delivery-card__line::after{
  content:"";
  position:absolute;
  inset:-5px 0 auto;
  height:12px;
  background:repeating-linear-gradient(90deg,transparent 0 10px,rgba(255,212,0,.18) 10px 11px);
  opacity:.7;
}
.delivery-card__dot{
  position:absolute;
  z-index:3;
  top:4px;
  width:21px;
  height:21px;
  border-radius:50%;
}
.delivery-card__dot--start{
  left:0;
  background:#171b21;
  border:3px solid var(--accent);
  box-shadow:0 0 0 2px rgba(255,212,0,.08);
}
.delivery-card__dot--end{
  right:0;
  background:#171b21;
  border:3px solid rgba(255,255,255,.95);
}

.delivery-card__labels{
  position:absolute;
  z-index:3;
  left:12%;
  right:12%;
  top:calc(50% + 28px);
  display:flex;
  justify-content:space-between;
  color:rgba(255,255,255,.58);
  font-size:12px;
  font-weight:650;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.delivery-card__caption{
  position:absolute;
  z-index:3;
  left:34px;
  bottom:30px;
  font-size:31px;
  font-weight:850;
  line-height:1;
}
.delivery-card__caption small{
  display:block;
  margin-top:10px;
  font-size:14px;
  font-weight:600;
  color:rgba(255,255,255,.58);
}

@media(max-width:1280px){
  .site-nav{gap:20px;}
  .site-nav a{padding:0;}
}
@media(max-width:1100px){
  .site-nav{display:none;}
  .hero{padding-top:64px;}
  .delivery__visual{justify-self:start;max-width:none;}
}
@media(max-width:760px){
  :root{--header-height:72px;}
  .site-header,.site-header.site-header--solid{height:var(--header-height);}
  .site-plane{padding-top:var(--header-height);}
  .menu-plane{top:var(--header-height);height:calc(100vh - var(--header-height));}
  .shutter-backdrop{top:var(--header-height);}
  .hero{padding-top:54px;}
  .delivery-card{min-height:340px;}
  .delivery-card__route{left:8%;right:8%;}
  .delivery-card__labels{left:8%;right:8%;}
  .delivery-card__caption{left:24px;bottom:24px;font-size:26px;}
}

/* ==========================================================================
   V5 — viewport-fixed header + vertically stable shutters
   --------------------------------------------------------------------------
   Ключевой фикс:
   1) .site-header теперь находится ВНЕ .shutter-scene, поэтому perspective
      больше не превращает position:fixed в позиционирование относительно сцены.
   2) Точка перспективы по Y закреплена на нижней линии header. Благодаря этому
      видимая верхняя кромка обеих створок остается на месте, а меню не «ныряет»
      вниз при rotateY.
   3) Убран технический padding-top у .site-plane, который в открытом состоянии
      превращался в заметную белую диагональную полосу.
   ========================================================================== */
.shutter-scene{
  perspective-origin:50% var(--header-height);
}

.site-plane{
  padding-top:0 !important;
  transform-origin:0 var(--header-height);
}

.menu-plane{
  top:var(--header-height);
  height:calc(100vh - var(--header-height));
  height:calc(100dvh - var(--header-height));
  transform-origin:100% 0;
}

.shutter-backdrop{
  top:var(--header-height);
}

.site-header,
.site-header.site-header--solid{
  position:fixed !important;
  top:0 !important;
  right:0 !important;
  bottom:auto !important;
  left:0 !important;
  z-index:200;
  transform:none !important;
  will-change:auto;
}

/* Header всегда остается кликабельным над обеими 3D-плоскостями. */
.site-header__inner{
  position:relative;
  z-index:1;
}

/* На планшете/телефоне 3D отключается, но геометрия под фиксированной шапкой
   остается такой же и не создает скачка при открытии меню. */
@media(max-width:760px){
  .shutter-scene{perspective-origin:50% var(--header-height);}
  .site-plane{padding-top:0 !important;transform-origin:0 var(--header-height);}
  .menu-plane{top:var(--header-height);height:calc(100dvh - var(--header-height));transform-origin:100% 0;}
  .shutter-backdrop{top:var(--header-height);}
}

/* ==========================================================================\n   V6 — viewport shutter stage + preserved section on menu open\n   --------------------------------------------------------------------------\n   Важная архитектурная правка:\n   1) window/body больше не являются скроллером страницы; скролл живет внутри\n      .site-plane. Поэтому при раскрытии створок текущий раздел остается ровно\n      там, где был — мы вращаем viewport-плоскость, а не всю длинную страницу.\n   2) .shutter-scene занимает только область ПОД фиксированным header. Это дает\n      нужный верхний отступ без белой диагональной полосы внутри 3D-плоскости.\n   3) Внутренняя кнопка × у меню удалена: управляет только toggle в header.\n   ========================================================================== */
:root{
  --site-open-shift:-16vw;
}

html,
body{
  height:100%;
  overflow:hidden;
}

/* Fixed header is the frame; the entire 3D scene lives below it. */
.shutter-scene{
  position:fixed !important;
  z-index:1;
  top:var(--header-height) !important;
  right:0;
  bottom:0;
  left:0;
  width:100%;
  height:auto;
  min-height:0;
  overflow:hidden;
  perspective:var(--shutter-perspective);
  perspective-origin:50% 50% !important;
  transform-style:preserve-3d;
  background:#080c11;
}

/* The site itself becomes the scrollable shutter. */
.site-plane,
.site-plane.site-scroll{
  position:absolute;
  z-index:3;
  inset:0;
  width:100%;
  height:100%;
  min-height:0;
  padding-top:0 !important;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  background:#fff;
  transform-origin:0 50% !important;
  transform:translate3d(0,0,0) rotateY(0deg);
  transform-style:preserve-3d;
  backface-visibility:hidden;
  will-change:transform,filter;
  transition:transform .92s var(--ease),filter .72s ease,box-shadow .92s var(--ease);
}

/* Menu is a second viewport-sized shutter, not a fixed element in a tall page. */
.menu-plane{
  position:absolute !important;
  z-index:2;
  top:0 !important;
  right:0;
  bottom:0;
  left:auto;
  width:var(--menu-width);
  height:100% !important;
  min-height:0;
  overflow:hidden;
  transform-origin:100% 50% !important;
  transform:translate3d(0,0,0) rotateY(0deg);
}

.menu-plane__surface{
  inset:0;
  height:100%;
  overflow-y:auto;
  padding-top:clamp(38px,4.2vh,58px);
}

/* There is intentionally no close button inside the right shutter. */
.menu-plane__top{
  justify-content:flex-start;
}
.menu-plane__close{
  display:none !important;
}

/* Keep the same perspective/angles; only move the site further left so the
   menu shutter becomes fully visible instead of being visually overlapped. */
body.is-menu-open .site-plane{
  transform:translate3d(var(--site-open-shift),0,0) rotateY(var(--site-angle));
  filter:brightness(.82) saturate(.88);
  box-shadow:42px 0 90px rgba(0,0,0,.38);
}
body.is-menu-open .menu-plane{
  transform:translate3d(0,0,0) rotateY(var(--menu-angle));
}

/* Backdrop now belongs to the viewport scene too. */
.shutter-backdrop{
  position:absolute !important;
  z-index:4;
  top:0 !important;
  bottom:0;
  left:0;
  width:calc(100% - var(--menu-width));
  height:auto;
}

/* The header must remain completely independent of all 3D transforms. */
.site-header,
.site-header.site-header--solid{
  position:fixed !important;
  z-index:200 !important;
  top:0 !important;
  right:0 !important;
  bottom:auto !important;
  left:0 !important;
  transform:none !important;
}

/* Fixed header offset: the scene begins below it, so content cannot slide
   underneath the header even at scrollTop = 0. */
.site-plane > main{
  position:relative;
  min-height:100%;
}

/* Footer/anchors remain part of the internal scroller. */
.site-plane > footer{
  position:relative;
}

@media(max-width:1180px){
   :root{--site-open-shift:-14vw;}
}

@media(max-width:760px){
  :root{--site-open-shift:0vw;}
  .shutter-scene{
    top:var(--header-height) !important;
    perspective-origin:50% 50% !important;
  }
  .site-plane,
  .site-plane.site-scroll{
    transform-origin:0 50% !important;
  }
  .menu-plane{
    top:0 !important;
    height:100% !important;
    width:min(88vw,430px);
    transform-origin:100% 50% !important;
  }
  body.is-menu-open .site-plane{
    transform:translate3d(-8vw,0,0) rotateY(9deg);
  }
  body.is-menu-open .menu-plane{
    transform:translate3d(0,0,0) rotateY(-7deg);
  }
  .shutter-backdrop{
    top:0 !important;
    width:100%;
  }
}

/* ==========================================================================
   V7 — shared components for internal pages
   Only new layouts/components live below. Existing V6 visual system and
   shutter mechanics remain untouched.
   ========================================================================== */

/* Generic inner-page hero */
.page-intro{
  position:relative;
  min-height:clamp(470px,58vh,650px);
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:#11151b;
}
.page-intro--dark{
  background:
    radial-gradient(circle at 78% 18%,rgba(255,212,0,.11),transparent 24%),
    linear-gradient(145deg,#11151b,#0b1016 72%);
}
.page-intro__media,.page-intro__shade{position:absolute;inset:0}
.page-intro__media{background-position:center;background-size:cover}
.page-intro__shade{
  background:
    linear-gradient(90deg,rgba(8,11,15,.84) 0%,rgba(8,11,15,.56) 48%,rgba(8,11,15,.25) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.46));
}
.page-intro__inner{position:relative;z-index:1;padding:clamp(70px,9vh,110px) 0}
.page-intro__inner h1{max-width:1040px;margin-top:22px;}
.page-intro__inner>p{max-width:780px;margin-top:26px;font-size:clamp(18px,1.7vw,25px);color:rgba(255,255,255,.72)}
.page-intro__stats{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}
.page-intro__stats>div{min-width:160px;padding:18px 20px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}
.page-intro__stats strong{display:block;font-size:30px;color:var(--accent)}
.page-intro__stats span{display:block;margin-top:6px;font-size:12px;color:rgba(255,255,255,.58)}

/* Reusable editorial split */
.content-split{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(40px,7vw,110px);align-items:start}
.content-split h2{margin-top:18px}
.prose-card{padding:clamp(26px,3vw,42px);border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:0 22px 60px rgba(16,20,26,.07)}
.prose-card p{font-size:17px;color:var(--muted)}
.prose-card p+p{margin-top:18px}
.prose-card .button-row{margin-top:28px}
.button-row{display:flex;flex-wrap:wrap;gap:12px}
.button--soft{background:#e7e9e7;color:#17191d}

/* Shared horizontal rail: fleet + projects */
.rail-controls{display:flex;gap:8px}
.rail-controls button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:#fff;font-size:20px;transition:background .25s ease,color .25s ease,transform .25s var(--ease)}
.rail-controls button:hover{background:var(--accent);color:#111;transform:translateY(-2px)}
.content-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 max(24px,calc((100vw - min(1380px,calc(100vw - 48px)))/2)) 22px}
.content-rail::-webkit-scrollbar{display:none}
.project-card,.fleet-card{flex:0 0 min(460px,78vw);scroll-snap-align:start;border-radius:var(--radius);overflow:hidden;background:#1d2229;border:1px solid rgba(255,255,255,.1);color:#fff}
.project-card__image,.fleet-card__image{height:300px;background-size:cover;background-position:center;transition:transform .6s var(--ease),filter .4s ease}
.project-card__body,.fleet-card__body{padding:24px}
.project-card__body span,.fleet-card__body span{font-size:11px;letter-spacing:.16em;color:rgba(255,255,255,.38)}
.project-card__body h3,.fleet-card__body h3{margin-top:18px;font-size:28px}
.fleet-card__body p{margin-top:12px;color:rgba(255,255,255,.62)}
.project-card:hover .project-card__image,.fleet-card:hover .fleet-card__image{transform:scale(1.025);filter:saturate(1.08)}
.content-rail--fleet .fleet-card{flex-basis:min(390px,78vw)}
.projects-section{overflow:hidden}

/* FAQ shared between homepage and About */
.faq-list{max-width:1060px;margin-left:auto}
.faq-item{border-top:1px solid rgba(23,25,29,.13)}
.faq-item:last-child{border-bottom:1px solid rgba(23,25,29,.13)}
.faq-item__question{width:100%;padding:24px 0;border:0;background:transparent;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px;text-align:left;color:var(--ink)}
.faq-item__question span{font-size:clamp(18px,2vw,25px);font-weight:800;letter-spacing:-.035em}
.faq-item__question i{position: relative;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid var(--line);font-style:normal;font-size:22px;transition:transform .35s var(--ease),background .25s ease}
.faq-item.is-open .faq-item__question i{transform:rotate(45deg);background:var(--accent)}
.faq-item__answer{display:none;padding:0 58px 24px 0}
.faq-item__answer p{color:var(--muted);font-size:16px}

/* Catalog page can reuse the existing product component verbatim. */
.products--catalog{padding-top:clamp(70px,7vw,110px)}
.feature-grid--three{grid-template-columns:repeat(3,1fr)}
.feature-grid--three .feature-card{min-height:280px}
.feature-grid--three .feature-card .text-link{margin-top:auto;align-self:flex-start}


/* Shared breadcrumbs for internal pages */
.breadcrumbs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:26px;font-size:12px;font-weight:700;color:rgba(23,25,29,.5)}
.breadcrumbs a{transition:color .25s ease}.breadcrumbs a:hover{color:var(--ink)}
.breadcrumbs i{width:4px;height:4px;border-radius:50%;background:var(--accent)}
.breadcrumbs--light{color:rgba(255,255,255,.58)}.breadcrumbs--light a:hover{color:#fff}

/* Product detail + interactive CSS 3D cube */
.product-detail-hero{position:relative;min-height:680px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(135deg,#f6f7f4 0%,#e7eae7 100%)}
.product-detail-hero::before{content:"";position:absolute;right:-9vw;top:-42%;width:min(60vw,840px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(23,25,29,.07);box-shadow:0 0 0 90px rgba(23,25,29,.025),0 0 0 180px rgba(23,25,29,.016)}
.product-detail-hero::after{content:"";position:absolute;left:-180px;bottom:-260px;width:520px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,212,0,.22),transparent 68%)}
.product-detail-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.78fr);gap:clamp(42px,6vw,90px);align-items:center;padding:clamp(70px,8vw,110px) 0}
.product-detail-hero__copy{min-width:0}
.product-detail-hero__copy .breadcrumbs{margin-bottom:30px}
.product-detail-hero__mark{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border-radius:999px;background:#17191d;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.15em}
.product-detail-hero__copy h1{max-width:850px;margin-top:18px;color:#17191d;font-size:clamp(58px,7vw,106px)}
.product-detail-hero__copy>p{max-width:720px;margin-top:24px;color:var(--muted);font-size:clamp(17px,1.5vw,21px)}
.product-detail-hero__copy .button-row{margin-top:34px}
.product-quick-specs{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.product-quick-specs>div{min-width:150px;padding:15px 17px;border:1px solid rgba(23,25,29,.1);border-radius:18px;background:rgba(255,255,255,.55);backdrop-filter:blur(8px)}
.product-quick-specs span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:#7b848d}
.product-quick-specs strong{display:block;margin-top:7px;font-size:20px;letter-spacing:-.04em}
.product-visual{position:relative;min-height:470px;display:grid;place-items:center}
.product-visual::before{content:"";position:absolute;inset:7% 2%;border-radius:34px;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.72);box-shadow:0 30px 90px rgba(18,24,30,.12);backdrop-filter:blur(10px)}
.product-photo{position:relative;z-index:1;width:min(100%,520px);aspect-ratio:1.16/1;overflow:hidden;border-radius:30px;background:#dadeda;box-shadow:0 28px 70px rgba(18,24,30,.15)}
.product-photo img{width:100%;height:100%;display:block;object-fit:cover}
/* Legacy concrete cube: texture + automatic Y rotation only */
#texnobeton-beton-cube{position:relative;z-index:1;width:min(100%,520px);margin:0 auto;user-select:none;pointer-events:none}
#texnobeton-beton-cube .cube-perspective{padding:80px;perspective:900px;-webkit-perspective:900px;-moz-perspective:900px}
#texnobeton-beton-cube .cube-preserve3d{transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d}
#texnobeton-beton-cube .sq25{width:min(100%,300px);margin:0 auto}
#texnobeton-beton-cube .cube{position:relative;margin:0;padding:0;list-style:none;width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d}
#texnobeton-beton-cube .cube>*{background:#666;background-size:100%}
#texnobeton-beton-cube .cube>*,#texnobeton-beton-cube .cube>*::after{position:absolute;left:0;top:0;margin:0;padding:0;width:100%;height:100%}
#texnobeton-beton-cube .cube>*::after{pointer-events:none;display:block;content:""}
#texnobeton-beton-cube .cube.no-shading>*::after{display:none}
#texnobeton-beton-cube .cube.solid>*,#texnobeton-beton-cube .cube.solid>*::after{backface-visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden}
#texnobeton-beton-cube .cube.textured>*{background-size:300%}
#texnobeton-beton-cube .cube>.front,#texnobeton-beton-cube .cube.faces>*:nth-child(1){transform:rotateX(90deg) translateY(50%) rotateX(-90deg);-webkit-transform:rotateX(90deg) translateY(50%) rotateX(-90deg);-moz-transform:rotateX(90deg) translateY(50%) rotateX(-90deg)}
#texnobeton-beton-cube .cube.textured>.front,#texnobeton-beton-cube .cube.textured.faces>*:nth-child(1){background-position:0 0}
#texnobeton-beton-cube .cube>.back,#texnobeton-beton-cube .cube.faces>*:nth-child(3){transform:rotateY(180deg) rotateX(90deg) translateY(50%) rotateX(-90deg);-webkit-transform:rotateY(180deg) rotateX(90deg) translateY(50%) rotateX(-90deg);-moz-transform:rotateY(180deg) rotateX(90deg) translateY(50%) rotateX(-90deg)}
#texnobeton-beton-cube .cube>.back::after,#texnobeton-beton-cube .cube.faces>*:nth-child(3)::after{background:rgba(0,0,0,.6)}
#texnobeton-beton-cube .cube.x-axis>.back,#texnobeton-beton-cube .cube.x-axis.faces>*:nth-child(3){transform:rotateX(90deg) translateY(-50%) rotateX(90deg);-webkit-transform:rotateX(90deg) translateY(-50%) rotateX(90deg);-moz-transform:rotateX(90deg) translateY(-50%) rotateX(90deg)}
#texnobeton-beton-cube .cube.textured>.back,#texnobeton-beton-cube .cube.textured.faces>*:nth-child(3){background-position:-100% 0}
#texnobeton-beton-cube .cube>.left,#texnobeton-beton-cube .cube.faces>*:nth-child(2){transform:translateX(-50%) rotateY(-90deg);-webkit-transform:translateX(-50%) rotateY(-90deg);-moz-transform:translateX(-50%) rotateY(-90deg)}
#texnobeton-beton-cube .cube>.left::after,#texnobeton-beton-cube .cube.faces>*:nth-child(2)::after{background:rgba(0,0,0,.5)}
#texnobeton-beton-cube .cube.textured>.left,#texnobeton-beton-cube .cube.textured.faces>*:nth-child(2){background-position:-200% 0}
#texnobeton-beton-cube .cube>.right,#texnobeton-beton-cube .cube.faces>*:nth-child(4){transform:translateX(50%) rotateY(90deg);-webkit-transform:translateX(50%) rotateY(90deg);-moz-transform:translateX(50%) rotateY(90deg)}
#texnobeton-beton-cube .cube>.right::after,#texnobeton-beton-cube .cube.faces>*:nth-child(4)::after{background:rgba(0,0,0,.3)}
#texnobeton-beton-cube .cube.textured>.right,#texnobeton-beton-cube .cube.textured.faces>*:nth-child(4){background-position:0 -100%}
#texnobeton-beton-cube .cube>.top,#texnobeton-beton-cube .cube.faces>*:nth-child(5){transform:translateY(-50%) rotateX(90deg);-webkit-transform:translateY(-50%) rotateX(90deg);-moz-transform:translateY(-50%) rotateX(90deg)}
#texnobeton-beton-cube .cube>.top::after,#texnobeton-beton-cube .cube.faces>*:nth-child(5)::after{background:rgba(0,0,0,.2)}
#texnobeton-beton-cube .cube.textured>.top,#texnobeton-beton-cube .cube.textured.faces>*:nth-child(5){background-position:-100% -100%}
#texnobeton-beton-cube .cube>.bottom,#texnobeton-beton-cube .cube.faces>*:nth-child(6){transform:translateY(50%) rotateX(-90deg);-webkit-transform:translateY(50%) rotateX(-90deg);-moz-transform:translateY(50%) rotateX(-90deg)}
#texnobeton-beton-cube .cube>.bottom::after,#texnobeton-beton-cube .cube.faces>*:nth-child(6)::after{background:rgba(0,0,0,.7)}
#texnobeton-beton-cube .cube.textured>.bottom,#texnobeton-beton-cube .cube.textured.faces>*:nth-child(6){background-position:-200% -100%}
#texnobeton-beton-cube .spin .cube{animation:texnobetonCubeRotateY 8s linear infinite;-webkit-animation:texnobetonCubeRotateY 8s linear infinite;-moz-animation:texnobetonCubeRotateY 8s linear infinite}
@-webkit-keyframes texnobetonCubeRotateY{from{-webkit-transform:rotateY(0);transform:rotateY(0)}to{-webkit-transform:rotateY(359.99deg);transform:rotateY(359.99deg)}}
@-moz-keyframes texnobetonCubeRotateY{from{-moz-transform:rotateY(0);transform:rotateY(0)}to{-moz-transform:rotateY(359.99deg);transform:rotateY(359.99deg)}}
@keyframes texnobetonCubeRotateY{from{transform:rotateY(0)}to{transform:rotateY(359.99deg)}}
#texnobeton-beton-cube #cube-main{width:100%;height:0;padding-top:100%}
#texnobeton-beton-cube #cube-main>*{background-image:url("../imgs/concrete-texture.jpg");background-size:cover;background-position:center}
.product-copy{color:#4f5964}.product-copy h2,.product-copy h3{margin:34px 0 16px;color:var(--ink)}.product-copy h2:first-child,.product-copy h3:first-child{margin-top:0}.product-copy p{font-size:17px}.product-copy p+p{margin-top:18px}.product-copy ul,.product-copy ol{display:grid;gap:10px;margin:20px 0;padding-left:22px;color:#4f5964}.product-copy a{font-weight:800;border-bottom:1px solid currentColor}
.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}.spec-grid>div{padding:20px;border-radius:20px;background:#f3f4f2;border:1px solid rgba(23,25,29,.05)}.spec-grid span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:#7a838d}.spec-grid strong{display:block;margin-top:8px;font-size:clamp(22px,2.2vw,30px)}
.application-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.application-item{position:relative;min-height:128px;display:flex;flex-direction:column;justify-content:space-between;padding:18px;border-radius:20px;background:#fff;border:1px solid var(--line)}.application-item::before{content:"";width:11px;height:11px;border-radius:50%;background:#c9cdd1}.application-item span{font-weight:800;line-height:1.3}.application-item b{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#8a9299}.application-item.is-available{background:#fff9dc;border-color:rgba(255,212,0,.48)}.application-item.is-available::before{background:var(--accent);box-shadow:0 0 0 5px rgba(255,212,0,.16)}.application-item.is-available b{color:#746100}.application-item.is-disabled{opacity:.52}
.product-projects{overflow:hidden}.product-projects .content-rail{padding-bottom:8px}.product-projects .project-card__body p{margin-top:12px;color:rgba(255,255,255,.6)}
.product-grid--related{grid-template-columns:repeat(4,1fr)}

/*cabinet*/
.cabinet .entrance-block {padding: 40px 20px; overflow: hidden;}
.cabinet .entrance-block h2 {margin-bottom: 20px; font-size: 20px;}
.cabinet .entrance-block > .clr {position: relative; overflow: hidden;}
.cabinet .entrance-block > .clr .fl {width: calc(100% - 170px); height: 304px;}
.cabinet .entrance-block > .clr .fr {width: 170px; height: 304px; position: relative;}
.cabinet .entrance-block > .clr .fr a {color: var(--ink);}
.cabinet .entrance-block .recovery-block-btn {position: absolute; bottom: 0; right: 0; height: 50px; clear: both;}
.cabinet .entrance-block .recovery-block-btn .inner {float: left; display: flex; align-items: center; justify-content: center; height: 100%;}
.cabinet .entrance-block .recovery-block-btn .inner:first-child {width: 110px;}
.cabinet .entrance-block .recovery-block-btn .inner:last-child {width: 20px;}
.cabinet .entrance-block .recovery-block-btn .inner span {display: block; font-size: 12px; font-weight: 700; text-align: center;}
.cabinet .entrance-block .recovery-block-btn .inner i {width: 16px; height: 16px; text-align: center; font-size: 10px; line-height: 16px;}
.cabinet .registration-block {padding: 40px 20px;}
.cabinet .registration-block .inner {width: 100%;}
.cabinet .registration-block h2 {margin-bottom: 20px; font-size: 20px;}
.cabinet .registration-block .inner > .clr {position: relative; height: 495px; width: 100%;}
.cabinet .registration-block .inner > .clr .fl {width: calc(100% - 170px); height: 100%;}

/* Contacts */
.contacts-layout{display:grid;grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr);gap:18px;align-items:stretch}
.contact-cards{display:grid;grid-template-columns:1fr;gap:12px}
.contact-card{display:flex;flex-direction:column;justify-content:flex-end;min-height:170px;padding:24px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:0 16px 45px rgba(16,20,26,.055)}
.contact-card--accent{background:var(--accent);border-color:transparent}
.contact-card>span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#78818b}
.contact-card--accent>span{color:rgba(23,25,29,.56)}
.contact-card strong{margin-top:auto;padding-top:22px;font-size:clamp(22px,2.1vw,31px);letter-spacing:-.045em}
.contact-card small{margin-top:8px;color:#747d86}
.contact-card--accent small{color:rgba(23,25,29,.62)}
.contacts-map-card{min-height:100%;padding:20px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:0 22px 60px rgba(16,20,26,.07)}
.map-frame.contacts {height:570px;}
.contacts-map{height:calc(100% + 30px) !important;overflow:hidden;background:#dfe4e6}
.contacts-map-card__footer{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:20px 4px 4px}
.contacts-map-card__footer span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#7d858e}
.contacts-map-card__footer strong{display:block;margin-top:7px}

/* Article */
.article-hero{position:relative;min-height:clamp(560px,72vh,780px);display:flex;align-items:flex-end;overflow:hidden;color:#fff;background:#11151b}
.article-hero__media,.article-hero__shade{position:absolute;inset:0}.article-hero__media{background-position:center;background-size:cover;transform:scale(1.01)}
.article-hero__shade{background:linear-gradient(90deg,rgba(7,10,14,.74) 0%,rgba(7,10,14,.35) 56%,rgba(7,10,14,.14) 100%),linear-gradient(180deg,rgba(7,10,14,.06) 0%,rgba(7,10,14,.88) 100%)}
.article-hero__inner{position:relative;z-index:1;padding:clamp(70px,9vh,110px) 0}
.article-hero .breadcrumbs{margin-bottom:24px}.article-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.article-meta span{padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.13);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.article-hero h1{max-width:1180px;font-size:clamp(48px,6.2vw,94px)}
.article-section{background:#f1f2ef}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(40px,7vw,110px);align-items:start}.article-body{max-width:880px;min-width:0}.article-lead{margin-bottom:32px;font-size:clamp(24px,2.4vw,34px)!important;line-height:1.38!important;color:#17191d!important;font-weight:750;letter-spacing:-.04em}
.article-body p{font-size:18px;color:#4f5964}.article-body p+p{margin-top:22px}.article-body h2{margin:48px 0 20px;font-size:clamp(34px,4vw,54px);color:var(--ink)}.article-body h3{margin:38px 0 16px;font-size:clamp(26px,3vw,38px);color:var(--ink)}.article-body ul,.article-body ol{display:grid;gap:11px;margin:24px 0;padding-left:24px;color:#4f5964;font-size:17px;line-height:1.6}.article-body img{width:100%;height:auto;display:block;margin:34px 0;border-radius:var(--radius);box-shadow:0 22px 55px rgba(18,24,30,.1)}.article-body figure{margin:34px 0}.article-body figure img{margin:0}.article-body figcaption{margin-top:10px;font-size:12px;color:#7b858e}.article-body a:not(.button):not(.text-link){font-weight:800;border-bottom:1px solid currentColor}.article-body blockquote{margin:36px 0;padding:28px 30px;border-left:4px solid var(--accent);border-radius:0 22px 22px 0;background:#fff;font-size:20px;line-height:1.55;font-weight:700;color:#252c33;box-shadow:0 15px 40px rgba(18,24,30,.05)}.article-body table{width:100%;margin:32px 0;border-collapse:collapse;border-radius:18px;overflow:hidden;background:#fff}.article-body th,.article-body td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left}.article-body th{font-size:12px;text-transform:uppercase;letter-spacing:.09em;background:#171b21;color:#fff}.article-body tr:last-child td{border-bottom:0}
.article-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:40px;padding-top:28px;border-top:1px solid rgba(23,25,29,.12)}
.article-aside{position:sticky;top:24px;padding:26px;border-radius:var(--radius);background:radial-gradient(circle at 88% 6%,rgba(255,212,0,.16),transparent 28%),#171b21;color:#fff;box-shadow:0 22px 55px rgba(18,24,30,.12)}.article-aside>span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.4)}.article-aside strong{display:block;margin-top:20px;font-size:25px;line-height:1.15;letter-spacing:-.045em}.article-aside p{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.58);font-size:14px}.article-aside a{display:block;margin-top:10px;color:var(--accent);font-weight:850}.article-aside .button{margin-top:24px;color:#111;display:inline-flex !important;}


/* Calculator page remains compact, but gets enough context to function as a full page. */
.compact-calc-section .section-heading{margin-inline:auto;margin-bottom:36px}

@media(max-width:1100px){
  .content-split,.product-detail-hero__grid,.contacts-layout,.article-layout{grid-template-columns:1fr}
  #texnobeton-beton-cube .cube-perspective{padding:64px}
  .application-grid{grid-template-columns:repeat(2,1fr)}
  .product-grid--related{grid-template-columns:repeat(2,1fr)}
  .article-aside{position:static}
  
  #production-story .story__media {height: 450px !important;}
}
@media(max-width:760px){
  .page-intro{min-height:auto}
  .page-intro__inner{padding:60px 0}
  .page-intro__inner h1{font-size:clamp(48px,14vw,72px)}
  .page-intro__stats{display:grid;grid-template-columns:1fr 1fr}
  .content-rail{padding-left:14px;padding-right:14px}
  .rail-controls{display:none}
  .project-card__image,.fleet-card__image{height:250px}
  .feature-grid--three{grid-template-columns:1fr}
  .product-detail-hero{min-height:auto}
  .product-detail-hero__grid{padding:60px 0}
  #texnobeton-beton-cube .cube-perspective{padding:46px 28px}
  #texnobeton-beton-cube .sq25{width:min(100%,230px)}
  .application-grid,.spec-grid,.product-grid--related{grid-template-columns:1fr}

  .contacts-map-card__footer{flex-direction:column;align-items:flex-start}
  .article-hero{min-height:520px}
  .article-hero__inner{padding:54px 0}
  .article-actions{align-items:stretch;flex-direction:column}
  .article-actions .text-link{align-self:flex-start}
  .faq-list{margin-left:0}
}

/* ==========================================================================
   Legal pages + 404
   Page-specific additions for privacy.html, user-agreement.html and 404.html.
   Existing project styles above remain untouched.
   ========================================================================== */
.site-footer__legal{display:flex;align-items:center;gap:0;flex-wrap:wrap}
.site-footer__legal a{transition:color .25s ease}
.site-footer__legal a:hover,.site-footer__legal a.is-current{color:var(--accent)}

.page-intro--legal{min-height:470px;background:linear-gradient(145deg,#f5f6f3 0%,#e9ecea 100%);color:var(--ink)}
.page-intro--legal::before{content:"";position:absolute;right:-12vw;top:-32%;width:min(58vw,820px);aspect-ratio:1;border:1px solid rgba(23,25,29,.07);border-radius:50%;box-shadow:0 0 0 90px rgba(23,25,29,.025),0 0 0 180px rgba(23,25,29,.018)}
.page-intro--legal .page-intro__inner{position:relative;z-index:1}
.page-intro--legal h1{color:var(--ink)}
.page-intro--legal p{max-width:760px;color:var(--muted)}

.legal-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.legal-meta span{padding:9px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#68727c}

.legal-layout{display:grid;grid-template-columns:280px minmax(0,880px);justify-content:space-between;gap:clamp(40px,7vw,110px);align-items:start}
.legal-nav{position:sticky;top:24px;display:grid;gap:0;padding:22px;border-radius:var(--radius);background:#171b21;color:#fff}
.legal-nav>span{padding-bottom:14px;margin-bottom:4px;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.4)}
.legal-nav a{padding:12px 0;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:rgba(255,255,255,.67);transition:color .25s ease,padding-left .25s var(--ease)}
.legal-nav a:hover{padding-left:5px;color:var(--accent)}

.legal-copy{display:grid;gap:0}
.legal-copy>section{scroll-margin-top:30px;padding:0 0 44px;margin-bottom:44px;border-bottom:1px solid rgba(23,25,29,.12)}
.legal-copy>section:last-of-type{margin-bottom:26px}
.legal-copy__index{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;margin-bottom:14px;border-radius:999px;background:var(--accent);font-size:11px;font-weight:900;letter-spacing:.12em}
.legal-copy h2{font-size:clamp(32px,4vw,50px);margin-bottom:22px}
.legal-copy p{font-size:17px;color:#505b66}
.legal-copy p+p{margin-top:17px}

.legal-contact-card{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px}
.legal-contact-card>div{padding:18px 20px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.legal-contact-card span{display:block;margin-bottom:8px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.14em;color:#818991}
.legal-contact-card strong,.legal-contact-card a{font-size:16px;font-weight:800;line-height:1.45}
.legal-note{padding:22px 24px;border-radius:20px;background:#fff7c7;border:1px solid rgba(255,212,0,.48);color:#50545a;line-height:1.55}

.error-page{min-height:calc(100vh - var(--header-height))}
.error-screen{position:relative;min-height:calc(100vh - var(--header-height));display:flex;align-items:center;overflow:hidden;background:linear-gradient(145deg,#080d13 0%,#111922 100%);color:#fff}
.error-screen__grid{position:absolute;inset:0;opacity:.17;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:72px 72px;transform:perspective(700px) rotateX(58deg) scale(1.4);transform-origin:center bottom}
.error-screen::before{content:"";position:absolute;right:-10vw;top:-20vw;width:55vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,212,0,.16),transparent 68%)}
.error-screen__inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1fr);gap:clamp(40px,7vw,100px);align-items:center;padding:70px 0}
.error-screen__code{font-size:clamp(150px,21vw,330px);font-weight:900;line-height:.72;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.18);text-shadow:0 0 80px rgba(255,212,0,.08)}
.error-screen__copy h1{margin-top:18px;font-size:clamp(54px,6vw,90px)}
.error-screen__copy p{max-width:650px;margin-top:24px;font-size:18px;color:rgba(255,255,255,.62)}
.error-screen__copy .button-row{margin-top:34px}
.error-screen__track{position:absolute;left:0;right:0;bottom:9%;height:2px;background:rgba(255,255,255,.1)}
.error-screen__track span{position:absolute;left:11%;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(255,212,0,.14)}
.error-screen__track i{position:absolute;left:11%;right:23%;top:0;height:2px;background:linear-gradient(90deg,var(--accent),rgba(255,212,0,.12));transform-origin:left center;animation:errorTrack 3s ease-in-out infinite}
.error-screen__track b{position:absolute;right:22%;top:-6px;width:14px;height:14px;border:2px solid rgba(255,255,255,.7);border-radius:50%}
@keyframes errorTrack{50%{transform:scaleX(.68);opacity:.58}}

@media(max-width:900px){
  .legal-layout{grid-template-columns:1fr}
  .legal-nav{position:static;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
  .legal-nav>span{grid-column:1/-1}
  .error-screen__inner{grid-template-columns:1fr;gap:30px}
  .error-screen__code{font-size:clamp(120px,35vw,230px)}
}

@media(max-width:620px){
  .site-footer__legal{justify-content:flex-start;gap:10px 16px}
  .legal-nav{grid-template-columns:1fr}
  .legal-contact-card{grid-template-columns:1fr}
  .error-screen__copy .button-row{flex-direction:column;align-items:stretch}
  .error-screen__copy .button{width:100%}
}

/* ==========================================================================
   V9 — mobile adaptation
   Desktop stays untouched. Mobile gets a normal overlay drawer instead of
   the 3D shutters, plus single-column composition for dense content blocks.
   ========================================================================== */

/* A subtle state for the large calculator scheme image while JS swaps it. */
#foundationType-img{
  height:auto;
  border-radius:20px;
  transition:opacity .18s ease;
}
#foundationType-img.is-changing{opacity:.25}

@media(max-width:760px){
  /* --- Mobile navigation: ordinary full-width drawer, no pseudo-3D. --- */
  .shutter-scene{
    perspective:none!important;
    transform-style:flat!important;
  }

  .menu-plane{
    position:absolute!important;
    z-index:90!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden;
    opacity:1!important;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(100%,0,0)!important;
    transform-origin:center!important;
    transition:transform .42s var(--ease),visibility 0s linear .42s!important;
  }

  body.is-menu-open .menu-plane{
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0)!important;
    transition:transform .42s var(--ease),visibility 0s!important;
  }

  .menu-plane__surface{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    padding:24px 20px 28px;
    overflow-y:auto;
    border-left:0;
    box-shadow:none;
    background:
      radial-gradient(circle at 86% 4%,rgba(255,212,0,.13),transparent 24%),
      linear-gradient(160deg,#11161e 0%,#090e14 78%);
  }

  .menu-plane__top{justify-content:flex-start}
  .menu-plane__top h2{font-size:32px}
  .menu-plane__nav{margin-top:22px}
  .menu-plane__nav a{padding:15px 0}
  .menu-plane__nav span{font-size:clamp(22px,7vw,28px)}
  .menu-plane__nav b{font-size:10px}
  .menu-plane__footer{margin-top:30px;padding-top:20px;gap:16px}

  /* The page itself no longer moves on mobile when the menu opens. */
  body.is-menu-open .site-plane,
  body.is-menu-open .site-plane.site-scroll{
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
    overflow-y:hidden;
  }
  body.is-menu-open .site-plane::after{opacity:0!important}
  .shutter-backdrop{display:none!important}

  /* Keep the internal scroller visually clean on touch screens. */
  .site-plane,
  .site-plane.site-scroll{
    scrollbar-width:none;
  }
  .site-plane::-webkit-scrollbar,
  .site-plane.site-scroll::-webkit-scrollbar{display:none}

  /* --- Global mobile rhythm / typography. --- */
  .section{padding:72px 0}
  h1{font-size:clamp(48px,14vw,68px);line-height:.95}
  h2{font-size:clamp(38px,11vw,54px);line-height:.98}
  h3{font-size:clamp(25px,8vw,34px)}

  .section-heading{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:22px!important;
    margin-bottom:38px!important;
  }
  .section-heading>div,
  .section-heading>p{
    width:100%;
    max-width:none!important;
  }
  .section-heading>p{font-size:16px}

  /* --- Homepage hero: true vertical flow, no card overlap. --- */
  .hero{
    min-height:auto!important;
    padding-top:46px!important;
    padding-bottom:48px!important;
  }
  .hero__inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:start!important;
    gap:32px!important;
  }
  .hero__content{
    width:100%;
    max-width:none!important;
    min-width:0;
  }
  .hero__content h1{
    max-width:none!important;
    margin-top:20px!important;
    font-size:clamp(50px,14.2vw,68px)!important;
  }
  .hero__lead{
    width:100%;
    max-width:none!important;
    margin-top:22px!important;
    font-size:18px!important;
    line-height:1.48!important;
  }
  .hero__actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%;
    margin-top:28px!important;
  }
  .hero__actions .button{width:100%!important}
  .hero__trust{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-top:24px!important;
  }
  .hero__side{
    justify-self:stretch!important;
    width:100%!important;
    max-width:none!important;
    min-width:0;
  }
  .hero-card{
    width:100%!important;
    max-width:none!important;
    padding:24px!important;
  }
  .hero-card__phone{font-size:clamp(22px,7vw,28px)}
  .hero-card__phone--small{font-size:17px}
  .hero__bottom{
    margin-top:34px!important;
    align-items:stretch!important;
  }
  .metric-strip{width:100%!important}
  .scroll-hint{display:none!important}

  /* Common two-column desktop compositions become full-width blocks. */
  .content-split,
  .delivery__grid,
  .calculator__grid,
  .story__card,
  .delivery-service__layout,
  .product-detail-hero__grid,
  .contacts-layout,
  .article-layout,
  .legal-layout{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .content-split>*{min-width:0;width:100%}
  .prose-card{padding:24px}
  .delivery__content p,.calculator__intro p{font-size:16px}
  .delivery__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:30px 0}
  .delivery__visual{width:100%;max-width:none;justify-self:stretch}
  .delivery-card{min-height:330px}

  /* Product/catalog footer and action clusters should not squeeze horizontally. */
  .products__footer,
  .order__card,
  .site-footer__bottom,
  .contacts-map-card__footer{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .button-row,
  .order__actions{
    width:100%;
  }
  .button-row .button,
  .order__actions .button{width:100%}

  /* Calculator: image and controls stay readable without a huge horizontal card. */
  .compact-calc{padding:14px}
  .compact-calc-section .section-heading{margin-bottom:28px!important}
  .compact-calc__types{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .calc-type{min-height:78px;padding:10px;grid-template-columns:42px minmax(0,1fr)}
  .calc-type__icon{width:42px;height:42px}
  .compact-calc__body{grid-template-columns:1fr!important;gap:14px}
  .compact-calc__fields{padding:0}
  #foundationType-img{margin-bottom:14px;border-radius:16px}
  .calc-fields{grid-template-columns:1fr!important}
  .compact-calc__result{min-height:auto;padding:22px}
  .compact-calc__contact{grid-template-columns:1fr!important;padding:16px}
  .compact-calc__contact p{grid-column:auto!important}


  /* Product / article finishing for the same mobile breakpoint. */
  .product-detail-hero__grid{gap:24px!important;padding:44px 0!important}
  .product-detail-hero__copy h1{font-size:clamp(50px,14vw,70px)!important}
  .product-detail-hero__copy>p{font-size:17px}
  .product-quick-specs{display:grid;grid-template-columns:1fr 1fr}
  .product-quick-specs>div{min-width:0}
  .product-visual{min-height:330px}
  .product-visual::before{inset:4% 0}
  .product-photo{width:100%;border-radius:22px}
  .application-grid{grid-template-columns:1fr!important}
  .application-item{min-height:108px}
  .article-hero{min-height:520px}
  .article-hero__inner{padding:48px 0}
  .article-hero h1{font-size:clamp(44px,12vw,66px)}
  .article-body p{font-size:17px}
  .article-body blockquote{padding:22px 22px;font-size:18px}
  .article-aside{position:static}

  /* Shared cards / small-screen finishing. */
  .news-card{grid-template-columns:1fr!important}
  .site-footer__grid{grid-template-columns:1fr!important;gap:30px!important}
  .site-footer__nav,.site-footer__col{gap:8px}
  .site-footer__socials{margin-top:20px}
  .site-footer__bottom-main{align-items:flex-start;flex-direction:column;gap:9px}
  .site-footer__bottom-main>*+*{margin-left:0;padding-left:0}
  .site-footer__bottom-main>*+*::before{display:none}
  .site-footer__author{margin-left:0}
  .page-intro__stats{grid-template-columns:1fr!important}
  .application-grid,.spec-grid,.product-grid--related{grid-template-columns:1fr!important}
  .site-rules{flex-direction:column;align-items:flex-start;gap:10px}
}

@media(max-width:470px){
  .container{width:calc(100vw - 24px)}
  .site-header__inner{gap:10px}
  .brand{gap:10px}
  .brand__mark{width:44px;height:44px}
  .brand__name{font-size:19px}
  .site-header__inner .brand__name {display: none !important;}
  #siteHeader .button.button--primary {max-width: 196px !important;}
  .menu-toggle{width:48px;height:48px;flex:0 0 48px}

  .hero{padding-top:38px!important}
  .hero__content h1{font-size:clamp(46px,14vw,62px)!important}
  .hero-card{padding:22px!important}
  .hero-card__label{margin-bottom:20px}
  .hero-card__divider{margin:20px 0}

  .compact-calc__types{grid-template-columns:1fr 1fr}
  .calc-type{grid-template-columns:38px minmax(0,1fr)}
  .calc-type__icon{width:38px;height:38px}
}
