
/* ---- /partners (tools/partners_landing.py) ---- */
.pt-page{--page:1120px;--card:#120f1e;--accent-300:#d2cefd;font-size:17px;line-height:1.6}
.pt-page h1,.pt-page h2,.pt-page h3{font-family:var(--body);font-weight:500;margin:0;letter-spacing:-.01em;text-wrap:balance;text-shadow:none;color:var(--text)}
:where(.pt-page) p{margin:0}
:where(.pt-page) b{font-weight:500;color:var(--text)}
:where(.pt-page main) a{color:var(--accent-400)}
.pt-page main img{max-width:100%}
.pt-page :focus-visible{outline:2px solid var(--accent-400);outline-offset:3px;border-radius:6px}
.pt-page .skip{min-height:44px;display:inline-flex;align-items:center}
.pt-page .masthead{padding:9px 0}
.pt-page .brand{min-height:44px}
@media (min-width:761px){.pt-page .masthead nav a{min-height:44px;display:inline-flex;align-items:center}}
.pt-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pt-kick{display:inline-block;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-400);margin-bottom:14px}
.pt-h2{font-size:clamp(28px,3.3vw,40px);line-height:1.15}
.pt-lede{color:var(--muted);font-size:clamp(17px,1.5vw,19px);max-width:640px;margin-top:16px}
.pt-sec{padding:clamp(48px,5vw,76px) 0;border-top:1px solid var(--hairline);scroll-margin-top:72px}
.pt-tube{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 30px;border-radius:var(--r-pill);text-decoration:none;font:400 21px/1.2 var(--display);color:#ffe3f1;background:transparent;cursor:pointer;border:2px solid var(--tube-p);text-shadow:0 0 8px #e0559b;box-shadow:0 0 12px rgba(224,85,155,.55),0 0 28px rgba(224,85,155,.25),inset 0 0 12px rgba(224,85,155,.25);white-space:nowrap}
.pt-page main a.pt-tube{color:#ffe3f1}
.pt-tube:hover{color:#fff;box-shadow:0 0 18px rgba(224,85,155,.8),0 0 40px rgba(224,85,155,.4),inset 0 0 14px rgba(224,85,155,.35)}
.pt-tube:active{border-color:#fff}
.pt-textlink{display:inline-flex;align-items:center;min-height:44px;color:var(--accent-400);text-decoration:underline;text-underline-offset:3px}
.pt-neon{display:block;font-style:normal;font-family:var(--display);font-weight:400;color:#ffe3f1;text-shadow:0 0 6px #fff,0 0 14px #e0559b,0 0 30px #e0559b}
.pt-bulbs{height:12px;background:var(--bulb-h) repeat-x center/66px 12px}
.pt-sample{color:var(--faint);font-size:13.5px}
/* A phone the partner studio drew: its own bezel is in the picture, the corners are clipped here. */
.pt-shot{border-radius:13.4%/6.5%;overflow:hidden;box-shadow:0 0 0 1px #2b2440,0 24px 60px rgba(0,0,0,.55)}
.pt-shot img{display:block;width:100%;height:auto}
/* The iPhone app's own screenshot, in a plain bezel. */
.pt-device{position:relative;background:#000;padding:3.3%;border-radius:14%/6.7%;box-shadow:0 0 0 1px #2b2440,0 30px 80px rgba(0,0,0,.6),0 0 90px rgba(224,85,155,.16)}
.pt-device img{display:block;width:100%;height:auto;border-radius:11.6%/5.35%}
.pt-device::before{content:"";position:absolute;left:50%;top:3.1%;width:29%;height:3.9%;transform:translateX(-50%);border-radius:999px;background:#000}

/* The website box. Sign-in comes first: the address only rides this browser tab (sessionStorage). */
.pt-door{margin-top:30px;max-width:560px;scroll-margin-top:96px}
.pt-door label{display:block;font-size:15px;font-weight:500;margin-bottom:10px;color:var(--text)}
.pt-door-row{display:flex;gap:10px}
.pt-door input{flex:1;min-width:0;min-height:56px;padding:0 18px;border-radius:var(--r-lg);border:1px solid var(--divider);background:#15111f;color:var(--text);font:400 17px var(--body)}
.pt-door input::placeholder{color:#958dae}
.pt-door input:focus-visible{outline:2px solid var(--accent-400);outline-offset:2px;border-color:var(--accent-400);border-radius:var(--r-lg)}
.pt-door-next{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:14.5px;margin-top:12px}
.pt-door-next svg{flex:none;margin-top:3px;color:var(--tube-a)}
.pt-door-links{display:flex;gap:0 26px;flex-wrap:wrap;margin-top:4px}

/* Hero */
.pt-hero{padding:clamp(36px,5vw,64px) 0 clamp(40px,4vw,60px)}
.pt-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:52px;align-items:center}
.pt-hero h1{font-size:clamp(37px,5vw,60px);line-height:1.06}
.pt-deck{color:var(--text);font-size:clamp(18px,1.65vw,21px);line-height:1.5;max-width:620px;margin-top:20px}
.pt-hero .pt-lede{margin-top:10px}
/* Two real phones: the partner's own tab in front (the app), their song list behind (the studio's phone) */
.pt-duo{position:relative;width:min(100%,470px);margin-inline:auto;aspect-ratio:470/640}
.pt-duo .pt-back{position:absolute;left:0;top:9%;width:50%}
.pt-duo .pt-front{position:absolute;right:0;top:0;width:60%;z-index:2}
/* The callout on the tab: a ring on the real pixels, a line, a plain label (never a pill) */
.pt-callring{position:absolute;left:55.6%;top:89.1%;width:21.3%;height:7.3%;border:1.5px solid var(--tube-a);border-radius:var(--r-md);box-shadow:0 0 10px rgba(232,162,74,.7),inset 0 0 8px rgba(232,162,74,.25);pointer-events:none}
.pt-callline{position:absolute;left:66.2%;top:96.4%;width:1.5px;height:5.4%;background:var(--tube-a);box-shadow:0 0 6px rgba(232,162,74,.7)}
.pt-calllabel{position:absolute;top:102.2%;left:66.2%;transform:translateX(-50%);white-space:nowrap;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--tube-a)}
.pt-duo-cap{text-align:center;margin-top:6px}

/* Your own tab: one real screen of the open tab, three numbered marks on it, the three benefits beside it */
.pt-tour{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(36px,6vw,84px);align-items:center;margin-top:44px}
.pt-tour-phone{width:min(100%,320px);margin-inline:auto}
.pt-screen{position:relative}
.pt-mark{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:var(--r-md);background:#1d1608;border:1.5px solid var(--tube-a);color:var(--tube-a);font:500 15px/1 var(--body);box-shadow:0 0 10px rgba(232,162,74,.65)}
.pt-screen .pt-mark{position:absolute;margin:-15px 0 0 -15px;z-index:2}
.pt-tour-ring{position:absolute;left:56.6%;top:90.7%;width:21.6%;height:6.8%;border:1.5px solid var(--tube-a);border-radius:var(--r-md);box-shadow:0 0 10px rgba(232,162,74,.7),inset 0 0 8px rgba(232,162,74,.25);pointer-events:none}
.pt-tour-list{list-style:none;margin:0;padding:0;display:grid;gap:34px}
.pt-tour-list li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:18px;align-items:start}
.pt-tour-list .pt-mark{margin-top:1px}
.pt-tour-list h3{font-size:21px}
.pt-tour-list p{color:var(--muted);font-size:16px;margin-top:6px;max-width:52ch}
.pt-dot{margin:16px 0 0;max-width:380px}
.pt-dot img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--hairline)}
.pt-dot figcaption{color:var(--faint);font-size:13.5px;margin-top:8px}
.pt-also{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 40px;margin-top:38px;padding-top:26px;border-top:1px solid var(--hairline)}
.pt-also p{display:flex;gap:12px;align-items:flex-start;color:var(--muted);font-size:15.5px}
.pt-also svg{flex:none;margin-top:3px;color:var(--accent-400)}
.pt-gets-cap{margin-top:22px}

/* Make it yours: one phone, ten styles, each labeled by how it looks */
.pt-brandgrid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:52px;align-items:center}
.pt-brandgrid .pt-lede{font-size:17px}
.pt-brandgrid ul{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:12px}
.pt-brandgrid li{display:flex;gap:12px;color:var(--muted);font-size:15.5px}
.pt-brandgrid li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;margin-top:9px;background:var(--tube-p);box-shadow:0 0 8px var(--gel-a)}
.pt-motto{font-size:clamp(22px,2.3vw,27px);font-weight:500;line-height:1.25;margin-top:30px;color:var(--text)}
.pt-motto span{white-space:nowrap}
.pt-motto-sub{color:var(--muted);font-size:15.5px;margin-top:6px}
.pt-rack{border:1px solid var(--hairline);border-radius:20px;background:var(--card);margin:0;padding:22px 24px 20px;min-width:0}
.pt-rack legend{float:left;width:100%;padding:0;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--tube-a);margin:0 0 16px}
/* The radios stay in the page for keyboards and screen readers. Fixed, like the masthead's menu
   toggle, so focusing one from its chip never scrolls the page to where it sits. */
.pt-rack input{position:fixed;top:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none}
.pt-rack-stage{clear:both;display:grid;grid-template-columns:236px minmax(0,1fr);gap:22px;align-items:center}
/* The box is the phone's own shape, so switching styles moves nothing. */
.pt-phones{position:relative;width:100%;aspect-ratio:480/992;border-radius:13.4%/6.5%;overflow:hidden;box-shadow:0 0 0 1px #2b2440,0 20px 50px rgba(0,0,0,.5)}
.pt-phones img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s ease}
.pt-rack-side{min-width:0}
.pt-words{position:relative;height:76px;margin-bottom:14px}
.pt-words p{position:absolute;inset:0;opacity:0;font-size:15.5px;color:var(--muted);line-height:1.4}
.pt-words b{display:block;color:var(--text);font-weight:500;font-size:18px}
.pt-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pt-chips label{display:flex;align-items:center;gap:8px;min-height:46px;padding:5px 10px 5px 9px;min-width:0;border-radius:var(--r-pill);border:1px solid var(--divider);cursor:pointer;font-size:14.5px;font-weight:500;line-height:1.2;white-space:nowrap}
.pt-chips label:hover{border-color:var(--accent)}
.pt-sw{flex:none;width:24px;height:24px;border-radius:50%;box-shadow:0 0 0 1px rgba(255,255,255,.28)}
#pt-st-house-lights:checked~.pt-rack-stage .pt-ph-house-lights,#pt-st-house-lights:checked~.pt-rack-stage .pt-w-house-lights{opacity:1}#pt-st-house-lights:checked~.pt-rack-stage label[for=pt-st-house-lights]{border-color:var(--accent-400);box-shadow:0 0 10px rgba(145,132,217,.55),inset 0 0 8px rgba(145,132,217,.25)}#pt-st-house-lights:focus-visible~.pt-rack-stage label[for=pt-st-house-lights]{outline:2px solid var(--accent-400);outline-offset:3px}
#pt-st-block-party:checked~.pt-rack-stage .pt-ph-block-party,#pt-st-block-party:checked~.pt-rack-stage .pt-w-block-party{opacity:1}#pt-st-block-party:checked~.pt-rack-stage label[for=pt-st-block-party]{border-color:var(--accent-400);box-shadow:0 0 10px rgba(145,132,217,.55),inset 0 0 8px rgba(145,132,217,.25)}#pt-st-block-party:focus-visible~.pt-rack-stage label[for=pt-st-block-party]{outline:2px solid var(--accent-400);outline-offset:3px}
#pt-st-late-show:checked~.pt-rack-stage .pt-ph-late-show,#pt-st-late-show:checked~.pt-rack-stage .pt-w-late-show{opacity:1}#pt-st-late-show:checked~.pt-rack-stage label[for=pt-st-late-show]{border-color:var(--accent-400);box-shadow:0 0 10px rgba(145,132,217,.55),inset 0 0 8px rgba(145,132,217,.25)}#pt-st-late-show:focus-visible~.pt-rack-stage label[for=pt-st-late-show]{outline:2px solid var(--accent-400);outline-offset:3px}
#pt-st-roadhouse:checked~.pt-rack-stage .pt-ph-roadhouse,#pt-st-roadhouse:checked~.pt-rack-stage .pt-w-roadhouse{opacity:1}#pt-st-roadhouse:checked~.pt-rack-stage label[for=pt-st-roadhouse]{border-color:var(--accent-400);box-shadow:0 0 10px rgba(145,132,217,.55),inset 0 0 8px rgba(145,132,217,.25)}#pt-st-roadhouse:focus-visible~.pt-rack-stage label[for=pt-st-roadhouse]{outline:2px solid var(--accent-400);outline-offset:3px}
#pt-st-clean-slate:checked~.pt-rack-stage .pt-ph-clean-slate,#pt-st-clean-slate:checked~.pt-rack-stage .pt-w-clean-slate{opacity:1}#pt-st-clean-slate:checked~.pt-rack-stage label[for=pt-st-clean-slate]{border-color:var(--accent-400);box-shadow:0 0 10px rgba(145,132,217,.55),inset 0 0 8px rgba(145,132,217,.25)}#pt-st-clean-slate:focus-visible~.pt-rack-stage label[for=pt-st-clean-slate]{outline:2px solid var(--accent-400);outline-offset:3px}
#pt-st-song-room:checked~.pt-rack-stage .pt-ph-song-room,#pt-st-song-room:checked~.pt-rack-stage .pt-w-song-room{opacity:1}#pt-st-song-room:checked~.pt-rack-stage label[for=pt-st-song-room]{border-color:var(--accent-400);box-shadow:0 0 10px rgba(145,132,217,.55),inset 0 0 8px rgba(145,132,217,.25)}#pt-st-song-room:focus-visible~.pt-rack-stage label[for=pt-st-song-room]{outline:2px solid var(--accent-400);outline-offset:3px}
#pt-st-game-day:checked~.pt-rack-stage .pt-ph-game-day,#pt-st-game-day:checked~.pt-rack-stage .pt-w-game-day{opacity:1}#pt-st-game-day:checked~.pt-rack-stage label[for=pt-st-game-day]{border-color:var(--accent-400);box-shadow:0 0 10px rgba(145,132,217,.55),inset 0 0 8px rgba(145,132,217,.25)}#pt-st-game-day:focus-visible~.pt-rack-stage label[for=pt-st-game-day]{outline:2px solid var(--accent-400);outline-offset:3px}
#pt-st-bubblegum:checked~.pt-rack-stage .pt-ph-bubblegum,#pt-st-bubblegum:checked~.pt-rack-stage .pt-w-bubblegum{opacity:1}#pt-st-bubblegum:checked~.pt-rack-stage label[for=pt-st-bubblegum]{border-color:var(--accent-400);box-shadow:0 0 10px rgba(145,132,217,.55),inset 0 0 8px rgba(145,132,217,.25)}#pt-st-bubblegum:focus-visible~.pt-rack-stage label[for=pt-st-bubblegum]{outline:2px solid var(--accent-400);outline-offset:3px}
#pt-st-last-call:checked~.pt-rack-stage .pt-ph-last-call,#pt-st-last-call:checked~.pt-rack-stage .pt-w-last-call{opacity:1}#pt-st-last-call:checked~.pt-rack-stage label[for=pt-st-last-call]{border-color:var(--accent-400);box-shadow:0 0 10px rgba(145,132,217,.55),inset 0 0 8px rgba(145,132,217,.25)}#pt-st-last-call:focus-visible~.pt-rack-stage label[for=pt-st-last-call]{outline:2px solid var(--accent-400);outline-offset:3px}
#pt-st-mirror-ball:checked~.pt-rack-stage .pt-ph-mirror-ball,#pt-st-mirror-ball:checked~.pt-rack-stage .pt-w-mirror-ball{opacity:1}#pt-st-mirror-ball:checked~.pt-rack-stage label[for=pt-st-mirror-ball]{border-color:var(--accent-400);box-shadow:0 0 10px rgba(145,132,217,.55),inset 0 0 8px rgba(145,132,217,.25)}#pt-st-mirror-ball:focus-visible~.pt-rack-stage label[for=pt-st-mirror-ball]{outline:2px solid var(--accent-400);outline-offset:3px}
.pt-rack-cap{margin-top:16px}

/* How it works: three steps, each with the real screen */
.pt-flow{counter-reset:s;list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.pt-flow li{counter-increment:s;display:flex;flex-direction:column}
.pt-flow li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--accent-400);color:var(--accent-300);font-family:var(--display);font-size:22px;box-shadow:0 0 10px rgba(145,132,217,.5);margin-bottom:14px}
.pt-flow h3{font-size:21px}
.pt-flow p{color:var(--muted);font-size:15.5px;margin-top:6px}
.pt-flow figure{margin:auto 0 0;padding-top:20px}
.pt-frame{height:380px;border-radius:16px;overflow:hidden;border:1px solid var(--hairline);background:#0d0b16;display:grid;place-items:center}
.pt-frame img{display:block;max-width:100%;max-height:100%;width:auto;height:auto}
.pt-frame.pt-pair{position:relative;display:block}
.pt-frame.pt-pair .pt-acct{position:absolute;left:6%;top:8%;width:56%;max-width:none;max-height:none;height:auto;border-radius:12px;box-shadow:0 0 0 1px var(--hairline),0 14px 34px rgba(0,0,0,.5)}
.pt-frame.pt-pair .pt-mine{position:absolute;right:7%;top:17%;width:43%;max-width:none;max-height:none;height:auto;border-radius:13.4%/6.5%;box-shadow:0 0 0 1px #2b2440,0 18px 44px rgba(0,0,0,.6)}
.pt-frame.pt-top img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:top}
.pt-flow figcaption{color:var(--faint);font-size:13.5px;margin-top:10px;min-height:42px}
.pt-steps-cta{margin-top:34px;display:flex;gap:18px;flex-wrap:wrap;align-items:center}

/* Free and the plan */
.pt-plans{margin-top:34px;border:1px solid var(--hairline);border-radius:16px;overflow:hidden;background:var(--card)}
.pt-plans table{width:100%;border-collapse:collapse}
.pt-plans th,.pt-plans td{padding:14px 20px;text-align:left;vertical-align:top;border-top:1px solid var(--hairline);font-size:15.5px}
.pt-plans thead th{border-top:0;padding:22px 20px;vertical-align:bottom;width:27%}
.pt-plans thead th:first-child{width:46%}
.pt-plans tbody th{font-weight:400;color:var(--text)}
.pt-plans tbody tr.pt-star th{font-weight:500;box-shadow:inset 3px 0 0 var(--tube-a)}
.pt-plans td{color:var(--muted)}
.pt-plans td.pt-p{color:var(--text)}
.pt-plans .pt-pn{display:block;font-size:20px;font-weight:500;color:var(--text)}
.pt-plans .pt-pp{display:block;font-size:14.5px;color:var(--muted);font-weight:400;margin-top:2px}
.pt-plans thead th.pt-p .pt-pn{color:#fff1dc;font-family:var(--display);font-weight:400;font-size:23px;text-shadow:0 0 8px #e8a24a}
.pt-plans col.pt-p,.pt-plans .pt-p{background:rgba(232,162,74,.05)}
.pt-yes{color:#7fe0a6}.pt-no{color:var(--faint)}
.pt-plans-foot{display:flex;gap:16px 28px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:26px}
.pt-plans-foot p{color:var(--muted);max-width:60ch;font-size:15.5px}

/* FAQ */
.pt-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;margin-top:26px;align-items:start}
.pt-faq details{border-bottom:1px solid var(--hairline)}
.pt-faq summary{cursor:pointer;min-height:56px;display:flex;align-items:center;gap:10px;font-weight:500;list-style:none;padding:6px 0}
.pt-faq summary::-webkit-details-marker{display:none}
.pt-faq summary::before{content:"\203A";color:var(--accent-400);transition:transform .15s;flex:none}
.pt-faq details[open] summary::before{transform:rotate(90deg)}
.pt-faq p{color:var(--muted);font-size:15.5px;padding:0 0 16px 18px}
.pt-ask{color:var(--muted);font-size:15.5px;margin-top:26px}
.pt-ask a{display:inline-flex;align-items:center;min-height:44px}

/* Guides for hosts (/partners/guides, tools/partner_guides.py) */
.pt-guides{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.pt-page main .pt-guides a{display:block;height:100%;padding:18px 20px;border:1px solid var(--hairline);border-radius:16px;background:var(--card);text-decoration:none;color:var(--text)}
.pt-page main .pt-guides a:hover{border-color:var(--accent-400)}
.pt-guides b{display:block;font-size:17px}
.pt-guides span{display:block;color:var(--muted);font-size:15px;margin-top:4px}

/* The end */
.pt-end{text-align:center;padding:0 0 clamp(56px,6vw,84px);border-top:1px solid var(--hairline)}
.pt-end .pt-bulbs{margin-bottom:clamp(48px,5vw,68px)}
.pt-end h2{font-size:clamp(32px,4.6vw,54px);line-height:1.12}
.pt-end .pt-lede{margin-inline:auto}
.pt-end .pt-door{margin-inline:auto;text-align:left}
.pt-end .pt-door label{text-align:center}
.pt-end .pt-door-next{justify-content:center}
.pt-end .pt-door-links{justify-content:center}

.pt-page footer{border-top:1px solid var(--hairline);margin-top:0;padding:34px 0 46px;font-size:14px;color:var(--muted)}
.pt-foot{display:flex;gap:16px 28px;flex-wrap:wrap;align-items:center;justify-content:space-between}
.pt-foot-links{display:flex;gap:6px 18px;flex-wrap:wrap;margin-top:8px}
.pt-foot-links a{color:var(--muted);min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.pt-foot-links a:hover{color:var(--text)}
.pt-marks{font-size:12px;color:var(--faint);margin-top:14px}
.fk-stores{display:inline-flex;gap:10px;align-items:center}
.fk-stores a{display:inline-flex;align-items:center;min-height:44px}
.fk-stores img{height:34px;width:auto}
.fk-stores img.fk-play{height:51px;margin:-8.5px -6px}

@media (max-width:980px){
  .pt-hero-grid{grid-template-columns:1fr;gap:44px}
  .pt-brandgrid{grid-template-columns:1fr;gap:34px}
  .pt-faq{grid-template-columns:1fr}
  .pt-flow{gap:22px}
  .pt-frame{height:320px}
}
@media (max-width:760px){
  .pt-tour{grid-template-columns:1fr;gap:40px}
  .pt-also{grid-template-columns:1fr}
  .pt-guides{grid-template-columns:1fr}
  .pt-flow{grid-template-columns:1fr;gap:40px}
  .pt-frame{height:auto}
  .pt-frame img{width:100%}
  .pt-frame.pt-pair{height:380px}
  .pt-frame.pt-top{height:340px}
  .pt-flow figure{margin-top:0}
  .pt-flow figcaption{min-height:0}
}
@media (max-width:640px){
  .pt-door-row{flex-direction:column}
  .pt-door .pt-tube{width:100%}
  .pt-duo{width:min(100%,340px)}
  .pt-calllabel{font-size:12px}
  .pt-rack{padding:18px 14px 16px}
  .pt-rack-stage{grid-template-columns:1fr;gap:18px;justify-items:center}
  .pt-phones{width:min(250px,72vw)}
  .pt-rack-side{width:100%}
  .pt-words{text-align:center}
  .pt-chips label{padding-right:8px;font-size:14px}
  /* The table becomes one card per row: the feature, then "Free" and "Headliner" lines */
  .pt-plans{border:0;background:none;border-radius:0;overflow:visible}
  .pt-plans table,.pt-plans tbody,.pt-plans tr,.pt-plans th,.pt-plans td{display:block}
  .pt-plans colgroup{display:none}
  .pt-plans thead{display:block}
  .pt-plans thead tr{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .pt-plans thead th:first-child{display:none}
  .pt-plans thead th{width:auto!important;border:1px solid var(--hairline);border-radius:14px;padding:14px;background:var(--card)}
  .pt-plans thead th.pt-p{border-color:#8a6a3a}
  .pt-plans tbody tr{border:1px solid var(--hairline);border-radius:14px;background:var(--card);margin-top:10px;padding:14px 16px}
  .pt-plans tbody tr.pt-star{border-color:#8a6a3a}
  .pt-plans tbody tr.pt-star th{box-shadow:none}
  .pt-plans tbody th,.pt-plans tbody td,.pt-plans tbody td.pt-p{border:0;padding:0;background:none}
  .pt-plans tbody th{font-weight:500;margin-bottom:6px}
  .pt-plans tbody td{display:grid;grid-template-columns:76px 1fr;gap:8px;padding:3px 0;font-size:15px}
  .pt-plans tbody td::before{content:attr(data-l);color:var(--faint);font-size:13px;padding-top:1px}
  .pt-plans tbody td.pt-p::before{color:var(--tube-a)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pt-phones img,.pt-faq summary::before{transition:none}}
