
:root{
  --bg:#f8f4ee;--paper:#fffdf9;--ink:#2f241d;--muted:#75685d;--gold:#a77c51;
  --line:#e5d7c7;--soft:#eee3d7;--dark:#241c17;--white:#fff;
  --shadow:0 18px 55px rgba(64,42,25,.10);--radius:28px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
h1,h2,h3,.brand-mark{font-family:Georgia,'Times New Roman',serif}
h1{font-size:clamp(46px,6.4vw,92px);line-height:.96;letter-spacing:-.04em;margin:18px 0 26px}
h2{font-size:clamp(34px,4vw,58px);line-height:1.02;letter-spacing:-.025em;margin:10px 0 0}
h3{font-size:26px;margin:8px 0 10px}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:var(--gold)}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:28px;justify-content:space-between;padding:15px max(22px,4vw);background:rgba(248,244,238,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(167,124,81,.13)}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;font-size:22px;color:var(--gold)}
.brand b{display:block;font-size:14px}.brand small{display:block;color:var(--muted);margin-top:2px}
nav{display:flex;gap:26px;font-size:14px}nav a:hover{color:var(--gold)}
.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:999px;padding:16px 24px;background:var(--dark);color:#fff;font-weight:800;cursor:pointer;transition:.2s transform,.2s background}.btn:hover{transform:translateY(-1px);background:#3b2c23}.btn-small{padding:11px 18px;font-size:13px}.btn-ghost{background:rgba(255,255,255,.78);color:var(--dark);border:1px solid rgba(255,255,255,.7)}
.hero{min-height:800px;position:relative;display:grid;align-items:center;overflow:hidden;background:#d7c4af}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,22,18,.84) 0%,rgba(29,22,18,.55) 44%,rgba(29,22,18,.08) 80%),url('assets/hero-main.jpg?v=7') center 48%/cover no-repeat;transform:scale(1.01)}
.hero-content{position:relative;z-index:2;max-width:780px;padding:90px max(28px,7vw);color:white}.hero .eyebrow{color:#e8cba9}.hero p{font-size:20px;line-height:1.55;max-width:650px;color:#f6eee5}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:34px 0}
.hero-facts{display:flex;gap:38px;border-top:1px solid rgba(255,255,255,.25);padding-top:25px;margin-top:50px}.hero-facts div{display:flex;flex-direction:column}.hero-facts strong{font:700 34px Georgia}.hero-facts span{font-size:12px;color:#eadfd4;margin-top:5px}
.trust-strip{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;padding:22px;background:var(--dark);color:#e9ddd1;font-size:12px;text-transform:uppercase;letter-spacing:.14em}.trust-strip i{width:4px;height:4px;border-radius:50%;background:var(--gold)}
.section{max-width:1240px;margin:0 auto;padding:100px 28px}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}.intro p{font-size:20px;line-height:1.7;color:var(--muted);margin:0 0 4px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-head>p{max-width:450px;line-height:1.55}
.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:30px}.filter{border:1px solid var(--line);background:transparent;padding:11px 16px;border-radius:999px;cursor:pointer;color:var(--muted)}.filter.active{background:var(--dark);color:#fff;border-color:var(--dark)}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 28px rgba(55,36,22,.05);display:flex;flex-direction:column}.product-media{height:260px;background:#efe7dd;overflow:hidden;position:relative}.product-media img{width:100%;height:100%;object-fit:contain;object-position:center;transition:.3s;background:#f8f4ee}.product:hover img{transform:scale(1.025)}.product-badge{position:absolute;top:14px;left:14px;background:rgba(255,253,249,.92);backdrop-filter:blur(8px);padding:8px 11px;border-radius:999px;font-size:11px;font-weight:800}
.product-body{padding:22px;display:flex;flex-direction:column;flex:1}.product-cat{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:800}.product h3{font-size:24px}.product p{color:var(--muted);line-height:1.5;min-height:48px}.price-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.price strong{display:block;font-size:22px}.price small{color:var(--muted)}.add{width:46px;height:46px;border-radius:50%;border:0;background:var(--soft);font-size:23px;cursor:pointer;color:var(--ink)}.add:hover{background:var(--dark);color:white}
.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.solution-card{min-height:520px;border-radius:32px;background-size:cover;background-position:center;display:flex;align-items:end;overflow:hidden;position:relative}.solution-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(28,20,16,.82),rgba(28,20,16,.06) 70%)}.solution-card.wedding{background-image:url('assets/sweetheart-table.jpg')}.solution-card.business{background-image:url('assets/business-event.png')}.solution-card.buffet{background-image:url('assets/buffet-event.png')}.solution-copy{position:relative;color:#fff;padding:30px}.solution-copy span{font-size:12px;color:#e6c69e}.solution-copy h3{font-size:34px}.solution-copy p{color:#eadfd4;line-height:1.5}
.service-band{background:var(--dark);color:#fff}.section-head.light h2{color:#fff}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.steps>div{border-top:1px solid rgba(255,255,255,.22);padding-top:20px}.steps b{color:#d6ae81;font-size:12px}.steps h3{font-size:22px}.steps p{color:#c8bbb0;line-height:1.5;font-size:14px}
.portfolio-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:330px 330px;gap:16px}.portfolio-grid figure{margin:0;position:relative;overflow:hidden;border-radius:26px}.portfolio-grid img{width:100%;height:100%;object-fit:cover}.portfolio-grid figcaption{position:absolute;left:16px;bottom:16px;background:rgba(255,253,249,.9);padding:9px 12px;border-radius:999px;font-size:12px}.p1{grid-row:1/3}.p4{grid-column:2/4}
.request-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.request-copy p{font-size:18px;line-height:1.65;color:var(--muted)}.request-benefits{display:flex;flex-direction:column;gap:10px;color:var(--gold);font-weight:700;margin-top:28px}
.request-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:var(--paper);border:1px solid var(--line);padding:24px;border-radius:30px;box-shadow:var(--shadow)}label{font-size:12px;font-weight:800;color:var(--muted)}input,select,textarea{display:block;width:100%;margin-top:8px;padding:15px;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--ink);outline:none}textarea{min-height:110px;resize:vertical}.wide{grid-column:1/-1}
footer{padding:60px max(25px,6vw);border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;background:#f3ece3}.footer-brand{display:flex;gap:12px;align-items:center}.footer-brand p{margin:4px 0;color:var(--muted)}footer>.muted{grid-column:1/-1;font-size:12px}
.cartbar{position:fixed;z-index:30;left:50%;bottom:18px;transform:translate(-50%,130px);width:min(620px,calc(100% - 28px));background:var(--dark);color:white;border-radius:999px;padding:10px 10px 10px 22px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 20px 60px rgba(0,0,0,.3);transition:.25s}.cartbar.show{transform:translate(-50%,0)}.cartbar div{display:flex;gap:16px;align-items:center}.cartbar span{color:#d8c6b4;font-size:13px}
.modal{position:fixed;z-index:50;inset:0;background:rgba(32,24,19,.55);display:none;place-items:center;padding:18px}.modal.open{display:grid}.modal-card{width:min(720px,100%);background:var(--paper);border-radius:30px;padding:32px;position:relative}.modal-card h2{font-size:40px}.modal-card textarea{height:320px;margin:20px 0}.modal-close{position:absolute;right:20px;top:18px;background:none;border:0;font-size:32px;cursor:pointer;color:var(--muted)}
@media(max-width:980px){nav{display:none}.catalog-grid{grid-template-columns:repeat(2,1fr)}.solution-grid{grid-template-columns:1fr}.solution-card{min-height:420px}.steps{grid-template-columns:repeat(2,1fr)}.intro,.request-section{grid-template-columns:1fr;gap:35px}.portfolio-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 300px 300px}.p1{grid-row:auto}.p4{grid-column:1/3}.hero{min-height:720px}}
@media(max-width:640px){.topbar .btn{display:none}.topbar{padding:11px 16px}.brand small{display:none}.hero-content{padding:70px 22px}.hero-facts{gap:18px;flex-wrap:wrap}.hero-facts strong{font-size:28px}.section{padding:72px 18px}.section-head{display:block}.catalog-grid{grid-template-columns:1fr}.product-media{height:245px}.steps{grid-template-columns:1fr}.portfolio-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,260px)}.p4{grid-column:auto}.request-form{grid-template-columns:1fr}.wide{grid-column:auto}footer{grid-template-columns:1fr}.solution-card{min-height:390px}.trust-strip{justify-content:flex-start}}

.modal-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-ghost-dark{background:transparent;color:var(--dark);border:1px solid var(--line)}
.btn-ghost-dark:hover{background:var(--soft);color:var(--dark)}
.send-status{display:block;margin-top:12px;font-size:13px}
.send-status.success{color:#2f7d45}
.send-status.error{color:#a44738}
button:disabled{opacity:.65;cursor:wait}

.hero-benefits{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px 28px;border-top:1px solid rgba(255,255,255,.25);padding-top:24px;margin-top:42px;max-width:720px}
.hero-benefits span{position:relative;padding-left:22px;font-size:13px;line-height:1.45;color:#f0e7de}
.hero-benefits span:before{content:"✓";position:absolute;left:0;top:-1px;color:#e8cba9;font-weight:800}
.contact-card{display:flex;justify-content:space-between;align-items:center;gap:42px;padding:44px 48px;border:1px solid var(--line);border-radius:32px;background:var(--paper);box-shadow:0 10px 35px rgba(55,36,22,.06)}
.contact-card p{max-width:680px;color:var(--muted);line-height:1.65;font-size:17px}
.contact-details{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.contact-link{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border:1px solid var(--line);border-radius:18px;background:#fff;min-width:210px}
.contact-link span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);font-weight:800}
.contact-link strong{font-size:18px}
.contact-actions{display:flex;flex-direction:column;gap:10px;min-width:235px}
.contact-ghost{background:transparent;color:var(--dark);border:1px solid var(--line)}
.contact-ghost:hover{background:var(--soft);color:var(--dark)}
.contact-secondary{text-align:center;font-size:12px;color:var(--muted)}
.footer-contacts{display:flex;gap:20px;justify-content:flex-end;flex-wrap:wrap;font-weight:700}
.footer-contacts a:hover{color:var(--gold)}
@media(max-width:760px){.contact-card{display:block;padding:30px 24px}.contact-actions{margin-top:24px}.footer-contacts{justify-content:flex-start}}
@media(max-width:640px){.hero-benefits{grid-template-columns:1fr;gap:10px;margin-top:34px}}

/* v10: товарные фото всегда показываются целиком */
.product-media{background:#f8f4ee;overflow:hidden}
.product-media img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* v11: товарные фото не обрезаются */
.product-media{background:#f8f4ee;overflow:hidden}
.product-media img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}

/* v12: финальная фиксация отображения товарных фото */
.product-media img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
}


/* ===== v18: contact showcase + footer redesign ===== */
.contact-section-v18{max-width:1460px;padding-top:92px;padding-bottom:72px}
.contact-showcase-v18{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.78fr) minmax(250px,.55fr);min-height:510px;border:1px solid var(--line);border-radius:34px;background:linear-gradient(110deg,#fffdf9 0%,#fffaf4 58%,#f1e5d7 100%);box-shadow:0 20px 55px rgba(64,42,25,.08)}
.contact-copy-v18{position:relative;z-index:2;padding:58px 28px 48px 66px;align-self:center}
.contact-copy-v18 h2{font-size:clamp(44px,4.2vw,68px);max-width:620px;margin:12px 0 18px}
.contact-copy-v18>p{max-width:650px;margin:0;color:var(--muted);font-size:18px;line-height:1.58}
.contact-benefits-v18{display:flex;gap:26px;margin-top:38px;flex-wrap:wrap}
.contact-benefits-v18>div{display:flex;align-items:center;gap:11px;padding-right:24px;border-right:1px solid var(--line)}
.contact-benefits-v18>div:last-child{border-right:0;padding-right:0}
.contact-benefits-v18 span{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:var(--soft);color:#714c31;font:700 20px Georgia}
.contact-benefits-v18 b{font-size:13px;line-height:1.4;font-weight:600;color:#51443a}
.contact-actions-v18{position:relative;z-index:3;align-self:center;padding:48px 18px 42px 10px}
.contact-btn-v18{min-height:66px;width:100%;display:grid;grid-template-columns:42px 1fr 26px;align-items:center;gap:10px;border-radius:22px;padding:8px 18px;font-weight:800;transition:.2s transform,.2s box-shadow,.2s background;margin-bottom:12px}
.contact-btn-v18:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(55,36,22,.13)}
.contact-btn-primary-v18{background:var(--dark);color:#fff;border:1px solid var(--dark)}
.contact-btn-telegram-v18{background:rgba(255,253,249,.94);color:var(--ink);border:1px solid var(--line)}
.contact-btn-icon-v18{font-size:24px;text-align:center}
.telegram-icon-v18{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#249bd7;color:white;font-size:17px;padding-right:2px}
.contact-arrow-v18{font-size:26px;font-weight:400;text-align:right}
.contact-inline-v18{display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap;margin-top:25px;font-size:14px;font-weight:700;color:#503c2f}
.contact-inline-v18 i{width:1px;height:23px;background:var(--line)}
.contact-inline-v18 a:hover{color:var(--gold)}
.contact-area-v18{text-align:center;margin:22px 0 0!important;color:#948377!important;font-size:13px!important}
.contact-scene-v18{position:relative;min-height:100%;background:linear-gradient(90deg,rgba(255,250,244,.9) 0%,rgba(255,250,244,.14) 35%),url('assets/contact-scene.jpg?v=18') 54% center/cover no-repeat}
.contact-scene-v18:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,244,.72),transparent 45%)}
.contact-scene-script-v18{position:absolute;z-index:2;right:30px;top:58px;color:#9a653d;font:italic 30px/1.05 "Brush Script MT","Segoe Script",cursive;transform:rotate(-5deg);text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.75)}

.site-footer-v18{display:block!important;padding:46px max(28px,5vw) 24px!important;background:#f3ece3;border-top:1px solid var(--line)}
.footer-main-v18{display:grid;grid-template-columns:1.05fr 1.55fr .85fr;gap:52px;align-items:center;max-width:1460px;margin:0 auto;padding-bottom:34px}
.footer-brand-v18{display:flex;align-items:flex-start;gap:16px}.footer-mark-v18{width:54px;height:54px;flex:0 0 54px}
.footer-brand-v18 b{display:block;font:700 21px Georgia}.footer-brand-v18 p{margin:5px 0 20px;color:var(--muted);font-size:13px}.footer-brand-v18 small{text-transform:uppercase;letter-spacing:.24em;color:#9b8877;font-size:9px;line-height:1.7}
.footer-nav-v18{display:flex!important;gap:23px!important;justify-content:center;flex-wrap:wrap;font-size:13px!important}.footer-nav-v18 a:hover{color:var(--gold)}
.footer-contact-v18{border-left:1px solid #d7c6b5;padding-left:34px;display:flex;flex-direction:column;gap:12px;font-size:14px}.footer-contact-v18 a{font-weight:700}.footer-contact-v18 a:hover{color:var(--gold)}.footer-contact-v18 span{font-size:12px;color:var(--muted);margin-top:3px}
.footer-bottom-v18{max-width:1460px;margin:0 auto;border-top:1px solid #dccdbc;padding-top:20px;display:flex;justify-content:space-between;gap:24px;color:#9a8777;font-size:11px}

@media(max-width:1150px){
 .contact-showcase-v18{grid-template-columns:1.15fr .85fr}.contact-scene-v18{display:none}.contact-copy-v18{padding-left:46px}.footer-main-v18{grid-template-columns:1fr 1fr}.footer-nav-v18{order:3;grid-column:1/-1;justify-content:flex-start!important}.footer-contact-v18{border-left:0;padding-left:0;align-items:flex-end}
}
@media(max-width:760px){
 .contact-section-v18{padding-top:64px;padding-bottom:54px}.contact-showcase-v18{display:block;min-height:auto;border-radius:28px}.contact-copy-v18{padding:38px 24px 18px}.contact-copy-v18 h2{font-size:42px}.contact-copy-v18>p{font-size:16px}.contact-benefits-v18{gap:14px;margin-top:28px}.contact-benefits-v18>div{border-right:0;padding-right:0;width:100%}.contact-actions-v18{padding:12px 24px 34px}.contact-inline-v18{display:grid;gap:7px;justify-items:center}.contact-inline-v18 i{display:none}.footer-main-v18{grid-template-columns:1fr;gap:28px}.footer-contact-v18{align-items:flex-start}.footer-nav-v18{grid-column:auto!important;justify-content:flex-start!important}.footer-bottom-v18{display:block}.footer-bottom-v18 span{display:block;margin-top:8px}
}


/* v19 — ввод количества товара прямо в карточке */
.qty-control{
  display:grid;
  grid-template-columns:36px 52px 36px;
  align-items:center;
  flex:0 0 auto;
  border:1px solid var(--line);
  border-radius:999px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 4px 14px rgba(55,36,22,.04);
}
.qty-btn{
  width:36px;
  height:40px;
  border:0;
  background:var(--soft);
  color:var(--ink);
  font-size:20px;
  line-height:1;
  cursor:pointer;
  transition:.18s background,.18s color;
}
.qty-btn:hover{
  background:var(--dark);
  color:#fff;
}
.qty-input{
  width:52px!important;
  height:40px;
  margin:0!important;
  padding:0 4px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  text-align:center;
  font-weight:800;
  font-size:14px;
  color:var(--ink);
  outline:none;
  appearance:textfield;
  -moz-appearance:textfield;
}
.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
.qty-input:focus{
  box-shadow:inset 0 0 0 2px #d9b98f;
}
@media(max-width:640px){
  .price-row{align-items:center}
  .qty-control{grid-template-columns:34px 48px 34px}
  .qty-btn{width:34px;height:38px}
  .qty-input{width:48px!important;height:38px}
}


/* v20 — более выразительные малые подписи / eyebrow */
.eyebrow,
.hero .eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  width:max-content;
  max-width:100%;
  margin-bottom:14px;
  color:#a86f32;
  font-size:13px !important;
  line-height:1.2;
  font-weight:800 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase;
}

.eyebrow::after,
.hero .eyebrow::after{
  content:"";
  display:block;
  width:54px;
  height:1px;
  flex:0 0 54px;
  background:rgba(168,111,50,.55);
}

.hero .eyebrow{
  color:#f2c991;
  font-size:14px !important;
  margin-bottom:16px;
  text-shadow:0 1px 12px rgba(0,0,0,.22);
}

.hero .eyebrow::after{
  width:68px;
  flex-basis:68px;
  background:rgba(242,201,145,.72);
}

/* Номера 01 / 02 / 03 в карточках готовых решений */
.solution-copy > span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:5px;
  color:#d6a66d !important;
  font-size:13px !important;
  line-height:1;
  font-weight:800 !important;
  letter-spacing:.08em;
}

.solution-copy > span::after{
  content:"";
  width:28px;
  height:1px;
  background:rgba(214,166,109,.78);
}

/* Чуть аккуратнее расстояние между подписью и крупным заголовком */
.section-head .eyebrow + h2,
.section-title .eyebrow + h2{
  margin-top:0;
}

@media(max-width:640px){
  .eyebrow,
  .hero .eyebrow{
    font-size:11px !important;
    gap:9px;
    letter-spacing:.09em !important;
  }

  .eyebrow::after{
    width:34px;
    flex-basis:34px;
  }

  .hero .eyebrow::after{
    width:42px;
    flex-basis:42px;
  }

  .solution-copy > span{
    font-size:11px !important;
  }
}


/* v21 — цифры 01 / 02 / 03 сделать заметнее */
.solution-copy > span{
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(28, 18, 14, 0.55);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  color: #ffd08f !important;
  font-size: 14px !important;
  line-height: 1;
  font-weight: 900 !important;
  letter-spacing: .10em;
  text-shadow: 0 1px 8px rgba(0,0,0,.45);
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

.solution-copy > span::after{
  content:"";
  width: 24px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  opacity: .95;
}

@media(max-width: 640px){
  .solution-copy > span{
    font-size: 12px !important;
    padding: 5px 8px;
    gap: 8px;
  }
  .solution-copy > span::after{
    width: 18px;
  }
}
