/* Product, bundle and bundle-shelf design (2026-10-29). One stylesheet for every width,
   loaded after the desktop palette and the phone layer. Uses the site's sage & cream tokens. */
.pdp,.bundle-shelf,.bundle-fan,.coming-later-list{
 --pdp-ink:#2f3b34;--pdp-muted:#5b665f;--pdp-line:#e1e5da;--pdp-paper:#fffefa;--pdp-mist:#eef1e8;--pdp-mist-2:#e4eadb;
 --pdp-sage:#8fae8b;--pdp-deep:#56744f;--pdp-lime:#d8e8b0;--pdp-on:#1e2922;--pdp-r:18px;--pdp-r-sm:12px;
 --pdp-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

/* ── Hero ───────────────────────────────────────── */
.pdp .pdp-hero{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:64px;align-items:start;padding:40px 0 56px}
.pdp .pdp-hero h1{font-size:clamp(40px,5.4vw,68px);line-height:1.04;letter-spacing:-.03em;margin:0 0 20px;color:var(--pdp-ink)}
.pdp .pdp-headline{font-size:clamp(18px,1.6vw,22px);line-height:1.45;color:var(--pdp-ink);max-width:36ch;margin-bottom:32px}
.pdp .pdp-label{display:block;font-size:11px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--pdp-muted);margin-bottom:8px}
.pdp-stats{list-style:none;margin:0 0 32px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--pdp-line)}
.pdp-stats li{padding:18px 16px 18px 0;display:grid;gap:4px}
.pdp-stats li+li{padding-left:16px;border-left:1px solid var(--pdp-line)}
.pdp-stats strong{font-size:clamp(26px,2.6vw,34px);font-weight:500;letter-spacing:-.02em;line-height:1;color:var(--pdp-deep)}
.pdp-stats span{font-size:13px;line-height:1.35;color:var(--pdp-muted)}
.pdp-for p{color:var(--pdp-ink);max-width:56ch;margin:0 0 6px;font-size:15px}
.pdp-symbols{display:flex;flex-wrap:wrap;gap:10px}
.pdp-symbols span{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--pdp-mist);border:1px solid var(--pdp-line);color:var(--pdp-deep)}
.pdp-symbols svg{width:26px;height:26px}

/* ── Purchase panel ─────────────────────────────── */
.pdp .pdp-buy{position:sticky;top:110px;background:var(--pdp-paper);border:1px solid var(--pdp-line);border-radius:var(--pdp-r);padding:26px;box-shadow:0 18px 40px -28px #2f3b3440;display:grid;gap:14px}
.pdp .pdp-buy .purchase-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--pdp-muted)}
.pdp .pdp-buy .tier{border:1px solid var(--pdp-line);border-radius:999px;padding:3px 10px;background:var(--pdp-mist);color:var(--pdp-ink)}
.pdp .pdp-buy .detail-price{display:flex;align-items:baseline;gap:8px;font-size:44px;letter-spacing:-.03em;line-height:1;color:var(--pdp-ink)}
.pdp .pdp-buy .detail-price>span{font-size:12px;letter-spacing:.5px;color:var(--pdp-muted)}
/* The theme sizes every span in .detail-price small; keep the amount itself at the panel size. */
.pdp .pdp-buy .detail-price .woocommerce-Price-amount,.pdp .pdp-buy .detail-price .woocommerce-Price-amount *,.pdp .pdp-buy .detail-price>.price{font-size:inherit;letter-spacing:inherit;color:inherit}
.pdp .pdp-buy .payment-caption{font-size:13px;color:var(--pdp-muted);margin:0}
.pdp .pdp-buy .payment-caption s{color:var(--pdp-muted)}
.pdp .pdp-buy .purchase-includes{list-style:none;margin:4px 0;padding:14px 0;border-block:1px solid var(--pdp-line);display:grid;gap:9px}
.pdp .pdp-buy .purchase-includes li{position:relative;padding-left:24px;font-size:14px;line-height:1.45;color:var(--pdp-ink)}
.pdp .pdp-buy .purchase-includes li:before{content:'';position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:1.6px solid var(--pdp-deep);border-bottom:1.6px solid var(--pdp-deep);transform:rotate(-45deg)}
.pdp .pdp-buy .purchase-footnote{font-size:12.5px;line-height:1.5;color:var(--pdp-muted);margin:0;text-align:left}
.pdp .pdp-buy .refund-note{font-size:12px;line-height:1.5;color:var(--pdp-muted);text-decoration:underline;text-underline-offset:3px}
.pdp-bundle-offer{position:relative;display:grid;gap:2px;margin-top:4px;padding:14px 48px 14px 16px;border-radius:var(--pdp-r-sm);background:var(--pdp-lime);color:var(--pdp-on);text-decoration:none}
.pdp-bundle-offer .pdp-label{margin:0;color:#3f5a3a}
.pdp-bundle-offer strong{font-weight:600}
.pdp-bundle-offer span{font-size:13px}
.pdp-bundle-offer .card-link{position:absolute;right:14px;top:50%;transform:translateY(-50%)}
.pdp-bundle-offer:hover{filter:brightness(.98)}
.pdp .bundle-save,.bundle-card .bundle-save{background:var(--pdp-lime);color:var(--pdp-on);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}

/* ── Package preview ────────────────────────────── */
.pdp-package{border:1px solid var(--pdp-line);border-radius:var(--pdp-r);background:var(--pdp-paper);overflow:hidden;margin-bottom:8px}
.pdp-package-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 20px;background:var(--pdp-mist);border-bottom:1px solid var(--pdp-line);font-size:13px;color:var(--pdp-muted)}
.pdp-folder{display:inline-flex;align-items:center;gap:8px;font-family:var(--pdp-mono);color:var(--pdp-ink)}
.pdp-tree,.pdp-file-list{list-style:none;margin:0;padding:0}
.pdp-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.pdp-tree li,.pdp-file-list li{display:grid;grid-template-columns:20px minmax(0,auto) 1fr;align-items:start;gap:10px;padding:12px 20px;border-bottom:1px solid var(--pdp-line);font-size:13.5px}
.pdp-tree li:nth-child(odd){border-right:1px solid var(--pdp-line)}
.pdp-tree code,.pdp-file-list code{font-family:var(--pdp-mono);font-size:12.5px;color:var(--pdp-ink);background:none;padding:0;overflow-wrap:anywhere}
.pdp-tree span,.pdp-file-list span{color:var(--pdp-muted);line-height:1.45}
.pdp-tree .pdp-tree-more{display:block;grid-column:1/-1;border-right:0}
.pdp-tree .pdp-tree-more a{color:var(--pdp-deep);text-decoration:underline;text-underline-offset:3px}
.pdp-file-icon{color:var(--pdp-deep);margin-top:1px}
.pdp-file-icon.is-sheet{color:#4f7a6b}.pdp-file-icon.is-pdf{color:#8a5a44}.pdp-file-icon.is-web{color:#4d6a8a}

/* ── Sections ───────────────────────────────────── */
.pdp .detail-section .section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:48px;align-items:end;margin-bottom:32px}
.pdp .detail-section .section-heading>p{margin:0;color:var(--pdp-muted)}
.pdp .detail-section h2 em{font-style:italic;color:var(--pdp-deep)}
.pdp-card-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;counter-reset:none}
.pdp-card-list li{display:flex;gap:14px;align-items:baseline;padding:18px 18px 20px;border:1px solid var(--pdp-line);border-radius:var(--pdp-r-sm);background:var(--pdp-paper);font-size:16px;line-height:1.35;color:var(--pdp-ink)}
.pdp-card-list li span{flex:none;font-family:var(--pdp-mono);font-size:12px;color:var(--pdp-deep);background:var(--pdp-mist);border-radius:6px;padding:2px 6px}
.pdp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pdp-steps li{padding:22px;border-radius:var(--pdp-r);background:var(--pdp-mist)}
.pdp-steps p{color:var(--pdp-ink);margin:12px 0 0;line-height:1.5}
.pdp-step-no{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:999px;background:var(--pdp-sage);color:var(--pdp-on);font-weight:600;font-size:14px}
.pdp-weeks{grid-template-columns:repeat(4,minmax(0,1fr))}
.pdp-example{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.pdp-example h2{margin-bottom:18px}
.pdp-example .pdp-note{font-size:13px;color:var(--pdp-muted);border-left:2px solid var(--pdp-sage);padding-left:12px;margin-top:18px}
.pdp-timeline{list-style:none;margin:0;padding:0 0 0 22px;border-left:1px solid var(--pdp-line);display:grid;gap:14px}
.pdp-timeline li{position:relative;color:var(--pdp-ink);line-height:1.45}
.pdp-timeline li:before{content:'';position:absolute;left:-28px;top:.4em;width:11px;height:11px;border-radius:50%;background:var(--pdp-paper);border:2px solid var(--pdp-sage)}
.pdp-file-list{border:1px solid var(--pdp-line);border-radius:var(--pdp-r);background:var(--pdp-paper);overflow:hidden}
.pdp-file-list li:last-child{border-bottom:0}
.pdp-file-list li{grid-template-columns:20px minmax(180px,.9fr) 1.4fr}
.pdp-not-included{margin-top:18px;font-size:14px;color:var(--pdp-muted)}
.pdp-not-included strong{color:var(--pdp-ink)}
.pdp-scope{display:inline-block;margin-top:6px;font-size:13px;color:var(--pdp-muted)}

/* ── Bundle kit grid ────────────────────────────── */
.pdp-kit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pdp-kit-card{display:grid;align-content:start;gap:8px;padding:22px;border:1px solid var(--pdp-line);border-radius:var(--pdp-r);background:var(--pdp-paper)}
.pdp-kit-card .eyebrow{margin:6px 0 0}
.pdp-kit-card h3{font-size:20px;line-height:1.25}
.pdp-kit-card h3 a{color:var(--pdp-ink)}
.pdp-kit-card p{font-size:14px;margin:0}
.pdp-kit-top{display:flex;justify-content:space-between;align-items:center}
.pdp-kit-price{font-size:14px;color:var(--pdp-muted)}
.pdp-kit-facts{list-style:none;margin:6px 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.pdp-kit-facts li{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--pdp-mist);color:var(--pdp-ink)}
.bundle-symbol{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--pdp-mist);color:var(--pdp-deep)}
.bundle-symbol svg{width:20px;height:20px}

/* ── Bundle shelf and cards ─────────────────────── */
.bundle-shelf{padding-block:88px 72px}
.bundle-shelf .section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:48px;align-items:end;margin-bottom:28px}
.bundle-shelf .section-heading>p{margin:0}
.bundle-shelf h2 em{font-style:italic;color:var(--pdp-deep)}
.bundle-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.bundle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.bundle-card{position:relative;display:grid;align-content:start;gap:10px;padding:24px;border:1px solid var(--pdp-line);border-radius:var(--pdp-r);background:var(--pdp-paper);transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .2s ease}
.bundle-card[hidden]{display:none}
.bundle-card .eyebrow{margin:4px 0 0}
.bundle-card h3{font-size:24px;line-height:1.2}
.bundle-card h3 a{color:var(--pdp-ink)}
.bundle-card h3 a:after{content:'';position:absolute;inset:0;border-radius:inherit}
.bundle-card .bundle-promise{font-size:14.5px;line-height:1.5;margin:0}
.bundle-card-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--pdp-muted)}
.bundle-kits{border:1px solid var(--pdp-line);border-radius:999px;padding:3px 10px;background:var(--pdp-mist);color:var(--pdp-ink)}
.bundle-includes{list-style:none;margin:6px 0 4px;padding:12px 0 0;border-top:1px solid var(--pdp-line);display:grid;gap:7px}
.bundle-includes li{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--pdp-ink)}
.bundle-includes .bundle-symbol{width:28px;height:28px;border-radius:8px}
.bundle-includes .bundle-symbol svg{width:15px;height:15px}
.bundle-card-bottom{display:flex;justify-content:space-between;align-items:end;margin-top:8px;padding-top:14px;border-top:1px solid var(--pdp-line)}
.bundle-price{display:block;font-size:32px;letter-spacing:-.02em;line-height:1;color:var(--pdp-ink)}
.bundle-was{display:block;margin-top:4px;font-size:12.5px;color:var(--pdp-muted)}
.bundle-card .card-link{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--pdp-line);color:var(--pdp-ink)}
@media(hover:hover) and (pointer:fine){.bundle-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px -20px #2f3b3440}.bundle-card:hover .card-link{background:var(--pdp-sage);border-color:var(--pdp-sage);color:var(--pdp-on)}}
@media(prefers-reduced-motion:reduce){.bundle-card{transition:none}.bundle-card:hover{transform:none}}
.bundle-card:focus-within{outline:2px solid var(--pdp-deep);outline-offset:3px}
.bundle-card .card-primary-link:focus-visible{outline:none}

/* Home hero: the second action is an outline button on every width. */
.hero-actions .efm-button-ghost:not(.efm-only){background:transparent!important;border-color:#cfd7c6!important;color:var(--ink,#2f3b34)!important;box-shadow:none!important}

/* ── Coming later page ──────────────────────────── */
.coming-later-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:28px 0}
.coming-later-list article{padding:20px;border:1px solid var(--pdp-line);border-radius:var(--pdp-r-sm);background:var(--pdp-paper)}
.coming-later-list h3{font-size:19px;margin-bottom:8px}
.coming-later-list .eyebrow{margin-bottom:8px}
.coming-later-list p{font-size:14px;margin:0}

/* ── Tablet ─────────────────────────────────────── */
@media(max-width:1100px){
 .pdp .pdp-hero{grid-template-columns:minmax(0,1fr) 360px;gap:40px}
 .pdp-card-list,.pdp-kit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pdp-weeks{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
 .pdp .pdp-hero{grid-template-columns:1fr;gap:32px;padding-top:24px}
 .pdp .pdp-buy{position:static}
 .pdp .detail-section .section-heading,.bundle-shelf .section-heading,.pdp-example{grid-template-columns:1fr;gap:16px}
 .pdp-steps{grid-template-columns:1fr}
 .pdp-tree{grid-template-columns:1fr}
 .pdp-tree li:nth-child(odd){border-right:0}
}
/* ── Phone ──────────────────────────────────────── */
@media(max-width:760px){
 .pdp .pdp-hero h1{font-size:clamp(34px,9.6vw,44px)}
 .pdp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pdp-stats li:nth-child(3){padding-left:0;border-left:0}
 .pdp-stats li:nth-child(n+3){border-top:1px solid var(--pdp-line)}
 .pdp .pdp-buy{padding:20px}
 .pdp .pdp-buy .detail-price{font-size:38px}
 .pdp-card-list,.pdp-kit-grid,.pdp-weeks{grid-template-columns:1fr}
 .pdp-file-list li,.pdp-tree li{grid-template-columns:20px minmax(0,1fr);padding:12px 14px}
 .pdp-file-list li span,.pdp-tree li span{grid-column:2}
 .pdp-package-head{padding:12px 14px}
 .bundle-shelf{padding-block:48px 32px}
 .bundle-tabs{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(-1 * var(--gutter,20px));padding-inline:var(--gutter,20px);scrollbar-width:none}
 .bundle-tabs::-webkit-scrollbar{display:none}
 .bundle-tabs .filter-tab{flex:none}
 .bundle-grid{grid-template-columns:1fr}
 .bundle-card{padding:20px}
}

/* The phone home page orders its sections (hero = 1); same order keeps the bundle section right after the hero. */
@media(max-width:760px){body.home .bundle-fan,body.home .bundle-shelf{order:1}}

/* ── Home bundle fan: four bundles as a hand of playing cards; the chosen card's bundle shows on the right ── */
.bundle-fan{padding-block:80px 64px}
.fan-head{margin-bottom:8px}
.fan-head h2 em{font-style:italic;color:var(--pdp-deep)}
.fan-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center}
.fan-hand{position:relative;height:540px;--card-w:238px;--gap:92px;--spread:7deg;--drop:16px;--pull:-56px}
/* Cards sit along an arc: --k is the offset from the centre of the hand, --ak its absolute value.
   Stacking (inline z-index) falls away from the chosen card, so every other card shows a strip with its price.
   --push (set by pdp.js) moves the other cards a little away from the chosen one so each keeps a wide click area. */
.fan-card{position:absolute;left:50%;bottom:36px;width:var(--card-w);aspect-ratio:5/7;padding:0;border:0;border-radius:20px;cursor:pointer;font:inherit;text-align:left;color:var(--pdp-ink);
 --angle:calc(var(--k) * var(--spread));--lift:calc(var(--ak) * var(--drop));
 transform-origin:50% 100%;transform:translateX(calc(-50% + (var(--k) + var(--push, 0)) * var(--gap))) translateY(var(--lift)) rotate(var(--angle));
 background:var(--tone,#e3ecdc);box-shadow:0 1px 0 #ffffffb3 inset,0 18px 34px -22px #2f3b3466,0 2px 6px #2f3b3412;transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .3s}
.fan-card:before{content:'';position:absolute;inset:9px;border-radius:13px;border:1px solid #2f3b3424;pointer-events:none}
.fan-card.is-lime{--tone:#e7f0c8}.fan-card.is-sage{--tone:#dfe9d8}.fan-card.is-lavender{--tone:#e9e3f2}.fan-card.is-sand{--tone:#f2e9d7}
.fan-card.is-active{--lift:var(--pull);--angle:0deg;box-shadow:0 1px 0 #ffffffb3 inset,0 34px 60px -26px #2f3b3480,0 0 0 2px var(--pdp-deep)}
/* Hover changes only the shadow: moving the card would pull its click area away from the pointer. */
@media(hover:hover) and (pointer:fine){.fan-card:not(.is-active):hover{box-shadow:0 1px 0 #ffffffb3 inset,0 26px 44px -22px #2f3b3480,0 0 0 1px #56744f66}}
.fan-card:focus-visible{outline:3px solid var(--pdp-deep);outline-offset:4px}
.fan-corner{position:absolute;top:18px;left:18px;display:grid;line-height:1.05}
.fan-corner strong{font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:400;letter-spacing:-.02em}
.fan-corner small{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--pdp-muted)}
.fan-corner.is-flipped{top:auto;left:auto;bottom:18px;right:18px;transform:rotate(180deg)}
.fan-face{position:absolute;inset:58px 20px 56px;display:grid;align-content:center;justify-items:center;gap:10px;text-align:center}
.fan-emblem{display:grid;grid-template-columns:repeat(2,40px);gap:6px;padding:12px;border-radius:50%;background:#ffffff8c;box-shadow:0 0 0 1px #2f3b3414}
.fan-emblem span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--pdp-paper);color:var(--pdp-deep)}
.fan-emblem svg{width:20px;height:20px}
.fan-suit{font-size:10.5px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:var(--pdp-muted)}
.fan-name{font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.15;letter-spacing:-.01em;color:var(--pdp-ink)}
.fan-save{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--pdp-paper);color:var(--pdp-deep)}

.fan-panel{display:grid;gap:12px;padding:32px;border-radius:26px;background:var(--pdp-paper);border:1px solid var(--pdp-line);box-shadow:0 24px 50px -36px #2f3b3459;animation:fan-in .35s cubic-bezier(.22,.61,.36,1)}
.fan-panel[hidden]{display:none}
.fan-panel .eyebrow{margin:0}
.fan-panel h3{font-size:clamp(28px,2.8vw,38px);line-height:1.1;letter-spacing:-.02em}
.fan-promise{font-size:16px;line-height:1.5;margin:0}
.fan-kits{list-style:none;margin:6px 0 4px;padding:12px 0;border-block:1px solid var(--pdp-line);display:grid;gap:8px}
.fan-kits li{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;font-size:14px;color:var(--pdp-ink)}
.fan-kits .bundle-symbol{width:28px;height:28px;border-radius:8px}
.fan-kits .bundle-symbol svg{width:15px;height:15px}
.fan-kits s{font-size:12.5px;color:var(--pdp-muted)}
.fan-price{display:flex;align-items:end;gap:18px;flex-wrap:wrap}
.fan-amount{font-family:Georgia,"Times New Roman",serif;font-size:clamp(52px,5vw,68px);line-height:.95;letter-spacing:-.03em;color:var(--pdp-ink)}
.fan-was{font-size:13px;line-height:1.45;color:var(--pdp-muted);padding-bottom:6px}
.fan-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:4px}
.fan-actions .fan-buy{min-height:54px;padding-inline:26px}
.fan-more{font-size:14px;color:var(--pdp-ink);text-decoration:underline;text-underline-offset:4px}
.fan-note{font-size:12.5px;color:var(--pdp-muted);margin:0}
.fan-shop{margin:18px 0 0;text-align:center;font-size:14px}
.fan-shop a{display:inline-flex;align-items:center;gap:8px;color:var(--pdp-muted);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
.fan-shop a:hover,.fan-shop a:focus-visible{color:var(--pdp-deep);border-color:currentColor}
.fan-shop svg{width:16px;height:16px}
@keyframes fan-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.fan-card{transition:none}.fan-panel{animation:none}}
@media(max-width:1100px){.fan-hand{--card-w:190px;--gap:72px;height:450px}}
@media(max-width:900px){.fan-layout{grid-template-columns:1fr;gap:8px}.fan-hand{height:450px}}
/* Side by side, all panels share one cell sized to the tallest, so switching never changes the
   section height and the cards stay put under the pointer. */
@media(min-width:901px){.fan-card{left:calc(50% - 40px)}.fan-panels{display:grid}.fan-panel{grid-area:1/1}.fan-panel[hidden]{display:grid!important;visibility:hidden;animation:none}}
@media(max-width:760px){
 .bundle-fan{padding-block:44px 28px}
 .fan-hand{height:300px;--card-w:140px;--gap:50px;--spread:6deg;--drop:10px;--pull:-30px}
 .fan-card{left:calc(50% - 20px);bottom:22px;border-radius:16px}
 .fan-corner{top:12px;left:12px}.fan-corner.is-flipped{bottom:12px;right:12px}
 .fan-corner strong{font-size:16px}.fan-corner small{font-size:9px}
 .fan-face{inset:44px 10px 42px;gap:6px}
 /* Small cards keep only the corners, audience and name; the panel below carries the detail. */
 .fan-emblem,.fan-save{display:none}
 .fan-emblem{grid-template-columns:repeat(2,28px);gap:4px;padding:8px}
 .fan-emblem span{width:28px;height:28px;border-radius:8px}.fan-emblem svg{width:14px;height:14px}
 .fan-name{font-size:15px;line-height:1.2}.fan-suit{font-size:8.5px;letter-spacing:1px}.fan-save{font-size:10px;padding:2px 8px}
 .fan-panel{padding:22px;border-radius:22px}
 .fan-actions .fan-buy{width:100%}
}
