:root {
  --forest: #122f27;
  --deep: #0d261f;
  --forest-2: #22483b;
  --paper: #f8f7f2;
  --white: #fffefa;
  --ink: #202e27;
  --muted: #798078;
  --gold: #c7a674;
  --gold-deep: #8c7251;
  --edge: #e4e3da;
  --ease: cubic-bezier(.2,.78,.23,1);
  --max: 1280px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: 'Helvetica Neue', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; }
button { font: inherit; }
a,button { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid #b8904d; outline-offset: 4px; }
img { display: block; max-width: 100%; }
.container { width: min(var(--max), calc(100% - 104px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 1000; top: -100px; left: 15px; padding: 13px 20px; border-radius: 4px; background: white; color: var(--forest); }
.skip-link:focus { top: 12px; }
.read-progress { position: fixed; z-index: 90; top: 0; left: 0; width: 0%; height: 2px; background: var(--gold); pointer-events: none; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(248,247,242,.96); border-bottom: 1px solid rgba(18,47,39,.09); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); transition: box-shadow .25s ease; }
.site-header.scrolled { box-shadow: 0 8px 24px rgba(15,36,27,.055); }
.header-inner { min-height: 90px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; column-gap: 34px; }
.wordmark { display: inline-flex; flex-direction: column; align-items: flex-start; width: fit-content; flex-shrink: 0; }
.wordmark-name { font: 500 31px/.9 Georgia, 'Times New Roman', serif; white-space: nowrap; letter-spacing: -.065em; color: var(--forest); }
.wordmark-name em { color: var(--gold-deep); font-weight: 400; }
.wordmark-small { font-size: 8px; letter-spacing: .32em; margin-top: 10px; margin-left: 2px; color: #6e786e; }
.desktop-nav { display: flex; align-items: center; gap: clamp(24px,3.4vw,48px); }
.desktop-nav a { position: relative; color: #405349; font-size: 12px; font-weight: 600; letter-spacing: .03em; white-space: nowrap; transition: color .2s; }
.desktop-nav a:hover { color: #946f43; }
.desktop-nav a::after { content:''; position:absolute; bottom:-11px; left: 0; width: 0; height: 1px; background: #9c7c4c; transition: width .25s ease; }
.desktop-nav a:hover::after { width: 100%; }
.header-cta { justify-self: end; padding: 13px 19px; border: 1px solid #a2b1a8; font-size: 11px; text-transform: uppercase; font-weight: 700; letter-spacing: .075em; white-space: nowrap; transition: color .25s ease, background .25s ease, border-color .25s ease; }
.header-cta span { font-size: 18px; font-weight: 400; margin-left: 18px; vertical-align: -1px; }
.header-cta:hover { background: var(--forest); color: white; border-color: var(--forest); }
.menu-button { display: none; }
.mobile-nav[hidden] { display: none !important; }
.hero { position: relative; isolation: isolate; min-height: 646px; display:flex; align-items:center; color: #f6f2e9; background: var(--forest); overflow:hidden; }
.hero::before { content:''; z-index:-1; position:absolute; inset:0; background: radial-gradient(ellipse at 50% 72%, rgba(48,85,66,.27),transparent 56%), linear-gradient(115deg,rgba(6,34,26,.46),transparent 42%,rgba(6,34,26,.2)); }
.hero::after { content:''; z-index:-1; position:absolute; inset:auto 0 0; height: 1px; background: rgba(218,194,150,.18); }
.hero-inner { padding: 94px 0 97px; text-align:center; }
.hero-eyebrow { display:flex; align-items:center; justify-content:center; gap:17px; margin: 0 0 27px; color: #dac6a1; font-size: 10px; font-weight: 700; letter-spacing: .3em; }
.eyebrow-line { height:1px; width:36px; background:rgba(218,198,161,.55); }
.hero h1 { font: 400 clamp(82px,9.5vw,158px)/.96 Georgia, 'Times New Roman',serif; letter-spacing: -.075em; margin: 0 auto 28px; color: #faf7ed; white-space: nowrap; }
.hero h1 em { font-weight: 400; color: #d4b687; }
.hero-subline { font: 400 clamp(22px,2.8vw,30px)/1.35 Georgia,serif; margin: 0 0 23px; letter-spacing: -.015em; }
.hero-lead { max-width: 460px; margin: 0 auto 32px; font-size: 14px; line-height: 1.9; color: #ccd7cd; }
.button { display: inline-flex; gap: 36px; align-items:center; justify-content:space-between; border:1px solid transparent; padding: 18px 26px; min-height: 57px; font-size:11px; font-weight: 750; text-transform:uppercase; letter-spacing:.09em; transition:transform .25s var(--ease), background .25s, border-color .25s, color .25s; }
.button span { font-size: 19px; line-height:1; font-weight: 400; transition: transform .25s var(--ease); }
.button:hover span { transform: translate(3px,-3px); }
.button:hover { transform: translateY(-2px); }
.hero-button { color: var(--forest); background: #d3b788; }
.hero-button:hover { background:#e7d0a8; }
.hero-tally { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:46px; color: #b3c2b8; text-transform:uppercase; letter-spacing:.16em; font-size:10px; }
.hero-tally i { width:3px; height:3px; border-radius:50%; background: #c4a576; }
.catalog-section { padding: 107px 0 119px; }
.catalog-heading { text-align:center; max-width:650px; margin:0 auto; }
.eyebrow { color: var(--gold-deep); font-size: 10px; letter-spacing:.26em; font-weight: 750; line-height:1.5; text-transform:uppercase; }
.catalog-heading .eyebrow { margin:0 0 20px; }
.catalog-heading h2 { font:400 clamp(49px, 5.1vw, 75px)/1.1 Georgia, serif; letter-spacing:-.062em; color:var(--forest); margin:0 0 21px; }
.catalog-heading h2 em { font-weight:400; color:#907b61; }
.catalog-heading > p:last-child { color: #727b73; font-size:14px; line-height:1.8; margin:0; }
.category-nav { margin:46px auto 91px; display:flex; align-items:stretch; justify-content:center; gap:10px; }
.category-chip { display:flex; align-items:center; justify-content:space-between; min-width:214px; min-height:58px; padding:15px 17px 15px 22px; background:#f1f0e9; border:1px solid #e2e1d7; font:600 14px/1.1 Arial,sans-serif; color:var(--forest); transition:background .25s, color .25s, border-color .25s; }
.category-chip span:first-child { font-size:10px; color:#9b9f93; font-weight:600; margin:0 auto 0 12px; }
.category-chip .chip-arrow { font-size:16px; transition: transform .25s; }
.category-chip:hover,.category-chip.is-active { background:var(--forest); color:#fffdf8; border-color:var(--forest); }
.category-chip:hover span:first-child,.category-chip.is-active span:first-child { color:#c8d0c5; }
.category-chip:hover .chip-arrow { transform:translate(2px,2px); }
.product-section { scroll-margin-top: 125px; }
.category-heading { display:flex; justify-content:space-between; align-items:end; border-bottom:1px solid #deded5; padding-bottom:27px; margin-bottom:30px; }
.category-number { display:block; margin-bottom:10px; letter-spacing:.16em; font-weight:750; color:#998367; font-size:10px; }
.category-heading h3 { display:flex; gap:20px; align-items:start; font:400 clamp(46px,5.1vw,70px)/1.03 Georgia,serif; letter-spacing:-.06em; color:var(--forest); margin:0; }
.category-count { display:inline-block; font:500 12px/1 Arial,sans-serif; letter-spacing:.05em; color:#8f9b8e; padding-top:10px; }
.category-heading > p { text-align:right; font-size:13px; color:#7a8279; line-height:1.75; margin:0 0 4px; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:20px; row-gap:52px; }
.product-card { min-width:0; display:flex; flex-direction:column; transition:transform .35s var(--ease); }
.product-card:hover { transform:translateY(-4px); }
.product-image-link { display:block; border-radius:3px; overflow:hidden; position:relative; }
.product-media { position:relative; aspect-ratio: 3 / 4; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius: 24px; transition: background .3s ease; }
.product-media.bad { background:#ece9df; }
.product-media.cream { background:#efe8de; }
.product-media::before { content:''; position:absolute; left:12px; top:12px; right:12px; bottom:12px; border:1px solid rgba(255,255,255,.28); border-radius: 18px; pointer-events:none; z-index:2; }
.product-media::after { content:''; position:absolute; inset: auto 0 0; height: 32%; background: linear-gradient(to top, rgba(10,20,15,.18), transparent); pointer-events:none; z-index:1; }
.product-media img { position:relative; z-index:0; width:100%; height:100%; object-fit:cover; transition: transform .65s var(--ease); }
.product-card:hover .product-media img { transform:scale(1.04); }
.placeholder { position:relative; width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; text-align:center; }
.placeholder-icon { position:relative; display:flex; width:108px; height:124px; justify-content:center; align-items:center; opacity:.49; }
.placeholder-icon svg { width:100%; height:100%; overflow:visible; }
.placeholder-label { margin-top:15px; font-size:9px; font-weight:700; color:#8c9a8b; letter-spacing:.24em; text-transform:uppercase; }
.product-media.cream .placeholder-label { color:#9c9486; }
.product-visual-index { position:absolute; top:18px; left:18px; z-index:3; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:rgba(248,247,242,.88); color:#3d4d43; font:600 12px/1 Arial,sans-serif; box-shadow:0 8px 18px rgba(15,25,15,.12); letter-spacing:.02em; }
.product-media.cream .product-visual-index { color:#53483d; }
.card-expand { position:absolute; right:14px; bottom:14px; z-index:3; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:rgba(255,254,249,.92); font-size:20px; color:#20352c; box-shadow:0 12px 24px rgba(15,25,18,.12); transition: background .25s ease, color .25s ease, transform .25s ease; }
.product-card:hover .card-expand { background:var(--forest); color:white; transform:translateY(-2px); }
.product-copy { padding:18px 2px 0; flex:1; display:flex; flex-direction:column; }
.product-meta { display:flex; justify-content:space-between; align-items:center; gap:10px; color:#a28660; font-size:9px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; margin-bottom:13px; }
.product-meta .product-size { letter-spacing:.025em; font-weight:600; color:#8b968d; text-transform:none; font-size:10px; white-space:nowrap; }
.product-name { display:block; color: var(--forest); font:400 21px/1.22 Georgia,serif; letter-spacing:-.04em; min-height:54px; transition: color .2s ease; }
.product-name:hover { color:#927753; }
.product-subtitle { font-size:11px; line-height:1.5; color:#7b827b; margin-top:7px; min-height:33px; }
.marketplaces { margin-top:auto; display:flex; flex-direction:column; gap:8px; padding-top:20px; }
.marketplace-link { display:flex; align-items:center; min-height:48px; width:100%; border:1px solid #d6d9cf; border-radius:14px; padding:7px 10px; background:rgba(255,255,255,.62); transition:border-color .2s,background .2s,transform .2s ease; }
.marketplace-link:hover { border-color:var(--forest); background:white; transform:translateY(-1px); }
.marketplace-logo { display:grid; place-items:center; width:55px; height:26px; flex:0 0 55px; border-radius:2px; color:white; font:800 10px/1 Arial,sans-serif; letter-spacing:.01em; }
.marketplace-link[data-marketplace="ozon"] .marketplace-logo { background:#005bff; }
.marketplace-link[data-marketplace="wb"] .marketplace-logo { background:linear-gradient(115deg,#9d2ab2,#6327a0); font-size:13px; letter-spacing:-.07em; }
.marketplace-text { font-size:11px; font-weight:700; margin-left:11px; white-space:nowrap; color:#31443a; }
.marketplace-arrow { margin-left:auto; font-size:17px; font-weight:400; }
.bad-disclaimer { margin:28px 0 0; font-size:15px; line-height:1.5; color:#656d65; font-weight:650; text-transform:uppercase; letter-spacing:.025em; text-align:center; }
.creams-section { margin-top:112px; }
.about-section { background:var(--deep); color:#f3f0e6; overflow:hidden; }
.about-inner { max-width:850px; padding-top:108px; padding-bottom:117px; text-align:center; }
.about-inner .eyebrow { color:#cfb38a; margin:0 0 27px; }
.about-inner h2 { font:400 clamp(46px,5.4vw,76px)/1.06 Georgia,serif; margin:0 auto 22px; letter-spacing:-.062em; }
.about-inner h2 em { font-weight:400; color:#c5a878; }
.about-inner > p:not(.eyebrow) { font-size:15px; max-width:630px; line-height:1.9; margin:0 auto 27px; color:#c5d1c8; }
.about-button { border-color:#85998b; color:#f8f6ef; background:transparent; margin-top:8px; }
.about-button:hover { background:rgba(255,255,255,.08); border-color:white; }
.footer { background:#f2f0e9; }
.footer-main { padding:48px 0 40px; display:grid; grid-template-columns: 1fr auto 1fr; align-items:center; gap:32px; }
.footer-wordmark { font:400 34px/.9 Georgia,serif; color:var(--forest); white-space:nowrap; letter-spacing:-.067em; }
.footer-wordmark em { color:#8b744e; }
.footer-main nav { display:flex; gap:29px; }
.footer-main nav a { font-size:11px; font-weight:650; color:#475b50; white-space:nowrap; }
.footer-main nav a:hover { color:#8b744e; }
.footer-meta { justify-self:end; margin:0; font-size:11px; line-height:1.85; text-align:right; color:#788078; }
.footer-legal { border-top:1px solid #d6d8ce; padding-top:19px; padding-bottom:24px; color:#6c756b; font-size:11px; line-height:1.6; text-align:center; font-weight:650; }
.back-to-top { position:fixed; z-index:30; right:23px; bottom:23px; width:45px; height:45px; display:grid; place-items:center; border:1px solid #d2d7ce; color:var(--forest); background:rgba(251,250,246,.97); font-size:25px; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(10px); transition:all .24s ease; }
.back-to-top.show { opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover { background:var(--forest); color:white; }
.loading-placeholder { font-size:14px; color:#717e74; }
@media(max-width:1100px) {
  .container { width:min(var(--max),calc(100% - 66px)); }
  .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .header-inner { column-gap:22px; }
  .header-cta { padding:12px; }
  .desktop-nav { gap:22px; }
  .hero h1 { font-size:clamp(76px,9.2vw,130px); }
  .footer-main { grid-template-columns:1fr auto; }
  .footer-meta { grid-column:1/-1; justify-self:start; text-align:left; }
}
@media(max-width:750px) {
  html { scroll-padding-top:75px; }
  .container { width:calc(100% - 38px); }
  .header-inner { min-height:71px; grid-template-columns:1fr auto; }
  .wordmark-name { font-size:27px; }
  .wordmark-small { font-size:7px; margin-top:7px; }
  .desktop-nav,.header-cta { display:none; }
  .menu-button { display:flex; width:42px; height:42px; border:0; background:transparent; padding:10px 6px; flex-direction:column; align-items:center; justify-content:center; gap:6px; cursor:pointer; }
  .menu-button span { display:block; width:26px; height:1.5px; background:var(--forest); transition:transform .25s ease,opacity .2s ease; transform-origin:center; }
  .menu-button[aria-expanded="true"] span:nth-child(1) { transform:translateY(7.5px) rotate(45deg); }
  .menu-button[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .menu-button[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7.5px) rotate(-45deg); }
  .mobile-nav { position:absolute; left:0; right:0; top:100%; z-index:10; padding:9px 19px 20px; background:#f8f7f2; box-shadow:0 20px 20px rgba(0,0,0,.13); }
  .mobile-nav a { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #dfe2d9; font:400 23px/1.2 Georgia,serif; padding:16px 7px; }
  .mobile-nav a span { font:600 11px/1 Arial,sans-serif; color:#9b906f; }
  .hero { min-height:580px; }
  .hero-inner { padding:94px 0 87px; }
  .hero h1 { font-size:clamp(65px,12.5vw,99px); white-space:normal; margin-bottom:19px; }
  .hero-subline { font-size:24px; }
  .hero-lead { font-size:13px; }
  .catalog-section { padding-top:83px; padding-bottom:89px; }
  .catalog-heading h2 { font-size:clamp(44px,8vw,62px); }
  .category-nav { margin-top:34px; margin-bottom:80px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 17px; }
  .product-name { font-size:19px; }
  .creams-section { margin-top:100px; }
  .about-inner { padding:95px 0 101px; }
  .footer-main { grid-template-columns:1fr; gap:25px; }
  .footer-main nav { gap:24px; }
  .footer-meta { grid-column:auto; }
}
@media(max-width:480px) {
  .hero { min-height:546px; }
  .hero-inner { padding:78px 0 74px; }
  .hero-eyebrow { font-size:9px; letter-spacing:.17em; gap:8px; margin-bottom:25px; }
  .eyebrow-line { width:18px; }
  .hero h1 { font-size:clamp(64px,16vw,78px); line-height:.91; max-width:355px; margin-bottom:24px; }
  .hero-subline { font-size:21px; line-height:1.3; margin-bottom:18px; }
  .hero-lead { max-width:325px; line-height:1.75; margin-bottom:26px; }
  .hero-tally { margin-top:35px; font-size:9px; }
  .button { min-height:54px; padding:16px 21px; gap:22px; }
  .catalog-section { padding-top:78px; }
  .catalog-heading .eyebrow { margin-bottom:16px; }
  .catalog-heading h2 { font-size:48px; margin-bottom:18px; }
  .catalog-heading > p:last-child { font-size:13px; }
  .category-nav { margin:31px 0 75px; gap:8px; }
  .category-chip { min-width:0; width:50%; font-size:13px; padding:12px; min-height:53px; }
  .category-chip span:first-child { margin-left:8px; }
  .category-chip .chip-arrow { font-size:15px; }
  .category-heading { align-items:center; margin-bottom:21px; padding-bottom:19px; }
  .category-heading h3 { font-size:54px; }
  .category-heading > p { display:none; }
  .product-grid { gap:31px 12px; }
  .product-media { aspect-ratio: 3 / 4; }
  .product-media::before { inset:9px; }
  .product-visual-index { top:14px; left:14px; font-size:11px; }
  .placeholder-icon { width:79px; height:99px; }
  .placeholder-label { font-size:7px; letter-spacing:.12em; margin-top:8px; }
  .card-expand { width:28px; height:28px; right:9px; bottom:9px; font-size:16px; }
  .product-copy { padding-top:15px; }
  .product-meta { font-size:8px; margin-bottom:9px; letter-spacing:.09em; }
  .product-meta .product-size { font-size:9px; }
  .product-name { font-size:18px; min-height:69px; letter-spacing:-.045em; line-height:1.19; }
  .product-subtitle { font-size:10px; margin-top:8px; min-height:32px; }
  .marketplaces { padding-top:18px; }
  .marketplace-link { padding:7px; min-height:41px; }
  .marketplace-logo { width:41px; flex-basis:41px; height:23px; font-size:8px; }
  .marketplace-link[data-marketplace="wb"] .marketplace-logo { font-size:11px; }
  .marketplace-text { margin-left:7px; font-size:10px; letter-spacing:-.025em; }
  .marketplace-arrow { font-size:15px; }
  .bad-disclaimer { font-size:12px; line-height:1.5; margin-top:28px; }
  .creams-section { margin-top:82px; }
  .about-inner h2 { font-size:clamp(43px,10.8vw,58px); }
  .about-inner > p:not(.eyebrow) { font-size:13px; line-height:1.85; }
  .footer-main { padding:38px 0 30px; }
  .footer-legal { font-size:10px; }
  .back-to-top { width:40px; height:40px; right:14px; bottom:14px; }
}
@media(max-width:360px) {
  .container { width:calc(100% - 28px); }
  .hero h1 { font-size:62px; }
  .category-nav { gap:5px; }
  .category-chip { padding:10px 9px; }
  .product-grid { gap:30px 10px; }
  .product-name { font-size:17px; min-height:78px; }
  .marketplace-text { font-size:9px; }
  .marketplace-logo { width:34px; flex-basis:34px; height:23px; font-size:7px; }
  .marketplace-link[data-marketplace="wb"] .marketplace-logo { font-size:11px; }
  .product-meta { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
.placeholder[hidden] { display: none !important; }


/* V5 — Scroll-controlled spring animations for all sections and individual products. */
.hero-inner { transform:translate3d(0,0,0); will-change:transform,opacity; }
.hero-enter { opacity:1; transform:none; animation:none; }
.showcase-section { padding:111px 0 118px; background:#eeeee6; overflow:hidden; }
.showcase-heading { max-width:820px; margin:0 auto 53px; text-align:center; }
.showcase-heading .eyebrow { margin:0 0 19px; }
.showcase-heading h2 { font:400 clamp(57px,7vw,100px)/1.02 Georgia,'Times New Roman',serif; letter-spacing:-.069em; color:var(--forest); margin:0 0 22px; }
.showcase-heading h2 em { color:#917752; font-weight:400; }
.showcase-heading > p:last-child { max-width:520px; margin:0 auto; color:#68766a; font-size:14px; line-height:1.85; }
.showcase-tiles { display:grid; grid-template-columns:repeat(2,minmax(0,415px)); align-items:stretch; justify-content:center; gap:clamp(24px,4vw,54px); }
.showcase-tile { min-width:0; display:block; overflow:hidden; border-radius:21px; background:#faf8f0; box-shadow:0 18px 46px rgba(18,47,39,.10); border:1px solid rgba(27,58,38,.065); }
.showcase-image-wrap { aspect-ratio: 3/4; overflow:hidden; background:#d8d8c8; }
.showcase-image-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .65s var(--ease); }
.showcase-tile:hover .showcase-image-wrap img { transform:scale(1.045); }
.showcase-tile-caption { min-height:108px; padding:19px 25px 20px; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.showcase-tile-caption > span:first-child { display:flex; flex-direction:column; gap:5px; }
.showcase-tile-caption small { color:#768276; font:600 10px/1.2 Arial,sans-serif; letter-spacing:.10em; text-transform:uppercase; }
.showcase-tile-caption strong { font:400 31px/1.04 Georgia,serif; letter-spacing:-.05em; color:var(--forest); }
.showcase-tile-arrow { width:40px; height:40px; border:1px solid #a3b0a4; border-radius:50%; display:grid; place-items:center; color:#2f5142; font:400 22px/1 Arial,sans-serif; transition:background .24s,color .24s; }
.showcase-tile:hover .showcase-tile-arrow { background:var(--forest); color:white; }
.about-title-line { display:block; }
/* Blur and direction are always recalculated on each scroll tick, not one-shot IntersectionObserver. */
html.has-scroll-animations [data-scroll-anim] {
  opacity:var(--scroll-opacity,1);
  filter:blur(var(--scroll-blur,0px));
  transform:translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0) scale(var(--scroll-scale,1));
  transition:none;
}
html.has-scroll-animations .product-card:hover { transform:translate3d(var(--scroll-x,0px),calc(var(--scroll-y,0px) - 4px),0) scale(var(--scroll-scale,1)); }
@media(max-width:750px) {
  .showcase-section { padding:83px 0 87px; }
  .showcase-heading { margin-bottom:37px; }
  .showcase-heading h2 { font-size:clamp(53px,8vw,78px); }
  .showcase-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .showcase-tile-caption { min-height:93px; padding:16px 16px 18px; }
  .showcase-tile-caption strong { font-size:25px; }
  .showcase-tile-arrow { width:32px; height:32px; font-size:18px; flex:0 0 32px; }
}
@media(max-width:480px) {
  .showcase-section { padding:79px 0 84px; }
  .showcase-heading h2 { font-size:clamp(49px,11.5vw,61px); }
  .showcase-heading > p:last-child { font-size:13px; }
  .showcase-tiles { grid-template-columns:minmax(0,1fr); max-width:365px; margin-inline:auto; gap:28px; }
  .showcase-tile-caption { min-height:100px; padding:15px 22px 18px; }
  .showcase-tile-caption strong { font-size:29px; }
  .about-title-line { white-space:normal; }
}
@media (prefers-reduced-motion:reduce) {
  html.has-scroll-animations [data-scroll-anim], html.has-scroll-animations .hero-inner { transform:none!important; opacity:1!important; filter:none!important; }
}

/* V5 — МОКАПЫ В СВЕТЛО-БЕЖЕВОМ КВАДРАТЕ */
.product-image-link { border-radius:15px; overflow:visible; }
.product-media { aspect-ratio:1/1; border-radius:15px; background:#f2e9dc!important; box-shadow: inset 0 0 0 1px rgba(100,86,68,.055); }
.product-media::before { display:none; }
.product-media::after { display:none; }
.product-media img { position:relative; z-index:1; width:100%; height:100%; object-fit:contain; padding:3.7%; filter:drop-shadow(0 13px 9px rgba(26,33,26,.13));
   transform:translate3d(0,var(--product-y,0px),0) scale(var(--product-scale,1)) rotate(var(--product-rotate,0deg));
   transition:filter .24s ease; }
.product-card:hover .product-media img { filter:drop-shadow(0 19px 13px rgba(26,33,26,.20));
   transform:translate3d(0,var(--product-y,0px),0) scale(calc(var(--product-scale,1) + .045)) rotate(var(--product-rotate,0deg)); }
.product-media .card-expand { border-radius:50%; right:13px; bottom:13px; background:rgba(255,254,249,.89); }
.product-visual-index { display:none; }
.product-copy { padding-top:20px; opacity:var(--copy-opacity,1); transform:translate3d(0,var(--copy-y,0px),0); transition:none; }
.product-name { min-height:54px; }
.showcase-image-wrap { aspect-ratio:1/1; background:#f2e9dc; }
.showcase-image-wrap img { object-fit:contain; padding:4%; width:100%; height:100%; filter: drop-shadow(0 14px 13px rgba(23,38,25,.13));
   transform:translate3d(0,var(--product-y,0px),0) scale(var(--product-scale,1)) rotate(var(--product-rotate,0deg));
   transition:filter .25s ease; }
.showcase-tile:hover .showcase-image-wrap img { transform:translate3d(0,var(--product-y,0px),0) scale(calc(var(--product-scale,1) + .04)) rotate(var(--product-rotate,0deg)); }
.showcase-tile .showcase-tile-caption { opacity:var(--copy-opacity,1); transform:translateY(var(--copy-y,0px)); }
/* The JS physics controls the variables. No one-shot opacity animation and no auto CSS easing. */
html.has-scroll-animations [data-scroll-anim] {
  opacity:var(--scroll-opacity,1);
  filter:blur(var(--scroll-blur,0px));
  transform:translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0) scale(var(--scroll-scale,1)) rotate(var(--scroll-rotate,0deg));
  transition:none;
}
html.has-scroll-animations .product-card:hover {
  transform:translate3d(var(--scroll-x,0px),calc(var(--scroll-y,0px) - 4px),0)
     scale(var(--scroll-scale,1)) rotate(var(--scroll-rotate,0deg));
}
/* Hidden cards should not intercept clicks before their reveal. */
html.has-scroll-animations .product-card { pointer-events:auto; }
@media (max-width:750px) {
  .product-media { aspect-ratio:1/1; border-radius:12px; }
  .product-media img { padding:3.5%; }
  .showcase-image-wrap { aspect-ratio:1/1; }
}
@media (max-width:480px) {
  .product-grid { gap:34px 12px; }
  .product-media { aspect-ratio:1/1; }
  .product-media .card-expand { width:27px; height:27px; font-size:16px; right:8px; bottom:8px; }
  .product-copy { padding-top:14px; }
  .showcase-image-wrap img { padding:4%; }
}
@media (prefers-reduced-motion:reduce) {
  html.has-scroll-animations [data-scroll-anim], html.has-scroll-animations .product-card:hover { opacity:1!important; filter:none!important; transform:none!important; }
  .product-media img,.showcase-image-wrap img { transform:none!important; transition:none!important; }
  .product-copy,.showcase-tile-caption { opacity:1!important; transform:none!important; }
}

/* V6 — custom heading font, hero botanicals, smooth card hover, benefit icons */



body,
.hero-subline,
.hero-lead,
.hero-tally,
.catalog-heading > p:last-child,
.category-heading > p,
.product-subtitle,
.marketplace-text,
.footer-meta,
.footer-main nav a,
.hero-highlight p,
.showcase-heading > p:last-child,
.about-inner > p:not(.eyebrow) {
  font-family: Arial, Calibri, 'Helvetica Neue', sans-serif;
}

.wordmark-name,
.footer-wordmark,
.hero h1,
.catalog-heading h2,
.category-heading h3,
.showcase-heading h2,
.about-inner h2,
.product-name,
.showcase-tile-caption strong {
  font-family: 'Slovic Head', Georgia, 'Times New Roman', serif;
  font-weight: 400;
}

.hero {
  background:
    radial-gradient(circle at 50% 20%, rgba(209, 184, 132, .12), transparent 26%),
    linear-gradient(180deg, #15382d 0%, #122f27 100%);
}
.hero::before {
  background:
    radial-gradient(ellipse at 50% 72%, rgba(72,114,91,.24), transparent 56%),
    linear-gradient(115deg, rgba(6,34,26,.52), transparent 42%, rgba(6,34,26,.22));
}
.hero-inner { position: relative; z-index: 2; }
.hero h1 { letter-spacing: -.035em; }
.hero-subline {
  max-width: 720px;
  margin: 0 auto 18px;
  font: 700 clamp(20px, 2.2vw, 28px)/1.34 Arial, Calibri, sans-serif;
  letter-spacing: .01em;
  color: #f1ead8;
  text-transform: uppercase;
}
.hero-lead { max-width: 540px; color:#dbe2da; }
.hero-botanical {
  position: absolute;
  z-index: 1;
  opacity: .84;
  pointer-events: none;
  filter: drop-shadow(0 14px 24px rgba(0,0,0,.24));
}
.hero-botanical img {
  display: block;
  width: 100%;
  height: auto;
}
.hero-botanical-1 { left: 4%; top: 10%; width: clamp(84px, 10vw, 144px); transform: rotate(-9deg); }
.hero-botanical-2 { right: 11%; top: 14%; width: clamp(78px, 9vw, 128px); transform: rotate(7deg); }
.hero-botanical-3 { right: 5%; bottom: 14%; width: clamp(92px, 11vw, 152px); transform: rotate(12deg); }
.hero-botanical-4 { left: 10%; bottom: 10%; width: clamp(82px, 10vw, 136px); transform: rotate(-12deg); }

.hero-highlights {
  background: #f2f0e8;
  border-bottom: 1px solid rgba(18,47,39,.08);
}
.hero-highlights-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  padding: 34px 0 44px;
}
.hero-highlight {
  min-width: 0;
  min-height: 198px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.56);
  border: 1px solid rgba(18,47,39,.08);
  box-shadow: 0 12px 30px rgba(18,47,39,.05);
}
.hero-highlight-icon {
  width: 88px;
  height: 88px;
  color: #446e53;
  margin-bottom: 20px;
}
.hero-highlight-icon svg,
.hero-highlight-icon img { width: 100%; height: 100%; object-fit: contain; display:block; }
.hero-highlight p {
  margin: 0;
  color: #44534a;
  font-size: 19px;
  line-height: 1.45;
  letter-spacing: -.01em;
}

.product-card { transform-style: preserve-3d; }
.product-media,
.showcase-image-wrap {
  transition: box-shadow .38s var(--ease), transform .38s var(--ease), background .3s ease;
}
.product-media img,
.showcase-image-wrap img {
  will-change: transform;
  transition: transform .46s cubic-bezier(.2,.8,.2,1), filter .46s cubic-bezier(.2,.8,.2,1);
}
html.has-scroll-animations .product-card:hover {
  transform: translate3d(var(--scroll-x,0px), var(--scroll-y,0px), 0) scale(var(--scroll-scale,1)) rotate(var(--scroll-rotate,0deg));
}
.product-card:hover .product-media {
  box-shadow: inset 0 0 0 1px rgba(100,86,68,.06), 0 18px 34px rgba(18,47,39,.10);
}
.product-card:hover .product-media img {
  filter: drop-shadow(0 24px 18px rgba(26,33,26,.22));
  transform: translate3d(0,var(--product-y,0px),0) scale(calc(var(--product-scale,1) + .06)) rotate(var(--product-rotate,0deg));
}
.showcase-tile:hover .showcase-image-wrap {
  box-shadow: inset 0 0 0 1px rgba(100,86,68,.05), 0 18px 34px rgba(18,47,39,.08);
}
.showcase-tile:hover .showcase-image-wrap img {
  transform: translate3d(0,var(--product-y,0px),0) scale(calc(var(--product-scale,1) + .05)) rotate(var(--product-rotate,0deg));
}

.product-name {
  line-height: 1.14;
  letter-spacing: -.03em;
}

@media (max-width: 1100px) {
  .hero-highlights-grid { gap: 18px; }
  .hero-highlight p { font-size: 17px; }
}
@media (max-width: 750px) {
  .hero-subline { max-width: 360px; font-size: 18px; line-height: 1.42; }
  .hero-botanical-1 { left: -2%; top: 14%; width: 82px; }
  .hero-botanical-2 { right: 1%; top: 12%; width: 72px; }
  .hero-botanical-3 { right: -2%; bottom: 18%; width: 86px; }
  .hero-botanical-4 { left: 2%; bottom: 15%; width: 74px; }
  .hero-highlights-grid { grid-template-columns: 1fr; padding: 26px 0 34px; }
  .hero-highlight { min-height: 150px; padding: 22px 20px; }
  .hero-highlight-icon { width: 74px; height: 74px; margin-bottom: 14px; }
  .hero-highlight p { font-size: 16px; }
}
@media (max-width: 480px) {
  .hero-subline { max-width: 300px; font-size: 16px; }
  .hero-lead { max-width: 300px; }
  .hero-highlight p { font-size: 15px; line-height: 1.42; }
}


/* V7 — user refinement: custom heading font, hero artwork, cleaner card marketplace rows. */


:root {
  --heading-font: 'Slovic Serif', Georgia, 'Times New Roman', serif;
  --body-font: Arial, 'Helvetica Neue', sans-serif;
  --soft-radius: 22px;
  --pill-radius: 999px;
}
body { font-family: var(--body-font); }
.wordmark-name,
.hero h1,
.catalog-heading h2,
.showcase-heading h2,
.category-heading h3,
.about-inner h2,
.product-name { font-family: var(--heading-font); }
.wordmark-small,
.hero-subline,
.hero-lead,
.catalog-heading > p:last-child,
.category-heading > p,
.hero-highlight p,
.product-meta,
.market-meta,
.footer-meta,
.desktop-nav a,
.header-cta,
.button,
.eyebrow,
.hero-eyebrow,
.category-chip,
.showcase-tile-caption,
.about-inner > p:not(.eyebrow) { font-family: var(--body-font); }
.header-cta,
.button,
.category-chip,
.mobile-nav a,
.hero-highlight,
.showcase-tile,
.product-media,
.card-expand,
.back-to-top,
.product-image-link,
.skip-link { border-radius: var(--soft-radius); }
.site-header,
.hero-highlights,
.market-meta-link,
.showcase-image-wrap,
.showcase-tile-caption { border-radius: var(--soft-radius); }
.hero {
  min-height: 700px;
  background: linear-gradient(180deg,#22483b 0%, #17382f 100%);
}
.hero::before {
  content:'';
  z-index:-1;
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(255,255,255,.08), transparent 45%),
    linear-gradient(140deg, rgba(5,25,20,.46) 0%, rgba(5,25,20,.20) 40%, rgba(5,25,20,.50) 100%);
}
.hero-art {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  pointer-events:none;
  z-index:-1;
}
.hero-art img {
  width:min(1820px, 112vw);
  max-width:none;
  opacity:.94;
  filter: drop-shadow(0 38px 54px rgba(0,0,0,.20));
}
.hero-inner { position:relative; z-index:1; }
.hero h1 { letter-spacing: -.04em; }
.hero-subline {
  font: 700 clamp(20px,2.4vw,28px)/1.35 var(--body-font);
  color:#f3eddc;
  letter-spacing:-.01em;
}
.hero-lead {
  max-width: 520px;
  font-size: 15px;
  line-height: 1.8;
  color: #dde4d7;
}
.hero-highlights { background:#f2f0e8; }
.hero-highlights-grid { padding:38px 0 46px; }
.hero-highlight {
  border-radius: 28px;
  min-height: 184px;
  background: rgba(255,255,255,.72);
}
.hero-highlight-icon {
  width: 84px;
  height: 84px;
  color: #446e53;
}
.hero-highlight p {
  font-size: 20px;
  line-height: 1.38;
  font-weight: 600;
}
.product-card { transition: transform .38s var(--ease), filter .38s var(--ease); }
.product-card:hover { transform: translateY(-6px); }
.product-image-link,
.product-name,
.market-meta-link { transition: color .25s ease, opacity .25s ease, transform .35s var(--ease); }
.product-media {
  border-radius: 26px;
  box-shadow: 0 18px 36px rgba(18,47,39,.06);
}
.product-media.bad { background:#ece7dd; }
.product-media.cream { background:#eee5d7; }
.product-media img {
  transform: translate3d(0,var(--product-y,0px),0) scale(var(--product-scale,1)) rotate(var(--product-rotate,0deg));
  transition: transform .52s cubic-bezier(.2,.8,.2,1), filter .52s cubic-bezier(.2,.8,.2,1);
  transform-origin: center center;
  will-change: transform, filter;
}
.product-card:hover .product-media img {
  transform: translate3d(0,var(--product-y,0px),0) scale(calc(var(--product-scale,1) + .055)) rotate(var(--product-rotate,0deg));
  filter: drop-shadow(0 24px 18px rgba(26,33,26,.22));
}
.card-expand {
  border-radius: 999px;
  transition: background .25s ease, color .25s ease, transform .35s var(--ease);
}
.product-copy { padding-top: 16px; }
.product-name {
  min-height: 58px;
  font-size: 22px;
  line-height: 1.14;
  margin-bottom: 10px;
}
.market-meta {
  margin-top: 2px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 16px;
  padding-top:6px;
}
.market-meta-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height: unset;
  padding: 0;
  border: 0;
  background: transparent;
  color:#33463d;
}
.market-meta-link:hover { transform: translateY(-1px); color:#8c7251; }
.market-meta-brand {
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  color: var(--forest);
}
.market-meta-price {
  font-size:18px;
  line-height:1.2;
  font-weight:700;
  color:#44534a;
}
.no-links {
  font-size: 13px;
  color:#858b85;
}
.bad-disclaimer { display:none !important; }
.showcase-image-wrap,
.showcase-tile,
.showcase-tile-caption,
.hero-highlight,
.category-chip,
.button,
.header-cta { border-radius: 26px; }
@media(max-width: 750px) {
  .hero { min-height: 640px; }
  .hero-art img { width: 142vw; max-width: 1120px; }
  .hero-highlight { min-height: 148px; }
  .hero-highlight p { font-size:16px; }
  .product-name { font-size: 18px; min-height: 72px; }
  .market-meta { gap:8px 12px; }
  .market-meta-brand { font-size:11px; }
  .market-meta-price { font-size:15px; }
}
@media(max-width: 480px) {
  .hero-art img { width: 168vw; max-width: 920px; }
  .hero-subline { font-size: 17px; }
  .hero-lead { font-size: 14px; }
  .hero-highlight-icon { width: 68px; height: 68px; }
  .product-name { min-height: 78px; }
}


/* V10 — visible, row-synchronised blur-to-focus reveal. */
html.has-scroll-animations .product-grid .product-card {
  /* Motion is owned by scroll.js, never by a one-shot CSS keyframe. */
  opacity: var(--scroll-opacity,1);
  filter: blur(var(--scroll-blur,0px));
  transform: translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0)
             scale(var(--scroll-scale,1));
  transform-origin: center 54%;
  transition: none;
  backface-visibility: hidden;
}
html.has-scroll-animations .product-grid .product-card:hover {
  /* Hover zoom acts on the PACKAGE only, never overriding the row physics. */
  transform: translate3d(var(--scroll-x,0px),var(--scroll-y,0px),0)
             scale(var(--scroll-scale,1));
}
html.has-scroll-animations .product-grid .product-card .product-media img {
  /* This is independent of the blur on the parent, preserving smooth hover. */
  transform: translate3d(0,var(--product-y,0px),0)
             scale(var(--product-scale,1));
}
html.has-scroll-animations .product-grid .product-card:hover .product-media img {
  transform: translate3d(0,var(--product-y,0px),0)
             scale(calc(var(--product-scale,1) + .055));
}
@media (prefers-reduced-motion: reduce) {
  html.has-scroll-animations .product-grid .product-card,
  html.has-scroll-animations .product-grid .product-card:hover {
    opacity:1!important;
    filter:none!important;
    transform:none!important;
  }
}


/* v11 — row reveal from pronounced blur; scroll.js synchronizes rows. */
html.has-scroll-animations .product-grid .product-card {
  opacity: var(--scroll-opacity, 1);
  filter: blur(var(--scroll-blur, 0px));
  transform: translate3d(var(--scroll-x,0px), var(--scroll-y,0px), 0)
             scale(var(--scroll-scale,1));
  transform-origin: center 56%;
  transition: none;
  backface-visibility: hidden;
}
html.has-scroll-animations .product-grid .product-card:hover {
  transform: translate3d(var(--scroll-x,0px), var(--scroll-y,0px), 0)
             scale(var(--scroll-scale,1));
}
.product-grid .product-card .product-media img {
  transition: transform .52s cubic-bezier(.2,.8,.2,1), filter .52s cubic-bezier(.2,.8,.2,1);
}
html.has-scroll-animations .product-grid .product-card .product-media img {
  transform: translate3d(0, var(--product-y,0px), 0)
             scale(var(--product-scale,1));
}
html.has-scroll-animations .product-grid .product-card:hover .product-media img {
  transform: translate3d(0, var(--product-y,0px), 0)
             scale(calc(var(--product-scale,1) + .055));
}
@media (prefers-reduced-motion: reduce) {
  html.has-scroll-animations .product-grid .product-card,
  html.has-scroll-animations .product-grid .product-card:hover {
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}


/* v12 clean row-driven animation: applied ONLY after JS initializes. */
html.motion-ready .product-grid .product-card,
html.motion-ready .product-grid .product-card:hover {
  opacity:var(--row-opacity,1);
  filter:blur(var(--row-blur,0px));
  transform:translate3d(0,var(--row-y,0px),0) scale(var(--row-scale,1));
  transition:none;
  transform-origin:center 56%;
}
html.motion-ready [data-scroll-anim]:not(.product-card),
html.motion-ready [data-scroll-anim]:not(.product-card):hover {
  opacity:var(--move-opacity,1);
  filter:blur(var(--move-blur,0px));
  transform:translate3d(var(--move-x,0px),var(--move-y,0px),0) scale(var(--move-scale,1));
  transition:none;
}
html.motion-ready .product-grid .product-card .product-media img {
  transform:translate3d(0,var(--product-y,0px),0) scale(var(--product-scale,1));
  transition:transform .50s cubic-bezier(.2,.8,.2,1),filter .50s ease;
}
html.motion-ready .product-grid .product-card:hover .product-media img {
  transform:translate3d(0,var(--product-y,0px),0) scale(calc(var(--product-scale,1) + .065));
}
.motion-toggle {
  background:transparent; color:#54685a; border:1px solid #c7d1c5;
  font:600 11px/1.4 Arial,sans-serif; letter-spacing:.02em;
  border-radius:999px; padding:9px 15px; cursor:pointer;
  transition:background .22s,color .22s,border-color .22s;
}
.motion-toggle:hover {background:var(--forest);color:#fff;border-color:var(--forest);}
@media(prefers-reduced-motion:reduce){
  /* User can explicitly enable effects using the on-page toggle. */
  html.motion-ready .product-grid .product-card,
  html.motion-ready [data-scroll-anim] {
    opacity:var(--row-opacity,var(--move-opacity,1))!important;
    filter:blur(var(--row-blur,var(--move-blur,0px)))!important;
  }
}





/* v13: consistent type, responsive botanical backgrounds and final section */
.heading-accent { font-style:normal!important; color:#c5a878; }
.hero h1 .heading-accent { color:#d4b687; }
.catalog-heading .heading-accent,.showcase-heading .heading-accent { color:#907b61; }
.footer-wordmark { font-family:'Slovic Serif',Georgia,serif!important; font-weight:400!important; }
.footer-wordmark .heading-accent {color:#8b744e;}
.hero-art picture { display:block;width:100%;height:100%; }
.hero-art {overflow:hidden;}
.hero-art img {display:block;width:100%!important;max-width:none!important;height:100%!important;object-fit:cover;object-position:center;}
.hero-subline {margin-bottom:29px;}
.about-section {min-height:620px;display:flex;align-items:center;}
.about-inner {width:100%;padding-top:125px;padding-bottom:170px;}
@media(max-width:750px){
 .hero-art img {width:100%!important;height:100%!important;object-fit:cover;object-position:center;}
 .about-section {min-height:720px;}
 .about-inner {padding-top:120px;padding-bottom:200px;}
}
/* v16: remove forced visibility in About; text now reveals with blur on scroll. */


/* v14: единственный фирменный шрифт заголовков (подключается из файла пользователя рядом с index.html). */
@font-face {
  font-family: 'Slovic SemiSerif';
  src: local('Slovic Demo SemiSerif'),
       local('Slovic_Demo-SemiSerif');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root { --heading-font:'Slovic SemiSerif', Georgia, 'Times New Roman', serif; --body-font:Arial, Helvetica, sans-serif; }
body { font-family:var(--body-font); }
.wordmark-name, .hero h1, .showcase-heading h2, .catalog-heading h2,
.category-heading h3, .about-inner h2, .product-name,
.footer-wordmark, .showcase-tile-caption strong {
  font-family:var(--heading-font)!important;
  font-style:normal!important;
}
.wordmark-name *, .hero h1 *, .showcase-heading h2 *, .catalog-heading h2 *,
.category-heading h3 *, .about-inner h2 *, .product-name *,
.footer-wordmark *, .showcase-tile-caption strong * { font-style:normal!important; }
.hero-subline, .hero-lead, .eyebrow, .hero-eyebrow, .wordmark-small,
.about-inner p:not(.eyebrow), .category-heading p,
.catalog-heading p, .showcase-heading p, .product-copy .product-meta,
.market-meta, .product-kind, .product-size,
.footer-meta, .footer-main nav a, .desktop-nav, .mobile-nav,
.button, .category-chip, .showcase-tile-caption small {
  font-family:var(--body-font)!important;
}
/* Clean category switcher: centered type, small arrow aligned to right. */
.category-nav .category-chip {
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:15px 35px;
  font-size:15px;
}
.category-nav .category-chip .chip-arrow {
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
}
.category-nav .category-chip:hover .chip-arrow { transform: translate(2px,calc(-50% + 2px)); }
/* The long heading should remain legible on narrow screens. */
.catalog-heading { max-width:950px; }
.catalog-heading h2 {
  font-size:clamp(31px,4.8vw,68px)!important;
  line-height:1.12!important;
  letter-spacing:-.035em!important;
}
/* More breathing space for the new, longer 'About' copy. */
.about-section { min-height:760px; }
.about-inner { max-width:930px; padding-top:122px; padding-bottom:240px; }
.about-inner .about-prose { max-width:720px; margin:20px auto 20px; }
.about-inner .about-prose p {
  margin:0 auto 14px;
  max-width:720px;
  font-size:15px;
  line-height:1.75;
  color:#c5d1c8;
}
.about-inner .about-prose p:last-child { margin-bottom:0; }
.about-inner .about-prose .brand-signature {
  margin-top:22px;
  font-size:17px;
  font-weight:700;
  color:#f2ebda;
}
.about-inner .about-button { margin-top:26px; }
@media (max-width:750px) {
  .catalog-heading h2 { font-size:clamp(29px,7vw,44px)!important; }
  .category-nav .category-chip { padding:14px 28px 14px 15px; }
  .category-nav .category-chip .chip-arrow { right:11px; }
  .about-section { min-height:900px; }
  .about-inner { padding-top:110px; padding-bottom:280px; }
  .about-inner .about-prose p { font-size:14px; line-height:1.75; }
  .about-inner .about-prose .brand-signature { font-size:15px; }
}
@media (max-width:380px) {
  .catalog-heading h2 { font-size:29px!important; }
  .category-nav .category-chip { font-size:13px; }
}


/* V16: floating island header, without touching the rest of the approved layout. */
html { scroll-padding-top: 132px; }
.site-header {
  position: fixed;
  top: 20px;
  left: clamp(14px, 3.2vw, 54px);
  right: clamp(14px, 3.2vw, 54px);
  width: auto;
  z-index: 70;
  margin: 0;
  border: 1px solid rgba(29, 62, 46, .13);
  border-radius: 25px;
  background: rgba(250, 249, 243, .96);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  box-shadow: 0 10px 32px rgba(12, 39, 28, .16), 0 2px 5px rgba(12, 39, 28, .04);
  transform: translate3d(0, 0, 0) scale(1);
  transform-origin: center top;
  transition: transform .42s cubic-bezier(.18,.82,.24,1),
              box-shadow .42s cubic-bezier(.18,.82,.24,1),
              background-color .25s ease;
  will-change: transform;
}
.site-header.scrolled {
  box-shadow: 0 12px 36px rgba(12, 39, 28, .18), 0 2px 7px rgba(12, 39, 28, .06);
}
@media (hover: hover) and (pointer: fine) {
  .site-header:hover {
    transform: translate3d(0,0,0) scale(1.018);
    box-shadow: 0 18px 48px rgba(12,39,28,.20), 0 4px 12px rgba(12,39,28,.07);
  }
}
.site-header .header-inner.container {
  width: calc(100% - 48px);
  max-width: none;
  min-height: 80px;
  column-gap: clamp(14px, 2vw, 32px);
}
.site-header .desktop-nav { gap: clamp(15px, 2.5vw, 38px); }
.site-header .mobile-nav {
  border-radius: 0 0 21px 21px;
  overflow: hidden;
  border: 1px solid rgba(29,62,46,.12);
  border-top: 0;
  box-shadow: 0 24px 34px rgba(12,39,28,.15);
}
/* The paragraph now receives continuous blur, opacity and translation from v12 motion. */
.about-inner .about-prose[data-scroll-anim="about-copy"] {
  transform-origin: center 40%;
  will-change: opacity, filter, transform;
}
/* Ensure enough travel for the paragraph to settle before reaching page end. */
.about-section { min-height: 860px; }
.about-inner { padding-bottom: max(260px, 33vh); }
@media (max-width: 1100px) {
  .site-header .header-inner.container { width: calc(100% - 36px); }
  .site-header .desktop-nav { gap: 16px; }
}
@media (max-width: 750px) {
  html { scroll-padding-top: 106px; }
  .site-header { top: 11px; left: 11px; right: 11px; border-radius: 21px; }
  .site-header .header-inner.container { width: calc(100% - 28px); min-height: 68px; }
  .site-header .mobile-nav { padding-left: 13px; padding-right: 13px; }
  .about-section { min-height: 1050px; }
  .about-inner { padding-bottom: max(320px, 40vh); }
}
@media (prefers-reduced-motion: reduce) {
  .site-header, .site-header:hover { transition: none; transform: none; }
}


/* V17: producer hits carousel on the same green brand background. */
.producer-hits {
  margin: 42px auto 0;
  width: 100%;
  display: grid;
  place-items: center;
}
.producer-hits-title {
  margin: 0;
  text-align: center;
  font-family: var(--heading-font);
  font-size: clamp(30px, 4.1vw, 56px);
  line-height: 1.08;
  letter-spacing: -.035em;
  color: #f4ecda;
}
.hits-fan-wrap {
  width: min(100%, 860px);
  margin: 24px auto 10px;
  padding: 12px 0 0;
}
.hits-fan {
  position: relative;
  width: min(100%, 760px);
  min-height: 430px;
  margin: 0 auto;
}
.hit-card {
  position: absolute;
  top: 0;
  left: 50%;
  width: clamp(205px, 23vw, 290px);
  aspect-ratio: 4 / 5.25;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(14px, 1.5vw, 18px);
  border-radius: 28px;
  background: linear-gradient(180deg, #eadfc8 0%, #dfd1b3 100%);
  border: 1px solid rgba(255,255,255,.34);
  box-shadow: 0 18px 42px rgba(5, 21, 13, .22), inset 0 1px 0 rgba(255,255,255,.38);
  overflow: hidden;
  transition: transform .62s cubic-bezier(.2,.82,.22,1), opacity .62s cubic-bezier(.2,.82,.22,1),
              box-shadow .62s cubic-bezier(.2,.82,.22,1), filter .62s cubic-bezier(.2,.82,.22,1);
  will-change: transform, opacity, filter;
}
.hit-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 35%);
  pointer-events: none;
}
.hit-card img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 14px 18px rgba(0,0,0,.16));
}
.hit-card.pos-center {
  z-index: 3;
  opacity: 1;
  transform: translateX(-50%) translateY(0) rotate(0deg) scale(1);
}
.hit-card.pos-left {
  z-index: 2;
  opacity: .95;
  transform: translateX(calc(-50% - clamp(120px, 16vw, 170px))) translateY(30px) rotate(-10deg) scale(.90);
  box-shadow: 0 13px 28px rgba(5,21,13,.16), inset 0 1px 0 rgba(255,255,255,.34);
  filter: saturate(.95);
}
.hit-card.pos-right {
  z-index: 1;
  opacity: .95;
  transform: translateX(calc(-50% + clamp(120px, 16vw, 170px))) translateY(30px) rotate(10deg) scale(.90);
  box-shadow: 0 13px 28px rgba(5,21,13,.16), inset 0 1px 0 rgba(255,255,255,.34);
  filter: saturate(.95);
}
.hit-card:focus-visible {
  outline: 2px solid #f4ecda;
  outline-offset: 5px;
}
.about-inner .about-button {
  margin-top: 10px;
}
@media (hover:hover) and (pointer:fine) {
  .hit-card.pos-center:hover { transform: translateX(-50%) translateY(-4px) rotate(0deg) scale(1.02); }
}
@media (max-width: 750px) {
  .producer-hits { margin-top: 34px; }
  .producer-hits-title { font-size: clamp(28px, 8vw, 40px); }
  .hits-fan-wrap { margin-top: 18px; }
  .hits-fan { width: min(100%, 350px); min-height: 320px; }
  .hit-card {
    width: clamp(156px, 44vw, 206px);
    border-radius: 22px;
    padding: 12px;
  }
  .hit-card.pos-left {
    transform: translateX(calc(-50% - 92px)) translateY(30px) rotate(-10deg) scale(.88);
  }
  .hit-card.pos-right {
    transform: translateX(calc(-50% + 92px)) translateY(30px) rotate(10deg) scale(.88);
  }
}


/* V18: larger Urinel/Cardiodoc product presentation in the same beige tiles. */
.hit-card[data-hit="urinel"],
.hit-card[data-hit="cardiodoc"] { padding: 7px; }
@media (max-width: 750px) {
  .hit-card[data-hit="urinel"],
  .hit-card[data-hit="cardiodoc"] { padding: 5px; }
}


/* V19 — компактный устойчивый островок на телефоне, единые заголовки,
   скрытие по направлению скролла и сокращённый низ зелёного блока. */
.about-section {
  min-height: 0 !important;
}
.about-inner {
  padding-bottom: 76px !important;
}
/* Этот блок остаётся на том же зелёном фоне, но после кнопки не будет пустоты. */
@media (max-width: 750px) {
  html { scroll-padding-top: 74px; }
  .site-header {
    /* Без backdrop-filter на Android: исключаем сбой отрисовки фона
       фиксированного элемента при смене слоя и появлении адресной строки. */
    top: 9px;
    left: 10px;
    right: 10px;
    width: auto;
    height: auto;
    min-height: 0;
    display: block;
    box-sizing: border-box;
    border: 1px solid rgba(29,62,46,.12);
    border-radius: 19px;
    background-color: #faf9f3;
    background-image: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    opacity: 1;
    overflow: visible;
    transform: translate3d(0,0,0);
    transition: transform .30s cubic-bezier(.23,.78,.22,1),
                opacity .25s ease, box-shadow .28s ease;
    will-change: auto;
    pointer-events: auto;
    -webkit-transform: translate3d(0,0,0);
  }
  .site-header .header-inner.container {
    width: calc(100% - 24px);
    min-height: 58px;
    height: 58px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px;
    align-items: center;
    column-gap: 8px;
    margin: 0 auto;
  }
  .site-header .wordmark {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    margin: 0;
    min-width: 0;
    max-width: 100%;
    white-space: nowrap;
  }
  .site-header .wordmark-name {
    font-family: var(--heading-font) !important;
    font-size: clamp(21px, 5.6vw, 26px);
    line-height: 1.02;
    letter-spacing: -.04em;
  }
  .site-header .wordmark-small {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 7px;
    line-height: 1;
    margin-top: 4px;
    letter-spacing: .24em;
  }
  .site-header .menu-button {
    height: 40px;
    width: 42px;
    padding: 9px;
    justify-self: end;
  }
  /* Меню выпадает отдельно, не растягивая сам островок. */
  .site-header .mobile-nav {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    border: 1px solid rgba(29,62,46,.12);
    border-radius: 18px;
    background: #faf9f3;
    z-index: 80;
  }
  .site-header.mobile-scroll-hidden {
    transform: translate3d(0,calc(-100% - 23px),0) !important;
    -webkit-transform: translate3d(0,calc(-100% - 23px),0) !important;
    opacity: 0;
    pointer-events: none;
  }
  /* На мобильном — та же семья Slovic SemiSerif, что на ПК. */
  .wordmark-name, .hero h1, .showcase-heading h2,
  .catalog-heading h2, .category-heading h3, .about-inner h2,
  .product-name, .footer-wordmark,
  .showcase-tile-caption strong, .producer-hits-title {
    font-family: var(--heading-font) !important;
    font-style: normal !important;
  }
  .about-section { min-height: 0 !important; }
  .about-inner { padding-bottom: 60px !important; }
}
@media (max-width: 360px) {
  .site-header .wordmark-name { font-size: 21px; }
  .site-header .wordmark-small { font-size: 6px; letter-spacing: .20em; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header.mobile-scroll-hidden { transition: none !important; }
}


/* ===== Этап 1 (build.py): страницы товаров, FAQ, юридический подвал. Палитра и шрифты — из вёрстки Дмитрия. ===== */

/* подвал: предупреждение по 38-ФЗ и реквизиты */
.footer-legal p { margin: 0 0 4px; }
.footer-legal a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.footer-bad-note { text-transform: uppercase; letter-spacing: .04em; }

/* FAQ на главной */
.faq-section { padding: 100px 0 110px; background: var(--paper); }
.faq-inner { max-width: 860px; }
.faq-inner > .eyebrow { margin: 0 0 18px; text-align: center; }
.faq-inner h2 { font: 400 clamp(40px, 4.6vw, 64px)/1.05 var(--heading-font); letter-spacing: -.05em; color: var(--forest); text-align: center; margin: 0 0 44px; }
.faq-list { border-top: 1px solid #deded5; }
.faq-item { border-bottom: 1px solid #deded5; }
.faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 24px 2px; font: 400 21px/1.3 var(--heading-font); color: var(--forest); letter-spacing: -.02em; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; flex: 0 0 auto; font: 300 28px/1 Arial, sans-serif; color: var(--gold-deep); transition: transform .25s var(--ease); }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item p { margin: 0 2px 24px; max-width: 680px; color: #59625a; font-size: 15px; line-height: 1.75; }

/* страница товара */
.page-inner { background: var(--paper); }
.pdp { padding: 150px 0 100px; }
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 12px; color: #7a8279; margin-bottom: 34px; }
.crumbs a { color: #405349; }
.crumbs a:hover { color: #946f43; }
.pdp-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.pdp-media { position: sticky; top: 130px; aspect-ratio: 1 / 1; border-radius: 28px; }
.pdp-media img { padding: 6%; }
.pdp-info > .eyebrow { margin: 6px 0 16px; }
.pdp-title { font: 400 clamp(38px, 4.4vw, 60px)/1.06 var(--heading-font); letter-spacing: -.05em; color: var(--forest); margin: 0; }
.pdp-brand { margin: 12px 0 0; color: var(--gold-deep); font: 400 20px/1.3 var(--heading-font); }
.pdp-lead { margin: 22px 0 0; font-size: 16px; line-height: 1.75; color: #4d574f; max-width: 560px; }
.pdp-buy { max-width: 460px; padding-top: 32px; gap: 10px; }
.pdp-buy .marketplace-link { min-height: 60px; padding: 10px 16px; }
.pdp-buy .marketplace-text { font-size: 13px; }
.pdp-price { margin-left: auto; font: 700 18px/1 Arial, sans-serif; color: var(--forest); white-space: nowrap; }
.pdp-buy .marketplace-arrow { margin-left: 14px; }
.pdp-price-note { margin: 12px 0 0; font-size: 12px; color: #868d85; max-width: 460px; line-height: 1.6; }
.pdp-disclaimer { text-align: left; font-size: 13px; margin: 26px 0 0; max-width: 460px; padding: 14px 16px; border: 1px solid #d6d9cf; border-radius: 14px; }
.pdp-details { margin-top: 40px; border-top: 1px solid #deded5; }
.pdp-block { padding: 24px 0; border-bottom: 1px solid #deded5; }
.pdp-block h2 { margin: 0 0 10px; font: 400 22px/1.25 var(--heading-font); color: var(--forest); letter-spacing: -.02em; }
.pdp-block p, .pdp-empty { margin: 0; font-size: 15px; line-height: 1.75; color: #59625a; }
.pdp-empty { padding-top: 24px; }
.pdp-more { margin-top: 110px; }
.pdp-more .category-heading h2 { font: 400 clamp(36px, 4vw, 54px)/1.05 var(--heading-font); letter-spacing: -.05em; color: var(--forest); margin: 0; }
.pdp-more .category-heading p a { color: var(--gold-deep); font-weight: 700; }
.notfound { min-height: 70vh; }
.notfound p { color: #59625a; margin: 18px 0 30px; }
.notfound .button { background: var(--forest); color: #fff; }

@media (max-width: 750px) {
  .faq-section { padding: 70px 0 76px; }
  .faq-item summary { font-size: 18px; padding: 20px 0; }
  .pdp { padding: 96px 0 70px; }
  .crumbs { margin-bottom: 20px; }
  .pdp-grid { grid-template-columns: 1fr; gap: 26px; }
  .pdp-media { position: relative; top: 0; border-radius: 20px; }
  .pdp-title { font-size: clamp(32px, 9vw, 42px); }
  .pdp-buy { max-width: none; padding-top: 24px; }
  .pdp-price-note, .pdp-disclaimer { max-width: none; }
  .pdp-more { margin-top: 70px; }
}
@media (max-width: 750px) {
  .container.faq-inner, .pdp > .container { width: calc(100% - 32px); }
}
