:root{
  --ink:#000;--milk:#FDFCFA;--powder:#F8D4D1;--lav:#E3DEF0;--red:#AC1917;--ph:#ECEAE6;--ph-dark:#8F8983;
  --futura:'Jost',system-ui,sans-serif;--wilma:'Roboto Condensed',system-ui,sans-serif;--garamond:'EB Garamond',serif;--pangaia:'Playfair Display',serif;
  --g:24px;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{font:400 14px/25.2px var(--futura);letter-spacing:.6px;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block}
.page{max-width:1600px;margin:0 auto;padding-left:var(--g)!important;padding-right:var(--g)!important}

/* заголовки Wilma: всегда капс */
.w36{font:800 36px/32px var(--wilma);letter-spacing:.6px;text-transform:uppercase}
.w34{font:800 34px/32px var(--wilma);letter-spacing:.6px;text-transform:uppercase}
.w64{font:800 64px/66px var(--wilma);letter-spacing:.6px;text-transform:uppercase}

/* плашки под фото: размер + что в кадре */
.ph{background:var(--ph);position:relative;overflow:hidden}
.ph::after{content:attr(data-ph);position:absolute;left:16px;top:14px;right:16px;font:400 10px/14px var(--futura);letter-spacing:1.6px;text-transform:uppercase;color:#7d7871}
.ph.dark{background:var(--ph-dark)}
.ph.dark::after{color:#efece8}

/* кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;font:400 11px/18px var(--futura);letter-spacing:2.1px;text-transform:uppercase;text-align:center;height:36px}
.btn-line{border:1px solid #fff;color:#fff;width:260px}
.btn-lav{background:var(--lav);border:1px solid transparent}
.btn-black{background:#000;color:#fff;height:46px}
.ulink{font:400 11px/19.8px var(--futura);letter-spacing:2.1px;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px}

/* 1. плашка */
.ann{background:var(--powder);height:32px;display:flex;align-items:center;justify-content:center;font:400 12px/14px var(--futura);letter-spacing:.28px;padding:5px 0 3px}
.ann svg{margin-left:6px}

/* 2. шапка */
.hdr{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--g);background:#fff;position:relative;z-index:2}
.logo{width:255px;height:24px;display:flex;align-items:center;font:500 27px/1 var(--futura);letter-spacing:4.6px;white-space:nowrap}
.nav{display:flex;align-items:center;margin-top:8px}
.nav ul{display:flex;list-style:none;gap:38px;margin-right:16px}
.nav li{font:400 12px/20px var(--futura);letter-spacing:2.1px;text-transform:uppercase}
.icons{display:flex;gap:20px;margin-left:12px}
.icons svg{width:24px;height:24px}
.icons .burger{display:none}

/* 3. hero */
.hero{position:relative;height:720px}
.hero .ph{position:absolute;inset:0}
.ov{position:absolute;left:56px;bottom:48px;color:#fff;z-index:1;max-width:620px}
.ov .kick{font:400 15px/16px var(--futura);letter-spacing:2.1px;text-transform:uppercase;margin-bottom:12px}
.ov .w64{margin-bottom:8px}

/* 4. табы + карточки */
.s-tabs{padding-top:68px}
.tabs{display:flex;justify-content:center;gap:30px;height:36px}
.tab{font:450 13px/22.75px var(--futura);letter-spacing:1.1px;text-transform:uppercase;position:relative;height:36px}
.tab.off{color:rgba(0,0,0,.5)}
.tab.on::after{content:'';position:absolute;left:0;right:0;top:33px;height:3px;background:#000}
.tabs-h{text-align:center;margin:30px 0 16px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card .img{display:block;position:relative;aspect-ratio:4/5;border-bottom:1px solid #000}
.card .img::before{content:'';position:absolute;left:0;bottom:-1px;width:112px;height:3px;background:#000;z-index:1}
.badge{position:absolute;top:10px;right:16px;background:rgba(255,255,255,.9);font:400 10px/12px var(--futura);letter-spacing:1.8px;text-transform:uppercase;padding:2px 4px;z-index:1}
.num{position:absolute;left:16px;bottom:8px;z-index:1;display:flex;align-items:baseline;font-family:var(--pangaia);font-weight:800;color:#000}
.num i{font-style:normal;font-size:32px;letter-spacing:1.28px;line-height:34px}
.num b{font-size:50px;letter-spacing:2px;line-height:34px;margin-left:2px}
.card .info{padding:20px 16px 0}
.card .name{font:400 14px/25.2px var(--futura);letter-spacing:.6px}
.card .price{font:400 14px/18px var(--futura);letter-spacing:.36px;color:rgba(0,0,0,.8);margin-top:13px}
.sw{display:flex;align-items:center;margin-top:12px;height:18px}
.sw span{width:10px;height:10px;border-radius:50%;margin-right:16px}
.sw span.sel{width:18px;height:18px;border:2px solid #000;background-clip:content-box;padding:2px;margin-left:-4px;margin-right:12px}
.sw em{font:400 12px/12px var(--futura);font-style:normal;letter-spacing:.24px}
.viewall{display:flex;justify-content:flex-end;margin-top:-2px}

/* 5. заголовок + текст */
.s-title{padding:56px 0 20px;text-align:center}
.s-title .kick{font:400 12px/14px var(--futura);letter-spacing:2.4px;text-transform:uppercase;margin-bottom:12px}
.s-title p{max-width:880px;margin:8px auto 0;font:400 14px/24px var(--futura);letter-spacing:.36px}

/* 6. товар крупно */
.s-feat{padding:32px 0}
.feat{display:grid;grid-template-columns:549px 1fr;height:686px}
.feat .panel{background:var(--milk);display:flex;align-items:center;padding-left:279px}
.feat .box{width:269px}
.feat h2{font:400 18px/26px var(--futura);letter-spacing:.64px}
.feat .pr{font:400 18px/22px var(--futura);letter-spacing:.48px;margin-top:10px}
.feat .btn-black{width:269px;margin-top:29px}
.feat .note{font:400 12px/14px var(--futura);letter-spacing:.24px;text-align:center;margin-top:22px}

/* 7. центрированный баннер */
.cban{display:flex;justify-content:center}
.cban .fr{position:relative}
.cban .ov{left:56px;bottom:48px}
.s-diag{padding:60px 0 32px}
.s-diag .fr{width:640px;height:800px}

/* 8–9. рейтинг + отзывы */
.s-rate{padding:28px 0 16px}
.rate{display:flex;align-items:center;gap:10px;font:400 14px/20px var(--futura);letter-spacing:2.7px;text-transform:uppercase}
.stars{letter-spacing:1px;font-size:16px}
.s-rev{padding-bottom:45px}
.s-rev .w34{max-width:900px;text-transform:uppercase}
.revs{display:grid;grid-auto-flow:column;grid-auto-columns:25%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:32px}.revs::-webkit-scrollbar{display:none}
.rev{padding-right:28px;border-right:1px solid #000;min-height:150px;padding-top:0;scroll-snap-align:start}
.rev+.rev{padding-left:28px}
.rev:last-child{border-right:0}
.rev .top{display:flex;justify-content:space-between;font:400 14px/16px var(--futura);letter-spacing:.28px}
.rev .txt{font:400 13px/17px var(--futura);letter-spacing:.26px;margin-top:12px;color:#7d7871}
.rev .dt{font:400 12px/14px var(--futura);letter-spacing:1.8px;margin-top:16px}
.arrows{display:flex;justify-content:flex-end;gap:20px;margin-top:20px;height:20px}
.s-rev .ulink{display:inline-block;margin-top:-6px}

/* 10. две фотографии */
.s-two{padding:32px 0 60px;display:flex;justify-content:center;gap:8px}
.s-two .ph{width:459px;height:689px}

/* 12. диптих */
.s-dip{padding:56px 0 32px}
.dip{display:grid;grid-template-columns:720px 720px;margin-left:calc(-1 * var(--g));width:1440px}
.dip .tx{display:flex;flex-direction:column;justify-content:center;padding-left:160px}
.dip .ser{font:500 24px/32px var(--garamond);letter-spacing:.6px;color:var(--red);max-width:400px;margin-top:8px}
.dip .ps{padding-left:32px;margin-top:16px;width:368px}
.dip p{font:400 14px/24px var(--futura);letter-spacing:.36px;margin-bottom:12px}
.dip .btn-lav{width:288px;margin-top:8px}
.dip .ph{height:600px}

/* 13. баннер во всю ширину */
.s-full{padding:24px 0 56px}
.s-full .wrap{position:relative;height:576px}
.s-full .ph{position:absolute;inset:0}

/* 14. баннер по центру 480 */
.s-know{padding:60px 0 48px}
.s-know .fr{width:480px;height:600px}

/* 15. 4 колонки */
.s-cols{padding:40px 0 60px}
.cols{display:grid;grid-template-columns:repeat(4,332px);gap:16px}
.cols .ph{height:415px}
.cols h4{font:500 20px/24px var(--garamond);letter-spacing:.6px;color:var(--red);margin-top:16px;min-height:24px}
.cols p{font:400 14px/20px var(--futura);letter-spacing:.28px;margin-top:26px}
.cols a{display:inline-block;font:400 12px/14px var(--futura);letter-spacing:1.8px;text-transform:uppercase;text-decoration:underline;text-underline-offset:3px;margin-top:30px}

/* 16. FAQ */
.s-faq{background:var(--milk);padding:60px 0 56px}
.faq{width:592px;margin:0 auto}
.faq .w36{line-height:36px;text-align:center;margin-bottom:30px}
.q{border-bottom:1px solid #000;margin-bottom:16px}
.q summary{display:flex;justify-content:space-between;min-height:44px;font:500 15px/27px var(--futura);letter-spacing:.6px;cursor:pointer;list-style:none}
.q summary::-webkit-details-marker{display:none}
.q summary span{width:32px;flex:0 0 32px;text-align:center;font:400 14px/25.2px var(--futura)}
.q .a{font:400 14px/24px var(--futura);letter-spacing:.36px;padding:0 40px 18px 0}
.q .a a,.pacc .a a{text-decoration:underline}
.faq .more{display:flex;justify-content:center;margin-top:16px}
.faq .btn-lav{width:255px}

/* 17. SEO-текст */
.s-seo{padding:80px 0;text-align:center}
.s-seo .in{width:880px;margin:0 auto}
.s-seo p{font:400 14px/24px var(--futura);letter-spacing:.36px;margin-top:8px}
.s-seo h3{font:500 24px/24px var(--garamond);letter-spacing:.96px;color:var(--red);margin-top:24px;margin-bottom:24px}
.s-seo h3+p{margin-top:0}
.s-seo .btn-lav{width:260px;margin-top:16px}

/* 18. соцсети */
.s-soc{padding-top:54px}
.s-soc h2{font:800 19.6px/25.48px var(--wilma);letter-spacing:.6px;text-transform:uppercase;text-align:center;margin-bottom:29px}
.soc{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.soc .ph{height:auto;aspect-ratio:270/361}

/* 19. футер */
.ftr{background:var(--milk);padding:36px var(--g) 30px}
.seal{width:80px;height:80px;border-radius:50%;border:1px solid #000;display:flex;align-items:center;justify-content:center;font:500 22px/1 var(--pangaia)}
.fgrid{display:grid;grid-template-columns:539px 220px 224px 1fr;column-gap:54px;margin-top:20px}
.fgrid .t{font:400 16px/22px var(--futura);letter-spacing:.32px}
.fgrid .s{font:400 14px/20px var(--futura);letter-spacing:.28px;color:rgba(0,0,0,.8);margin-top:4px}
.fgrid .btn-lav{width:100%;height:50px;margin-top:22px;font-size:12px}
.fgrid h5{font:400 13px/24px var(--futura);letter-spacing:.32px;margin-bottom:15px}
.fgrid li{list-style:none;font:400 13px/24px var(--futura);letter-spacing:.28px;height:24px}
.fgrid .follow{font:400 14px/25.2px var(--futura);margin-top:0}
.fgrid .soci{display:flex;gap:16px;margin-top:10px}
.copy{text-align:center;font:400 12px/17px var(--futura);letter-spacing:.24px;margin-top:70px}
.zya-line{display:flex;justify-content:center;margin-top:60px;font:400 11px/14px var(--futura);letter-spacing:2.1px;text-transform:uppercase;color:#7d7871}


/* ---------- общие дополнения ---------- */
button{font:inherit;background:none;border:0;color:inherit;cursor:pointer}
.tab{background:none;border:0;cursor:pointer;padding:0}
.w28{font:800 28px/32px var(--wilma);letter-spacing:.6px;text-transform:uppercase}
.w30{font:800 30px/32px var(--wilma);letter-spacing:.6px;text-transform:uppercase}
.w56{font:800 56px/54px var(--wilma);letter-spacing:.6px;text-transform:uppercase}
.w56c{font:800 56px/58px var(--wilma);letter-spacing:.6px;text-transform:uppercase;text-align:center}
.btn-outline{border:2px solid #000;height:46px;width:100%}
.sw-l a{width:10px;height:10px;border-radius:50%;margin-right:16px;background:var(--c);display:block}
.sw-l a.sel{width:18px;height:18px;border:2px solid #000;background:var(--c) content-box;padding:2px;margin-left:-4px;margin-right:12px}
.nav li a{display:block;padding-bottom:2px;border-bottom:1px solid transparent}
.nav li:hover a,.nav li.on a{border-bottom-color:#000}
.icons a,.icons button{display:flex}

/* мега-меню (замеры: фото слева 320×400, списки 15 px с отступом 30) */
.hdr{position:relative}
.mega{position:absolute;left:80px;right:0;top:68px;background:#fff;display:none;gap:48px;padding:24px 32px 34px;box-shadow:0 20px 30px -24px rgba(0,0,0,.25);z-index:5}
.mega.open{display:flex}
.mg-feat{width:320px;position:relative}
.mg-feat .ph{height:400px}
.mg-feat .w28{position:absolute;left:0;top:-4px;right:0;z-index:1;color:#000;padding-right:40px}
.mg-feat .ph::after{top:auto;bottom:12px}
.mg-feat .ulink{display:inline-block;margin-top:16px}
.mg-h{font:500 14px/18.2px var(--futura);letter-spacing:.6px;margin:6px 0 14px}
.mg-col ul{list-style:none;padding-left:30px}
.mg-col li{font:400 15px/30px var(--futura);letter-spacing:.6px}
.mg-col li a:hover{text-decoration:underline}

/* мобильное меню */
.drawer{position:fixed;inset:0;background:#fff;z-index:50;padding:0 16px 24px;overflow:auto}
.drawer[hidden]{display:none}
.dr-top{height:56px;display:flex;align-items:center;justify-content:space-between}
.dr-top .logo{font-size:20px;letter-spacing:3.2px;width:auto}
.dr-close svg{width:24px;height:24px}
.dr-menu{list-style:none;margin-top:16px}
.dr-menu>li{border-bottom:1px solid #000;font:400 13px/22px var(--futura);letter-spacing:2.1px;text-transform:uppercase}
.dr-menu>li>a,.dr-menu summary{display:flex;justify-content:space-between;padding:16px 0;list-style:none}
.dr-menu summary::-webkit-details-marker{display:none}
.dr-menu ul{list-style:none;padding:0 0 14px 16px;text-transform:none;letter-spacing:.6px;font-size:15px;line-height:32px}
.dr-buy{width:100%;margin-top:28px}

/* хлебные крошки (12/16, #757575) */
.crumbs{display:flex;gap:8px;padding-top:12px;padding-bottom:16px;font:400 12px/16px var(--futura);letter-spacing:.24px;color:#757575}
.crumbs a{text-decoration:underline}

/* ---------- карточка товара (замеры: галерея 766, колонка 460 на молочном) ---------- */
.pdp{display:grid;grid-template-columns:766px 1fr;gap:0;align-items:start}
.gallery{display:flex;flex-direction:column;gap:16px}
.g2{display:grid;grid-template-columns:375px 375px;gap:16px}.g2 .ph{height:468px}
.g3{display:grid;grid-template-columns:245px 245px 245px;gap:15px}.g3 .ph{height:306px}
.buy{background:var(--milk);position:sticky;top:0}
.buy-in{width:460px;margin:0 auto;padding:137px 0 64px}
.prate{display:flex;align-items:center;gap:10px;font:400 14px/16px var(--futura);letter-spacing:.32px}
.prate .ulink{font-size:12px;letter-spacing:1.8px}
.ptitle{display:flex;align-items:flex-start;gap:12px;margin-top:20px}
.ptitle .num{position:static;flex:0 0 auto;margin-top:4px}
.ptitle h1{font:400 18px/26px var(--futura);letter-spacing:.64px}
.pprice{font:400 18px/22px var(--futura);letter-spacing:.48px;margin-top:12px}
.tiles{display:grid;grid-template-columns:repeat(7,60px);gap:4px;margin-top:29px}
.tiles a{height:71px;background:#F1EEEA;display:flex;align-items:center;justify-content:center;border-bottom:1px solid transparent}
.tiles a.on{border-bottom-color:#000}
.tiles span{width:12px;height:52px;border-radius:6px 6px 4px 4px}
.buy .btn-black{width:100%;margin-top:28px}
.pnote{font:400 12px/14px var(--futura);letter-spacing:.24px;text-align:center;margin-top:16px}
.stories{display:flex;gap:11px;margin-top:51px;overflow-x:auto}
.st{flex:0 0 129px;text-align:center}
.st .ph{height:129px}
.st span{display:block;font:600 13px/13px var(--futura);letter-spacing:.6px;margin-top:6px}
.pdiag{margin-top:52px;padding:0 6px}
.pdiag p{font:400 14px/25.2px var(--futura)}
.pdiag b{font-weight:500}
.pdiag .btn-outline{margin-top:16px}
.paccs{margin-top:48px;border-top:1px solid #000}
.pacc{border-bottom:1px solid #000}
.pacc summary{display:flex;align-items:center;gap:14px;height:55px;padding-left:7px;font:400 13px/18px var(--futura);letter-spacing:2.8px;text-transform:uppercase;cursor:pointer;list-style:none}
.pacc summary::-webkit-details-marker{display:none}
.pacc .pl{font:400 18px/18px var(--futura);letter-spacing:0;width:12px}
.pacc .a{padding:0 28px 22px;font:400 14px/22px var(--futura);letter-spacing:.32px}
.rsum{display:flex;justify-content:center;align-items:center;gap:40px;padding-top:80px;padding-bottom:40px}
.rs-avg{display:flex;align-items:center;gap:12px;padding-right:40px;border-right:1px solid #ddd}
.rs-avg b{font:400 48px/1 var(--garamond)}
.rs-avg p{font:400 14px/18px var(--futura);margin-top:4px}
.rs-bars{border-left:1px solid #ddd;border-right:1px solid #ddd;padding:0 40px}
.rs-bars div{display:flex;align-items:center;gap:14px;font:400 14px/25px var(--futura)}
.rs-bars i{width:140px;height:4px;background:#e6e6e6;display:block;border-radius:2px}
.rs-bars em{display:block;height:4px;background:#000;border-radius:2px}
.rs-cta .btn-black{height:38px;border-radius:19px;padding:0 22px;text-transform:none;letter-spacing:.3px;font-size:13px}
.rlist{max-width:1252px;margin:0 auto}
.ritem{border-top:1px solid #e6e6e6;padding:28px 214px}
.rh{display:flex;gap:16px;align-items:center;font:400 14px/20px var(--futura)}
.rh .rd{margin-left:auto;color:#757575;font-size:12px}
.ritem p{font:400 15px/22px var(--garamond);margin-top:10px;color:#555}

/* ---------- квиз (замеры: фото 585×877 слева, вопросы 640 справа, иконки 64) ---------- */
.quiz{display:grid;grid-template-columns:585px 640px;gap:59px;padding:0 24px 0 48px;align-items:start}
.qimg{position:sticky;top:0;height:877px}
.qimg .ph{position:absolute;inset:0}
.qimg .w56{position:absolute;left:32px;bottom:40px;color:#fff;z-index:1}
.qform{padding:72px 0 120px}
.qb{border:0;margin-bottom:61px}
.qb legend{padding:0}
.qq{font:400 13px/20px var(--futura);letter-spacing:.32px;margin-top:2px}
.qh{font:400 13px/20px var(--futura);letter-spacing:.32px;color:#757575;margin-top:4px}
.qopts{display:flex;gap:24px;margin-top:24px}
.qopts:has(.qo:nth-child(5)){gap:10px}.qopts:has(.qo:nth-child(5)) .qo{width:120px}
.qo{width:140px;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;font:400 14px/25.2px var(--futura);position:relative}
.qo input{position:absolute;opacity:0;pointer-events:none}
.qi{width:64px;height:64px;border-radius:50%;background:#F1E6E4;display:flex;align-items:center;justify-content:center;border:1px solid transparent;margin-bottom:8px}
.qi svg{width:64px;height:64px}
.qo input:checked+.qi{border-color:#000;background:var(--powder)}
.qo input:focus-visible+.qi{outline:2px solid #000;outline-offset:2px}
.qres{border-top:1px solid #000;padding-top:32px}
.qres-card{display:grid;grid-template-columns:240px 1fr;gap:32px;margin-top:16px;align-items:center}
.qres-card .img{position:relative;aspect-ratio:4/5;border-bottom:1px solid #000;display:block}
.qres-card .num{left:12px}
.qres-card .btn-black{width:100%;margin-top:22px}

/* ---------- каталог (замеры: h1 56, истории 129, табы 12/14, сетка 342 + вставка 692×1035) ---------- */
.cat{padding-top:52px}
.stories-row{display:flex;justify-content:center;gap:11px;margin:12px 0 56px}
.story{width:129px;text-align:center}
.story .ph{height:129px;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.story span{display:block;font:600 12px/12px var(--futura);letter-spacing:.6px;margin-top:2px}
.ctabs{display:flex;gap:24px;border-bottom:1px solid #000;margin-top:44px;padding-bottom:13px;overflow-x:auto;white-space:nowrap}
.ctabs a{font:400 12px/14px var(--futura);letter-spacing:1.8px;text-transform:uppercase;color:#757575}
.ctabs a.on{font-weight:700;color:#000}
.cbar{display:flex;align-items:center;gap:24px;font:400 12px/14px var(--futura);letter-spacing:1px;color:rgba(0,0,0,.85);margin:22px 0 7px}
.cbar .sort{margin-left:auto;letter-spacing:1.8px}
.cbar .sort b{font-weight:400;margin-left:14px}
.cbar .cnt{margin-left:120px;color:#000}
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;row-gap:24px;padding-bottom:92px}
.cgrid .ed{grid-column:3/5;grid-row:1/3}
.cgrid .ed .ph{height:100%;min-height:600px}
.card[hidden]{display:none}

.card .ph::after{right:110px}
.pdp>*,.quiz>*{min-width:0}
.qres-card.upd{animation:qflash .45s ease}
@keyframes qflash{from{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:none}}
/* ============ МОБАЙЛ (замеры 390) ============ */
@media (max-width:749px){
  :root{--g:16px}
  .ann{height:36px;padding:0 16px;text-align:center}
  .hdr{height:56px;padding:0 16px}
  .logo{width:auto;font-size:20px;letter-spacing:3.2px}
  .nav ul{display:none}
  .nav{margin-top:0}
  .icons{gap:14px;margin-left:0}
  .icons .burger{display:flex}
  .w64{font-size:32px;line-height:34px}
  .w36{font-size:24px;line-height:26px}
  .w34{font-size:24px;line-height:28px}
  .hero{height:640px}
  .ov{left:40px;right:40px;bottom:32px}
  .ov .kick{font-size:12px;line-height:14px}
  .btn-line{width:100%}
  .s-tabs{padding-top:36px}
  .tabs-h{margin:20px 0 20px}
  .grid4{grid-template-columns:repeat(2,1fr);gap:8px}
  .page.flush{padding:0}
  .num i{font-size:20px}.num b{font-size:30px}
  .card .info{padding:12px 8px 0}
  .card .name{font-size:13px;line-height:22px}
  .sw span{margin-right:10px}
  .s-title{padding:36px 0 20px}
  .s-title .kick{font-size:10px}
  .feat{grid-template-columns:1fr;height:auto}
  .feat .ph{height:448px}
  .feat .panel{padding:24px 0 32px;background:#fff}
  .feat .box,.feat .btn-black{width:100%}
  .s-diag,.s-know{padding:45px 0 24px}
  .s-diag .fr,.s-know .fr{width:100vw;height:520px}
  .cban .ov{left:40px;right:40px;bottom:32px}
  .rate{gap:6px;font-size:13px}
  .revs{grid-auto-columns:82%}
  .rev{scroll-snap-align:start}
  .s-two{padding:24px 16px 45px}
  .s-two .ph{width:auto;flex:1;height:auto;aspect-ratio:2/3}
  .dip{grid-template-columns:1fr;width:auto;margin:0}
  .dip .ph{height:460px;order:-1;margin:0 -16px}
  .dip .tx{padding:24px 0 0}
  .dip .ser{font-size:16px;line-height:20px}
  .dip .ps{width:auto}
  .dip .btn-lav{width:100%}
  .s-full .wrap{height:520px}
  .cols{grid-template-columns:repeat(4,92%);overflow-x:auto;gap:16px;scroll-snap-type:x mandatory}
  .cols>div{scroll-snap-align:start}
  .cols .ph{height:448px}
  .faq{width:auto;margin:0 16px}
  .q summary{padding-bottom:8px}
  .s-seo{padding:48px 0}
  .s-seo .in{width:auto}
  .s-seo h3{font-size:16px;line-height:20px}
  .soc{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding:0 16px}.soc::-webkit-scrollbar{display:none}
  .soc .ph{flex:0 0 62%;height:auto;scroll-snap-align:start}
  .fgrid{grid-template-columns:1fr;row-gap:36px;margin-top:8px}
  .s-best .grid4{grid-template-columns:repeat(4,55%);overflow-x:auto;scroll-snap-type:x mandatory}
  .s-best .card{scroll-snap-align:start}
  .mega{display:none!important}
  .w56,.w56c{font-size:32px;line-height:34px}
  .pdp{grid-template-columns:1fr}
  .gallery{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;gap:0}
  .gallery .g2,.gallery .g3{display:contents}
  .gallery .ph{flex:0 0 100%;height:auto;aspect-ratio:4/5;scroll-snap-align:start}
  .buy{position:static;margin:0 -16px}
  .buy-in{width:auto;padding:24px 16px 40px}
  .tiles{grid-template-columns:repeat(auto-fill,52px)}
  .tiles a{height:62px}
  .rsum{flex-direction:column;gap:20px}
  .rs-avg{padding:0}.rs-bars{border:0;padding:0}
  .ritem{padding:22px 0}
  .quiz{grid-template-columns:1fr;padding:0;gap:0}
  .qimg{position:relative;height:420px}
  .qform{padding:32px 16px 72px}
  .qopts{flex-wrap:wrap;gap:12px 0}
  .qo{width:50%}
  .qres-card{grid-template-columns:1fr}
  .stories-row{justify-content:flex-start;overflow-x:auto;margin:12px -16px 32px;padding:0 16px}
  .story{flex:0 0 96px}.story .ph{height:96px}
  .cbar .cnt{margin-left:0}
  .cgrid{grid-template-columns:repeat(2,1fr);row-gap:20px}
  .cgrid .ed{grid-column:1/3;grid-row:auto}
  .cgrid .ed .ph{min-height:0;aspect-ratio:2/3}
  .card .ph::after{right:64px}
}
/* ============ ФОТО ============ */
.ph.has-img{isolation:isolate}
.ph.has-img::after{display:none}
.ph.has-img>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.ph.pack{background:#f1f1f1}
.ph.pack>img{object-fit:cover}
.mg-feat .ph.has-img .w28,.s-full .ph.has-img~.ov{color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.qb[hidden]{display:none}
.hero .ph.has-img>img{object-position:50% 45%}
.s-full .ph.has-img>img{object-position:50% 35%}
@media (min-width:1000px){.s-full .wrap{height:clamp(576px,34vw,820px)}}
/* затемнение снизу, чтобы белые заголовки читались на светлых фото */
.ph.has-img:not(.pack)::after{display:block;content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,0,0,.42),rgba(0,0,0,0) 55%)}
.cols .ph.has-img::after,.g2 .ph.has-img::after,.g3 .ph.has-img::after,.s-two .ph.has-img::after,.dip .ph.has-img::after,.cgrid .ed .ph.has-img::after{display:none}
/* Плёночный тон и зерно, как на фото La Bonne Brosse (только кадры, не предметка) */
.ph.has-img>img{filter:contrast(1.02) saturate(1.06) sepia(.06) brightness(1.01)}
.ph.has-img:not(.pack)::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.45;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.feat .ph.has-img>img{object-position:50% 80%}

/* плёнка на предметке карточек: зерно на ::after, чтобы не сломать чёрную черту под номером (::before) */
.ph.has-img.pack::after{display:block;content:'';position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.45;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.dip .ph.has-img>img{object-position:50% 8%}

/* страница отзывов */
.rv{padding-bottom:80px}.rv-rate{justify-content:center;margin:12px 0 8px}.rv-tabs{flex-wrap:wrap;justify-content:center}#rvmore{margin-top:32px;width:271px}
.s-know .ph.has-img>img{object-position:50% 100%}
.mg-feat .ph.has-img>img{object-position:50% 30%}
.mg-feat .ph.has-img .w28{left:20px;top:16px}

/* правовые страницы */
.legal{max-width:760px;margin:0 auto;padding-bottom:90px;font:400 15px/26px var(--futura)}.legal h1{margin-bottom:28px}.legal h2{font:500 15px/24px var(--futura);letter-spacing:.6px;text-transform:uppercase;margin:28px 0 8px}.legal p{margin-bottom:12px}.legal dl{display:grid;grid-template-columns:180px 1fr;gap:14px 24px}.legal dt{color:#7d7871}.legal-date{color:#7d7871;margin-top:28px}
@media (max-width:600px){.legal{padding-left:16px;padding-right:16px}.legal dl{grid-template-columns:1fr;gap:4px}.legal dd{margin-bottom:12px}}

/* плашка Л’Этуаль в подвале */
.zya-line .letu{margin-left:14px;padding:2px 8px;border:1px solid #c9c4bd;border-radius:10px;color:#7d7871;letter-spacing:1.4px;font-size:10px}
.zya-line .letu:hover{color:#000;border-color:#000}

/* О бренде */
.about{padding-bottom:90px}.ab-lead{max-width:620px;margin:8px auto 56px;text-align:center;font:400 17px/28px var(--futura)}.ab-sec{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin-bottom:64px}.ab-sec.ab-rev .ph{order:2}.ab-sec .ph{height:560px}.ab-tx p{font:400 15px/26px var(--futura);margin-top:14px;max-width:460px}.ab-fin{text-align:center;margin-top:24px}.ab-fin .btn{margin-top:24px;width:271px}
@media(max-width:600px){.about{padding-left:16px;padding-right:16px}.ab-sec{grid-template-columns:1fr;gap:20px;margin-bottom:44px}.ab-sec.ab-rev .ph{order:0}.ab-sec .ph{height:440px;margin:0 -16px}}

@media (max-width:600px){.zya-line{flex-wrap:wrap;gap:10px;text-align:center;padding:0 16px}.zya-line .letu{margin-left:0;white-space:nowrap}}

/* квиз: поделиться */
.qr-links{display:flex;flex-wrap:wrap;gap:22px;margin-top:18px}.qr-share{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit}
.qr-menu{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.qr-menu[hidden]{display:none}.qr-menu a,.qr-menu button{border:1px solid #000;border-radius:18px;padding:7px 14px;font:400 12px/16px var(--futura);letter-spacing:1px;text-transform:uppercase;background:#fff;color:#000;cursor:pointer}.qr-menu a:hover,.qr-menu button:hover{background:#000;color:#fff}
.buy2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:28px}
.buy2 .btn{width:100%;height:46px;margin:0;padding:0 6px;letter-spacing:1.6px}
.buy .buy2 .btn-black{margin-top:0;width:100%}
.letu-b{border:1px solid #000;background:#fff;color:#000}
.rs-cta{display:flex;gap:8px;flex-wrap:wrap}
.rs-cta .rs-letu{background:#fff;color:#000;border:1px solid #000}
/* Баннер на карточке № 02 Рубин (фото № 15, 16.10) */
.ban-02r .ph.has-img>img{object-position:50% 30%}
@media (min-width:750px){.ban-02r .ph.has-img>img{object-position:50% 46%}}
.ban-line{font:400 16px/24px var(--futura);color:#fff;margin:6px 0 0;max-width:520px;text-shadow:0 1px 10px rgba(0,0,0,.45)}
