@font-face{font-family:"Playfair";src:url(/assets/fonts/playfair-e0c764a8e9e1.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/assets/fonts/dm-sans-9fea608a947e.woff2) format("woff2");font-weight:300 800;font-display:swap}
:root{--ivory:#F8F4EE;--paper:#FFFDF9;--sand:#EFE7DD;--blush:#F3E3E0;--ink:#17110F;--ink2:#3B302C;--mute:#7A6E68;--line:#E3D8CC;--wine:#7A1F3D;--wine2:#9E3456;--gold:#B8935A;--gold2:#D9C29A;--pos:#2F6B57;--neg:#A23B3B;--radius:22px;--shadow:0 30px 80px -40px rgba(60,30,20,.35);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.6 "DM Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.35;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.32 0 0 0 0 0.25 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
main,header,footer,section{position:relative;z-index:1}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
.serif{font-family:"Playfair",Georgia,serif}
.eyebrow{font:600 11.5px/1 "DM Sans";letter-spacing:.22em;text-transform:uppercase;color:var(--wine)}
.eyebrow.gold{color:var(--gold)}.glass .eyebrow.gold{color:#85622F}
.rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold2),transparent);border:0;margin:0}
.btn{display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 26px;border-radius:999px;font:600 14.5px "DM Sans";letter-spacing:.01em;border:1px solid var(--ink);transition:.25s}
.btn.dark{background:var(--ink);color:var(--ivory)}.btn.dark:hover{background:var(--wine);border-color:var(--wine)}
.btn.ghost:hover{background:var(--ink);color:var(--ivory)}
.btn.sm{height:38px;padding:0 18px;font-size:13.5px}
.chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,253,249,.7);font-size:13.5px;color:var(--ink2);transition:.2s}
.chip:hover,.chip.on{border-color:var(--ink);color:var(--ink);background:var(--paper)}
/* header */
.hdr{position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.4) blur(14px);background:rgba(248,244,238,.78);border-bottom:1px solid rgba(227,216,204,.7)}
.hdr .wrap{display:flex;align-items:center;height:76px;gap:44px}
.logo{font:500 25px/1 "Playfair";letter-spacing:.28em;color:var(--wine)}
.nav{display:flex;gap:34px;font-size:14.5px;color:var(--ink2)}.nav a{position:relative;padding:6px 0}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--wine);transition:.3s}.nav a:hover:after,.nav a.on:after{right:0}
.hdr-r{margin-left:auto;display:flex;align-items:center;gap:14px}
.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;background:var(--paper);transition:.2s}.icon-btn:hover{border-color:var(--ink)}
.saved{display:flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-size:13.5px;font-weight:600}
.saved b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:var(--wine);color:#fff;font-size:11.5px}
/* hero */
.hero{padding:86px 0 70px;overflow:hidden}
.hero:before{content:"";position:absolute;width:900px;height:900px;right:-260px;top:-320px;background:radial-gradient(closest-side,rgba(217,194,154,.45),transparent 70%);z-index:0}
.hero:after{content:"";position:absolute;width:700px;height:700px;left:-280px;bottom:-380px;background:radial-gradient(closest-side,rgba(243,215,212,.7),transparent 70%);z-index:0}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.hero h1{font:400 clamp(48px,5.6vw,82px)/1.02 "Playfair";letter-spacing:-.025em;margin:22px 0 26px}
.hero h1 em{font-style:italic;color:var(--wine)}
.lede{font-size:18.5px;line-height:1.65;color:var(--ink2);max-width:560px}
.search{margin-top:36px;display:flex;align-items:center;gap:10px;padding:8px 8px 8px 24px;background:var(--paper);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow);max-width:600px}
.search input{flex:1;border:0;background:none;font:400 16.5px "DM Sans";color:var(--ink);outline:0;height:48px}
.search input::placeholder{color:#71645D;opacity:1}
.prompts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.collage{position:relative;height:600px}
.tile{position:absolute;border-radius:28px;overflow:hidden;background:linear-gradient(160deg,#FBF6F1,#EFE3DA);box-shadow:var(--shadow);display:grid;place-items:center}
.tile img{width:78%;height:78%;object-fit:contain;mix-blend-mode:multiply}
.tile .tag{position:absolute;left:18px;bottom:16px;font:600 10.5px "DM Sans";letter-spacing:.2em;text-transform:uppercase;color:#5C4E46}
.t1{left:6%;top:0;width:56%;height:64%}.t2{right:0;top:9%;width:38%;height:42%;background:linear-gradient(160deg,#F7EEE9,#EAD9D3)}.t3{right:4%;bottom:0;width:44%;height:42%;background:linear-gradient(160deg,#F4F0E8,#E6DCCB)}
.glass{position:absolute;left:0;bottom:22px;width:330px;padding:22px 24px;border-radius:22px;background:rgba(255,253,249,.82);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.8);box-shadow:0 30px 70px -30px rgba(40,20,15,.45)}
.glass h4{margin:6px 0 2px;font:500 19px/1.25 "Playfair"}.glass .meta{font-size:12.5px;color:var(--mute);margin-bottom:14px}
.mini{display:grid;gap:11px}.mini .row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:12.5px}
.mini .bar{grid-column:1/-1;height:6px;border-radius:9px;background:#EDE4DA;overflow:hidden;display:flex}
.mini .bar i{display:block;height:100%}
.p{background:var(--pos)}.n{background:var(--neg)}
/* proof */
.proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,253,249,.55)}
.proof .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:34px 30px;border-left:1px solid var(--line)}.stat:first-child{border-left:0;padding-left:0}
.stat b{display:block;font:400 46px/1 "Playfair";letter-spacing:-.02em}.stat span{display:block;margin-top:10px;font-size:13.5px;color:var(--mute);max-width:220px}
/* sections */
.sec{padding:36px 0}
.sec-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:56px}
.sec-head h2{font:400 clamp(36px,3.6vw,54px)/1.08 "Playfair";letter-spacing:-.02em;margin:16px 0 0;max-width:760px}
.sec-head p{max-width:420px;color:var(--ink2);margin:0}
.idx{font:500 13px "DM Sans";color:var(--gold);letter-spacing:.12em}
/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}
.step{padding:40px 40px 10px 0;border-right:1px solid var(--line);margin-right:40px}.step:last-child{border-right:0;margin-right:0}
.step .num{font:400 76px/1 "Playfair";color:transparent;-webkit-text-stroke:1px #9A773E}
.step h3{font:500 25px/1.25 "Playfair";margin:22px 0 12px}.step p{color:var(--ink2);margin:0}
/* concerns */
.concerns{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.concern{position:relative;padding:28px 22px 24px;border-radius:var(--radius);background:var(--paper);border:1px solid var(--line);transition:.35s;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;min-height:210px;justify-content:center}
.concern:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--gold2)}
.concern svg{width:46px;height:46px;stroke:var(--wine);fill:none;stroke-width:1.2}
.concern h3{margin:0;font:500 19px/1.2 "Playfair"}.concern p{margin:0;font-size:13px;color:var(--mute);line-height:1.45}
/* spotlight */
.spot{background:var(--ink);color:var(--ivory);border-radius:36px;overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr}
.spot-img{background:radial-gradient(circle at 40% 35%,#3A2A26,#1E1614 70%);display:grid;place-items:center;padding:60px;position:relative}
.spot-img img{max-height:420px;filter:drop-shadow(0 40px 50px rgba(0,0,0,.55))}
.spot-body{padding:64px 64px 56px}
.spot-body h3{font:400 40px/1.1 "Playfair";margin:18px 0 10px}.spot-body .sub{color:#BFB2A8;margin-bottom:34px}
.dv{display:grid;gap:18px}
.dv-row{display:grid;grid-template-columns:200px 1fr 120px;align-items:center;gap:18px;font-size:14px}
.dv-row .lab{color:inherit}.dv-row .num{text-align:right;font-variant-numeric:tabular-nums;color:#BFB2A8;font-size:13px}
.dv-track{position:relative;height:10px;border-radius:9px;background:rgba(255,255,255,.08);display:flex;overflow:hidden}
.dv-track .p{background:linear-gradient(90deg,#3E8C70,#6FB79A)}.dv-track .n{background:linear-gradient(90deg,#C25757,#E08A7E)}
.legend{display:flex;gap:22px;margin-top:30px;font-size:12.5px;color:#BFB2A8}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px;vertical-align:-1px}
.foot-note{margin-top:22px;font-size:12.5px;color:#9C8F86;line-height:1.55;max-width:560px}
/* product cards */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.35s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--gold2)}
.card .img{aspect-ratio:1/1.02;background:linear-gradient(165deg,#FBF7F2,#F0E6DD);display:grid;place-items:center;position:relative}
.card .img img{width:74%;height:74%;object-fit:contain;mix-blend-mode:multiply;transition:.5s}.card:hover .img img{transform:scale(1.04)}
.badge{position:absolute;left:14px;top:14px;height:auto;min-height:26px;max-width:calc(100% - 28px);padding:4px 11px;border-radius:999px;background:rgba(255,253,249,.92);border:1px solid var(--line);font:600 10.5px/1.5 "DM Sans";letter-spacing:.14em;text-transform:uppercase;color:var(--wine)}
.badge.muted{color:#65574F}
.card .body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.brand{font:600 11px "DM Sans";letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.card h3{margin:2px 0 6px;font:500 19px/1.28 "Playfair"}
.top{font-size:13px;color:var(--ink2);display:flex;align-items:center;gap:8px}.top i{width:8px;height:8px;border-radius:50%;background:var(--pos)}
.card .acts{margin-top:auto;padding-top:16px;display:flex;gap:8px;border-top:1px solid var(--line)}
.card .acts a{flex:1;text-align:center;height:38px;line-height:38px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid var(--line)}.card .acts a:hover{border-color:var(--ink)}
/* principles */
.princ{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pr{padding:46px 40px 46px 0}.pr+.pr{padding-left:40px;border-left:1px solid var(--line)}
.pr h3{font:400 30px/1.15 "Playfair";margin:16px 0 12px}.pr p{margin:0;color:var(--ink2)}
/* cta */
.cta{border-radius:36px;padding:80px;background:radial-gradient(circle at 85% 20%,rgba(217,194,154,.5),transparent 45%),linear-gradient(135deg,#F3E3E0,#EFE5D8);display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta h2{font:400 46px/1.08 "Playfair";margin:14px 0 0;max-width:640px}
/* footer */
.ftr{background:var(--ink);color:#D8CEC6;margin-top:120px}
.ftr .top-band{padding:56px 0 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.ftr .logo{color:var(--ivory)}.ftr p{color:#A99C93;font-size:14.5px;line-height:1.7;max-width:360px;margin:22px 0 0}
.ftr h5{font:600 11px "DM Sans";letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);margin:4px 0 22px}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14.5px}.ftr ul a:hover{color:#fff}
.ftr .quote{font:italic 400 26px/1.35 "Playfair";color:var(--ivory);max-width:880px}
.ftr .qband{padding:32px 0;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;align-items:center;gap:40px}
.ftr .legal{padding:18px 0 24px;display:flex;justify-content:space-between;gap:30px;font-size:12.5px;color:#8E8178}
/* find */
.page-hero{padding:80px 0 40px}
.page-hero h1{font:400 clamp(48px,5vw,76px)/1.02 "Playfair";letter-spacing:-.025em;margin:18px 0 18px}
.filterbar{position:sticky;top:76px;z-index:20;background:rgba(248,244,238,.9);backdrop-filter:blur(12px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.filterbar .wrap{display:flex;align-items:center;gap:12px;height:76px}
.select{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-size:14px;color:var(--ink2)}
.select svg{width:12px;height:12px;stroke:var(--ink2);fill:none;stroke-width:1.6}
.select.on{border-color:var(--ink);color:var(--ink)}
.toolbar{display:flex;justify-content:space-between;align-items:center;padding:34px 0 26px}
.toolbar .count{font:400 22px "Playfair"}.toolbar .count span{color:var(--mute);font:400 14px "DM Sans";margin-left:10px}
.active{display:flex;gap:8px;flex-wrap:wrap}
.pager{display:flex;align-items:center;justify-content:center;gap:8px;padding:60px 0 0}
.pager a{min-width:44px;height:44px;display:grid;place-items:center;border-radius:999px;font-size:14px;color:var(--ink2);border:1px solid transparent}
.pager a:hover{border-color:var(--line)}.pager a.cur{background:var(--ink);color:#fff}.pager .gap{color:var(--mute);padding:0 4px}
.pager .nav-p{padding:0 20px;border:1px solid var(--line)}
.pager-meta{text-align:center;margin-top:16px;font-size:13px;color:var(--mute)}
.toast{position:fixed;left:50%;bottom:112px;transform:translateX(-50%);background:var(--ink);color:var(--ivory);padding:12px 20px;border-radius:999px;font-size:13.5px;display:flex;gap:10px;align-items:center;box-shadow:var(--shadow);z-index:60}
.toast i{width:18px;height:18px;border-radius:50%;background:var(--pos);display:grid;place-items:center;font-style:normal;font-size:11px}
.tray{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:10px 10px 10px 14px;background:var(--paper);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow);z-index:60}
.tray .thumbs{display:flex}.tray .thumbs span{width:42px;height:42px;border-radius:50%;background:#F1E8DF;border:2px solid var(--paper);margin-left:-10px;display:grid;place-items:center;overflow:hidden}.tray .thumbs span:first-child{margin-left:0}
.tray .thumbs img{width:80%;height:80%;object-fit:contain;mix-blend-mode:multiply}
.tray small{font-size:13.5px;color:var(--ink2)}
/* product */
.crumbs{padding:28px 0 0;font-size:13px;color:var(--mute)}.crumbs a:hover{color:var(--ink)}
.p-hero{display:grid;grid-template-columns:1fr 1fr;gap:72px;padding:34px 0 80px;align-items:start}
.p-gal{position:sticky;top:100px;border-radius:32px;background:radial-gradient(circle at 50% 40%,#FFFBF6,#EFE4DA 75%);aspect-ratio:1/1.05;display:grid;place-items:center;border:1px solid var(--line)}
.p-gal img{width:68%;max-height:78%;object-fit:contain;mix-blend-mode:multiply;filter:drop-shadow(0 40px 40px rgba(80,40,30,.18))}
.p-info h1{font:400 clamp(40px,4vw,60px)/1.05 "Playfair";letter-spacing:-.02em;margin:14px 0 18px}
.status{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:18px;background:linear-gradient(135deg,#EAF2EE,#F5F1E9);border:1px solid #D5E3DB;margin:24px 0}
.status .dot{width:10px;height:10px;border-radius:50%;background:var(--pos);box-shadow:0 0 0 6px rgba(47,107,87,.14)}
.status b{font-weight:600}.status span{color:var(--ink2);font-size:14px}
.status.pending{background:linear-gradient(135deg,#F7EFE6,#F5F1E9);border-color:#EADBC6}.status.pending .dot{background:var(--gold);box-shadow:0 0 0 6px rgba(184,147,90,.18)}
.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);margin:30px 0}
.fact{padding:18px 0;border-bottom:1px solid var(--line)}.fact:nth-child(odd){padding-right:20px}.fact:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}
.fact small{display:block;font:600 10.5px "DM Sans";letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}.fact b{font:500 17px "Playfair"}
.price{display:flex;align-items:baseline;gap:12px;margin:6px 0 0}.price b{font:400 38px "Playfair"}.price span{font-size:13.5px;color:var(--mute)}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.tagf{height:30px;padding:0 12px;border-radius:999px;background:var(--sand);font-size:12.5px;display:inline-flex;align-items:center;gap:6px;color:var(--ink2)}
.subnav{position:sticky;top:76px;z-index:20;background:rgba(248,244,238,.92);backdrop-filter:blur(12px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:36px;height:60px;align-items:center;font-size:14px;color:var(--ink2)}.subnav a.on{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--wine);padding:19px 0}
.analysis{display:grid;grid-template-columns:320px 1fr;gap:80px}
.an-side h2{font:400 44px/1.08 "Playfair";margin:16px 0 18px}.an-side p{color:var(--ink2)}
.kpi{margin-top:30px;display:grid;gap:0;border-top:1px solid var(--line)}
.kpi div{padding:16px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:14px}.kpi b{font:500 18px "Playfair"}
.topics{display:grid;gap:0}
.topic{display:grid;grid-template-columns:230px 1fr 150px;gap:28px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.topic:first-child{border-top:1px solid var(--ink)}
.topic h4{margin:0;font:500 19px/1.25 "Playfair"}.topic small{display:block;color:var(--mute);font-size:12.5px;margin-top:4px}
.div{position:relative;height:30px;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.div:before{content:"";position:absolute;left:50%;top:-6px;bottom:-6px;width:1px;background:var(--ink)}
.div .l{display:flex;justify-content:flex-end}.div .r{display:flex}
.div i{display:block;height:14px}.div .l i{background:linear-gradient(270deg,#B8504E,#E4968B);border-radius:9px 0 0 9px}.div .r i{background:linear-gradient(90deg,#2F6B57,#78B79C);border-radius:0 9px 9px 0}
.topic .nums{text-align:right;font-variant-numeric:tabular-nums;font-size:13px;color:var(--ink2)}.topic .nums b{display:block;font:500 20px "Playfair";color:var(--ink)}
.axis{display:grid;grid-template-columns:230px 1fr 150px;gap:28px;font:600 10.5px "DM Sans";letter-spacing:.18em;text-transform:uppercase;color:var(--mute);padding-bottom:14px}
.axis .ax{display:flex;justify-content:space-between}
.pre{display:inline-block;margin-left:8px;height:20px;padding:0 8px;border-radius:999px;background:#F3E9D8;color:#8A6A35;font:600 10px/20px "DM Sans";letter-spacing:.12em;text-transform:uppercase;vertical-align:3px}
.limits{margin-top:34px;padding:24px 28px;border-radius:18px;background:var(--paper);border:1px solid var(--line);font-size:14px;color:var(--ink2);display:grid;grid-template-columns:auto 1fr;gap:18px}
.limits svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.5}
.inci{display:flex;flex-wrap:wrap;gap:8px}
.inci span{height:34px;padding:0 14px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:13px;display:inline-flex;align-items:center}
.inci span.key{border-color:var(--gold2);background:#FBF5EA}
.offers{width:100%;border-collapse:collapse;font-size:14.5px}.offers th{text-align:left;font:600 10.5px "DM Sans";letter-spacing:.18em;text-transform:uppercase;color:var(--mute);padding:0 0 14px}
.offers td{padding:20px 0;border-top:1px solid var(--line)}.offers td b{font:500 19px "Playfair"}
.two{display:grid;grid-template-columns:1fr 1fr;gap:80px}
/* compare */
.cmp-head{display:grid;grid-template-columns:260px 1fr 1fr;gap:0;border-bottom:1px solid var(--ink)}
.cmp-prod{padding:30px 34px 34px;border-left:1px solid var(--line);text-align:center}
.cmp-prod .im{height:260px;border-radius:24px;background:radial-gradient(circle at 50% 40%,#FFFBF6,#EFE4DA 80%);display:grid;place-items:center;margin-bottom:22px}
.cmp-prod .im img{height:80%;object-fit:contain;mix-blend-mode:multiply}
.cmp-prod h3{font:500 24px/1.2 "Playfair";margin:8px 0 6px}
.cmp-row{display:grid;grid-template-columns:260px 1fr 1fr;border-bottom:1px solid var(--line)}
.cmp-row>div{padding:22px 34px;border-left:1px solid var(--line);font-size:14.5px}.cmp-row>div:first-child{border-left:0;padding-left:0;font:600 11px "DM Sans";letter-spacing:.18em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center}
.cmp-row .bar2{height:10px;border-radius:9px;background:#EDE4DA;display:flex;overflow:hidden;margin-top:10px}
.win{display:inline-flex;height:22px;padding:0 9px;border-radius:999px;background:#E6F0EA;color:var(--pos);font:600 10.5px/22px "DM Sans";letter-spacing:.1em;text-transform:uppercase;margin-left:8px}
@media(max-width:1100px){.hero .wrap,.p-hero,.analysis,.two,.spot{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,1fr)}.concerns{grid-template-columns:repeat(3,1fr)}.ftr .top-band{grid-template-columns:1fr 1fr}.collage{height:520px}.p-gal{position:relative;top:0}}
@media(max-width:640px){.wrap{padding:0 20px}.nav{display:none}.hero{padding:44px 0 40px}.hero h1{font-size:44px}.collage{height:420px}.glass{width:260px}.proof .wrap{grid-template-columns:1fr 1fr}.stat{padding:24px 0;border-left:0}.steps,.princ{grid-template-columns:1fr}.step{border-right:0;margin:0;border-bottom:1px solid var(--line)}.pr+.pr{padding-left:0;border-left:0;border-top:1px solid var(--line)}.concerns{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr;gap:14px}.card h3{font-size:16px}.sec{padding:76px 0}.spot-body{padding:36px 26px}.dv-row,.topic,.axis{grid-template-columns:1fr}.cta{padding:44px 28px;flex-direction:column;align-items:flex-start}.cta h2{font-size:34px}.ftr .top-band{grid-template-columns:1fr}.filterbar .wrap{overflow-x:auto}.cmp-head,.cmp-row{grid-template-columns:110px 1fr 1fr}.cmp-prod{padding:16px}.cmp-row>div{padding:14px}}

.card .img img.photo,.tile img.photo{width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}
.spot-img .plinth{width:100%;max-width:420px;aspect-ratio:1/1.08;border-radius:30px;background:radial-gradient(circle at 50% 38%,#FFFDF9,#EDE2D7 78%);display:grid;place-items:center;box-shadow:0 50px 90px -40px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.6)}
.spot-img .plinth img{width:78%;max-height:80%;object-fit:contain;mix-blend-mode:multiply;filter:none}
.collage{height:620px}.t1{left:10%;top:0;width:54%;height:62%}.t2{right:0;top:6%;width:34%;height:40%}.t3{right:5%;bottom:4%;width:40%;height:40%}
.glass{left:-2%;bottom:0;width:318px}
.cmp-prod .im img{max-height:82%;max-width:82%;width:auto;height:auto}


.cmp-prod .im{overflow:hidden}.cmp-prod .im img{max-height:200px;max-width:78%}
.t1 img{width:88%;height:88%}.t1 .tag{display:none}.glass{left:-6%;bottom:-6px}


@media(max-width:640px){
.sec-head{flex-direction:column;align-items:flex-start;gap:18px}
.subnav .wrap{overflow-x:auto;white-space:nowrap;gap:24px;scrollbar-width:none}.subnav .wrap::-webkit-scrollbar{display:none}
.offers th:nth-child(4),.offers td:nth-child(4){display:none}.offers .btn{height:34px;padding:0 12px;font-size:12px}
.cmp-head{grid-template-columns:1fr 1fr}.cmp-head>div:first-child{display:none}
.cmp-row{grid-template-columns:1fr 1fr}.cmp-row>div:first-child{grid-column:1/-1;padding:18px 0 0;border-left:0}
.cmp-row>div{padding:12px 10px 18px;border-left:0}.cmp-row>div:nth-child(3){border-left:1px solid var(--line)}
.cmp-prod{padding:14px 8px;border-left:0}.cmp-prod+.cmp-prod{border-left:1px solid var(--line)}.cmp-prod .im{height:170px}.cmp-prod h3{font-size:18px}
.collage{height:470px}.t1{left:0;width:60%;height:58%}.t2{width:36%;height:38%}.t3{width:42%;height:36%;bottom:0}.glass{left:0;bottom:-10px;width:250px;padding:16px 18px}
.axis{display:none}.topic{gap:10px;padding:20px 0}.topic .nums{text-align:left}
.p-info h1{font-size:36px}.price b{font-size:30px}
.filterbar .wrap{gap:8px;scrollbar-width:none}.select,.chip{flex:0 0 auto}
.toolbar{flex-direction:column;align-items:flex-start;gap:14px}
.pager a{min-width:38px;height:38px}.pager .nav-p{padding:0 12px}
.grid{grid-template-columns:1fr 1fr!important}
.ftr .qband{flex-direction:column;align-items:flex-start}.ftr .legal{flex-direction:column}
.cta h2{font-size:30px}
}
html,body{max-width:100%}

.cmp-label{display:flex;align-items:end;padding-bottom:34px}
@media(max-width:640px){.cmp-label{display:none}}
.ftr{margin-top:0}
main>section:last-child{padding-bottom:72px}
@media(max-width:640px){.sec{padding:24px 0}}

/* r76: one complete composition; no absolute overlap or cropped product tile. */
.hero-r76 .wrap{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:48px;align-items:center}
.hero-r76 .hero-copy{min-width:0;align-self:center}
.hero-r76 .collage{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:36% minmax(0,1fr);gap:16px;width:100%;height:auto;aspect-ratio:1/1;align-self:center;min-width:0}
.hero-r76 .tile{position:relative;inset:auto;width:auto;height:auto;min-width:0;min-height:0;padding:8px 8px 28px;border-radius:20px;box-shadow:0 14px 36px -24px rgba(60,30,20,.35)}
.hero-r76 .tile img,.hero-r76 .tile img.photo,.hero-r76 .tile img.normalized{width:100%;height:100%;max-height:100%;object-fit:contain;object-position:center;mix-blend-mode:normal;transform:none}
.hero-r76 .tile .tag{display:block;left:8px;right:8px;bottom:8px;text-align:center;letter-spacing:.06em;font-size:9px;line-height:1.2}
.hero-r76 .glass{position:relative;inset:auto;grid-column:1/-1;width:auto;min-width:0;padding:22px 24px;border-radius:22px;background:var(--paper);backdrop-filter:none;box-shadow:0 16px 40px -28px rgba(40,20,15,.35);border:1px solid var(--line)}
.hero-r76 .hero-analysis-title{margin:8px 0 4px;font:500 21px/1.2 "Playfair",Georgia,serif;letter-spacing:0}
.hero-r76 .glass .meta{font-size:12px;line-height:1.45;margin-bottom:16px;color:#65574F}
.hero-r76 .mini{gap:12px}
.hero-r76 .mini .row{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:4px 10px;align-items:start;font-size:12.5px;line-height:1.4}
.hero-r76 .hero-counts{text-align:right;min-width:0}
.hero-r76 .hero-count-line{display:block;font-variant-numeric:tabular-nums;white-space:nowrap}
.hero-r76 [data-r43-few-negative]{display:block;margin-top:3px;font-size:11px;line-height:1.35;color:#65574F}
.hero-r76 .search input{min-width:0}
@media(min-width:900px) and (max-width:1100px){.hero-r76 .wrap{gap:32px}.hero-r76 h1{font-size:52px}.hero-r76 .lede{font-size:17px}.hero-r76 .collage{aspect-ratio:1/1.15}.hero-r76 .glass{padding:18px}.hero-r76 .mini{gap:10px}.hero-r76 .glass .meta{margin-bottom:12px}}
@media(max-width:899px){.hero-r76 .wrap{grid-template-columns:minmax(0,1fr);gap:32px}.hero-r76 .collage{width:min(100%,560px);justify-self:center}}
@media(max-width:640px){.hero-r76{padding:32px 0}.hero-r76 .collage{aspect-ratio:1/1.34;grid-template-rows:32% minmax(0,1fr);gap:12px}.hero-r76 .tile{padding:4px 4px 24px;border-radius:16px}.hero-r76 .tile .tag{font-size:8px;letter-spacing:0}.hero-r76 .glass{padding:18px}.hero-r76 .glass .meta{margin-bottom:14px}.hero-r76 .mini{gap:12px}.hero-r76 .mini .row{font-size:12px;gap:4px 8px}.hero-r76 .hero-analysis-title{font-size:20px}}
/* The main integrator's mobile-template patch reuses this same component. */
@media(max-width:599px){.rv-mobile .hero-r76 .hero-copy h1{font:400 44px/1.06 "Playfair",Georgia,serif;letter-spacing:-.025em;margin:20px 0}.rv-mobile .hero-r76 .lede{font-size:16px;line-height:1.6;margin:0}.rv-mobile .hero-r76 .search{margin-top:24px;padding-left:16px}.rv-mobile .hero-r76 .prompts{gap:8px;margin-top:16px}.rv-mobile .hero-r76 .chip{font-size:12px;padding:0 10px}.rv-mobile .hero-r76 .hero-analysis-title{font:500 20px/1.2 "Playfair",Georgia,serif;margin:8px 0 4px}.rv-mobile .hero-r76 .glass .meta{margin-bottom:14px}.rv-mobile .hero-r76 .btn{padding:0 18px}.rv-mobile .hero-r76 .eyebrow{font-size:10px;letter-spacing:.14em;line-height:1.4}}

[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--wine);outline-offset:4px}.ssr-skip{position:fixed;left:12px;top:-100px;z-index:100;background:var(--paper);padding:12px}.ssr-skip:focus{top:8px}.card .acts button{flex:1;text-align:center;height:38px;line-height:38px;border-radius:999px;font-size:13px;font-weight:600;border:1px solid var(--line);background:transparent;color:var(--ink2);padding:0}.card .acts button:hover{border-color:var(--ink)}.card .acts button:disabled{color:var(--mute)}.image-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;text-align:center;min-height:160px;color:var(--wine);width:100%}.image-placeholder b{font:500 25px 'Playfair',serif}.image-placeholder small{font-size:12px;text-transform:uppercase;letter-spacing:.1em}.light-btn{border-color:#6B5C55;color:#F2EAE3}.ftr nav h2{font:600 11px 'DM Sans';letter-spacing:.18em;text-transform:uppercase;color:#D9C29A;margin:0 0 22px}.ftr ul{list-style:none;padding:0}.ftr .privacy-choices{color:#F2EAE3;border:0;background:transparent;padding:20px 0;text-decoration:underline}.menu-trigger{display:none}.menu-dialog{border:1px solid var(--line);background:var(--ivory);color:var(--ink);padding:28px;width:min(90vw,420px);height:100dvh;max-height:100dvh;margin:0 0 0 auto}.menu-dialog::backdrop{background:#17110F80}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-head h2{font:500 26px 'Playfair'}.menu-dialog nav{display:flex;flex-direction:column;gap:20px;margin-top:40px}.generic-main{padding-top:64px;padding-bottom:100px;min-height:65vh}.generic-main h1{font:500 clamp(42px,5vw,76px)/1.08 'Playfair';letter-spacing:-.035em}.generic-main h2{font:500 clamp(30px,3.6vw,48px)/1.15 'Playfair';margin-top:1.5em}.generic-main h3{font:500 24px/1.3 'Playfair'}.generic-main p,.generic-main li{max-width:80ch}.generic-main a:not(.btn):not(.img){text-decoration:underline;text-underline-offset:3px}.generic-main table{border-collapse:collapse;width:100%}.generic-main th,.generic-main td{border-bottom:1px solid var(--line);padding:16px;text-align:left}.generic-main details{padding:20px;border:1px solid var(--line);border-radius:var(--radius);margin:14px 0;background:var(--paper)}.generic-main input,.generic-main textarea{max-width:100%;padding:12px;border:1px solid var(--line);background:var(--paper);border-radius:12px}.ssr-link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;list-style:none;padding:0}.ssr-link-grid li{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:var(--paper)}.ssr-guide-table-scroll{overflow:auto;max-width:100%}.ssr-published,.ssr-business-host{max-width:100%;overflow-wrap:anywhere}.ssr-published img,.ssr-business-host img{max-width:100%;height:auto}.r5-note{max-width:1160px;margin:20px auto;padding:24px;border:1px solid var(--line);border-radius:var(--radius)}.error-panel{max-width:760px;margin:80px auto;padding:44px;border:1px solid var(--line);border-radius:28px;background:var(--paper)}.error-panel h1{font:500 60px/1.1 'Playfair'}.hdr,.subnav,.filterbar{z-index:10}.tray{z-index:30}.toast{z-index:31}.card,.grid>*{min-width:0}.search input{min-width:0}.card .img{overflow:hidden}.ssr-business-host [style*="width"]{max-width:100%}
@media(max-width:1100px){.nav{gap:14px}.hdr .wrap{gap:18px}.hdr-r{gap:8px}}
@media(max-width:800px){.nav{display:none}.menu-trigger{display:inline-flex}}
@media(max-width:640px){.hdr .wrap{padding:0 20px;gap:8px}.hdr .logo{font-size:20px}.hdr-r .saved{font-size:12px;padding:7px 10px}.hdr-r .icon-btn{width:34px;height:34px}.generic-main{padding-top:36px}.ssr-link-grid{grid-template-columns:1fr}.generic-main table{font-size:13px}.generic-main td,.generic-main th{padding:10px 6px}.error-panel{margin:36px 20px;padding:28px}.tray{max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center}.search{padding:6px 6px 6px 16px}.search .btn{padding:0 18px}.prompts{gap:8px}.prompts .chip{font-size:11px}.glass .meta{font-size:10px}.glass h4{font-size:17px}}
/* Small gold text failed WCAG contrast. Existing wine token preserves the palette. */
.idx{color:var(--wine)}
.pre{color:var(--wine)}.generic-main select{max-width:100%;width:100%}.generic-main .cmp-card,.generic-main .revuei-consumer-card{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin:18px 0}.generic-main .cmp-grid,.generic-main .revuei-consumer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.generic-main .cmp-photo-link,.generic-main .revuei-consumer-card__image{display:block;min-height:120px;border-radius:18px;background:var(--sand);padding:20px}
@media(max-width:640px){.generic-main .cmp-grid,.generic-main .revuei-consumer-grid{grid-template-columns:1fr}}
.ssr-business .nav{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:36px;font-size:13px}.ssr-business .hero{padding:60px 48px;border-radius:32px;background:linear-gradient(120deg,var(--blush),var(--ivory),var(--sand))}.ssr-business .hero h1{margin:24px 0}.ssr-business .actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0}.ssr-business .button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 24px;border:1px solid var(--ink);border-radius:99px;background:var(--ink);color:var(--paper);text-decoration:none!important}.ssr-business .margin-note{padding:20px;border-left:2px solid var(--gold);margin:28px 0;max-width:70ch}.ssr-business .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.ssr-business .card{padding:30px}.ssr-business .section-number{color:var(--wine);font:500 26px 'Playfair'}.ssr-business .body-section{padding:34px 0}.ssr-business .intro{font-size:18px;max-width:65ch}.ssr-business fieldset{border:1px solid var(--line);border-radius:22px;padding:28px;background:var(--paper)}.ssr-business label{display:block;margin:16px 0}.ssr-business input:not([type=checkbox]),.ssr-business select,.ssr-business textarea{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--ivory)}.ssr-business button{padding:12px 22px;border-radius:99px;border:1px solid var(--ink);background:var(--ink);color:var(--paper)}
@media(max-width:640px){.ssr-business .hero{padding:32px 24px}.ssr-business .hero h1{font-size:40px}.ssr-business .cards{grid-template-columns:1fr}.ssr-business .card{padding:24px}.ssr-business .nav{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Reserve the complete two-line badge above placeholder brand/type text. */
.card .img .image-placeholder{align-self:stretch;height:100%;min-height:0;padding:64px 12px 14px;gap:8px}.card .img .image-placeholder b{line-height:1.15}

/* r17 footer consolidation and spacing. */
.ftr nav h2{margin:0 0 12px}
.ftr .privacy-choices{padding:0;font:inherit;color:#F2EAE3;text-decoration:underline;text-underline-offset:3px}
.ftr .legal .privacy-choices{color:#F2EAE3}

/* r19a: preserve desktop tables; expose their full column widths on phones. */
.rv-mobile-table-frame,.rv-mobile-table-scroll{display:contents}
@media(max-width:800px){
 .rv-mobile-table-frame{display:block;position:relative;max-width:100%;min-width:0;padding-top:1.6rem;margin-bottom:1rem}
 .rv-mobile-table-frame::before{content:"Scroll →";position:absolute;right:0;top:0;color:var(--wine);font:600 11px/1.4 'DM Sans',sans-serif;letter-spacing:.02em}
 .rv-mobile-table-frame::after{content:"";position:absolute;pointer-events:none;right:0;top:1.6rem;bottom:0;width:16px;background:linear-gradient(to right,transparent,#5141361c)}
 .rv-mobile-table-scroll{display:block;overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
 .rv-mobile-table-scroll:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
 .rv-mobile-table-scroll table{display:table;width:max-content;min-width:100%;max-width:none;table-layout:auto;border-collapse:separate;border-spacing:0}
 .rv-mobile-table-scroll :is(th,td){min-width:7rem;max-width:22rem;word-break:normal!important;overflow-wrap:normal!important;hyphens:none;white-space:normal}
 .rv-mobile-table-scroll :is(th,td) *{word-break:normal!important;overflow-wrap:normal!important;hyphens:none}
 .rv-mobile-table-scroll tr>:first-child{position:sticky;left:0;z-index:2;min-width:9rem;width:9rem;max-width:14rem;background:var(--ivory,#FBF7F4);box-shadow:1px 0 0 var(--line,#ddd1c6);padding-left:10px}
 .rv-mobile-table-scroll thead tr>:first-child{z-index:3;background:var(--paper,#fffaf6)}
 .rv-mobile-table-scroll .cmp-table :is(th,td):not(:first-child){min-width:16rem;max-width:19rem}
}

/* r21: legacy editorial comparisons use the same D article typography and tables. */
.ssr-legacy-comparison section{margin:0 0 40px}.ssr-legacy-comparison .sp-hero,.ssr-legacy-comparison .cd-heading{padding-bottom:32px;border-bottom:1px solid var(--line)}
.ssr-legacy-comparison :is(.c30-eyebrow,.rv-eyebrow){font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--wine)}
.ssr-legacy-comparison :is(.sp-hero-sub,.cd-heading>.rv-muted){font-size:18px;line-height:1.7}
.ssr-legacy-comparison :is(.c30-products,.cd-pair,.cd-gap-grid,.cd-related){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0}
.ssr-legacy-comparison :is(.c30-product,.cd-entity,.cd-advice,.cd-related-link,.rv-card){min-width:0;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.ssr-legacy-comparison :is(.c30-visual,.cd-product-photo,.cd-related-figure){display:flex;align-items:center;justify-content:center;min-height:140px;padding:20px;background:var(--sand);border-radius:16px;text-align:center;color:var(--mute)}
.ssr-legacy-comparison :is(.c30-product,.cd-entity,.cd-related-link) :is(h2,h3){margin-top:20px;font-size:28px}
.generic-main .ssr-legacy-comparison :is(.cd-entity-title,.cd-related-title) a,.generic-main .ssr-legacy-comparison a:is(.cd-entity-title,.cd-related-link){text-decoration:none}
.generic-main .ssr-legacy-comparison :is(.cd-entity-title,.cd-related-title) a:hover,.generic-main .ssr-legacy-comparison a.cd-related-link:hover .cd-related-title{text-decoration:underline}
.ssr-legacy-comparison .cd-facts{margin:24px 0}.ssr-legacy-comparison .cd-facts>div{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(0,2fr);gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}
.ssr-legacy-comparison dt{font-weight:600}.ssr-legacy-comparison dd{margin:0}.ssr-legacy-comparison .rv-muted,.ssr-legacy-comparison .c30-note{color:var(--mute)}
.ssr-legacy-comparison :is(.c30-panel,.cd-summary,.cd-evidence,.cd-supplemental,.cd-close,.cd-disclosure,.cd-workspace-catalog){margin:36px 0;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}
.ssr-legacy-comparison :is(.c30-panel,.cd-summary,.cd-evidence,.cd-supplemental,.cd-close,.cd-disclosure,.cd-workspace-catalog)>h2:first-child{margin-top:0}
.ssr-legacy-comparison .cd-diff-list{padding:0;list-style:none}.ssr-legacy-comparison .cd-diff-list>li{display:grid;grid-template-columns:minmax(9rem,1fr) minmax(0,2fr);gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.ssr-legacy-comparison .cd-diff-label{font-weight:600}.ssr-legacy-comparison .cd-source-record{padding:24px 0;border-bottom:1px solid var(--line)}
.generic-main .ssr-legacy-comparison a.rv-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border:1px solid var(--line);border-radius:99px;background:var(--paper);font-size:14px;text-decoration:none;margin:4px 8px 4px 0}
.ssr-legacy-comparison .rv-dc-steps{display:grid;gap:16px}.ssr-legacy-comparison .rv-dc-step{padding:20px;border-top:1px solid var(--line)}
@media(max-width:800px){.ssr-legacy-comparison :is(.c30-products,.cd-pair,.cd-gap-grid,.cd-related){grid-template-columns:1fr}.ssr-legacy-comparison :is(.c30-panel,.cd-summary,.cd-evidence,.cd-supplemental,.cd-close,.cd-disclosure,.cd-workspace-catalog){padding:18px}.ssr-legacy-comparison .cd-diff-list>li{grid-template-columns:1fr;gap:8px}.ssr-legacy-comparison .cd-facts>div{grid-template-columns:minmax(7rem,1fr) minmax(0,1.5fr)}}

.ssr-legacy-comparison .cd-product-photo{flex-direction:column;gap:12px}.ssr-legacy-comparison .cd-number{flex-shrink:0;white-space:nowrap;overflow-wrap:normal}

/* r21 full axe: captions on sand need AA normal-text contrast. */
.ssr-legacy-comparison :is(.c30-visual,.cd-product-photo,.cd-related-figure){color:var(--ink2,#3B302C)}

/* Saved-only overrides; append after shell-v1.css. */
body:has([data-saved-app]) [data-compare-tray]{display:none!important}
.generic-main:has(>.sv-app){max-width:960px;padding:40px 20px 160px;z-index:auto}
.sv-app{--sv-muted:var(--ink2);--sv-header-height:76px;font-family:'DM Sans',sans-serif;min-width:0;z-index:auto}
.sv-app [hidden]{display:none!important}.sv-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.sv-app .sv-eyebrow{font-size:12px;letter-spacing:.18em;color:var(--wine);text-transform:uppercase}
.generic-main .sv-app h1{font:500 44px/1.18 'Playfair',serif;letter-spacing:-.025em;margin:10px 0 6px}
.sv-app .sv-sub{font-size:14px;color:var(--sv-muted);margin:0 0 24px}
.sv-app .sv-bar{position:sticky;top:var(--sv-header-height);z-index:9;background:var(--ivory);padding:12px 0;display:flex;gap:10px;align-items:center;flex-wrap:nowrap;border-bottom:1px solid var(--line)}
.sv-app [data-sv-controls]{display:contents}
.sv-app .sv-search{flex:1 1 260px;min-width:0}
.generic-main .sv-app .sv-search input{display:block;min-height:40px;width:100%;min-width:0;border:1px solid var(--line);border-radius:99px;background:var(--paper);color:var(--ink);padding:9px 14px;font-size:14px}
.sv-app input::placeholder{color:var(--ink2);opacity:1}
.sv-app .sv-button,.sv-app select{font:400 14px/1.3 'DM Sans',sans-serif;border:1px solid var(--line);background:var(--paper);border-radius:99px;padding:9px 14px;color:var(--ink2);min-height:40px;white-space:nowrap}
.generic-main .sv-app select{width:auto;max-width:100%;padding-right:26px}
.sv-app .sv-button:disabled{opacity:.6;cursor:not-allowed}.sv-app .sv-clear{color:var(--wine);border-color:#cda5b2}.sv-app .sv-button[aria-pressed=true]{background:var(--wine);color:#fff;border-color:var(--wine)}
.sv-app .sv-more{display:none;position:relative}.sv-app .sv-more-panel{position:absolute;right:0;top:calc(100% + 8px);width:220px;max-width:calc(100vw - 40px);padding:14px;box-shadow:0 8px 24px #17110f24;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.sv-app .sv-more-panel label{display:grid;gap:8px;font-size:13px}.sv-app .sv-more-panel .sv-button{margin-top:12px;width:100%;color:var(--wine)}
.sv-app .sv-chips{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;margin:14px 0 6px;padding:4px 3px 8px;scrollbar-width:thin}
.sv-app .sv-chip{flex:none;white-space:nowrap;font:400 13px/1.3 'DM Sans',sans-serif;border:1px solid var(--line);background:var(--paper);color:var(--ink2);border-radius:99px;padding:7px 12px;min-height:34px}
.sv-app .sv-chip[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.sv-app .sv-group-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 16px;margin:24px 0 8px;flex-wrap:wrap}
.generic-main .sv-app .sv-group h2{font:500 22px/1.25 'Playfair',serif;margin:0;letter-spacing:0}.sv-app .sv-group-count{font:400 13px 'DM Sans',sans-serif;color:var(--sv-muted);margin-left:10px}
.generic-main .sv-app a.sv-group-compare{font:600 13px 'DM Sans',sans-serif;color:var(--wine);text-decoration:none}.generic-main .sv-app a.sv-group-compare:hover{text-decoration:underline}
.sv-app .sv-group-note{font-size:12px;color:var(--sv-muted)}
.sv-app .sv-list{list-style:none;margin:0;padding:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.sv-app .sv-row{display:grid;grid-template-columns:56px minmax(0,1fr) 36px;gap:14px;align-items:center;padding:11px 14px;min-height:80px;max-width:none;border-top:1px solid var(--line)}
.sv-app .sv-row:first-child{border-top:0}.sv-app .sv-row.sv-row-selecting{grid-template-columns:28px 56px minmax(0,1fr) 36px}
.sv-app .sv-check{display:grid;place-items:center}.generic-main .sv-app .sv-check input{width:18px;height:18px;margin:0;padding:0;accent-color:var(--wine);border-radius:0}
.sv-app .sv-thumb{width:56px;height:56px;border-radius:10px;background:radial-gradient(circle,#fff,var(--sand));display:grid;place-items:center;overflow:hidden;text-decoration:none!important}
.sv-app .sv-thumb img{max-width:88%;max-height:88%;width:auto;height:auto;object-fit:contain}.sv-app .sv-thumb span{font-size:10px;text-align:center;overflow-wrap:anywhere;padding:4px}
.sv-app .sv-meta{min-width:0}.sv-app .sv-brand{font-size:11px;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:var(--sv-muted);overflow-wrap:anywhere}
.generic-main .sv-app a.sv-name{display:block;font:400 17px/1.3 'Playfair',serif;color:var(--ink);text-decoration:none;margin:2px 0;overflow-wrap:anywhere}.generic-main .sv-app a.sv-name:hover{text-decoration:underline}
.sv-app .sv-status,.sv-app .sv-variant{display:block;font-size:12px;line-height:1.5;color:var(--sv-muted);overflow-wrap:anywhere}.sv-app .sv-published{color:#2b604e}.sv-app .sv-published:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px}
.sv-app .sv-remove{width:36px;height:36px;padding:0;border-radius:99px;border:1px solid var(--line);background:transparent;color:var(--ink2);font-size:20px;line-height:1}
.sv-app .sv-selection{position:fixed;z-index:32;left:50%;transform:translateX(-50%);bottom:22px;max-width:calc(100vw - 24px);background:var(--ink);color:var(--paper);border-radius:24px;padding:10px 14px;display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;box-shadow:0 10px 30px #17110f30}
.sv-app .sv-selection p{font-size:14px;margin:0}.sv-app .sv-selection-actions{display:flex;gap:8px;margin-left:auto}.sv-app .sv-selection .sv-button{border-color:#8a7972;background:transparent;color:var(--paper)}.sv-app .sv-selection .sv-go{background:var(--paper);color:var(--ink);font-weight:600}.sv-app .sv-selection .sv-go:disabled{background:#59504b;color:#eee7df;opacity:1}.sv-app [data-sv-reason]{flex-basis:100%;font-size:12px;color:#eee7df}
.sv-app .sv-undo{position:fixed;z-index:34;bottom:146px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);width:max-content;display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 8px 28px #17110f26;font-size:14px}
.generic-main .sv-app .sv-empty{padding:52px 20px;text-align:center;border:1px dashed var(--line);border-radius:20px;margin:26px 0}.generic-main .sv-app .sv-empty h2{font:500 28px/1.2 'Playfair',serif;margin:0 0 12px}.sv-app .sv-empty p{font-size:14px;margin:0 auto 20px}.generic-main .sv-app .sv-find{display:inline-flex;text-decoration:none;background:var(--ink);color:var(--paper)}
.sv-app .sv-confirm{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:28px;width:440px;max-width:calc(100vw - 32px)}.sv-app .sv-confirm::backdrop{background:#17110f80}.generic-main .sv-app .sv-confirm h2{font:500 26px/1.3 'Playfair',serif;margin:0 0 16px}.sv-app .sv-confirm p{font-size:15px}.sv-app .sv-confirm form{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.sv-app .sv-destructive{background:var(--wine);border-color:var(--wine);color:#fff}
@media(max-width:640px){.generic-main:has(>.sv-app){padding-top:36px;padding-left:20px;padding-right:20px}.generic-main .sv-app h1{font-size:34px}.sv-app .sv-bar{gap:8px}.sv-app .sv-sort,.sv-app .sv-bar>.sv-clear{display:none}.sv-app .sv-more{display:block}.sv-app .sv-button{padding:9px 12px}.sv-app .sv-search{flex:1 1 auto}.generic-main .sv-app .sv-search input{font-size:13px;padding:10px 12px}.sv-app .sv-row{grid-template-columns:48px minmax(0,1fr) 32px;gap:10px;padding:10px;min-height:80px}.sv-app .sv-row.sv-row-selecting{grid-template-columns:24px 48px minmax(0,1fr) 32px}.sv-app .sv-thumb{width:48px;height:48px}.sv-app .sv-remove{width:32px;height:36px}.generic-main .sv-app .sv-name{font-size:15px}.sv-app .sv-brand{font-size:10px}.sv-app .sv-selection{left:12px;right:12px;transform:none;max-width:none;bottom:12px;gap:8px;padding:12px;border-radius:20px}.sv-app .sv-selection p{flex-basis:100%}.sv-app .sv-selection-actions{width:100%;justify-content:space-between}.sv-app .sv-undo{bottom:170px;font-size:13px}.sv-app .sv-confirm{padding:22px}}

/* r76: group comparison shares the saved list; these are rows, not product-card grids. */
.generic-main .sv-app .sv-group-compare{border:0;padding:6px 0;background:transparent;color:var(--wine);font:600 13px 'DM Sans',sans-serif;text-align:left;cursor:pointer}
.sv-app .sv-pick-hint{flex-basis:100%;font-size:13px;color:var(--ink2);margin:0 0 6px}
.sv-app .sv-row-selected{background:#F7EEF0}
.sv-app .sv-check input:disabled{cursor:not-allowed;opacity:.45}
.sv-app .sv-group-compare:focus-visible,.sv-app .sv-check input:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.sv-app .sv-selection{width:max-content;box-sizing:border-box}
.sv-app .sv-selection-actions{flex-wrap:wrap}
@media(max-width:640px){.sv-app .sv-selection{width:auto}.sv-app .sv-selection-actions{justify-content:flex-end}.sv-app .sv-selection p{font-size:13px}.sv-app .sv-selection-actions .sv-button{font-size:13px;padding:9px 12px}}
/* Use this one responsive saved UI below 599px, including its header/menu/footer.
 * The shared JS precedes mobile.js and disables the legacy mobile controller on this route. */
@media(max-width:599px){
 body.ssr-body:has([data-saved-app])>[data-rv-mobile][data-rv-page="saved"]{display:none!important}
 body.ssr-body:has([data-saved-app])>.hdr,body.ssr-body:has([data-saved-app])>#main,body.ssr-body:has([data-saved-app])>.ftr{display:block!important}
 body.ssr-body:has([data-saved-app])>#mobile-menu[open]{display:block!important}
}

/* Find r28. Load after the shared design bundle. Native GET works without JS. */
.find-v1{--find-v1-ready:1;min-width:0}
.find-v1 [hidden]{display:none!important}
.find-v1-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.find-v1 .search input{min-width:0;width:100%}
.find-v1 :focus-visible{outline:2px solid var(--wine,#842848);outline-offset:3px}
.find-v1 .select select{font:inherit;color:inherit;border:0;background:transparent;min-width:0;max-width:100%;flex:1}
.find-v1 .chip input{accent-color:var(--ink);margin-right:6px;flex-shrink:0}
.find-v1 .filterbar{position:static;height:auto;min-height:0}
.find-v1 .filterbar .wrap{display:block;height:auto;min-height:0;overflow:visible;white-space:normal}
.find-v1-filter-fields{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0}
.find-v1 .filterbar .select,.find-v1 .filterbar .chip{flex:0 1 auto;max-width:100%;min-height:44px;height:auto;white-space:normal;overflow-wrap:anywhere}
.find-v1 .filterbar .select{display:flex;align-items:center;gap:8px;min-width:240px;padding:10px 14px}
.find-v1 .filterbar .chip{display:inline-flex;align-items:center;padding:10px 14px}
.find-v1-panel{display:grid;gap:20px;min-width:0;padding:20px 0}
.find-v1-toolbar-controls,.find-v1 .active,.find-v1-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.find-v1-toolbar-controls{min-width:0;max-width:100%}
.find-v1 .toolbar{gap:20px;flex-wrap:wrap}
.find-v1 .active{margin:0 0 20px}
.find-v1 .active:empty{display:none}
.find-v1 .active .chip{height:auto;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.find-v1 .pager>span.nav-p{display:grid;place-items:center;min-height:44px;border-radius:999px;opacity:.5;font-size:14px}
.find-v1 [data-find-results][aria-busy=true]{opacity:.65}
.find-v1-drawer-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.find-v1-drawer-heading h2{font:400 32px "Playfair";margin:0}
.find-v1-drawer{box-sizing:border-box;margin:0;inset:auto 0 0;width:100%;max-width:100%;height:min(85dvh,760px);max-height:90dvh;border:0;border-radius:24px 24px 0 0;padding:0;background:var(--ivory,#fbf7f4);color:var(--ink,#292321);overflow:hidden}
.find-v1-drawer::backdrop{background:rgb(23 17 15 / .4)}
.find-v1-drawer .find-v1-panel{height:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:0;padding:0}
.find-v1-drawer .find-v1-drawer-heading{flex-shrink:0;padding:20px;border-bottom:1px solid var(--line,#dccbc8)}
.find-v1-drawer .find-v1-filter-fields{display:flex;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:flex-start;padding:20px;gap:16px}
.find-v1-drawer .find-v1-filter-fields>.select,.find-v1-drawer .find-v1-filter-fields>.chip{width:100%;box-sizing:border-box;min-height:44px;display:flex;align-items:center;gap:8px;padding:12px;white-space:normal}
.find-v1-drawer .find-v1-actions{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr);padding:16px 20px max(16px,env(safe-area-inset-bottom));gap:8px;background:var(--ivory,#fbf7f4);border-top:1px solid var(--line,#dccbc8)}
.find-v1-drawer .find-v1-actions>.btn{width:100%;justify-content:center;box-sizing:border-box;min-height:44px}
html.find-v1-dialog-open{overflow:hidden}
@media(min-width:768px){.find-v1 .find-v1-mobile-toggle{display:none}}
@media(max-width:767px){
 .find-v1-mobile-ready [data-find-home]{display:none}
 .find-v1 .filterbar .find-v1-mobile-toggle{display:inline-flex;margin:16px 0;min-height:44px}
 .find-v1 .filterbar .select{min-width:0;width:100%;box-sizing:border-box}
 .find-v1 .pager{gap:3px;flex-wrap:wrap}
 .find-v1 .pager>span.nav-p{min-height:38px}
}

/* r51: normalized square canvases already contain 24% breathing room.
   Fill the frame once; never apply the legacy white/photo sizing a second time. */
.ssr-body :is(.card .img,.tile,.plinth,.cmp-table .im,.cmp-slot-img,.sv-thumb,.tray .thumbs button,.rv-m-thumb,.rv-m-feature-image,.rv-m-product-image,.rv-thumb):has(>img.normalized){position:relative;padding:0}
.ssr-body img.normalized{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center;mix-blend-mode:normal!important;filter:none!important;transform:none!important;margin:0;padding:0}
/* p-gal already supplies position:sticky and an explicit aspect ratio. */
.ssr-body .p-gal:has(>img.normalized){padding:0}

@media(min-width:600px){.product-v1 .p-gal:has(>img.normalized){width:100%;max-width:440px;justify-self:center}}

/* Extensions for evidence details, captured INCI search and photographic assets. */
.product-v1 .product-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.product-v1 .product-topic-notes{grid-column:1/-1;font-size:13px;color:var(--ink2)}
.product-v1 .product-topic-notes p{margin:8px 0}
.product-v1 .product-photo{overflow:hidden}
.product-v1 .product-photo img{width:100%;height:100%;max-height:none;object-fit:cover;mix-blend-mode:normal;filter:none}
.product-v1 .inci span{height:auto;min-height:34px;max-width:100%;overflow-wrap:anywhere}
.product-v1 [data-inci-search]{display:block;width:100%;max-width:360px;margin:8px 0;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);font:inherit}
.product-v1 details{margin:12px 0}.product-v1 summary{cursor:pointer}
.product-v1 .product-conflict{padding:16px;border:1px solid var(--gold);border-radius:18px}
.product-v1 .offers{table-layout:fixed}.product-v1 .offers td{overflow-wrap:anywhere;padding-right:12px}
.product-v1 .offers .btn{white-space:normal;height:auto;min-height:38px;text-align:center}
.product-v1 .price{flex-wrap:wrap}.product-v1 .analysis>*{min-width:0}
.product-v1 .subnav .wrap{overflow-x:auto;white-space:nowrap}
.product-v1 [id]{scroll-margin-top:150px}
@media(max-width:640px){.product-v1 .offers{font-size:12px}.product-v1 .offers td{padding-right:6px}.product-v1 .offers .btn{padding:6px;font-size:11px}}

/* r10 compact closed rows; expanded evidence retains its full content. */
.product-v1 .analysis{grid-template-columns:260px minmax(0,1fr);gap:40px}
.product-v1 .topic,.product-v1 .axis{grid-template-columns:minmax(120px,1fr) minmax(70px,1fr) minmax(180px,max-content);column-gap:16px}
.product-v1 .topic{padding:8px 0;row-gap:4px}
.product-v1 .topic .nums{min-width:180px;white-space:nowrap;font-size:12px}
.product-v1 .topic .nums b{font-size:18px;line-height:1.3}
.product-v1 .topic .nums span{display:block;line-height:1.5}
.product-v1 .topic h4{font-size:17px;line-height:1.2}
.product-v1 .product-topic-notes details{margin:0;line-height:1.4}
.product-v1 .product-topic-notes summary{width:max-content}
@media(max-width:1100px){.product-v1 .analysis{grid-template-columns:1fr}}
@media(max-width:640px){.product-v1 .topic,.product-v1 .axis{grid-template-columns:1fr}.product-v1 .topic{row-gap:8px}}
.product-v1 .p-hero>*{min-width:0}.product-v1 .p-gal{overflow:hidden}.product-v1 .p-gal img{height:auto}.product-v1 .p-info{overflow-wrap:anywhere}

/* r17: badges, key ingredients, collapsed INCI and retailer links. No prices. */
.product-v1 .free-badges{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 8px}
.product-v1 .free-badge{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 12px;border-radius:999px;border:1px solid #CBDCC6;background:#E9F0E5;color:#2F6B57;font:600 12.5px 'DM Sans',sans-serif;letter-spacing:.01em}
.product-v1 .free-note,.product-v1 .size-note{font-size:12.5px;line-height:1.5;color:var(--mute);margin:0 0 12px}
.product-v1 .size-note{margin:10px 0 0}
.product-v1 .key-ing{margin-top:4px}
.product-v1 .key-ing h3{font:500 24px/1.2 Playfair,serif;margin:0 0 12px}
.product-v1 .key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.product-v1 .key-card{border:1px solid var(--line);border-radius:16px;padding:14px 15px;background:var(--paper);min-width:0}
.product-v1 .key-card b{display:block;font:600 15px/1.3 'DM Sans',sans-serif;overflow-wrap:anywhere}
.product-v1 .key-card p{margin:6px 0 10px;font-size:13.5px;line-height:1.45;color:var(--ink2)}
.product-v1 .key-card small{font-size:11.5px;color:var(--mute);font-variant-numeric:tabular-nums}
.product-v1 .key-group{display:block;font:600 9.5px 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8A6A35;margin-bottom:6px}
.product-v1 .inci-order{font-size:12.5px;line-height:1.55;color:var(--mute)}
.product-v1 .inci-full{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}
.product-v1 .inci-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;padding:0;margin:12px 0;font-size:13px;line-height:1.5}
.product-v1 .inci-list li{min-width:0;overflow-wrap:anywhere}
.product-v1 .inci-list .n{color:var(--mute);font-variant-numeric:tabular-nums;margin-right:5px}
.product-v1 .buy-links{display:flex;flex-wrap:wrap;gap:12px}
.product-v1 .buy-link{display:inline-flex;align-items:baseline;gap:8px;height:auto;min-height:48px;padding:10px 18px}
.product-v1 .buy-link small{font-size:11px;color:var(--mute);letter-spacing:0}
.product-v1 .buy-note{font-size:12.5px;line-height:1.6;color:var(--mute);margin-top:16px;max-width:72ch}
.product-v1 .no-bar{font-size:12.5px;color:var(--mute)}
.product-v1 .pre.early{cursor:help}
@media(max-width:640px){.product-v1 .key-grid,.product-v1 .inci-list{grid-template-columns:1fr}}

/* Merge into the single V1 design bundle at integration; no extra font or global tokens. */
.cmp-v1{max-width:100%;min-width:0}.cmp-v1.page-hero{padding:64px 0 44px}.cmp-v1 h1{font-family:Playfair,serif;font-size:clamp(48px,5vw,76px);line-height:1.08;max-width:900px}.cmp-picker,.cmp-explanation{background:var(--paper);border:1px solid var(--line);padding:28px;border-radius:28px;margin:24px 0}.cmp-picker label,.cmp-v1 form label{display:grid;gap:8px;max-width:540px}.cmp-picker input,.cmp-v1 form input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:999px;padding:14px 20px;background:var(--paper);color:var(--ink)}[data-compare-hits]{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.cmp-scroll{position:relative;overflow-x:auto;overscroll-behavior-x:contain}.cmp-table{border-collapse:collapse;table-layout:fixed;width:100%;color:var(--ink);background:transparent}.cmp-table th,.cmp-table td{padding:22px 34px;border-bottom:1px solid var(--line);border-left:1px solid var(--line);vertical-align:top;font-size:14.5px;font-weight:400;text-align:left;overflow-wrap:anywhere}.cmp-table tr>:first-child{width:192px;border-left:0;padding-left:0}.cmp-table tbody th{font:600 11px 'DM Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}.cmp-table thead th{border-bottom:1px solid var(--ink)}.cmp-table .cmp-prod{text-align:center;padding:30px 34px 34px}.cmp-table .im{height:260px;border-radius:24px;background:radial-gradient(circle at 50% 40%,#FFFBF6,#EFE4DA 80%);display:grid;place-items:center;margin-bottom:22px;overflow:hidden}.cmp-table .im img{max-height:200px;max-width:78%;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}.cmp-table h3{font:500 24px/1.2 Playfair,serif;margin:8px 0 6px}.cmp-table small{display:block;font-size:12px;line-height:1.6;margin-top:6px;letter-spacing:normal;text-transform:none}.cmp-table .bar2{height:10px;border-radius:9px;background:#EDE4DA;display:flex;overflow:hidden;margin-top:10px}.cmp-table .bar2 .p{background:var(--pos)}.cmp-table .bar2 .n{background:var(--neg)}.cmp-topic+.cmp-topic{margin-top:18px}.cmp-v1.limits{margin:40px 0}.cmp-recommend{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.cmp-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
[data-compare],[data-save],[data-clear-compare],[data-remove-compare]{border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);padding:9px 14px;font:inherit;cursor:pointer}[data-compare][aria-pressed=true],[data-save][aria-pressed=true]{background:var(--ink);color:var(--ivory)}[data-compare]:disabled{opacity:.55;cursor:not-allowed}.cmp-v1 :focus-visible,[data-compare]:focus-visible,[data-save]:focus-visible,[data-compare-tray] :focus-visible{outline:2px solid var(--wine);outline-offset:4px}.cmp-device-card .img{display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle,#FFFBF6,#EFE4DA);min-height:220px}.cmp-device-card .img img{width:100%;height:240px;object-fit:contain}.cmp-device-card .acts{display:flex;gap:8px;flex-wrap:wrap}
[data-compare-tray].tray{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:10px 14px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:999px;box-shadow:0 12px 40px #17110f22;z-index:60;width:max-content;max-width:calc(100% - 40px);box-sizing:border-box}.tray .thumbs{display:flex;flex-shrink:0}.tray .thumbs button{width:42px;height:42px;border-radius:50%;background:#F1E8DF;border:2px solid var(--paper);margin-left:-10px;padding:0;overflow:hidden;display:grid;place-items:center}.tray .thumbs button:first-child{margin-left:0}.tray .thumbs img{width:80%;height:80%;object-fit:contain}.tray [data-device-compare]{background:var(--ink);color:var(--ivory);padding:10px 16px;border-radius:999px;white-space:nowrap}.tray [data-compare-count]{font-size:13.5px}.toast[data-device-status]{position:fixed;left:50%;bottom:112px;transform:translateX(-50%);background:var(--ink);color:var(--ivory);padding:12px 20px;border-radius:999px;font-size:13.5px;box-shadow:0 12px 40px #17110f22;z-index:61;max-width:calc(100% - 40px);box-sizing:border-box;transition:opacity .5s}.toast.cmp-fade{opacity:0}[data-compare-tray][hidden],[data-device-status][hidden]{display:none!important}
@media(max-width:640px){.cmp-table tr>:first-child{width:auto}.cmp-table,.cmp-table thead,.cmp-table tbody{display:block}.cmp-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cmp-table tr>th:first-child{grid-column:1/-1;padding:14px 0}.cmp-table th,.cmp-table td,.cmp-table .cmp-prod{padding:16px;min-width:0}.cmp-table .im{height:170px}.cmp-table .im img{max-height:140px}.cmp-table h3{font-size:18px}.cmp-count-3{min-width:630px}.cmp-count-3 tr{grid-template-columns:repeat(3,minmax(0,1fr))}.cmp-picker,.cmp-explanation{padding:20px}.tray[data-compare-tray]{bottom:12px;border-radius:24px;gap:8px;flex-wrap:wrap;justify-content:center;width:calc(100% - 24px);max-width:none}.tray [data-compare-count]{flex:1;min-width:140px}.toast[data-device-status]{bottom:154px;width:max-content}.cmp-v1.page-hero{padding-top:40px}}
@media(prefers-reduced-motion:reduce){.toast[data-device-status]{transition:none}}

.compare-page-v1{min-width:0}.compare-page-v1>details{margin-bottom:40px}

/* r79: a measured end-of-document spacer owns floating-control clearance. */

/* r17 compare: three slots, fixed-length direction bars, no price row. */
.cmp-select{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:22px;margin:24px 0}
.cmp-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cmp-slot{min-height:98px;border:1px dashed #CBB9A8;border-radius:16px;background:#FFFDF9;color:var(--ink);font:inherit;text-align:left}
.cmp-slot.empty{display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font:600 14px 'DM Sans',sans-serif;color:#6E5A4C}
.cmp-slot.empty:hover{border-color:var(--wine);color:var(--wine)}
.cmp-slot.filled{display:flex;align-items:center;gap:12px;border-style:solid;padding:12px 38px 12px 12px;position:relative}
.cmp-slot-link{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;color:var(--ink);flex:1}
.cmp-slot-img{width:64px;height:64px;flex:0 0 64px;border-radius:12px;background:#F5EDE5;display:grid;place-items:center;overflow:hidden}
.cmp-slot-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.cmp-slot-fallback{font:500 12px 'Playfair',serif;color:#6E5A4C;text-align:center;padding:4px}
.cmp-slot-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.cmp-slot-copy small{font:600 9.5px 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.cmp-slot-copy b{font:500 16px/1.25 'Playfair',serif;overflow-wrap:anywhere}
.cmp-slot-remove{position:absolute;right:8px;top:8px;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink2);font-size:17px;line-height:1;cursor:pointer}
.cmp-slot-remove:hover{background:var(--ink);color:var(--ivory)}
.cmp-select-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;flex-wrap:wrap}
.cmp-select-actions p{font-size:13px;color:var(--mute);margin:0}
.cmp-select-actions>div{display:flex;align-items:center;gap:16px}
.cmp-select-actions .btn[aria-disabled=true]{opacity:.42;cursor:not-allowed}
.cmp-browse{font-size:13px;color:var(--ink2);text-decoration:underline;text-underline-offset:3px}
.cmp-slot-search{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
.cmp-slot-search label{display:grid;gap:8px;max-width:540px;font-size:13px;color:var(--ink2)}
.cmp-slot-search input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:999px;padding:12px 18px;background:var(--paper);color:var(--ink);font:inherit}
.cmp-slot-search [data-slot-results]{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.cmp-slot-search [data-slot-results] button{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:8px 13px;font:13px 'DM Sans',sans-serif;color:var(--ink);cursor:pointer}
.cmp-slot-search [data-slot-results] button:hover{background:var(--ink);color:var(--ivory)}
.cmp-slot-status{font-size:12.5px;color:var(--mute);margin:10px 0 0;min-height:1em}
.cmp-noscript{font-size:13px;color:var(--mute);margin:12px 0 0}
.cmp-published{margin:10px 0 0;font-size:13.5px}
.cmp-table .cmp-topic>small{font-size:11px;letter-spacing:.02em}
.cmp-table .cmp-topic .chip.early{margin-left:4px}
.cmp-bar{display:flex;height:12px;border-radius:99px;overflow:hidden;background:#EDE4DA;margin:8px 0 6px}
.cmp-bar i{display:block;height:100%}
.cmp-bar .p{background:#2F6B57}
.cmp-bar .n{background:#B8504E}
.cmp-bar .o{background:#DDD2C6}
.cmp-counts{display:block;font-size:11.5px;color:var(--mute);line-height:1.45}
.cmp-early{display:inline-block;font:600 10.5px 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#8A6A35;background:#F3E9D8;border-radius:999px;padding:3px 8px;margin:6px 0 4px}
.cmp-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;color:var(--mute);margin:14px 0 0}
.cmp-legend span{display:inline-flex;align-items:center;gap:6px}
.cmp-legend i{width:22px;height:8px;border-radius:99px;display:inline-block}
.cmp-legend i.p{background:#2F6B57}.cmp-legend i.n{background:#B8504E}.cmp-legend i.o{background:#DDD2C6}
.cmp-free{display:flex;flex-wrap:wrap;gap:6px}
.cmp-free .free-badge{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:3px 9px;border-radius:999px;border:1px solid #CBDCC6;background:#E9F0E5;color:#2F6B57;font:600 11px 'DM Sans',sans-serif}
.cmp-muted{color:var(--mute)}
.cmp-table.cmp-count-2 tr>:first-child{width:250px}
@media(max-width:900px){.cmp-slots{grid-template-columns:1fr}.cmp-slot{min-height:84px}}

/* r17 compare retailer links. */
.cmp-buy{display:flex;flex-wrap:wrap;gap:8px}
.cmp-buy .btn{height:auto;min-height:38px;padding:6px 12px;font-size:12px;white-space:normal}
.cmp-buy small{font-size:10.5px;color:var(--mute)}
.cmp-muted{color:var(--mute)}
.cmp-v1 .chip.early{cursor:help}

/* r76: saved-first product rows, deliberately outside the 4/3/2 product-card grids. */
.cmp-slot-search [data-slot-results]{display:block}
.cmp-saved-choices{margin:0 0 22px}
.cmp-candidate-heading{font:500 20px/1.3 'Playfair',serif;margin:0 0 12px;color:var(--ink)}
.cmp-candidate-note{font-size:13px;line-height:1.5;color:var(--ink2);margin:8px 0 14px}
.cmp-candidate-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}
.cmp-candidate-list li{margin:0;min-width:0}
.cmp-slot-search .cmp-candidate{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);padding:10px 12px;font:inherit;cursor:pointer}
.cmp-slot-search .cmp-candidate:hover:not(:disabled){border-color:var(--wine);background:#F7EEF0;color:var(--ink)}
.cmp-slot-search .cmp-candidate:disabled{opacity:.6;cursor:not-allowed}
.cmp-candidate-image{position:relative;width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#F5EDE5;font-size:10px}
.cmp-candidate-image img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.cmp-candidate-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.cmp-candidate-copy small{font:600 10px/1.4 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.08em}
.cmp-candidate-copy b{font:500 16px/1.3 'Playfair',serif;overflow-wrap:anywhere}
.cmp-candidate-state{font-size:12px;color:var(--wine)}
.cmp-slot-search .cmp-candidate:focus-visible,.cmp-slot-search .cmp-search-reset:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.compare-page-v1 [data-slot-stale][hidden],.cmp-slot-search[hidden]{display:none!important}
.cmp-slot-search .cmp-search-reset{margin-right:12px}
@media(max-width:599px){
 body.ssr-body:has([data-compare-slots])>[data-rv-mobile][data-rv-page="compare"]{display:none!important}
 body.ssr-body:has([data-compare-slots])>.hdr,body.ssr-body:has([data-compare-slots])>#main,body.ssr-body:has([data-compare-slots])>.ftr{display:block!important}
 body.ssr-body:has([data-compare-slots])>#mobile-menu[open]{display:block!important}
 body.ssr-body:has([data-compare-slots])>.tray{display:none!important}
 .compare-page-v1{padding-bottom:32px}
 .cmp-select{padding:16px}
 .cmp-candidate-copy b{font-size:15px}
}

/* r79: floating geometry is measured in enhance.js, never a fixed footer allowance. */
[data-r79-bottom-reserve]{width:100%;flex:none;pointer-events:none}
[data-compare-tray].tray{bottom:calc(var(--rv-r79-floating-base,env(safe-area-inset-bottom,0px)) + 28px)}
.sv-app .sv-selection{bottom:calc(var(--rv-r79-floating-base,env(safe-area-inset-bottom,0px)) + 22px)}
.sv-app .sv-undo{bottom:var(--rv-r79-undo-bottom,calc(env(safe-area-inset-bottom,0px) + 22px))}
.toast[data-device-status]{bottom:var(--rv-r79-status-bottom,calc(env(safe-area-inset-bottom,0px) + 22px))}
@media(max-width:640px){[data-compare-tray].tray{bottom:calc(var(--rv-r79-floating-base,env(safe-area-inset-bottom,0px)) + 12px)}}

#rv-consent{font:400 15px/1.6 "DM Sans",sans-serif;color:var(--ink,#17110F)}
#rv-consent [hidden]{display:none!important}
/* The existing telemetry client retains its lifecycle, but V1 owns consent UI. */
body:has(#rv-consent) #rv-analytics-privacy{display:none!important}
.rv-consent-banner{box-sizing:border-box;position:fixed;z-index:1100;bottom:0;left:24px;right:24px;max-width:1200px;margin:auto;background:var(--paper,#FFFDF9);border:1px solid var(--gold,#B8935A);border-radius:12px 12px 0 0;padding:14px 20px;box-shadow:0 -4px 24px #17110f18;display:flex;gap:20px;align-items:center}
#rv-consent .rv-consent-banner p{margin:0;flex:1;font-size:14px;line-height:1.5}
#rv-consent .rv-consent-banner .rv-consent-actions{flex-wrap:nowrap;gap:8px}
#rv-consent .rv-consent-banner button{white-space:nowrap;padding:10px 14px}
#rv-consent .rv-consent-banner a{white-space:nowrap;color:var(--ink,#17110F);font-size:14px;text-decoration:underline;text-underline-offset:3px}
#rv-consent h2{font:500 28px/1.2 "Playfair",Georgia,serif;margin:0 0 12px}#rv-consent p{margin:0 0 12px}.rv-consent-eyebrow{font-size:11.5px;letter-spacing:.22em;color:var(--wine,#7A1F3D)}
.rv-consent-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0;max-width:440px}
#rv-consent button{min-height:44px;border-radius:999px;padding:10px 20px;border:1px solid var(--ink,#17110F);background:var(--paper,#FFFDF9);color:var(--ink,#17110F);font:600 14px/1.4 "DM Sans",sans-serif;cursor:pointer}
#rv-consent button:hover{background:var(--ink,#17110F);color:var(--ivory,#F8F4EE)}
#rv-consent :focus-visible{outline:3px solid var(--wine,#7A1F3D);outline-offset:4px}
.rv-consent-dialog{box-sizing:border-box;max-width:580px;width:calc(100% - 40px);max-height:85dvh;overflow:auto;padding:32px;border:1px solid var(--gold,#B8935A);border-radius:28px;background:var(--paper,#FFFDF9);color:var(--ink,#17110F)}
.rv-consent-dialog::backdrop{background:#17110f99}.rv-consent-toggle{display:flex;align-items:center;gap:12px;padding:16px 0}.rv-consent-toggle input{width:22px;height:22px;accent-color:var(--wine,#7A1F3D)}
.rv-consent-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1023px){.rv-consent-banner{left:20px;right:20px;padding:14px 16px;gap:10px;flex-wrap:wrap}#rv-consent .rv-consent-banner p{flex-basis:100%}#rv-consent .rv-consent-banner .rv-consent-actions{max-width:none}#rv-consent .rv-consent-banner a{margin-left:auto}}
@media(max-width:640px){.rv-consent-banner{left:12px;right:12px;padding:12px;gap:8px}#rv-consent .rv-consent-banner .rv-consent-actions{width:100%}#rv-consent .rv-consent-banner button{flex:1;padding:10px 12px}#rv-consent .rv-consent-banner a{margin:0}.rv-consent-dialog{padding:24px}#rv-consent h2{font-size:25px}}
/* Original desktop rules and copy above remain intact. */
#rv-consent .rv-consent-mobile{display:none}
@media(max-width:599px){
  #rv-consent .rv-consent-banner{left:12px;right:12px;bottom:calc(var(--rv-mobile-tabs-height,84px) + var(--rv-mobile-product-actions-height,0px) + 8px);height:52px;max-width:none;padding:4px 8px;gap:8px;flex-wrap:nowrap;border:0;border-radius:26px;background:#1B1614;color:#FFFFFF;box-shadow:0 4px 20px #1b161433}
  body:has(.product-v1) #rv-consent .rv-consent-banner,body:has(.product-r5) #rv-consent .rv-consent-banner{bottom:calc(var(--rv-mobile-tabs-height,84px) + var(--rv-mobile-product-actions-height,60px) + 8px)}
  #rv-consent .rv-consent-banner>[data-consent-message],#rv-consent .rv-consent-banner>.rv-consent-actions,#rv-consent .rv-consent-banner>a{display:none}
  #rv-consent .rv-consent-banner .rv-consent-mobile-message{display:block;flex:1 1 0;min-width:0;font-size:12px;line-height:16px}
  #rv-consent .rv-consent-banner .rv-consent-mobile-actions{display:flex;flex:0 0 auto;align-items:center;gap:4px}
  #rv-consent .rv-consent-mobile-actions button{box-sizing:border-box;flex:0 0 auto;min-width:44px;height:44px;min-height:44px;padding:0 6px;border:1px solid #FFFFFF80;background:transparent;color:#FFFFFF;font-size:12px;line-height:16px}
  #rv-consent .rv-consent-mobile-actions button:hover{background:#4A403B}
  #rv-consent .rv-consent-banner :focus-visible{outline-color:#FFFFFF;outline-offset:1px}
  #rv-consent .rv-consent-mobile-help{display:block;font-size:13px;line-height:20px}
  #rv-consent .rv-consent-dialog .rv-consent-eyebrow{font-size:12px}
  #rv-consent .rv-consent-dialog a{display:inline-flex;align-items:center;min-height:44px}
}

/* r17 ingredient guide: grouped cards, evidence labels, side panel. */
.ing-hero{max-width:900px;padding:24px 0 40px}
.ing-hero h1{font-size:clamp(40px,5vw,66px)}
.ing-hero .lede{max-width:720px}
.ing-hero .search{margin-top:24px}
.ing-note{font-size:13.5px;color:var(--mute);margin-top:12px}
.ing-note a{color:var(--ink)}
.ing-groups{display:grid;gap:48px;margin:8px 0 64px}
.ing-group-head{max-width:760px;margin-bottom:18px}
.ing-group-head h2{font:500 clamp(30px,3.4vw,42px)/1.1 Playfair,serif;margin:6px 0 10px}
.ing-group-head p,.ing-group-desc{color:var(--ink2);font-size:14.5px;line-height:1.6;max-width:720px;margin:0}
.ing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ing-card{display:flex;flex-direction:column;min-width:0;text-decoration:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.generic-main a.ing-card:not(.btn):not(.img){text-decoration:none}
.generic-main a.ing-card:hover h3,.generic-main a.ing-card:focus-visible h3{text-decoration:underline;text-underline-offset:3px}
.ing-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px -24px #17110f55}
.ing-card:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
.ing-media{aspect-ratio:1/1;background:radial-gradient(circle at 50% 42%,#FFFDF9,#EDE2D7 82%);display:grid;place-items:center;overflow:hidden}
.ing-media img{width:100%;height:100%;object-fit:cover;display:block}
.ing-icon{width:72px;height:72px;color:#6E7F63;display:grid;place-items:center}
.ing-icon svg{width:100%;height:100%}
.ing-copy{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.ing-copy h3{font:500 19px/1.2 Playfair,serif;margin:2px 0 3px;overflow-wrap:anywhere}
.ing-inci{font-size:11.5px;line-height:1.4;color:var(--mute);letter-spacing:.02em;margin:0 0 8px;overflow-wrap:anywhere}
.ing-help{font-size:13.5px;line-height:1.45;color:var(--ink2);margin:0 0 12px}
.ing-tag{font:600 9.5px 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8A6A35;margin-bottom:4px}
.ing-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;font-size:11.5px;color:var(--mute)}
.ing-meta .chip{min-height:24px;padding:3px 9px;font-size:10.5px;background:#E9F0E5;color:#2F6B57;border:1px solid #CBDCC6;border-radius:999px}
.ing-copy small{display:block;font-size:11.5px;color:var(--mute);margin-top:8px}
.ing-base{border-top:1px solid var(--line);padding-top:22px}
.ing-base summary{cursor:pointer;font:500 clamp(24px,2.4vw,32px)/1.2 Playfair,serif;margin-bottom:10px}
.ing-base summary span{font-family:'DM Sans',sans-serif;font-size:14px;color:var(--mute);font-weight:400}
.ing-base .ing-grid{margin-top:16px}
.ing-base[open] summary{margin-bottom:14px}
.ing-notes{border-top:1px solid var(--line);padding-top:32px;max-width:760px;margin-bottom:20px}
.ing-notes h2{font:500 30px/1.15 Playfair,serif;margin:0 0 12px}
.ing-notes p{font-size:14.5px;line-height:1.65;color:var(--ink2);margin:0 0 10px}
.ing-detail-ssr{border:1px solid var(--line);border-radius:22px;background:var(--paper);padding:26px 28px;margin:0 0 32px;max-width:880px}
.ing-detail-ssr h2{font:500 34px/1.1 Playfair,serif;margin:6px 0 2px}
.ing-detail-ssr h3{font:500 21px/1.2 Playfair,serif;margin:20px 0 8px}
.ing-detail-ssr ul{padding-left:20px}
.ing-detail-ssr li{font-size:13.5px;line-height:1.55;margin-bottom:10px}
.ing-evidence{display:inline-flex;gap:6px;align-items:center;font-size:11.5px;color:#2F6B57;background:#E9F0E5;border:1px solid #CBDCC6;border-radius:999px;padding:4px 10px;margin:6px 0 10px}
.ing-dialog{border:0;border-radius:24px;padding:0;width:min(940px,92vw);max-height:90dvh;background:var(--paper);color:var(--ink);box-shadow:0 30px 90px #17110f66;overflow:auto}
.ing-dialog::backdrop{background:#17110fb8}
.ing-dialog-inner{position:relative;padding:28px}
.ing-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:30px;line-height:1;color:var(--ink2);cursor:pointer}
.ing-dialog-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;align-items:start}
.ing-dialog [data-ing-media]{border-radius:18px;overflow:hidden;background:radial-gradient(circle at 50% 42%,#FFFDF9,#EDE2D7 82%);aspect-ratio:1/1;display:grid;place-items:center}
.ing-dialog [data-ing-media] img{width:100%;height:100%;object-fit:cover}
.ing-dialog [data-ing-media] .ing-icon{width:110px;height:110px}
.ing-dialog h2{font:500 36px/1.1 Playfair,serif;margin:4px 0}
.ing-dialog p{font-size:14px;line-height:1.6;color:var(--ink2);margin:0 0 10px}
.ing-dialog h3{font:500 20px/1.2 Playfair,serif;margin:16px 0 6px}
.ing-dialog ul{padding-left:18px;margin:0}
.ing-dialog li{font-size:13px;line-height:1.5;margin-bottom:9px}
.ing-small{font-size:12px!important;color:var(--mute)!important;margin-top:14px!important}
@media(max-width:1100px){.ing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.ing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ing-dialog-grid{grid-template-columns:1fr}.ing-dialog [data-ing-media]{max-width:320px}}
@media(max-width:640px){.ing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ing-media{aspect-ratio:4/3}.ing-icon{width:48px;height:48px}.ing-copy{padding:12px}.ing-copy h3{font-size:17px}.ing-help{font-size:12.5px}.ing-inci,.ing-meta,.ing-copy small{font-size:11px}.ing-groups{gap:32px}.ing-dialog-inner{padding:22px 18px}.ing-hero{padding-top:8px}}

/* r17 Guides: vertical tour, catalogue cards, no carousel. */
.tour{max-width:1040px;margin:0 auto 72px}
.tour-head{max-width:760px;margin-bottom:34px}
.tour-head h1{font:500 clamp(42px,5vw,68px)/1.05 Playfair,serif;letter-spacing:-.02em;margin:8px 0 12px}
.tour-head p{font-size:16px;line-height:1.65;color:var(--ink2);margin:0}
.tour-steps{list-style:none;padding:0;margin:0;display:grid;gap:20px}
.tour-step{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:center;border:1px solid var(--line);border-radius:24px;background:var(--paper);padding:26px}
.tour-step .tour-visual *{animation-play-state:paused}
.tour-step.in-view .tour-visual *{animation-play-state:running}
.tour-copy .tour-num{font:600 11px 'DM Sans',sans-serif;letter-spacing:.2em;color:#8A6A35}
.tour-copy h2{font:500 clamp(26px,2.6vw,34px)/1.15 Playfair,serif;margin:6px 0 8px}
.tour-copy p{font-size:15px;line-height:1.65;color:var(--ink2);margin:0;max-width:56ch}
.tour-visual{min-height:190px;border-radius:18px;background:linear-gradient(145deg,#FBF5EF,#EFE4D8);padding:22px;display:flex;flex-direction:column;justify-content:center;gap:12px;overflow:hidden}
.tour-visual i,.tour-visual span{display:block}
.tf-bar{height:42px;border-radius:999px;background:#FFFDF9;border:1px solid #E2D5C8;display:flex;align-items:center;padding:0 14px}
.tf-bar span{height:10px;width:58%;border-radius:99px;background:#C9B8A7;animation:tf-type 5s ease-in-out infinite}
.tf-results{display:grid;gap:8px}
.tf-results i{height:28px;border-radius:10px;background:#FFFDF9;border:1px solid #E7DACE;position:relative}
.tf-results i:after{content:"";position:absolute;left:12px;top:10px;height:7px;width:42%;border-radius:99px;background:#D9C9B8}
@keyframes tf-type{0%,10%{width:18%}45%,65%{width:72%}90%,100%{width:18%}}
.tc-row{display:grid;grid-template-columns:64px 1fr;gap:12px;align-items:center}
.tc-label{height:8px;border-radius:99px;background:#C9B8A7}
.tc-label.short{width:70%}
.tc-track{height:18px;border-radius:99px;background:#FFFDF9;border:1px solid #E7DACE;display:flex;overflow:hidden}
.tc-track i{height:100%;transform-origin:left;animation:tc-grow 5s ease-in-out infinite}
.tc-neg{background:#D9776D;width:26%}
.tc-pos{background:#5FA587;width:58%}
.tc-neg.small{width:12%}
.small{animation-delay:.2s}
@keyframes tc-grow{0%,10%{transform:scaleX(.15)}50%,70%{transform:scaleX(1)}100%{transform:scaleX(.15)}}
.tour-ing{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:center}
.ti-card{background:#FFFDF9;border:1px solid #E7DACE;border-radius:14px;padding:12px;display:grid;gap:7px;animation:ti-lift 6s ease-in-out infinite}
.ti-card.mid{animation-delay:.6s}
.ti-card b{height:26px;width:26px;border-radius:50%;background:#8FA37F}
.ti-card span{height:7px;border-radius:99px;background:#D9C9B8}
.ti-card span:last-child{width:64%}
@keyframes ti-lift{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.tcmp-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.tcmp-slots span{height:52px;border-radius:12px;background:#FFFDF9;border:1px solid #E7DACE}
.tcmp-slots span.empty{display:grid;place-items:center;color:#8A6A35;font:600 22px 'DM Sans',sans-serif}
.tcmp-bar{display:flex;gap:8px;align-items:center}
.tcmp-bar i{height:10px;border-radius:99px;background:#8FA37F;animation:tcmp-in 5s ease-in-out infinite}
.tcmp-bar i:first-child{width:52%}.tcmp-bar i:last-child{width:30%;animation-delay:.15s;background:#D9776D}
@keyframes tcmp-in{0%,10%{opacity:.3}45%,70%{opacity:1}100%{opacity:.3}}
.tb-store{display:flex;gap:8px}
.tb-store span{height:34px;flex:1;border-radius:10px;background:#FFFDF9;border:1px solid #E7DACE}
.tb-links{display:flex;gap:10px;margin-top:8px}
.tb-links i{height:30px;width:38%;border-radius:999px;background:#17110F;animation:tb-pulse 4s ease-in-out infinite}
.tb-links i:last-child{background:#8FA37F;animation-delay:.4s}
@keyframes tb-pulse{0%,100%{opacity:.55}50%{opacity:1}}
.guide-catalog{max-width:1180px;margin:0 auto 72px;padding-top:12px;border-top:1px solid var(--line)}
.guide-catalog .sec-head{margin:26px 0 22px}
.guide-catalog .sec-head h2{font:500 clamp(32px,3.4vw,46px)/1.1 Playfair,serif;margin:6px 0 0}
.guide-catalog .sec-head p{max-width:420px}
.guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.guide-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;background:var(--paper);overflow:hidden;text-decoration:none;color:var(--ink);min-width:0;transition:transform .18s ease,box-shadow .18s ease}
.generic-main a.guide-card:not(.btn):not(.img){text-decoration:none}
.generic-main a.guide-card:hover h3,.generic-main a.guide-card:focus-visible h3{text-decoration:underline;text-underline-offset:3px}
.guide-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px -28px #17110f66}
.guide-thumb{height:150px;background:linear-gradient(145deg,#FBF5EF,#EDE1D4);display:grid;place-items:center;color:#6E7F63;padding:18px}
.guide-thumb svg{width:64px;height:64px}
.guide-pair{display:flex;gap:10px;align-items:center;justify-content:center}
.guide-pair img{width:86px;height:86px;min-width:0;flex-shrink:1;object-fit:contain;background:#F2E9DF;border-radius:12px;padding:6px}
.guide-pair-fallback{font:500 13px 'Playfair',serif;color:#6E5A4C;background:#FFFDF9;border-radius:12px;padding:12px;max-width:80px;text-align:center}
.guide-pair-icon{display:grid;place-items:center;width:100%}
.guide-body{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.guide-body h3{font:500 21px/1.25 Playfair,serif;margin:4px 0 8px}
.guide-body p{font-size:13px;line-height:1.55;color:var(--ink2);margin:0 0 14px;flex:1}
.guide-link{font:600 12px 'DM Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--wine)}
.tour-entry-wrap{max-width:1180px;margin:0 auto;padding:0 40px}
.tour-entry{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font:600 12.5px 'DM Sans',sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--wine);text-decoration:none;border-bottom:1px solid #C9A7A0;padding-bottom:4px}
.tour-entry:hover{color:var(--ink)}
@media(max-width:900px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-step{grid-template-columns:1fr;gap:20px}}
@media(max-width:640px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guide-card .guide-body p{display:none}.guide-body{padding:12px}.guide-body h3{font-size:16px;margin-bottom:6px}.guide-thumb{height:104px}.guide-pair{padding:10px;gap:6px}.guide-pair img{width:62px;height:62px;padding:4px}.tour-entry-wrap{padding:0 20px}.tour-step{padding:18px}.tour-visual{min-height:160px}}
@media(prefers-reduced-motion:reduce){.tour-visual i,.tour-visual span,.tf-bar span{animation:none!important}}

/* r17 About: single 680px column, two-column cards, tighter rhythm. */
.about-v1{max-width:680px;margin:0 auto;font-size:18px;line-height:1.7}
.about-v1 .breadcrumbs{display:flex;align-items:center;font-size:13px;margin:0 0 24px;color:var(--mute)}
.about-v1 .breadcrumbs a{color:var(--ink2);text-decoration:none}
.about-v1 .breadcrumbs .separator{margin:0 8px;color:var(--mute)}
.about-v1 .about-hero{padding:0 0 8px}
.about-v1 .about-badge{display:inline-block;font:600 10px 'DM Sans',sans-serif;letter-spacing:.2em;color:#8A6A35;margin:0 0 10px}
.about-v1 .about-hero-title{font:500 clamp(30px,3.2vw,50px)/1.08 'Playfair',serif;letter-spacing:-.025em;margin:0 0 18px}
.about-v1 .about-hero-desc{font-size:18px;line-height:1.7;color:var(--ink2);margin:0 0 14px;max-width:680px}
.about-v1 .about-who{background:var(--sand);border:1px solid var(--line);border-radius:18px;padding:20px 22px;margin:22px 0 0}
.about-v1 .about-who h2{font:500 22px/1.2 'Playfair',serif;margin:0 0 10px}
.about-v1 .about-who p{font-size:15px;line-height:1.65;color:var(--ink2);margin:0 0 8px}
.about-v1 .about-who p:last-child{margin-bottom:0}
.about-v1 .section{padding-top:52px;margin-top:38px;border-top:1px solid var(--line)}
.about-v1 .section-header{max-width:680px;margin-bottom:18px}
.about-v1 .section-badge{display:block;font:600 10px 'DM Sans',sans-serif;letter-spacing:.2em;color:#8A6A35;margin-bottom:6px}
.about-v1 .section-title{font:500 clamp(28px,3vw,38px)/1.12 'Playfair',serif;letter-spacing:-.02em;margin:0 0 10px}
.about-v1 .section-desc{font-size:16px;line-height:1.65;color:var(--ink2);margin:0}
.about-v1 .layers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.about-v1 .layer-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--paper);min-width:0}
.about-v1 .layer-icon{font-size:22px;line-height:1}
.about-v1 .layer-title{font:500 18px/1.2 'Playfair',serif;margin:8px 0 6px}
.about-v1 .layer-desc{font-size:13px;line-height:1.55;color:var(--ink2);margin:0}
.about-v1 .trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.about-v1 .trust-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--paper);text-decoration:none;color:var(--ink);min-width:0}
.generic-main .about-v1 a.trust-card:not(.btn):not(.img){text-decoration:none}
.generic-main .about-v1 a.trust-card:hover .trust-card-title,.generic-main .about-v1 a.trust-card:focus-visible .trust-card-title{text-decoration:underline;text-underline-offset:3px}
.about-v1 .trust-card:hover{border-color:var(--ink)}
.about-v1 .trust-card-title{display:block;font:600 14.5px/1.3 'DM Sans',sans-serif;margin-bottom:4px}
.about-v1 .trust-card-desc{display:block;font-size:12.5px;line-height:1.5;color:var(--ink2)}
.about-v1 .trust-card-link{display:inline-block;margin-top:8px;font:600 10.5px 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--wine)}
.about-v1 .faq-list{display:grid;gap:8px;margin-top:18px}
.about-v1 .faq-item{border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:0;margin:0}
.about-v1 .faq-item summary{padding:14px 16px;font:600 14px 'DM Sans',sans-serif;cursor:pointer}
.about-v1 .faq-item p{padding:0 16px 14px;font-size:14px;line-height:1.6;color:var(--ink2);margin:0}
.about-v1 .disclosure-section{border-top:1px solid var(--line);margin-top:38px;padding-top:52px}
.about-v1 .disclosure-inner{max-width:680px}
.about-v1 .disclosure-badge{display:block;font:600 10px 'DM Sans',sans-serif;letter-spacing:.2em;color:#8A6A35;margin-bottom:6px}
.about-v1 .disclosure-title{font:500 clamp(28px,3vw,38px)/1.12 'Playfair',serif;margin:0 0 10px}
.about-v1 .disclosure-desc{font-size:16px;line-height:1.65;color:var(--ink2);margin:0}
@media(max-width:640px){.about-v1{font-size:17px}.about-v1 .layers-grid,.about-v1 .trust-grid{grid-template-columns:1fr}.about-v1 .section{padding-top:40px;margin-top:28px}.about-v1 .disclosure-section{padding-top:40px;margin-top:28px}.about-v1 .about-who{padding:16px}.about-v1 .about-hero-desc{font-size:17px}}
