
:root{
 --ivory:#FFF9F7; --blush:#D98F9D; --berry:#663B48; --rose:#E8B8C0; --charcoal:#302A2C;
 --taupe:#7c6b69; --sage:#A9B7A3; --line:#efe3e0; --rose-soft:#fbeef0; --blush-ink:#a8506a;
 --serif:'DM Serif Display',Georgia,'Times New Roman',serif;
 --sans:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
 --wrap:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--charcoal);font-family:var(--sans);
 font-size:18px;line-height:1.75;-webkit-font-smoothing:antialiased}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
a{color:var(--berry);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--serif);color:var(--berry);font-weight:400;line-height:1.2}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem);letter-spacing:.2px}
h2{font-size:clamp(1.5rem,3vw,2.15rem)}
h3{font-size:1.3rem}
p{margin:0 0 1.1em}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;
 font-weight:600;color:var(--blush-ink);display:inline-block;margin-bottom:.5rem}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px 14px;z-index:99;border-radius:8px}
.btn{display:inline-block;background:var(--berry);color:var(--ivory);padding:12px 22px;border-radius:999px;
 font-weight:600;font-size:.95rem;border:1.5px solid var(--berry);cursor:pointer;transition:.2s}
.btn:hover{background:#54303b;text-decoration:none}
.btn-outline{background:transparent;color:var(--berry)}
.btn-outline:hover{background:var(--berry);color:var(--ivory)}
.btn-light{background:var(--ivory);color:var(--berry);border-color:var(--ivory)}

/* topbar + header */
.topbar{background:var(--berry);color:var(--ivory);text-align:center;font-size:.78rem;letter-spacing:.08em;
 text-transform:uppercase;padding:7px 0}
.site-head{background:var(--ivory);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.head-inner{display:flex;align-items:center;justify-content:center;position:relative;padding:16px 22px}
.brand{text-align:center;line-height:1;text-decoration:none}
.brand-name{font-family:var(--serif);color:var(--berry);font-size:2rem;display:block}
.brand .brand-mark{display:block;width:30px;height:30px;margin:0 auto 5px}
.foot-brandrow{display:flex;align-items:center;gap:11px;margin-bottom:6px}
.foot-brandrow .brand-mark{width:30px;height:30px;flex:none}
.brand-tag{font-size:.66rem;text-transform:uppercase;letter-spacing:.22em;color:var(--taupe);display:block;margin-top:4px}
.pin-link{position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:.78rem;text-transform:uppercase;
 letter-spacing:.12em;color:var(--charcoal)}
.menu-btn{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:none;align-items:center;justify-content:center;
 width:42px;height:42px;background:none;border:none;border-radius:50%;color:var(--berry);cursor:pointer;
 -webkit-tap-highlight-color:transparent;transition:background .2s var(--ease)}
.menu-btn:hover,.menu-btn:focus-visible{background:var(--rose-soft)}
.menu-bars{position:relative;display:block;width:22px;height:14px}
.menu-bars span{position:absolute;left:0;width:100%;height:2px;border-radius:2px;background:var(--berry);
 transition:transform .32s var(--ease),opacity .2s var(--ease),top .32s var(--ease)}
.menu-bars span:nth-child(1){top:0}.menu-bars span:nth-child(2){top:6px}.menu-bars span:nth-child(3){top:12px}
body.nav-open .menu-bars span:nth-child(1){top:6px;transform:rotate(45deg)}
body.nav-open .menu-bars span:nth-child(2){opacity:0}
body.nav-open .menu-bars span:nth-child(3){top:6px;transform:rotate(-45deg)}
.nav-head,.nav-foot,.nav-close{display:none}
.main-nav{border-top:1px solid var(--line)}
.main-nav ul{list-style:none;display:flex;justify-content:center;gap:6px;margin:0;padding:0;flex-wrap:wrap}
.main-nav a{display:block;padding:14px 16px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;
 font-weight:600;color:var(--charcoal)}
.main-nav a:hover,.main-nav a.active{color:var(--blush-ink);text-decoration:none}
.nav-scrim{position:fixed;inset:0;background:rgba(48,42,44,.44);opacity:0;visibility:hidden;
 transition:opacity .34s var(--ease),visibility .34s var(--ease);z-index:50}
@supports (backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px)){
 .nav-scrim{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}}

/* figure / placeholder */
.fig,.card-media,.cat-media,.collage-cell{position:relative;overflow:hidden;background:var(--rose-soft);display:block}
.ratio-45{aspect-ratio:4/5}.ratio-23{aspect-ratio:2/3}
.fig img,.card-media img,.cat-media img,.collage-cell img,.feat-media img{position:absolute;inset:0;width:100%;height:100%;
 object-fit:cover;z-index:2}
.fig-ph{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
 text-align:center;gap:12px;padding:18px;overflow:hidden;background:linear-gradient(135deg,#fbeef0,#f5e7e3)}
.fig-motif{position:absolute;width:72%;height:72%;left:14%;top:12%;opacity:.14;fill:none;stroke:#663B48;
 stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;z-index:1}
.fig-ph .brand-mark{position:relative;z-index:2;width:38px;height:38px;opacity:.95}
.fig-cap{position:relative;z-index:2;font-family:var(--serif);font-size:.98rem;color:var(--berry);max-width:88%;
 line-height:1.35;opacity:.92}
.ph-hair{background:linear-gradient(135deg,#fbeef0,#f2e4e1)}
.ph-braids{background:linear-gradient(135deg,#f4ece6,#ecdcd5)}
.ph-nails{background:linear-gradient(135deg,#fbecef,#f4e2e7)}
.ph-makeup{background:linear-gradient(135deg,#fbe9ee,#f2e2e5)}
.ph-tattoos{background:linear-gradient(135deg,#eef1ea,#e4ebdf)}
.ph-beauty-tools{background:linear-gradient(135deg,#f6eee7,#eee2d9)}
.ph-generic{background:linear-gradient(135deg,#fbeef0,#f5e7e3)}
.ph-tattoos .fig-motif{stroke:#7c8a72}
.fig{border-radius:14px}
.card-media .fig-cap,.cat-media .fig-cap{font-size:.9rem}

/* hero */
.hero{background:linear-gradient(180deg,#fff 0,var(--ivory) 100%);border-bottom:1px solid var(--line)}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:60px 22px}
.hero-copy h1{margin:.2em 0 .3em}
.hero-copy p{font-size:1.1rem;color:#5a4d50;max-width:34ch}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.hero-collage{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hero-collage .collage-cell{border-radius:16px}
.hero-collage .collage-cell:nth-child(1),.hero-collage .collage-cell:nth-child(4){transform:translateY(14px)}

/* sections */
section.wrap{padding-top:40px;padding-bottom:6px}
.sec-head{text-align:center;margin-bottom:26px}
.sec-head h2{margin:0}
.sec-head p{color:var(--taupe);margin:.3em 0 0}

/* category cards */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cat-card{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.25s}
.cat-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(102,59,72,.12);text-decoration:none}
.cat-card-body{display:block;padding:18px 20px 22px}
.cat-name{font-family:var(--serif);color:var(--berry);font-size:1.5rem;display:block}
.cat-blurb{color:#6b5b5e;font-size:.92rem;display:block;margin:6px 0 10px}
.cat-more{color:var(--blush-ink);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}

/* article cards grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:.25s}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(102,59,72,.12)}
.card-media{display:block}
.card-body{padding:16px 18px 20px}
.chip{display:inline-block;background:var(--rose-soft);color:var(--berry);font-size:.68rem;text-transform:uppercase;
 letter-spacing:.1em;font-weight:600;padding:5px 11px;border-radius:999px;margin-bottom:10px}
.chip:hover{background:var(--rose);text-decoration:none}
.card h3{font-size:1.16rem;margin:.1em 0 .5em;line-height:1.28}
.card h3 a{color:var(--berry)}
.card-meta{color:var(--taupe);font-size:.8rem;margin:0}

/* premium breadcrumbs */
.crumbs{display:flex;align-items:center;flex-wrap:nowrap;gap:1px;padding-top:26px;font-size:.8rem;
 color:var(--taupe);overflow:hidden}
.crumbs a{display:inline-flex;align-items:center;flex:none;white-space:nowrap;position:relative;
 color:var(--taupe);padding:3px 3px;transition:color .2s var(--ease)}
.crumbs a:hover{color:var(--berry);text-decoration:none}
.crumbs a::after{content:"";position:absolute;left:3px;right:3px;bottom:1px;height:1px;background:var(--blush);
 border-radius:1px;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.crumbs a:hover::after{transform:scaleX(1)}
.crumb-home{gap:6px}
.crumb-home svg{width:14px;height:14px;flex:none;color:var(--blush-ink)}
.crumbs .sep{flex:none;width:18px;text-align:center;color:var(--taupe);opacity:.5}
.crumbs .sep::after{content:"\203A";font-size:1.05rem;line-height:1}
.crumbs .crumb-current{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
 color:var(--berry);font-weight:600;padding:3px 3px}
@media(max-width:440px){.crumb-home>span{display:none}}
/* premium pagination */
.pager{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:52px auto 4px}
.pg-nums{display:flex;align-items:center;gap:6px}
.pg-num{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 7px;
 border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--charcoal);font-weight:600;font-size:.9rem;
 box-shadow:var(--sh-xs);transition:transform .25s var(--ease),box-shadow .3s var(--ease),background .25s var(--ease),color .25s,border-color .25s}
a.pg-num:hover{border-color:var(--blush-ink);color:var(--berry);text-decoration:none;transform:translateY(-2px);box-shadow:var(--sh-md)}
.pg-num.is-current{background:var(--berry);border-color:var(--berry);color:var(--ivory);box-shadow:var(--sh-sm);cursor:default;transform:none}
.pg-gap{display:inline-flex;align-items:flex-end;justify-content:center;min-width:20px;color:var(--taupe);letter-spacing:.06em;user-select:none}
.pg-arrow{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 18px;border-radius:999px;
 border:1px solid var(--line);background:#fff;color:var(--berry);font-weight:600;font-size:.85rem;box-shadow:var(--sh-xs);
 transition:transform .25s var(--ease),box-shadow .3s var(--ease),background .25s var(--ease),border-color .25s}
a.pg-arrow:hover{border-color:var(--blush-ink);background:var(--rose-soft);color:var(--berry);text-decoration:none;
 transform:translateY(-2px);box-shadow:var(--sh-md)}
.pg-arrow.is-disabled{opacity:.36;pointer-events:none;box-shadow:none;color:var(--taupe)}
.pg-chev{width:16px;height:16px;flex:none}
.pg-label{text-align:center;color:var(--taupe);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
 font-weight:600;margin:16px 0 0}
@media(max-width:560px){
 .pager{gap:6px}
 .pg-arrow{padding:0;width:42px;justify-content:center}
 .pg-arrow span{display:none}
 .pg-num{min-width:38px;height:38px}
}

.hub-blurb{color:#5a4d50;font-size:1.06rem}
.topic-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}
.topic-chip{background:#fff;border:1px solid var(--line);padding:8px 16px;border-radius:999px;font-size:.85rem;color:var(--charcoal)}
.topic-chip:hover{background:var(--berry);color:var(--ivory);text-decoration:none;border-color:var(--berry)}
/* premium hub header */
.hub-hero{position:relative;overflow:hidden;text-align:center;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--tint,#fbeef1) 0,var(--ivory) 92%)}
.hub-motif{position:absolute;top:50%;right:-20px;transform:translateY(-50%);width:280px;height:280px;opacity:.08;fill:none;stroke:var(--accent,#D98F9D);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.hub-hero-inner{position:relative;z-index:1;max-width:780px;margin:0 auto;padding:58px 22px 48px}
.hub-eyebrow{color:var(--accent-ink,var(--blush-ink))}
.hub-hero h1{font-size:clamp(2.3rem,4.8vw,3.7rem);margin:.12em 0 .35em}
.hub-hero .hub-blurb{color:#5a4d50;font-size:1.08rem;line-height:1.6;max-width:56ch;margin:0 auto}
.hub-hero .topic-chips{margin-top:24px}
.hub-hero .topic-chip{background:rgba(255,255,255,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.hub-hero .topic-chip:hover{background:var(--accent,var(--berry));border-color:var(--accent,var(--berry));color:#fff}
@media(max-width:640px){.hub-motif{width:190px;right:-45px;opacity:.06}.hub-hero-inner{padding:44px 22px 38px}}
/* on-page hub intro (real editorial content under the banner) */
.hub-intro{padding-top:34px;padding-bottom:2px}
.hub-intro p{max-width:66ch;margin:0 auto;color:#4a3f42;font-size:1.12rem;line-height:1.72;text-align:center;text-wrap:pretty}
@media(max-width:640px){.hub-intro{padding-top:26px}.hub-intro p{font-size:1.05rem;text-align:left}}

/* post */
.post-head{max-width:820px;text-align:center;padding-top:14px}
.post-head h1{margin:.1em 0 .25em;text-wrap:balance}
.dek{font-size:1.24rem;color:#5a4d50;font-style:italic;font-family:var(--serif);line-height:1.5;text-wrap:balance}
.post-meta{color:var(--taupe);font-size:.86rem;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px}
.post-hero{max-width:620px;margin-top:26px;position:relative}
.hero-fig{border-radius:18px}
.save-pin{position:absolute;top:14px;right:14px;z-index:3;display:inline-flex;align-items:center;gap:7px;
 background:rgba(255,255,255,.92);color:#e60023;font-size:.82rem;font-weight:700;padding:9px 16px 9px 13px;
 border-radius:999px;letter-spacing:.02em;border:1px solid rgba(255,255,255,.65);box-shadow:0 6px 18px rgba(102,59,72,.22)}
@supports (backdrop-filter:blur(4px)) or (-webkit-backdrop-filter:blur(4px)){
 .save-pin{background:rgba(255,255,255,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}}
.save-pin .save-pin-ico{display:inline-flex;width:16px;height:16px;flex:none}
.save-pin .save-pin-ico svg{width:100%;height:100%}
.save-pin:hover{background:#e60023;color:#fff;text-decoration:none;transform:translateY(-2px);
 box-shadow:0 12px 28px rgba(230,0,35,.42)}

/* article body */
.article-body{max-width:760px;margin-top:20px;font-size:1.15rem;line-height:1.78;hanging-punctuation:first}
.article-body h2{margin:1.7em 0 .55em;text-wrap:balance}
.article-body h3{margin:1.5em 0 .4em;text-wrap:balance}
.article-body p{color:#3f3538;text-wrap:pretty;margin:0 0 1.25em}
.article-body strong,.article-body b{color:var(--charcoal);font-weight:600}
.article-body em,.article-body i{color:#4a3f42}
.article-body ul,.article-body ol{padding-left:1.35em;margin:0 0 1.3em}
.article-body li{margin-bottom:.55em;padding-left:4px}
.article-body ul>li::marker{color:var(--blush-ink)}
.article-body ol>li::marker{color:var(--berry);font-weight:700}
.article-body .fig{margin:0 0 1.1em}
/* section-heading accent for the "naked" section headers (Pro Tips, FAQ, etc.) */
.article-body>section:not(.idea):not(.box)>h2::before{content:"";display:block;width:34px;height:2px;
 border-radius:2px;background:var(--blush);margin:0 0 16px}
.intro p{font-size:1.2rem;color:#4a3f42;line-height:1.72}
.intro>p:first-of-type{font-size:1.24rem;color:#463b3e}
.idea{margin:2.2em 0;padding-top:1.2em;border-top:1px solid var(--line)}
.idea-h{display:flex;align-items:center;gap:14px;margin:0 0 .7em}
.idea-num{background:var(--berry);color:var(--ivory);font-family:var(--sans);font-weight:700;font-size:.95rem;
 min-width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.idea .fig{margin-top:.4em;max-width:460px}
.box{border-radius:16px;padding:22px 26px;margin:1.6em 0}
.box h2{margin:0 0 .5em;font-size:1.5rem}
.box-quick{background:var(--rose-soft);border:1px solid var(--rose)}
.box-quick ul{margin:0;padding-left:1.1em}
.box-toc{background:#fff;border:1px solid var(--line)}
.box-toc ol{columns:2;column-gap:34px;margin:0;padding-left:1.2em}
.box-how{background:#f4f6f2;border:1px solid #e2e8dc}
.faq{margin-top:2em}
.faq h3{margin:1.5em 0 .35em;font-size:1.2rem;color:var(--berry);border-top:1px solid var(--line);padding-top:1.4em}
.faq h3:first-of-type{border-top:none;padding-top:0}
blockquote{position:relative;border-left:none;margin:1.9em 0;padding:6px 6px 6px 46px;font-family:var(--serif);
 font-style:italic;font-size:1.34rem;line-height:1.5;color:var(--berry)}
blockquote::before{content:"\201C";position:absolute;left:0;top:.02em;font-family:var(--serif);font-size:3.1rem;
 line-height:1;color:var(--rose)}
hr{border:none;border-top:1px solid var(--line);margin:2em 0}
/* premium tables */
.table-wrap{overflow-x:auto;margin:1.8em 0;border:1px solid var(--line);border-radius:14px;
 box-shadow:var(--sh-sm);background:#fff;-webkit-overflow-scrolling:touch}
.article-body table{border-collapse:separate;border-spacing:0;width:100%;font-size:.97rem;line-height:1.55}
.article-body thead th{background:linear-gradient(180deg,var(--rose-soft) 0,#f7e4e8 100%);font-family:var(--sans);
 color:var(--berry);font-weight:600;text-align:left;letter-spacing:.01em;padding:13px 16px;
 border-bottom:1px solid var(--rose);vertical-align:bottom}
.article-body td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);color:#3f3538}
.article-body tbody tr:last-child td{border-bottom:none}
.article-body tbody tr:nth-child(even){background:#fdf6f7}
.article-body tbody tr:hover{background:var(--rose-soft)}
.article-body tbody td:first-child{color:var(--berry);font-weight:600}

/* author + related */
.post-foot{max-width:1000px}
/* premium author box */
.author-box{position:relative;overflow:hidden;display:flex;gap:26px;align-items:flex-start;
 background:linear-gradient(160deg,#fff 0,var(--rose-soft) 100%);border:1px solid var(--rose);
 border-radius:20px;padding:28px 30px;margin:2.6em 0;box-shadow:0 20px 46px -28px rgba(102,59,72,.32)}
.author-box::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
 background:linear-gradient(90deg,transparent,var(--blush),var(--rose),var(--blush),transparent);opacity:.7}
.author-bloom{position:absolute;right:-40px;top:-40px;width:158px;height:158px;opacity:.08;transform:rotate(12deg);pointer-events:none}
.author-box-photo{flex:none;position:relative;z-index:1}
.author-avatar{position:relative;overflow:hidden;background:var(--berry);color:var(--ivory);border-radius:50%;
 width:64px;height:64px;flex:none;display:inline-flex;align-items:center;justify-content:center;
 font-family:var(--serif);font-size:1.3rem;vertical-align:middle}
.author-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.author-avatar .avatar-initials{position:relative;z-index:1}
.author-avatar.mini{width:30px;height:30px;font-size:.72rem}
.author-avatar.lg{width:120px;height:120px;font-size:2.4rem}
.author-avatar.xl{width:184px;height:184px;font-size:3.4rem;border:4px solid #fff;box-shadow:0 14px 34px rgba(102,59,72,.18)}
.author-box .author-avatar{width:94px;height:94px;font-size:1.95rem;border:4px solid #fff;box-shadow:0 12px 28px rgba(102,59,72,.22)}
.author-meta{position:relative;z-index:1;min-width:0}
.author-box .eyebrow{color:var(--blush-ink);margin-bottom:.3rem}
.author-box h3{margin:.05em 0;font-size:1.5rem}
.author-box h3 a{color:var(--berry)}
.author-role{color:var(--blush-ink);font-weight:600;font-size:.82rem;margin:.15em 0 .7em;text-transform:uppercase;letter-spacing:.08em}
.author-bio-text{margin:0;color:#4a3f42;font-size:1rem;line-height:1.65;max-width:60ch}
.author-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:18px}
.author-social{display:inline-flex;align-items:center;gap:8px;color:var(--berry);font-weight:600;font-size:.9rem}
.author-social:hover{color:var(--blush-ink);text-decoration:none}
.author-social-ico{display:inline-flex;width:19px;height:19px;color:#e60023;flex:none}
.author-social-ico svg{width:100%;height:100%}
@media(max-width:640px){.author-box{gap:16px}.author-actions{justify-content:center}
 .author-bio-text{margin-left:auto;margin-right:auto}}
/* premium related reads */
.related{margin-top:3.2em}
.related-divider{display:flex;align-items:center;justify-content:center;gap:20px;margin:0 0 32px}
.related-divider span{height:1px;flex:1;max-width:130px;background:linear-gradient(90deg,transparent,var(--line))}
.related-divider span:last-child{background:linear-gradient(90deg,var(--line),transparent)}
.related-divider .brand-mark{width:26px;height:26px;flex:none}
.related-head{text-align:center;margin-bottom:30px}
.related-head .eyebrow{color:var(--blush-ink);margin-bottom:.35rem}
.related-head h2{margin:.1em 0 .3em}
.related-sub{color:#6b5b5e;font-size:1.02rem;line-height:1.55;max-width:52ch;margin:0 auto}
.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.related-more{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin-top:36px}
.related-more-link{font-weight:600;color:var(--berry);font-size:.92rem}
.related-more-link:hover{color:var(--blush-ink);text-decoration:none}
@media(max-width:900px){.related-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.related-grid{grid-template-columns:1fr}}
/* article 2-column layout + sidebar */
.post-layout{display:grid;grid-template-columns:minmax(0,720px) 320px;gap:48px;justify-content:center;align-items:start;padding-top:16px}
.post-layout .article-body{max-width:none;margin-top:0}
.post-main{min-width:0}
.post-sidebar{display:flex;flex-direction:column;gap:22px}
.side-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.side-h{font-family:var(--serif);color:var(--berry);font-size:1.12rem;margin:0 0 14px}
.side-author{text-align:center}
.side-author .author-avatar{margin:0 auto 12px}
.side-author h4{font-family:var(--serif);color:var(--berry);font-size:1.4rem;margin:.15em 0}
.side-role{color:var(--blush-ink);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;margin:0 0 .7em}
.side-bio{color:#5a4d50;font-size:.9rem;margin:0 0 1em;line-height:1.6}
.side-link{font-weight:600;color:var(--blush-ink)}
.side-post{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}
.side-card .side-post:first-of-type{border-top:none;padding-top:2px}
.side-post:hover{text-decoration:none}
.side-thumb{position:relative;width:60px;height:60px;flex:none;border-radius:10px;overflow:hidden;background:var(--rose-soft)}
.side-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.side-thumb .fig-ph{position:absolute;inset:0;z-index:1}
.side-thumb .fig-cap,.side-thumb .brand-mark{display:none}
.side-post-t{font-size:.86rem;color:var(--charcoal);line-height:1.32;font-weight:600}
.side-post:hover .side-post-t{color:var(--berry)}
.side-cats{list-style:none;margin:0;padding:0}
.side-cats li{border-top:1px solid var(--line)}
.side-cats li:first-child{border-top:none}
.side-cats a{display:block;padding:10px 0;color:var(--charcoal);font-size:.92rem}
.side-cats a:hover{color:var(--blush-ink);text-decoration:none}
.side-news{position:relative;overflow:hidden;background:linear-gradient(165deg,#fff 0,var(--rose-soft) 100%);border-color:var(--rose)}
.side-news .news-bloom{width:118px;height:118px;right:-30px;top:-30px;opacity:.13;transform:rotate(10deg);pointer-events:none}
.side-news .side-h,.side-news>p,.side-form,.side-done{position:relative;z-index:1}
.side-news>p{font-size:.88rem;color:#5a3f46;margin:0 0 12px}
.side-form{display:flex;flex-direction:column;gap:8px}
.side-form input{padding:11px 15px;border:1px solid var(--rose);border-radius:999px;font-family:inherit;font-size:.9rem;background:#fff;outline:none;transition:border-color .25s,box-shadow .25s}
.side-form input:focus{border-color:var(--blush-ink);box-shadow:0 4px 14px rgba(217,143,157,.22)}
.side-form .btn{align-self:stretch;text-align:center}
.side-done{margin:4px 0 0;color:var(--berry);font-family:var(--serif);font-size:1rem}
.side-pin{display:block;background:var(--berry);color:var(--ivory);text-align:center;padding:20px}
.side-pin .side-h{color:var(--ivory);margin:0 0 5px}
.side-pin:hover{text-decoration:none;background:#54303b}
.side-pin-sub{font-size:.82rem;color:#e9d6da}
.side-ad{text-align:center}
.side-ad .ad-label{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:var(--taupe);margin-bottom:8px}
.side-toc{position:sticky;top:180px;max-height:calc(100vh - 200px);overflow-y:auto;z-index:3}
.toc-list{list-style:none;margin:0;padding:0;counter-reset:toc}
.toc-list li{counter-increment:toc}
.toc-list a{display:flex;gap:9px;padding:8px 0;color:var(--charcoal);font-size:.85rem;line-height:1.35;border-top:1px solid var(--line)}
.toc-list li:first-child a{border-top:none;padding-top:0}
.toc-list a::before{content:counter(toc);color:var(--blush-ink);font-weight:700;font-size:.76rem;min-width:16px;font-family:var(--sans)}
.toc-list a:hover{color:var(--berry);text-decoration:none}
.toc-list a.active{color:var(--berry);font-weight:700;box-shadow:inset 3px 0 0 var(--blush);padding-left:9px;margin-left:-9px}
.toc-list a.active::before{color:var(--berry)}
.article-body [id]{scroll-margin-top:178px}
@media(min-width:901px){.article-body .box-toc{display:none}}
@media(max-width:900px){.post-layout{grid-template-columns:1fr;gap:36px;justify-content:stretch}
 .side-toc{display:none}}

/* premium newsletter */
.news-band{position:relative;margin-top:64px;padding:10px 0 6px;
 background:radial-gradient(120% 100% at 50% 0,#fdeef1 0,var(--ivory) 74%)}
.news-card{position:relative;overflow:hidden;text-align:center;max-width:760px;margin:0 auto;
 padding:54px 44px 44px;border:1px solid var(--rose);border-radius:26px;
 background:linear-gradient(168deg,#fff 0,#fdf1f3 100%);box-shadow:0 30px 64px -30px rgba(102,59,72,.34)}
.news-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
 background:linear-gradient(90deg,transparent,var(--blush),var(--rose),var(--blush),transparent);opacity:.7}
.news-bloom{position:absolute;width:196px;height:196px;right:-48px;top:-48px;opacity:.1;transform:rotate(12deg);pointer-events:none}
.news-body{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center}
.news-eyebrow{color:var(--blush-ink)}
.news-card h2{color:var(--berry);margin:.5em 0 .3em;font-size:clamp(1.7rem,3vw,2.2rem)}
.news-lead{margin:0 auto 26px;color:#5a4d50;max-width:52ch;line-height:1.6}
.news-form{width:100%;max-width:480px}
.news-field{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--rose);
 border-radius:999px;padding:5px 6px 5px 18px;box-shadow:var(--sh-sm);transition:box-shadow .3s var(--ease),border-color .3s}
.news-field:focus-within{border-color:var(--blush-ink);box-shadow:0 10px 28px rgba(217,143,157,.28)}
.news-field-ico{display:flex;flex:none}
.news-field-ico svg{width:19px;height:19px;color:var(--taupe)}
.news-field input{flex:1;min-width:0;border:none;background:none;outline:none;font-family:inherit;
 font-size:1rem;padding:12px 4px;color:var(--charcoal)}
.news-field input::placeholder{color:var(--taupe)}
.news-field .btn{flex:none}
.news-assure{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:22px 0 0;padding:0}
.news-assure li{display:flex;align-items:center;gap:6px;font-size:.82rem;color:#7a6a6d}
.news-assure .mini-check{width:14px;height:14px;color:var(--sage);flex:none}
.news-done{margin:6px 0 0;color:var(--berry);font-family:var(--serif);font-size:1.16rem;line-height:1.5;max-width:44ch}
@media(max-width:560px){.news-card{padding:40px 22px 34px}
 .news-field{flex-wrap:wrap;border-radius:22px;padding:12px 14px;gap:10px}
 .news-field-ico{display:none}
 .news-field input{width:100%;text-align:center;padding:8px 4px}.news-field .btn{width:100%;text-align:center}}

/* premium trust pages */
.legal-layout{display:grid;grid-template-columns:minmax(0,700px) 300px;gap:52px;justify-content:center;align-items:start;padding-top:44px;padding-bottom:8px}
.legal-main{max-width:none}
.legal-main>p:first-of-type{font-size:1.16rem;color:#463b3e;line-height:1.75}
.legal-main h2{font-size:1.5rem;margin:1.7em 0 .5em;color:var(--berry)}
.legal-main p{color:#3f3538;line-height:1.8;margin:0 0 1.1em}
.legal-main ul{padding-left:0;list-style:none;margin:0 0 1.2em}
.legal-main ul li{position:relative;padding-left:26px;margin-bottom:.7em;color:#3f3538;line-height:1.7}
.legal-main ul li::before{content:"";position:absolute;left:5px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--blush)}
.legal-main a{color:var(--berry);text-decoration:underline;text-decoration-color:rgba(217,143,157,.55);text-underline-offset:2px;transition:text-decoration-color .2s}
.legal-main a:hover{text-decoration-color:var(--blush-ink)}
.legal-aside{display:flex;flex-direction:column;gap:20px}
.side-info li.on a{color:var(--berry);font-weight:700}
@media(max-width:900px){.legal-layout{grid-template-columns:1fr;gap:34px}}
.author-page .author-hero{display:flex;gap:30px;align-items:flex-start;padding-top:20px}
.author-note{font-size:.9rem;color:#6b5b5e;background:var(--rose-soft);padding:14px 18px;border-radius:12px}
.contact-form{display:flex;flex-direction:column;gap:6px;max-width:520px}
.contact-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.9rem;color:var(--berry)}
.contact-form input,.contact-form textarea{padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:1rem}
.contact-form .btn{align-self:flex-start;margin-top:8px}
.form-note{font-size:.82rem;color:var(--taupe);font-weight:400}
/* premium search + 404 */
.search-wrap,.notfound-wrap{max-width:640px;margin:0 auto;padding-top:40px;text-align:center}
.search-box{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:999px;
 padding:5px 8px 5px 22px;box-shadow:var(--sh-sm);max-width:560px;margin:0 auto;transition:box-shadow .3s var(--ease),border-color .3s}
.search-box:focus-within{border-color:var(--blush-ink);box-shadow:0 8px 26px rgba(217,143,157,.22)}
.search-box .search-ico{width:20px;height:20px;color:var(--taupe);flex:none}
.search-box input{flex:1;min-width:0;border:none;background:none;font-family:inherit;font-size:1.05rem;padding:13px 8px 13px 0;outline:none;color:var(--charcoal)}
.search-box input::placeholder{color:var(--taupe)}
.search-suggest{margin-top:28px;display:flex;flex-direction:column;align-items:center;gap:12px}
.search-suggest .pop-pills{justify-content:center}
.search-results{margin-top:38px;text-align:left}
.search-results:empty{display:none}
.search-results .no-match{grid-column:1/-1;text-align:center;color:#6b5b5e}
.nf-search{display:flex;gap:10px;align-items:center;max-width:560px;margin:0 auto;justify-content:center}
.nf-search .search-box{flex:1;margin:0;max-width:none}
.nf-search .btn{flex:none}
.nf-explore-label{margin:38px 0 16px;color:var(--taupe);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:600}
.notfound-wrap .topic-chips{justify-content:center}
.nf-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:36px}
@media(max-width:560px){.nf-search{flex-direction:column}.nf-search .search-box,.nf-search .btn{width:100%}.nf-search .btn{text-align:center}}

/* home personality */
.hero-by{display:flex;align-items:center;gap:10px;margin-top:26px;color:var(--taupe);font-size:.9rem}
.hero-by a{color:var(--berry);font-weight:600}
.trust{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:30px 22px}
.trust-cell{display:flex;flex-direction:column;gap:5px}
.trust-t{font-family:var(--serif);color:var(--berry);font-size:1.12rem}
.trust-d{color:#6b5b5e;font-size:.9rem;line-height:1.5}
.editor-note{background:linear-gradient(180deg,#fff,var(--ivory))}
.editor-note-inner{display:flex;align-items:center;gap:32px;max-width:980px;padding:50px 22px}
.note-body{flex:1}
.note-lead{font-family:var(--serif);font-size:clamp(1.35rem,2.5vw,1.85rem);line-height:1.4;color:var(--berry);margin:.1em 0 .45em}
.note-sign{color:var(--blush-ink);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;margin:0}
.meet{background:var(--rose-soft);border-top:1px solid var(--rose);border-bottom:1px solid var(--rose)}
.meet-inner{display:grid;grid-template-columns:auto 1fr;gap:44px;align-items:center;padding:56px 22px}
.meet-photo{display:flex;justify-content:center}
.meet-body h2{margin:.1em 0}
.meet-role{color:var(--blush-ink);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.86rem;margin:.1em 0 1em}
.meet-body p{color:#463b3e;margin:0 0 1em;max-width:62ch}
.meet-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.picks-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:26px;align-items:start}
.feat-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.feat-media{display:block}
.feat-body{padding:22px 24px 26px}
.feat-body h3{font-size:1.7rem;margin:.15em 0 .35em;line-height:1.22}
.feat-body h3 a{color:var(--berry)}
.feat-ex{color:#5a4d50;font-size:1rem;margin:0 0 .8em}
.feat-link{font-weight:600;color:var(--blush-ink)}
.picks-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.see-all{text-align:center;margin-top:32px}
/* landing polish */
.hero-stats{display:flex;align-items:center;gap:12px;margin-top:22px;color:#6b5b5e;font-size:.92rem;flex-wrap:wrap}
.hero-stats b{font-family:var(--serif);color:var(--berry);font-size:1.2rem;margin-right:5px}
.hero-stats .dot{color:var(--taupe)}
.hero-collage{position:relative}
.hero-blob{position:absolute;z-index:0;width:84%;height:84%;left:8%;top:8%;border-radius:46% 54% 52% 48%;
 background:radial-gradient(circle at 50% 45%,#f3d4db 0,rgba(243,212,219,0) 68%)}
.hero-collage .collage-cell{position:relative;z-index:1;box-shadow:0 16px 40px rgba(102,59,72,.13)}
.poptopics{display:flex;align-items:center;gap:16px;padding-top:26px;padding-bottom:2px;flex-wrap:wrap}
.pop-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;font-weight:600;color:var(--blush-ink);white-space:nowrap}
.pop-pills{display:flex;gap:9px;flex-wrap:wrap}
.topic-pill{background:#fff;border:1px solid var(--line);padding:7px 15px;border-radius:999px;font-size:.85rem;color:var(--charcoal);transition:.2s}
.topic-pill:hover{background:var(--berry);color:var(--ivory);border-color:var(--berry);text-decoration:none;transform:translateY(-2px)}
.sec-head::before{content:"";display:block;width:38px;height:2px;background:var(--blush);border-radius:2px;margin:0 auto 16px}
.cat-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.cat-count{font-size:.72rem;color:var(--taupe);font-weight:600;white-space:nowrap}
.feat-media{position:relative}
.pick-badge{position:absolute;z-index:3;top:14px;left:14px;background:var(--berry);color:var(--ivory);font-size:.72rem;
 font-weight:600;letter-spacing:.03em;padding:6px 13px;border-radius:999px;box-shadow:0 6px 16px rgba(102,59,72,.22)}
.card-media,.cat-media,.feat-media{overflow:hidden}
.card-media img,.cat-media img,.feat-media img{transition:transform .55s ease}
.card:hover .card-media img,.cat-card:hover .cat-media img,.feat-card:hover .feat-media img{transform:scale(1.06)}
.feat-card{transition:box-shadow .25s}
.feat-card:hover{box-shadow:0 22px 50px rgba(102,59,72,.14)}
/* v2: bolder hero + category accents + section bands + cookie */
.hero h1{font-size:clamp(2.6rem,5vw,4rem)}
.hero-blob{width:92%;height:92%;left:4%;top:4%}
.hero-collage .collage-cell:nth-child(1),.hero-collage .collage-cell:nth-child(4){transform:none}
.hero-collage .collage-cell:nth-child(even){transform:translateY(38px)}
.hero-collage .collage-cell{box-shadow:0 20px 46px rgba(102,59,72,.16)}
.cat-card{border-top:4px solid var(--accent,#D98F9D)}
.cat-card .cat-count{color:var(--accent-ink,#7c6b69)}
.cat-card .cat-more{color:var(--accent-ink,#a8506a)}
.band-tint{background:#fffaf7;box-shadow:0 0 0 100vw #fffaf7;clip-path:inset(0 -100vw);
 border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
/* premium cookie banner */
#cookie-banner[hidden]{display:none}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:18px;z-index:80;max-width:760px;margin:0 auto;overflow:hidden;
 background:linear-gradient(150deg,#663B48 0,#4d2c36 100%);color:var(--ivory);border-radius:18px;padding:17px 22px;
 display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;
 border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 56px rgba(48,42,44,.42);animation:cookie-in .5s var(--ease) both}
.cookie-banner::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
 background:linear-gradient(90deg,transparent,var(--blush),var(--rose),var(--blush),transparent);opacity:.7}
@keyframes cookie-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.cookie-body{display:flex;align-items:center;gap:15px;min-width:0;flex:1}
.cookie-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;
 border-radius:50%;background:rgba(232,184,192,.16);color:var(--rose)}
.cookie-ico svg{width:23px;height:23px}
.cookie-text{min-width:0}
.cookie-title{display:block;font-family:var(--serif);font-size:1.1rem;color:#fff;line-height:1.2;margin-bottom:3px}
.cookie-banner p{margin:0;font-size:.86rem;color:#e4cdd2;line-height:1.5;max-width:52ch}
.cookie-banner a{color:#fff;text-decoration:underline;text-underline-offset:2px;position:relative;z-index:1}
.cookie-actions{display:flex;gap:10px;flex-shrink:0;align-items:center}
.btn-sm{padding:9px 20px;font-size:.85rem}
.cookie-accept{background:var(--ivory);color:var(--berry);border-color:var(--ivory);box-shadow:var(--sh-sm)}
.cookie-accept:hover{background:var(--rose);border-color:var(--rose);color:var(--berry)}
.cookie-decline{background:transparent;color:#f0e0e3;border-color:rgba(255,255,255,.32)}
.cookie-decline:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.55);color:#fff}
@media(max-width:640px){.cookie-banner{flex-direction:column;align-items:stretch;gap:14px;padding:18px 20px}
 .cookie-actions{width:100%}.cookie-actions>.btn{flex:1}
 .hero-collage .collage-cell:nth-child(even){transform:none}}
/* author page */
.author-photo{flex:none}
.author-lead{font-family:var(--serif);font-size:clamp(1.2rem,2.3vw,1.6rem);line-height:1.42;color:#463b3e}
.author-hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.author-body{max-width:780px;margin:12px auto 0}
.author-body h2{margin:1.3em 0 .4em}
.author-body ul{padding-left:1.2em;color:#3f3538}
.author-body li{margin-bottom:.5em}
.author-sign{font-family:var(--serif);font-size:1.15rem;color:var(--berry);margin-top:1.2em}

/* footer */
.site-foot{position:relative;overflow:hidden;background:linear-gradient(180deg,#663B48 0,#4d2c36 100%);color:var(--ivory);margin-top:64px}
.site-foot::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--blush),var(--rose),var(--blush),transparent);opacity:.55}
.foot-bloom{position:absolute;right:-46px;bottom:-46px;width:300px;height:300px;opacity:.05;pointer-events:none;z-index:0}
.foot-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:40px;padding:64px 22px 40px}
.foot-brand{max-width:350px}
.foot-brandrow .brand-mark{width:32px;height:32px;filter:brightness(1.4)}
.site-foot .brand-name{color:var(--ivory);font-size:1.85rem}
.foot-tag{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;color:#d6bcc3;margin:2px 0 16px}
.site-foot p{color:#e4cdd2;font-size:.92rem;line-height:1.65;margin:0}
.foot-social{display:flex;gap:12px;margin-top:22px}
.foot-ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.09);color:var(--ivory);border:1px solid rgba(255,255,255,.14);transition:all .28s var(--ease)}
.foot-ico svg{width:19px;height:19px}
.foot-ico:hover{background:var(--ivory);color:var(--berry);border-color:var(--ivory);transform:translateY(-3px);text-decoration:none;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.foot-col h4{color:var(--ivory);font-family:var(--sans);text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:700;margin:0 0 18px;padding-bottom:12px;position:relative}
.foot-col h4::after{content:"";position:absolute;left:0;bottom:0;width:24px;height:2px;background:var(--blush);border-radius:2px}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li{margin-bottom:11px}
.foot-col a{color:#e0c7cd;font-size:.92rem;display:inline-block;transition:color .2s var(--ease),transform .2s var(--ease)}
.foot-col a:hover{color:#fff;text-decoration:none;transform:translateX(4px)}
.foot-bottom{position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.13);padding:20px 22px;color:#c9b0b6;font-size:.8rem;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot-top{color:#e0c7cd;font-weight:600}
.foot-top:hover{color:#fff;text-decoration:none}

@media(max-width:900px){
 .hero-inner{grid-template-columns:1fr;gap:30px}
 .hero-collage{max-width:420px}
 .cat-grid,.grid{grid-template-columns:repeat(2,1fr)}
 .foot-grid{grid-template-columns:1fr 1fr}
 .foot-brand{grid-column:1/-1;max-width:none}
 .box-toc ol{columns:1}
 .trust-inner{grid-template-columns:1fr 1fr;gap:20px}
 .picks-layout{grid-template-columns:1fr}
 .meet-inner{grid-template-columns:1fr;text-align:center;gap:24px}
 .meet-body p{margin-left:auto;margin-right:auto}
 .meet-cta{justify-content:center}
}
@media(max-width:640px){
 body{font-size:16.5px}
 .menu-btn{display:flex}
 .pin-link{display:none}
 body.nav-open{overflow:hidden}
 .main-nav{position:fixed;top:0;left:-108%;bottom:0;width:84%;max-width:342px;border-top:none;
  background:linear-gradient(178deg,#fff 0,var(--ivory) 100%);box-shadow:26px 0 60px -22px rgba(102,59,72,.42);
  border-right:1px solid var(--line);transition:left .36s var(--ease);z-index:60;overflow-y:auto;
  overscroll-behavior:contain;display:flex;flex-direction:column}
 body.nav-open .main-nav{left:0}
 body.nav-open .nav-scrim{opacity:1;visibility:visible}
 .nav-head{display:flex;align-items:center;flex-wrap:wrap;gap:0 12px;padding:22px 20px 18px;position:relative;
  border-bottom:1px solid var(--line);background:radial-gradient(130% 150% at 0 0,var(--rose-soft) 0,transparent 60%)}
 .nav-head .brand-mark{width:30px;height:30px;flex:none}
 .nav-head-name{font-family:var(--serif);color:var(--berry);font-size:1.55rem;line-height:1}
 .nav-head-tag{flex-basis:100%;font-size:.62rem;text-transform:uppercase;letter-spacing:.18em;color:var(--taupe);margin-top:5px}
 .nav-close{display:flex;align-items:center;justify-content:center;position:absolute;top:15px;right:13px;
  width:38px;height:38px;border:none;background:none;color:var(--berry);cursor:pointer;border-radius:50%;transition:background .2s var(--ease)}
 .nav-close:hover{background:#fff}
 .nav-close svg{width:20px;height:20px}
 .main-nav>.wrap{padding:0;flex:1 0 auto;max-width:none}
 .main-nav ul{flex-direction:column;justify-content:flex-start;gap:0;padding:6px 0}
 .main-nav li{border-bottom:1px solid var(--line)}
 .main-nav li:last-child{border-bottom:none}
 .main-nav a{display:flex;align-items:center;gap:14px;padding:16px 22px;font-size:.82rem;color:var(--charcoal);position:relative}
 .main-nav a::before{content:"";width:9px;height:9px;border-radius:50%;flex:none;
  background:var(--nav-accent,var(--blush));transition:transform .2s var(--ease)}
 .main-nav a::after{content:"›";margin-left:auto;font-size:1.3rem;line-height:1;color:var(--taupe);font-weight:400;
  transition:transform .2s var(--ease),color .2s var(--ease)}
 .main-nav a:hover,.main-nav a.active{color:var(--berry);background:var(--rose-soft);text-decoration:none}
 .main-nav a:hover::after,.main-nav a.active::after{color:var(--nav-accent,var(--blush));transform:translateX(3px)}
 .main-nav a.active{box-shadow:inset 4px 0 0 var(--nav-accent,var(--blush))}
 .main-nav a.active::before{transform:scale(1.18)}
 .nav-foot{display:flex;flex-direction:column;gap:2px;padding:14px 12px 24px;border-top:1px solid var(--line);margin-top:auto}
 .nav-foot-link{display:flex;align-items:center;gap:13px;padding:12px;border-radius:12px;color:var(--charcoal);font-size:.9rem;font-weight:600}
 .nav-foot-link:hover{background:var(--rose-soft);color:var(--berry);text-decoration:none}
 .nav-foot-ico{display:flex;flex:none;color:var(--blush-ink)}
 .nav-foot-ico svg{width:18px;height:18px}
 @keyframes nav-in{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
 body.nav-open .main-nav li{animation:nav-in .42s var(--ease) both}
 body.nav-open .main-nav li:nth-child(1){animation-delay:.05s}
 body.nav-open .main-nav li:nth-child(2){animation-delay:.09s}
 body.nav-open .main-nav li:nth-child(3){animation-delay:.13s}
 body.nav-open .main-nav li:nth-child(4){animation-delay:.17s}
 body.nav-open .main-nav li:nth-child(5){animation-delay:.21s}
 body.nav-open .main-nav li:nth-child(6){animation-delay:.25s}
 body.nav-open .main-nav li:nth-child(7){animation-delay:.29s}
 .cat-grid,.grid{grid-template-columns:1fr}
 .foot-grid{grid-template-columns:1fr;gap:26px}
 .foot-bottom{flex-direction:column;align-items:flex-start;text-align:left}
 .author-page .author-hero{flex-direction:column;align-items:center;text-align:center}
 .author-box{flex-direction:column;align-items:center;text-align:center}
 .trust-inner{grid-template-columns:1fr}
 .picks-grid{grid-template-columns:1fr}
 .editor-note-inner{flex-direction:column;text-align:center;gap:18px}
 .author-hero-cta{justify-content:center}
}
/* ===== premium polish pass ===== */
:root{--ease:cubic-bezier(.22,.61,.36,1);--sh-xs:0 1px 3px rgba(102,59,72,.05);--sh-sm:0 4px 14px rgba(102,59,72,.07);--sh-md:0 10px 30px rgba(102,59,72,.10);--sh-lg:0 22px 54px rgba(102,59,72,.14)}
html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{font-feature-settings:"kern" 1,"liga" 1,"calt" 1}
h1,h2,h3,h4{letter-spacing:-.012em;font-feature-settings:"kern" 1,"liga" 1,"dlig" 1}
::selection{background:var(--rose);color:var(--berry)}
*{scrollbar-width:thin;scrollbar-color:#d8c4c0 transparent}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#dcc9c5;border-radius:20px;border:3px solid var(--ivory)}
::-webkit-scrollbar-thumb:hover{background:var(--taupe)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--berry);outline-offset:3px;border-radius:5px}
:focus:not(:focus-visible){outline:none}
.btn{transition:transform .3s var(--ease),background .25s var(--ease),box-shadow .3s var(--ease);box-shadow:var(--sh-xs)}
.btn:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}
.btn:active{transform:translateY(0);box-shadow:var(--sh-xs)}
.btn-outline,.btn-light{box-shadow:none}
.card,.cat-card,.feat-card,.side-card{box-shadow:var(--sh-sm);transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s}
.card:hover,.cat-card:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);border-color:#ecdcd8}
.feat-card:hover{box-shadow:var(--sh-lg)}
.hero-fig,.hero-collage .collage-cell,.feat-media{box-shadow:var(--sh-lg)}
.chip,.topic-pill,.topic-chip,.save-pin,.pick-badge{transition:all .25s var(--ease)}
.site-head{transition:box-shadow .3s var(--ease)}
.site-head.scrolled{box-shadow:0 6px 22px rgba(102,59,72,.06)}
.article-body p a,.article-body li a{background-image:linear-gradient(var(--blush),var(--blush));background-size:0 1.5px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s var(--ease);text-decoration:none}
.article-body p a:hover,.article-body li a:hover{background-size:100% 1.5px}
.intro>p:first-of-type::first-letter{float:left;font-family:var(--serif);color:var(--berry);font-size:3.7em;line-height:.66;padding:4px 12px 0 0;font-weight:400}
.reveal{opacity:0;transform:translateY(20px)}
.reveal.reveal-in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
@keyframes bl-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.hero-copy>*{animation:bl-rise .7s var(--ease) both}
.hero-copy>*:nth-child(2){animation-delay:.05s}.hero-copy>*:nth-child(3){animation-delay:.1s}.hero-copy>*:nth-child(4){animation-delay:.15s}.hero-copy>*:nth-child(5){animation-delay:.2s}.hero-copy>*:nth-child(6){animation-delay:.25s}
.hero-collage{animation:bl-rise .85s var(--ease) .08s both}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero-copy>*,.hero-collage{animation:none;opacity:1}}
/* scroll-to-top */
.to-top{position:fixed;right:18px;bottom:18px;z-index:70;display:inline-flex;align-items:center;justify-content:center;
 width:46px;height:46px;border:none;border-radius:50%;background:var(--berry);color:var(--ivory);cursor:pointer;
 box-shadow:var(--sh-md);opacity:0;transform:translateY(12px) scale(.92);pointer-events:none;
 transition:opacity .3s var(--ease),transform .3s var(--ease),background .2s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:#54303b}
.to-top:active{transform:translateY(1px)}
.to-top svg{width:22px;height:22px}
/* reading progress (article pages) */
.read-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:75;pointer-events:none;background:transparent}
.read-bar>span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;will-change:transform;
 background:linear-gradient(90deg,var(--blush),var(--berry))}
/* article share row */
.share-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:2.6em 0 .4em;padding-top:1.7em;border-top:1px solid var(--line)}
.share-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;font-weight:600;color:var(--taupe);margin-right:4px}
.share-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;min-width:40px;padding:0 13px;
 border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--berry);cursor:pointer;font-family:inherit;
 font-weight:600;font-size:.85rem;box-shadow:var(--sh-xs);
 transition:transform .2s var(--ease),box-shadow .3s var(--ease),background .2s,border-color .2s,color .2s}
.share-btn:hover{border-color:var(--blush);background:var(--rose-soft);color:var(--berry);text-decoration:none;transform:translateY(-2px);box-shadow:var(--sh-md)}
.share-btn svg{width:18px;height:18px;flex:none}
.share-copy.copied{background:var(--sage);border-color:var(--sage);color:#fff}
/* interactive tools */
.bl-tool{position:relative;overflow:hidden;background:linear-gradient(165deg,#fff 0,var(--rose-soft) 100%);
 border:1px solid var(--rose);border-radius:20px;padding:26px 28px;margin:2em 0 2.3em;box-shadow:0 18px 44px -28px rgba(102,59,72,.3)}
.bl-tool::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
 background:linear-gradient(90deg,transparent,var(--blush),var(--rose),var(--blush),transparent);opacity:.7}
.bl-tool-head h2{margin:.15em 0 .25em;font-size:1.5rem}
.bl-tool-head .eyebrow{color:var(--blush-ink)}
.bl-tool-head p{color:#5a4d50;margin:0 0 1.15em;font-size:.98rem;line-height:1.55}
.bl-tool-form{display:grid;gap:15px}
.bl-q{border:none;margin:0;padding:0;min-width:0}
.bl-q legend{font-family:var(--sans);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--berry);margin-bottom:9px;padding:0}
.bl-opt{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;
 padding:8px 15px;margin:0 8px 8px 0;cursor:pointer;font-size:.9rem;color:var(--charcoal);transition:border-color .2s,background .2s,color .2s}
.bl-opt input{accent-color:var(--berry);margin:0;flex:none}
.bl-opt:hover{border-color:var(--blush)}
.bl-opt:has(input:checked){background:var(--berry);border-color:var(--berry);color:#fff}
.bl-tool-go{margin-top:18px}
.bl-tool-chips{display:flex;flex-wrap:wrap;gap:10px}
.bl-tool-chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 18px;cursor:pointer;
 font-family:inherit;font-weight:600;font-size:.9rem;color:var(--berry);box-shadow:var(--sh-xs);transition:transform .2s var(--ease),border-color .2s,background .2s,color .2s}
.bl-tool-chip:hover{border-color:var(--blush);transform:translateY(-2px)}
.bl-tool-chip.on{background:var(--berry);border-color:var(--berry);color:#fff}
.bl-tool-result{margin-top:18px;background:#fff;border:1px solid var(--rose);border-radius:14px;padding:18px 20px;box-shadow:var(--sh-xs)}
.bl-tool-result .bl-tool-pick{font-family:var(--serif);color:var(--berry);font-size:1.2rem;margin:0 0 .45em;line-height:1.3}
.bl-tool-result p{margin:0 0 .6em;color:#3f3538;font-size:1rem;line-height:1.62}
.bl-tool-result .bl-tool-look{color:#5a4d50}
.bl-tool-result .bl-tool-fine{font-size:.86rem;color:var(--taupe);margin-bottom:0}
/* print */
@media print{
 .topbar,.site-head,.main-nav,.nav-scrim,.cookie-banner,.news-band,.post-sidebar,.related,.save-pin,.to-top,
 .read-bar,.author-box,.side-card,.crumbs,.hero-cta,.foot-social{display:none!important}
 body{background:#fff;color:#000;font-size:12pt}
 .post-layout{display:block}
 .article-body{max-width:none}
 a{color:#000;text-decoration:underline}
 .site-foot{background:#fff;color:#000;border-top:1px solid #ccc}
 img{max-width:340px}
}
