/* Homepage book wheel (feat/home-book-wheel): a turning ring of 3D books that
   replaces the hero sample card. Everything is scoped to .hw-wheel / .guest-hero.hw
   and only applies when js/book-wheel.js mounts it. */
.hw-wheel .vc{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid var(--border);background:transparent;font:500 12.5px var(--sans);color:var(--text2);cursor:pointer}
.hw-wheel .vc::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--text3)}
.hw-wheel .vc[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--bg)}.vc[aria-pressed="true"]::before{background:var(--bg)}
@keyframes eq{0%,100%{height:4px}50%{height:13px}}
/* ---------- W: book wheel ---------- */
.hw-wheel .wh{position:relative;padding:52px 0 34px;overflow:hidden;background:radial-gradient(70% 52% at 50% 70%,#2C2219 0%,rgba(23,19,16,0) 72%)}
.hw-wheel .whtop{position:relative;z-index:3;text-align:center;padding:0 24px}
.hw-wheel .whtop h2{margin:14px auto 0;font:500 clamp(36px,5.4vw,68px)/1.02 var(--serif);letter-spacing:-.022em;max-width:860px;text-wrap:balance}
.hw-wheel .whtop h2 em{font-style:italic;color:var(--accent)}
.hw-wheel .whtop p{margin:14px auto 0;max-width:500px;color:var(--text2);font-size:16.5px;line-height:1.55}
.hw-wheel .whtop .ctas{justify-content:center;margin-top:24px}
.hw-wheel .wstage{--cw:196px;--ch:294px;--dp:14px;position:relative;height:calc(var(--ch)*1.62 + 112px);margin-top:18px;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)}
.hw-wheel .wstage:focus-visible{outline:none}
.hw-wheel .wstage:focus-visible .wcard.front .f{outline:2px solid var(--accent);outline-offset:4px}
.hw-wheel .wstage.drag{cursor:grabbing}
.hw-wheel .wview{position:absolute;inset:0}
.hw-wheel .wview.rf{pointer-events:none;opacity:.17;transform-origin:0 0;-webkit-mask-image:linear-gradient(180deg,transparent 0,transparent var(--rfcut,70%),#000 calc(var(--rfcut,70%) + 4%),transparent calc(var(--rfcut,70%) + 26%));mask-image:linear-gradient(180deg,transparent 0,transparent var(--rfcut,70%),#000 calc(var(--rfcut,70%) + 4%),transparent calc(var(--rfcut,70%) + 26%))}
.hw-wheel .wview.rf .ov,.hw-wheel .wview.rf .cs{display:none}
.hw-wheel .wring{position:absolute;left:50%;top:84px;width:0;height:0;perspective:1500px;perspective-origin:0 0}
.hw-wheel .wamb{position:absolute;left:50%;top:38%;width:min(1100px,140%);height:70%;transform:translateX(-50%);background:#8F5346;opacity:.2;transition:background-color 1.2s ease;pointer-events:none;-webkit-mask-image:radial-gradient(50% 50% at 50% 50%,#000,transparent 72%);mask-image:radial-gradient(50% 50% at 50% 50%,#000,transparent 72%)}
.hw-wheel .wfloor{position:absolute;left:50%;bottom:-10%;width:min(1200px,150%);height:62%;transform:translateX(-50%);background:radial-gradient(50% 60% at 50% 30%,rgba(201,162,106,.10),rgba(201,162,106,0) 70%);pointer-events:none}
.hw-wheel .wcard{display:contents;--T:24px}
.hw-wheel .wcard>span{cursor:pointer;-webkit-tap-highlight-color:transparent;will-change:transform}
.hw-wheel .wcard>span{position:absolute;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.hw-wheel .wcard .l{position:absolute;inset:0;background:#070504;opacity:0;pointer-events:none;z-index:4}
.hw-wheel .wcard .f,.hw-wheel .wcard .b{left:calc(var(--cw)/-2);top:0;width:var(--cw);height:var(--ch)}
.hw-wheel .wcard .f{border-radius:2px 6px 6px 2px;background:#211A14}
.hw-wheel .wcard .f img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.hw-wheel .wcard .f::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.18) 2.2%,rgba(255,255,255,.16) 3.6%,rgba(0,0,0,.22) 5.2%,rgba(255,255,255,.05) 6.6%,rgba(255,255,255,0) 11%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 80%,rgba(0,0,0,.2))}
.hw-wheel .wcard .f::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),inset -1px 0 0 rgba(255,255,255,.12)}
.hw-wheel .wcard .g{position:absolute;inset:-20% -60%;z-index:3;pointer-events:none;background:linear-gradient(105deg,rgba(255,244,224,0) 38%,rgba(255,244,224,.22) 48%,rgba(255,244,224,.05) 54%,rgba(255,244,224,0) 62%);mix-blend-mode:screen;opacity:0}
.hw-wheel .wcard .b{border-radius:6px 2px 2px 6px;background:var(--band)}
.hw-wheel .wcard .b .bi{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);filter:saturate(.7) brightness(.6) contrast(.9);pointer-events:none}
.hw-wheel .wcard .b::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(270deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.16) 2.2%,rgba(255,255,255,.12) 3.6%,rgba(0,0,0,.2) 5.2%,rgba(255,255,255,0) 10%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 80%,rgba(0,0,0,.22))}
.hw-wheel .wcard .b::after{content:"";position:absolute;inset:5% 7% 5% 9%;z-index:2;border:1px solid rgba(201,162,106,.28);border-radius:2px;pointer-events:none}
.hw-wheel .wcard .b .bh{position:absolute;left:0;right:0;top:0;height:38%;z-index:1;background:var(--band);border-bottom:1px solid rgba(201,162,106,.4);padding:15% 15% 0 17%;display:flex;flex-direction:column;gap:7%;text-align:left}
.hw-wheel .wcard .b .bh q{font:italic 400 calc(var(--cw)*.054)/1.38 var(--serif);color:rgba(241,232,216,.86);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.hw-wheel .wcard .b .bh em{font:700 calc(var(--cw)*.033)/1 var(--sans);font-style:normal;letter-spacing:.15em;text-transform:uppercase;color:rgba(201,162,106,.9)}
.hw-wheel .wcard .b .bf{position:absolute;left:0;right:0;bottom:0;height:10%;z-index:1;background:var(--band);border-top:1px solid rgba(201,162,106,.35);display:flex;align-items:center;justify-content:center;gap:5%;font:600 calc(var(--cw)*.05)/1 var(--serif);color:rgba(201,162,106,.85)}
.hw-wheel .wcard .b .bf svg{width:calc(var(--cw)*.05);height:auto}
.hw-wheel .wcard .sp{top:0;height:var(--ch);width:var(--T);left:calc(var(--T)/-2);
  background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,0) 22%,rgba(255,255,255,.10) 46%,rgba(0,0,0,0) 70%,rgba(0,0,0,.6)),var(--band);border-radius:3px}
.hw-wheel .wcard .sp::before,.hw-wheel .wcard .sp::after{content:"";position:absolute;left:0;right:0;height:2px;background:var(--art);opacity:.9;box-shadow:0 5px 0 -0px rgba(201,162,106,.55)}
.hw-wheel .wcard .sp::before{top:7%}.wcard .sp::after{bottom:11%}
.hw-wheel .wcard .sp em{position:absolute;left:50%;top:14%;bottom:20%;transform:translateX(-50%);writing-mode:vertical-rl;font:600 calc(var(--T)*.42)/1 var(--serif);font-style:normal;color:#EFE3CC;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em;max-height:66%}
.hw-wheel .wcard .sp u{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);width:calc(var(--T)*.36);height:calc(var(--T)*.36);border-radius:50%;background:var(--accent);opacity:.75;text-decoration:none}
.hw-wheel .wcard .pr{top:3px;height:calc(var(--ch) - 6px);width:calc(var(--T) - 2px);left:calc((var(--T) - 2px)/-2);
  background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,0) 12%,rgba(0,0,0,0) 88%,rgba(0,0,0,.35)),repeating-linear-gradient(90deg,#EFE6D3 0 1px,#D9CDB4 1px 1.6px,#E8DECA 1.6px 2.5px)}
.hw-wheel .wcard .pt,.hw-wheel .wcard .pb{left:calc((var(--cw) - 6px)/-2);width:calc(var(--cw) - 6px);height:calc(var(--T) - 2px);top:calc((var(--ch) - var(--T))/2 + 1px);
  background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,0) 14%,rgba(0,0,0,0) 86%,rgba(0,0,0,.3)),repeating-linear-gradient(180deg,#EFE6D3 0 1px,#D6CAB0 1px 1.7px,#E9DFCB 1.7px 2.6px)}
.hw-wheel .wcard .cs{left:calc(var(--cw)*-.7);width:calc(var(--cw)*1.4);height:calc(var(--T)*2 + 70px);top:calc((var(--ch) - var(--T)*2 - 70px)/2);z-index:1;background:radial-gradient(closest-side,rgba(0,0,0,.72),rgba(0,0,0,.35) 45%,rgba(0,0,0,0));backface-visibility:visible!important;-webkit-backface-visibility:visible!important;pointer-events:none}
.hw-wheel .wcard .ov{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s;pointer-events:none}
.hw-wheel .wcard .ov>span{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:rgba(14,11,9,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(241,232,216,.18);font:600 13px var(--sans);color:var(--text);white-space:nowrap}
@media (hover:hover){.wstage:not(.drag) .wcard:hover .ov{opacity:1}}
.hw-wheel .wcard.playing .f{box-shadow:inset 0 0 0 2px var(--accent)}
.hw-wheel .wcard.playing .cs{background:radial-gradient(closest-side,rgba(201,162,106,.55),rgba(201,162,106,.15) 50%,rgba(201,162,106,0))}
.hw-wheel .wcard.playing .ov{opacity:1}
.hw-wheel .wcard .eqb{display:inline-flex;align-items:flex-end;gap:2px;height:12px}.wcard .eqb i{width:3px;height:4px;background:var(--accent);border-radius:1px;animation:eq .9s ease-in-out infinite}.wcard .eqb i:nth-child(2){animation-delay:.15s}.wcard .eqb i:nth-child(3){animation-delay:.3s}

.hw-wheel .wspot{position:absolute;left:50%;bottom:calc(var(--ch)*.36);width:calc(var(--cw)*3.4);height:calc(var(--ch)*.5);transform:translateX(-50%);background:radial-gradient(50% 50% at 50% 50%,rgba(232,196,140,.20),rgba(232,196,140,.06) 45%,rgba(232,196,140,0) 72%);pointer-events:none;filter:blur(2px)}
.hw-wheel .warr{position:absolute;top:calc(84px + var(--ch)*.42);z-index:2000;width:48px;height:48px;border-radius:50%;border:1px solid rgba(241,232,216,.26);background:rgba(58,48,38,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;box-shadow:0 8px 24px rgba(0,0,0,.45);transition:opacity .25s,border-color .2s}
.hw-wheel .warr.l{left:calc(50% - var(--cw)*2.3)}.warr.r{right:calc(50% - var(--cw)*2.3)}
.hw-wheel .wstage:hover .warr,.hw-wheel .wstage:focus-within .warr{opacity:1}
.hw-wheel .warr:hover{border-color:var(--accent)}
.hw-wheel .wdial{position:relative;z-index:3;display:flex;justify-content:center;align-items:center;gap:14px;margin-top:-6px}
.hw-wheel .wdial .tks{display:flex;align-items:center}
.hw-wheel .wdial .tk{width:18px;height:28px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
.hw-wheel .wdial .tk i{display:block;width:3px;height:10px;border-radius:2px;background:#4A3D30;transition:height .3s,background .3s}
.hw-wheel .wdial .tk.s i{background:#7A6650}
.hw-wheel .wdial .tk:hover i{background:var(--text2)}
.hw-wheel .wdial .tk[aria-current="true"] i{height:22px;background:var(--accent);box-shadow:0 0 12px rgba(201,162,106,.6)}
.hw-wheel .wdial .ct{font:500 12px var(--sans);color:var(--text3);font-variant-numeric:tabular-nums;min-width:46px}
.hw-wheel .wspin{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-hi);background:transparent;color:var(--text2);display:flex;align-items:center;justify-content:center;cursor:pointer}
.hw-wheel .wspin:hover{color:var(--text);border-color:var(--accent)}
.hw-wheel .wnow{position:relative;z-index:3;max-width:720px;margin:18px auto 0;padding:0 24px;text-align:center}
.hw-wheel .wnow .wm{min-width:0;transition:opacity .28s ease,transform .28s ease}
.hw-wheel .wnow .wm.out{opacity:0;transform:translateY(6px)}
.hw-wheel .wnow .wl{margin:0 auto;max-width:640px;font:italic 400 clamp(18px,1.7vw,22px)/1.45 var(--serif);color:var(--text);text-wrap:balance;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hw-wheel .wnow h3{margin:14px 0 0;font:600 13px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.hw-wheel .wnow .wa{margin-top:6px;color:var(--text3);font-size:13.5px;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 10px}
.hw-wheel .wnow .wa b{color:var(--text2);font-weight:500}
.hw-wheel .wnow .wa i{width:3px;height:3px;border-radius:50%;background:var(--text3);opacity:.7}
.hw-wheel .wact{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 14px;margin-top:20px}
.hw-wheel .wplay{display:inline-flex;align-items:center;gap:12px;padding:5px 22px 5px 5px;min-height:56px;border-radius:999px;border:1px solid var(--accent);background:var(--accent);color:var(--bg);font:600 15px var(--sans);cursor:pointer;text-decoration:none;white-space:nowrap;text-align:left;box-shadow:0 10px 30px rgba(201,162,106,.18)}
.hw-wheel .wplay .pr{position:relative;width:46px;height:46px;flex:0 0 auto;border-radius:50%;background:var(--bg);color:var(--accent);display:flex;align-items:center;justify-content:center}
.hw-wheel .wplay .pr svg.ring{position:absolute;inset:0;transform:rotate(-90deg)}
.hw-wheel .wplay .pr svg.ring circle{fill:none;stroke-width:3}
.hw-wheel .wplay .pr .ic{position:relative}
.hw-wheel .wplay small{display:block;font:500 12px var(--sans);opacity:.72}
.hw-wheel .wvoice{display:flex;align-items:center;gap:4px;padding:4px;border-radius:999px;border:1px solid var(--border)}
.hw-wheel .wvoice .vc{min-height:34px;border:0}
.hw-wheel .wlink{font:500 13.5px var(--sans);color:var(--text2);text-decoration:underline;text-decoration-color:var(--border-hi);text-underline-offset:4px}
.hw-wheel .wlink:hover{color:var(--text)}
.hw-wheel .wsr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media (max-width:720px){
  .hw-wheel .wh{padding:34px 0 26px}
  .hw-wheel .whtop{padding:0 18px}
  .hw-wheel .whtop p{font-size:15px}
  .hw-wheel .wstage{--cw:150px;--ch:225px;--dp:8px;height:calc(var(--ch)*1.62 + 76px);margin-top:10px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent)}
  .hw-wheel .wring{top:58px}
  .hw-wheel .wnow{padding:0 18px;margin-top:12px}
  .hw-wheel .wnow .wl{font-size:17px}
  .hw-wheel .warr{display:none}
  .hw-wheel .wview.rf{display:none}
  .hw-wheel .wdial .tk{width:14px}
}
@media (prefers-reduced-motion:reduce){ .hw-wheel .wnow .wm,.hw-wheel .wcard .ov{transition:none} .hw-wheel .wcard .eqb i{animation:none;height:9px} }


.hw-wheel{--serif:var(--font-display);--sans:var(--font-ui);--text2:var(--text-2);--text3:var(--text-3);--border-hi:#4A3D30;--raised:#262019;--page:#0E0B09;position:relative}
.guest-hero.hw{padding-top:26px!important;padding-bottom:36px}
.guest-hero.hw .hero-inner{display:block!important;max-width:880px;margin:0 auto;text-align:center}
.guest-hero.hw .hero-copy{max-width:none;margin:0 auto}
.guest-hero.hw .hero-eyebrow{justify-content:center}
.guest-hero.hw .hero-headline{text-align:center;margin:10px auto 0!important;font-size:clamp(40px,4.6vw,66px);line-height:1.02}
.guest-hero.hw .hero-sub{margin:14px auto 0!important;max-width:780px!important;font-size:17px;line-height:1.55;text-wrap:balance}
.guest-hero.hw .hero-ctas{justify-content:center;margin-top:22px!important}
.guest-hero.hw .hero-checks{justify-content:center;margin-top:16px!important;opacity:.9}
.hw-wheel .wh{padding:0;background:none;overflow:visible}
.hw-wheel .wstage{margin-top:-4px;height:calc(var(--ch)*1.5 + 66px)}
.hw-wheel .wring{top:58px}
.hw-wheel .warr{top:calc(58px + var(--ch)*.42)}
.hw-apps{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:26px auto 0;color:var(--text-3);font-size:13px}
.hw-apps .hero-sample-apps-links{display:flex;gap:8px}
@media (max-width:720px){.hw-wheel .wdial{gap:8px}.hw-wheel .wdial .tk{width:12px}.hw-wheel .wdial .ct{min-width:38px}.guest-hero.hw{padding-top:24px!important}.guest-hero.hw .hero-sub{font-size:15.5px}.hw-wheel .wstage{margin-top:4px}}
.guest-hero.hw #hero-sample{display:none!important}
@media (max-width:960px){.guest-hero.hw .hw-wheel{order:1;width:100%}}

/* Calmer wheel: fixed text height, dots for progress, a stronger front book */
.hw-wheel .wnow .wm{min-height:calc(2.9em*1.0 + 66px)}
.hw-wheel .wnow .wl{min-height:2.9em;display:flex;align-items:center;justify-content:center}
.hw-wheel .warr{opacity:.9}
.hw-wheel .wdial .tk{width:15px}
.hw-wheel .wdial .tk i{width:6px;height:6px;border-radius:50%;background:#55473a}
.hw-wheel .wdial .tk.s i{background:#55473a}
.hw-wheel .wdial .tk[aria-current="true"] i{width:18px;height:6px;border-radius:3px;box-shadow:none}
.hw-wheel .wcard.front .ov{opacity:1;align-items:flex-end;padding-bottom:9%}
.hw-wheel .wcard.front .ov>span{padding:8px 13px;font-size:12.5px}
.hw-wheel .wspot{background:radial-gradient(50% 50% at 50% 50%,rgba(232,196,140,.3),rgba(232,196,140,.08) 45%,rgba(232,196,140,0) 72%)}
/* Shorter hero above the wheel, so the wheel sits higher */
.guest-hero.hw .hero-checks{display:none}
.guest-hero.hw .hero-headline{font-size:clamp(38px,4vw,58px)}
@media (max-width:720px){.hw-wheel .wnow .wl{min-height:4.3em}.hw-wheel .wdial .tk{width:13px}}

/* Fit the wheel and its play controls in the first screen */
@media (min-width:721px){
.guest-hero.hw{padding-top:16px!important;padding-bottom:28px}
.guest-hero.hw .hero-inner{max-width:980px}
.guest-hero.hw .hero-copy{gap:0}
.guest-hero.hw .hero-eyebrow{display:none}
.guest-hero.hw .hero-headline{margin:0 auto!important;max-width:none;font-size:clamp(34px,3.2vw,46px);line-height:1.1}
.guest-hero.hw .hero-headline br{display:none}
.guest-hero.hw .hero-headline-accent{margin-left:.25em}
.guest-hero.hw .hero-ctas{display:none}
.hw-wheel .wstage{--cw:150px;--ch:225px;margin-top:22px;height:calc(var(--ch)*1.34 + 40px)}
.hw-wheel .wview.rf{display:none}
.hw-wheel .wring{top:30px}
.hw-wheel .warr{top:calc(30px + var(--ch)*.42)}
.hw-wheel .wdial{margin-top:0}
.hw-wheel .wnow{display:flex;align-items:center;justify-content:center;gap:32px;max-width:940px;margin:4px auto 0;text-align:left}
.hw-wheel .wnow .wm{flex:1;min-width:0;min-height:130px;display:flex;flex-direction:column;justify-content:center;text-align:left;margin:0}
.hw-wheel .wnow .wm *{justify-content:flex-start;text-align:left;margin-left:0}
.hw-wheel .wnow .wl{min-height:0;margin:0 0 4px;font-size:18px;line-height:1.3}
.hw-wheel .wnow .wact{flex:none;margin:0}
.hw-apps{margin-top:6px}
}
@media (max-width:720px){
.guest-hero.hw{padding-top:12px!important}
.guest-hero.hw .hero-copy{gap:0}
.guest-hero.hw .hero-eyebrow{display:none}
.guest-hero.hw .hero-headline{margin:0 auto!important;font-size:34px;line-height:1.06}
.guest-hero.hw .hero-ctas{display:none}
.hw-wheel .wstage{margin-top:10px}
.hw-wheel .wnow .wm{min-height:181px;display:flex;flex-direction:column;justify-content:center}
}

/* Wheel and details refined. The intro line is gone; its space stays above the wheel. */
@media (min-width:721px){.hw-wheel .wstage{margin-top:48px}}
@media (max-width:720px){.hw-wheel .wnow .wact{min-height:114px;align-content:flex-start}}
.hw-wheel .wview:not(.rf) .wcard .f>img{transition:filter .5s ease;filter:brightness(.72) saturate(.85)}
.hw-wheel .wview:not(.rf) .wcard.front .f>img{filter:none}
.hw-wheel .wcard.front .ov{align-items:center;justify-content:center;padding:0}
.hw-wheel .wcard.front .ov>span{width:48px;height:48px;padding:0;border-radius:50%;font-size:0;gap:0;justify-content:center;background:rgba(23,19,16,.72);border:1px solid rgba(241,232,216,.28)}
.hw-wheel .wcard.front .ov>span:not(:has(svg,.eqb))::before{content:"↗";font-size:20px}
.hw-wheel .wdial{gap:12px;align-items:center;justify-content:center;margin-top:12px}
.hw-wheel .wdial .warr{position:static;width:36px;height:36px;opacity:1;flex:none;background:transparent;border:1px solid #3a3129;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.hw-wheel .wdial .warr:hover{border-color:var(--accent)}
.hw-wheel .wdial .tk i,.hw-wheel .wdial .tk.s i{width:7px;height:7px;background:#6a5947}
.hw-wheel .wdial .tk[aria-current="true"] i{width:20px;height:7px;border-radius:4px;background:var(--accent)}
.hw-wheel .wdial .ct{font-variant-numeric:tabular-nums;font-size:13px}
.hw-wheel .wdial .wspin{width:36px;height:36px;background:transparent;border:1px solid #3a3129}
.hw-wheel .wvoice{border:0;padding:0;background:none;gap:4px}
.hw-wheel .wvoice .vc{padding:7px 12px;font-size:13px;background:transparent;border:1px solid transparent;color:#a99c88}
.hw-wheel .wvoice .vc::before{display:none}
.hw-wheel .wvoice .vc[aria-pressed="true"]{background:#2a2118;border-color:#4a3d30;color:#f1e8d8}
.hw-wheel .wlink{white-space:nowrap}
.hw-apps{justify-content:center}
@media (min-width:721px){
.hw-wheel .wstage{--cw:144px;--ch:216px;height:calc(var(--ch)*1.34 + 26px)}
.hw-wheel .wdial{position:relative}
.hw-wheel .wdial .ct{position:absolute;left:calc(50% + 186px);margin:0;top:50%;transform:translateY(-50%)}
.hw-wheel .wdial .wspin{position:absolute;left:calc(50% + 242px);top:50%;transform:translateY(-50%)}
.hw-wheel .wnow{display:grid;grid-template-columns:minmax(0,1fr) 548px;gap:0;max-width:1080px;margin:14px auto 0;align-items:center}
.hw-wheel .wnow .wm{min-height:118px;padding-right:36px}
.hw-wheel .wnow .wl{font-size:19px;line-height:1.3;margin:0 0 10px}
.hw-wheel .wnow .wm h3{font-size:12.5px;letter-spacing:.09em;margin:0 0 3px}
.hw-wheel .wnow .wa{font-size:13px;color:#a99c88}
.hw-wheel .wnow .wact{flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:12px;min-height:82px;padding-left:36px;border-left:1px solid #2f271f}
.hw-apps{margin-top:26px}
.guest-hero.hw #lp-free{margin-top:56px}
}
@media (max-width:720px){
.hw-wheel .wstage{margin-top:32px}
.hw-wheel .wdial{gap:6px;flex-wrap:wrap}
}
@media (min-width:721px) and (max-width:1160px){
.hw-wheel .wnow{grid-template-columns:1fr;max-width:640px;row-gap:14px}
.hw-wheel .wnow .wm{padding:0;min-height:0}
.hw-wheel .wnow .wm *{text-align:center;justify-content:center}
.hw-wheel .wnow .wact{border:0;padding:0;justify-content:center;flex-wrap:wrap}
}
/* Larger wheel on larger screens */
@media (min-width:1200px) and (min-height:800px){.hw-wheel .wstage{--cw:170px;--ch:255px}}
@media (min-width:1400px) and (min-height:900px){.hw-wheel .wstage{--cw:196px;--ch:294px}}
@media (min-width:1700px) and (min-height:1040px){.hw-wheel .wstage{--cw:220px;--ch:330px}}


/* ---------- Wheel polish (feat/home-wheel-polish) ---------- */
/* Far side dissolves into haze instead of a hard crop */
.hw-wheel .wstage{overflow:visible}
.hw-wheel .wstage::before{content:"";position:absolute;left:-30%;right:-30%;top:15px;height:96px;z-index:9000;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 92%,transparent),color-mix(in srgb,var(--bg) 55%,transparent) 45%,transparent);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent),linear-gradient(90deg,transparent 30%,#000 42%,#000 58%,transparent 70%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,#000 40%,transparent),linear-gradient(90deg,transparent 30%,#000 42%,#000 58%,transparent 70%);mask-composite:intersect}
/* Room light takes the front cover's colour */
.hw-wheel .wamb{opacity:.3;background:color-mix(in oklch,var(--amb,#8F5346) 70%,#C9A26A)}
.hw-wheel .wfloor{height:70%;background:radial-gradient(55% 55% at 50% 28%,color-mix(in oklch,var(--amb,#8F5346) 35%,transparent),transparent 70%)}
.hw-wheel .wspot{bottom:calc(var(--ch)*.3);width:calc(var(--cw)*2.6);height:calc(var(--ch)*.34);background:radial-gradient(50% 50% at 50% 50%,rgba(232,196,140,.28),rgba(232,196,140,.08) 45%,transparent 72%);filter:blur(6px)}
/* Front cover: rim light, deeper hinge, finer gloss */
.hw-wheel .wcard .f::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),inset -1px 0 0 rgba(255,236,200,.28),inset 0 1px 0 rgba(255,255,255,.14)}
.hw-wheel .wcard .f::before{background:linear-gradient(90deg,rgba(0,0,0,.55) 0,rgba(0,0,0,.2) 2.2%,rgba(255,255,255,.18) 3.6%,rgba(0,0,0,.24) 5.2%,rgba(255,255,255,.05) 6.6%,transparent 11%),linear-gradient(180deg,rgba(255,255,255,.08),transparent 28%,transparent 78%,rgba(0,0,0,.26))}
.hw-wheel .wcard .g{background:linear-gradient(105deg,transparent 40%,rgba(255,244,224,.16) 48%,rgba(255,244,224,.04) 53%,transparent 60%)}
/* Back covers recede */
.hw-wheel .wcard .b::after{border-color:rgba(201,162,106,.14)}
.hw-wheel .wcard .b .bh q{color:rgba(241,232,216,.6)}
.hw-wheel .wcard .b .bh em,.hw-wheel .wcard .b .bf{color:rgba(201,162,106,.55)}
.hw-wheel .wcard .b .bc{opacity:.5}
/* Headline italic: brushed gold */
.guest-hero.hw .hero-headline em{background:linear-gradient(100deg,#E8C48C 0%,#C9A26A 45%,#F0D7A8 70%,#B8905A 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
/* Dial: the turn timer fills a gold arc round the pause button; the current tick glows */
@property --wp{syntax:"<percentage>";inherits:true;initial-value:0%}
.hw-wheel .wspin{position:relative;overflow:visible;isolation:isolate;border:1.5px solid #3A3028;background:none}
.hw-wheel .wspin::before{content:"";position:absolute;inset:-2px;border-radius:50%;z-index:-1;background:conic-gradient(var(--accent) var(--wp),#3A3028 0)}
.hw-wheel .wspin::after{content:"";position:absolute;inset:0;border-radius:50%;z-index:-1;background:var(--bg)}
.hw-wheel .wspin[aria-pressed="false"]::before{background:#3A3028}
.hw-wheel .wdial .tk i{transition:height .35s cubic-bezier(.2,.8,.2,1),background .35s,width .35s cubic-bezier(.2,.8,.2,1)}
.hw-wheel .wdial .tk[aria-current="true"] i{box-shadow:0 0 14px rgba(201,162,106,.7),0 0 2px rgba(255,230,180,.9)}
.hw-wheel .wdial .ct{color:var(--text2);letter-spacing:.04em}
/* Quote: warmer white */
.hw-wheel .wnow .wl{color:#F3EADA}
/* Play pill: brushed gold, light circling the rim, lift on hover */
@property --wang{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes wrim{to{--wang:360deg}}
.hw-wheel .wplay{position:relative;isolation:isolate;border-color:transparent;background:linear-gradient(170deg,#DDB57C,#C39A60 60%,#B88E55);box-shadow:0 1px 0 rgba(255,255,255,.35) inset,0 12px 34px -8px rgba(201,162,106,.5),0 2px 8px rgba(0,0,0,.4);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.hw-wheel .wplay::before{content:"";position:absolute;inset:-1.5px;border-radius:inherit;z-index:-1;background:conic-gradient(from var(--wang),#F4DFB4,#C9A26A 30%,#8A6A3E 55%,#F4DFB4 100%);animation:wrim 9s linear infinite}
.hw-wheel .wplay:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 18px 40px -8px rgba(201,162,106,.65),0 3px 10px rgba(0,0,0,.4)}
.hw-wheel .wplay .pr{background:#120E0B;box-shadow:inset 0 1px 2px rgba(0,0,0,.6)}
.hw-wheel .wplay .pr .ic{filter:drop-shadow(0 0 6px rgba(201,162,106,.6))}
.hw-wheel .wlink{text-decoration-color:rgba(201,162,106,.5);transition:color .2s,text-decoration-color .2s}
.hw-wheel .wlink:hover{text-decoration-color:var(--accent)}
/* Tighter rhythm so the store badges sit above the fold on a 768px laptop */
.guest-hero.hw{padding-top:18px!important}
.guest-hero.hw .hero-headline{margin-top:6px!important}
.hw-wheel .wstage{margin-top:-10px}
.hw-wheel .wdial{margin-top:-12px}
.hw-wheel .wact{margin-top:14px}
.hw-apps{margin-top:16px}
@media (prefers-reduced-motion:reduce){.hw-wheel .wplay::before{animation:none}.hw-wheel .wplay{transition:none}}
@media (max-width:720px){.hw-wheel .wstage::before{top:0;height:70px}.hw-wheel .wstage{margin-top:4px}}

/* ---------- Book polish (feat/home-books-polish) ---------- */
/* Ink flow: the marbling drifts on the front cover; the title band stays crisp */
.hw-wheel .wcard .f img.flow{position:absolute;inset:0;z-index:1;opacity:0;filter:url(#inkflow);-webkit-mask-image:linear-gradient(180deg,transparent 46%,#000 54%,#000 94%,transparent);mask-image:linear-gradient(180deg,transparent 46%,#000 54%,#000 94%,transparent);transition:opacity .8s}
.hw-wheel .wcard.front .f img.flow{opacity:1}
.hw-wheel .wview.rf .flow{display:none}
/* Breathing: the front cover eases in and back */
@keyframes wkb{from{transform:scale(1) translateY(0)}to{transform:scale(1.045) translateY(-1%)}}
.hw-wheel .wcard.front .f img{animation:wkb 16s ease-in-out infinite alternate;transform-origin:50% 40%}
/* Paper grain, spine shading and a gentle cylinder bend on every cover */
.hw-wheel .wcard .f::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E") 0 0/160px 160px,linear-gradient(90deg,rgba(0,0,0,.55) 0,rgba(0,0,0,.2) 2.2%,rgba(255,255,255,.18) 3.6%,rgba(0,0,0,.24) 5.2%,rgba(255,255,255,.05) 6.6%,transparent 11%),linear-gradient(90deg,rgba(0,0,0,.14),transparent 28%,rgba(255,255,255,.05) 52%,transparent 76%,rgba(0,0,0,.14)),linear-gradient(180deg,rgba(255,255,255,.08),transparent 28%,transparent 78%,rgba(0,0,0,.26))}
/* Gilt page edges */
.hw-wheel .wcard .pr{background:linear-gradient(90deg,rgba(0,0,0,.4),rgba(0,0,0,0) 14%,rgba(0,0,0,0) 86%,rgba(0,0,0,.4)),repeating-linear-gradient(90deg,#E2C48A 0 1px,#B8955A 1px 1.6px,#D7B77C 1.6px 2.5px)}
.hw-wheel .wcard .pt,.hw-wheel .wcard .pb{background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,0) 16%,rgba(0,0,0,0) 84%,rgba(0,0,0,.32)),repeating-linear-gradient(180deg,#E2C48A 0 1px,#B8955A 1px 1.7px,#D7B77C 1.7px 2.6px)}
/* Depth of field: side and back covers soften a touch */
.hw-wheel .wcard:not(.front) .f img{filter:blur(.5px) saturate(.92)}
.hw-wheel .wcard .b .bi{filter:saturate(.6) brightness(.55) contrast(.9) blur(1.2px)}
/* Pointer glare on the front cover (--mx/--my set from pointermove) */
.hw-wheel .wcard.front .f::after{background:radial-gradient(60% 50% at var(--mx,50%) var(--my,30%),rgba(255,240,210,.16),transparent 70%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),inset -1px 0 0 rgba(255,236,200,.28),inset 0 1px 0 rgba(255,255,255,.14)}
/* Window light: a slow beam crosses the shelf */
@keyframes wbeam{from{transform:translateX(-60%)}to{transform:translateX(60%)}}
.hw-wheel .wstage::after{content:"";position:absolute;inset:0 -20%;z-index:8000;pointer-events:none;background:linear-gradient(100deg,transparent 35%,rgba(255,236,200,.07) 48%,rgba(255,236,200,.10) 50%,rgba(255,236,200,.07) 52%,transparent 65%);mix-blend-mode:screen;-webkit-mask-image:radial-gradient(42% 60% at 50% 55%,#000 30%,transparent 100%);mask-image:radial-gradient(42% 60% at 50% 55%,#000 30%,transparent 100%);animation:wbeam 26s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){.hw-wheel .wcard.front .f img{animation:none}.hw-wheel .wstage::after{animation:none}.hw-wheel .wcard .f img.flow{display:none}}
@media (max-width:720px){.hw-wheel .wcard .f img.flow{display:none}.hw-wheel .wcard:not(.front) .f img{filter:none}}
