@charset "UTF-8";
/* The source copy and portraits are shared. Layout, pacing, and colour differ. */
body {
  --sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  font-family:var(--sans);font-size:18px;line-height:1.95;
  color:var(--ink);background:var(--white);
}
body.design-a {--ink:#483b3c;--heading:#492c36;--accent:#91445b;--accent-hover:#773348;--accent-text:#91445b;--surface:#fcf6f3;--soft:#f5e5e8;--line:#e7d2d7;--muted:#6e585e;--white:#fffefd}
body.design-b {--ink:#344237;--heading:#264a34;--accent:#326946;--accent-hover:#245336;--accent-text:#326946;--surface:#f4f7eb;--soft:#e5efdc;--line:#cfdac9;--muted:#53664e;--white:#fffef9}
body.design-c {--ink:#433a42;--heading:#4a3048;--accent:#714468;--accent-hover:#593352;--accent-text:#714468;--surface:#faf5f7;--soft:#eee3ed;--line:#decfdb;--muted:#6e5969;--white:#fffdfa}
html {scroll-padding-top:150px}
h1,h2,h3 {line-height:1.65;letter-spacing:.015em}
h1 {font-size:38px}h2 {font-size:32px}h3 {font-size:25px}
.wrap {width:min(1140px,calc(100% - 80px))}
.section {padding:88px 0}
.button {min-height:60px;font-size:17px;padding:16px 24px;gap:20px}
.secondary {border-color:var(--accent);color:var(--accent);background:transparent}
.secondary:hover {background:var(--accent);color:#fff}
.text-link {color:var(--accent);border-color:var(--accent)}
.eyebrow {font-size:16px;letter-spacing:.05em}
.note {font-size:15px}
.site-header {top:44px;background:var(--white);border-bottom:1px solid var(--line)}
.header-inner {min-height:92px;width:min(1280px,calc(100% - 56px))}
#site-nav {gap:22px}
#site-nav>a {font-size:15px}
.brand small {font-size:13px}
.brand small strong {font-size:16px}
.brand-logo {height:80px;width:80px}
.design-review {position:sticky;top:0;z-index:30;background:#fff;color:#3e343b;border-bottom:1px solid #e3dce0;font-size:13px;line-height:1.4}
.design-review-inner {width:min(1280px,calc(100% - 40px));margin:auto;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.design-review nav {display:flex;gap:4px;align-items:center}
.comparison-back {padding:10px 0;font-weight:700}
.design-tab {padding:9px 14px;display:flex;align-items:center;gap:7px;border-radius:4px;font-weight:700}
.design-tab.selected {background:var(--soft);color:var(--accent)}
.design-tab:hover {background:var(--surface)}
.design-tab i {height:9px;width:9px;border-radius:50%;background:var(--swatch)}
.embedded .design-review {display:none}
.embedded .site-header {top:0}
.hero {background:var(--white);padding:36px 0 48px}
.hero-inner {max-width:1280px;width:calc(100% - 64px);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"photo heading" "photo body";gap:0 56px;align-items:start}
.hero-heading {padding:18px 0 0}
.hero-heading h1 {font-size:clamp(31px,2.8vw,40px);line-height:1.65;letter-spacing:.02em;margin-bottom:20px}
.hero-heading h1>span {color:var(--accent)}
.hero .eyebrow {font-size:15px;color:var(--accent);margin-bottom:20px;letter-spacing:.025em}
.hero-sub {font-size:18px;line-height:1.9}
.hero-photo {height:100%;min-height:670px;aspect-ratio:auto;margin:0;align-self:stretch;border-radius:0;overflow:hidden}
.hero-photo>img {height:100%;width:100%;object-fit:cover;object-position:43% center}
.hero-body {display:block;padding:24px 0 12px;border:0}
.hero-introduction {font-size:18px;line-height:1.95}
.hero-introduction p+p {margin-top:15px}
.hero-action {text-align:left;margin-top:26px}
.hero-action .button {max-width:440px;font-size:17px;min-height:62px}
.hero-detail {font-size:14px;line-height:1.8;color:var(--muted);margin-top:12px}
.hero-photo figcaption {display:none}
.hope h2 {font-size:31px}
.hope-list li {font-size:18px;padding-bottom:16px}
.hope-grid>div:last-child>p {font-size:17px}
.course-card>p,.course-card .course-lead {font-size:18px}
.course-card .course-lead {margin-bottom:6px}
.course-help {font-size:17px}
.course-number {font-size:15px}
.course-number>span {font-size:14px}
.course-card h3 {font-size:25px}
.story-heading h3 {font-size:26px;line-height:1.8}
.member-label {font-size:21px}
.member-label>span {font-size:16px}
.story-copy p {font-size:18px;line-height:1.95}
.story-copy .button {font-size:16px;min-height:56px}
.video-placeholder {background:var(--soft);border:1px solid var(--line);border-radius:12px;min-height:230px}
.video-placeholder p {font-size:17px}
.video-placeholder p span {font-size:14px}
.video-initial {font-family:Arial,sans-serif;font-size:60px;font-weight:400;color:var(--accent);opacity:.8}
.trainer-intro>div:last-child>p:not(.eyebrow) {font-size:18px}
.trainer-intro h2 {font-size:32px}
.training-teaser h2 {font-size:30px}
.training-teaser-photo img {border-radius:18px}
.campaign {background:var(--soft)}
.campaign p {font-size:20px}
.campaign-label {font-size:15px}
.campaign small {font-size:14px}
.price-card h3 {font-size:23px}
.pricing-tax-note {margin:0 0 24px;font-size:15px;line-height:1.8;color:var(--ink)}
.price-card>.note {font-size:15px}
thead th {font-size:14px;background:var(--surface)}
tbody th,tbody td {font-size:14px}
tbody small {font-size:12px}
.entry-fee p {font-size:17px}
.faq-item {border:1px solid var(--line)}
.faq-answer {font-size:18px}
summary {font-size:18px}
.access address,.access-info dd {font-size:18px}
.access-info dt {font-size:16px}
.access address+p {font-size:17px}
.access .button {font-size:16px}
.trial-cta {background:var(--soft);padding:80px 0}
.trial-cta h2 {font-size:33px}
.trial-cta p:not(.eyebrow) {font-size:18px}
.trial-facts {font-size:17px}
.trial-facts span {border-color:var(--line)}
.footer-links {font-size:16px}
.footer-grid p {font-size:15px}
.site-footer {background:var(--white)}
.page-heading {padding:48px 0}
.page-heading h1 {font-size:36px}
.breadcrumb {font-size:14px}
.reading-copy {font-size:18px;line-height:2.1}
.session-section p,.personal-intro p,.trial-intro>div:first-child p {font-size:18px}
.profile-block>div>p:not(.eyebrow),.profile-block ul {font-size:17px}
.related-story strong {font-size:20px}
.trial-summary>p,.booking-steps p {font-size:17px}
.preview-notice {background:var(--surface);border-color:var(--accent)}
.form-wrap>p:not(.eyebrow),.field-help {font-size:16px}
.radio-option {font-size:17px}
.required {background:var(--accent)}
.form-field>label,.form-field>legend {font-size:18px}

/* A — large portrait, warm rounded sections, clear and welcoming. */
.design-a .hero-photo {border-radius:28px 100px 28px 28px;min-height:0;height:auto;aspect-ratio:auto;align-self:start}
.design-a .hero-photo>img {display:block;width:100%;height:auto;object-fit:contain;object-position:center}
.design-a .hero-heading h1>span {background:linear-gradient(transparent 72%,#f2dbe0 72%);padding-bottom:3px}
.design-a .hero {padding-bottom:60px}
.design-a .hope {width:min(1280px,calc(100% - 64px));margin:0 auto 0;padding:64px 0;border-radius:32px;background:var(--surface)}
.design-a .hope .wrap {width:calc(100% - 80px)}
.design-a .hope-grid {grid-template-columns:.85fr 1.15fr;gap:60px}
.design-a .section-heading .eyebrow {display:inline-flex;align-items:center;gap:12px}
.design-a .section-heading .eyebrow::before {content:"";width:24px;height:2px;background:var(--accent)}
.design-a .course-card {background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:36px}
.design-a .course-card:nth-child(2) {background:#fcf8f0;border-color:#e5dbca}
.design-a .course-number>span {border:1px solid var(--line)}
.design-a #stories {background:var(--surface)}
.design-a .story {grid-template-columns:minmax(0,37%) minmax(0,1fr);gap:0 44px;padding:40px;margin-top:28px;border:1px solid var(--line);border-radius:24px;background:#fff}
.design-a .story:last-child {padding-bottom:40px}
.design-a .video-placeholder {aspect-ratio:4/3;border-radius:16px;background:#f8eef0}
.design-a .member-label {color:var(--accent)}
.design-a .training-teaser {background:#fff}
.design-a .training-teaser-photo img {border-radius:28px 28px 70px 28px}
.design-a .trainer-section {background:var(--surface)}
.design-a .trainer-portrait {background:#fff;border-radius:28px;max-width:350px}
.design-a #pricing {background:#fff}
.design-a .price-card {border-radius:20px;border-top:4px solid var(--accent)}
.design-a .faq-section {background:var(--surface)}
.design-a .trial-cta {border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* B — broad photographic opening and open, horizontal editorial rows. */
.design-b .hero {padding:0 0 56px}
.design-b .hero-inner {max-width:1440px;width:100%;grid-template-columns:minmax(0,1.14fr) minmax(0,1fr);grid-template-areas:"photo heading" "body body";gap:0 0;align-items:center}
.design-b .hero-photo {min-height:480px;max-height:590px;border-radius:0 0 110px 0;aspect-ratio:1.35}
.design-b .hero-photo>img {object-position:44% center}
.design-b .hero-heading {padding:35px 50px 35px 60px}
.design-b .hero-heading h1 {font-size:clamp(31px,2.8vw,42px);line-height:1.7}
.design-b .hero-body {display:grid;grid-template-columns:1.25fr 1fr;width:min(1140px,calc(100% - 80px));margin:40px auto 0;padding:24px 0 0;border-top:1px solid var(--line);gap:50px;align-items:center}
.design-b .hero-action {margin:0}
.design-b .hero-introduction br {display:none}
.design-b .hero-action .button {border-radius:12px}
.design-b .hope {background:var(--soft)}
.design-b .hope .eyebrow {display:inline-block;background:#fff;padding:6px 16px;border-radius:30px}
.design-b .hope-grid {grid-template-columns:.9fr 1.1fr;gap:70px}
.design-b .course-grid {display:block;border-top:1px solid var(--line)}
.design-b .course-card {display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:38px 0;background:transparent}
.design-b .course-overview h3 {font-size:26px;margin-bottom:18px}
.design-b .course-overview .course-lead {font-size:18px;line-height:1.9}
.design-b .course-description p {font-size:18px}
.design-b .course-description .text-link {margin-top:12px}
.design-b .course-number {justify-content:flex-start;gap:24px}
.design-b .course-number>span {background:var(--soft);padding:3px 12px}
.design-b .course-help {text-align:left}
.design-b #stories {background:var(--surface)}
.design-b .story {grid-template-columns:minmax(0,36%) minmax(0,1fr);column-gap:64px;padding:48px 0;border-color:var(--line)}
.design-b .story:last-child {padding-bottom:0}
.design-b .video-placeholder {background:#fff;border-radius:0 44px 0 0;border:1px solid var(--line);aspect-ratio:5/4}
.design-b .story-heading h3 {font-size:27px}
.design-b .member-label {color:var(--accent)}
.design-b .story-copy .button {border-radius:10px}
.design-b .training-teaser {background:#fff}
.design-b .training-teaser-layout {grid-template-columns:1fr 1.2fr;gap:60px}
.design-b .training-teaser-photo img {border-radius:0 0 70px 0}
.design-b .trainer-section {background:var(--surface)}
.design-b .trainer-intro {grid-template-columns:1.25fr .75fr;gap:90px}
.design-b .trainer-portrait {grid-column:2;grid-row:1;background:#fff;border-radius:150px 150px 12px 12px;padding-top:30px}
.design-b .trainer-intro>div:last-child {grid-column:1;grid-row:1}
.design-b .campaign {border-radius:0;border-left:5px solid var(--accent)}
.design-b .price-card {border-radius:0;border-top:3px solid var(--accent)}
.design-b .faq-section {background:var(--surface)}
.design-b .faq-item {border-radius:0;border-width:0 0 1px;margin:0;background:transparent}
.design-b .trial-cta {background:#326946;color:#fff}
.design-b .trial-cta h2,.design-b .trial-cta .eyebrow {color:#fff}
.design-b .trial-cta .button {background:#fff;color:var(--accent);border-radius:12px}
.design-b .trial-cta .button:hover {background:var(--soft)}
.design-b .trial-facts span {border-color:#82a08b}
.design-b .profile-block,.design-b .session-section img {border-radius:0 32px 0 0}

/* C — calm, contained composition with plum framing and fine rules. */
.design-c .header-inner {max-width:1200px}
.design-c .button,.design-c #site-nav .nav-cta {border-radius:6px}
.design-c .hero {padding:44px 0 70px}
.design-c .hero-inner {max-width:1200px;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:0 64px}
.design-c .hero-heading {padding-top:8px;border-top:2px solid var(--accent)}
.design-c .hero .eyebrow {padding-top:16px}
.design-c .hero-photo {min-height:650px;border-radius:140px 140px 8px 8px;border:8px solid #f1e7ee;outline:1px solid var(--line)}
.design-c .hero-photo>img {object-position:42% center}
.design-c .hero-heading h1 {font-size:clamp(31px,2.8vw,40px);font-weight:700;line-height:1.8}
.design-c .hero-sub {border-left:3px solid var(--line);padding-left:18px}
.design-c .hero-body {padding-top:20px}
.design-c .hero-introduction {font-size:17px}
.design-c .hope {background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.design-c .hope-grid {grid-template-columns:1fr 1.2fr;gap:64px}
.design-c .section-heading {border-left:3px solid var(--accent);padding-left:24px}
.design-c .section-heading .eyebrow {letter-spacing:.09em}
.design-c .course-grid {gap:40px}
.design-c .course-card {border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:0;padding:36px;background:#fff}
.design-c .course-card:nth-child(2) {border-top-color:var(--accent)}
.design-c .course-number {padding-bottom:18px;border-bottom:1px solid var(--line)}
.design-c .course-number>span {border-radius:4px;background:var(--surface)}
.design-c #stories {background:var(--surface)}
.design-c .story {column-gap:50px;grid-template-columns:minmax(0,35%) minmax(0,1fr);padding:44px;background:#fff;border:1px solid var(--line);margin-top:28px;position:relative}
.design-c .story:last-child {padding-bottom:44px}
.design-c .story-heading h3 {font-size:26px}
.design-c .member-label {padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--accent)}
.design-c .video-placeholder {border-radius:0;aspect-ratio:1/1;min-height:0;outline:1px solid var(--line);outline-offset:-10px}
.design-c .training-teaser {background:#fff}
.design-c .training-teaser-photo img {border-radius:4px;border-bottom:8px solid var(--line)}
.design-c .trainer-section {background:var(--surface);border-block:1px solid var(--line)}
.design-c .trainer-portrait {background:#fff;border-radius:4px;border:1px solid var(--line)}
.design-c .trainer-intro {gap:84px}
.design-c .campaign {border-radius:4px;border:1px solid var(--line);background:var(--surface)}
.design-c .campaign-label {border-radius:4px}
.design-c .price-card {border-radius:0;padding-top:30px}
.design-c .price-card h3 {padding-bottom:16px;border-bottom:1px solid var(--line)}
.design-c .faq-section {background:var(--surface)}
.design-c .faq-item {border-radius:4px}
.design-c .trial-cta {background:var(--soft);border-top:1px solid var(--line)}
.design-c .page-heading {border-bottom:1px solid var(--line);margin-bottom:40px}
.design-c .related-story,.design-c .profile-block,.design-c .trial-summary {border-radius:4px}

@media (min-width:761px) and (max-width:1100px) {
  .hero-inner {width:calc(100% - 48px);gap:0 32px;grid-template-columns:1fr 1fr}
  .hero-heading h1,.design-c .hero-heading h1 {font-size:31px}
  .hero-heading {padding-top:4px}
  .hero-sub,.hero-introduction {font-size:17px}
  .hero-photo {min-height:680px}
  .hero .eyebrow {font-size:13px}
  .hero-action .button {font-size:15px;padding-inline:15px;gap:12px}
  .hero-detail {font-size:13px}
  .design-b .hero-heading {padding:24px 30px}
  .design-b .hero-heading h1 {font-size:31px}
  .design-b .hero-photo {min-height:450px}
  .design-b .hero-body {gap:30px}
  .design-c .hero-inner {gap:0 32px;grid-template-columns:1fr 1fr}
  .design-c .hero-photo {min-height:670px;border-radius:100px 100px 8px 8px}
  .design-a .story,.design-c .story {padding:28px;column-gap:30px}
  .design-a .story:last-child,.design-c .story:last-child {padding-bottom:28px}
  .design-b .story {column-gap:35px}
  .story-heading h3,.design-b .story-heading h3,.design-c .story-heading h3 {font-size:24px}
  .story-copy p {font-size:17px}
  .design-b .course-card {gap:30px}
  .design-a .course-card,.design-c .course-card {padding:28px}
  .design-b .trainer-intro,.design-c .trainer-intro {gap:45px}
  .course-card h3,.design-b .course-overview h3 {font-size:23px}
  .price-card h3 {font-size:21px}
  .wrap {width:calc(100% - 56px)}
  .hope-grid,.design-a .hope-grid,.design-b .hope-grid,.design-c .hope-grid {gap:36px}
  .hope h2 {font-size:28px}
}
@media (max-width:760px) {
  html {scroll-padding-top:128px}
  body {font-size:17px;line-height:1.95}
  h2 {font-size:27px}
  .wrap {width:calc(100% - 40px)}
  .section {padding:56px 0}
  .design-review-inner {width:calc(100% - 24px);min-height:40px;gap:10px}
  .design-review {font-size:12px}
  .design-review nav {gap:2px}
  .design-tab {padding:8px 12px;gap:5px}
  .design-tab span {display:none}
  .comparison-back {white-space:nowrap}
  .site-header {top:40px}
  .header-inner {min-height:76px;width:calc(100% - 32px)}
  .brand-logo {height:66px;width:66px}
  .brand small {font-size:12px}
  .brand small strong {font-size:14px}
  #site-nav {background:var(--white)}
  #site-nav>a {font-size:16px;white-space:normal}
  .menu-toggle {font-size:14px;min-height:48px;background:var(--white)}
  .hero,.design-a .hero,.design-b .hero,.design-c .hero {padding:24px 0 38px}
  .hero-inner,.design-b .hero-inner,.design-c .hero-inner {display:grid;grid-template-columns:1fr;grid-template-areas:"heading" "photo" "body";width:100%;gap:24px}
  .hero-heading,.design-b .hero-heading,.design-c .hero-heading {padding:0 24px;border:0}
  .hero-heading h1,.design-b .hero-heading h1,.design-c .hero-heading h1 {font-size:31px;line-height:1.65;margin-bottom:16px;letter-spacing:0}
  .hero .eyebrow,.design-c .hero .eyebrow {font-size:13px;margin-bottom:14px;padding:0}
  .hero-sub {font-size:16px;line-height:1.9}
  .hero-photo,.design-a .hero-photo,.design-b .hero-photo,.design-c .hero-photo {min-height:0;height:auto;aspect-ratio:3/2;margin:0 20px;max-height:none;outline:0}
  .design-a .hero-photo {border-radius:16px 48px 16px 16px;aspect-ratio:auto}
  .design-b .hero-photo {margin:0 20px 0 0;border-radius:0 0 65px 0}
  .design-c .hero-photo {border-radius:40px 40px 4px 4px;border-width:5px}
  .hero-photo>img {object-position:center;object-fit:cover}
  .hero-body,.design-b .hero-body,.design-c .hero-body {display:block;width:auto;margin:0;padding:0 24px;border:0}
  .hero-introduction,.design-c .hero-introduction {font-size:17px;line-height:1.95}
  .hero-introduction br {display:none}
  .hero-introduction p+p {margin-top:14px}
  .hero-action,.design-b .hero-action {margin-top:24px;text-align:center}
  .hero-action .button {font-size:16px;min-height:60px;gap:12px;padding:15px 17px}
  .hero-detail {font-size:13px}
  .hope,.design-a .hope {width:100%;padding:48px 0;border-radius:0}
  .design-a .hope .wrap {width:calc(100% - 40px)}
  .hope-grid,.design-a .hope-grid,.design-b .hope-grid,.design-c .hope-grid {grid-template-columns:1fr;gap:28px}
  .hope h2 {font-size:27px}
  .hope-list li {font-size:17px;padding-bottom:16px}
  .hope-grid>div:last-child>p {font-size:17px}
  .eyebrow {font-size:15px}
  .design-c .section-heading {padding-left:17px}
  .section-heading>p:last-child:not(.eyebrow) {font-size:17px}
  .course-grid,.design-c .course-grid {grid-template-columns:1fr;gap:24px}
  .course-card,.design-a .course-card,.design-c .course-card {padding:26px 22px}
  .course-card h3,.design-b .course-overview h3 {font-size:23px}
  .course-card>p,.course-card .course-lead,.design-b .course-overview .course-lead,.design-b .course-description p {font-size:17px}
  .design-b .course-card {grid-template-columns:1fr;padding:30px 0;gap:24px}
  .design-b .course-overview .course-lead {margin:0}
  .course-help {font-size:16px;text-align:left}
  .story,.design-a .story,.design-b .story,.design-c .story {grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "video" "copy";gap:24px;padding:28px 20px;border-radius:12px}
  .design-a .story:last-child,.design-c .story:last-child {padding-bottom:28px}
  .design-b .story {padding:32px 0;border-radius:0}
  .design-c .story {border-radius:0}
  .story-heading h3,.design-b .story-heading h3,.design-c .story-heading h3 {font-size:23px;line-height:1.8}
  .member-label {font-size:20px}
  .member-label>span {font-size:15px}
  .story-copy p {font-size:17px}
  .story-copy .button {font-size:15px;min-height:56px;gap:10px;padding-inline:14px}
  .video-placeholder,.design-a .video-placeholder,.design-b .video-placeholder,.design-c .video-placeholder {min-height:0;aspect-ratio:16/10;padding:20px}
  .video-initial {font-size:48px;margin-bottom:12px}
  .video-placeholder p {font-size:16px}
  .video-placeholder p span {font-size:13px}
  .training-teaser-layout,.design-b .training-teaser-layout {grid-template-columns:1fr;gap:28px}
  .training-teaser h2 {font-size:27px}
  .trainer-intro,.design-b .trainer-intro,.design-c .trainer-intro {grid-template-columns:1fr;gap:30px}
  .design-b .trainer-portrait,.design-b .trainer-intro>div:last-child {grid-column:auto;grid-row:auto}
  .trainer-intro h2 {font-size:28px}
  .trainer-intro>div:last-child>p:not(.eyebrow) {font-size:17px}
  .trainer-portrait,.design-a .trainer-portrait {max-width:285px}
  .campaign {padding:24px 20px}
  .campaign-label {font-size:14px}
  .campaign small {font-size:13px}
  .price-card h3 {font-size:21px}
  .price-card>.note {font-size:14px}
  .price-card {padding-inline:16px}
  thead th {font-size:13px}
  tbody th,tbody td {font-size:12px}
  tbody td>strong {font-size:22px}
  tbody small {font-size:11px}
  .entry-fee p {font-size:16px}
  .faq-item {padding-inline:16px}
  summary {font-size:17px;gap:10px;padding-block:20px}
  .faq-answer {font-size:17px;padding-left:0}
  .access address,.access-info dd {font-size:17px}
  .access-info dt {font-size:15px}
  .access .button {font-size:16px}
  .trial-cta {padding:52px 0}
  .trial-cta h2 {font-size:26px}
  .trial-cta p:not(.eyebrow) {font-size:17px}
  .trial-facts {font-size:15px}
  .trial-facts span {padding-inline:12px}
  .trial-cta .button {font-size:16px}
  .mobile-cta {border-color:var(--line)}
  .mobile-cta>span {font-size:14px}
  .mobile-cta small {font-size:11px}
  .mobile-cta>a {font-size:15px;min-height:48px;display:flex;align-items:center;padding:12px 16px}
  .footer-links {font-size:15px;gap:16px}
  .page-heading {padding:30px 0}
  .page-heading h1 {font-size:28px}
  .page-heading>p:last-child:not(.eyebrow) {font-size:17px}
  .reading-copy {font-size:18px;line-height:2.1}
  .session-section p,.personal-intro p,.trial-intro>div:first-child p {font-size:17px}
  .profile-block>div>p:not(.eyebrow),.profile-block ul {font-size:16px}
  .trial-summary>p,.booking-steps p {font-size:16px}
  .field-help {font-size:14px}
  .radio-option {font-size:16px}
  .form-field>label,.form-field>legend {font-size:17px}
  .preview-notice {font-size:15px}
}
@media (max-width:359px) {
  .hero-heading h1,.design-b .hero-heading h1,.design-c .hero-heading h1 {font-size:28px}
  .hero-heading,.design-b .hero-heading,.design-c .hero-heading {padding-inline:20px}
  .hero-body,.design-b .hero-body,.design-c .hero-body {padding-inline:20px}
  .hero-action .button {font-size:15px}
  .story-copy .button {font-size:14px}
  .story-heading h3,.design-b .story-heading h3,.design-c .story-heading h3 {font-size:22px}
  .design-a .story,.design-c .story {padding-inline:16px}
  .mobile-cta {gap:8px;padding-inline:12px}
  .mobile-cta>a {font-size:14px;padding-inline:13px}
  .mobile-cta small {font-size:10px}
  tbody td>strong {font-size:20px}
  .price-card {padding-inline:10px}
}
@media print {.design-review{display:none}}
