/*
Theme Name: IsoTone Next
Theme URI: https://isotone.net/
Author: N5 Digital, Inc.
Description: The approved IsoTone red, charcoal, silver and white redesign with lightweight click-to-play exercise videos and WooCommerce support.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: isotone-next
*/

:root {
  --plum-950: #0b0d0c;
  --plum-900: #131514;
  --plum-800: #681d23;
  --plum-700: #8b252b;
  --magenta: #f21f2d;
  --gold: #c8c8cb;
  --gold-bright: #f21f2d;
  --sky: #aeb1b7;
  --cream: #f5f4f3;
  --ink: #131514;
  --muted: #626466;
  --line: #dddddf;
  --white: #ffffff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
.admin-bar .site-header { top: 32px; }

.utility-bar {
  min-height: 34px;
  padding: 8px 5vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 4vw, 56px);
  background: #131514;
  color: #ededee;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.utility-bar span + span::before { content: "•"; margin-right: clamp(18px, 4vw, 56px); color: var(--magenta); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 86px;
  padding: 0 5vw;
  display: flex;
  align-items: center;
  gap: 34px;
  background: rgba(255, 255, 255, .95);
  border-bottom: 1px solid rgba(242, 31, 45, .16);
  backdrop-filter: blur(16px);
}
.brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.brand img { width: clamp(190px, 16vw, 250px); height: auto; object-fit: contain; }
.desktop-nav { margin-left: auto; display: flex; align-items: center; gap: clamp(18px, 2.5vw, 38px); }
.desktop-nav a { position: relative; padding: 30px 0; color: #27292a; font-size: 14px; font-weight: 700; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 22px; height: 2px; background: var(--magenta); transition: right .22s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { right: 0; }
.header-cta { padding: 14px 20px; border: 1px solid var(--magenta); border-radius: 4px; color: var(--magenta); font-size: 13px; font-weight: 800; transition: .2s ease; }
.header-cta:hover { color: white; background: var(--magenta); transform: translateY(-2px); }
.mobile-menu { display: none; margin-left: auto; }

.hero {
  min-height: 700px;
  padding: clamp(72px, 8vw, 126px) 5vw 72px;
  display: grid;
  grid-template-columns: minmax(360px, .92fr) minmax(460px, 1.08fr);
  align-items: center;
  gap: clamp(30px, 5vw, 90px);
  overflow: hidden;
  color: white;
  background:
    radial-gradient(circle at 82% 32%, rgba(242,31,45,.24), transparent 23%),
    linear-gradient(118deg, #090b0a 0%, #131514 54%, #681d23 115%);
}
.hero-copy { position: relative; z-index: 2; max-width: 690px; }
.eyebrow, .section-kicker { margin: 0 0 22px; color: var(--magenta); font-size: 12px; font-weight: 900; letter-spacing: .19em; text-transform: uppercase; }
.eyebrow { color: #e7e8ea; }
.eyebrow span { display: inline-block; width: 31px; height: 2px; margin: 0 9px 3px 0; background: var(--magenta); }
h1 { margin: 0; max-width: 790px; font-size: clamp(54px, 6vw, 92px); line-height: .91; letter-spacing: -.055em; text-transform: uppercase; }
h1 em { display: block; margin-top: 12px; color: var(--gold-bright); font-family: Georgia, serif; font-size: .68em; font-weight: 500; line-height: 1.02; letter-spacing: -.035em; text-transform: none; }
.hero-lede { max-width: 650px; margin: 34px 0 0; color: #d7d8da; font-size: clamp(17px, 1.35vw, 21px); line-height: 1.65; }
.hero-actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 14px; }
.button { min-height: 56px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; border-radius: 4px; font-size: 14px; font-weight: 900; letter-spacing: .01em; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-gold { color: white; background: var(--magenta); box-shadow: 0 10px 30px rgba(242,31,45,.18); }
.button-gold:hover { background: #ff3542; box-shadow: 0 12px 34px rgba(242,31,45,.3); }
.button-outline { border: 1px solid rgba(255,255,255,.5); color: white; }
.button-outline:hover { background: rgba(255,255,255,.08); }
.play { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; font-size: 9px; }
.hero-note { margin: 34px 0 0; color: #aeb1b7; font-size: 11px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }

.hero-product { position: relative; min-height: 470px; display: grid; place-items: center; }
.hero-product::before { content: ""; position: absolute; width: min(42vw, 610px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 54px rgba(255,255,255,.025), 0 0 0 108px rgba(255,255,255,.018); }
.hero-product::after { content: ""; position: absolute; width: 84%; height: 2px; background: linear-gradient(90deg, transparent, rgba(242,31,45,.9), transparent); transform: translateY(-3px); }
.hero-product img { position: relative; z-index: 2; width: min(56vw, 920px); max-width: none; filter: drop-shadow(0 35px 30px rgba(0,0,0,.42)); animation: hero-in .65s ease both; }
@keyframes hero-in { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
.force-label { position: absolute; z-index: 3; top: 29%; display: flex; align-items: center; gap: 8px; color: #ececef; font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.force-label span { font-size: 30px; line-height: 1; }
.force-left { left: 3%; }
.force-right { right: 1%; }
.product-stats { position: absolute; z-index: 4; left: 6%; right: 0; bottom: 0; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(255,255,255,.15); background: rgba(9,11,10,.68); backdrop-filter: blur(14px); }
.product-stats div { min-height: 88px; padding: 18px 22px; display: flex; flex-direction: column; gap: 5px; border-right: 1px solid rgba(255,255,255,.12); }
.product-stats div:last-child { border-right: 0; }
.product-stats strong { color: white; font-size: 19px; }
.product-stats span { color: #bfc1c4; font-size: 11px; }

.audience-band { display: grid; grid-template-columns: repeat(3, 1fr); background: white; border-bottom: 1px solid var(--line); }
.audience-card { min-height: 210px; padding: 42px clamp(25px, 3.5vw, 62px); display: grid; grid-template-columns: auto 1fr auto; gap: 22px; align-items: start; border-right: 1px solid var(--line); transition: .22s ease; }
.audience-card:hover { background: #f7eded; }
.audience-card:last-child { border-right: 0; }
.audience-number { color: var(--magenta); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.audience-card h2 { margin: -4px 0 10px; color: var(--plum-800); font-size: clamp(21px, 1.7vw, 29px); }
.audience-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.audience-card > span:last-child { color: var(--plum-800); font-size: 20px; }

.section-shell { padding: clamp(88px, 9vw, 150px) 6vw; }
.section-heading-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10vw; align-items: end; }
.section-heading-grid h2, .exercise-copy h2, .professional-callout h2 { margin: 0; color: var(--plum-950); font-size: clamp(42px, 5vw, 72px); line-height: .98; letter-spacing: -.045em; }
.section-heading-grid h2 em { color: var(--magenta); font-family: Georgia, serif; font-weight: 400; }
.section-heading-grid > p { margin: 0 0 6px; color: var(--muted); font-size: 18px; line-height: 1.8; }
.cycle-grid { margin-top: 70px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.cycle-grid article { min-height: 310px; padding: 36px; position: relative; border-right: 1px solid var(--line); background: white; }
.cycle-grid article:last-child { border-right: 0; }
.cycle-grid .cycle-accent { color: white; background: var(--plum-800); }
.cycle-step { color: var(--magenta); font-size: 11px; font-weight: 900; letter-spacing: .15em; }
.cycle-accent .cycle-step { color: var(--gold); }
.cycle-icon { margin: 38px 0 24px; color: var(--plum-800); font-family: Georgia, serif; font-size: 45px; letter-spacing: -.08em; }
.cycle-accent .cycle-icon { color: var(--gold-bright); }
.cycle-grid h3 { margin: 0 0 15px; color: var(--plum-950); font-size: 24px; }
.cycle-accent h3 { color: white; }
.cycle-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.cycle-accent p { color: #e3e3e5; }
.grip-rule { padding: 22px 28px; color: #4b4d50; background: #ececed; border-left: 4px solid var(--magenta); font-size: 14px; line-height: 1.6; }
.grip-rule strong { color: var(--plum-800); }

.exercise-feature { min-height: 730px; display: grid; grid-template-columns: 1fr 1fr; background: var(--plum-950); color: white; }
.exercise-photo { position: relative; overflow: hidden; display: grid; place-items: center; background: radial-gradient(circle, #f4f4f5 0%, #c8c8cb 100%); }
.exercise-photo::after { content: ""; position: absolute; inset: 30px; border: 1px solid rgba(242,31,45,.2); border-radius: 50%; }
.exercise-photo img { width: min(74%, 650px); position: relative; z-index: 2; }
.photo-badge { position: absolute; z-index: 3; left: 38px; bottom: 38px; padding: 12px 16px; color: white; background: var(--magenta); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.exercise-copy { padding: clamp(70px, 8vw, 130px); display: flex; flex-direction: column; justify-content: center; }
.section-kicker.light { color: #e2e3e5; }
.exercise-copy h2 { color: white; }
.exercise-copy > p { margin: 30px 0; color: #cfd0d2; font-size: 17px; line-height: 1.75; }
.exercise-copy ul { margin: 0 0 30px; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.14); }
.exercise-copy li { padding: 16px 0; display: flex; gap: 17px; border-bottom: 1px solid rgba(255,255,255,.14); color: #e3e3e5; font-size: 14px; line-height: 1.5; }
.exercise-copy li span { color: var(--gold); font-weight: 900; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--plum-800); font-size: 14px; font-weight: 900; }
.text-link.light { color: #f1f1f2; }

.models { background: white; }
.model-grid { margin-top: 64px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.model-card { padding: 26px; border-right: 1px solid var(--line); }
.model-card:last-child { border-right: 0; }
.model-image { height: 210px; display: grid; place-items: center; background: var(--cream); overflow: hidden; }
.model-image img { width: 110%; max-width: none; }
.model-note { min-height: 35px; margin: 22px 0 3px !important; color: var(--magenta) !important; font-size: 11px !important; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.model-card h3 { margin: 0 0 12px; color: var(--plum-950); font-size: 34px; }
.model-card p { margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.model-card a { display: flex; justify-content: space-between; padding-top: 16px; border-top: 1px solid var(--line); color: var(--plum-800); font-size: 13px; font-weight: 900; }

.professional-callout { padding: clamp(78px, 8vw, 130px) 7vw; display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; color: white; background: linear-gradient(125deg, #4b171b, var(--magenta)); }
.professional-callout h2 { color: white; }
.professional-callout p { margin: 30px 0; max-width: 580px; color: #f1f1f2; font-size: 18px; line-height: 1.75; }

footer { padding: 64px 6vw 50px; display: grid; grid-template-columns: 1fr auto 1fr; gap: 60px; align-items: start; color: #c8c8cb; background: #090b0a; }
.footer-brand img { width: clamp(220px, 20vw, 310px); }
.footer-links { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 42px; color: white; font-size: 13px; font-weight: 700; }
.footer-links a:hover { color: var(--magenta); }
.footer-contact { justify-self: end; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; font-size: 13px; }
.footer-contact > a { color: #f0f0f1; font-size: 16px; font-weight: 800; }
.footer-contact small { margin-top: 18px; color: #7c7f82; }

@media (max-width: 1100px) {
  .desktop-nav { display: none; }
  .header-cta { margin-left: auto; }
  .mobile-menu { display: block; margin-left: 0; position: relative; }
  .mobile-menu summary { cursor: pointer; list-style: none; padding: 12px; color: var(--plum-800); font-size: 13px; font-weight: 900; }
  .mobile-menu summary::-webkit-details-marker { display: none; }
  .mobile-menu > div { position: absolute; right: 0; top: 52px; width: 230px; padding: 10px; display: grid; background: white; border: 1px solid var(--line); box-shadow: 0 18px 40px rgba(19,21,20,.18); }
  .mobile-menu a { padding: 12px; color: var(--plum-800); font-size: 14px; font-weight: 800; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { max-width: 820px; }
  .hero-product { min-height: 410px; }
  .hero-product img { width: min(88vw, 940px); }
  .force-left { left: 8%; }
  .force-right { right: 8%; }
  .audience-band { grid-template-columns: 1fr; }
  .audience-card { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .model-grid { grid-template-columns: repeat(2, 1fr); }
  .model-card:nth-child(2) { border-right: 0; }
  .model-card:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .utility-bar { justify-content: space-between; overflow: hidden; white-space: nowrap; }
  .utility-bar span:nth-child(n+3) { display: none; }
  .utility-bar span + span::before { margin-right: 18px; }
  .site-header { min-height: 72px; padding: 0 20px; gap: 8px; }
  .brand img { width: 170px; height: auto; }
  .header-cta { display: none; }
  .mobile-menu { margin-left: auto; }
  .hero { min-height: 0; padding: 70px 22px 54px; gap: 25px; }
  h1 { font-size: clamp(48px, 15vw, 68px); }
  .hero-lede { font-size: 17px; }
  .hero-actions { display: grid; }
  .button { width: 100%; }
  .hero-note { line-height: 1.7; }
  .hero-product { min-height: 310px; }
  .hero-product::before { width: 75vw; }
  .hero-product img { width: 115vw; }
  .force-label { top: 18%; font-size: 9px; }
  .force-left { left: 0; }
  .force-right { right: 0; }
  .force-label span { font-size: 22px; }
  .product-stats { left: 0; }
  .product-stats div { min-height: 75px; padding: 13px 10px; }
  .product-stats strong { font-size: 16px; }
  .product-stats span { font-size: 9px; }
  .audience-card { padding: 30px 22px; }
  .section-shell { padding: 78px 22px; }
  .section-heading-grid { grid-template-columns: 1fr; gap: 28px; }
  .section-heading-grid h2, .exercise-copy h2, .professional-callout h2 { font-size: 44px; }
  .section-heading-grid > p { font-size: 16px; }
  .cycle-grid { grid-template-columns: 1fr; margin-top: 44px; }
  .cycle-grid article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .exercise-feature { grid-template-columns: 1fr; min-height: 0; }
  .exercise-photo { min-height: 440px; }
  .exercise-photo img { width: 82%; }
  .exercise-copy { padding: 72px 24px; }
  .model-grid { grid-template-columns: 1fr; }
  .model-card, .model-card:nth-child(2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .model-card:last-child { border-bottom: 0; }
  .professional-callout { padding: 76px 24px; grid-template-columns: 1fr; gap: 20px; }
  footer { padding: 54px 24px; grid-template-columns: 1fr; gap: 38px; }
  .footer-contact { justify-self: start; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Interior pages */
.inner-hero {
  min-height: 520px;
  padding: 84px 6vw 70px;
  display: grid;
  grid-template-columns: 1fr .9fr;
  align-items: center;
  gap: 7vw;
  overflow: hidden;
  color: white;
  background:
    radial-gradient(circle at 82% 18%, rgba(242,31,45,.24), transparent 23%),
    linear-gradient(125deg, #090b0a, #681d23);
}
.inner-hero > div { position: relative; z-index: 2; }
.inner-hero h1 { font-size: clamp(48px, 5vw, 78px); }
.inner-hero h1 em { color: var(--gold-bright); }
.inner-hero > div > p:last-child { max-width: 700px; margin: 30px 0 0; color: #dedfe1; font-size: 18px; line-height: 1.75; }
.inner-hero > img { width: min(50vw, 800px); max-width: none; filter: drop-shadow(0 28px 24px rgba(0,0,0,.4)); }

.bottom-cta { padding: clamp(72px, 8vw, 120px) 7vw; display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; color: white; background: linear-gradient(125deg, var(--plum-800), var(--magenta)); }
.bottom-cta h2 { margin: 0; font-size: clamp(42px, 4vw, 66px); line-height: 1; letter-spacing: -.04em; }
.bottom-cta p:not(.section-kicker) { margin: 8px 0 28px; max-width: 600px; color: #f1f1f2; font-size: 17px; line-height: 1.75; }

.rules-grid { margin-top: 60px; display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line); }
.rules-grid article { min-height: 250px; padding: 30px; border-right: 1px solid var(--line); background: white; }
.rules-grid article:last-child { border-right: 0; }
.rules-grid span, .contact-options > article > span { color: var(--magenta); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.rules-grid h3 { margin: 46px 0 14px; color: var(--plum-950); font-size: 21px; }
.rules-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }

.exercise-library { background: #ececed; }
.exercise-grid { margin-top: 60px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.exercise-grid article { padding: 14px 14px 26px; background: white; border: 1px solid #d5d6d8; }
.exercise-card-image { position: relative; aspect-ratio: 1; overflow: hidden; background: #e1e2e3; }
.exercise-card-image img { width: 100%; height: 100%; object-fit: cover; }
.exercise-card-image span { position: absolute; right: 12px; bottom: 12px; width: 36px; height: 36px; display: grid; place-items: center; color: white; background: var(--plum-800); font-size: 11px; font-weight: 900; }
.exercise-grid h3 { margin: 22px 10px 14px; color: var(--plum-800); font-size: 23px; }
.exercise-grid p { margin: 8px 10px 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.exercise-grid strong { color: var(--plum-950); }
.program-strip { display: grid; grid-template-columns: repeat(3, 1fr); color: white; background: var(--plum-950); }
.program-strip > div { padding: 55px 6vw; border-right: 1px solid rgba(255,255,255,.14); }
.program-strip > div:last-child { border-right: 0; }
.program-strip span { color: var(--gold); font-family: Georgia, serif; font-size: 36px; }
.program-strip h3 { margin: 12px 0; font-size: 24px; }
.program-strip p { margin: 0; color: #bfc1c4; font-size: 14px; line-height: 1.6; }
.safety-note { display: grid; grid-template-columns: .45fr 1fr 1.4fr; gap: 6vw; align-items: start; background: white; }
.safety-note h2 { margin: 0; color: var(--plum-950); font-size: clamp(34px, 3vw, 48px); line-height: 1.05; }
.safety-note > p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.8; }

.application-intro { background: white; }
.application-list article { min-height: 380px; padding: 72px 7vw; display: grid; grid-template-columns: .25fr 1fr .7fr; gap: 5vw; align-items: start; border-top: 1px solid var(--line); background: var(--cream); scroll-margin-top: 110px; }
.application-list article:nth-child(even) { background: white; }
.application-index { color: var(--magenta); font-family: Georgia, serif; font-size: 42px; }
.application-list article > div:nth-child(2) > span { color: var(--magenta); font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.application-list h2 { max-width: 690px; margin: 18px 0 22px; color: var(--plum-950); font-size: clamp(34px, 3.5vw, 55px); line-height: 1.03; letter-spacing: -.035em; }
.application-list p { max-width: 750px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.75; }
.application-list ul { margin: 38px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.application-list li { padding: 15px 0; border-bottom: 1px solid var(--line); color: var(--plum-800); font-size: 13px; font-weight: 800; }
.claim-clarity { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; color: white; background: var(--plum-950); }
.claim-clarity h2 { margin: 0; font-size: clamp(38px, 4vw, 60px); line-height: 1; }
.claim-clarity > p { margin: 30px 0 0; color: #cfd0d2; font-size: 17px; line-height: 1.8; }

.professional-audiences { background: white; }
.pro-grid { margin-top: 62px; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.pro-grid article { min-height: 300px; padding: 38px; border-right: 1px solid var(--line); }
.pro-grid article:last-child { border-right: 0; }
.pro-grid span { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 50%; color: white; background: var(--plum-800); font-size: 13px; font-weight: 900; }
.pro-grid h3 { margin: 54px 0 15px; color: var(--plum-950); font-size: 27px; }
.pro-grid p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.7; }
.evaluation-flow { padding: clamp(80px, 9vw, 145px) 7vw; display: grid; grid-template-columns: .8fr 1.2fr; gap: 10vw; color: white; background: var(--plum-950); }
.evaluation-flow h2 { margin: 0; font-size: clamp(42px, 4.6vw, 70px); line-height: 1; letter-spacing: -.045em; }
.evaluation-flow ol { margin: 0; padding: 0; list-style: none; }
.evaluation-flow li { padding: 23px 0; display: grid; grid-template-columns: 70px 1fr; border-bottom: 1px solid rgba(255,255,255,.15); }
.evaluation-flow li > span { color: var(--gold); font-weight: 900; }
.evaluation-flow h3 { margin: 0 0 7px; font-size: 21px; }
.evaluation-flow li p { margin: 0; color: #bfc1c4; font-size: 14px; line-height: 1.65; }
.evidence-section { background: #ececed; }
.evidence-cards { margin-top: 60px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.evidence-cards article { padding: 42px; background: white; border: 1px solid var(--line); }
.evidence-cards h3 { margin: 0 0 25px; color: var(--plum-800); font-size: 25px; }
.evidence-cards ul { margin: 0; padding-left: 19px; color: var(--muted); }
.evidence-cards li { margin: 12px 0; line-height: 1.6; }
.contact-panel { padding: 90px 7vw; display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; color: white; background: linear-gradient(125deg, var(--plum-800), var(--magenta)); }
.contact-panel > div > span { color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.contact-panel h2 { margin: 20px 0 0; font-size: clamp(38px, 4vw, 62px); line-height: 1; }
.contact-panel p { margin: 8px 0 28px; color: #f1f1f2; font-size: 17px; line-height: 1.7; }

.shop-guide { background: white; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); }
.choice-grid article { min-height: 290px; padding: 44px; border-right: 1px solid var(--line); }
.choice-grid article:last-child { border-right: 0; }
.choice-grid span { width: 42px; height: 42px; display: grid; place-items: center; color: var(--plum-950); background: var(--gold); border-radius: 50%; font-weight: 900; }
.choice-grid h2 { margin: 48px 0 15px; color: var(--plum-950); font-size: clamp(28px, 2.5vw, 40px); line-height: 1.08; }
.choice-grid p { margin: 0; color: var(--muted); line-height: 1.75; }
.shop-products { background: #ececed; }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.product-grid article { padding: 16px 16px 28px; background: white; border: 1px solid var(--line); }
.shop-image { height: 250px; display: grid; place-items: center; overflow: hidden; background: var(--cream); }
.shop-image img { width: 125%; max-width: none; }
.product-grid h2 { margin: 24px 10px; color: var(--plum-950); font-size: 36px; }
.spec { margin: 0 10px; padding: 12px 0; display: flex; justify-content: space-between; border-top: 1px solid var(--line); font-size: 13px; }
.spec span { color: var(--muted); }
.spec strong { color: var(--plum-800); }
.product-grid article > p { min-height: 100px; margin: 18px 10px; color: var(--muted); font-size: 14px; line-height: 1.65; }
.product-grid .button { width: calc(100% - 20px); margin: 0 10px; min-height: 52px; }
.checkout-note { margin: 28px 0 0; padding: 18px 22px; color: var(--muted); background: white; border-left: 4px solid var(--gold); font-size: 13px; line-height: 1.6; }
.shop-help { padding: 90px 7vw; display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; color: white; background: var(--plum-950); }
.shop-help h2 { margin: 0; font-size: clamp(40px, 4vw, 62px); line-height: 1; }
.shop-help p { margin: 8px 0 25px; color: #cfd0d2; font-size: 17px; line-height: 1.7; }
.shop-help a { color: var(--gold); font-weight: 900; }

.contact-hero { min-height: 600px; padding: 100px 7vw; display: grid; grid-template-columns: 1fr .7fr; gap: 10vw; align-items: center; color: white; background: linear-gradient(125deg, var(--plum-950), var(--plum-800)); }
.contact-hero h1 { font-size: clamp(48px, 5vw, 78px); }
.contact-card { padding: 42px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.06); }
.contact-card span { color: var(--gold); font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.contact-card a { margin: 18px 0 25px; display: block; color: white; font-size: clamp(23px, 2.2vw, 36px); font-weight: 800; }
.contact-card p { margin: 0; color: #cfd0d2; line-height: 1.75; }
.contact-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; background: white; }
.contact-options article { min-height: 310px; padding: 38px; border: 1px solid var(--line); }
.contact-options h2 { margin: 55px 0 14px; color: var(--plum-950); font-size: 28px; }
.contact-options p { min-height: 74px; color: var(--muted); line-height: 1.65; }
.contact-options a { color: var(--plum-800); font-weight: 900; }
.contact-final { min-height: 380px; padding: 70px 7vw; display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; color: white; background: var(--plum-950); overflow: hidden; }
.contact-final img { width: 115%; max-width: none; filter: drop-shadow(0 24px 22px rgba(0,0,0,.45)); }
.contact-final h2 { margin: 0; font-size: clamp(38px, 4vw, 58px); line-height: 1; }
.contact-final p { color: #cfd0d2; }

@media (max-width: 1100px) {
  .rules-grid, .exercise-grid, .product-grid { grid-template-columns: repeat(2, 1fr); }
  .rules-grid article:nth-child(2), .rules-grid article:nth-child(4) { border-right: 0; }
  .rules-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .application-list article { grid-template-columns: .18fr 1fr; }
  .application-list ul { grid-column: 2; }
}

@media (max-width: 760px) {
  .inner-hero { min-height: 0; padding: 70px 22px; grid-template-columns: 1fr; }
  .inner-hero > img { width: 115vw; justify-self: center; }
  .bottom-cta, .claim-clarity, .evaluation-flow, .contact-panel, .shop-help, .contact-hero, .contact-final { padding: 72px 24px; grid-template-columns: 1fr; gap: 34px; }
  .rules-grid, .exercise-grid, .program-strip, .pro-grid, .evidence-cards, .choice-grid, .product-grid, .contact-options { grid-template-columns: 1fr; }
  .rules-grid article, .pro-grid article, .choice-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
  .program-strip > div { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .safety-note { grid-template-columns: 1fr; gap: 24px; }
  .application-list article { padding: 62px 24px; grid-template-columns: 1fr; gap: 24px; }
  .application-list ul { grid-column: auto; }
  .evaluation-flow li { grid-template-columns: 52px 1fr; }
  .product-grid article > p { min-height: 0; }
  .contact-card { padding: 28px; }
  .contact-final img { width: 120vw; }
}

/* Curated IsoToneFit media integration */
.intro-video {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(48px, 7vw, 110px);
  align-items: center;
  background: white;
}
.intro-video-frame { position: relative; overflow: hidden; background: var(--plum-950); box-shadow: 0 28px 70px rgba(19,21,20,.18); scroll-margin-top: 110px; }
.branded-video { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: var(--plum-950); }
.branded-video video, .branded-video iframe { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; background: var(--plum-950); }
.branded-video-poster { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; cursor: pointer; border: 0; overflow: hidden; color: white; background: var(--plum-950); }
.branded-video-poster img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease, filter .35s ease; }
.branded-video-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(9,11,10,.06), rgba(9,11,10,.48)); }
.branded-video-play { position: absolute; left: 50%; top: 50%; width: 68px; height: 68px; display: grid; place-items: center; padding-left: 4px; transform: translate(-50%, -50%); border: 2px solid rgba(255,255,255,.92); border-radius: 50%; color: white; background: var(--magenta); box-shadow: 0 12px 32px rgba(0,0,0,.3); font-size: 20px; transition: transform .2s ease, background .2s ease; }
.branded-video-label { position: absolute; left: 20px; bottom: 17px; font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.branded-video-duration { position: absolute; right: 14px; top: 14px; z-index: 2; padding: 8px 10px; color: white; background: rgba(19,21,20,.8); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; pointer-events: none; }
.branded-video-poster:hover img, .branded-video-poster:focus-visible img { transform: scale(1.025); filter: brightness(.88); }
.branded-video-poster:hover .branded-video-play, .branded-video-poster:focus-visible .branded-video-play { transform: translate(-50%, -50%) scale(1.08); background: #ff3542; }
.branded-video-poster:focus-visible { outline: 4px solid var(--magenta); outline-offset: -4px; }
.intro-video-copy h2, .exercise-library-heading h2, .healthy-aging-copy h2, .lower-body-showcase h2, .professional-faq h2 {
  margin: 0;
  color: var(--plum-950);
  font-size: clamp(40px, 4.6vw, 68px);
  line-height: .98;
  letter-spacing: -.045em;
}
.intro-video-copy h2 em, .exercise-library-heading h2 em, .lower-body-showcase h2 em, .professional-faq h2 em { color: var(--magenta); font-family: Georgia, serif; font-weight: 400; }
.intro-video-copy > p { margin: 28px 0; color: var(--muted); font-size: 17px; line-height: 1.78; }
.two-way-key { margin: 0 0 28px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--line); }
.two-way-key > div { padding: 20px; display: grid; grid-template-columns: auto 1fr; column-gap: 14px; align-items: center; border-right: 1px solid var(--line); }
.two-way-key > div:last-child { border-right: 0; }
.two-way-key span { grid-row: 1 / 3; font-family: Georgia, serif; font-size: 31px; font-weight: 800; letter-spacing: -.08em; }
.two-way-key .arrow-in { color: var(--magenta); }
.two-way-key .arrow-out { color: #85888d; }
.two-way-key strong { color: var(--plum-950); font-size: 15px; }
.two-way-key small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.intro-video-copy .text-link { color: var(--plum-800); }

.exercise-library-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; align-items: end; }
.exercise-library-heading > div:last-child > p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.exercise-jump { margin-top: 26px; display: flex; flex-wrap: wrap; gap: 9px; }
.exercise-jump a { padding: 11px 14px; border: 1px solid #c9cacc; color: var(--plum-800); background: rgba(255,255,255,.52); font-size: 12px; font-weight: 900; }
.exercise-jump a:hover, .exercise-jump a:focus-visible { color: white; background: var(--magenta); border-color: var(--magenta); }
.exercise-group { margin-top: 72px; scroll-margin-top: 118px; }
.exercise-group > header { margin-bottom: 22px; display: grid; grid-template-columns: .42fr 1fr; gap: 6vw; align-items: end; }
.exercise-group > header > span { color: var(--plum-950); font-size: clamp(27px, 3vw, 42px); font-weight: 900; letter-spacing: -.03em; }
.exercise-group > header > p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.exercise-video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.exercise-video-card { overflow: hidden; background: white; border: 1px solid #d5d6d8; }
.exercise-video-frame .branded-video-play { width: 56px; height: 56px; font-size: 16px; }
.exercise-video-frame .branded-video-label { left: 14px; bottom: 12px; font-size: 9px; }
.exercise-video-copy { padding: 24px; }
.exercise-video-copy > div { display: flex; align-items: baseline; gap: 12px; }
.exercise-video-copy > div > span { color: var(--magenta); font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.exercise-video-copy h3 { margin: 0; color: var(--plum-950); font-size: 24px; letter-spacing: -.02em; }
.exercise-video-copy > p { min-height: 66px; margin: 16px 0 18px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.exercise-video-copy small { padding-top: 15px; display: block; border-top: 1px solid var(--line); color: #6a6c70; font-size: 11px; line-height: 1.55; }
.exercise-video-copy small strong { color: var(--plum-800); }
.x-library-note { margin-top: 56px; padding: 22px 26px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid #c9cacc; background: rgba(255,255,255,.6); }
.x-library-note > div { display: flex; align-items: center; gap: 16px; }
.x-library-note > div > span { width: 42px; height: 42px; display: grid; place-items: center; color: white; background: var(--plum-950); font-weight: 900; }
.x-library-note strong { color: var(--plum-950); font-size: 14px; }
.x-library-note p { margin: 4px 0 0; color: var(--muted); font-size: 12px; }
.x-library-note > a { color: var(--magenta); font-size: 13px; font-weight: 900; white-space: nowrap; }

.healthy-aging-feature { min-height: 650px; display: grid; grid-template-columns: .9fr 1.1fr; color: white; background: var(--plum-950); }
.healthy-aging-copy { padding: clamp(70px, 8vw, 130px); display: flex; flex-direction: column; justify-content: center; }
.healthy-aging-copy h2 { color: white; }
.healthy-aging-copy > p { margin: 30px 0; color: #cfd0d2; font-size: 17px; line-height: 1.75; }
.healthy-aging-video { position: relative; display: grid; place-items: center; padding: clamp(32px, 5vw, 80px); background: radial-gradient(circle at center, #efeff0 0%, #bfc1c4 100%); }
.healthy-aging-video .branded-video { box-shadow: 0 28px 60px rgba(0,0,0,.28); }
.lower-body-showcase { background: white; }
.application-video-grid { margin-top: 56px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.application-video-grid article { overflow: hidden; border: 1px solid var(--line); background: var(--cream); }
.application-video-grid .application-video-copy { padding: 25px; }
.application-video-grid h3 { margin: 0 0 10px; color: var(--plum-950); font-size: 22px; }
.application-video-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.application-safety { margin: 20px 0 0; padding: 20px 24px; color: var(--muted); background: #ececed; border-left: 4px solid var(--magenta); font-size: 13px; line-height: 1.6; }
.application-safety strong { color: var(--plum-800); }

.professional-faq { background: white; }
.faq-list { margin-top: 58px; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { padding: 25px 4px; display: flex; justify-content: space-between; gap: 24px; cursor: pointer; list-style: none; color: var(--plum-950); font-size: clamp(17px, 1.6vw, 22px); font-weight: 800; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { color: var(--magenta); font-size: 24px; line-height: 1; transition: transform .2s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details > p { max-width: 900px; margin: -5px 0 0; padding: 0 55px 28px 4px; color: var(--muted); font-size: 15px; line-height: 1.75; }

@media (max-width: 1100px) {
  .intro-video { grid-template-columns: 1fr; }
  .exercise-video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .healthy-aging-feature { grid-template-columns: 1fr; }
  .healthy-aging-video { min-height: 520px; }
}

@media (max-width: 760px) {
  .intro-video { padding: 72px 22px; gap: 42px; }
  .intro-video-copy h2, .exercise-library-heading h2, .healthy-aging-copy h2, .lower-body-showcase h2, .professional-faq h2 { font-size: 42px; }
  .two-way-key { grid-template-columns: 1fr; }
  .two-way-key > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .two-way-key > div:last-child { border-bottom: 0; }
  .exercise-library-heading, .exercise-group > header { grid-template-columns: 1fr; gap: 26px; }
  .exercise-video-grid, .application-video-grid { grid-template-columns: 1fr; }
  .exercise-video-copy > p { min-height: 0; }
  .x-library-note { align-items: flex-start; flex-direction: column; }
  .healthy-aging-copy { padding: 72px 24px; }
  .healthy-aging-video { min-height: 0; padding: 28px 18px 58px; }
  .branded-video-play { width: 60px; height: 60px; }
}

/* WordPress and WooCommerce screens retain the live store and account data. */
.isotone-wp-content { width: min(1180px, 90vw); min-height: 55vh; margin: 0 auto; padding: 72px 0 96px; }
.isotone-wp-content > h1,
.isotone-wp-content .page-title {
  margin: 0 0 36px;
  color: var(--plum-950);
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1;
  letter-spacing: -.045em;
  text-transform: none;
}
.isotone-wp-content p, .isotone-wp-content li { color: var(--muted); line-height: 1.7; }
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
  min-height: 48px;
  padding: 14px 20px;
  border-radius: 4px;
  color: #fff;
  background: var(--magenta);
  font-weight: 800;
}
.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover { color: #fff; background: var(--plum-800); }
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price { color: var(--plum-800); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--magenta); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--magenta); }
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select {
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  background: #fff;
}

@media (max-width: 782px) {
  .admin-bar .site-header { top: 46px; }
}
