/* Shower and Bach — site styles. Palette and type are fixed by the owner; everything else lives here. */
@font-face{font-family:"Bricolage";src:url(/fonts/BricolageGrotesque-Display-ExtraBold.woff2?v=e74a5df290) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Bricolage";src:url(/fonts/BricolageGrotesque-Bold.woff2?v=0deb276b87) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(/fonts/BarlowCondensed-SemiBold.woff2?v=eb1232354f) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(/fonts/BarlowCondensed-Bold.woff2?v=4c169ba3e5) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/fonts/DMSans-Regular.woff2?v=8041fd54a1) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/fonts/DMSans-SemiBold.woff2?v=01b503ea38) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/fonts/DMSans-Bold.woff2?v=998c4e337f) format("woff2");font-weight:700;font-display:swap}

:root{
  --cream:#FDF5EC; --white:#FFFFFF; --blush:#FFE1EC; --ink:#1F2436; --pink:#FF93C9; --berry:#8E1F48;
  --muted:#5A5F73; --tangerine:#FF6A1A; --lavender:#E8D7FF;
  --berry-deep:#741739; --blush-deep:#FFD0E1; --pink-soft:#FFC2DF; --cream-deep:#F7E9DA; --ink-soft:#33384D;
  --line:rgba(31,36,54,.12); --line-strong:rgba(31,36,54,.22);
  --shadow-sm:0 1px 2px rgba(31,36,54,.06),0 2px 8px rgba(31,36,54,.06);
  --shadow:0 2px 6px rgba(31,36,54,.06),0 12px 32px -8px rgba(142,31,72,.16);
  --shadow-lg:0 4px 12px rgba(31,36,54,.08),0 30px 60px -20px rgba(142,31,72,.28);
  --r-sm:10px; --r:18px; --r-lg:28px;
  --f-display:"Bricolage",ui-sans-serif,system-ui,sans-serif;
  --f-label:"Barlow Condensed",ui-sans-serif,system-ui,sans-serif;
  --f-body:"DM Sans",ui-sans-serif,system-ui,sans-serif;
  --wrap:1200px; --gutter:clamp(16px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--cream);color:var(--ink);font:400 17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--berry);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--berry-deep)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--f-display);font-weight:800;letter-spacing:-.025em;line-height:1.04;margin:0 0 .5em;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(2.4rem,5.4vw,4.6rem)}
h2{font-size:clamp(1.85rem,3.6vw,3rem)}
h3{font-size:clamp(1.2rem,1.8vw,1.45rem);font-weight:700;letter-spacing:-.015em;line-height:1.2}
p{margin:0 0 1em;text-wrap:pretty}
.accent{color:var(--berry)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:760px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;z-index:100}
.skip:focus{left:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* labels & badges */
.eyebrow{font:700 .9rem/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--berry);display:inline-flex;align-items:center;gap:.5em;margin:0 0 1rem}
.eyebrow::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat}
:root{--spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 0c.7 6.4 5.6 11.3 12 12-6.4.7-11.3 5.6-12 12-.7-6.4-5.6-11.3-12-12C6.4 11.3 11.3 6.4 12 0z'/%3E%3C/svg%3E")}
.chip{display:inline-flex;align-items:center;gap:.4em;font:700 .82rem/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;padding:.55em .85em .5em;border-radius:999px;background:var(--white);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.chip--pink{background:var(--pink);box-shadow:none}
.chip--blush{background:var(--blush);box-shadow:none}
.chip--lav{background:var(--lavender);box-shadow:none}
.chip--tan{background:var(--tangerine);box-shadow:none;color:var(--ink)}
.chip--ink{background:var(--ink);color:#fff;box-shadow:none}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 1.25rem}
.heat{display:inline-flex;gap:6px}
.flame{width:.9em;height:.9em;display:inline-block;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c1 4 6 6 6 12a6 6 0 0 1-12 0c0-3 2-5 3-6 0 2 1 3 2 3 0-3-1-6 1-9z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c1 4 6 6 6 12a6 6 0 0 1-12 0c0-3 2-5 3-6 0 2 1 3 2 3 0-3-1-6 1-9z'/%3E%3C/svg%3E") center/contain no-repeat}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font:700 1.02rem/1.1 var(--f-body);padding:1em 1.5em;border-radius:999px;border:0;cursor:pointer;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;white-space:nowrap}
.btn-buy{background:var(--berry);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 10px 24px -10px rgba(142,31,72,.75)}
.btn-buy:hover{background:var(--berry-deep);color:#fff;transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 16px 28px -12px rgba(142,31,72,.85)}
.btn-buy:active{transform:translateY(0)}
.btn-buy .price{font-family:var(--f-display);font-weight:800;letter-spacing:-.01em;padding-left:.7em;border-left:1px solid rgba(255,255,255,.35)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-soft{background:var(--white);color:var(--berry);box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--line)}
.btn-soft:hover{color:var(--berry-deep);transform:translateY(-1px)}
.btn-block{width:100%}
.btn-sm{padding:.7em 1.1em;font-size:.92rem}
.arrow::after{content:"→";transition:transform .18s ease;display:inline-block}
a:hover .arrow::after,.btn:hover .arrow::after{transform:translateX(3px)}
form.buy{margin:0}
.buy-note{font-size:.88rem;color:var(--muted);margin:.7rem 0 0;display:flex;flex-wrap:wrap;gap:.25em .9em}
.buy-note span{display:inline-flex;align-items:center;gap:.35em}
.buy-note span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pink)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(253,245,236,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.site-header.scrolled{border-bottom-color:var(--line)}
.hdr{display:flex;align-items:center;gap:20px;height:68px}
.logo{display:inline-flex;align-items:center;gap:9px;font:800 1.32rem/1 var(--f-display);letter-spacing:-.03em;color:var(--ink);text-decoration:none;white-space:nowrap}
.logo svg{width:26px;height:26px;flex:none}
.logo b{color:var(--berry);font-weight:800}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{font:700 .95rem/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:10px 12px;border-radius:999px}
.nav a:hover,.nav a[aria-current="page"]{background:var(--blush);color:var(--berry)}
.hdr-cta{margin-left:8px}
.menu{display:none;margin-left:auto}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--white);box-shadow:inset 0 0 0 1px var(--line)}
.menu summary::-webkit-details-marker{display:none}
.menu summary span{display:block;width:18px;height:2px;background:var(--ink);box-shadow:0 6px 0 var(--ink),0 -6px 0 var(--ink)}
.menu[open] summary span{box-shadow:none;transform:rotate(45deg)}
.menu[open] summary span::after{content:"";display:block;width:18px;height:2px;background:var(--ink);transform:rotate(-90deg)}
.menu-panel{position:absolute;left:0;right:0;top:68px;background:var(--cream);border-bottom:1px solid var(--line);padding:12px var(--gutter) 22px;box-shadow:var(--shadow)}
.menu-panel a{display:block;padding:12px 4px;font:700 1.05rem/1.2 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.menu-panel .btn{margin-top:16px;width:100%}
@media (max-width:980px){.nav,.hdr-cta{display:none}.menu{display:block}}

/* sections */
.section{padding:clamp(64px,9vw,120px) 0;position:relative}
.section--white{background:var(--white)}
.section--blush{background:var(--blush)}
.section--ink{background:var(--ink);color:#F4EEF2}
.section--ink h2,.section--ink h3{color:#fff}
.section-head{max-width:760px;margin:0 0 clamp(32px,4vw,52px)}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head.center .eyebrow{justify-content:center}
.lede{font-size:clamp(1.08rem,1.4vw,1.25rem);color:var(--ink-soft);line-height:1.55}
.muted{color:var(--muted)}
.wave-top::before,.wave-bottom::after{content:"";position:absolute;left:0;right:0;height:22px;background:inherit;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 22' preserveAspectRatio='none'%3E%3Cpath d='M0 22V11C10 0 20 0 30 11s20 11 30 0 20-11 30 0 20 11 30 0V22z'/%3E%3C/svg%3E") repeat-x 0 0/120px 22px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 22' preserveAspectRatio='none'%3E%3Cpath d='M0 22V11C10 0 20 0 30 11s20 11 30 0 20-11 30 0 20 11 30 0V22z'/%3E%3C/svg%3E") repeat-x 0 0/120px 22px}
.wave-top::before{top:-21px}
.wave-bottom::after{bottom:-21px;transform:scaleY(-1)}
.checker{height:14px;background:conic-gradient(var(--ink) 25%,var(--cream) 0 50%,var(--ink) 0 75%,var(--cream) 0) 0 0/14px 14px}
.checker--pink{background:conic-gradient(var(--pink) 25%,var(--white) 0 50%,var(--pink) 0 75%,var(--white) 0) 0 0/12px 12px;height:12px}

/* stamp (round price badge, from the product look) */
.stamp{--s:112px;width:var(--s);height:var(--s);border-radius:50%;background:var(--pink);display:grid;place-items:center;text-align:center;position:relative;color:var(--ink);flex:none;box-shadow:0 10px 24px -12px rgba(142,31,72,.5)}
.stamp::before{content:"";position:absolute;inset:7px;border-radius:50%;border:2px dashed rgba(31,36,54,.55)}
.stamp small{display:block;font:700 .72rem/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase}
.stamp strong{display:block;font:800 calc(var(--s)*.34)/1 var(--f-display);letter-spacing:-.04em}

/* sparkles */
.spark{position:absolute;width:var(--w,22px);height:var(--w,22px);background:var(--c,var(--ink));-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat;pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .spark.tw{animation:tw 3.6s ease-in-out infinite;animation-delay:var(--d,0s)}
  @keyframes tw{0%,100%{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.55) rotate(25deg);opacity:.55}}
}

/* hero */
.hero{position:relative;min-height:min(860px,calc(100svh - 68px));display:flex;align-items:center;overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:58% 78%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(253,245,236,.94) 0%,rgba(253,245,236,.78) 30%,rgba(253,245,236,0) 58%)}
.hero .wrap{width:100%}
.hero-copy{max-width:640px;padding:44px 0 52px}
.hero h1{font-size:clamp(2.4rem,4.3vw,3.95rem);margin-bottom:.4em;line-height:1.02}
.hero .lede{max-width:540px;margin-bottom:1.4rem;font-size:1.12rem}
.offer-card{position:relative;background:rgba(255,255,255,.66);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid rgba(255,255,255,.9);border-radius:var(--r-lg);padding:22px 22px 20px;box-shadow:var(--shadow-lg);max-width:540px}
.offer-top{display:flex;gap:18px;align-items:center;margin-bottom:16px}
.offer-top .stamp{--s:96px}
.offer-name{font:800 1.45rem/1.08 var(--f-display);letter-spacing:-.02em;margin:0 0 6px}
.offer-sub{margin:0;font-size:.95rem;color:var(--ink-soft);line-height:1.45}
.save{font-size:.92rem;color:var(--ink-soft);margin:0 0 14px}
.save strong{color:var(--berry)}
.offer-alt{margin:14px 0 0;font-size:.95rem;text-align:center}
.hero-mobile-img{display:none}
@media (max-width:860px){
  .hero{min-height:0;display:block;background:var(--cream)}
  .hero::after,.hero-media{display:none}
  .hero-copy{padding:28px 0 0;max-width:none}
  .hero-mobile-img{display:block;margin:20px calc(var(--gutter)*-1) -28px;position:relative;z-index:0}
  .hero-mobile-img img{width:100%;aspect-ratio:1602/800;object-fit:cover}
  .offer-card{position:relative;z-index:1;background:rgba(255,255,255,.86);margin-bottom:8px;padding:18px}
  .hero h1{font-size:2.15rem}
  .hero .lede{font-size:1rem;margin-bottom:0}
  .hero .spark{display:none}
  .offer-top{gap:14px;margin-bottom:10px}
  .offer-top .stamp{--s:72px}
  .offer-name{font-size:1.18rem}
  .offer-sub{font-size:.88rem}
  .save{font-size:.86rem;margin-bottom:12px}
  .hero .offer-wrap{position:relative;z-index:1;padding-bottom:40px}
}

/* facts strip */
.facts{background:var(--ink);color:#fff}
.facts ul{list-style:none;margin:0 auto;padding:18px var(--gutter);max-width:var(--wrap);display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.facts li{display:flex;gap:12px;align-items:center;font-size:.95rem;line-height:1.3}
.facts li b{display:block;font:700 .98rem/1.1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--pink)}
.facts .ico{width:38px;height:38px;border-radius:50%;background:rgba(255,147,201,.16);display:grid;place-items:center;flex:none}
.facts .ico svg{width:20px;height:20px;stroke:var(--pink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:900px){.facts ul{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.facts ul{gap:12px 10px}.facts li{font-size:.85rem}}

/* three jobs */
.jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.job{background:var(--white);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease}
.job:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);color:inherit}
.job figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--blush)}
.job figure img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.job:hover figure img{transform:scale(1.03)}
.job-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.job-body h3{margin:0}
.job-body p{margin:0;color:var(--ink-soft)}
.job-price{margin-top:auto;padding-top:10px;display:flex;justify-content:space-between;align-items:center;font-weight:700}
.job-price .p{font:800 1.4rem/1 var(--f-display)}
@media (max-width:900px){.jobs{grid-template-columns:1fr}.job{display:grid;grid-template-columns:42% 1fr}.job figure{aspect-ratio:auto;height:100%}}
@media (max-width:560px){.job{grid-template-columns:1fr}.job figure{aspect-ratio:4/3}}

/* product grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
@media (max-width:600px){.grid{grid-template-columns:1fr 1fr;gap:12px}.pcard-body{padding:12px 12px 14px}.pcard h3{font-size:.98rem}.pcard p{font-size:.82rem}.pcard .p{font-size:1.1rem}.pcard .tag{top:8px;left:8px}.heat-tag{font-size:.66rem}}
.pcard{position:relative;background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease}
.pcard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.pcard figure{margin:0;aspect-ratio:4/3;background:var(--blush);overflow:hidden}
.pcard figure img{width:100%;height:100%;object-fit:cover}
.pcard-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.pcard h3{font-size:1.12rem;margin:0}
.pcard h3 a{color:var(--ink);text-decoration:none}
.pcard h3 a::after{content:"";position:absolute;inset:0}
.pcard p{margin:0;font-size:.93rem;color:var(--muted);line-height:1.45}
.pcard-foot{margin-top:auto;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.pcard .p{font:800 1.25rem/1 var(--f-display);letter-spacing:-.02em}
.pcard .tag{position:absolute;top:12px;left:12px;z-index:1}
.heat-tag{font:700 .74rem/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;display:inline-flex;gap:.35em;align-items:center;padding:.45em .7em;border-radius:999px;background:var(--lavender)}
.heat-tag.mildonly{background:var(--white);box-shadow:inset 0 0 0 1px var(--line)}

/* chooser */
.chooser{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.choose{background:var(--white);border-radius:var(--r);padding:24px;box-shadow:var(--shadow-sm);position:relative}
.choose h3{margin-bottom:.4em}
.choose p{color:var(--ink-soft);font-size:.96rem}
.choose ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.choose li a{display:flex;justify-content:space-between;gap:10px;text-decoration:none;color:var(--ink);font-weight:600;padding:9px 12px;border-radius:12px;background:var(--cream)}
.choose li a:hover{background:var(--blush);color:var(--berry)}
.choose li a span{color:var(--muted);font-weight:400}
.choose .num{position:absolute;top:-12px;right:18px;font:800 .95rem/1 var(--f-display);background:var(--pink);width:34px;height:34px;border-radius:50%;display:grid;place-items:center}
@media (max-width:900px){.chooser{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.chooser{grid-template-columns:1fr}}

/* mild vs spicy */
.heat-split{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.heat-panel{border-radius:var(--r-lg);padding:clamp(24px,3vw,40px);position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 46%;gap:20px;align-items:center}
.heat-panel--mild{background:var(--white);box-shadow:var(--shadow-sm)}
.heat-panel--spicy{background:var(--ink);color:#EEE8EF}
.heat-panel--spicy h2{color:#fff}
.heat-panel h2{font-size:clamp(1.5rem,2.4vw,2.1rem)}
.heat-panel p{font-size:.98rem}
.heat-panel--spicy p{color:#DCD5DE}
.heat-panel .card-img{border-radius:10px;box-shadow:var(--shadow-lg);transform:rotate(var(--r,4deg));transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.heat-panel--mild .card-img{--r:-4deg}
.js .reveal .card-img{transform:rotate(0) translateY(16px);opacity:.001}
.js .reveal.in .card-img{transform:rotate(var(--r,4deg));opacity:1;transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .6s ease}
@media (prefers-reduced-motion:reduce){.js .reveal .card-img{transform:rotate(var(--r,4deg));opacity:1}}
@media (max-width:900px){.heat-split{grid-template-columns:1fr}}
@media (max-width:520px){.heat-panel{grid-template-columns:1fr}.heat-panel .card-img{max-width:280px;margin:6px auto 0}}

/* name demo (2026-10-15): real blank renders from the fillable PDFs; the typed name is drawn into the PDF's field box */
.nd{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.nd-stage{position:relative;display:grid;grid-template-columns:1.12fr 1fr;gap:18px;align-items:start;padding-bottom:12%}
.nd-item{position:relative;margin:0;container-type:inline-size;background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(31,36,54,.08),0 18px 38px -18px rgba(31,36,54,.45);line-height:0}
.nd-item img{display:block;width:100%;height:auto;border-radius:3px}
.nd-sign{transform:rotate(-2.5deg)}
.nd-bingo{transform:rotate(2.5deg);margin-top:26px}
.nd-card{position:absolute;width:56%;left:24%;bottom:0;transform:rotate(-4deg)}
.nd-f{position:absolute;display:flex;align-items:center;overflow:hidden;white-space:nowrap;line-height:1;font-size:calc(var(--fs) * var(--k,1) * 1cqw);pointer-events:none}
.nd-f i{font-style:normal}
.nd-f[data-a=center]{justify-content:center}.nd-f[data-a=right]{justify-content:flex-end}
.nd-dm{font-family:"DM Sans",var(--f-body)}.nd-barlow{font-family:"Barlow Condensed",var(--f-label)}.nd-brico{font-family:"Bricolage",var(--f-display);letter-spacing:-.01em}
.nd-form{margin:1.2rem 0 .8rem}
.nd-form label{display:block;font:700 .82rem/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--berry);margin-bottom:10px}
.nd-form input{width:100%;box-sizing:border-box;font:800 1.35rem/1.2 var(--f-display);letter-spacing:-.01em;padding:14px 18px;border-radius:14px;border:2px solid var(--ink);background:var(--white);color:var(--ink);box-shadow:0 8px 0 -2px var(--pink)}
.nd-form input:focus-visible{outline:3px solid var(--berry);outline-offset:3px}
.nd-hint{font-size:.86rem;color:var(--muted);margin:.7rem 0 0}
.nd-note{font-size:.9rem;color:var(--muted)}
.nd-pair{display:grid;grid-template-columns:auto auto 1fr;gap:clamp(16px,2.4vw,28px);align-items:center;margin-top:clamp(36px,5vw,64px);background:var(--white);border-radius:var(--r-lg);padding:clamp(18px,3vw,28px);box-shadow:var(--shadow-sm)}
.nd-pair figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px}
.nd-pair img{width:auto;max-height:280px;height:auto;box-shadow:0 1px 2px rgba(31,36,54,.08),0 8px 18px -8px rgba(31,36,54,.25)}
.nd-pair figcaption{font:700 .74rem/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nd-pair-txt h3{font-size:1.3rem}.nd-pair-txt p{color:var(--ink-soft);margin:0}
.nd-mini{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:24px;align-items:center;margin:1.2rem 0 1.6rem;background:var(--blush);border-radius:var(--r-lg);padding:20px}
.nd-mini .nd-form{margin:0 0 .6rem}
.hiw-wrap{margin-top:clamp(40px,6vw,72px)}
.hiw{list-style:none;counter-reset:h;padding:0;margin:0;display:grid;gap:14px}
.hiw li{counter-increment:h;position:relative;background:var(--white);border-radius:var(--r);padding:18px 18px 18px 66px;box-shadow:var(--shadow-sm)}
.hiw li::before{content:counter(h);position:absolute;left:16px;top:16px;width:36px;height:36px;border-radius:50%;background:var(--pink);display:grid;place-items:center;font:800 1rem/1 var(--f-display);color:var(--ink)}
.hiw b{display:block;font-family:var(--f-display);font-size:1.08rem;letter-spacing:-.01em;margin-bottom:2px}
.hiw span{color:var(--ink-soft);font-size:.94rem;line-height:1.5}
.hiw--row{grid-template-columns:repeat(4,1fr)}
.hiw--row li{padding:62px 18px 20px}
.hiw--row li::before{left:18px;top:16px}
.hiw--compact{grid-template-columns:1fr 1fr}
.hiw--compact li{padding:14px 14px 14px 58px;box-shadow:inset 0 0 0 1px var(--line)}
.hiw--compact li::before{left:12px;top:13px;width:32px;height:32px;font-size:.92rem}
@media (max-width:900px){.nd-pair{grid-template-columns:1fr 1fr}.nd-pair-txt{grid-column:1/-1}.nd{grid-template-columns:1fr}.hiw--row{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.nd-stage{order:2;max-width:560px}}
@media (max-width:600px){.nd-pair img{max-height:200px}.hiw--row li{padding:14px 14px 14px 62px}.hiw--row li::before{left:14px;top:14px}.hiw--row,.hiw--compact{grid-template-columns:1fr}.nd-mini{grid-template-columns:1fr}}
.steps{list-style:none;counter-reset:s;padding:0;margin:0 0 1.4rem;display:flex;flex-direction:column;gap:14px}
.steps li{counter-increment:s;display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}
.steps li::before{content:counter(s);width:40px;height:40px;border-radius:50%;background:var(--pink);display:grid;place-items:center;font:800 1.05rem/1 var(--f-display)}
.steps b{display:block;font-family:var(--f-display);font-size:1.08rem;letter-spacing:-.01em}
.steps span{color:var(--ink-soft);font-size:.96rem}
@media (max-width:900px){.perso{grid-template-columns:1fr}}

/* timeline */
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin-top:10px}
.timeline::before{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:repeating-linear-gradient(90deg,var(--berry) 0 8px,transparent 8px 14px)}
.tl{padding:0 18px 0 0;position:relative}
.tl .dot{width:56px;height:56px;border-radius:50%;background:var(--white);box-shadow:inset 0 0 0 2px var(--berry);display:grid;place-items:center;font:800 .9rem/1 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--berry);margin-bottom:16px;position:relative}
.tl h3{font-size:1.15rem;margin-bottom:.35em}
.tl p{font-size:.94rem;color:var(--ink-soft);margin-bottom:.6em}
.tl ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.tl li a{font-size:.85rem;font-weight:600;text-decoration:none;background:var(--white);padding:5px 10px;border-radius:999px;display:inline-block;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink)}
.tl li a:hover{background:var(--pink);box-shadow:none}
@media (max-width:900px){.timeline{grid-template-columns:1fr 1fr;row-gap:30px}.timeline::before{display:none}}
@media (max-width:520px){.timeline{grid-template-columns:1fr}}

/* bundle compare */
.bundles{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:16px;align-items:stretch}
.bcard{background:var(--white);border-radius:var(--r);padding:24px 22px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px;position:relative}
.bcard h3{margin:0;font-size:1.2rem}
.bcard .p{font:800 2.4rem/1 var(--f-display);letter-spacing:-.04em}
.bcard .sep{font-size:.88rem;color:var(--muted);margin:0}
.bcard ul{list-style:none;padding:0;margin:4px 0 8px;font-size:.92rem;display:flex;flex-direction:column;gap:5px}
.bcard ul li{display:flex;gap:8px;align-items:flex-start}
.bcard ul li::before{content:"";width:14px;height:14px;margin-top:4px;flex:none;background:var(--berry);-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat}
.bcard .btn{margin-top:auto}
.bcard--hero{background:linear-gradient(160deg,#fff 0%,var(--blush) 100%);box-shadow:var(--shadow-lg),inset 0 0 0 2px var(--pink);padding:28px 26px}
.bcard--hero .p{font-size:3.2rem}
.bcard .ribbon{position:absolute;top:-12px;left:22px}
@media (max-width:1000px){.bundles{grid-template-columns:1fr 1fr}}
.bundles--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.bundles--3{grid-template-columns:1fr}}
@media (max-width:600px){.bundles{grid-template-columns:1fr}}

/* free band */
.free-band{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,4vw,48px);align-items:center;background:var(--white);border-radius:var(--r-lg);padding:clamp(22px,3vw,36px);box-shadow:var(--shadow)}
.free-band .cards{display:flex;width:220px;height:170px;position:relative}
.free-band .cards img{position:absolute;width:170px;border-radius:8px;box-shadow:var(--shadow)}
.free-band .cards img:first-child{transform:rotate(-8deg);left:0;top:18px}
.free-band .cards img:last-child{transform:rotate(7deg);left:52px;top:0}
.free-band h2{font-size:clamp(1.5rem,2.6vw,2.2rem);margin-bottom:.3em}
.free-band p{margin:0;color:var(--ink-soft)}
@media (max-width:860px){.free-band{grid-template-columns:1fr;text-align:left}.free-band .cards{margin:0 auto}}

/* FAQ */
.faq{max-width:860px}
.faq details{background:var(--white);border-radius:16px;margin-bottom:10px;box-shadow:var(--shadow-sm);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:20px 60px 20px 24px;position:relative;font:700 1.1rem/1.35 var(--f-display);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--blush);display:grid;place-items:center;font:700 1.2rem/1 var(--f-body);color:var(--berry);transition:transform .2s}
.faq details[open] summary::after{content:"–"}
.faq .a{padding:0 24px 20px;color:var(--ink-soft)}
.faq .a p:last-child{margin:0}
.faq h2{margin-bottom:.8em}

/* final CTA */
.final{background:radial-gradient(120% 140% at 85% 10%,var(--pink-soft) 0%,var(--blush) 40%,var(--cream) 100%);overflow:hidden}
.final-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.final figure{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);transform:rotate(1.5deg)}
@media (max-width:900px){.final-grid{grid-template-columns:1fr}}

/* breadcrumbs */
.crumbs{font:600 .92rem/1.2 var(--f-label);letter-spacing:.1em;text-transform:uppercase;padding-top:18px}
.crumbs ol{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li{display:flex;gap:6px;color:var(--muted)}
.crumbs li+li::before{content:"/";color:var(--line-strong)}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--berry)}

/* product page */
.ph{padding:18px 0 clamp(48px,6vw,80px)}
.ph-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(28px,4.5vw,64px);align-items:start}
.gallery{position:sticky;top:88px;display:flex;flex-direction:column;gap:14px}
.gallery .main{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:var(--blush);margin:0}
.gallery .main img{width:100%;aspect-ratio:4/3;object-fit:cover}
.flats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0}
.flat{background:var(--white);border-radius:var(--r);padding:16px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);margin:0}
.flat img{max-height:300px;width:auto;box-shadow:0 1px 2px rgba(31,36,54,.08),0 8px 18px -8px rgba(31,36,54,.25);border-radius:2px}
.flat{flex-direction:column;gap:10px}
.flat figcaption{font:700 .74rem/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ph-info h1{font-size:clamp(2.1rem,4.2vw,3.6rem)}
.ph-info .lede{margin-bottom:1.3rem}
.price-row{display:flex;align-items:center;gap:16px;margin:0 0 18px}
.price-big{font:800 3rem/1 var(--f-display);letter-spacing:-.04em}
.price-row .per{font-size:.95rem;color:var(--muted);line-height:1.35}
.upsell{margin-top:22px;background:var(--white);border-radius:var(--r);padding:18px 20px;box-shadow:inset 0 0 0 1.5px var(--pink);display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
.upsell .stamp{--s:72px}
.upsell .stamp strong{font-size:1.45rem}
.upsell h2{font:800 1.12rem/1.2 var(--f-display);margin:0 0 4px;letter-spacing:-.01em}
.upsell p{margin:0 0 10px;font-size:.92rem;color:var(--ink-soft)}
.upsell .row{display:flex;flex-wrap:wrap;gap:8px}
.quick{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quick li{background:var(--white);border-radius:12px;padding:12px 14px;box-shadow:inset 0 0 0 1px var(--line);font-size:.9rem;line-height:1.35}
.quick b{display:block;font:700 .78rem/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--berry);margin-bottom:5px}
@media (max-width:960px){.ph-grid{grid-template-columns:1fr}.gallery{position:static;display:contents}.gallery .main{order:1}.ph-info{order:2}.flats{order:3}.price-row .per br{display:none}}
@media (max-width:420px){.quick{grid-template-columns:1fr}.flat img{max-height:220px}}

.body-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(28px,5vw,72px);align-items:start}
.prose h2{font-size:clamp(1.6rem,2.6vw,2.2rem);margin-top:1.6em}
.prose h2:first-child{margin-top:0}
.prose ul.inside{list-style:none;padding:0;margin:0 0 1.2em;display:flex;flex-direction:column;gap:10px}
.prose ul.inside li{display:grid;grid-template-columns:22px 1fr;gap:10px;background:var(--white);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow-sm)}
.prose ul.inside li::before{content:"";width:16px;height:16px;margin-top:4px;background:var(--berry);-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat}
.prose ol.play{padding:0;list-style:none;counter-reset:p;display:flex;flex-direction:column;gap:12px}
.prose ol.play li{counter-increment:p;display:grid;grid-template-columns:34px 1fr;gap:12px}
.prose ol.play li::before{content:counter(p);width:34px;height:34px;border-radius:50%;background:var(--blush);color:var(--berry);display:grid;place-items:center;font:800 .95rem/1 var(--f-display)}
.spec-table{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:.93rem;background:var(--white);border-radius:12px;overflow:hidden;box-shadow:var(--shadow-sm)}
.spec-table th,.spec-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.spec-table th{font:700 .8rem/1.2 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--berry);background:var(--blush)}
.spec-table tr:last-child td{border-bottom:0}
.aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px}
.box{background:var(--white);border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow-sm)}
.box h2,.box h3{font-size:1.15rem;margin-bottom:.6em}
.box p{font-size:.93rem;color:var(--ink-soft)}
.box dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:.9rem}
.box dt{font:700 .78rem/1.5 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--berry)}
.box dd{margin:0}
@media (max-width:960px){.body-grid{grid-template-columns:1fr}.aside{position:static}}

/* bundle list on bundle pages */
.blist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;list-style:none;padding:0;margin:0}
.blist li{background:var(--white);border-radius:var(--r);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:110px 1fr;overflow:hidden;position:relative}
.blist img{width:110px;height:100%;object-fit:cover;background:var(--blush)}
.blist .t{padding:14px 16px;display:flex;flex-direction:column;gap:3px}
.blist h3,.blist h4{font:700 1.02rem/1.2 var(--f-display);letter-spacing:-.01em;margin:0}
.blist h3 a,.blist h4 a{color:var(--ink);text-decoration:none}
.blist h3 a::after,.blist h4 a::after{content:"";position:absolute;inset:0}
.blist p{margin:0;font-size:.86rem;color:var(--muted);line-height:1.4}
.blist .sp{font-size:.82rem;font-weight:700;color:var(--ink-soft);margin-top:auto}
.blist li.bonus{background:linear-gradient(135deg,#fff,var(--lavender))}
.sum{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between;background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:24px 28px;margin-top:26px}
.sum p{margin:0;color:#E9E2EA}
.sum strong{color:var(--pink);font-family:var(--f-display);font-size:1.6rem;letter-spacing:-.02em}

/* sticky buy bar (mobile) */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:12px;transform:translateY(110%);transition:transform .3s ease}
.buybar.show{transform:none}
.buybar .n{flex:1;min-width:0;font:700 .95rem/1.2 var(--f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buybar .n small{display:block;font:600 .78rem/1.2 var(--f-body);color:var(--muted)}
.buybar .btn{padding:.85em 1.2em}
@media (min-width:961px){.buybar{display:none}}

/* legal */
.legal{padding:30px 0 90px}
.legal .doc{background:var(--white);border-radius:var(--r-lg);padding:clamp(24px,5vw,56px);box-shadow:var(--shadow-sm);max-width:860px}
.legal h1{font-size:clamp(2rem,4vw,3rem)}
.legal h2{font-size:1.35rem;margin-top:1.6em;letter-spacing:-.01em}
.legal .back{display:none}
.legal code{font-size:.88em;background:var(--blush);padding:1px 5px;border-radius:4px}

/* footer */
.site-footer{background:var(--ink);color:#D9D3DC;font-size:.95rem}
.ft{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;padding:56px 0 36px}
.ft h2{font:700 .95rem/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin:0 0 14px}
.ft ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}
.ft a{color:#fff;text-decoration:none}
.ft a:hover{color:var(--pink);text-decoration:underline}
.ft .logo{color:#fff;margin-bottom:14px}
.ft .logo b{color:var(--pink)}
.ft p{color:#C9C2CD}
.fb{border-top:1px solid rgba(255,255,255,.12);padding:18px 0 28px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;font-size:.88rem;color:#B9B2BD}
.fb nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.fb a{color:#fff}
@media (max-width:900px){.ft{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ft{grid-template-columns:1fr}}

/* misc */
@media (max-width:480px){.btn{white-space:normal;text-align:center}}
.buybar{visibility:hidden}.buybar.show{visibility:visible}
.center{text-align:center}
.mt{margin-top:28px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
@media (max-width:900px){.two-col{grid-template-columns:1fr}}
.media-frame{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.answer{background:var(--white);border-left:4px solid var(--pink);border-radius:0 var(--r) var(--r) 0;padding:20px 24px;margin:0 0 16px}
.answer h2,.answer h3{font-size:1.3rem;margin-bottom:.4em}
.answer p:last-child{margin:0}
.notfound{padding:120px 0;text-align:center}
@media (prefers-reduced-motion:no-preference){
  .js .fade{opacity:.001;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
  .js .fade.in{opacity:1;transform:none}
}

/* card fans in the mild/spicy panels */
.fan{position:relative;aspect-ratio:1/1;display:grid;place-items:center}
.fan .card-img{position:absolute;width:88%;left:6%;top:30%}
.fan .card-img.c2{--r:-9deg;top:8%;left:2%}
.heat-panel--mild .fan .card-img{--r:5deg}
.heat-panel--mild .fan .card-img.c2{--r:-8deg}
.heat-panel--spicy .fan .card-img{--r:-4deg}
.heat-panel--spicy .fan .card-img.c2{--r:8deg;left:10%}
.js .reveal.in .card-img.c2{transition-delay:.12s}

.sum--light{background:linear-gradient(120deg,#fff,var(--blush));color:var(--ink);margin-top:12px;box-shadow:inset 0 0 0 1.5px var(--pink)}
.sum--light p{color:var(--ink-soft)}
.sum--light strong{color:var(--berry)}

.grid--3{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.grid--3{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.grid--3 .pcard:nth-child(3){display:none}}

/* hero motion: a slow push-in on the party scene and the offer card rising in once */
@media (prefers-reduced-motion:no-preference){
  .hero-media img{animation:push 24s ease-out both}
  @keyframes push{from{transform:scale(1.06)}to{transform:scale(1)}}
  .js .hero .offer-card{animation:rise .9s .15s cubic-bezier(.2,.8,.2,1) both}
  @keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
}

/* ───────────── v2 (2026-10-15): party character ─────────────
   marquee · night hero · colour-blocked bands (pink / ink / berry) with wavy edges · die-cut stickers ·
   xo-style tiles on the pink stage · rotating badges · illustrated footer. Same palette, same fonts. */

/* announcement marquee */
.marquee{background:var(--ink);color:var(--blush);overflow:hidden;position:relative;z-index:51}
.mq-track{display:flex;width:max-content}
.marquee ul{display:flex;list-style:none;margin:0;padding:0;flex:none}
.marquee li{font:700 .95rem/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase;padding:11px 0;white-space:nowrap;display:flex;align-items:center}
.marquee li::after{content:"";width:12px;height:12px;margin:0 22px;background:var(--pink);-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat}
@media (prefers-reduced-motion:no-preference){.mq-track{animation:mq 46s linear infinite}.marquee:hover .mq-track{animation-play-state:paused}@keyframes mq{to{transform:translateX(-50%)}}}
@media (prefers-reduced-motion:reduce){.marquee ul[aria-hidden]{display:none}.mq-track{width:auto}.marquee ul{flex-wrap:wrap;justify-content:center}}

/* bands */
.band{position:relative}
.band--pink{background:var(--pink);color:var(--ink)}
.band--pink .lede,.band--pink p{color:var(--ink)}
.band--pink .eyebrow{color:var(--ink)}
.band--ink{background:var(--ink);color:#EDE6EE}
.band--ink h2,.band--ink h3{color:#fff}
.band--ink .lede{color:#E2DAE4}
.band--ink .eyebrow{color:var(--pink)}
.band--berry{background:var(--berry);color:#FFE9F1}
.band--berry h2,.band--berry h3{color:#fff}
.band--berry p{color:#FFE1EC}
.band--berry .eyebrow{color:var(--pink)}
.band--berry a{color:#fff;text-decoration-color:var(--pink);text-decoration-thickness:2px}
.band--berry a:hover{color:var(--blush)}
.band--berry :focus-visible,.band--ink :focus-visible{outline-color:#fff}
.band-ribbon{position:absolute;left:0;right:0;top:0}
.checker--ink{height:12px;background:conic-gradient(var(--ink) 25%,var(--pink) 0 50%,var(--ink) 0 75%,var(--pink) 0) 0 0/12px 12px;opacity:.9}
.band.wave-top::before{top:-21px}
.band.wave-bottom::after{bottom:-21px;z-index:1}

/* stickers */
.wrap{position:relative}
.stk{position:absolute;width:var(--w);height:auto;transform:rotate(var(--r));filter:drop-shadow(0 6px 10px rgba(31,36,54,.22));pointer-events:auto;z-index:2;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.stk:hover{transform:rotate(calc(var(--r) * -1)) scale(1.08)}
@media (prefers-reduced-motion:no-preference){
  .stk.in{animation:wig 1.1s cubic-bezier(.3,1.6,.5,1) backwards}
  @keyframes wig{0%{transform:rotate(var(--r)) scale(.85)}45%{transform:rotate(calc(var(--r) * -0.7)) scale(1.06)}100%{transform:rotate(var(--r)) scale(1)}}
}
@media (prefers-reduced-motion:reduce){.stk,.stk:hover{transition:none;transform:rotate(var(--r))}}
@media (max-width:900px){.stk{width:calc(var(--w) * .72)}.stk--hide-m{display:none}}

/* rotating badge */
.rbadge{position:absolute;width:132px;height:132px;display:grid;place-items:center;z-index:3;filter:drop-shadow(0 10px 18px rgba(31,36,54,.28))}
.rbadge svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.rbadge circle{fill:var(--ink)}
.rbadge text{font:700 19px var(--f-label);letter-spacing:.06em;fill:var(--blush)}
.rbadge span{position:relative;text-align:center;font:700 .74rem/1.05 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:var(--pink);width:56%;height:56%;border-radius:50%;display:grid;place-content:center}
.rbadge span b{display:block;font:800 1.2rem/1 var(--f-display);letter-spacing:-.02em;text-transform:none}
.rbadge .spin{transform-origin:100px 100px}
@media (prefers-reduced-motion:no-preference){.rbadge .spin{animation:spin 22s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}}
.rbadge--hero{top:-74px;right:-74px}
.rbadge--band{top:-48px;left:-40px}
.rbadge--band circle{fill:var(--pink)}
.rbadge--band text{fill:var(--ink)}
.rbadge--band span{background:var(--ink);color:#fff}
@media (max-width:860px){.rbadge{width:104px;height:104px}.rbadge--hero{top:-54px;right:-6px}.rbadge span b{font-size:1rem}.rbadge--band{top:-36px;left:-8px}}

/* night hero */
.hero{background:var(--ink)}
.hero-media{left:40%}
.hero::after{background:radial-gradient(60% 70% at 12% 30%,rgba(255,147,201,.16),rgba(255,147,201,0) 70%),linear-gradient(90deg,var(--ink) 0%,var(--ink) 40%,rgba(31,36,54,.55) 46%,rgba(31,36,54,0) 56%)}
.hero-media img{object-position:56% 40%} /* v3 people photo: bride at the centre of the visible part */
.hero .eyebrow{color:var(--pink)}
.hero h1{color:#fff}
.hero h1 .accent{color:var(--pink)}
.hero .lede{color:#EFE6F0}
.hero .offer-card{background:rgba(255,255,255,.9);border-color:#fff}
.hero .offer-wrap{position:relative}
.hero-copy{padding:52px 0 64px}
@media (max-width:860px){
  .hero{background:var(--ink)}
  .hero-copy{padding:28px 0 0}
  .hero-mobile-img img{aspect-ratio:1170/621}
  .hero .offer-card{background:#fff}
  .hero .offer-wrap{padding-bottom:44px}
}

/* value band under the hero */
.value{padding:34px 0 26px}
.value-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 22px;margin:0 0 22px;font:700 clamp(1.5rem,2.7vw,2.35rem)/1 var(--f-label);letter-spacing:.02em;text-transform:uppercase;color:var(--ink);text-align:center}
.value-line i{width:22px;height:22px;background:var(--berry);-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat;flex:none}
.value .facts{list-style:none;margin:0 auto;padding:16px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;border-top:2px dashed rgba(31,36,54,.35);background:none}
.value .facts li{display:flex;gap:12px;align-items:center;font-size:.95rem;line-height:1.3;color:var(--ink)}
.value .facts li b{display:block;font:700 .98rem/1.1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.value .facts .ico{width:40px;height:40px;border-radius:50%;background:var(--ink);display:grid;place-items:center;flex:none}
.value .facts .ico svg{width:20px;height:20px;stroke:var(--pink);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:900px){.value .facts{grid-template-columns:1fr 1fr}.value-line{flex-direction:column;gap:10px}.value-line i{width:16px;height:16px}}
@media (max-width:480px){.value .facts{gap:12px 10px}.value .facts li{font-size:.85rem}}

/* jobs: a sticker on each card */
.job{overflow:visible;position:relative}
.job figure{border-radius:var(--r-lg) var(--r-lg) 0 0}
@media (max-width:900px){.job figure{border-radius:var(--r-lg) 0 0 var(--r-lg)}}
@media (max-width:560px){.job figure{border-radius:var(--r-lg) var(--r-lg) 0 0}}

/* xo-style product tiles on the pink stage */
.pcard{background:transparent;box-shadow:none;overflow:visible;border-radius:0}
.pcard:hover{transform:none;box-shadow:none}
.pcard-media{position:relative;transition:transform .35s cubic-bezier(.3,1.4,.5,1)}
.pcard figure{border-radius:var(--r);overflow:hidden;background:var(--pink);box-shadow:0 2px 0 rgba(31,36,54,.08),0 14px 30px -14px rgba(31,36,54,.45);transform:rotate(var(--tilt,-1.2deg));transition:transform .35s cubic-bezier(.3,1.4,.5,1),box-shadow .35s ease}
.pcard:nth-child(2n) figure{--tilt:1.3deg}
.pcard:nth-child(3n) figure{--tilt:-.6deg}
.pcard:hover figure{transform:translateY(-8px) rotate(calc(var(--tilt) * -2.2));box-shadow:0 2px 0 rgba(31,36,54,.08),0 26px 40px -18px rgba(31,36,54,.55)}
@media (prefers-reduced-motion:reduce){.pcard figure,.pcard:hover figure{transition:none}}
.pcard .tag{top:10px;left:10px}
.pcard .count{position:absolute;left:10px;bottom:10px;z-index:1;font:700 .74rem/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:#fff;padding:.5em .75em;border-radius:999px}
.pcard .pstamp{position:absolute;right:-8px;top:-12px;z-index:2;width:60px;height:60px;border-radius:50%;background:#fff;color:var(--berry);display:grid;place-items:center;font:800 1.32rem/1 var(--f-display);letter-spacing:-.03em;transform:rotate(10deg);box-shadow:0 8px 16px -8px rgba(31,36,54,.5)}
.pcard .pstamp::before{content:"";position:absolute;inset:4px;border-radius:50%;border:1.5px dashed var(--berry);opacity:.55}
.pcard-body{padding:16px 4px 4px;background:none}
.pcard-foot .p{display:none}
.pcard-foot{padding-top:6px}
.pcard .arrow{font-weight:700;color:var(--berry)}
.band--ink .pcard h3 a{color:#fff}
.band--ink .pcard p{color:#D8D0DB}
.band--ink .pcard .arrow{color:var(--pink)}
.band--ink .pcard .count{background:#fff;color:var(--ink)}
.grid--tiles{gap:34px 24px}
@media (max-width:600px){.grid--tiles{gap:26px 14px}.pcard .pstamp{width:46px;height:46px;font-size:1.02rem;right:-4px;top:-10px}.pcard .count{font-size:.62rem;left:7px;bottom:7px}.pcard-body{padding:12px 2px 2px}}

.sum--pink{background:var(--pink);color:var(--ink)}
.sum--pink p{color:var(--ink)}
.sum--pink strong{color:var(--ink)}

/* mild / spicy on the pink band */
.band--pink .heat-panel--mild{box-shadow:0 18px 40px -22px rgba(31,36,54,.45)}
.band--pink .section-head{padding-top:6px}

/* personalizer: sticker on the slider */
.perso-media{position:relative}

/* at home on berry */
.media-wrap{position:relative}
.band--berry .media-frame{box-shadow:0 30px 60px -24px rgba(0,0,0,.55);transform:rotate(-1.2deg)}

/* free band, bundles */
.free-band{position:relative}
.bcard--hero{box-shadow:var(--shadow-lg),inset 0 0 0 2px var(--berry)}

/* final CTA on pink */
.final.band--pink{background:var(--pink)}
.final .save strong{color:var(--berry)}
.band--pink .buy-note{color:var(--ink)}
.band--pink .buy-note span::before{background:var(--ink)}
.final-media{position:relative}
.final figure{border:6px solid #fff}

/* product page: the pink stage behind the main picture, price as a round stamp */
.stage{position:relative;background:var(--pink);border-radius:calc(var(--r-lg) + 10px);padding:14px;box-shadow:0 30px 60px -30px rgba(142,31,72,.6)}
.stage::before{content:"";position:absolute;left:28px;right:28px;bottom:6px;height:6px;border-radius:3px;background:conic-gradient(var(--ink) 25%,var(--pink) 0 50%,var(--ink) 0 75%,var(--pink) 0) 0 0/6px 6px;opacity:.55}
.stage .main{box-shadow:0 6px 18px -8px rgba(31,36,54,.35);transform:rotate(-.6deg)}
.stage .stk{z-index:3}
@media (max-width:960px){.stage{order:1;padding:10px;margin:8px 4px 4px}}
.stamp--price{--s:96px;background:var(--pink);transform:rotate(-8deg)}
.stamp--price strong{color:var(--ink);font-size:2.2rem}
.price-row .stamp--price{margin-right:4px}
@media (max-width:600px){.stamp--price{--s:84px}.stamp--price strong{font-size:1.9rem}}

/* illustrated footer */
.ft-party{text-align:center;padding:38px 0 6px}
.ft-stickers{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 18px;margin-bottom:14px}
.stk--row{position:relative;width:var(--w);margin-top:-70px}
.ft-stickers .stk--row:nth-child(2n){margin-top:-48px}
.signoff{font:800 clamp(1.7rem,3.6vw,2.8rem)/1.05 var(--f-display);letter-spacing:-.03em;color:#fff;margin:10px 0 6px}
.signoff-sub{font:700 1rem/1.2 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--pink);margin:0 0 6px}
.site-footer{position:relative}
.site-footer .ft{border-top:1px solid rgba(255,255,255,.12);margin-top:26px}
@media (max-width:900px){.stk--row{width:calc(var(--w)*.62)}.ft-stickers{gap:4px 8px}.ft-stickers .stk--row:nth-child(n+6){display:none}.stk--row{margin-top:-52px}.ft-stickers .stk--row:nth-child(2n){margin-top:-38px}}
main,.site-footer{overflow-x:clip}
.pcard figure{position:relative;z-index:0}
.pcard .tag{z-index:3}
.pcard .count{z-index:3}
.rbadge--hero{top:auto;bottom:-56px;right:-64px}
@media (max-width:860px){.rbadge--hero{top:-54px;bottom:auto;right:-6px}}
.heat-tag{color:var(--ink)}
@media (max-width:860px){.rbadge--hero{top:-78px}}
.stage{background:linear-gradient(150deg,var(--blush) 0%,var(--pink) 100%)}
.stage .main{border:6px solid #fff;border-radius:var(--r-lg)}
.band--ink .sum:not(.sum--light){background:var(--pink);color:var(--ink)}
.band--ink .sum:not(.sum--light) p{color:var(--ink)}
.band--ink .sum:not(.sum--light) strong{color:var(--ink)}
.band--ink .sum--light{background:#fff}
/* iteration 1 fixes */
@media (min-width:1100px){.value-line{flex-wrap:nowrap;font-size:2.05rem;gap:18px}}
.grid--tiles .pcard-foot,.grid--3 .pcard-foot,.grid .pcard-foot{display:none}
.pcard h3{display:flex;align-items:baseline;gap:6px}
.pcard-body p{margin-top:2px}
@media (max-width:900px){.final-media{margin-top:40px}}
.aside{position:sticky}
.value.wave-top::before{z-index:1}
.hero{padding-bottom:10px}
/* contrast: berry on pink is 4.21:1 and pink on berry 4.21:1, too low for small text */
.final .save strong,.band--pink .save strong{color:var(--ink)}
.band--berry .eyebrow{color:var(--blush)}

/* ───────── blog (2026-10-16): overview, article pages, related guides ───────── */
.blog-hero{padding:clamp(28px,4vw,48px) 0 0}
.blog-hero h1{font-size:clamp(2.3rem,5vw,4.2rem);max-width:15ch}
.blog-hero .lede{max-width:760px}
.blog-list{padding-top:clamp(28px,4vw,48px)}
.gcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.gcards--two{grid-template-columns:1fr 1fr}
.gcards--one{grid-template-columns:minmax(0,760px)}
.gcard{position:relative;background:var(--white);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease}
.gcard:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.gcard figure{margin:0;aspect-ratio:7/4;background:var(--blush);overflow:hidden}
.gcard figure img{width:100%;height:100%;object-fit:cover}
.gcard-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.gcard h2,.gcard h3{font:700 1.2rem/1.22 var(--f-display);letter-spacing:-.015em;margin:0}
.gcard h2 a,.gcard h3 a{color:var(--ink);text-decoration:none}
.gcard h2 a::after,.gcard h3 a::after{content:"";position:absolute;inset:0}
.gcard p{margin:0;font-size:.95rem;color:var(--muted);line-height:1.5}
.gcard .arrow{margin-top:auto;padding-top:6px;color:var(--berry);font-weight:700}
.gcard--lead{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:stretch}
.gcard--lead figure{aspect-ratio:auto;min-height:100%}
.gcard--lead .gcard-body{padding:clamp(22px,3.4vw,44px);justify-content:center;gap:14px}
.gcard--lead h2{font:800 clamp(1.6rem,2.8vw,2.4rem)/1.08 var(--f-display);letter-spacing:-.025em}
.gcard--lead p{font-size:1.05rem;color:var(--ink-soft)}
.gcard--lead::before{content:"Start here";position:absolute;top:14px;left:14px;z-index:1;font:700 .82rem/1 var(--f-label);letter-spacing:.12em;text-transform:uppercase;padding:.55em .85em .5em;border-radius:999px;background:var(--pink);color:var(--ink)}
.gcards--two .gcard h2{font-size:1.45rem}
.gcard--wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.gcard--wide figure{aspect-ratio:auto;min-height:100%}
.related-guides .section-head p{margin:0}
@media (max-width:900px){.gcards{grid-template-columns:1fr 1fr}.gcard--lead{grid-template-columns:1fr}.gcard--lead figure{aspect-ratio:7/4}}
@media (max-width:760px){.gcards--two,.gcard--wide{grid-template-columns:1fr}.gcard--wide figure{aspect-ratio:7/4}}
@media (max-width:600px){.gcards{grid-template-columns:1fr;gap:14px}}

.post{padding:clamp(24px,4vw,44px) 0 clamp(56px,8vw,96px)}
.post-head{max-width:calc(860px + 2*var(--gutter))}
.post-head h1{font-size:clamp(2.1rem,4.4vw,3.6rem);line-height:1.05}
.post-meta{font:600 .92rem/1.2 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}
.post-cover{max-width:calc(1040px + 2*var(--gutter));margin:clamp(22px,3vw,34px) auto}
.post-cover img{width:100%;aspect-ratio:7/4;object-fit:cover;border-radius:var(--r-lg);box-shadow:var(--shadow)}
.post-wrap{max-width:calc(860px + 2*var(--gutter))}
.post-intro{font-size:clamp(1.15rem,1.6vw,1.35rem);color:var(--ink);margin-bottom:1.4em}
.toc{background:var(--white);border-radius:var(--r);padding:20px 24px;box-shadow:inset 0 0 0 1.5px var(--pink);margin:0 0 2.4em}
.toc-h{font:700 .9rem/1 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--berry);margin:0 0 12px}
.toc ol{margin:0;padding-left:1.3em;columns:2;column-gap:32px}
.toc li{break-inside:avoid;margin:0 0 6px;font-size:.95rem;line-height:1.4}
.toc a{color:var(--ink);text-decoration:none}
.toc a:hover{color:var(--berry);text-decoration:underline}
@media (max-width:700px){.toc ol{columns:1}}
.post-body h2,.post-faq h2,.post-end h2,.sources h2{scroll-margin-top:24px}
.post-body h3{margin-top:1.5em}
.post-body ul,.post-body ol{padding-left:1.3em;margin:0 0 1.2em}
.post-body li{margin-bottom:.45em}
.post-body li::marker{color:var(--berry)}
.callout{border-radius:var(--r);padding:18px 22px;margin:1.6em 0;background:var(--white);box-shadow:var(--shadow-sm);border-left:5px solid var(--pink)}
.callout-take{background:var(--blush);border-left-color:var(--berry)}
.callout-label{font:700 .88rem/1 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--berry);margin:0 0 8px;display:flex;align-items:center;gap:.5em}
.callout-label::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:var(--spark) center/contain no-repeat;mask:var(--spark) center/contain no-repeat}
.callout p:last-child{margin:0}
.post-quote{margin:1.8em 0;padding:4px 0 4px 26px;border-left:4px solid var(--berry);font:700 clamp(1.3rem,2.2vw,1.65rem)/1.3 var(--f-display);letter-spacing:-.015em;color:var(--berry-deep)}
.post-quote p{margin:0}
.post-svg{margin:1.6em 0;background:var(--white);border-radius:var(--r);padding:18px;box-shadow:var(--shadow-sm);color:var(--ink)}
.post-svg svg{display:block;width:100%;height:auto;font-family:var(--f-body)}
.table-scroll{overflow-x:auto;margin:1.4em 0;border-radius:12px;box-shadow:var(--shadow-sm);background:var(--white)}
.post-table table{width:100%;border-collapse:collapse;font-size:.93rem;min-width:520px}
.post-table th,.post-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.post-table thead th{font:700 .8rem/1.2 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--berry);background:var(--blush)}
.post-table tbody th{font-weight:600}
.post-table tr:last-child>*{border-bottom:0}
.handoff{margin:2.6em 0;background:var(--ink);color:#EDE6EE;border-radius:var(--r-lg);padding:clamp(22px,4vw,36px);position:relative}
.handoff .eyebrow{color:var(--pink)}
.handoff h2{color:#fff;font-size:clamp(1.5rem,2.6vw,2.1rem)}
.handoff p{color:#E9E2EA}
.handoff .btn{white-space:normal;text-align:center}
.post-faq{margin:2.6em 0 0;max-width:none}
.post-faq summary h3{font:inherit;margin:0;display:inline}
.post-end{margin-top:2.4em}
.post-end h2,.sources h2,.post-faq h2{font-size:clamp(1.6rem,2.6vw,2.2rem)}
.sources{margin-top:2.4em;padding-top:1.6em;border-top:1px solid var(--line)}
.sources ol{padding-left:1.3em;margin:0}
.sources li{margin-bottom:10px;font-size:.95rem}
.src-meta{display:block;color:var(--muted);font-size:.85rem}

/* affiliate blocks (2026-10-16): text-only cards, quieter than the buy buttons */
.aff{margin:1.8em 0;background:var(--white);border-radius:var(--r);padding:16px 20px 6px;box-shadow:inset 0 0 0 1.5px var(--blush-deep)}
.aff-h{font:700 .88rem/1.3 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--berry);margin:0 0 4px}
.aff-h a{color:inherit;text-underline-offset:3px}
.aff .aff-disc{font-size:.8rem;line-height:1.45;color:var(--muted);margin:0 0 8px}
.post-body .aff-list,.aff-list{list-style:none;margin:0;padding:0}
.aff-list li{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 0;margin:0;border-top:1px solid var(--line)}
.aff .aff-txt{font-size:.92rem;line-height:1.45;color:var(--ink-soft)}
.aff-txt b{display:block;color:var(--ink);font-weight:700;margin-bottom:2px}
.aff-btn{flex:none;padding:.6em 1em;font-size:.86rem}
.aff--box{margin:0;padding:18px 20px 6px;box-shadow:var(--shadow-sm)}
.aff--box .aff-h{font:800 1.15rem/1.2 var(--f-display);letter-spacing:-.01em;text-transform:none;color:var(--ink);margin:0 0 .35em}
.aff--box .aff-list li{flex-direction:column;align-items:flex-start}
@media (max-width:600px){.aff{padding:14px 16px 4px}.aff-list li{flex-direction:column;align-items:flex-start}}
.fb .fb-aff{flex-basis:100%;order:3;margin:0;font-size:.82rem}
/* affiliate, wider layer (2026-10-16 scope change): card grid, comparison table, inline links */
.aff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;padding:6px 0 14px}
.aff-list.aff-grid li{flex-direction:column;align-items:flex-start;justify-content:space-between;border:0;padding:16px 18px;background:var(--cream);border-radius:var(--r-sm);box-shadow:inset 0 0 0 1px var(--line)}
.aff-grid .aff-txt b{font:800 1.08rem/1.25 var(--f-display);letter-spacing:-.01em;margin-bottom:4px}
.aff-grid .aff-btn{margin-top:12px}
.aff-cmp{padding:18px 20px 8px}
.aff-sec .aff-cmp{margin:0;box-shadow:var(--shadow-sm)}
.aff-cmp-wrap{overflow-x:auto;margin:6px 0 14px}
.aff-cmp-t{width:100%;border-collapse:collapse;font-size:.92rem;line-height:1.45}
.aff-cmp-t th,.aff-cmp-t td{text-align:left;vertical-align:top;padding:11px 12px;border-top:1px solid var(--line)}
.aff-cmp-t thead th{border-top:0;font:800 1.02rem/1.2 var(--f-display);color:var(--ink);background:var(--blush);width:41%}
.aff-cmp-t thead th:last-child{background:var(--cream-deep)}
.aff-cmp-t thead td{border-top:0}
.aff-cmp-t thead small{display:block;font:500 .82rem/1.35 var(--f-body);color:var(--muted);margin-top:4px}
.aff-cmp-t thead small a{color:var(--berry)}
.aff-cmp-t tbody th{font:700 .8rem/1.3 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--berry);width:18%}
.aff-cmp-t td{color:var(--ink-soft)}
.aff-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 10px}
.aff .aff-pick p{margin:0;padding:12px 14px;border-radius:var(--r-sm);background:var(--blush);font-size:.92rem;color:var(--ink)}
.aff .aff-pick p:last-child{background:var(--cream-deep)}
.aff-pick b{display:block;font:700 .8rem/1.3 var(--f-label);letter-spacing:.1em;text-transform:uppercase;color:var(--berry);margin-bottom:3px}
.aff .aff-note{font-size:.86rem;color:var(--muted);margin:0 0 12px}
.aff .aff-sub{font:700 .82rem/1.2 var(--f-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin:4px 0 2px}
.post-body .aff-cmp-t,.post-body .aff-list{margin-bottom:0}
.post-body .aff-list li{margin-bottom:0}
.aff-link{text-decoration-style:dotted;text-underline-offset:3px}
.aff-link::after{content:"↗";font-size:.75em;margin-left:.15em;vertical-align:.1em}
.post-aff-disc{margin:.6em 0 0;font-size:.82rem;color:var(--muted)}
.aff-sec--small .aff{margin:0}
@media (max-width:640px){
  .aff-pick{grid-template-columns:1fr}
  .aff-cmp{padding:14px 14px 6px}
  .aff-cmp-t thead tr{display:grid;grid-template-columns:1fr 1fr}
  .aff-cmp-t thead td{display:none}
  .aff-cmp-t thead th{width:auto;font-size:.92rem;padding:9px 10px}
  .aff-cmp-t tbody tr{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
  .aff-cmp-t tbody th{grid-column:1/-1;width:auto;border-top:0;padding:10px 10px 2px}
  .aff-cmp-t td{border-top:0;padding:4px 10px 10px;font-size:.86rem}
  .aff-cmp-t td+td{border-left:1px solid var(--line)}
}
.notfound.thanks{padding:88px 0 56px}

/* consent (Google Analytics only after "Accept"; markup and behaviour as signhalloween.com / escapegamekit.com) */
.linkbtn{background:none;border:0;padding:0;font:inherit;color:#fff;cursor:pointer;text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.linkbtn:hover{color:var(--blush)}
.consent{position:fixed;z-index:70;left:var(--gutter);bottom:16px;max-width:420px;padding:18px 20px;border-radius:var(--r);background:var(--white);color:var(--ink);border:1px solid var(--line-strong);box-shadow:var(--shadow-lg);display:none}
.consent.show{display:block}
.consent p{margin:0 0 12px;font-size:.92rem;line-height:1.5;color:var(--ink-soft)}
.consent p a{color:var(--berry)}
.consent .row{display:flex;gap:10px}
.consent .row .btn{flex:1}
@media (max-width:960px){.consent{left:10px;right:10px;bottom:10px;max-width:none}body:has(.buybar.show) .consent{bottom:calc(84px + env(safe-area-inset-bottom))}}
@media print{.consent{display:none!important}}
