/* ══════════════════════════════════════
   AVA — Корпусная мебель | Styles
══════════════════════════════════════ */
:root {
  --bg: #FAF7F2;
  --white: #FFFFFF;
  --ink: #1C1B19;
  --ink60: rgba(28,27,25,.6);
  --accent: #B5835A;
  --accent-bg: rgba(181,131,90,.1);
  --border: #E2DDD8;
  --light: #F0EBE4;
  --muted: #8A8480;
  --fh: 'Cormorant Garamond', serif;
  --fb: 'Inter', sans-serif;
  --r: 8px;
  --rf: 100px;
  --shadow: 0 4px 32px rgba(28,27,25,.07);
  --ease: .4s cubic-bezier(.25,.46,.45,.94);
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--ink); font-family:var(--fb); font-size:16px; line-height:1.6; text-wrap:pretty; -webkit-font-smoothing:antialiased; }
img { display:block; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,h4 { font-family:var(--fh); line-height:1.15; }
h1 { font-size:clamp(3rem,5.5vw,5.2rem); font-weight:500; letter-spacing:-.01em; }
h2 { font-size:clamp(2.2rem,3.8vw,3.8rem); font-weight:500; letter-spacing:-.01em; }
h3 { font-size:clamp(1.4rem,2vw,2rem); font-weight:500; }
.container { max-width:1280px; margin:0 auto; padding:0 56px; }
.divider { border:none; border-top:1px solid var(--border); }
.section { padding:96px 0; }
.sec-label { display:block; font-size:.72rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:12px; }
.sec-sub { font-size:1.05rem; color:var(--ink60); max-width:560px; margin-bottom:52px; line-height:1.7; }

/* Buttons */
.btn-primary { display:inline-flex; align-items:center; gap:6px; background:var(--accent); color:#fff; font-family:var(--fb); font-size:.88rem; font-weight:500; padding:14px 28px; border-radius:var(--rf); border:none; cursor:pointer; transition:background var(--ease),transform .2s; }
.btn-primary:hover { background:#9E7149; transform:translateY(-1px); }
.btn-ghost { display:inline-flex; align-items:center; gap:6px; background:transparent; color:var(--ink); font-family:var(--fb); font-size:.88rem; font-weight:400; padding:13px 28px; border-radius:var(--rf); border:1.5px solid var(--border); cursor:pointer; transition:border-color var(--ease),background var(--ease); }
.btn-ghost:hover { border-color:var(--ink); background:var(--light); }

/* Photo placeholder */
.photo-ph { background:repeating-linear-gradient(-45deg,#E0DBD5,#E0DBD5 8px,#EAE5DF 8px,#EAE5DF 16px); border-radius:var(--r); position:relative; display:flex; align-items:center; justify-content:center; }
.photo-ph::after { content:attr(data-label); font-family:'Courier New',monospace; font-size:11px; color:var(--muted); background:rgba(250,247,242,.9); padding:4px 10px; border-radius:4px; text-align:center; max-width:80%; line-height:1.4; }

/* Reveal animation */
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
.rd1 { transition-delay:.1s; }
.rd2 { transition-delay:.2s; }
.rd3 { transition-delay:.3s; }
.rd4 { transition-delay:.4s; }

/* ── HEADER ── */
.site-header { position:sticky; top:0; z-index:500; background:rgba(250,247,242,.92); backdrop-filter:blur(12px); border-bottom:1px solid rgba(226,221,216,.7); transition:box-shadow var(--ease); }
.site-header.scrolled { box-shadow:var(--shadow); }
.header-inner { max-width:1280px; margin:0 auto; padding:0 56px; height:68px; display:flex; align-items:center; gap:36px; }
.site-logo { font-family:var(--fh); font-size:1.65rem; font-weight:600; letter-spacing:.3em; flex-shrink:0; }
.site-nav { display:flex; gap:28px; list-style:none; }
.site-nav a { font-size:.82rem; color:var(--muted); transition:color .2s; }
.site-nav a:hover { color:var(--ink); }
.header-phone { font-size:.82rem; font-weight:500; margin-left:auto; white-space:nowrap; }
.header-cta { background:var(--ink); color:#fff; font-family:var(--fb); font-size:.78rem; font-weight:500; padding:9px 18px; border-radius:var(--rf); white-space:nowrap; transition:background .2s; flex-shrink:0; }
.header-cta:hover { background:var(--accent); }
.mob-btn { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px; margin-left:auto; }
.mob-btn span { display:block; width:22px; height:2px; background:var(--ink); border-radius:1px; transition:transform .3s; }
.mob-nav { display:none; background:var(--bg); border-bottom:1px solid var(--border); padding:12px 20px; }
.mob-nav.open { display:block; }
.mob-nav a { display:block; padding:11px 0; font-size:1rem; border-bottom:1px solid var(--border); }
.mob-nav a:last-child { border-bottom:none; }
@media(max-width:960px){ .site-nav,.header-phone,.header-cta { display:none; } .mob-btn { display:flex; } .header-inner { padding:0 20px; } }

/* ── HERO ── */
.hero { display:grid; grid-template-columns:3fr 2fr; min-height:calc(100vh - 68px); }
.hero-media { overflow:hidden; }
.hero-media img { width:100%; height:100%; object-fit:cover; }
.hero-content { display:flex; flex-direction:column; justify-content:center; padding:80px 60px 80px 56px; }
.hero-label { font-size:.72rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.hero-title { margin-bottom:20px; letter-spacing:.01em; font-weight:400; line-height:1.08; }
.hero-sub { font-size:1rem; color:var(--ink60); line-height:1.7; margin-bottom:36px; }
.hero-actions { display:flex; flex-direction:column; gap:12px; margin-bottom:36px; }
.hero-badges { display:flex; flex-wrap:wrap; gap:8px; }
.hero-badge { font-size:.72rem; color:var(--muted); border:1px solid var(--border); border-radius:var(--rf); padding:5px 12px; }
@media(max-width:900px){ .hero { grid-template-columns:1fr; } .hero-media { height:56vw; min-height:260px; } .hero-content { padding:36px 20px; } .hero-actions { flex-direction:row; flex-wrap:wrap; } }

/* ── QUIZ ── */
.quiz-section { background:var(--ink); padding:80px 0; }
.quiz-inner { max-width:620px; margin:0 auto; padding:0 56px; }
.quiz-hrow { display:flex; align-items:center; gap:16px; margin-bottom:40px; }
.quiz-cnt { font-size:.78rem; color:rgba(255,255,255,.35); letter-spacing:.06em; white-space:nowrap; }
.quiz-pbar { flex:1; height:2px; background:rgba(255,255,255,.12); border-radius:1px; overflow:hidden; }
.quiz-pfill { height:100%; background:var(--accent); border-radius:1px; transition:width .45s ease; width:25%; }
.quiz-step { display:none; }
.quiz-step.active { display:block; animation:fadeInUp .35s ease; }
@keyframes fadeInUp { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
.quiz-qlabel { font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.3); margin-bottom:10px; }
.quiz-q { font-family:var(--fh); font-size:clamp(2rem,4vw,3rem); font-weight:400; color:#fff; margin-bottom:28px; line-height:1.15; letter-spacing:.01em; }
.quiz-opts { display:flex; flex-direction:column; gap:10px; margin-bottom:24px; }
.quiz-opt { display:flex; align-items:center; gap:14px; background:transparent; border:1.5px solid rgba(255,255,255,.15); border-radius:10px; padding:13px 16px; cursor:pointer; color:rgba(255,255,255,.7); font-family:var(--fb); transition:border-color .2s,background .2s,color .2s; }
.quiz-opt:hover { border-color:rgba(255,255,255,.45); background:rgba(255,255,255,.05); color:#fff; }
.quiz-opt.sel { border-color:var(--accent); background:rgba(181,131,90,.14); color:#fff; }
.opt-key { width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; font-size:.72rem; font-weight:600; flex-shrink:0; }
.quiz-opt.sel .opt-key { background:var(--accent); }
.opt-text { display:flex; flex-direction:column; gap:2px; text-align:left; }
.opt-label { font-size:.92rem; font-weight:500; }
.opt-sub { font-size:.78rem; color:rgba(255,255,255,.4); }
.quiz-inputs { margin-bottom:20px; }
.q-field { margin-bottom:14px; }
.q-field label { display:block; font-size:.78rem; color:rgba(255,255,255,.4); margin-bottom:6px; }
.q-field input { width:100%; background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.15); border-radius:10px; padding:13px 16px; color:#fff; font-family:var(--fb); font-size:.92rem; outline:none; transition:border-color .2s; }
.q-field input:focus { border-color:var(--accent); }
.q-field input::placeholder { color:rgba(255,255,255,.22); }
.q-note { font-size:.78rem; color:rgba(255,255,255,.3); font-style:italic; margin-bottom:20px; }
.quiz-nav { display:flex; gap:10px; margin-bottom:18px; }
.btn-qnext,.btn-qsubmit { background:var(--accent); color:#fff; border:none; border-radius:var(--rf); padding:12px 26px; font-family:var(--fb); font-size:.88rem; font-weight:500; cursor:pointer; transition:background .2s; }
.btn-qnext:hover,.btn-qsubmit:hover { background:#9E7149; }
.btn-qback { background:transparent; color:rgba(255,255,255,.45); border:1.5px solid rgba(255,255,255,.15); border-radius:var(--rf); padding:12px 18px; font-family:var(--fb); font-size:.88rem; cursor:pointer; transition:color .2s,border-color .2s; }
.btn-qback:hover { color:#fff; border-color:rgba(255,255,255,.45); }
.ms-row { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:18px; }
.ms-row span { font-size:.78rem; color:rgba(255,255,255,.4); }
.ms-btn { background:rgba(255,255,255,.07); border:1.5px solid rgba(255,255,255,.15); border-radius:var(--rf); padding:7px 18px; color:rgba(255,255,255,.55); font-family:var(--fb); font-size:.8rem; cursor:pointer; transition:all .2s; }
.ms-btn.on { background:var(--accent); border-color:var(--accent); color:#fff; }
.quiz-consent { font-size:.72rem; color:rgba(255,255,255,.28); line-height:1.5; }
.quiz-consent a { color:rgba(255,255,255,.45); border-bottom:1px solid rgba(255,255,255,.2); }
.quiz-bottom { text-align:center; margin-top:44px; padding-top:32px; border-top:1px solid rgba(255,255,255,.08); }
.quiz-bottom p { font-size:.8rem; color:rgba(255,255,255,.3); display:inline-block; border:1px solid rgba(255,255,255,.1); border-radius:var(--rf); padding:7px 20px; }
.quiz-success { display:none; text-align:center; padding:32px 0; }
.success-check { width:60px; height:60px; border-radius:50%; background:var(--accent); color:#fff; font-size:1.6rem; display:flex; align-items:center; justify-content:center; margin:0 auto 20px; }
.quiz-success h2 { color:#fff; font-size:1.7rem; margin-bottom:10px; }
.quiz-success p { color:rgba(255,255,255,.5); font-size:.95rem; }
@media(max-width:768px){ .quiz-inner { padding:0 20px; } }

/* ── PORTFOLIO ── */
.pf-filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:40px; }
.pf-btn { padding:8px 20px; border-radius:var(--rf); border:1.5px solid var(--border); background:transparent; color:var(--muted); font-family:var(--fb); font-size:.82rem; cursor:pointer; transition:all .2s; }
.pf-btn:hover,.pf-btn.on { background:var(--ink); border-color:var(--ink); color:#fff; }
.masonry { columns:3 240px; column-gap:20px; }
.pf-card { break-inside:avoid; margin-bottom:20px; display:inline-block; width:100%; transition:opacity .3s,transform .3s; }
.pf-card.hidden { display:none; }
.pf-img { width:100%; object-fit:cover; border-radius:var(--r); display:block; }
.pf-ph { width:100%; border-radius:var(--r); }
.pf-info { padding:12px 0 0; }
.pf-cat { font-size:.68rem; text-transform:uppercase; letter-spacing:.12em; color:var(--accent); font-weight:500; margin-bottom:3px; }
.pf-name { font-family:var(--fh); font-size:1.1rem; font-weight:500; margin-bottom:3px; line-height:1.3; }
.pf-meta { font-size:.78rem; color:var(--muted); }
.pf-price { font-size:.85rem; font-weight:600; margin-top:4px; }

/* ── PRODUCT LINES ── */
.lines-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.line-card { background:var(--white); border-radius:16px; padding:44px 40px; border:1px solid var(--border); transition:box-shadow var(--ease); }
.line-card:hover { box-shadow:var(--shadow); }
.line-card.prem { border-top:3px solid var(--accent); }
.line-card.prac { border-top:3px solid var(--border); }
.line-badge { display:inline-block; font-size:.68rem; font-weight:500; text-transform:uppercase; letter-spacing:.1em; padding:4px 12px; border-radius:var(--rf); margin-bottom:18px; }
.lb-prac { background:var(--light); color:var(--muted); }
.lb-prem { background:var(--accent-bg); color:var(--accent); }
.line-name { font-size:1.8rem; margin-bottom:10px; font-weight:400; }
.line-desc { font-size:.9rem; color:var(--ink60); line-height:1.7; margin-bottom:22px; }
.line-feats { list-style:none; margin-bottom:24px; }
.line-feats li { font-size:.86rem; padding:6px 0; border-bottom:1px solid var(--border); display:flex; gap:10px; }
.line-feats li:last-child { border-bottom:none; }
.line-feats li::before { content:'→'; color:var(--accent); flex-shrink:0; font-size:.8rem; margin-top:2px; }
.line-price { font-family:var(--fh); font-size:1.05rem; font-weight:600; }
.line-price em { font-family:var(--fb); font-size:.78rem; font-weight:400; color:var(--muted); font-style:normal; }
@media(max-width:768px){ .lines-grid { grid-template-columns:1fr; } }

/* ── PROCESS ── */
.process-section { background:var(--white); }
.timeline { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; position:relative; }
.timeline::before { content:''; position:absolute; top:23px; left:calc(10% + 12px); right:calc(10% + 12px); height:1px; background:var(--border); }
.tl-step { position:relative; text-align:center; }
.tl-circle { width:46px; height:46px; border-radius:50%; background:var(--bg); border:1.5px solid var(--border); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; font-family:var(--fb); font-size:.78rem; font-weight:500; letter-spacing:.04em; color:var(--muted); transition:all .3s; }
.tl-step:hover .tl-circle { background:var(--accent); border-color:var(--accent); color:#fff; }
.tl-title { font-family:var(--fh); font-size:1.1rem; font-weight:600; margin-bottom:6px; line-height:1.3; }
.tl-desc { font-size:.76rem; color:var(--muted); line-height:1.5; }
@media(max-width:900px){ .timeline { grid-template-columns:1fr; gap:0; } .timeline::before { display:none; } .tl-step { display:flex; gap:14px; text-align:left; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--border); } .tl-step:last-child { border-bottom:none; } .tl-circle { margin:0; flex-shrink:0; } .tl-body { padding-top:10px; } }

/* ── PRODUCTION ── */
.prod-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.prod-photos { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.prod-main { grid-column:1/-1; width:100%; height:240px; object-fit:cover; border-radius:var(--r); }
.prod-sm { width:100%; height:148px; object-fit:cover; border-radius:var(--r); }
.prod-ph-main { grid-column:1/-1; height:240px; border-radius:var(--r); }
.prod-ph-sm { height:148px; border-radius:var(--r); }
.prod-text p { font-size:.95rem; color:var(--ink60); line-height:1.8; margin-bottom:14px; }
.prod-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:28px; }
.stat { background:var(--white); border:1px solid var(--border); border-radius:var(--r); padding:18px 12px; text-align:center; }
.stat-n { font-family:var(--fh); font-size:2.6rem; font-weight:400; color:var(--accent); line-height:1; margin-bottom:4px; }
.stat-l { font-size:.74rem; color:var(--muted); }
@media(max-width:900px){ .prod-grid { grid-template-columns:1fr; gap:36px; } }

/* ── TESTIMONIALS ── */
.testi-section { background:var(--light); }
.testi-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:36px; }
.carousel-controls { display:flex; gap:10px; }
.cbtn { width:44px; height:44px; border-radius:50%; background:var(--white); border:1.5px solid var(--border); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1rem; color:var(--ink); transition:all .2s; }
.cbtn:hover { background:var(--ink); color:#fff; border-color:var(--ink); }
.carousel-wrap { overflow:hidden; }
.carousel-track { display:flex; gap:20px; transition:transform .5s cubic-bezier(.25,.46,.45,.94); }
.review-card { min-width:calc(33.33% - 14px); background:var(--white); border-radius:14px; padding:26px; border:1px solid var(--border); flex-shrink:0; }
.rv-head { display:flex; gap:12px; align-items:center; margin-bottom:14px; }
.rv-avatar { width:38px; height:38px; border-radius:50%; background:var(--accent-bg); display:flex; align-items:center; justify-content:center; font-family:var(--fh); font-size:.72rem; font-weight:700; color:var(--accent); flex-shrink:0; }
.rv-name { font-weight:600; font-size:.88rem; margin-bottom:2px; }
.rv-meta { font-size:.72rem; color:var(--muted); }
.rv-stars { color:var(--accent); font-size:.82rem; letter-spacing:2px; margin-bottom:10px; }
.rv-text { font-size:.86rem; color:var(--ink60); line-height:1.7; margin-bottom:14px; }
.rv-tag { font-size:.7rem; color:var(--muted); border:1px solid var(--border); border-radius:var(--rf); padding:3px 10px; display:inline-block; }
@media(max-width:900px){ .review-card { min-width:80%; } .testi-head { flex-direction:column; gap:16px; align-items:flex-start; } }

/* ── GEOGRAPHY ── */
.geo-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:24px; }
.geo-card { background:var(--white); border-radius:14px; padding:40px; border:1px solid var(--border); transition:box-shadow .3s; }
.geo-card:hover { box-shadow:var(--shadow); }
.geo-city { font-family:var(--fh); font-size:1.8rem; font-weight:400; margin-bottom:10px; }
.geo-addr { font-size:.9rem; color:var(--muted); line-height:1.6; margin-bottom:20px; }
.geo-note { font-size:.85rem; color:var(--muted); text-align:center; border-top:1px solid var(--border); padding-top:22px; }
.geo-note strong { color:var(--accent); }
@media(max-width:768px){ .geo-grid { grid-template-columns:1fr; } }

/* ── CONTACT ── */
.contact-section { background:var(--white); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.contact-text p { font-size:.95rem; color:var(--ink60); line-height:1.8; margin-bottom:28px; }
.c-detail { margin-bottom:10px; font-size:.88rem; }
.c-detail strong { color:var(--accent); margin-right:8px; }
.cform { display:flex; flex-direction:column; gap:16px; }
.cform-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.f-field label { display:block; font-size:.78rem; color:var(--muted); margin-bottom:6px; }
.f-field input { width:100%; background:var(--bg); border:1.5px solid var(--border); border-radius:10px; padding:13px 16px; font-family:var(--fb); font-size:.9rem; color:var(--ink); outline:none; transition:border-color .2s; }
.f-field input:focus { border-color:var(--accent); }
.cf-ms { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.cf-ms label { font-size:.78rem; color:var(--muted); }
.cf-ms-btn { padding:7px 16px; border:1.5px solid var(--border); border-radius:var(--rf); background:transparent; font-family:var(--fb); font-size:.8rem; color:var(--muted); cursor:pointer; transition:all .2s; }
.cf-ms-btn.on { background:var(--ink); border-color:var(--ink); color:#fff; }
.consent-row { display:flex; gap:12px; align-items:flex-start; }
.consent-row input { width:17px; height:17px; accent-color:var(--accent); margin-top:2px; flex-shrink:0; }
.consent-txt { font-size:.76rem; color:var(--muted); line-height:1.5; }
.consent-txt a { color:var(--accent); }
.btn-submit { width:100%; justify-content:center; font-size:.92rem; padding:15px; }
@media(max-width:900px){ .contact-grid { grid-template-columns:1fr; gap:36px; } .cform-row { grid-template-columns:1fr; } }

/* ── FOOTER ── */
.site-footer { background:var(--ink); color:rgba(255,255,255,.5); padding:36px 0; }
.footer-inner { max-width:1280px; margin:0 auto; padding:0 56px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:20px; }
.f-logo { font-family:var(--fh); font-size:1.3rem; font-weight:600; letter-spacing:.3em; color:#fff; }
.f-links { display:flex; gap:22px; flex-wrap:wrap; }
.f-links a { font-size:.78rem; transition:color .2s; }
.f-links a:hover { color:#fff; }
.f-social { display:flex; gap:10px; }
.soc { width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:700; color:rgba(255,255,255,.55); letter-spacing:.02em; transition:all .2s; font-style:normal; }
.soc:hover { background:var(--accent); color:#fff; border-color:var(--accent); }
.f-legal { width:100%; border-top:1px solid rgba(255,255,255,.07); padding-top:18px; font-size:.72rem; }
@media(max-width:768px){ .footer-inner { padding:0 20px; flex-direction:column; align-items:flex-start; } }

/* ── FLOAT BUTTONS ── */
.float-btns { position:fixed; bottom:24px; right:24px; display:flex; flex-direction:column; gap:10px; z-index:900; }
.float-btn { width:50px; height:50px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 16px rgba(0,0,0,.2); transition:transform .2s,box-shadow .2s; }
.float-btn:hover { transform:scale(1.09); box-shadow:0 6px 24px rgba(0,0,0,.28); }
.fbtg { background:#229ED9; }
.fbwa { background:#25D366; }
