:root{
  --cream:#f5eee4; --cream-2:#fffaf3; --ink:#24170f; --muted:#746457;
  --bronze:#9a6533; --gold:#c89b5b; --forest:#294235; --line:rgba(54,35,20,.16);
  --shadow:0 26px 70px rgba(60,36,18,.15); --radius:30px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif;line-height:1.6;overflow-x:hidden}body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.ambient{position:fixed;border-radius:50%;filter:blur(80px);opacity:.22;pointer-events:none;z-index:-2}.ambient-one{width:460px;height:460px;background:#d9a96e;top:-150px;left:-100px}.ambient-two{width:520px;height:520px;background:#819887;right:-180px;top:38vh}.section-pad{padding:105px clamp(24px,5vw,84px)}.eyebrow{margin:0 0 14px;letter-spacing:.2em;text-transform:uppercase;font-size:.72rem;font-weight:700;color:var(--bronze)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:500;line-height:1.05;margin:0}h1{font-size:clamp(3.2rem,7vw,7.4rem);letter-spacing:-.055em}h1 em{font-weight:400;color:var(--bronze)}h2{font-size:clamp(2.6rem,5vw,5.2rem);letter-spacing:-.045em}.site-header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:12px clamp(20px,4vw,58px);background:rgba(245,238,228,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand-mini{width:88px;height:55px;overflow:hidden;border-radius:12px;background:white}.brand-mini img{width:100%;height:100%;object-fit:cover}.main-nav{display:flex;justify-content:center;gap:clamp(18px,2.5vw,42px);font-size:.86rem}.main-nav a{position:relative}.main-nav a:after{content:'';position:absolute;height:1px;background:var(--bronze);left:0;right:100%;bottom:-5px;transition:.3s}.main-nav a:hover:after{right:0}.header-cta{border:1px solid var(--ink);padding:11px 18px;border-radius:999px;font-size:.79rem;white-space:nowrap}.menu-toggle{display:none;background:none;border:0}.hero{min-height:88vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:clamp(40px,6vw,100px);align-items:center;padding-top:70px}.hero-copy{max-width:820px}.hero-lead{font-size:clamp(1.05rem,1.4vw,1.3rem);color:var(--muted);max-width:710px;margin:30px 0}.hero-actions,.modal-actions,.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;padding:0 25px;border-radius:999px;font-size:.86rem;font-weight:700;transition:.25s;border:1px solid transparent;cursor:pointer}.button-primary{background:var(--ink);color:#fff}.button-primary:hover{background:var(--bronze);transform:translateY(-2px)}.button-ghost{border-color:rgba(36,23,15,.32);background:rgba(255,255,255,.35)}.button-ghost:hover{border-color:var(--bronze);color:var(--bronze)}.button-light{background:#fff;color:var(--ink)}.hero-note{margin-top:34px;color:var(--muted);font-size:.9rem}.hero-note span{color:var(--gold);margin-right:8px}.logo-frame{position:relative;background:rgba(255,255,255,.8);padding:18px;border-radius:50% 50% 28px 28px / 42% 42% 28px 28px;box-shadow:var(--shadow);overflow:hidden}.logo-frame:after{content:'';position:absolute;inset:12px;border:1px solid rgba(154,101,51,.28);border-radius:inherit;pointer-events:none}.logo-frame img{width:100%;aspect-ratio:4/3;object-fit:cover}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-heading>p{max-width:480px;color:var(--muted);margin:0}.showcase-shell{position:relative}.category-rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(78vw,620px);overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;padding:8px 2px 22px;scrollbar-width:none}.category-rail::-webkit-scrollbar{display:none}.category-window{position:relative;height:540px;border-radius:var(--radius);overflow:hidden;scroll-snap-align:center;background:#17110d;box-shadow:var(--shadow);display:flex;align-items:flex-end;padding:40px;color:#fff}.category-window:before{content:'';position:absolute;inset:0;background-image:linear-gradient(to top,rgba(17,10,6,.88),rgba(17,10,6,.04) 65%),var(--window-image);background-position:center;background-size:cover;transition:transform .7s}.category-window:hover:before{transform:scale(1.035)}.category-window:after{content:'';position:absolute;inset:16px;border:1px solid rgba(255,231,192,.45);border-radius:22px}.category-window>div,.category-number{position:relative;z-index:2}.category-window h3{font-size:clamp(2.8rem,5vw,5rem);margin-bottom:10px}.category-window p{max-width:420px;color:#eadbca;margin:0 0 18px}.window-link{color:#f1ca91;font-weight:700;font-size:.85rem}.category-number{position:absolute;top:34px;right:40px;font-family:Georgia;font-size:1.2rem;color:#f1ca91}.rail-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(36,23,15,.7);color:#fff;font-size:2rem;cursor:pointer;backdrop-filter:blur(10px)}.rail-prev{left:18px}.rail-next{right:18px}.catalog-section{padding-top:100px;padding-bottom:40px}.catalog-header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.catalog-header p{color:var(--muted);max-width:460px}.product-rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(82vw,390px);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 2px 34px;scrollbar-color:var(--bronze) transparent}.product-card{scroll-snap-align:start;background:rgba(255,250,243,.84);border:1px solid rgba(99,68,41,.12);border-radius:25px;overflow:hidden;box-shadow:0 16px 45px rgba(48,30,16,.09);transition:.35s;cursor:pointer}.product-card:hover{transform:translateY(-7px);box-shadow:0 24px 58px rgba(48,30,16,.16)}.product-card-image{position:relative;aspect-ratio:3/4;background:#eee;overflow:hidden}.product-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.product-card:hover .product-card-image img{transform:scale(1.025)}.product-card-image span{position:absolute;right:14px;bottom:14px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.86);backdrop-filter:blur(10px);font-size:.72rem}.product-card-copy{padding:24px}.product-card-copy h3{font-size:2rem;margin-bottom:8px}.product-card-copy p{color:var(--muted);margin:0 0 18px;min-height:52px}.product-card-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;font-size:.78rem}.product-card-meta strong{color:var(--bronze)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,110px);align-items:center}.about-copy p{color:var(--muted);font-size:1.05rem}.about-copy blockquote{font-family:Georgia;font-size:1.45rem;border-left:2px solid var(--gold);padding-left:22px;margin:35px 0 0}.about-mascot{position:relative}.about-mascot img{width:100%;border-radius:50%;box-shadow:var(--shadow)}.mascot-caption{position:absolute;right:-16px;bottom:20px;width:min(80%,390px);padding:25px;background:rgba(36,23,15,.92);color:#fff;border-radius:22px;box-shadow:var(--shadow)}.mascot-caption span{color:#d8b178;font-size:.73rem;letter-spacing:.16em;text-transform:uppercase}.mascot-caption h3{font-size:2rem;margin:5px 0}.mascot-caption p{margin:0;color:#ddcec0}.order-card{background:linear-gradient(125deg,#263d32,#14241c);color:#fff;border-radius:32px;padding:clamp(35px,6vw,74px);display:flex;justify-content:space-between;align-items:end;gap:40px;box-shadow:var(--shadow);position:relative;overflow:hidden}.order-card:after{content:'✦';position:absolute;right:5%;top:-20%;font-size:20rem;color:rgba(255,255,255,.04)}.order-card>div,.order-card>a{position:relative;z-index:1}.order-card h2{max-width:850px;font-size:clamp(2.5rem,5vw,4.9rem)}.order-card p{max-width:750px;color:#cfddd5}.care-grid{display:grid;grid-template-columns:minmax(300px,.9fr) 1.1fr;gap:clamp(30px,6vw,90px);align-items:center}.care-image{border:0;background:none;padding:0;position:relative;cursor:zoom-in}.care-image img{border-radius:22px;box-shadow:var(--shadow)}.care-image span{position:absolute;left:20px;bottom:20px;background:rgba(36,23,15,.82);color:#fff;border-radius:999px;padding:9px 14px;font-size:.72rem}.care-list{margin:0;padding:0;counter-reset:item;list-style:none}.care-list li{counter-increment:item;position:relative;padding:22px 20px 22px 66px;border-bottom:1px solid var(--line);color:var(--muted)}.care-list li:before{content:counter(item);position:absolute;left:0;top:17px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);color:var(--bronze);font-family:Georgia;font-size:1.1rem}.care-list strong{color:var(--ink)}.friend-card{min-height:470px;border-radius:32px;background:radial-gradient(circle at 80% 30%,rgba(194,117,43,.35),transparent 34%),linear-gradient(140deg,#22120c,#100b09);color:#fff;padding:clamp(38px,7vw,90px);display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}.friend-copy{max-width:730px;position:relative;z-index:1}.friend-copy p:not(.eyebrow){color:#decfc1;max-width:600px}.friend-symbol{font-family:Georgia;font-size:18rem;line-height:1;color:rgba(229,176,101,.16);transform:rotate(-7deg)}.contacts-card{padding:clamp(34px,5vw,65px);background:rgba(255,250,243,.85);border:1px solid var(--line);border-radius:30px;display:flex;justify-content:space-between;align-items:center;gap:45px}.contacts-card h2{font-size:clamp(2.4rem,4vw,4.2rem)}.contacts-card p{color:var(--muted);max-width:720px}footer{display:grid;grid-template-columns:1fr 1fr auto;gap:35px;align-items:center;padding:36px clamp(24px,5vw,84px);background:#1d120d;color:#d8c8b8;font-size:.82rem}footer div{display:flex;flex-direction:column}footer strong{color:#fff;font-family:Georgia;font-size:1.8rem}footer p{margin:0}footer a{color:#e2b778}.modal{position:fixed;inset:0;z-index:100;display:none}.modal.is-open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(20,12,8,.72);backdrop-filter:blur(10px)}.modal-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1180px,94vw);max-height:92vh;overflow:auto;background:var(--cream-2);border-radius:28px;display:grid;grid-template-columns:1.05fr .95fr;box-shadow:0 45px 110px rgba(0,0,0,.42)}.modal-close{position:absolute;right:18px;top:15px;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:rgba(36,23,15,.8);color:#fff;font-size:1.8rem;cursor:pointer}.modal-gallery{padding:22px}.modal-main-image{background:#eee;border-radius:20px;overflow:hidden}.modal-main-image img{width:100%;height:min(66vh,690px);object-fit:contain;background:#f2ebe1}.modal-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:10px}.modal-thumb{border:2px solid transparent;border-radius:12px;overflow:hidden;padding:0;cursor:pointer;background:none}.modal-thumb.is-active{border-color:var(--bronze)}.modal-thumb img{width:100%;aspect-ratio:3/4;object-fit:cover}.modal-copy{padding:clamp(36px,5vw,72px);display:flex;flex-direction:column;justify-content:center}.modal-copy h2{font-size:clamp(2.7rem,4vw,4.5rem)}.modal-meta{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.modal-meta span{padding:8px 12px;background:#eadfce;border-radius:999px;font-size:.78rem}.modal-copy>p{color:var(--muted);font-size:1.03rem}.modal-care-note{padding:16px;border-left:2px solid var(--gold);background:#f1e7d8;margin:15px 0 25px;font-size:.86rem}.image-lightbox{position:fixed;inset:0;z-index:120;background:rgba(18,10,6,.88);display:none;place-items:center;padding:30px}.image-lightbox.is-open{display:grid}.image-lightbox img{max-height:92vh;max-width:92vw;object-fit:contain}.image-lightbox button{position:absolute;right:25px;top:20px;background:none;border:0;color:#fff;font-size:3rem;cursor:pointer}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:920px){.main-nav,.header-cta{display:none}.site-header{grid-template-columns:auto 1fr auto}.menu-toggle{display:flex;justify-self:end;width:43px;height:43px;border:1px solid var(--line);border-radius:50%;flex-direction:column;align-items:center;justify-content:center;gap:4px}.menu-toggle span{width:18px;height:1.5px;background:var(--ink)}.main-nav.is-open{display:flex;position:absolute;top:80px;left:16px;right:16px;background:var(--cream-2);border-radius:20px;padding:25px;box-shadow:var(--shadow);flex-direction:column}.hero{grid-template-columns:1fr;min-height:auto}.hero-visual{max-width:720px}.about-grid,.care-grid{grid-template-columns:1fr}.mascot-caption{right:10px}.order-card,.contacts-card{align-items:flex-start;flex-direction:column}.modal-panel{grid-template-columns:1fr;max-height:94vh}.modal-main-image img{height:48vh}.modal-copy{padding:32px}footer{grid-template-columns:1fr}.friend-symbol{font-size:9rem}}
@media(max-width:600px){.section-pad{padding:78px 18px}.site-header{padding:10px 16px}.brand-mini{width:73px;height:48px}.hero{padding-top:40px}.hero-actions .button{width:100%}.section-heading,.catalog-header{align-items:flex-start;flex-direction:column}.category-rail{grid-auto-columns:88vw}.category-window{height:500px;padding:28px}.rail-arrow{display:none}.product-rail{grid-auto-columns:83vw}.about-mascot{padding-bottom:90px}.mascot-caption{left:14px;right:14px;bottom:0;width:auto}.friend-card{align-items:flex-start}.friend-symbol{position:absolute;right:-20px;bottom:-10px}.modal-gallery{padding:12px}.modal-thumbs{gap:5px}.modal-copy{padding:25px 20px 30px}.modal-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.category-window:before,.product-card,.product-card img{transition:none}}

/* ===== СмоЛов v2: лесная мастерская ===== */
body{
  position:relative;
  min-height:100%;
  background:#e9ddca;
}
.forest-backdrop{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(248,241,230,.64) 0%,rgba(242,232,215,.56) 42%,rgba(236,224,202,.74) 100%),
    url('assets/forest-cabin-bg.webp') center top / cover no-repeat;
  filter:saturate(.88) contrast(.98);
}
.forest-backdrop::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 22% 14%,rgba(255,236,195,.34),transparent 28%),
    radial-gradient(circle at 75% 28%,rgba(238,177,79,.16),transparent 24%),
    linear-gradient(90deg,rgba(27,48,38,.10),transparent 25%,transparent 75%,rgba(27,48,38,.12));
}
.forest-backdrop::after{
  content:'';
  position:absolute;
  inset:0;
  opacity:.16;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.72' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.20'/%3E%3C/svg%3E");
}
main,footer{position:relative;z-index:1}
.ambient{z-index:0;opacity:.14}

.site-header{
  background:rgba(243,234,219,.82);
  border-bottom-color:rgba(52,74,59,.18);
  box-shadow:0 8px 28px rgba(31,43,34,.08);
}
.brand-mini{
  background:rgba(255,250,243,.72);
  border:1px solid rgba(113,78,43,.14);
  box-shadow:0 7px 18px rgba(52,34,19,.08);
}
.header-cta{
  border-color:rgba(39,58,47,.45);
  background:rgba(255,250,243,.42);
}
.header-cta:hover{background:var(--forest);color:#fff;border-color:var(--forest)}

.hero{
  position:relative;
  min-height:calc(88vh - 28px);
  margin:24px clamp(14px,3vw,46px) 0;
  padding-left:clamp(26px,4vw,74px);
  padding-right:clamp(26px,4vw,74px);
  border:1px solid rgba(72,87,64,.18);
  border-radius:38px;
  background:
    radial-gradient(circle at 78% 18%,rgba(231,177,93,.20),transparent 29%),
    linear-gradient(110deg,rgba(255,250,242,.92),rgba(250,242,227,.74));
  box-shadow:0 28px 80px rgba(46,55,42,.16);
  overflow:hidden;
}
.hero::before{
  content:'';
  position:absolute;
  inset:15px;
  border:1px solid rgba(151,105,57,.16);
  border-radius:27px;
  pointer-events:none;
}
.hero::after{
  content:'ЛЕСНАЯ МАСТЕРСКАЯ';
  position:absolute;
  right:34px;
  bottom:22px;
  color:rgba(54,70,56,.28);
  letter-spacing:.24em;
  font-size:.62rem;
  font-weight:700;
}
.hero-copy,.hero-visual{position:relative;z-index:1}
.logo-frame{
  background:linear-gradient(145deg,rgba(255,252,245,.94),rgba(231,218,194,.82));
  border:1px solid rgba(71,89,68,.18);
  box-shadow:0 28px 80px rgba(39,56,44,.22),0 0 80px rgba(211,156,72,.15);
}
.logo-frame::before{
  content:'';
  position:absolute;
  inset:-45px;
  background:radial-gradient(circle,rgba(220,159,69,.16),transparent 62%);
  z-index:-1;
}
.button-primary{background:var(--forest)}
.button-primary:hover{background:var(--bronze)}

.category-showcase,
.catalog-section,
.about,
.care,
.contacts{
  margin:34px clamp(14px,3vw,46px);
  border:1px solid rgba(72,87,64,.15);
  border-radius:34px;
  background:rgba(255,249,240,.82);
  backdrop-filter:blur(11px);
  box-shadow:0 22px 64px rgba(46,55,42,.11);
}
.category-showcase{margin-top:48px}
.catalog-section{padding-top:76px;padding-bottom:56px}
.category-window{border:1px solid rgba(240,208,158,.26)}
.product-card{
  background:rgba(255,252,247,.92);
  border-color:rgba(67,83,64,.13);
}
.product-card-meta strong{color:var(--forest)}

.about-mascot img{border:8px solid rgba(255,249,238,.7)}
.mascot-caption{
  background:linear-gradient(145deg,rgba(35,52,42,.96),rgba(26,38,31,.96));
  border:1px solid rgba(222,180,111,.22);
}
.order-card{
  background:
    radial-gradient(circle at 84% 24%,rgba(215,157,70,.28),transparent 25%),
    linear-gradient(135deg,#253b30,#14241c);
  border:1px solid rgba(225,188,122,.20);
  box-shadow:0 26px 72px rgba(25,43,33,.24);
}
.care-list li{background:rgba(255,252,247,.58)}

.friend-card{
  background:
    radial-gradient(circle at 79% 25%,rgba(238,157,44,.25),transparent 31%),
    linear-gradient(140deg,#2c1a11,#11140f 65%,#17251c);
  border:1px solid rgba(239,185,92,.20);
}
.friend-logo-wrap{
  position:relative;
  z-index:1;
  flex:0 0 min(36vw,420px);
  width:min(36vw,420px);
  min-height:310px;
  display:grid;
  place-items:center;
  padding:18px;
  border-radius:28px;
  background:radial-gradient(circle,rgba(245,177,55,.14),transparent 63%);
  transition:transform .3s ease,filter .3s ease;
}
.friend-logo-wrap:hover{transform:translateY(-4px) scale(1.01);filter:drop-shadow(0 15px 30px rgba(231,152,42,.18))}
.friend-logo{width:100%;height:100%;max-height:390px;object-fit:contain;filter:drop-shadow(0 16px 24px rgba(0,0,0,.25))}

.button-wb{
  position:relative;
  min-height:54px;
  padding:0 25px 0 20px;
  color:#fff;
  background:linear-gradient(135deg,#cb11ab 0%,#9b169e 52%,#6d1cb2 100%);
  border:0;
  box-shadow:0 12px 28px rgba(203,17,171,.28);
}
.button-wb::before{
  content:'WB';
  display:grid;
  place-items:center;
  width:29px;
  height:29px;
  margin-right:10px;
  border-radius:50%;
  background:rgba(255,255,255,.95);
  color:#b114aa;
  font-size:.65rem;
  font-weight:900;
  letter-spacing:-.04em;
}
.button-wb:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 16px 35px rgba(203,17,171,.37);
  filter:saturate(1.06) brightness(1.03);
}
.button-wb:focus-visible{outline:3px solid rgba(203,17,171,.28);outline-offset:4px}

.modal-panel{
  border:1px solid rgba(59,76,60,.20);
  box-shadow:0 45px 110px rgba(21,34,26,.50);
}
.modal-copy{background:linear-gradient(145deg,rgba(255,251,245,.94),rgba(241,230,211,.88))}
.contacts-card{background:rgba(255,251,245,.90)}
footer{background:linear-gradient(120deg,#18241d,#28180f)}

@media(max-width:920px){
  .hero{margin:16px 12px 0;border-radius:28px}
  .category-showcase,.catalog-section,.about,.care,.contacts{margin:24px 12px;border-radius:27px}
  .friend-card{flex-direction:column}
  .friend-logo-wrap{width:100%;min-height:240px;flex-basis:auto}
  .friend-logo{max-height:320px}
}
@media(max-width:600px){
  .forest-backdrop{
    background:
      linear-gradient(180deg,rgba(248,241,230,.66),rgba(239,228,209,.75)),
      url('assets/forest-cabin-bg-mobile.webp') center top / cover no-repeat;
  }
  .hero{padding:64px 20px 72px;border-radius:24px;min-height:auto}
  .hero::after{right:18px;bottom:14px;font-size:.5rem}
  .category-showcase,.catalog-section,.about,.care,.contacts{margin:20px 10px;border-radius:23px}
  .friend-logo-wrap{min-height:205px;padding:0}
  .friend-logo{max-height:250px}
  .button-wb{width:100%}
}


/* ===== СмоЛов v3: исправления каталога и мобильного логотипа ===== */
.brand-mini{padding:4px}
.brand-mini img{object-fit:contain}
.logo-frame{width:100%;max-width:720px;margin-inline:auto}
.logo-frame img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#fffdf9}

@media(max-width:920px){
  .hero-visual{width:100%;max-width:640px;margin-inline:auto}
}

@media(max-width:600px){
  .hero{gap:38px}
  .hero-visual{width:100%;max-width:430px;margin-inline:auto}
  .logo-frame{padding:9px;border-radius:26px;overflow:hidden}
  .logo-frame:after{inset:7px;border-radius:20px}
  .logo-frame img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}
}

/* ===== СмоЛов v4: понятная мобильная витрина и логотип-надпись ===== */
.brand-mini{
  width:170px;
  height:52px;
  padding:7px 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.brand-mini img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.mobile-swipe-guide,
.rail-mobile-controls{display:none}

@media(max-width:920px){
  .brand-mini{width:152px;height:48px}
}

@media(max-width:600px){
  .site-header{
    min-height:68px;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    padding:10px 18px;
  }
  .brand-mini{
    width:145px;
    height:44px;
    padding:4px 6px;
    justify-self:start;
    border-radius:10px;
    background:rgba(255,250,243,.56);
    box-shadow:none;
  }
  .menu-toggle{justify-self:end}

  .hero-copy,
  .section-heading,
  .catalog-header,
  .about-copy,
  .order-card,
  .friend-copy,
  .contacts-card,
  footer{
    text-align:center;
  }
  .hero-copy,
  .section-heading,
  .catalog-header,
  .order-card,
  .friend-copy,
  .contacts-card{
    align-items:center;
  }
  .hero-copy{max-width:100%}
  .hero h1{font-size:clamp(3.05rem,14.5vw,4.3rem);line-height:1.02}
  .hero-lead,
  .section-heading>p,
  .catalog-header>p,
  .about-copy p,
  .friend-copy p:not(.eyebrow),
  .contacts-card p{
    margin-left:auto;
    margin-right:auto;
  }
  .hero-actions,
  .contact-actions{
    width:100%;
    justify-content:center;
  }
  .hero-note{display:flex;justify-content:center;align-items:center}
  .section-heading,
  .catalog-header{
    gap:16px;
    margin-bottom:22px;
  }
  .section-heading>div,
  .catalog-header>div{width:100%}
  .eyebrow{display:block;text-align:center}

  .mobile-swipe-guide{
    display:flex;
    width:max-content;
    max-width:100%;
    margin:0 auto 16px;
    padding:8px 14px;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:1px solid rgba(73,91,72,.18);
    border-radius:999px;
    background:rgba(255,252,246,.82);
    color:var(--forest);
    box-shadow:0 8px 24px rgba(49,61,48,.08);
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.02em;
  }
  .swipe-symbol{
    display:inline-grid;
    place-items:center;
    width:27px;
    height:27px;
    border-radius:50%;
    color:#fff;
    background:var(--forest);
    font-size:1rem;
    animation:swipePulse 1.8s ease-in-out infinite;
  }
  @keyframes swipePulse{
    0%,100%{transform:translateX(0)}
    50%{transform:translateX(4px)}
  }

  .category-rail{
    grid-auto-columns:min(76vw,300px);
    gap:16px;
    padding:5px 42px 14px 2px;
    scroll-padding-inline:4px 42px;
  }
  .category-window{
    height:405px;
    padding:24px 20px;
    justify-content:center;
    text-align:center;
    scroll-snap-align:center;
    border-radius:24px;
  }
  .category-window:after{inset:11px;border-radius:17px}
  .category-window h3{font-size:2.9rem;margin-bottom:8px}
  .category-window p{font-size:.92rem;line-height:1.45;margin:0 auto 14px}
  .category-number{top:22px;right:24px;font-size:1rem}
  .window-link{font-size:.8rem}

  .product-rail{
    grid-auto-columns:min(74vw,288px);
    gap:16px;
    padding:5px 46px 16px 2px;
    scroll-padding-inline:4px 46px;
    scrollbar-width:none;
  }
  .product-rail::-webkit-scrollbar{display:none}
  .product-card{scroll-snap-align:center;border-radius:22px}
  .product-card-image{aspect-ratio:4/5}
  .product-card-copy{padding:20px 17px;text-align:center}
  .product-card-copy h3{font-size:1.78rem}
  .product-card-copy>p:not(.eyebrow){min-height:0;font-size:.92rem}
  .product-card-meta{
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
  }

  .rail-mobile-controls{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:13px;
    margin:10px auto 0;
    min-height:38px;
  }
  .mobile-rail-button{
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(41,66,53,.25);
    border-radius:50%;
    background:rgba(255,252,246,.9);
    color:var(--forest);
    box-shadow:0 7px 18px rgba(46,58,46,.08);
    font-family:Georgia,serif;
    font-size:1.45rem;
    line-height:1;
    cursor:pointer;
  }
  .mobile-rail-button:disabled{opacity:.3;cursor:default}
  .rail-dots{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    max-width:190px;
    flex-wrap:wrap;
  }
  .rail-dot{
    width:7px;
    height:7px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(41,66,53,.24);
    transition:width .22s ease,background .22s ease;
  }
  .rail-dot.is-active{width:22px;border-radius:999px;background:var(--forest)}
  .product-mobile-controls{margin-top:2px}
  .product-swipe-guide{margin-top:-4px}

  .about-copy blockquote{
    border-left:0;
    border-top:1px solid var(--gold);
    padding:20px 0 0;
    margin:28px auto 0;
  }
  .order-card{justify-content:center}
  .order-card .button{align-self:center}
  .friend-card{align-items:center}
  .friend-copy .button{margin-inline:auto}
  .contacts-card{justify-content:center}
  footer{justify-items:center}
  footer div{align-items:center}
  footer p{max-width:430px}

  .modal-copy{text-align:center}
  .modal-meta{justify-content:center}
  .modal-care-note{text-align:left}
  .care-list{text-align:left}
}

@media(prefers-reduced-motion:reduce){
  .swipe-symbol{animation:none}
}

/* ===== Версия 5: Северная линия и связанные изделия ===== */
.collection-chip,
.set-badge,
.current-badge{
  position:absolute;
  z-index:3;
  top:14px;
  left:14px;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 11px;
  border-radius:999px;
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.collection-chip,
.set-badge{
  color:#f8f0de;
  background:rgba(34,55,45,.86);
  border:1px solid rgba(255,255,255,.22);
}
.current-badge{
  color:#2d2118;
  background:rgba(244,224,184,.94);
  border:1px solid rgba(123,86,40,.25);
}
.product-card-image{position:relative}
.product-card-image > span:not(.collection-chip){z-index:2}
.collection-chip{top:14px;left:auto;right:14px}

.northern-line{padding-top:26px}
.northern-line-shell{
  max-width:1280px;
  margin:0 auto;
  padding:clamp(28px,4vw,54px);
  border:1px solid rgba(106,83,54,.2);
  border-radius:34px;
  background:
    radial-gradient(circle at 16% 10%,rgba(218,193,147,.22),transparent 34%),
    linear-gradient(145deg,rgba(249,244,233,.96),rgba(235,229,214,.94));
  box-shadow:0 24px 70px rgba(42,55,46,.13);
  overflow:hidden;
}
.northern-line-heading{
  max-width:760px;
  margin:0 auto 30px;
  text-align:center;
}
.northern-line-heading h2{margin:7px 0 14px}
.northern-line-heading > p:last-child{margin:0;color:var(--muted);line-height:1.75}
.northern-line-grid,
.modal-related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.northern-card{
  min-width:0;
  border:1px solid rgba(80,70,56,.16);
  border-radius:24px;
  overflow:hidden;
  background:rgba(255,253,247,.9);
  box-shadow:0 16px 34px rgba(44,50,45,.09);
}
.northern-card.is-current{
  border-color:rgba(150,111,55,.5);
  box-shadow:0 18px 42px rgba(112,78,35,.15);
}
.northern-card-image{
  position:relative;
  aspect-ratio:3/4;
  overflow:hidden;
  background:#e9e1d3;
}
.northern-card-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.northern-card-copy{padding:20px}
.northern-card-copy h3{margin:4px 0 9px;font-size:clamp(24px,2vw,31px)}
.northern-card-copy > p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.6}
.northern-card-actions{
  display:grid;
  gap:9px;
  margin-top:18px;
}
.northern-card-actions .button{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  text-align:center;
}
.button.is-disabled,
.button:disabled{
  opacity:.62;
  cursor:default;
  pointer-events:none;
}
.northern-line-combos{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.northern-line-combos span{
  padding:9px 14px;
  border:1px solid rgba(67,84,72,.19);
  border-radius:999px;
  background:rgba(255,255,255,.55);
  color:var(--forest);
  font-size:13px;
  font-weight:700;
}

.modal-related{
  grid-column:1/-1;
  margin-top:18px;
  padding-top:26px;
  border-top:1px solid rgba(63,72,64,.15);
}
.modal-related[hidden]{display:none}
.modal-related-heading{
  max-width:690px;
  margin:0 auto 20px;
  text-align:center;
}
.modal-related-heading h3{margin:5px 0 9px;font-size:clamp(28px,3vw,40px)}
.modal-related-heading > p:last-child{margin:0;color:var(--muted);line-height:1.65}
.modal-related-grid .northern-card-copy{padding:16px}
.modal-related-grid .northern-card-copy h3{font-size:24px}
.modal-related-grid .northern-card-copy > p:not(.eyebrow){font-size:14px}
.modal-related-grid .northern-card-actions .button{font-size:13px}

@media(max-width:900px){
  .northern-line-grid,
  .modal-related-grid{grid-template-columns:1fr}
  .northern-card{
    display:grid;
    grid-template-columns:minmax(150px,.78fr) minmax(0,1fr);
  }
  .northern-card-image{aspect-ratio:auto;min-height:280px}
  .northern-card-copy{display:flex;flex-direction:column;justify-content:center}
  .modal-related-grid .northern-card{grid-template-columns:140px minmax(0,1fr)}
  .modal-related-grid .northern-card-image{min-height:235px}
}

@media(max-width:620px){
  .northern-line{padding-inline:14px}
  .northern-line-shell{
    padding:24px 14px;
    border-radius:26px;
  }
  .northern-line-heading{margin-bottom:20px}
  .northern-line-heading h2{font-size:38px}
  .northern-line-heading > p:last-child{font-size:15px}
  .northern-line-grid,
  .modal-related-grid{gap:14px}
  .northern-card,
  .modal-related-grid .northern-card{
    display:block;
    text-align:center;
  }
  .northern-card-image,
  .modal-related-grid .northern-card-image{
    min-height:0;
    aspect-ratio:3/4;
  }
  .northern-card-copy,
  .modal-related-grid .northern-card-copy{padding:17px 15px 16px}
  .northern-card-copy h3,
  .modal-related-grid .northern-card-copy h3{font-size:27px}
  .northern-card-copy > p:not(.eyebrow),
  .modal-related-grid .northern-card-copy > p:not(.eyebrow){font-size:14px;line-height:1.55}
  .northern-card-actions{margin-top:15px}
  .northern-card-actions .button{min-height:50px;font-size:14px}
  .northern-line-combos{
    display:grid;
    grid-template-columns:1fr;
    margin-top:18px;
  }
  .northern-line-combos span{text-align:center}
  .modal-related{
    margin-top:22px;
    padding-top:22px;
  }
  .modal-related-heading h3{font-size:32px}
  .modal-related-heading > p:last-child{font-size:14px}
  .set-badge,
  .current-badge{font-size:10px;top:12px;left:12px}
  .collection-chip{top:10px;right:10px;left:auto;font-size:9px;min-height:26px;padding:5px 8px}
}

/* Развёрнутый блок связанных изделий внутри модального окна */
.modal-panel > .modal-related{
  margin:0;
  padding:34px clamp(20px,4vw,48px) 44px;
  background:linear-gradient(145deg,rgba(247,241,230,.98),rgba(231,225,211,.96));
}
@media(max-width:620px){
  .modal-panel > .modal-related{padding:26px 14px 32px}
}
.collection-chip{bottom:auto}

/* ===== Версия 6: компактный знак «Северная линия» ===== */
/* Тип изделия остаётся небольшой плашкой снизу справа. */
.product-card-image > span:not(.collection-chip){
  top:auto;
  right:14px;
  bottom:14px;
  left:auto;
  width:auto;
  height:auto;
  min-height:0;
  padding:8px 12px;
  border-radius:999px;
  color:var(--ink);
  background:rgba(255,255,255,.9);
  border:1px solid rgba(70,55,38,.12);
  white-space:nowrap;
}

/* Вместо растянутой белой полосы — круглый читаемый знак. */
.product-card-image > .collection-chip{
  top:14px;
  right:14px;
  bottom:auto;
  left:auto;
  width:92px;
  height:92px;
  min-height:0;
  padding:12px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff8e9;
  background:rgba(34,61,48,.94);
  border:1px solid rgba(255,244,219,.58);
  box-shadow:0 10px 26px rgba(20,36,28,.23), inset 0 0 0 4px rgba(255,255,255,.07);
  text-align:center;
  white-space:normal;
  font-size:11px;
  line-height:1.16;
  letter-spacing:.055em;
  text-transform:uppercase;
  text-wrap:balance;
}

@media(max-width:600px){
  .product-card-image > .collection-chip{
    top:10px;
    right:10px;
    bottom:auto;
    width:76px;
    height:76px;
    padding:9px;
    font-size:9px;
    line-height:1.14;
    letter-spacing:.045em;
  }
  .product-card-image > span:not(.collection-chip){
    right:10px;
    bottom:10px;
    padding:7px 10px;
    font-size:.66rem;
  }
}
