/* ===== Кухня МИКС — фабрика «Мария» ===== */

:root{
  --ink:#16130F;
  --ink-2:#3C3833;
  --ink-3:#57514A;
  --muted:#8A8073;
  --muted-2:#A39B90;
  --muted-3:#9A9184;
  --accent:#E31E24;
  --accent-hover:#C80B11;
  --beige:#F2EEE7;
  --green-bg:#F6FBF8;
  --line:#ECE7DE;
  --line-2:#EDE8E0;
  --line-3:#DDD6CB;
  --line-4:#D9D2C6;
  --vbar-beige:#E7E1D7;
  --radius-s:10px;
  --radius-l:16px;
  --radius-pill:100px;
  --shadow-cta:0 16px 34px -16px rgba(227,30,36,.6);
  --shadow-cta-hover:0 22px 44px -16px rgba(227,30,36,.7);
  --shadow-card:0 40px 100px -30px rgba(0,0,0,.6);
  --shadow-media:0 40px 90px -44px rgba(0,0,0,.7);
  --shadow-glass:0 24px 50px -24px rgba(22,19,15,.42);
  --pad-y:clamp(72px,9vh,120px);
  --pad-l:clamp(72px,7vw,120px);
  --pad-r:clamp(48px,7vw,120px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{background:#fff}
body{font-family:'Golos Text',sans-serif;color:var(--ink);background:#fff;min-height:100%;overflow-x:hidden;position:relative}
b,strong{font-weight:600}
i,em{font-style:normal}
::selection{background:var(--accent);color:#fff}
a{color:var(--ink);text-decoration:none}
button{font-family:inherit}
img{max-width:100%}

.hidden{display:none!important}

@keyframes v3ring{from{opacity:0;transform:translate(-50%,-50%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes badgeFloat{from{transform:translateY(0)}to{transform:translateY(-6px)}}
@keyframes tipIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes stackIn{from{opacity:0;transform:translateY(22px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes fwPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}12%{opacity:1}70%{opacity:1;transform:translate(calc(-50% + var(--fx)),calc(-50% + var(--fy))) scale(1)}100%{opacity:0;transform:translate(calc(-50% + var(--fx)),calc(-50% + var(--fy) + 80px)) scale(.6)}}
@keyframes overlayIn{from{opacity:0}to{opacity:1}}

/* ===== Section shared bits ===== */
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.eyebrow span.dash{width:34px;height:2px;background:var(--accent)}
.eyebrow span.label{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.section-title{font-family:'Manrope','Golos Text',sans-serif;font-weight:600;font-size:clamp(34px,4.6vw,72px);line-height:1;letter-spacing:-.035em;color:var(--ink);margin:0}
.section-title .dot{color:var(--accent)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:clamp(28px,3.5vh,44px)}

.btn-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--accent);color:#fff;font-weight:600;font-size:16px;padding:0 32px;height:80px;border:none;border-radius:var(--radius-s);box-shadow:var(--shadow-cta);transition:background-color .2s,transform .2s,box-shadow .2s;cursor:pointer}
.btn-cta:hover{background-color:var(--accent-hover);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-cta-hover)}

.btn-outline{display:inline-flex;align-items:center;gap:11px;height:64px;padding:0 30px;border:1px solid var(--line-3);border-radius:var(--radius-s);font-weight:500;font-size:15px;color:var(--ink-2);background:transparent;cursor:pointer;transition:border-color .2s,color .2s}
.btn-outline:hover{border-color:var(--ink);color:var(--ink)}

.arrow-btn{width:60px;height:60px;border-radius:50%;border:1px solid var(--line-3);background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);transition:border-color .2s,background-color .2s}
.arrow-btn:hover{border-color:var(--ink);background-color:var(--ink);color:#fff}

.vbar-red{position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,var(--accent) 0,var(--accent) 30%,var(--vbar-beige) 30%);z-index:5}
.vbar-label{position:absolute;left:3px;top:0;bottom:0;width:clamp(44px,4vw,60px);z-index:6;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--line)}
.vbar-label span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--muted-2);white-space:nowrap}

/* ===== Header ===== */
header{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:clamp(12px,1.6vw,24px);flex-wrap:nowrap;padding:14px clamp(20px,2.6vw,40px);background:rgba(255,255,255,.82);backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);border-bottom:1px solid rgba(22,19,15,.09)}
.hd-brand{display:flex;align-items:center;gap:16px}
.hd-brand img{height:30px;width:auto;display:block}
.hd-tagline{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1.3;max-width:132px}
.hd-adv{display:flex;align-items:center;gap:clamp(12px,1.4vw,22px);flex-wrap:nowrap}
.hd-adv-item{display:flex;align-items:center;gap:11px}
.hd-adv-icon{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-3);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink)}
.hd-adv-txt{font-size:13px;line-height:1.3}
.hd-adv-txt span{color:var(--muted)}
.hd-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.hd-social{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-3);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);transition:border-color .2s,color .2s;flex-shrink:0;overflow:hidden}
.hd-social:hover{border-color:var(--ink);color:var(--accent)}
.hd-social img{width:19px;height:19px;display:block}
.hd-phone{font-weight:600;font-size:15px;white-space:nowrap;margin:0 4px}
.hd-phone:hover{color:var(--accent)}
.burger{width:48px;height:48px;border-radius:9px;border:1px solid var(--line-3);background:#F1EEE8;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;flex-shrink:0;box-shadow:0 2px 5px rgba(22,19,15,.06),inset 0 0 0 1px rgba(22,19,15,.04);transition:background-color .2s,box-shadow .2s,transform .2s}
.burger:hover{background-color:#E8E3DA;box-shadow:0 8px 18px -8px rgba(22,19,15,.28);transform:translateY(-1px)}
.burger span{width:20px;height:2px;background:var(--ink);border-radius:2px}

/* ===== Burger menu overlay ===== */
.menu-overlay{position:fixed;inset:0;z-index:80;background:rgba(22,19,15,.32);animation:tipIn .2s ease}
.menu-aside{position:fixed;top:0;right:0;bottom:0;z-index:81;width:min(360px,86vw);background:#fff;box-shadow:-20px 0 60px -30px rgba(0,0,0,.5);padding:28px clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:6px;animation:tipIn .25s ease}
.menu-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.menu-top img{height:28px}
.menu-close{width:40px;height:40px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:20px;cursor:pointer;color:var(--ink)}
.menu-link{font-family:'Manrope','Golos Text',sans-serif;font-weight:500;font-size:26px;padding:12px 0;border-bottom:1px solid var(--beige);animation:stackIn .45s cubic-bezier(.2,.7,.3,1) both}
.menu-link:hover{color:var(--accent)}
.menu-phone{margin-top:22px;font-weight:600;font-size:20px}
.menu-hours{font-size:13px;color:var(--muted)}
.menu-cta{margin-top:20px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff;font-weight:600;font-size:15px;padding:16px 24px;border-radius:9px;min-height:54px}
.menu-cta:hover{background:var(--accent-hover);color:#fff}

/* ===== Hero ===== */
.hero{position:relative;min-height:100vh;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.hero-photo{position:absolute;top:0;right:0;bottom:0;aspect-ratio:1;z-index:1}
.hero-layer{position:absolute;inset:0;opacity:0;z-index:0;pointer-events:none;overflow:hidden;clip-path:inset(0 0 0 0)}
.hero-layer.active{opacity:1;z-index:2;pointer-events:auto}
.hero-layer > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;background:#fff;transform:scale(1);transition:transform 1s cubic-bezier(.16,1,.3,1)}
/* переход между стилями кухни: непрозрачный wipe-реёл вместо cross-fade —
   исходники слегка гуляют по пропорциям, и блендинг двух фото даёт двойную экспозицию */
.hero-layer.wipe-in{opacity:1;z-index:3;clip-path:inset(0 0 0 100%)}
.hero-layer.wipe-in > img{transform:scale(1.06)}
.hero-layer.wipe-anim{clip-path:inset(0 0 0 0);transition:clip-path .9s cubic-bezier(.65,0,.24,1)}
.hero-layer.wipe-anim > img{transform:scale(1)}
.hero-layer .placeholder{position:absolute;inset:0;background:var(--beige);display:flex;align-items:center;justify-content:center}
.hero-layer .placeholder span{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted-2);letter-spacing:.14em}
.hero-cham{position:absolute;right:70%;top:16%;width:74px;height:74px;border:none;padding:0;background:transparent;cursor:pointer;z-index:25;transform:rotate(-4deg)}
.hero-cham img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .3s,filter .3s}
.hero-cham.found img{opacity:.3;filter:grayscale(1)}
.hero-cham-ring{position:absolute;right:70%;top:16%;width:82px;height:82px;border:2px solid var(--accent);border-radius:50%;box-shadow:0 0 0 6px rgba(227,30,36,.18);z-index:25;pointer-events:none;animation:v3ring .4s ease}

.hero-text{position:relative;z-index:20;flex:1 1 auto;width:min(70%,1120px);display:flex;flex-direction:column;justify-content:center;gap:clamp(10px,1.7vh,22px);padding:clamp(96px,12vh,132px) clamp(16px,2vw,32px) clamp(96px,12vh,132px) clamp(72px,7vw,120px)}
.hero-h1{font-size:clamp(12px,1vw,15px);font-weight:500;letter-spacing:.56px;text-transform:uppercase;color:var(--muted);margin:0}
.hero-headline{font-family:'Manrope','Golos Text',sans-serif;font-weight:600;line-height:.92;letter-spacing:-.038em;color:var(--ink);white-space:nowrap}
.hero-headline > span{display:block;font-size:min(clamp(42px,5.9vw,104px),13vh);font-weight:600}
.hero-sub{font-size:clamp(15px,1.1vw,17px);line-height:1.55;color:var(--ink-3);max-width:625px;text-wrap:pretty}

.hero-price{max-width:560px;margin-top:clamp(2px,1vh,8px)}
.hero-price-row{display:flex;align-items:flex-start;gap:clamp(24px,3vw,52px);flex-wrap:wrap;width:625px}
.hero-price-label{font-size:13px;color:var(--muted);margin-bottom:8px}
.hero-price-value{font-family:'Manrope','Golos Text',sans-serif;font-size:clamp(46px,4.8vw,66px);font-weight:600;line-height:.9;letter-spacing:-.03em;color:var(--ink)}
.hero-price-side{display:flex;flex-direction:column;gap:14px;padding-top:2px}
.hero-discount{align-self:flex-start;background:var(--accent);color:#fff;border-radius:8px;padding:6px 14px;font-family:'Manrope','Golos Text',sans-serif;font-size:30px;font-weight:600;line-height:1}
.hero-old-price{font-size:15px;color:#B6ABA0;text-decoration:line-through}
.hero-price-foot{display:flex;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);font-size:14px;color:var(--ink);width:625px}
.hero-price-foot .bar{width:3px;height:16px;background:var(--accent);border-radius:2px;flex-shrink:0}
.hero-price-foot .dot{width:4px;height:4px;border-radius:50%;background:var(--line-4);flex-shrink:0}
.hero-price-foot .deadline{color:var(--accent);font-weight:600}
.hero-price-foot a{color:var(--ink);font-weight:600}

.hero-ctas{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:clamp(2px,1vh,8px)}
.hero-ctas .btn-cta span{font-size:18px}
.crash-link{display:inline-flex;align-items:center;gap:11px;color:var(--ink-2);font-size:15px;font-weight:500;white-space:nowrap;height:80px;padding:0 26px;border:1px solid var(--line-3);border-radius:var(--radius-s);transition:border-color .2s,color .2s}
.crash-link:hover{border-color:var(--ink);color:var(--ink)}
.crash-link .play-mini{width:34px;height:34px;border-radius:50%;background:#F1EEE8;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.crash-link .play-mini i{width:0;height:0;border-left:9px solid var(--accent);border-top:6px solid transparent;border-bottom:6px solid transparent;margin-left:2px;display:block}

.hero-rail{position:absolute;right:0;bottom:clamp(112px,17vh,184px);z-index:30;width:auto;max-width:min(88vw,720px);padding:16px 20px;border-radius:16px 0 0 16px;background:rgba(255,255,255,.85);backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);border:1px solid rgba(255,255,255,.9);border-right:none;box-shadow:var(--shadow-glass)}
.hero-rail-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap;margin-bottom:12px}
.style-rail{display:flex;flex-wrap:nowrap;gap:8px}
.style-chip{padding:10px 18px;border-radius:var(--radius-pill);cursor:pointer;font-family:inherit;font-size:14px;white-space:nowrap;transition:all .2s;border:1px solid transparent;background:transparent;color:#2C2A26;font-weight:500}
.style-chip:hover{background:rgba(255,255,255,.55)}
.style-chip.active{border-color:var(--ink);background:var(--ink);color:#fff;font-weight:600}
.style-chip.active:hover{background:var(--ink)}

/* ===== Chameleon HUD badge ===== */
.cham-hud{position:fixed;right:clamp(16px,1.8vw,30px);bottom:clamp(18px,3vh,30px);z-index:70}
.cham-tip{position:absolute;right:82px;bottom:0;width:250px;background:var(--ink);color:#fff;border-radius:12px;padding:16px 18px;box-shadow:0 18px 40px -14px rgba(0,0,0,.5);animation:tipIn .22s ease}
.cham-tip-title{font-weight:600;font-size:14px;margin-bottom:6px}
.cham-tip-body{font-size:13px;line-height:1.5;color:#D8D2C8}
.cham-tip-body b{color:#fff}
.cham-tip-arrow{position:absolute;right:-6px;bottom:28px;width:14px;height:14px;background:var(--ink);transform:rotate(45deg)}
.cham-badge-btn{position:relative;width:66px;height:66px;border:none;padding:0;background:transparent;cursor:pointer;animation:badgeFloat 2.6s ease-in-out infinite alternate}
.cham-badge-circle{display:block;width:66px;height:66px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 14px 34px -10px rgba(22,19,15,.45),0 0 0 5px #fff,0 0 0 6px rgba(227,30,36,.25)}
.cham-badge-circle img{width:100%;height:100%;object-fit:cover;display:block}
.cham-badge-count{position:absolute;right:calc(100% - 2px);top:6px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;border-radius:var(--radius-pill);padding:2px 7px;box-shadow:0 4px 10px -3px rgba(0,0,0,.4);border:2px solid #fff;white-space:nowrap}

/* ===== Sections generic ===== */
section{position:relative;background:#fff}
.sec-portfolio,.sec-crash,.sec-factory,.sec-reviews{border-top:1px solid var(--line);padding:var(--pad-y) var(--pad-r) clamp(80px,10vh,128px) var(--pad-l)}
.sec-promo{padding:var(--pad-y) 0 clamp(80px,10vh,128px)}
.sec-studios{border-top:1px solid var(--line);padding:var(--pad-y) 0 clamp(80px,10vh,128px)}

/* ===== Portfolio ===== */
.pf-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:clamp(28px,3.5vh,44px)}
.pf-chip{padding:10px 18px;border-radius:var(--radius-pill);cursor:pointer;font-family:inherit;font-size:14px;white-space:nowrap;transition:all .2s;border:1px solid var(--line-3);background:transparent;color:var(--ink-2);font-weight:500}
.pf-chip:hover{border-color:var(--ink);color:var(--ink)}
.pf-chip.active{border-color:var(--ink);background:var(--ink);color:#fff;font-weight:600}
.pf-chip.active:hover{border-color:var(--ink);color:#fff}
.pf-wrap{position:relative;padding-top:44px}
.pf-cham{position:absolute;top:-3px;left:35.5%;width:88px;height:80px;border:none;padding:0;background:transparent;cursor:pointer;z-index:9;transform:rotate(-8deg)}
.pf-cham img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .3s,filter .3s}
.pf-cham.found img{opacity:.3;filter:grayscale(1)}
.pf-grid{column-count:3;column-gap:clamp(16px,1.5vw,24px)}
.pf-card{position:relative;break-inside:avoid;margin-bottom:clamp(16px,1.5vw,24px);cursor:pointer;transition:transform .3s}
.pf-card:hover{transform:translateY(-4px)}
.pf-card-media{position:relative;border-radius:12px;overflow:hidden;background:var(--beige)}
.pf-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.pf-card:hover .pf-card-media img{transform:scale(1.05)}
.pf-star{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:#fff;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:6px 12px;border-radius:7px;box-shadow:0 8px 20px -6px rgba(227,30,36,.7)}
.pf-likes{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink);font-size:12px;font-weight:600;padding:5px 10px;border-radius:var(--radius-pill)}
.pf-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;background:linear-gradient(to top,rgba(22,19,15,.82) 0%,rgba(22,19,15,.2) 45%,rgba(22,19,15,0) 70%);opacity:0;transition:opacity .3s}
.pf-card:hover .pf-overlay{opacity:1}
.pf-overlay .style{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#F3B0B2;margin-bottom:6px;display:block}
.pf-overlay .title{font-family:'Manrope','Golos Text',sans-serif;font-size:16px;font-weight:600;line-height:1.25;color:#fff;display:block}
.pf-overlay .open{display:inline-flex;align-items:center;gap:7px;margin-top:12px;font-size:13px;color:#fff;font-weight:500}
.pf-clip-fade{position:absolute;left:0;right:0;bottom:0;height:220px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,.6) 60%,#fff 100%);pointer-events:none;z-index:3}
.more-wrap{display:flex;justify-content:center;margin-top:clamp(32px,4vh,52px)}

/* ===== Modals ===== */
.modal-backdrop{position:fixed;inset:0;z-index:90;background:rgba(22,19,15,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:clamp(16px,3vw,48px);animation:tipIn .2s ease}
.pf-modal{position:relative;width:min(900px,100%);height:min(600px,92vh);overflow:hidden;background:#fff;border-radius:var(--radius-l);box-shadow:var(--shadow-card);display:grid;grid-template-columns:1.1fr 1fr}
.pf-modal-img{position:relative;background:var(--beige);min-height:340px}
.pf-modal-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pf-modal-tag{position:absolute;top:18px;left:18px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:7px 13px;border-radius:8px}
.pf-modal-txt{padding:clamp(30px,3.2vw,52px);display:flex;flex-direction:column;gap:18px;justify-content:center}
.pf-modal-txt h3{font-family:'Manrope','Golos Text',sans-serif;font-size:clamp(26px,2.4vw,38px);font-weight:600;line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin:0}
.pf-modal-txt p{font-size:15px;line-height:1.6;color:var(--ink-3);text-wrap:pretty;margin:0}
.modal-close{position:absolute;top:14px;right:14px;width:42px;height:42px;border:none;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:20px;cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px -6px rgba(0,0,0,.3)}

.promo-modal{position:relative;width:min(560px,100%);max-height:92vh;overflow-y:auto;background:#fff;border-radius:var(--radius-l);box-shadow:var(--shadow-card)}
.promo-modal-media{position:relative;aspect-ratio:16/9;background:var(--beige);overflow:hidden;border-radius:16px 16px 0 0}
.promo-modal-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.promo-modal-tag{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:8px 15px;border-radius:var(--radius-pill)}
.promo-modal-tag.inline{position:static;display:inline-flex}
.promo-modal-body{padding:clamp(30px,3vw,46px)}
.promo-modal-body h3{font-family:'Manrope','Golos Text',sans-serif;font-size:clamp(24px,2.2vw,32px);font-weight:600;line-height:1.12;letter-spacing:-.02em;color:var(--ink);margin:16px 0 0}
.promo-modal-body p{font-size:15px;line-height:1.6;color:var(--ink-3);margin:16px 0 0;text-wrap:pretty}
.lead-form{display:flex;flex-direction:column;gap:12px;margin-top:26px}
.lead-form input[type=text],.lead-form input[type=tel]{height:56px;padding:0 16px;border:1px solid var(--line);border-radius:var(--radius-s);font-family:inherit;font-size:15px;color:var(--ink);outline:none}
.lead-form input[type=text]:focus,.lead-form input[type=tel]:focus{border-color:var(--ink)}
.lead-form button[type=submit]{height:64px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-s);font-family:inherit;font-weight:600;font-size:16px;cursor:pointer;box-shadow:var(--shadow-cta);transition:background-color .2s}
.lead-form button[type=submit]:hover{background-color:var(--accent-hover)}
.lead-consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--muted);line-height:1.4;cursor:pointer}
.lead-consent input{width:16px;height:16px;margin-top:1px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}
.lead-consent a{color:var(--ink);text-decoration:underline}
.promo-calc-btn{display:flex;align-items:center;justify-content:center;width:100%;height:64px;margin-top:26px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-s);font-family:inherit;font-weight:600;font-size:16px;cursor:pointer;box-shadow:var(--shadow-cta);transition:background-color .2s;text-decoration:none}
.promo-calc-btn:hover{background-color:var(--accent-hover)}
.form-success{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:26px;padding:20px;background:var(--green-bg);border:1px solid #CDEBDD;border-radius:var(--radius-s)}
.form-success b{color:#1F9E68;font-family:'Manrope','Golos Text',sans-serif;font-size:17px}

.fireworks-layer{position:fixed;inset:0;z-index:120;pointer-events:none;overflow:hidden}
.fw-particle{position:absolute;left:50%;top:42%;width:10px;height:10px;border-radius:50%;transform:translate(-50%,-50%);animation:fwPop 1.4s cubic-bezier(.15,.7,.3,1) forwards}

/* ===== Crash-test ===== */
.sec-crash-inner{position:relative}
.crash-top{position:relative}
.crash-top .vbar-red{left:calc(-1*clamp(72px,7vw,120px));top:calc(-1*clamp(72px,9vh,120px));bottom:calc(-1*clamp(48px,6vh,80px) - 1px)}
.crash-top .vbar-label{left:calc(-1*clamp(72px,7vw,120px) + 3px);top:calc(-1*clamp(72px,9vh,120px));bottom:calc(-1*clamp(48px,6vh,80px) - 1px)}
.crash-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(36px,4vw,72px);align-items:center}
.crash-video{position:relative;aspect-ratio:16/11;border-radius:14px;overflow:hidden;background:#000;box-shadow:var(--shadow-media)}
.crash-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-poster{position:absolute;inset:0;cursor:pointer}
.video-poster img.poster-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.video-poster .scrim{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0) 55%);pointer-events:none}
.video-poster .play-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(72px,7vw,96px);height:clamp(72px,7vw,96px);border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;box-shadow:0 20px 44px -12px rgba(227,30,36,.7);transition:transform .25s}
.video-poster:hover .play-btn{transform:translate(-50%,-50%) scale(1.08)}
.video-poster .play-btn i{width:0;height:0;border-left:22px solid #fff;border-top:14px solid transparent;border-bottom:14px solid transparent;margin-left:6px;display:block}
.video-poster .caption{position:absolute;left:22px;bottom:20px;display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:500;color:#fff}
.video-poster .caption .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}
.crash-content{display:flex;flex-direction:column;gap:clamp(14px,1.8vh,22px)}
.crash-content h2{font-family:'Manrope','Golos Text',sans-serif;font-weight:600;font-size:clamp(28px,2.8vw,46px);line-height:1.04;letter-spacing:-.03em;margin:0;text-wrap:balance}
.crash-content>p{font-size:15px;line-height:1.55;color:var(--ink-2);text-wrap:pretty;margin:0}
.crash-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:14px;background:var(--green-bg);border:1px solid #CDEBDD;border-radius:12px;padding:16px 22px}
.crash-badge-icon{width:44px;height:44px;border-radius:10px;background:rgba(46,196,132,.16);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.crash-badge-txt{font-family:'Manrope','Golos Text',sans-serif;font-size:20px;font-weight:600;line-height:1.05;color:var(--ink)}
.crash-badge-txt .green{color:#1F9E68}
.crash-note{display:flex;flex-direction:column;gap:12px;font-size:14px;line-height:1.6;color:var(--ink-3);max-width:520px}
.crash-note p{margin:0;text-wrap:pretty}
.warranty-row{display:flex;align-items:center;gap:20px;margin-top:4px}
.warranty-num{font-family:'Manrope','Golos Text',sans-serif;font-size:clamp(48px,5vw,76px);font-weight:600;line-height:.9;letter-spacing:-.03em;color:var(--ink);flex-shrink:0}
.warranty-num span{font-size:.42em;color:var(--accent);letter-spacing:0}
.warranty-txt{font-size:15px;line-height:1.45;color:var(--ink-2);text-wrap:pretty}

.crash-strip{position:relative;z-index:7;background:#fff;margin-top:clamp(48px,6vh,80px);margin-left:calc(-1*clamp(72px,7vw,120px));margin-right:calc(-1*clamp(48px,7vw,120px));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 clamp(48px,7vw,120px) 0 clamp(72px,7vw,120px)}
.crash-strip .vbar-red{z-index:8}
.crash-strip .vbar-label{border-right:1px solid var(--line);z-index:8;pointer-events:none}
.crash-cham{position:absolute;top:-46px;left:26%;width:93px;height:84px;border:none;padding:0;background:transparent;cursor:pointer;z-index:9;transform:rotate(6deg)}
.crash-cham img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .3s,filter .3s}
.crash-cham.found img{opacity:.3;filter:grayscale(1)}
.crash-facts{display:grid;grid-template-columns:repeat(4,1fr)}
.crash-fact{padding:clamp(28px,3vh,40px) clamp(24px,2vw,36px)}
.crash-fact:first-child{padding-left:0}
.crash-fact:last-child{padding-right:0}
.crash-fact:not(:first-child){border-left:1px solid var(--line)}
.crash-fact-icon{display:flex;align-items:center;gap:11px;margin-bottom:16px;color:var(--accent)}
.crash-fact-value{font-family:'Manrope','Golos Text',sans-serif;font-size:clamp(34px,3.4vw,48px);font-weight:600;line-height:.95;letter-spacing:-.03em;color:var(--ink)}
.crash-fact-title{font-size:15px;font-weight:500;color:var(--ink);margin-top:10px}
.crash-fact-note{font-size:13px;line-height:1.45;color:var(--muted);margin-top:5px;text-wrap:pretty}

/* ===== Promotions carousel ===== */
.sec-promo .section-head,.sec-promo .car-viewport{padding-left:clamp(72px,7vw,120px);padding-right:clamp(48px,7vw,120px)}
.sec-promo .section-head{margin-bottom:clamp(32px,4vh,48px)}
.car-viewport{overflow:hidden;padding:12px clamp(48px,7vw,120px) 44px clamp(72px,7vw,120px)}
.car-track{display:flex;gap:clamp(18px,1.6vw,28px);touch-action:pan-y;user-select:none;cursor:grab;will-change:transform;transition:transform .55s cubic-bezier(.4,0,.2,1)}
.car-track.no-trans{transition:none}
.promo-card{flex:0 0 clamp(320px,30vw,440px);display:flex;flex-direction:column;border-radius:16px;border:1px solid var(--line);background:#fff;overflow:hidden;cursor:pointer;transition:transform .3s,box-shadow .3s,border-color .3s}
.promo-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(22,19,15,.3);border-color:#DCD4C8}
.promo-card-media{position:relative;aspect-ratio:4/3;background:var(--beige);overflow:hidden}
.promo-card-media img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.promo-tag-num{position:absolute;top:16px;left:16px;font-family:'Manrope','Golos Text',sans-serif;font-size:clamp(38px,3.6vw,56px);font-weight:600;line-height:.9;letter-spacing:-.03em;color:var(--accent);text-shadow:0 2px 10px rgba(255,255,255,.95),0 0 2px rgba(255,255,255,.9)}
.promo-tag-pill{position:absolute;top:16px;left:16px;display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:8px 15px;border-radius:var(--radius-pill);box-shadow:0 8px 20px -6px rgba(227,30,36,.6)}
.promo-card-body{padding:clamp(24px,2vw,32px);display:flex;flex-direction:column;flex:1}
.promo-card-body h3{font-family:'Manrope','Golos Text',sans-serif;font-size:clamp(20px,1.55vw,25px);font-weight:600;line-height:1.15;letter-spacing:-.015em;color:var(--ink);margin:0}
.promo-card-body p{font-size:14px;line-height:1.5;color:var(--muted);margin:12px 0 0;text-wrap:pretty}
.promo-card-more{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:22px;font-size:14px;font-weight:600;color:var(--ink)}
.promo-card-more span{color:var(--accent);font-size:16px}

/* ===== Factory ===== */
.sec-factory .vbar-red{bottom:clamp(80px,10vh,128px)}
.sec-factory .vbar-label{bottom:clamp(80px,10vh,128px);pointer-events:none}
.factory-video-wrap{position:relative}
.factory-cham{position:absolute;top:-48px;left:32px;width:96px;height:87px;border:none;padding:0;background:transparent;cursor:pointer;z-index:8;transform:rotate(-6deg)}
.factory-cham img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .3s,filter .3s}
.factory-cham.found img{opacity:.3;filter:grayscale(1)}
.factory-video{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;box-shadow:var(--shadow-media)}
.factory-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.factory-video .play-btn{width:clamp(76px,7vw,104px);height:clamp(76px,7vw,104px)}
.factory-video .play-btn i{border-left:24px solid #fff;border-top:15px solid transparent;border-bottom:15px solid transparent;margin-left:7px}
.factory-video .caption{left:26px;bottom:24px;font-size:15px}
.fact-nums{display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(40px,5vh,64px);margin-left:calc(-1*clamp(72px,7vw,120px));margin-right:calc(-1*clamp(48px,7vw,120px));padding:0 clamp(48px,7vw,120px) 0 clamp(72px,7vw,120px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fact-num-cell{padding:clamp(28px,3vh,40px) clamp(24px,2vw,36px)}
.fact-num-cell:first-child{padding-left:0}
.fact-num-cell:last-child{padding-right:0}
.fact-num-cell:not(:first-child){border-left:1px solid var(--line)}
.fact-num-value{font-family:'Manrope','Golos Text',sans-serif;font-size:clamp(36px,3.6vw,54px);font-weight:600;line-height:.95;letter-spacing:-.03em;color:var(--ink)}
.fact-num-value .accent{color:var(--accent)}
.fact-num-value .muted{font-size:.5em;color:var(--muted);letter-spacing:0}
.fact-num-title{font-size:15px;font-weight:500;color:var(--ink);margin-top:12px}
.fact-num-note{font-size:13px;line-height:1.45;color:var(--muted);margin-top:5px}

/* ===== Reviews ===== */
.reviews-head-row{display:flex;align-items:center;gap:14px;margin-top:20px}
.reviews-stars{display:flex;gap:3px}
.reviews-head-txt{font-size:15px;color:var(--ink-2)}
.review-link{display:inline-flex;align-items:center;gap:12px;height:64px;padding:0 30px;border:1px solid var(--line-3);border-radius:var(--radius-s);font-weight:600;font-size:15px;color:var(--ink);transition:border-color .2s,color .2s}
.review-link:hover{border-color:var(--ink);color:var(--accent)}
.rev-grid-wrap{position:relative}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.5vw,24px);align-items:stretch}
.rev-card{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid var(--line);border-radius:14px;padding:clamp(22px,1.8vw,28px);transition:box-shadow .3s,border-color .3s,transform .3s}
.rev-card:hover{box-shadow:0 24px 50px -30px rgba(22,19,15,.28);border-color:#DCD4C8;transform:translateY(-3px)}
.rev-top{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.rev-avatar{width:46px;height:46px;border-radius:50%;flex-shrink:0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:'Manrope',sans-serif;font-weight:600;font-size:15px;color:#fff}
.rev-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rev-name{font-family:'Manrope','Golos Text',sans-serif;font-size:16px;font-weight:600;color:var(--ink);line-height:1.2}
.rev-date{font-size:13px;color:var(--muted-2);margin-top:3px}
.rev-stars{display:flex;gap:2px;margin-bottom:12px}
.rev-text{font-size:14px;line-height:1.6;color:var(--ink-2);margin:0 0 18px;text-wrap:pretty;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.rev-more-link{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink);transition:color .2s}
.rev-more-link:hover{color:var(--accent)}
.rev-fade{position:absolute;left:0;right:0;bottom:0;height:180px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);pointer-events:none;z-index:2}

/* ===== Studios ===== */
.sec-studios .vbar-label{pointer-events:none}
.stu-grid{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:clamp(32px,4vw,64px);align-items:start}
.stu-left{padding-left:clamp(72px,7vw,120px)}
.stu-left p{font-size:15px;line-height:1.5;color:var(--ink-3);margin:0;max-width:320px;text-wrap:pretty;width:280px}
.stu-cta-wrap{position:relative;display:inline-block;margin-top:44px}
.stu-cham{position:absolute;top:-50px;left:22px;width:90px;height:84px;border:none;padding:0;background:transparent;cursor:pointer;z-index:8;transform:rotate(-8deg)}
.stu-cham img{width:100%;height:100%;object-fit:contain;display:block;transition:opacity .3s,filter .3s}
.stu-cham.found img{opacity:.3;filter:grayscale(1)}
.stu-cta{width:285px}
.stu-pad{overflow:hidden;padding-right:clamp(48px,7vw,120px)}
.stu-card{flex:0 0 clamp(280px,26vw,360px);cursor:pointer}
.stu-card-media{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#E4DED3;transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.stu-card:hover .stu-card-media{transform:scale(1.02)}
.stu-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.stu-card-body{padding:16px 2px 0}
.stu-card-title{font-family:'Manrope','Golos Text',sans-serif;font-size:17px;font-weight:600;color:var(--ink)}
.stu-card-addr{font-size:13px;line-height:1.45;color:var(--ink-3);margin-top:6px}
.stu-card-metro{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--muted)}
.stu-card-metro img{width:14px;height:14px;object-fit:contain;display:block}

/* ===== Footer ===== */
footer{background:#fff;color:var(--ink-3);border-top:1px solid var(--line);padding:clamp(56px,7vh,88px) clamp(48px,7vw,120px) clamp(40px,5vh,60px) clamp(72px,7vw,120px)}
.ft-top{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:clamp(32px,4vh,48px);border-bottom:1px solid var(--line)}
.ft-brand img{height:34px;width:auto;display:block}
.ft-brand-desc{font-size:13px;color:var(--muted);margin-top:14px;max-width:280px;line-height:1.5}
.ft-cols{display:flex;gap:clamp(28px,4vw,72px);flex-wrap:wrap;font-size:14px}
.ft-col{display:flex;flex-direction:column;gap:10px}
.ft-col a{color:var(--ink-3)}
.ft-col a:hover{color:var(--accent)}
.ft-phone{color:var(--ink);font-weight:600;font-size:18px}
.ft-phone:hover{color:var(--accent)}
.ft-hours{color:var(--muted);font-size:13px}
.ft-social-row{display:flex;gap:10px;margin-top:4px}
.ft-social{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s,background-color .2s,color .2s;color:var(--ink)}
.ft-social:hover{border-color:var(--ink);background-color:var(--ink);color:#fff}
.ft-social img{width:22px;height:22px;display:block}
.ft-legal-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:26px;font-size:13px}
.ft-legal-links a{color:var(--ink-3)}
.ft-legal-links a:hover{color:var(--accent)}
.ft-details{margin-top:24px}
.ft-details summary{cursor:pointer;list-style:none;font-size:13px;font-weight:600;color:var(--ink-3);display:inline-flex;align-items:center;gap:8px}
.ft-details summary::-webkit-details-marker{display:none}
.ft-details summary .chev{color:var(--muted-3)}
.ft-details-body{margin-top:16px;font-size:11.5px;line-height:1.6;color:var(--muted-3);display:flex;flex-direction:column;gap:12px}
.ft-details-body p{margin:0}
.ft-copy{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);font-size:12px;color:var(--muted-3)}

/* ===== Mobile (single breakpoint) ===== */
@media(max-width:760px){
  .vbar-red,.vbar-label{display:none!important}
  header{padding:10px 16px!important;gap:10px!important}
  .hd-tagline,.hd-adv,.hd-phone{display:none!important}
  .hero{min-height:0!important;height:auto!important}
  .hero-photo{position:relative!important;order:2!important;width:100%!important;aspect-ratio:1!important;height:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important}
  .hero-text{order:1!important;width:100%!important;padding:92px 20px 30px!important;justify-content:flex-start!important}
  .hero-headline{white-space:normal!important}
  .hero-headline > span{font-size:clamp(38px,11vw,60px)!important}
  .hero-price-row,.hero-price-foot{width:auto!important;max-width:100%!important;flex-wrap:wrap!important}
  .hero-rail{position:relative!important;order:3!important;right:auto!important;left:auto!important;bottom:auto!important;top:auto!important;width:100%!important;max-width:100%!important;border-radius:0!important;box-shadow:none!important;border-left:none!important;border-right:none!important;border-top:1px solid var(--line)!important;background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;padding:16px 20px!important}
  .style-rail{flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .style-rail::-webkit-scrollbar{display:none}
  .style-chip{flex:0 0 auto!important}
  .sec-portfolio,.sec-crash,.sec-factory,.sec-reviews{padding-left:20px!important;padding-right:20px!important}
  .pf-filter{flex-wrap:nowrap!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  .pf-filter::-webkit-scrollbar{display:none}
  .pf-filter>button{flex:0 0 auto!important}
  .pf-grid{column-count:1!important}
  .pf-wrap[style*="max-height"]{max-height:1960px!important}
  .crash-grid{grid-template-columns:1fr!important;gap:24px!important}
  .crash-strip{margin-left:-20px!important;margin-right:-20px!important;padding-left:20px!important;padding-right:20px!important}
  .crash-facts{grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:1fr!important;background:linear-gradient(var(--line),var(--line)) 0 50%/100% 1px no-repeat!important}
  .crash-facts>div{padding:clamp(24px,3vh,32px) 16px!important}
  .crash-facts>div:nth-child(odd){border-left:none!important}
  .fact-nums{grid-template-columns:repeat(2,1fr)!important;grid-auto-rows:1fr!important;margin-left:-20px!important;margin-right:-20px!important;padding-left:20px!important;padding-right:20px!important;background:linear-gradient(var(--line),var(--line)) 0 50%/100% 1px no-repeat!important}
  .fact-nums>div{padding:clamp(24px,3vh,32px) 16px!important}
  .fact-nums>div:nth-child(odd){border-left:none!important}
  .rev-grid{grid-template-columns:1fr!important}
  .sec-promo .section-head,.car-viewport{padding-left:20px!important;padding-right:20px!important}
  .promo-card{flex:0 0 82vw!important}
  .arrows{display:none!important}
  .pf-modal{grid-template-columns:1fr!important;height:auto!important;max-height:90vh!important;overflow-y:auto!important}
  .pf-modal-img{aspect-ratio:4/3!important;min-height:0!important}
  .stu-cta{width:calc(100% - 20px)!important;height:64px!important;font-size:16px!important;padding:0!important}
  .hero-cham{right:auto!important;left:20%!important;top:12%!important;width:58px!important;height:58px!important}
  .hero-cham-ring{right:auto!important;left:20%!important;top:12%!important;width:66px!important;height:66px!important}
  .stu-grid{grid-template-columns:1fr!important;gap:28px!important}
  .sec-studios .section-head{padding-left:20px!important;padding-right:20px!important}
  .stu-left{padding-left:20px!important}
  .stu-pad{padding-left:16px!important;padding-right:0!important}
  .stu-card{flex:0 0 78vw!important}
  .review-link{display:none!important}
  .stu-cta-wrap{display:block!important}
  footer{padding-left:20px!important;padding-right:20px!important}
}
