/* RIVET product-page template (round 4, 28 Oct 2026; round 5, 29 Oct 2026: the Pro, Infinite and Teams memberships).
   Pages: plans/pro.html, plans/infinite.html (light) and plans/teams.html (dark: html[data-mode="dark"], see the end of this file).
   Spec: the 18-section template (S1 hero ... S18 close). Type is the site's own system from rivet.css:
   Plex Sans 600 sentence-case headlines (.display / --step-4 H1 / .h2 / .h3), Plex Mono only for eyebrows, meta,
   labels and counts; prices are Plex Sans 700. Light mode (membership audience). Cards have no border; light cards
   separate by shadow, ink cards are black. Magenta is the one action (Apply); the "This plan" highlight is purple.
   Everything is scoped under main.pdp so nothing leaks into the chrome or other pages. */

main.pdp{
  --pdp-r:24px;
  --pdp-r-sm:16px;
  --pdp-shadow:var(--card-shadow, 0 1px 2px rgba(0,0,0,.06), 0 8px 24px rgba(0,0,0,.05));
  --pdp-soft:var(--fg-soft, #4A4A68);
  --pdp-ink-mute:#9A9BBD;          /* slate-on-dark */
  --pdp-on-dark-eyebrow:#7B87FF;   /* purple-500 */
  --pdp-ease:cubic-bezier(.2,0,0,1);
  display:block;
  overflow-x:clip;
}
main.pdp .pdp-s{ scroll-margin-top:84px; }
main.pdp .hl:not(:is(h1,h2,h3,h4) *){ color:var(--violet, #3B06D4); } /* in headings .hl is the receding tail: assets/type.css */
main.pdp .meta{ display:block; font-family:var(--font-mono); font-size:12px; font-weight:500; line-height:1.4; letter-spacing:.08em; text-transform:uppercase; color:var(--pdp-soft); }
main.pdp .lead{ text-wrap:pretty; }
main.pdp .sec-head{ max-width:100%; }
main.pdp .eyebrow{ line-height:1.4; }
/* section titles: the AIWS course-page H2 (lh 1.08, -0.03em), capped so it never outgrows the hero H1 (42.3 at 1440) */
main.pdp h2.h2{ text-wrap:balance; }
main.pdp .sec-head .lead{ max-width:58ch; }
main.pdp .pdp-hide-sm{ display:none; }
@media (min-width:600px){ main.pdp .pdp-hide-sm{ display:inline; } }
main.pdp .sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
main.pdp .pdp-ic{ width:20px; height:20px; flex:none; }
main.pdp .pdp-small{ margin:16px 0 0; font-size:.8rem; line-height:1.45; color:var(--pdp-soft); }
main.pdp .pdp-label{ margin:0 0 clamp(16px,2.2vw,24px); font-family:var(--font-mono); font-size:12px; font-weight:500; line-height:1.4; letter-spacing:.08em; text-transform:uppercase; color:var(--pdp-soft); text-align:center; }
main.pdp .pdp-label--left{ text-align:start; }

/* ink text links and the one magenta action */
main.pdp .pdp-link{ display:inline-flex; align-items:center; gap:8px; min-height:44px; font-weight:600; color:var(--ink, #000); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; }
main.pdp .pdp-link:hover{ text-decoration-thickness:2px; }
main.pdp .pdp-link--icon .pdp-ic{ width:18px; height:18px; }
main.pdp a:not(.btn):focus-visible, main.pdp button:focus-visible, main.pdp summary:focus-visible, main.pdp [tabindex]:focus-visible{ outline:3px solid var(--focus-ring, #3B06D4); outline-offset:2px; border-radius:6px; }
main.pdp .pdp-cta{ min-height:48px; gap:10px; }
main.pdp .pdp-ic--arr{ width:18px; height:18px; transition:transform .12s var(--pdp-ease); }
main.pdp .btn:hover .pdp-ic--arr{ transform:translateX(3px); }
main.pdp .pdp-act{ margin-top:32px; display:flex; justify-content:center; }
main.pdp .pdp-more{ margin:20px 0 0; }
@media (max-width:599px){ main.pdp .pdp-act .pdp-cta{ width:100%; } }

/* ---------- Q -> A, answered in place ---------- */
main.pdp .pdp-qa-set{ display:grid; gap:24px clamp(24px,3vw,48px); grid-template-columns:repeat(auto-fit, minmax(min(100%, 280px), 1fr)); margin-top:clamp(32px,3.5vw,48px); }
main.pdp .pdp-qa{ padding-block:16px 4px; border-block-start:1px solid var(--line, #E6E6EE); max-width:62ch; }   /* a hairline above, no side stripe (brand law) */
main.pdp .pdp-qa__q{ margin:0 0 6px; font-weight:600; text-wrap:balance; }
main.pdp .pdp-qa__a{ margin:0; font-size:max(1rem, var(--step-0)); line-height:1.62; color:var(--pdp-soft); text-wrap:pretty; }

/* ---------- generic split: head + content ---------- */
main.pdp .pdp-split{ display:grid; gap:clamp(24px,4vw,64px); }
main.pdp .pdp-split > .sec-head{ margin-bottom:0; }
@media (min-width:1024px){
  main.pdp .pdp-split{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:start; }
  main.pdp .pdp-split:not(.pdp-split--cred) > :first-child{ position:sticky; top:112px; }
}

/* ---------- ink card (black, white ink) ---------- */
main.pdp .pdp-ink{ --eyebrow-ink:var(--pdp-on-dark-eyebrow); --focus-ring:var(--pdp-on-dark-eyebrow); background:#000; color:#fff; border-radius:var(--pdp-r); }
main.pdp .pdp-ink :is(h2,h3,a:not(.btn)){ color:#fff; }
main.pdp .pdp-ink .hl:not(:is(h1,h2,h3,h4) *){ color:var(--cyan, #4CF3FE); }

/* ---------- S1 hero ---------- */
main.pdp .pdp-hero{ padding-block:clamp(20px,4vw,56px) clamp(48px,6vw,92px); }
main.pdp .pdp-hero__grid{ display:grid; gap:24px; grid-template-areas:"top" "card" "more"; }
main.pdp .pdp-hero__top{ grid-area:top; display:flex; flex-direction:column; gap:16px; }
main.pdp .pdp-hero__more{ grid-area:more; display:flex; flex-direction:column; gap:24px; }
main.pdp .pdp-h1{ margin:0; font-weight:600; text-wrap:balance; max-width:20ch; }
main.pdp .pdp-hero .lead{ margin:0; max-width:58ch; }
main.pdp .pdp-bullets{ list-style:none; margin:0; padding:0; display:grid; gap:14px; max-width:60ch; }
main.pdp .pdp-bullets li{ display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; align-items:start; line-height:1.62; color:var(--pdp-soft); }
main.pdp .pdp-bullets b{ color:var(--ink, #000); font-weight:600; }
main.pdp .pdp-bullets .pdp-ic{ margin-top:2px; color:var(--violet, #3B06D4); }
main.pdp .pdp-proof{ margin:0; display:flex; align-items:center; gap:12px; font-size:.95rem; color:var(--pdp-soft); }
main.pdp .pdp-proof b{ color:var(--ink, #000); font-weight:600; }
main.pdp .pdp-faces{ display:inline-flex; flex:none; }
main.pdp .pdp-faces img{ width:32px; height:32px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 2px var(--paper, #F8F8FA); }
main.pdp .pdp-faces img + img{ margin-left:-8px; }

/* the product card: white, shadow, a registered duo on its head band only (Honor: membership) */
main.pdp .pdp-card{ grid-area:card; align-self:start; border-radius:var(--pdp-r); background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.06), 0 24px 56px -28px rgba(17,12,46,.32); overflow:hidden; }
main.pdp .pdp-card__band{ display:flex; flex-direction:column; gap:6px; padding:22px 24px 24px;
  /* Honor duo (purple -> gold), anchor held under the text block on the left: white ink sits in the purple two-thirds */
  background:linear-gradient(100deg, #3B06D4 0 40%, #F5C24B 100%); color:#fff; }
/* the kicker hugs its text, which ends inside the anchor two-thirds (Honor, 40% hold: body text safe) */
main.pdp .pdp-card__k{ align-self:flex-start; max-width:60%; font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; line-height:1.4; }
main.pdp .pdp-card__title{ margin:0; font-weight:600; color:#fff; max-width:62%; }
main.pdp .pdp-card__body{ display:flex; flex-direction:column; gap:18px; padding:22px 24px 18px; }
main.pdp .pdp-facts{ list-style:none; margin:0; padding:0; display:grid; gap:16px 20px; }
main.pdp .pdp-facts li{ display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; align-items:start; }
main.pdp .pdp-facts .pdp-ic{ margin-top:2px; color:var(--violet, #3B06D4); }
main.pdp .pdp-facts b{ display:block; font-size:.95rem; font-weight:600; line-height:1.3; }
main.pdp .pdp-facts span{ display:block; font-size:.9rem; line-height:1.45; color:var(--pdp-soft); }
main.pdp .pdp-price{ font-family:var(--font-sans); font-size:30.4px; font-weight:700; line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; color:var(--ink, #000); }
main.pdp .pdp-card__price{ margin:0; display:flex; flex-direction:column; gap:6px; padding-top:18px; box-shadow:inset 0 1px 0 #ECECF0; }
main.pdp .pdp-card__now{ margin:0; display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 10px; }
main.pdp .pdp-card__now > span:not(.pdp-value), main.pdp .pdp-unit{ font-size:1rem; color:var(--pdp-soft); font-weight:400; }
main.pdp .pdp-card__val{ margin:0; font-size:.8rem; line-height:1.45; color:var(--pdp-soft); }
main.pdp .pdp-card__worth{ font-size:.9rem; }   /* "2 courses worth ~~EGP 41,000~~" above the price, as on /pricing (review fix 15) */
main.pdp .pdp-card__val span[data-usd]{ white-space:nowrap; }
main.pdp .pdp-card__worth s{ text-decoration-thickness:1.5px; font-variant-numeric:tabular-nums; white-space:nowrap; }
main.pdp .pdp-vnote{ display:block; margin-top:2px; font-size:.8rem; font-weight:400; line-height:1.4; color:var(--pdp-soft); }
main.pdp .pdp-card .pdp-cta{ width:100%; }
main.pdp .pdp-risk{ list-style:none; margin:0; padding:0; display:grid; gap:8px; font-size:.8rem; line-height:1.45; color:var(--pdp-soft); }
main.pdp .pdp-risk li{ display:flex; align-items:center; gap:8px; }
main.pdp .pdp-risk .pdp-ic{ width:16px; height:16px; color:var(--ink, #000); }
main.pdp .pdp-card .pdp-link{ align-self:flex-start; margin-top:-6px; }
/* phones: price and Apply come before the four facts, so they sit on the first screen */
@media (max-width:599px){
  main.pdp .pdp-card__band{ padding:18px 20px 20px; }
  main.pdp .pdp-card__body{ padding:18px 20px 16px; gap:16px; }
  main.pdp .pdp-card__price{ order:1; padding-top:0; box-shadow:none; }
  main.pdp .pdp-card .pdp-cta{ order:2; }
  main.pdp .pdp-risk{ order:3; }
  main.pdp .pdp-facts{ order:4; padding-top:16px; box-shadow:inset 0 1px 0 #ECECF0; }
  main.pdp .pdp-card .pdp-link{ order:5; }
}
@media (min-width:600px){ main.pdp .pdp-facts{ grid-template-columns:1fr 1fr; } main.pdp .pdp-card{ max-width:620px; } }
@media (min-width:1024px){
  main.pdp .pdp-hero__grid{ grid-template-columns:minmax(0,1fr) minmax(440px, min(520px, 44%)); grid-template-areas:"top card" "more card"; grid-template-rows:auto 1fr; column-gap:clamp(40px,5vw,88px); row-gap:28px; }
  main.pdp .pdp-hero__top{ padding-top:clamp(8px,2vw,32px); }
  main.pdp .pdp-hero__more{ align-self:start; }
  main.pdp .pdp-card{ position:sticky; top:96px; max-width:none; }
}

/* ---------- S2 logos (the home marquee) ---------- */
main.pdp .pdp-logos-sec{ padding-block:clamp(28px,4vw,56px); }
main.pdp .pdp-marq{ --gap:clamp(36px,5vw,64px); position:relative; display:flex; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
main.pdp .pdp-logos{ list-style:none; margin:0; padding:0 calc(var(--gap) / 2); display:flex; flex:none; align-items:center; gap:var(--gap); animation:pdp-marq 70s linear infinite; }
main.pdp .pdp-marq:hover .pdp-logos, main.pdp .pdp-marq:focus-within .pdp-logos{ animation-play-state:paused; }
main.pdp .pdp-logos li{ flex:none; display:flex; align-items:center; justify-content:center; height:64px; }
main.pdp .pdp-logos img{ display:block; width:auto; height:var(--h,30px); max-width:none; object-fit:contain; }
@keyframes pdp-marq{ to{ transform:translateX(-100%); } }
main.pdp .pdp-logos__n{ margin:clamp(14px,2vw,22px) 0 0; text-align:center; font-size:.95rem; color:var(--pdp-soft); }
main.pdp .pdp-logos__n b{ color:var(--ink, #000); font-family:var(--font-mono); font-weight:500; }
@media (max-width:560px){ main.pdp .pdp-logos li{ height:52px; } main.pdp .pdp-logos img{ height:calc(var(--h,30px) * .82); } }

/* ---------- S3 the problem ---------- */
main.pdp .pdp-lines{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
main.pdp .pdp-lines li{ padding:18px 22px; border-radius:var(--pdp-r-sm); background:var(--paper, #F8F8FA); }
main.pdp .pdp-lines p{ margin:6px 0 0; font-size:var(--step-1); line-height:1.4; color:var(--ink, #000); text-wrap:pretty; }

/* ---------- S4 track tabs ---------- */
main.pdp .pdp-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
main.pdp .pdp-tab{ min-height:44px; padding:10px 18px; border:0; border-radius:999px; background:#fff; box-shadow:var(--pdp-shadow); font:600 .95rem/1.2 var(--font-sans); color:var(--ink, #000); cursor:pointer; transition:background-color .12s var(--pdp-ease), color .12s var(--pdp-ease); }
main.pdp .pdp-tab:hover{ background:#ECECF0; }
main.pdp .pdp-tab[aria-selected="true"]{ background:#000; color:#fff; }
@media (max-width:599px){ main.pdp .pdp-tabs{ display:grid; grid-template-columns:1fr 1fr; } main.pdp .pdp-tab{ padding:10px 12px; border-radius:14px; text-align:center; text-wrap:balance; } }
main.pdp .pdp-panel{ display:grid; gap:24px; padding:clamp(22px,3vw,36px); border-radius:var(--pdp-r); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-panel[hidden]{ display:none; }
main.pdp .pdp-panel__a{ display:grid; gap:18px; align-content:start; }
main.pdp .pdp-panel__fit{ margin:0; font-size:.95rem; color:var(--pdp-soft); }
main.pdp .pdp-panel__become{ margin:0; font-size:var(--step-2); font-weight:600; line-height:1.2; letter-spacing:-.018em; text-wrap:balance; }
main.pdp .pdp-panel__become .meta{ margin-bottom:8px; }
main.pdp .pdp-panel__row p{ margin:4px 0 0; line-height:1.62; }
main.pdp .pdp-panel__b .meta{ margin-bottom:12px; }
main.pdp .pdp-checks{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
main.pdp .pdp-checks li{ display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; align-items:start; line-height:1.62; }
main.pdp .pdp-checks .pdp-ic{ margin-top:3px; color:var(--violet, #3B06D4); }
@media (min-width:900px){ main.pdp .pdp-panel{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; } }

/* ---------- S5 what's included ---------- */
main.pdp .pdp-inc{ display:grid; gap:20px; }
main.pdp .pdp-course{ display:flex; flex-direction:column; gap:16px; padding:clamp(24px,3vw,36px); }
main.pdp .pdp-course h3{ margin:0; }
main.pdp .pdp-course h3 a{ display:inline-flex; align-items:center; min-height:44px; padding-block:4px; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
main.pdp .pdp-course .pdp-checks{ color:#fff; }
main.pdp .pdp-course .pdp-checks .pdp-ic{ color:var(--cyan, #4CF3FE); }
main.pdp .pdp-inc__plus{ display:flex; flex-direction:column; gap:10px; padding:clamp(20px,2.4vw,28px); border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-inc__plus p:not(.meta){ margin:0; line-height:1.62; color:var(--pdp-soft); }
main.pdp .pdp-inc__plus .pdp-link{ display:flex; width:fit-content; margin-top:4px; }
@media (min-width:768px){ main.pdp .pdp-course .pdp-checks{ grid-template-columns:1fr 1fr; column-gap:28px; } }
main.pdp .pdp-tiles{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
main.pdp .pdp-tile{ padding:20px; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-tile .pdp-ic{ width:24px; height:24px; color:var(--violet, #3B06D4); }
main.pdp .pdp-tile h3{ margin:12px 0 4px; font-size:var(--role-dense); font-weight:600; line-height:1.2; letter-spacing:-.018em; }
main.pdp .pdp-tile p{ margin:0; font-size:.95rem; line-height:1.55; color:var(--pdp-soft); }
@media (min-width:600px){ main.pdp .pdp-tiles{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1024px){
  main.pdp .pdp-inc{ grid-template-columns:minmax(0,8fr) minmax(0,4fr); gap:24px; align-items:stretch; }
  main.pdp .pdp-inc__plus{ justify-content:center; }
}

/* ---------- S6 part list ---------- */
main.pdp .pdp-parts{ list-style:none; margin:0; padding:0; display:grid; gap:12px; counter-reset:none; }
main.pdp .pdp-part{ padding:20px 22px; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-part h3{ margin:8px 0 6px; font-size:var(--role-dense); font-weight:600; line-height:1.2; letter-spacing:-.018em; }
main.pdp .pdp-part p{ margin:0; font-size:.95rem; line-height:1.55; color:var(--pdp-soft); }
@media (max-width:767px){
  main.pdp .pdp-parts{ gap:0; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); overflow:hidden; }
  main.pdp .pdp-part{ padding:16px 18px; border-radius:0; background:none; box-shadow:none; }
  main.pdp .pdp-part + .pdp-part{ box-shadow:inset 0 1px 0 #ECECF0; }
  main.pdp .pdp-part h3{ margin:6px 0 4px; }
}
@media (min-width:768px){ main.pdp .pdp-parts{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; } }

/* ---------- phones: lists of small cards become one card with hairline rows (S7 needs, S10 tiles, S15 steps) ---------- */
@media (max-width:599px){
  main.pdp :is(.pdp-needs, .pdp-tiles--room, .pdp-steps){ gap:0; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); overflow:hidden; }
  main.pdp :is(.pdp-needs > li, .pdp-tiles--room > .pdp-tile, .pdp-steps > .pdp-step){ padding:16px 18px; border-radius:0; background:none; box-shadow:none; }
  main.pdp :is(.pdp-needs > li + li, .pdp-tiles--room > .pdp-tile + .pdp-tile, .pdp-steps > .pdp-step + .pdp-step){ box-shadow:inset 0 1px 0 #ECECF0; }
  main.pdp .pdp-tiles--room .pdp-tile{ display:grid; grid-template-columns:24px minmax(0,1fr); column-gap:14px; }
  main.pdp .pdp-tiles--room .pdp-tile .pdp-ic{ grid-row:span 2; margin-top:2px; }
  main.pdp .pdp-tiles--room .pdp-tile h3{ margin:0 0 4px; }
  /* the app mock-up's type is too small to read at phone size; the tiles carry the content */
  main.pdp .pdp-room__vis{ display:none; }
}

/* ---------- S7 how it runs ---------- */
main.pdp .pdp-chips{ margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
main.pdp .pdp-chips div{ padding:14px 16px; border-radius:var(--pdp-r-sm); background:var(--paper, #F8F8FA); }
main.pdp .pdp-chips dt{ font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--pdp-soft); }
main.pdp .pdp-chips dd{ margin:4px 0 0; font-size:.95rem; font-weight:600; line-height:1.35; }
main.pdp .pdp-split--run .sec-head{ margin-bottom:24px; }
main.pdp .pdp-needs{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
main.pdp .pdp-needs li{ padding:18px 20px; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-needs h3{ margin:6px 0 4px; font-size:var(--role-dense); font-weight:600; line-height:1.2; letter-spacing:-.018em; }
main.pdp .pdp-needs p{ margin:0; font-size:.95rem; line-height:1.55; color:var(--pdp-soft); }
main.pdp .pdp-ai{ list-style:none; margin:12px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
main.pdp .pdp-ai__i{ display:inline-flex; align-items:center; gap:8px; min-height:32px; padding:4px 10px 4px 4px; border-radius:999px; background:var(--paper, #F8F8FA); font-size:.85rem; font-weight:500; line-height:1.2; color:var(--ink, #000); }
main.pdp .pdp-ai__i.is-pref{ box-shadow:inset 0 0 0 2px var(--violet, #3B06D4); }
main.pdp .pdp-ai__logo{ width:24px; height:24px; flex:none; display:grid; place-items:center; border-radius:50%; background:#fff; }
main.pdp .pdp-ai__logo.is-dark{ background:#000; }
main.pdp .pdp-ai__logo img{ width:16px; height:16px; }
main.pdp .pdp-ai__pref{ font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--violet, #3B06D4); }

/* ---------- S8 the ladder ---------- */
main.pdp .pdp-ladder{ display:flex; flex-direction:column; gap:14px; }
main.pdp .pdp-ladder__labels{ display:none; }
main.pdp .pdp-lcol{ display:flex; flex-direction:column; padding:22px; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-lcol.is-this{ background:var(--purple-50, #F6F8FF); order:-3; }   /* this page's column: a purple-50 tint, not a ring (cards have no border) */
main.pdp :is(.pdp-lcol--architects, .pdp-lcol--alt){ order:-2; }
main.pdp .pdp-lcol--course{ order:-1; }
main.pdp .pdp-lcol__hd{ display:flex; flex-direction:column; gap:6px; padding-bottom:14px; }
main.pdp .pdp-lcol__tag{ align-self:flex-start; font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--violet, #3B06D4); }
main.pdp .pdp-lcol__name{ margin:0; font-size:var(--step-2); font-weight:600; line-height:1.12; letter-spacing:-.018em; }
main.pdp .pdp-lcol__rows{ margin:0; display:grid; }
main.pdp .pdp-lcol__rows > div{ padding:12px 0; box-shadow:inset 0 1px 0 #ECECF0; }
main.pdp .pdp-lcol__rows dt{ font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--pdp-soft); margin-bottom:4px; }
main.pdp .pdp-lcol__rows dd{ margin:0; font-size:.95rem; line-height:1.5; }
main.pdp .pdp-lcol__link{ margin:0; padding-top:6px; min-height:44px; }
main.pdp .pdp-lcol__link--cta{ padding-top:14px; }
main.pdp .pdp-lcol{ min-width:0; }
main.pdp .pdp-lcol__cta{ width:100%; min-width:0; justify-content:center; text-align:center; white-space:normal; padding-inline:16px; line-height:1.2; }
main.pdp .pdp-upgrade{ display:flex; gap:12px; align-items:flex-start; margin:24px 0 0; padding:18px 20px; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); line-height:1.55; color:var(--pdp-soft); }
main.pdp .pdp-upgrade b{ color:var(--ink, #000); font-weight:600; }
main.pdp .pdp-upgrade .pdp-ic{ margin-top:2px; color:var(--violet, #3B06D4); }
@media (min-width:600px) and (max-width:1023px){
  main.pdp .pdp-ladder{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:1024px){
  /* one subgrid: the same rows line up across the four columns, with Mono row labels on the left */
  main.pdp .pdp-ladder{ display:grid; grid-template-columns:minmax(120px,.7fr) repeat(4,minmax(0,1fr)); grid-template-rows:repeat(8,auto); column-gap:14px; row-gap:0; }
  main.pdp .pdp-ladder__labels, main.pdp .pdp-lcol{ grid-row:1 / span 8; display:grid; grid-template-rows:subgrid; }
  main.pdp .pdp-ladder__labels{ padding:22px 0; }
  main.pdp .pdp-ladder__labels span{ display:flex; align-items:flex-start; padding:12px 0; font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--pdp-soft); box-shadow:inset 0 1px 0 #D1D1D9; }
  main.pdp .pdp-ladder__labels span:first-child, main.pdp .pdp-ladder__labels span:last-child{ box-shadow:none; }
  main.pdp .pdp-lcol{ order:0 !important; }
  main.pdp .pdp-lcol__rows{ display:contents; }
  main.pdp .pdp-lcol__rows dt{ position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  main.pdp .pdp-lcol__hd{ justify-content:flex-end; }
  main.pdp .pdp-lcol__link--cta{ align-self:end; }
}
/* phones: the four plans side by side in a snap row (this plan first), not four stacked screens */
@media (max-width:599px){
  main.pdp .pdp-ladder{ flex-direction:row; gap:12px; margin-inline:calc(-1 * var(--gutter, 20px)); padding:6px var(--gutter, 20px) 18px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:var(--gutter, 20px); overscroll-behavior-x:contain; }
  main.pdp .pdp-lcol{ flex:0 0 min(84vw, 320px); scroll-snap-align:start; }
}

/* ---------- S9 the credential: the certificate on a Prestige duo card (black -> gold), anchor under the tag ---------- */
main.pdp .pdp-split--cred .sec-head{ margin-bottom:24px; }
main.pdp .pdp-points{ list-style:none; margin:0; padding:0; display:grid; gap:18px; }
main.pdp .pdp-points li{ display:grid; grid-template-columns:24px minmax(0,1fr); gap:14px; align-items:start; }
main.pdp .pdp-points .pdp-ic{ width:22px; height:22px; margin-top:1px; color:var(--violet, #3B06D4); }
main.pdp .pdp-points h3{ margin:0 0 2px; font-size:var(--role-dense); font-weight:600; line-height:1.2; letter-spacing:-.018em; }
main.pdp .pdp-points p{ margin:0; line-height:1.62; color:var(--pdp-soft); }
main.pdp .pdp-cert{ margin:0; display:flex; flex-direction:column; gap:14px; padding:clamp(18px,3vw,32px); border-radius:var(--pdp-r); background:linear-gradient(160deg, #000000 0 42%, #F5C24B 100%); }
main.pdp .pdp-cert__tag{ font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:#fff; }
main.pdp .pdp-cert__frame{ position:relative; width:100%; aspect-ratio:1123 / 794; overflow:hidden; border-radius:10px; background:#fff; box-shadow:0 24px 48px -24px rgba(0,0,0,.6); }
main.pdp .pdp-cert__frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; pointer-events:none; }
@media (min-width:1024px){ main.pdp .pdp-split--cred{ grid-template-columns:minmax(0,5fr) minmax(0,7fr); align-items:center; } }

/* ---------- S10 the room ---------- */
main.pdp .pdp-room{ display:grid; gap:24px; }
main.pdp .pdp-tiles--room{ align-content:start; }
main.pdp .pdp-room__vis{ display:grid; gap:16px; align-items:end; justify-items:center; }
main.pdp .pdp-room__phone{ --iphone-w:240px; width:100%; }
main.pdp .pdp-room__phone .iphone{ --iphone-fit:.576; }
main.pdp .pdp-photo{ margin:0; display:flex; flex-direction:column; gap:10px; }
main.pdp .pdp-photo img{ display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:var(--pdp-r); }
main.pdp .pdp-photo figcaption{ display:flex; flex-direction:column; gap:2px; font-size:.9rem; line-height:1.4; }
main.pdp .pdp-photo figcaption b{ font-weight:600; }
main.pdp .pdp-photo figcaption span{ font-family:var(--font-mono); font-size:12px; color:var(--pdp-soft); }
main.pdp .pdp-quotes{ list-style:none; margin:24px calc(-1 * var(--gutter, 20px)) 0; padding:6px var(--gutter, 20px) 20px; display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:var(--gutter, 20px); overscroll-behavior-x:contain; }
main.pdp .pdp-quotes > li{ flex:0 0 min(86vw, 320px); display:flex; scroll-snap-align:start; }
main.pdp .pdp-quote{ margin:0; width:100%; display:flex; flex-direction:column; gap:16px; padding:20px 18px 16px 20px; border-radius:18px; background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-quote blockquote{ margin:0; flex:1; }
main.pdp .pdp-quote blockquote p{ margin:0; font-size:.95rem; line-height:1.55; color:var(--ink, #000); text-wrap:pretty; }
main.pdp .pdp-quote figcaption{ display:flex; align-items:center; gap:12px; min-height:44px; }
main.pdp .pdp-quote figcaption img{ flex:none; width:44px; height:44px; border-radius:12px; object-fit:cover; }
main.pdp .pdp-quote__who{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; line-height:1.3; }
main.pdp .pdp-quote__who b{ font-size:.92rem; font-weight:600; }
main.pdp .pdp-quote__who span{ font-family:var(--font-mono); font-size:12px; color:var(--pdp-soft); }
main.pdp .pdp-quote__li{ flex:none; width:44px; height:44px; display:grid; place-items:center; border-radius:12px; color:var(--pdp-soft); }
main.pdp .pdp-quote__li:hover{ color:var(--violet, #3B06D4); background:#F8F8FA; }
main.pdp .pdp-quote__li .pdp-ic{ width:18px; height:18px; }
@media (min-width:600px){
  main.pdp .pdp-room__phone{ --iphone-w:200px; }
  main.pdp .pdp-room__phone .iphone{ --iphone-fit:.48; }
}
@media (min-width:768px){
  main.pdp .pdp-quotes{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-inline:0; padding:0; overflow:visible; }
}
@media (min-width:1024px){
  main.pdp .pdp-room{ grid-template-columns:minmax(0,6fr) minmax(0,6fr); gap:32px; align-items:start; }
  main.pdp .pdp-tiles--room{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  main.pdp .pdp-room__phone{ --iphone-w:200px; }
}
@media (min-width:1280px){
  main.pdp .pdp-room__phone{ --iphone-w:240px; }
  main.pdp .pdp-room__phone .iphone{ --iphone-fit:.576; }
}

/* ---------- S11 comparison table and trainer ---------- */
main.pdp .pdp-diff{ display:grid; gap:20px; }
main.pdp .pdp-tscroll{ position:relative; overflow-x:auto; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-cmp{ width:100%; border-collapse:collapse; font-size:.95rem; line-height:1.45; }
main.pdp .pdp-cmp :is(th,td){ padding:14px 16px; text-align:start; vertical-align:top; }
main.pdp .pdp-cmp tbody tr + tr :is(th,td){ box-shadow:inset 0 1px 0 #ECECF0; }
main.pdp .pdp-cmp thead th{ font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--pdp-soft); }
main.pdp .pdp-cmp thead th.is-us{ color:var(--violet, #3B06D4); }
main.pdp .pdp-cmp tbody th{ font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--pdp-soft); width:28%; }
main.pdp .pdp-cmp td.is-us{ font-weight:600; color:var(--ink, #000); }
main.pdp .pdp-cmp td:not(.is-us){ color:var(--pdp-soft); }
main.pdp .pdp-trainer{ display:grid; grid-template-columns:96px minmax(0,1fr); gap:18px; align-items:start; padding:20px; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-trainer img{ width:96px; height:96px; border-radius:16px; object-fit:cover; }
main.pdp .pdp-trainer h3{ margin:8px 0 2px; font-size:var(--role-dense); font-weight:600; line-height:1.2; }
main.pdp .pdp-trainer p{ margin:0; color:var(--pdp-soft); font-size:.95rem; }
@media (max-width:599px){
  main.pdp .pdp-tscroll{ overflow:visible; }
  main.pdp .pdp-cmp, main.pdp .pdp-cmp tbody, main.pdp .pdp-cmp tr, main.pdp .pdp-cmp th, main.pdp .pdp-cmp td{ display:block; width:auto; }
  main.pdp .pdp-cmp thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  main.pdp .pdp-cmp tr{ padding:14px 18px; }
  main.pdp .pdp-cmp tbody tr + tr{ box-shadow:inset 0 1px 0 #ECECF0; }
  main.pdp .pdp-cmp tbody tr + tr :is(th,td){ box-shadow:none; }
  main.pdp .pdp-cmp :is(th,td){ padding:0; }
  main.pdp .pdp-cmp tbody th{ width:auto; margin-bottom:8px; }
  main.pdp .pdp-cmp td + td{ margin-top:6px; }
  main.pdp .pdp-cmp td::before{ content:attr(data-label) ": "; font-weight:600; color:var(--ink, #000); }
  main.pdp .pdp-cmp td.is-us::before{ color:var(--violet, #3B06D4); }
}
@media (min-width:1024px){
  main.pdp .pdp-diff{ grid-template-columns:minmax(0,8fr) minmax(0,4fr); align-items:start; gap:24px; }
  main.pdp .pdp-trainer{ grid-template-columns:1fr; }
  main.pdp .pdp-trainer img{ width:100%; height:auto; aspect-ratio:1; border-radius:var(--pdp-r-sm); }
}

/* ---------- S12 fit ---------- */
main.pdp .pdp-fit{ display:grid; gap:16px; }
main.pdp .pdp-fit__col{ display:flex; flex-direction:column; gap:14px; padding:clamp(22px,3vw,32px); border-radius:var(--pdp-r); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-fit__col h3{ margin:0; font-weight:600; text-wrap:balance; }
main.pdp .pdp-paths{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
main.pdp .pdp-paths li{ display:grid; grid-template-columns:20px minmax(0,1fr); gap:12px; align-items:start; line-height:1.62; color:var(--pdp-soft); }
main.pdp .pdp-paths b{ color:var(--ink, #000); font-weight:600; }
main.pdp .pdp-paths a{ color:var(--ink, #000); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
main.pdp .pdp-paths .pdp-ic{ margin-top:3px; color:var(--pdp-soft); }
main.pdp .pdp-roles{ list-style:none; margin:4px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
main.pdp .pdp-roles li{ padding:6px 10px; border-radius:999px; background:var(--paper, #F8F8FA); font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.04em; }
@media (min-width:768px){ main.pdp .pdp-fit{ grid-template-columns:1fr 1fr; gap:20px; } }

/* ---------- S13 company sponsor ---------- */
main.pdp .pdp-company{ display:grid; gap:24px; }
main.pdp .pdp-summary{ padding:clamp(24px,3vw,36px); }
main.pdp .pdp-summary dl{ margin:16px 0 0; display:grid; }
main.pdp .pdp-summary dl > div{ display:grid; gap:4px; padding:12px 0; box-shadow:inset 0 1px 0 #1E1E2A; }
main.pdp .pdp-summary dt{ font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--pdp-ink-mute); }
main.pdp .pdp-summary dd{ margin:0; line-height:1.5; color:#fff; }
main.pdp .pdp-summary dd b{ font-weight:700; }
main.pdp .pdp-company__send{ display:flex; flex-direction:column; gap:14px; align-self:center; }
main.pdp .pdp-company__send h3{ margin:0; }
main.pdp .pdp-company__send p{ margin:0; color:var(--pdp-soft); line-height:1.62; }
main.pdp .pdp-company__send .pdp-small{ line-height:1.45; }
main.pdp .pdp-company__btns{ display:flex; flex-wrap:wrap; gap:12px; }
main.pdp .pdp-company__btns .btn{ gap:10px; min-height:48px; }
@media (max-width:599px){ main.pdp .pdp-company__btns .btn{ width:100%; } }
@media (min-width:600px){ main.pdp .pdp-summary dl > div{ grid-template-columns:minmax(140px,.4fr) minmax(0,1fr); gap:16px; } }
@media (min-width:1024px){ main.pdp .pdp-company{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:48px; } }

/* ---------- S14 teams ---------- */
main.pdp .pdp-teams{ display:flex; flex-direction:column; gap:12px; padding:clamp(22px,3vw,32px); border-radius:var(--pdp-r); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-teams h2{ margin:8px 0 6px; }
main.pdp .pdp-teams p{ margin:0; max-width:60ch; color:var(--pdp-soft); line-height:1.62; }
@media (min-width:768px){ main.pdp .pdp-teams{ flex-direction:row; align-items:center; justify-content:space-between; gap:32px; } main.pdp .pdp-teams .pdp-link{ flex:none; } }

/* ---------- S15 steps ---------- */
main.pdp .pdp-steps{ list-style:none; margin:0; padding:0; display:grid; gap:12px; }
main.pdp .pdp-step{ padding:22px; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-step .meta{ color:var(--violet, #3B06D4); }
main.pdp .pdp-step h3{ margin:8px 0 4px; font-size:var(--role-dense); font-weight:600; line-height:1.2; letter-spacing:-.018em; }
main.pdp .pdp-step p{ margin:0; font-size:.95rem; line-height:1.55; color:var(--pdp-soft); }
@media (min-width:768px){ main.pdp .pdp-steps{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; } }

/* ---------- S16 apply (form markup and forms.js unchanged) ---------- */
main.pdp .pdp-apply{ display:grid; gap:24px; grid-template-areas:"head" "card" "more"; }
main.pdp .pdp-apply__copy{ grid-area:head; display:flex; flex-direction:column; gap:12px; }
main.pdp .pdp-apply__copy h2{ margin:0; }
main.pdp .pdp-apply__copy .lead{ margin:0; max-width:52ch; }
main.pdp .pdp-apply__more{ grid-area:more; display:flex; flex-direction:column; gap:16px; }
main.pdp .pdp-apply__more .pdp-qa-set{ margin-top:8px; }
main.pdp .pdp-apply .rfa__card{ grid-area:card; background:#0A0A0C; box-shadow:0 40px 80px -48px rgba(0,0,0,.55); border-radius:var(--pdp-r); scroll-margin-top:96px; }
main.pdp .pdp-apply .rfa__glow{ display:none; }
main.pdp .rfa__card .rfw-choice__p{ font:600 15px/1.3 var(--font-sans, 'IBM Plex Sans', sans-serif); letter-spacing:0; font-variant-numeric:tabular-nums; }
main.pdp .pdp-terms{ margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
main.pdp .pdp-terms div{ padding:14px 16px; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-terms div:last-child:nth-child(odd){ grid-column:1 / -1; }
main.pdp .pdp-terms dt{ font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--pdp-soft); }
main.pdp .pdp-terms dd{ margin:4px 0 0; font-size:.95rem; font-weight:600; line-height:1.35; }
main.pdp .pdp-apply__talk{ margin:0; font-size:.95rem; color:var(--pdp-soft); }
main.pdp .pdp-apply__talk a{ color:var(--ink, #000); font-weight:600; text-decoration:underline; text-underline-offset:3px; display:inline-flex; min-height:44px; align-items:center; }
@media (min-width:1024px){
  main.pdp .pdp-apply{ grid-template-columns:minmax(0,5fr) minmax(0,6fr); grid-template-areas:"head card" "more card"; grid-template-rows:auto 1fr; gap:24px 64px; align-items:start; }
}

/* ---------- S17 the questions left ---------- */
main.pdp .pdp-faq{ display:grid; gap:10px; }
main.pdp .pdp-faq details{ border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-faq summary{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:56px; padding:14px 20px; cursor:pointer; list-style:none; font-size:var(--step-1); font-weight:600; line-height:1.2; letter-spacing:-.018em; }
main.pdp .pdp-faq summary::-webkit-details-marker{ display:none; }
main.pdp .pdp-faq summary::after{ content:"+"; flex:none; font:500 20px/1 var(--font-mono); color:var(--pdp-soft); }
main.pdp .pdp-faq details[open] summary::after{ content:"\2212"; }
main.pdp .pdp-faq details p{ margin:0; padding:0 20px 18px; font-size:max(1rem, var(--step-0)); line-height:1.62; color:var(--pdp-soft); }
main.pdp .wrap--faq > .sec-head a{ color:var(--ink, #000); font-weight:600; text-decoration:underline; text-underline-offset:3px; }

/* ---------- S18 close (ink card) ---------- */
main.pdp .pdp-close{ display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center; padding:clamp(32px,5vw,64px) clamp(20px,4vw,64px); }
main.pdp .pdp-close .display{ margin:0; max-width:20ch; color:#fff; text-wrap:balance; }
main.pdp .pdp-close__price{ margin:4px 0 0; display:flex; align-items:baseline; gap:10px; }
main.pdp .pdp-close .pdp-price{ color:#fff; }
main.pdp .pdp-close__price > span{ color:#D1D1D9; }
main.pdp .pdp-close__risk{ margin:4px 0 0; font-size:.8rem; line-height:1.45; color:#D1D1D9; }
main.pdp .pdp-close .pdp-proof{ color:#D1D1D9; }
main.pdp .pdp-close .pdp-proof b{ color:#fff; }
main.pdp .pdp-close .pdp-faces img{ box-shadow:0 0 0 2px #000; }
/* a quiet close action where the form above already holds the page's magenta action (plans/teams; measure F1) */
main.pdp .pdp-close .pdp-cta--quiet{ background:#fff; border-color:#fff; color:#000; }
/* the voice button steps aside while it would cover a magenta action (product.js; review fix 9) */
html[data-pp-voice-off] .rv-voice{ visibility:hidden; pointer-events:none; }
main.pdp .pdp-close__acts{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 24px; margin-top:8px; }
@media (max-width:599px){ main.pdp .pdp-close__acts{ flex-direction:column; width:100%; } main.pdp .pdp-close__acts .pdp-cta{ width:100%; } }

/* ---------- phone sticky bar ---------- */
main.pdp .pp-sticky{ position:fixed; z-index:80; left:12px; right:calc(76px + env(safe-area-inset-right, 0px)); bottom:calc(12px + env(safe-area-inset-bottom, 0px));
  display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 8px 8px 16px; border-radius:16px; background:#000; color:#fff;
  box-shadow:0 18px 40px -16px rgba(0,0,0,.5); animation:pdp-up .2s var(--pdp-ease) both; }
main.pdp .pp-sticky[hidden]{ display:none; }
main.pdp .pp-sticky__t{ display:grid; min-width:0; margin:0; }
main.pdp .pp-sticky__t b{ font:700 16px/1.2 var(--font-sans); font-variant-numeric:tabular-nums; white-space:nowrap; }
main.pdp .pp-sticky__t span{ font-size:12.8px; line-height:1.3; color:#D1D1D9; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
main.pdp .pp-sticky__btn{ min-height:44px; padding:10px 18px; font-size:16px; }
main.pdp .pp-sticky :where(a):focus-visible{ outline:3px solid var(--pdp-on-dark-eyebrow); outline-offset:2px; }
@keyframes pdp-up{ from{ transform:translateY(12px); opacity:0; } }
@media (min-width:768px){ main.pdp .pp-sticky{ display:none !important; } }

/* ==========================================================================================================
   Round 5 (29 Oct 2026): memberships. Free · Pro · Infinite · Teams (owner rulings 28 Oct 2026, night).
   ========================================================================================================== */

/* hero: the "for who" line (ruling 1) */
main.pdp .pdp-forwho{ margin:0; font-size:.95rem; line-height:1.5; color:var(--ink, #000); font-weight:500; max-width:58ch; }
main.pdp .pdp-forwho .meta{ display:inline; margin-right:10px; color:var(--violet, #3B06D4); }

/* bundles only: the included course values, struck, beside the membership price (ruling 6). Value wording, never "you save" */
main.pdp .pdp-value{ display:inline-flex; align-items:baseline; font-size:1.05rem; font-weight:400; line-height:1.2; color:var(--pdp-soft); font-variant-numeric:tabular-nums; }
main.pdp .pdp-value s{ text-decoration-thickness:1.5px; }
main.pdp .pdp-lcol__rows .pdp-value{ display:flex; margin-bottom:4px; font-size:.95rem; }
main.pdp .pdp-price--sm{ font-size:20px; }
main.pdp .pdp-lp{ display:flex; align-items:baseline; flex-wrap:wrap; gap:2px 8px; font-size:.9rem; color:var(--pdp-soft); }
main.pdp .pdp-lp + .pdp-lp{ margin-top:8px; }

/* duo bands, one per page: Honor (Pro, the default above), Prestige (Infinite), System (Teams, dark) */
main.pdp .pdp-card__band--prestige{ background:linear-gradient(100deg, #000 0 40%, #F5C24B 100%); }
main.pdp .pdp-card__band--system{ background:linear-gradient(100deg, #3B06D4 0 40%, #4CF3FE 100%); }
main.pdp .pdp-card__band--system :is(.pdp-card__k, .pdp-card__title){ max-width:50%; }  /* System: display and body text with a 40% hold sit in the anchor half */
/* the certificate without a duo, when the page's one duo is in the hero */
main.pdp .pdp-cert--ink{ background:#000; }

/* S4: a status line on a tab panel ("coming Nov-Dec 2026") */
main.pdp .pdp-panel__soon{ align-self:flex-start; font-family:var(--font-mono); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--violet, #3B06D4); }
main.pdp .pdp-tabs[data-n="5"] .pdp-tab:last-child{ grid-column:1 / -1; }

/* S5: more than one course card */
main.pdp .pdp-courses{ display:grid; gap:16px; }
main.pdp .pdp-course__alone{ margin:auto 0 0; padding-top:14px; box-shadow:inset 0 1px 0 #1E1E2A; font-size:.9rem; color:#D1D1D9; }
main.pdp .pdp-course__alone b{ color:#fff; font-weight:700; font-variant-numeric:tabular-nums; }
main.pdp .pdp-inc--courses .pdp-course .pdp-checks{ grid-template-columns:1fr; }
main.pdp .pdp-inc__sum{ margin:6px 0 0; padding-top:12px; box-shadow:inset 0 1px 0 #ECECF0; line-height:1.5; color:var(--pdp-soft); }
main.pdp .pdp-inc__sum b{ color:var(--ink, #000); font-weight:600; }
@media (min-width:768px){ main.pdp .pdp-courses{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (min-width:1024px){
  main.pdp .pdp-inc--courses{ grid-template-columns:minmax(0,1fr); }
  main.pdp .pdp-inc--courses .pdp-inc__plus{ flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:10px 28px; }
  main.pdp .pdp-inc--courses .pdp-inc__plus > p:not(.meta){ flex:1 1 420px; }
  main.pdp .pdp-inc--courses .pdp-inc__sum{ margin:0; padding:0 0 0 28px; box-shadow:inset 1px 0 0 #ECECF0; flex:0 1 340px !important; }
}

/* S6: the next course after the part list */
main.pdp .pdp-next{ display:grid; gap:8px; margin-top:24px; padding:20px 22px; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); }
main.pdp .pdp-next .meta{ color:var(--violet, #3B06D4); }
main.pdp .pdp-next p{ margin:0; line-height:1.62; color:var(--pdp-soft); max-width:72ch; }
main.pdp .pdp-next .pdp-link{ display:inline-flex; min-height:44px; }
main.pdp .pdp-models{ margin:10px 0 0; font-size:.9rem; line-height:1.5; color:var(--pdp-soft); }
main.pdp .pdp-part .pdp-link{ margin-top:6px; min-height:44px; font-size:.95rem; }

/* S10: the benefit matrix, grouped like the owner's profiles; the current membership's column is outlined in purple */
main.pdp .pdp-mx{ border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); overflow:hidden; }
main.pdp .pdp-mx__t{ width:100%; border-collapse:collapse; font-size:.95rem; line-height:1.45; }
main.pdp .pdp-mx__t :is(th,td){ padding:12px 14px; text-align:start; vertical-align:top; }
main.pdp .pdp-mx__t thead th{ position:relative; width:15%; padding-top:18px; text-align:center; vertical-align:bottom; font-size:var(--step-0); font-weight:600; }
main.pdp .pdp-mx__t thead th a{ color:var(--ink, #000); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; display:inline-flex; min-height:44px; min-width:44px; justify-content:center; align-items:center; }
main.pdp .pdp-mx__tag{ display:block; font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--violet, #3B06D4); }
main.pdp .pdp-mx__grp th{ padding-top:22px; padding-bottom:8px; background:var(--paper, #F8F8FA); }
main.pdp .pdp-mx__grp .meta{ display:inline; color:var(--ink, #000); }
main.pdp .pdp-mx__gl{ margin-left:10px; font-size:.85rem; color:var(--pdp-soft); }
main.pdp .pdp-mx__t tbody tr:not(.pdp-mx__grp) + tr :is(th,td){ box-shadow:inset 0 1px 0 #ECECF0; }
main.pdp .pdp-mx__t tbody th[scope="row"] b{ display:block; font-weight:600; color:var(--ink, #000); }
main.pdp .pdp-mx__t tbody th[scope="row"] span{ display:block; margin-top:2px; font-size:.875rem; font-weight:400; color:var(--pdp-soft); }
main.pdp .pdp-mx__c{ text-align:center !important; vertical-align:middle !important; }
main.pdp .pdp-mx__c .pdp-ic{ width:20px; height:20px; color:var(--violet, #3B06D4); }
main.pdp .pdp-mx__no{ color:#8A8A99; }
main.pdp .pdp-mx__chip{ display:inline-block; padding:3px 8px; border-radius:999px; background:var(--paper, #F8F8FA); font-family:var(--font-mono); font-size:11px; font-weight:500; letter-spacing:.04em; line-height:1.3; text-transform:uppercase; color:var(--ink, #000); }
main.pdp :is(.pdp-mx__c, .pdp-mx__col).is-this{ background:rgba(59,6,212,.05); }
main.pdp .pdp-mx__col.is-this{ box-shadow:inset 0 2px 0 var(--violet, #3B06D4); }
main.pdp .pdp-mx__teams{ display:grid; gap:6px; margin:16px 0 0; padding:18px 20px; border-radius:var(--pdp-r-sm); background:#fff; box-shadow:var(--pdp-shadow); line-height:1.55; color:var(--pdp-soft); }
main.pdp .pdp-mx__teams b{ color:var(--ink, #000); font-weight:600; }
main.pdp .pdp-mx__teams .pdp-link{ display:inline-flex; margin-left:4px; }
@media (min-width:768px){ main.pdp .pdp-mx__teams{ grid-template-columns:120px minmax(0,1fr); align-items:baseline; } }
/* phones: three narrow tick columns beside the benefit; the descriptions stay */
@media (max-width:599px){
  main.pdp .pdp-mx{ margin-inline:calc(-1 * var(--gutter, 20px)); border-radius:0; }
  main.pdp .pdp-mx__t{ table-layout:fixed; }
  main.pdp .pdp-mx__t :is(th,td){ padding:12px 4px; }
  main.pdp .pdp-mx__t tbody th[scope="row"], main.pdp .pdp-mx__grp th{ padding-left:var(--gutter, 20px); }
  main.pdp .pdp-mx__t thead th{ width:58px; font-size:.85rem; }
  main.pdp .pdp-mx__t thead th:last-child{ width:74px; }
  main.pdp .pdp-mx__t thead th:last-child, main.pdp .pdp-mx__t td:last-child{ padding-right:var(--gutter, 20px); }
  main.pdp .pdp-mx__tag{ font-size:10px; letter-spacing:.04em; }
  main.pdp .pdp-mx__gl{ display:block; margin:2px 0 0; }
  main.pdp .pdp-mx__chip{ padding:2px 4px; font-size:9.5px; letter-spacing:0; text-transform:none; font-family:var(--font-sans); font-weight:600; }
}

/* S10: quotes beside the app phone; on phones the mock-up's type is too small, so it stays hidden (this rule comes after .pdp-room__vis) */
@media (max-width:599px){ main.pdp .pdp-room__vis{ display:none; } }
main.pdp .pdp-room--q{ margin-top:clamp(28px,3.5vw,44px); }
main.pdp .pdp-room--q .pdp-quotes{ margin-top:0; }
@media (min-width:1024px){ main.pdp .pdp-room--q{ grid-template-columns:minmax(0,8fr) minmax(0,4fr); align-items:center; } }

/* S8: a three-column ladder (Teams) */
@media (min-width:1024px){ main.pdp .pdp-ladder--3{ grid-template-columns:minmax(120px,.6fr) repeat(3,minmax(0,1fr)); } }
@media (min-width:600px) and (max-width:1023px){ main.pdp .pdp-ladder--3{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Teams: four tiles, the Free line and the fact chips */
main.pdp .pdp-inc__plus--team{ margin-top:16px; }
main.pdp .pdp-chips--team{ margin-top:16px; }
@media (min-width:768px){ main.pdp .pdp-chips--team{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (min-width:1024px){ main.pdp .pdp-tiles--team{ grid-template-columns:repeat(4,minmax(0,1fr)); } main.pdp .pdp-tiles--3{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
main.pdp .pdp-tscroll--solo{ max-width:900px; }
/* Teams: the contact form inside the apply card */
main.pdp .rfa__form--team .rf-actions .btn{ width:100%; justify-content:center; }

/* ==========================================================================================================
   Dark mode by audience (Teams, B2B): black ground, cards on elev-1 (#0A0A0C) with no shadow and no border,
   elev-4 hairlines, white ink, slate text, purple-500 accents, cyan highlights. os-dark.css flips --ink / --fg-soft / --paper.
   ========================================================================================================== */
html[data-mode="dark"] main.pdp{ --pdp-soft:#B7B7C6; --pdp-shadow:none; --violet:#7B87FF; --focus-ring:#7B87FF; color:#F8F8FA; }
html[data-mode="dark"] main.pdp .hl:not(:is(h1,h2,h3,h4) *){ color:var(--cyan, #4CF3FE); }
html[data-mode="dark"] main.pdp :is(.pdp-card, .pdp-panel, .pdp-tile, .pdp-part, .pdp-needs li, .pdp-lcol, .pdp-tscroll, .pdp-trainer,
  .pdp-fit__col, .pdp-teams, .pdp-step, .pdp-terms div, .pdp-faq details, .pdp-quote, .pdp-inc__plus, .pdp-next, .pdp-mx, .pdp-mx__teams, .pdp-upgrade){
  background:var(--elev-1, #0A0A0C); box-shadow:none; }
html[data-mode="dark"] main.pdp .pdp-card{ box-shadow:none; }
@media (max-width:767px){ html[data-mode="dark"] main.pdp .pdp-parts{ background:var(--elev-1, #0A0A0C); box-shadow:none; } }
@media (max-width:599px){
  html[data-mode="dark"] main.pdp :is(.pdp-needs, .pdp-tiles--room, .pdp-steps){ background:var(--elev-1, #0A0A0C); box-shadow:none; }
  html[data-mode="dark"] main.pdp :is(.pdp-needs > li + li, .pdp-tiles--room > .pdp-tile + .pdp-tile, .pdp-steps > .pdp-step + .pdp-step){ box-shadow:inset 0 1px 0 #1E1E2A; }
  html[data-mode="dark"] main.pdp .pdp-card__facts, html[data-mode="dark"] main.pdp .pdp-facts{ box-shadow:inset 0 1px 0 #1E1E2A; }
  html[data-mode="dark"] main.pdp .pdp-card .pdp-card__price{ box-shadow:none; }
}
html[data-mode="dark"] main.pdp .pdp-lcol.is-this{ box-shadow:inset 0 0 0 2px #7B87FF; }
html[data-mode="dark"] main.pdp :is(.pdp-lines li, .pdp-chips div, .pdp-roles li, .pdp-ai__i, .pdp-mx__grp th, .pdp-mx__chip){ background:var(--elev-2, #12121A); }
html[data-mode="dark"] main.pdp .pdp-ink{ background:var(--elev-2, #12121A); }
html[data-mode="dark"] main.pdp .pdp-summary dl > div{ box-shadow:inset 0 1px 0 #2A2A36; }
html[data-mode="dark"] main.pdp :is(.pdp-card__price, .pdp-inc__sum){ box-shadow:inset 0 1px 0 #1E1E2A; }
html[data-mode="dark"] main.pdp :is(.pdp-lcol__rows > div, .pdp-cmp tbody tr + tr :is(th,td), .pdp-part + .pdp-part){ box-shadow:inset 0 1px 0 #1E1E2A; }
html[data-mode="dark"] main.pdp .pdp-ladder__labels span{ box-shadow:inset 0 1px 0 #2A2A36; }
html[data-mode="dark"] main.pdp .pdp-ladder__labels span:first-child, html[data-mode="dark"] main.pdp .pdp-ladder__labels span:last-child{ box-shadow:none; }
html[data-mode="dark"] main.pdp :is(h1, h2, h3, .pdp-price, .pdp-bullets b, .pdp-proof b, .pdp-paths b, .pdp-paths a, .pdp-panel__become, .pdp-lines p, .pdp-quote blockquote p, .pdp-cmp td.is-us, .pdp-tile h3, .pdp-chips dd, .pdp-terms dd){ color:#F8F8FA; }
html[data-mode="dark"] main.pdp .pdp-link, html[data-mode="dark"] main.pdp .pdp-apply__talk a, html[data-mode="dark"] main.pdp .wrap--faq > .sec-head a{ color:#F8F8FA; }
html[data-mode="dark"] main.pdp .pdp-tab{ background:var(--elev-1, #0A0A0C); color:#F8F8FA; }
html[data-mode="dark"] main.pdp .pdp-tab:hover{ background:var(--elev-3, #1A1A22); }
html[data-mode="dark"] main.pdp .pdp-tab[aria-selected="true"]{ background:#F8F8FA; color:#000; }
html[data-mode="dark"] main.pdp .pdp-faces img{ box-shadow:0 0 0 2px #000; }
html[data-mode="dark"] main.pdp .pdp-quote__li:hover{ background:var(--elev-3, #1A1A22); color:#7B87FF; }
html[data-mode="dark"] main.pdp .pdp-mx__no{ color:#8A8A99; }
html[data-mode="dark"] main.pdp :is(.pdp-mx__c, .pdp-mx__col).is-this{ background:rgba(123,135,255,.08); }
html[data-mode="dark"] main.pdp .pdp-close{ background:var(--elev-1, #0A0A0C); }
html[data-mode="dark"] main.pdp .pp-sticky{ background:var(--elev-2, #12121A); box-shadow:0 18px 40px -16px rgba(0,0,0,.9); }
/* the member logos keep their own colours on light chips: several are raster files with an opaque white ground */
/* no ghost-white chips on dark: the strip is a white silhouette at .6 (components.css, owner request 29 Oct 2026) */

/* ---------- Arabic: Almarai, no negative tracking, no caps ---------- */
main.pdp:lang(ar), main.pdp :lang(ar){ font-family:var(--font-ar, 'Almarai'), var(--font-sans); }
main.pdp:lang(ar) :is(.pdp-h1,.display){ font-weight:800; line-height:1.25; letter-spacing:0; }
main.pdp:lang(ar) :is(h2,h3,.btn,.pdp-qa__q,.pdp-panel__become){ font-weight:700; line-height:1.3; letter-spacing:0; }
main.pdp:lang(ar) :is(p,li,dd,.lead){ line-height:1.8; }
main.pdp:lang(ar) :is(.eyebrow,.meta,.pdp-label,dt,.pdp-card__k,.pdp-lcol__tag,.pdp-cert__tag,.pdp-ai__pref){ font-family:var(--font-ar, 'Almarai'), var(--font-sans); font-weight:700; letter-spacing:0; text-transform:none; }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  main.pdp *, main.pdp *::before, main.pdp *::after{ transition:none !important; animation:none !important; }
  main.pdp .pdp-marq{ overflow-x:auto; -webkit-mask-image:none; mask-image:none; }
  main.pdp .pdp-logos[aria-hidden]{ display:none; }
}
