:root {
  --color-background: #F5EFE7;
  --color-background-alt: #EEE5D9;
  --color-surface: #FFFDF9;
  --color-surface-soft: #F9F4ED;
  --color-surface-muted: #F1E8DC;
  --color-text: #342E2A;
  --color-text-secondary: #6F675F;
  --color-text-muted: #8D837A;
  --color-primary: #B78B5F;
  --color-primary-hover: #96704E;
  --color-primary-soft: #EAD8B8;
  --color-accent: #C9A36B;
  --color-accent-soft: #F0E2C8;
  --color-sage: #DCE5DA;
  --color-sage-strong: #82927D;
  --color-sage-text: #52624F;
  --color-border: #DDD1C3;
  --color-border-strong: #C9B9A7;
  --color-dark: #342E2A;
  --color-light: #FFFDF9;
  --color-dot-muted: #CFC3B6;
  --color-footer-link: #D8C9B9;
  --shadow-small: 0 4px 14px rgba(76, 57, 38, 0.07);
  --shadow-card: 0 14px 40px rgba(76, 57, 38, 0.10);
  --shadow-floating: 0 24px 60px rgba(76, 57, 38, 0.14);
  --radius-small: 12px;
  --radius-medium: 18px;
  --radius-large: 28px;
  --radius-pill: 999px;
  --font-family: "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;
  --container-width: 1180px;

  --ink: var(--color-text);
  --muted: var(--color-text-secondary);
  --paper: var(--color-background);
  --soft: var(--color-surface-soft);
  --honey: var(--color-primary);
  --honey-dark: var(--color-primary-hover);
  --blue: var(--color-sage-strong);
  --coral: var(--color-accent);
  --line: var(--color-border);
  --white: var(--color-light);
  --shadow: var(--shadow-card);
  --content: var(--container-width);
}

/* Firebase Authentication uses a compact Header control and a separate safe profile region. */
.auth-slot { flex: 0 0 auto; }
.auth-slot--mobile { display: none; }
.firebase-login-button,
.auth-sign-out-button {
  min-height: 42px;
  border: 1px solid var(--color-border-strong);
  border-radius: 8px;
  background: var(--color-surface);
  color: var(--color-text);
  font: inherit;
  font-size: .86rem;
  font-weight: 800;
  cursor: pointer;
}
.firebase-login-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 11px;
  white-space: nowrap;
}
.firebase-login-button__mark {
  display: inline-grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #1a73e8;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  font-weight: 800;
  box-shadow: inset 0 0 0 1px rgba(52, 43, 37, .12);
}
.firebase-login-button:disabled,
.auth-sign-out-button:disabled { cursor: wait; opacity: .64; }
.firebase-login-button:hover:not(:disabled),
.auth-sign-out-button:hover:not(:disabled) { border-color: var(--color-text); background: var(--color-surface-muted); }
.firebase-login-button:focus-visible,
.auth-sign-out-button:focus-visible { outline: 3px solid rgba(26, 115, 232, .28); outline-offset: 2px; }
.auth-signed-in-indicator {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  padding: 8px 11px;
  border: 1px solid rgba(35, 134, 82, .35);
  border-radius: 8px;
  background: rgba(35, 134, 82, .08);
  color: #17663d;
  font-size: .82rem;
  font-weight: 800;
  white-space: nowrap;
}
.auth-feedback {
  width: min(100% - 40px, var(--content));
  margin: 10px auto;
  padding: 10px 14px;
  border: 1px solid #d69b91;
  border-radius: 6px;
  background: #fff5f2;
  color: #782e24;
  font-size: .92rem;
  line-height: 1.55;
}
.auth-status-region {
  border-bottom: 1px solid var(--color-border);
  background: var(--color-surface-muted);
}
.auth-status-region__inner {
  width: min(100% - 40px, var(--content));
  min-height: 62px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
}
.auth-user-photo { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 50%; object-fit: cover; }
.auth-user-details { min-width: 0; display: grid; gap: 2px; }
.auth-user-name { color: var(--color-text); font-size: .94rem; }
.auth-user-email { color: var(--color-text-secondary); font-size: .82rem; overflow-wrap: anywhere; }
.auth-sign-out-button { margin-left: auto; padding: 8px 14px; }

@media (min-width: 981px) {
  .auth-slot--desktop .firebase-login-button { width: 42px; padding-inline: 8px; }
  .auth-slot--desktop .firebase-login-button__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
@media (max-width: 980px) {
  .auth-slot--desktop { display: none; }
  .auth-slot--mobile { display: block; width: 100%; padding-top: 12px; }
  .auth-slot--mobile .firebase-login-button,
  .auth-slot--mobile .auth-signed-in-indicator { width: 100%; }
}
@media (max-width: 520px) {
  .auth-status-region__inner { width: min(100% - 32px, var(--content)); align-items: flex-start; flex-wrap: wrap; }
  .auth-user-details { flex: 1 1 calc(100% - 56px); }
  .auth-sign-out-button { width: 100%; margin-left: 52px; }
}
* { box-sizing: border-box; }
html { max-width: 100%; overflow-x: clip; scroll-behavior: smooth; }
body { max-width: 100%; margin: 0; overflow-x: clip; color: var(--ink); background: var(--paper); font-family: var(--font-family); line-height: 1.65; }
body.menu-open { overflow: hidden; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button { font: inherit; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.16; letter-spacing: 0; }
:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }

.skip-link { position: fixed; top: 10px; left: 10px; z-index: 200; padding: 10px 14px; background: var(--ink); color: var(--white); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 100; height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 0 max(24px, calc((100% - var(--content)) / 2)); background: color-mix(in srgb, var(--color-surface) 94%, transparent); border-bottom: 1px solid transparent; backdrop-filter: blur(14px); transition: border-color .2s ease, box-shadow .2s ease; }
.site-header.is-scrolled { border-color: var(--line); box-shadow: 0 8px 24px rgba(76, 57, 38, .07); }
.brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; flex: 0 0 auto; }
.brand img { width: 40px; height: 40px; }
.brand span { display: flex; align-items: baseline; gap: 7px; }
.brand strong { font-size: 18px; }
.brand small { color: var(--muted); font-weight: 800; }
.site-nav { display: flex; align-items: center; gap: 28px; }
.site-nav a { position: relative; font-size: 14px; font-weight: 700; text-decoration: none; }
.site-nav a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 2px; background: var(--honey); transition: right .2s ease; }
.site-nav a:not(.nav-cta):hover::after { right: 0; }
.nav-cta {
  white-space: nowrap; padding: 10px 16px; background: var(--ink); color: var(--white); border: 1px solid var(--ink); border-radius: 6px; transition: transform .15s ease, background .15s ease; }
.nav-cta:hover { background: var(--honey); color: var(--ink); transform: translateY(-2px); }
.menu-toggle { display: none; width: 44px; height: 44px; padding: 11px; border: 1px solid var(--line); background: var(--paper); border-radius: 6px; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: var(--ink); transition: transform .2s ease, opacity .2s ease; }

.hero { position: relative; min-height: min(680px, calc(100svh - 76px)); overflow: hidden; display: flex; align-items: center; padding: 72px max(24px, calc((100% - var(--content)) / 2)); background: var(--ink); color: var(--white); isolation: isolate; }
.hero::after { content: ""; position: absolute; right: 0; top: 0; width: 42%; height: 100%; background: var(--honey); z-index: -2; }
.hero-copy { position: relative; z-index: 3; width: min(650px, 58%); }
.eyebrow { margin-bottom: 18px; color: var(--honey-dark); font-size: 13px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.hero .eyebrow, .final-cta .eyebrow { color: var(--honey); }
.hero h1 { max-width: 720px; margin-bottom: 24px; font-size: clamp(42px, 6vw, 76px); }
.hero h1 mark { color: var(--honey); background: transparent; }
.hero-lede { max-width: 590px; margin-bottom: 30px; color: var(--color-text-secondary); font-size: 19px; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 20px; border: 1px solid transparent; border-radius: 6px; font-weight: 900; text-decoration: none; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(76, 57, 38, .12); }
.button:active { transform: translateY(1px); box-shadow: none; }
.button-primary { background: var(--honey); color: var(--ink); }
.button-primary:hover { background: var(--color-primary-hover); }
.button-secondary { border-color: var(--ink); background: var(--white); color: var(--ink); }
.hero .button-secondary { border-color: var(--color-border-strong); background: transparent; color: var(--white); }
.button-dark { background: var(--ink); color: var(--white); }
.button-outline { border-color: var(--color-border-strong); background: transparent; color: var(--white); }
.hero-note { display: flex; align-items: center; gap: 10px; margin: 24px 0 0; color: var(--color-text-muted); font-size: 13px; }
.hero-note span { width: 8px; height: 8px; background: var(--blue); border-radius: 50%; box-shadow: 0 0 0 5px rgba(130, 146, 125, .20); }
.answer-scene { position: absolute; z-index: 2; right: max(24px, calc((100% - var(--content)) / 2)); top: 50%; width: min(460px, 39vw); height: 540px; transform: translateY(-50%); }
.phone-mockup { position: absolute; right: 10px; top: 20px; width: 280px; padding: 16px; background: var(--paper); color: var(--ink); border: 8px solid var(--ink); border-radius: 28px; box-shadow: var(--shadow); transform: rotate(2deg); }
.phone-bar { display: flex; justify-content: space-between; align-items: center; padding: 2px 2px 14px; font-weight: 900; }
.phone-bar i { width: 8px; height: 8px; background: var(--blue); border-radius: 50%; }
.question-preview { padding: 14px; background: var(--soft); border-radius: 6px; }
.question-preview small { color: var(--muted); }
.question-preview p { margin: 4px 0 0; font-weight: 800; line-height: 1.45; }
.solution-list { list-style: none; margin: 12px 0 0; padding: 0; }
.solution-list li { display: flex; gap: 12px; align-items: center; padding: 11px 4px; border-bottom: 1px solid var(--line); }
.solution-list li:last-child { border-bottom: 0; }
.solution-list b { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; color: var(--ink); background: var(--honey); border-radius: 50%; font-size: 11px; }
.solution-list span { display: flex; flex-direction: column; }
.solution-list small { color: var(--muted); line-height: 1.3; }
.camera-frame { position: absolute; left: 0; bottom: 36px; width: 215px; min-height: 150px; padding: 34px 22px 22px; background: var(--blue); color: var(--white); border: 2px solid var(--ink); border-radius: 8px; box-shadow: var(--shadow); transform: rotate(-5deg); }
.camera-frame > span { position: absolute; width: 18px; height: 18px; border-color: var(--white); }
.camera-frame > span:nth-child(1) { top: 12px; left: 12px; border-top: 2px solid; border-left: 2px solid; }
.camera-frame > span:nth-child(2) { top: 12px; right: 12px; border-top: 2px solid; border-right: 2px solid; }
.camera-frame > span:nth-child(3) { bottom: 12px; left: 12px; border-bottom: 2px solid; border-left: 2px solid; }
.camera-frame > span:nth-child(4) { right: 12px; bottom: 12px; border-right: 2px solid; border-bottom: 2px solid; }
.camera-frame p { margin: 0; font-size: 13px; }
.camera-frame strong { font-size: 30px; }
.formula-cloud { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.formula { position: absolute; color: rgba(183, 139, 95, .05); font-family: Georgia, serif; font-weight: 900; }
.formula-a { left: 5%; top: 12%; font-size: 46px; transform: rotate(-7deg); }
.formula-b { left: 44%; bottom: 8%; font-size: 28px; }
.formula-c { left: 28%; top: 8%; font-size: 24px; }
.formula-d { right: 3%; bottom: 3%; color: rgba(76, 57, 38, .10); font-size: 32px; }

.section-pad { padding: 104px max(24px, calc((100% - var(--content)) / 2)); scroll-margin-top: 76px; }
.section-heading { max-width: 760px; margin-bottom: 52px; }
.section-heading h2 { margin-bottom: 16px; font-size: clamp(34px, 4.2vw, 56px); }
.section-heading > p:last-child { color: var(--muted); font-size: 18px; }
.center-heading { margin-right: auto; margin-left: auto; text-align: center; }
.split-heading { display: grid; grid-template-columns: 1fr 2.5fr; max-width: none; align-items: start; }
.split-heading .eyebrow { padding-top: 10px; }

.pain-section { background: var(--paper); }
.pain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pain-grid article { min-height: 230px; padding: 28px; border-top: 4px solid var(--ink); background: var(--soft); border-radius: 0 0 8px 8px; transition: transform .2s ease, border-color .2s ease; }
.pain-grid article:hover { transform: translateY(-6px); border-color: var(--coral); }
.pain-grid span { color: var(--coral); font-weight: 900; }
.pain-grid h3 { margin: 42px 0 12px; font-size: 24px; }
.pain-grid p { margin: 0; color: var(--muted); }
.section-quote { max-width: 820px; margin: 52px auto 0; padding-left: 22px; border-left: 5px solid var(--honey); font-size: 22px; font-weight: 800; }

.features-section { background: var(--soft); }
.feature-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.feature-grid article { position: relative; min-height: 270px; padding: 26px; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: 8px; transition: transform .2s ease, box-shadow .2s ease; }
.feature-grid article:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.feature-mark { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 50px; background: var(--ink); color: var(--honey); border-radius: 50%; font-weight: 900; }
.feature-grid h3 { font-size: 22px; }
.feature-grid p { color: var(--muted); }

.process-section { background: var(--ink); color: var(--white); }
.process-section .eyebrow { color: var(--honey); }
.process-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--color-border-strong); border-bottom: 1px solid var(--color-border-strong); }
.process-list li { min-height: 180px; display: flex; gap: 22px; padding: 32px; border-right: 1px solid var(--color-border-strong); }
.process-list li:last-child { border-right: 0; }
.process-list li > span { color: var(--honey); font-family: Georgia, serif; font-size: 48px; line-height: 1; }
.process-list h3 { margin-bottom: 10px; font-size: 24px; }
.process-list p { color: var(--color-text-secondary); }
.learning-note { display: flex; align-items: center; gap: 28px; max-width: 900px; margin: 42px 0 0 auto; padding: 22px 26px; background: var(--honey); color: var(--ink); border-radius: 8px; }
.learning-note strong { flex: 0 0 auto; }
.learning-note p { margin: 0; }

.situations-section { background: var(--paper); }
.situation-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.situation-grid article { min-height: 210px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .2s ease; }
.situation-grid article:hover { background: var(--soft); }
.situation-grid span { color: var(--blue); font-size: 12px; font-weight: 900; }
.situation-grid h3 { margin: 36px 0 10px; font-size: 24px; }
.situation-grid p { max-width: 450px; color: var(--muted); }

.subjects-section { background: var(--honey); }
.subjects-section .eyebrow { color: var(--ink); }
.subject-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 940px; margin: 0 auto; padding: 0; list-style: none; }
.subject-list li { padding: 13px 18px; background: var(--paper); border: 1px solid var(--ink); border-radius: 6px; font-weight: 900; }
.disclaimer { max-width: 720px; margin: 28px auto 0; text-align: center; font-size: 13px; }

.compare-section { background: var(--paper); }
.compare-table { display: grid; grid-template-columns: 1fr 1fr; max-width: 960px; margin-left: auto; }
.compare-column { padding: 38px; border: 1px solid var(--line); }
.compare-column:first-child { border-radius: 8px 0 0 8px; }
.compare-column:last-child { border-radius: 0 8px 8px 0; }
.compare-column h3 { font-size: 25px; }
.compare-column ul { margin: 28px 0 0; padding: 0; list-style: none; }
.compare-column li { padding: 13px 0; border-bottom: 1px solid var(--line); }
.compare-column li::before { content: "\2022"; margin-right: 10px; color: var(--muted); }
.branded { background: var(--ink); color: var(--white); border-color: var(--ink); transform: translateY(-18px); box-shadow: var(--shadow); }
.branded > span { color: var(--honey); font-weight: 900; }
.branded li { border-color: var(--color-border-strong); }
.branded li::before { content: "\2713"; color: var(--honey); }

.plans-section { background: var(--soft); }
.plan-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: stretch; }
.plan-grid article { display: flex; flex-direction: column; padding: 30px; background: var(--white); border: 1px solid var(--line); border-radius: 8px; }
.plan-grid article:hover { border-color: var(--ink); }
.plan-grid .featured-plan { background: var(--honey); border-color: var(--ink); transform: translateY(-12px); box-shadow: var(--shadow); }
.plan-label { color: var(--honey-dark); font-size: 12px; font-weight: 900; }
.featured-plan .plan-label { color: var(--ink); }
.plan-grid h3 { margin-bottom: 12px; font-size: 26px; }
.plan-grid > article > p:not(.plan-label) { color: var(--muted); }
.featured-plan > p:not(.plan-label) { color: var(--color-primary-hover); }
.plan-grid ul { flex: 1; margin: 24px 0 28px; padding-left: 20px; }
.plan-grid li { margin: 10px 0; }

.faq-section { background: var(--paper); }
.faq-list { max-width: 920px; margin-left: auto; border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item h3 { margin: 0; }
.faq-item button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 4px; border: 0; background: transparent; color: var(--ink); text-align: left; font-weight: 900; cursor: pointer; }
.faq-item button:hover { color: var(--blue); }
.faq-item i { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border: 1px solid var(--ink); border-radius: 50%; font-style: normal; }
.faq-answer p { margin: 0; padding: 0 70px 26px 4px; color: var(--muted); }

.final-cta { text-align: center; background: var(--ink); color: var(--white); }
.final-cta h2 { max-width: 850px; margin: 0 auto 20px; font-size: clamp(38px, 5vw, 64px); }
.final-cta > p:not(.eyebrow):not(.contact-placeholder) { color: var(--color-text-secondary); font-size: 18px; }
.final-cta .button-row { justify-content: center; margin-top: 30px; }
.contact-placeholder { max-width: 660px; margin: 24px auto 0; padding: 12px; color: var(--honey); border-top: 1px solid var(--color-border-strong); }

.site-footer { padding: 48px max(24px, calc((100% - var(--content)) / 2)) 24px; background: var(--color-dark); color: var(--white); border-top: 1px solid var(--color-border-strong); }
.footer-main { display: flex; justify-content: space-between; gap: 32px; align-items: center; }
.footer-brand span { align-items: flex-start; flex-direction: column; gap: 0; }
.footer-brand small { color: var(--color-text-muted); }
.footer-main nav { display: flex; flex-wrap: wrap; gap: 20px; }
.footer-main nav a { color: var(--color-text-secondary); font-size: 13px; text-decoration: none; }
.footer-main nav a:hover { color: var(--honey); }
.copyright { margin: 38px 0 0; padding-top: 18px; border-top: 1px solid var(--color-border-strong); color: var(--color-text-muted); font-size: 12px; }
.back-to-top { position: fixed; z-index: 80; right: 22px; bottom: 22px; width: 46px; height: 46px; border: 1px solid var(--ink); background: var(--honey); color: var(--ink); border-radius: 50%; font-size: 23px; font-weight: 900; cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(12px); transition: opacity .2s ease, transform .2s ease; }
.back-to-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.info-page { position: relative; isolation: isolate; min-height: 65vh; display: grid; grid-template-columns: minmax(0, 860px); justify-content: center; padding: 112px 24px; overflow: hidden; }
.info-page__content { position: relative; z-index: 1; width: 100%; }
.info-page h1 { max-width: 860px; margin: 0; font-size: clamp(42px, 6vw, 70px); }
.info-page__body { max-width: 820px; margin-top: 28px; }
.info-page__body p { margin: 0; color: var(--muted); font-size: clamp(1.05rem, 1.35vw, 1.2rem); line-height: 1.85; }
.info-page__body p + p { margin-top: 20px; }
.info-page__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.info-page__actions .button { margin: 0; }
.info-page__art { position: absolute; z-index: 0; width: 180px; aspect-ratio: 1; right: max(7vw, 42px); top: 19%; opacity: .16; border: 1px solid var(--color-primary); border-radius: 32px; background: var(--color-sage); transform: rotate(10deg); }
.info-page__art::before, .info-page__art::after { content: ""; position: absolute; border: 1px solid var(--color-primary); }
.info-page__art::before { width: 44%; height: 44%; left: 28%; top: 28%; border-radius: 12px; }
.info-page__art::after { width: 24%; height: 24%; right: -14%; bottom: -14%; border-radius: 50%; background: var(--color-primary-soft); }
.info-page__art--privacy { border-radius: 50% 50% 44% 44%; transform: rotate(-8deg); }
.info-page__art--terms { border-radius: 18px; transform: rotate(4deg); }
.info-page__art--terms::before { height: 52%; top: 23%; border-radius: 8px; }
.info-page__art--contact { border-radius: 42px; transform: rotate(-6deg); }
.info-page__art--contact::before { width: 52%; height: 34%; left: 24%; top: 31%; border-radius: 18px; }

@media (max-width: 980px) {
  .site-header { padding: 0 22px; }
  .menu-toggle { display: block; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .site-nav { position: fixed; top: 76px; left: 0; right: 0; height: calc(100svh - 76px); display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 24px; background: var(--paper); transform: translateX(100%); visibility: hidden; transition: transform .25s ease, visibility .25s ease; }
  .site-nav.is-open { transform: translateX(0); visibility: visible; }
  .site-nav a { padding: 18px 6px; border-bottom: 1px solid var(--line); font-size: 20px; }
  .site-nav .nav-cta { margin-top: 18px; padding: 15px; text-align: center; }
  .hero { min-height: 760px; align-items: flex-start; padding: 60px 24px; }
  .hero::after { width: 32%; }
  .hero-copy { width: 70%; }
  .hero h1 { font-size: 54px; }
  .answer-scene { right: 18px; top: 52%; width: 380px; transform: translateY(-25%); }
  .phone-mockup { width: 250px; }
  .camera-frame { width: 190px; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .process-list { grid-template-columns: 1fr; }
  .process-list li { border-right: 0; border-bottom: 1px solid var(--color-border-strong); }
  .process-list li:last-child { border-bottom: 0; }
  .plan-grid { grid-template-columns: 1fr; max-width: 650px; margin: 0 auto; }
  .plan-grid .featured-plan { transform: none; }
}

@media (max-width: 700px) {
  .brand span { align-items: flex-start; flex-direction: column; gap: 0; line-height: 1.2; }
  .brand small { font-size: 11px; }
  .hero { min-height: 830px; padding-top: 48px; }
  .hero::after { top: auto; bottom: 0; width: 100%; height: 34%; }
  .hero-copy { width: 100%; }
  .hero h1 { font-size: 42px; }
  .hero-lede { font-size: 17px; }
  .answer-scene { top: auto; right: 50%; bottom: 20px; width: 330px; height: 330px; transform: translateX(50%); }
  .phone-mockup { top: 0; right: 0; width: 210px; padding: 10px; border-width: 6px; border-radius: 22px; }
  .question-preview { padding: 10px; }
  .solution-list li { padding: 7px 2px; }
  .solution-list b { width: 25px; height: 25px; }
  .solution-list small { display: none; }
  .camera-frame { left: 0; bottom: 10px; width: 155px; min-height: 115px; padding: 28px 16px 16px; }
  .camera-frame strong { font-size: 24px; }
  .formula { display: none; }
  .section-pad { padding: 76px 20px; scroll-margin-top: 76px; }
  .section-heading { margin-bottom: 36px; }
  .section-heading h2, .final-cta h2 { font-size: 36px; }
  .split-heading { display: block; }
  .pain-grid, .feature-grid, .situation-grid, .compare-table { grid-template-columns: 1fr; }
  .pain-grid article { min-height: 200px; }
  .feature-grid article { min-height: 220px; }
  .feature-mark { margin-bottom: 30px; }
  .learning-note { align-items: flex-start; flex-direction: column; gap: 8px; }
  .situation-grid { border-left: 1px solid var(--line); }
  .compare-table { margin-left: 0; }
  .compare-column:first-child, .compare-column:last-child { border-radius: 8px; }
  .compare-column:last-child { margin-top: 12px; }
  .branded { transform: none; }
  .footer-main { align-items: flex-start; flex-direction: column; }
  .footer-main nav { flex-direction: column; gap: 12px; }
  .button-row .button { width: 100%; }
}

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

/* Content-driven media and flexible components */
h1, h2, h3, p, a, button, li { overflow-wrap: anywhere; }
.brand-logo { object-fit: contain; }
.footer-brand .brand-logo { width: 40px; height: 38px; flex: 0 0 auto; }
.hero-visual { position: absolute; z-index: 2; right: max(24px, calc((100% - var(--content)) / 2)); top: 50%; width: min(440px, 38vw); margin: 0; transform: translateY(-50%); }
.hero-image { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border: 8px solid var(--ink); border-radius: var(--radius-large); box-shadow: var(--shadow-card); }
.hero-visual figcaption { margin-top: 8px; color: rgba(111, 103, 95, .72); font-size: 11px; text-align: right; }
.feature-grid article { min-height: 0; }
.feature-image { width: calc(100% + 52px); max-width: none; height: auto; aspect-ratio: 16 / 10; margin: -26px -26px 24px; object-fit: cover; border-bottom: 1px solid var(--line); }
.feature-grid .feature-mark { margin-bottom: 24px; }
.plan-grid { grid-template-columns: repeat(var(--plan-columns, 3), minmax(0, 1fr)); }
.plan-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; min-height: 42px; margin: 12px 0; }
.plan-price span { font-size: 24px; font-weight: 900; white-space: nowrap; }
.plan-price del { color: var(--muted); font-size: 14px; }
.plan-price small { color: var(--muted); }
.contact-options { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0; }
.status-chip, .contact-options > a:not(.button) { margin: 0; padding: 9px 12px; border: 1px solid var(--line); border-radius: var(--radius-small); background: var(--soft); color: var(--muted); font-size: 14px; text-decoration: none; }

@media (max-width: 980px) {
  .hero-visual { right: 18px; top: auto; bottom: 24px; width: min(360px, 42vw); transform: none; }
  .plan-grid { grid-template-columns: repeat(min(var(--plan-columns, 3), 2), minmax(0, 1fr)); max-width: none; }
}

@media (max-width: 700px) {
  .hero { min-height: 920px; }
  .hero-visual { right: 50%; bottom: 24px; width: min(330px, calc(100% - 40px)); transform: translateX(50%); }
  .hero-visual figcaption { text-align: center; }
  .plan-grid { grid-template-columns: 1fr; }
  .feature-image { width: calc(100% + 52px); }
}/* YouTube playlist showcase card in the Hero */
.hero-showcase {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: max(24px, calc((100% - var(--content)) / 2));
  width: min(430px, 38vw);
  margin: 0;
  isolation: isolate;
  transform: translateY(-50%);
}
.hero-showcase::before,
.hero-showcase::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 640px) {
  .info-page { min-height: auto; padding: 78px 20px; }
  .info-page h1 { font-size: clamp(2.25rem, 11vw, 3.2rem); }
  .info-page__body { margin-top: 22px; }
  .info-page__body p { font-size: 1rem; line-height: 1.8; }
  .info-page__actions { align-items: stretch; flex-direction: column; margin-top: 28px; }
  .info-page__actions .button { justify-content: center; width: 100%; }
  .info-page__art { width: 108px; right: -28px; top: 12%; opacity: .1; }
}
.hero-showcase::before {
  top: 54px;
  left: -18px;
  width: 62px;
  height: 62px;
  background: var(--ink);
  border-radius: 50%;
}
.hero-showcase::after {
  right: -15px;
  bottom: 70px;
  width: 68px;
  height: 68px;
  border: 2px solid var(--ink);
  transform: rotate(8deg);
}
.hero-showcase-card {
  position: relative;
  padding: 18px 20px 14px;
  overflow: hidden;
  background: var(--white);
  color: var(--ink);
  border: 2px solid var(--ink);
  border-radius: 8px;
  box-shadow: 10px 12px 0 rgba(76, 57, 38, .14);
}
.hero-showcase-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 82px;
  height: 8px;
  background: var(--honey);
  border-left: 2px solid var(--ink);
  border-bottom: 2px solid var(--ink);
}
.hero-showcase-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.hero-showcase-label,
.hero-showcase-mark {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border: 1px solid var(--ink);
  border-radius: 4px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}
.hero-showcase-label {
  padding: 7px 10px;
  background: var(--ink);
  color: var(--white);
}
.hero-showcase-mark {
  justify-content: center;
  min-width: 40px;
  padding: 7px 8px;
  background: var(--honey);
  color: var(--ink);
}
.hero-showcase-video {
  position: relative;
  width: min(236px, 100%);
  aspect-ratio: 9 / 16;
  margin: 0 auto;
  overflow: hidden;
  background: var(--color-dark);
  border: 2px solid var(--ink);
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(76, 57, 38, .14);
}
.hero-showcase-poster,
#youtube-hero-player,
#youtube-hero-player iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}
.hero-showcase-poster { z-index: 1; object-fit: cover; }
#youtube-hero-player { z-index: 2; }
.hero-showcase.is-ready .hero-showcase-poster { opacity: 0; pointer-events: none; }
.hero-showcase-start {
  position: absolute;
  z-index: 6;
  left: 50%;
  top: 50%;
  min-width: 132px;
  min-height: 48px;
  padding: 10px 16px;
  border: 2px solid var(--ink);
  border-radius: 6px;
  background: var(--honey);
  color: var(--ink);
  font-weight: 900;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, -50%);
}
.hero-showcase-start.is-visible { opacity: 1; visibility: visible; }
.hero-showcase-status {
  position: absolute;
  z-index: 5;
  left: 12px;
  right: 12px;
  bottom: 52px;
  margin: 0;
  padding: 8px 10px;
  border-radius: 6px;
  background: rgba(52, 46, 42, .88);
  color: var(--white);
  font-size: 12px;
  line-height: 1.45;
  text-align: center;
}
.hero-showcase-status[hidden] { display: none; }
.hero-showcase-caption {
  margin: 11px 0 9px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
}
.hero-showcase-controls {
  display: grid;
  grid-template-columns: repeat(4, minmax(44px, 1fr));
  gap: 7px;
  width: min(340px, 100%);
  margin: 0 auto;
}
.hero-showcase-controls button {
  min-width: 44px;
  min-height: 50px;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  padding: 5px 4px;
  border: 1px solid var(--ink);
  border-radius: 6px;
  background: var(--white);
  color: var(--ink);
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
}
.hero-showcase-controls button > span { font-size: 16px; font-weight: 900; line-height: 1; }
.hero-showcase-controls button > small { font-size: 10px; font-weight: 900; line-height: 1.2; }
.hero-showcase[data-player-state="1"] [data-youtube-action="toggle"] {
  background: var(--ink);
  color: var(--white);
}
.hero-showcase-controls [data-youtube-action="mute"][aria-pressed="false"] { background: var(--honey); }
.hero-showcase-controls button:hover,
.hero-showcase-controls button:focus-visible {
  background: var(--honey);
  color: var(--ink);
  box-shadow: 0 4px 0 var(--ink);
  transform: translateY(-2px);
}
.hero-showcase-controls button:active { box-shadow: none; transform: translateY(1px); }
.hero-showcase-dots {
  display: flex;
  justify-content: center;
  gap: 0;
  min-height: 44px;
  margin: 2px auto -8px;
}
.hero-showcase-dot {
  position: relative;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.hero-showcase-dot::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  background: var(--color-dot-muted);
  border: 1px solid var(--ink);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width .15s ease, border-radius .15s ease, background .15s ease;
}
.hero-showcase-dot:hover::before,
.hero-showcase-dot:focus-visible::before { background: var(--honey); }
.hero-showcase-dot.is-current::before {
  width: 24px;
  background: var(--ink);
  border-radius: 999px;
}
.hero-visual-static figcaption { display: none; }

@media (max-width: 1100px) and (min-width: 701px) {
  .hero-copy { width: 58%; }
  .hero-showcase { right: 18px; width: min(330px, 38vw); }
  .hero-showcase-card { padding: 14px 14px 10px; }
  .hero-showcase-video { width: clamp(182px, 22vw, 224px); }
  .hero-showcase-caption { margin-top: 8px; }
  .hero-showcase-controls { gap: 5px; }
  .hero-showcase-controls button > small { font-size: 9px; }
}

@media (max-width: 700px) {
  .hero {
    min-height: 0;
    display: block;
    padding-bottom: 44px;
  }
  .hero::after {
    top: auto;
    bottom: 0;
    width: 100%;
    height: 52%;
  }
  .hero-copy { width: 100%; }
  .hero-showcase {
    position: relative;
    top: auto;
    right: auto;
    width: min(100%, 390px);
    margin: 42px auto 0;
    transform: none;
  }
  .hero-showcase::before { left: -10px; }
  .hero-showcase::after { right: -9px; }
  .hero-showcase-card { padding: 16px 14px 10px; }
  .hero-showcase-video { width: min(228px, 68vw); }
  .hero-showcase-controls { max-width: 320px; }
  .hero-showcase-controls button { min-height: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-showcase-controls button,
  .hero-showcase-dot::before { transition: none; }
}

/* Warm premium visual system */
::selection { background: var(--color-primary-soft); color: var(--color-dark); }
:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; }
body { color: var(--color-text); background: var(--color-background); }

.site-header {
  background: color-mix(in srgb, var(--color-surface) 94%, transparent);
  border-bottom-color: var(--color-border);
}
.site-header.is-scrolled { border-color: var(--color-border); box-shadow: var(--shadow-small); }
.brand small { color: var(--color-text-secondary); }
.site-nav a:not(.nav-cta)::after { height: 1px; background: var(--color-primary); }
.nav-cta,
.button-primary,
.button-dark {
  background: var(--color-dark);
  color: var(--color-light);
  border-color: var(--color-dark);
}
.nav-cta {
  white-space: nowrap; border-radius: var(--radius-small); }
.nav-cta:hover,
.button-primary:hover,
.button-dark:hover { background: var(--color-primary-hover); color: var(--color-light); border-color: var(--color-primary-hover); }
.menu-toggle { border-color: var(--color-border); background: var(--color-surface); border-radius: var(--radius-small); }
.menu-toggle span { background: var(--color-dark); }

.hero {
  background: var(--color-background);
  color: var(--color-text);
}
.hero::after {
  top: 6%;
  right: max(18px, calc((100% - var(--content)) / 2));
  width: min(470px, 39%);
  height: 88%;
  background: var(--color-background-alt);
  border: 1px solid color-mix(in srgb, var(--color-border) 72%, transparent);
  border-radius: var(--radius-large);
  opacity: .66;
}
.hero .eyebrow { color: var(--color-primary-hover); }
.hero h1 { color: var(--color-text); }
.hero h1 mark { color: var(--color-primary); }
.hero-lede { color: var(--color-text-secondary); }
.hero-note { color: var(--color-text-muted); }
.hero-note span { background: var(--color-sage-strong); box-shadow: 0 0 0 5px rgba(130, 146, 125, .16); }
.formula { color: rgba(183, 139, 95, .05); }
.formula-d { color: rgba(76, 57, 38, .05); }

.button {
  border-radius: 14px;
  box-shadow: var(--shadow-small);
}
.button:hover { box-shadow: 0 8px 22px rgba(76, 57, 38, .12); }
.button-secondary,
.hero .button-secondary {
  background: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border-strong);
}
.button-secondary:hover,
.hero .button-secondary:hover { background: var(--color-surface-muted); color: var(--color-text); border-color: var(--color-border-strong); }
.button-outline { border-color: var(--color-primary-soft); color: var(--color-light); }
.button-outline:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }

.section-heading h2 { color: var(--color-text); }
.section-heading > p:last-child,
.pain-grid p,
.feature-grid p,
.situation-grid p,
.plan-grid > article > p:not(.plan-label),
.plan-price del,
.plan-price small,
.info-page > p:not(.eyebrow) { color: var(--color-text-secondary); }
.eyebrow { color: var(--color-primary-hover); }

.pain-section { background: var(--color-background); }
.features-section { background: var(--color-surface-muted); }
.process-section { background: var(--color-background-alt); color: var(--color-text); }
.situations-section { background: var(--color-surface); }
.subjects-section { background: var(--color-surface-muted); }
.compare-section { background: var(--color-background); }
.plans-section { background: var(--color-background-alt); }
.faq-section { background: var(--color-surface-soft); }

.pain-grid article,
.feature-grid article,
.situation-grid article,
.compare-column,
.plan-grid article,
.faq-item {
  background: var(--color-surface);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-small);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.pain-grid article:hover,
.feature-grid article:hover,
.situation-grid article:hover,
.compare-column:hover,
.plan-grid article:hover,
.faq-item:hover {
  background: var(--color-surface);
  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-card);
  transform: translateY(-4px);
}
.pain-grid article { border-top-width: 1px; }
.pain-grid span { color: var(--color-primary); }
.section-quote { border-left-color: var(--color-primary); }
.feature-mark {
  background: var(--color-sage);
  color: var(--color-sage-text);
  border-radius: var(--radius-pill);
}
.feature-image { border-bottom-color: var(--color-border); }

.process-section .eyebrow { color: var(--color-primary-hover); }
.process-list { gap: 14px; border: 0; }
.process-list li {
  min-height: 190px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-small);
}
.process-list li:last-child { border-right: 1px solid var(--color-border); }
.process-list li > span { color: var(--color-primary); }
.process-list p { color: var(--color-text-secondary); }
.learning-note {
  background: var(--color-sage);
  color: var(--color-sage-text);
  border: 1px solid color-mix(in srgb, var(--color-sage-strong) 38%, transparent);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-small);
}

.situation-grid { gap: 16px; border: 0; }
.situation-grid article { border: 1px solid var(--color-border); }
.situation-grid span { color: var(--color-sage-strong); }
.subjects-section .eyebrow { color: var(--color-primary-hover); }
.subject-list li {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-small);
}
.disclaimer { color: var(--color-text-secondary); }

.compare-table { gap: 16px; }
.compare-column { border-color: var(--color-border); }
.compare-column:first-child,
.compare-column:last-child { border-radius: var(--radius-medium); }
.branded {
  background: var(--color-surface-soft);
  color: var(--color-text);
  border: 2px solid var(--color-primary);
  box-shadow: var(--shadow-card);
}
.branded > span,
.branded li::before { color: var(--color-primary-hover); }
.branded li { border-color: var(--color-border); }

.plan-grid article {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
}
.plan-grid .featured-plan {
  background: var(--color-surface);
  color: var(--color-text);
  border: 2px solid var(--color-primary);
  box-shadow: var(--shadow-floating);
}
.plan-grid .featured-plan::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 7px;
  background: var(--color-primary-soft);
}
.plan-label,
.featured-plan .plan-label { color: var(--color-primary-hover); }
.featured-plan > p:not(.plan-label) { color: var(--color-text-secondary); }
.plan-price span { color: var(--color-dark); }

.faq-list { border: 0; }
.faq-item { margin-bottom: 12px; overflow: hidden; }
.faq-item button { align-items: flex-start; padding: 22px 24px; color: var(--color-text); }
.faq-item button:hover { color: var(--color-primary-hover); }
.faq-question-copy { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: 10px 12px; min-width: 0; }
.faq-question-copy > span:last-child { min-width: 0; }
.faq-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 5px 10px; color: var(--color-primary-hover); background: var(--color-accent-soft); border: 1px solid var(--color-primary-soft); border-radius: var(--radius-pill); font-size: 12px; font-weight: 900; line-height: 1; white-space: nowrap; }
.faq-item i {
  color: var(--color-primary-hover);
  border-color: var(--color-primary-soft);
  background: var(--color-accent-soft);
}
.faq-item:has(button[aria-expanded="true"]) { background: var(--color-surface-soft); border-color: var(--color-border-strong); }
.faq-item--featured { background: linear-gradient(145deg, #fffaf0 0%, #f4e8cf 54%, #e7eee5 100%); border-color: rgba(183, 139, 95, .58); box-shadow: 0 14px 34px rgba(120, 88, 54, .11); }
.faq-item--featured:has(button[aria-expanded="true"]) { background: linear-gradient(145deg, #fff9ed 0%, #f1e2c5 54%, #e2ece0 100%); border-color: rgba(183, 139, 95, .72); }
.faq-answer p { padding: 0 72px 24px 24px; color: var(--color-text-secondary); }

.final-cta { background: var(--color-dark); color: var(--color-light); }
.final-cta .eyebrow { color: var(--color-primary-soft); }
.final-cta > p:not(.eyebrow):not(.contact-placeholder) { color: var(--color-footer-link); }
.contact-placeholder { color: var(--color-primary-soft); border-top-color: rgba(234, 216, 184, .24); }
.site-footer {
  background: var(--color-dark);
  color: var(--color-background);
  border-top-color: rgba(221, 209, 195, .18);
}
.footer-brand small { color: var(--color-footer-link); }
.footer-main nav a { color: var(--color-footer-link); }
.footer-main nav a:hover { color: var(--color-primary-soft); }
.copyright { color: var(--color-text-muted); border-top-color: rgba(221, 209, 195, .18); }
.back-to-top {
  background: var(--color-primary);
  color: var(--color-light);
  border-color: var(--color-primary);
  box-shadow: var(--shadow-small);
}
.back-to-top:hover { background: var(--color-primary-hover); }
.info-page { color: var(--color-text); }
.status-chip,
.contact-options > a:not(.button) {
  background: var(--color-surface-muted);
  color: var(--color-text-secondary);
  border-color: var(--color-border);
  border-radius: var(--radius-pill);
}

.hero-showcase::before {
  background: var(--color-sage);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-medium);
}
.hero-showcase::after {
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-large);
}
.hero-showcase-card {
  background: var(--color-surface-muted);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-large);
  box-shadow: var(--shadow-floating);
}
.hero-showcase-card::before {
  background: var(--color-accent-soft);
  border: 0;
}
.hero-showcase-label,
.hero-showcase-mark { border: 0; border-radius: var(--radius-pill); }
.hero-showcase-label { background: var(--color-primary-soft); color: var(--color-primary-hover); }
.hero-showcase-mark { background: var(--color-sage); color: var(--color-sage-text); }
.hero-showcase-video {
  background: var(--color-dark);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
}
.hero-showcase-start {
  background: var(--color-dark);
  color: var(--color-light);
  border: 0;
  border-radius: var(--radius-small);
  box-shadow: var(--shadow-card);
}
.hero-showcase-start:hover { background: var(--color-primary-hover); }
.hero-showcase-status { background: rgba(52, 46, 42, .88); color: var(--color-light); border-radius: var(--radius-small); }
.hero-showcase-caption { color: var(--color-text-secondary); }
.hero-showcase-controls button {
  background: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border);
  border-radius: var(--radius-small);
  box-shadow: var(--shadow-small);
}
.hero-showcase[data-player-state="1"] [data-youtube-action="toggle"] { background: var(--color-dark); color: var(--color-light); }
.hero-showcase-controls [data-youtube-action="mute"][aria-pressed="false"] { background: var(--color-primary-soft); color: var(--color-text); }
.hero-showcase-controls button:hover,
.hero-showcase-controls button:focus-visible {
  background: var(--color-surface-muted);
  color: var(--color-text);
  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-small);
}
.hero-showcase-dot::before { background: var(--color-dot-muted); border: 0; }
.hero-showcase-dot:hover::before,
.hero-showcase-dot:focus-visible::before { background: var(--color-primary-soft); }
.hero-showcase-dot.is-current::before { background: var(--color-primary); }

@media (max-width: 980px) {
  .site-nav { background: var(--color-surface); }
  .site-nav a { border-bottom-color: var(--color-border); }
  .process-list li { border: 1px solid var(--color-border); }
}

@media (max-width: 700px) {
  .hero::after {
    top: auto;
    right: 14px;
    bottom: 18px;
    left: 14px;
    width: auto;
    height: 49%;
    background: var(--color-background-alt);
    opacity: .72;
  }
  .pain-grid article,
  .feature-grid article,
  .situation-grid article,
  .compare-column,
  .plan-grid article,
  .faq-item { border-radius: var(--radius-medium); }
  .faq-item button { padding: 20px 18px; }
  .faq-question-copy { gap: 8px 10px; }
  .faq-badge { font-size: 11px; }
  .faq-answer p { padding: 0 58px 22px 18px; }
}
/* Data-driven core feature cards */
.features-section { overflow: clip; }
.feature-grid {
  align-items: stretch;
  gap: 18px;
  padding: 12px 5px 18px;
}
.feature-grid article.feature-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  height: 100%;
  padding: 24px;
  overflow: visible;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-small);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.feature-grid article.feature-card:hover {
  transform: translateY(-5px);
  border-color: var(--color-border-strong);
  box-shadow: var(--shadow-card);
}
.feature-card:focus-visible {
  outline: 3px solid var(--color-sage-strong);
  outline-offset: 4px;
}
.feature-card .feature-visual {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: 154px;
  margin-bottom: 22px;
  padding: 18px;
  overflow: hidden;
  background: var(--color-surface-soft);
  border: 1px solid rgba(201, 185, 167, .72);
  border-radius: var(--radius-small);
}
.feature-card .feature-mark {
  width: 42px;
  height: 30px;
  margin: 0 0 16px;
  background: var(--color-sage);
  color: var(--color-sage-text);
  border: 1px solid rgba(130, 146, 125, .25);
  border-radius: var(--radius-pill);
  font-size: 13px;
  letter-spacing: 0;
}
.feature-card h3 {
  margin-bottom: 14px;
  color: var(--color-text);
  font-size: 21px;
  line-height: 1.38;
}
.feature-card > p {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: 15.5px;
  line-height: 1.78;
}
.feature-icon {
  position: relative;
  width: 76px;
  height: 76px;
  flex: 0 0 76px;
  color: var(--color-primary-hover);
  background: var(--color-primary-soft);
  border: 1px solid rgba(183, 139, 95, .35);
  border-radius: 50%;
}
.feature-icon-shape,
.feature-icon-detail {
  position: absolute;
  display: block;
}
.feature-icon-knowledge .feature-icon-shape {
  top: 17px;
  left: 16px;
  width: 34px;
  height: 34px;
  border: 3px solid currentColor;
  border-radius: 50%;
}
.feature-icon-knowledge .feature-icon-shape::before,
.feature-icon-knowledge .feature-icon-shape::after {
  position: absolute;
  width: 7px;
  height: 7px;
  content: "";
  background: var(--color-sage-strong);
  border-radius: 50%;
}
.feature-icon-knowledge .feature-icon-shape::before { top: 5px; left: 6px; }
.feature-icon-knowledge .feature-icon-shape::after { right: 6px; bottom: 5px; }
.feature-icon-knowledge .feature-icon-detail {
  right: 14px;
  bottom: 17px;
  width: 20px;
  height: 4px;
  background: currentColor;
  border-radius: var(--radius-pill);
  transform: rotate(46deg);
}
.feature-icon-mistakes .feature-icon-shape {
  top: 14px;
  left: 19px;
  width: 39px;
  height: 48px;
  background: var(--color-surface);
  border: 3px solid currentColor;
  border-radius: 7px;
  box-shadow: -7px 0 0 -4px var(--color-sage-strong);
}
.feature-icon-mistakes .feature-icon-shape::before,
.feature-icon-mistakes .feature-icon-shape::after {
  position: absolute;
  left: 8px;
  width: 20px;
  height: 2px;
  content: "";
  background: var(--color-primary);
  border-radius: var(--radius-pill);
}
.feature-icon-mistakes .feature-icon-shape::before { top: 13px; box-shadow: 0 9px 0 var(--color-primary); }
.feature-icon-mistakes .feature-icon-shape::after { top: 31px; width: 13px; }
.feature-icon-mistakes .feature-icon-detail {
  right: 12px;
  bottom: 13px;
  width: 21px;
  height: 11px;
  border-bottom: 4px solid var(--color-sage-strong);
  border-left: 4px solid var(--color-sage-strong);
  transform: rotate(-45deg);
}
.feature-icon-always-online .feature-icon-shape {
  inset: 14px;
  border: 3px solid currentColor;
  border-radius: 50%;
}
.feature-icon-always-online .feature-icon-shape::before,
.feature-icon-always-online .feature-icon-shape::after {
  position: absolute;
  top: 21px;
  left: 21px;
  content: "";
  background: currentColor;
  border-radius: var(--radius-pill);
  transform-origin: left center;
}
.feature-icon-always-online .feature-icon-shape::before { width: 16px; height: 3px; transform: rotate(18deg); }
.feature-icon-always-online .feature-icon-shape::after { width: 3px; height: 15px; transform: translateY(-13px); }
.feature-icon-always-online .feature-icon-detail {
  right: 9px;
  bottom: 9px;
  width: 19px;
  height: 19px;
  background: var(--color-sage-strong);
  border: 4px solid var(--color-primary-soft);
  border-radius: 50%;
}
.feature-icon-follow-up {
  width: 54px;
  height: 54px;
  flex-basis: 54px;
  background: rgba(255, 253, 249, .88);
}
.feature-icon-follow-up .feature-icon-shape,
.feature-icon-follow-up .feature-icon-detail {
  width: 30px;
  height: 20px;
  border: 2px solid currentColor;
  border-radius: 8px;
}
.feature-icon-follow-up .feature-icon-shape { top: 10px; left: 8px; }
.feature-icon-follow-up .feature-icon-detail { right: 7px; bottom: 9px; border-color: var(--color-sage-strong); }
.feature-icon-follow-up .feature-icon-shape::after,
.feature-icon-follow-up .feature-icon-detail::after {
  position: absolute;
  bottom: -6px;
  width: 8px;
  height: 8px;
  content: "";
  background: inherit;
  border-bottom: 2px solid;
  border-left: 2px solid;
  transform: rotate(-45deg);
}
.feature-icon-follow-up .feature-icon-shape::after { left: 5px; }
.feature-icon-follow-up .feature-icon-detail::after { right: 5px; }
.feature-card-featured {
  z-index: 2;
  background: linear-gradient(145deg, #FFF9EC 0%, #F5E7CA 55%, #E4EBE1 100%) !important;
  border-color: rgba(183, 139, 95, .72) !important;
  box-shadow: 0 18px 48px rgba(120, 88, 54, .16) !important;
}
.feature-card-featured:hover,
.feature-card-featured:focus-visible {
  border-color: var(--color-primary) !important;
  box-shadow: 0 23px 58px rgba(120, 88, 54, .22) !important;
}
.feature-badge {
  position: absolute;
  top: 17px;
  right: 17px;
  z-index: 3;
  padding: 6px 11px;
  color: var(--color-primary-hover);
  background: rgba(255, 253, 249, .92);
  border: 1px solid rgba(183, 139, 95, .48);
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}
.feature-card-featured .feature-visual {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  min-height: 154px;
  padding: 39px 12px 12px;
  background: rgba(255, 253, 249, .62);
  border-color: rgba(183, 139, 95, .36);
}
.feature-conversation {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.conversation-bubble {
  max-width: 94%;
  margin: 0 !important;
  padding: 6px 8px;
  color: var(--color-text) !important;
  font-size: 10.5px !important;
  font-weight: 650;
  line-height: 1.42 !important;
  opacity: 0;
  border: 1px solid rgba(201, 185, 167, .72);
  border-radius: 8px 8px 8px 3px;
  transform: translateY(7px);
  animation: feature-bubble-cycle 5.2s ease-in-out infinite both;
}
.conversation-student {
  align-self: flex-end;
  background: var(--color-primary-soft);
  border-color: rgba(183, 139, 95, .35);
  border-radius: 8px 8px 3px 8px;
}
.conversation-assistant {
  align-self: flex-start;
  background: var(--color-sage);
  border-color: rgba(130, 146, 125, .28);
}
.conversation-step-one { animation-delay: 0s; }
.conversation-step-two { animation-delay: .55s; }
.conversation-step-three { animation-delay: 1.1s; }
.conversation-typing {
  display: flex;
  align-self: flex-start;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 38px;
  height: 22px;
  opacity: 0;
  background: rgba(255, 253, 249, .92);
  border: 1px solid rgba(130, 146, 125, .3);
  border-radius: 8px;
  transform: translateY(7px);
  animation: feature-bubble-cycle 5.2s 1.65s ease-in-out infinite both;
}
.conversation-typing i {
  width: 4px;
  height: 4px;
  background: var(--color-sage-text);
  border-radius: 50%;
  animation: feature-typing-dot 1.1s ease-in-out infinite;
}
.conversation-typing i:nth-child(2) { animation-delay: .14s; }
.conversation-typing i:nth-child(3) { animation-delay: .28s; }
.feature-card-featured:hover .conversation-bubble,
.feature-card-featured:focus-visible .conversation-bubble,
.feature-card-featured:hover .conversation-typing,
.feature-card-featured:focus-visible .conversation-typing { animation-duration: 4.2s; }
.feature-card-featured:hover .conversation-typing i,
.feature-card-featured:focus-visible .conversation-typing i { animation-duration: .85s; }
@keyframes feature-bubble-cycle {
  0%, 8% { opacity: 0; transform: translateY(7px); }
  19%, 82% { opacity: 1; transform: translateY(0); }
  94%, 100% { opacity: 0; transform: translateY(-2px); }
}
@keyframes feature-typing-dot {
  0%, 55%, 100% { transform: translateY(0); opacity: .48; }
  28% { transform: translateY(-3px); opacity: 1; }
}
@media (min-width: 981px) {
  .feature-card-featured { transform: translateY(-8px) scale(1.025); }
  .feature-grid article.feature-card-featured:hover,
  .feature-grid article.feature-card-featured:focus-visible { transform: translateY(-10px) scale(1.03); }
}
@media (max-width: 1100px) {
  .feature-grid article.feature-card { padding: 22px; }
  .feature-card .feature-visual { min-height: 146px; padding: 16px; }
  .feature-card-featured .feature-visual { padding: 37px 10px 10px; }
  .feature-card h3 { font-size: 20px; }
}
@media (max-width: 700px) {
  .feature-grid { gap: 16px; padding: 0; }
  .feature-grid article.feature-card,
  .feature-grid article.feature-card:hover,
  .feature-grid article.feature-card-featured,
  .feature-grid article.feature-card-featured:hover,
  .feature-grid article.feature-card-featured:focus-visible {
    transform: none;
  }
  .feature-card .feature-visual { min-height: 138px; }
  .feature-card-featured .feature-visual { min-height: 154px; }
  .feature-card > p { font-size: 15.5px; line-height: 1.75; }
}
@media (prefers-reduced-motion: reduce) {
  .feature-card,
  .conversation-bubble,
  .conversation-typing,
  .conversation-typing i {
    animation: none !important;
    transition: none !important;
  }
  .conversation-bubble,
  .conversation-typing { opacity: 1; transform: none; }
}
/* Controlled title lines */
.hero-title-line,
.hero-highlight,
.section-title__line,
.section-quote__line {
  display: block;
  letter-spacing: 0;
}
.hero-highlight {
  width: max-content;
  max-width: 100%;
  font-size: clamp(62px, 4.125rem, 66px);
  white-space: nowrap;
}
.pain-section .split-heading {
  grid-template-columns: minmax(140px, .55fr) minmax(0, 3.45fr);
  column-gap: 28px;
}
.pain-section #pain-title {
  max-width: none;
  font-size: clamp(46px, 3.125rem, 50px);
}
.features-section #features-title,
.process-section #process-title {
  font-size: clamp(52px, 3.5rem, 56px);
}
.section-quote {
  line-height: 1.62;
}
@media (min-width: 701px) {
  .section-title__line,
  .section-quote__line { white-space: nowrap; }
}
@media (min-width: 701px) and (max-width: 1100px) {
  .pain-section .split-heading { display: block; }
  .pain-section .split-heading .eyebrow { padding-top: 0; }
}
@media (min-width: 701px) and (max-width: 980px) {
  .hero-highlight { font-size: clamp(46px, 3.125rem, 50px); }
  .pain-section #pain-title { font-size: clamp(36px, 2.375rem, 40px); }
  .features-section #features-title,
  .process-section #process-title { font-size: clamp(44px, 3rem, 50px); }
}
@media (max-width: 700px) {
  .hero-highlight { font-size: clamp(29px, 2rem, 38px); }
  .pain-section #pain-title,
  .features-section #features-title,
  .process-section #process-title { font-size: clamp(31px, 2rem, 34px); }
  .section-title__line,
  .section-quote__line { white-space: normal; }
}
/* Large vertical process showcase */
.process-section {
  overflow: clip;
  background: var(--color-background-alt);
}
.process-section .section-heading { margin-bottom: 64px; }
.process-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  width: 100%;
  max-width: var(--container-width);
  margin: 0 auto;
  padding: 0;
  border: 0;
  list-style: none;
}
.process-list .process-step {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(330px, .84fr);
  align-items: center;
  gap: 44px;
  min-width: 0;
  min-height: 0;
  padding: 24px;
  overflow: hidden;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
}
.process-list .process-step--reverse {
  grid-template-columns: minmax(330px, .84fr) minmax(0, 1.16fr);
}
.process-step--reverse .process-step__media { order: 2; }
.process-step--reverse .process-step__body { order: 1; }
.process-step__media {
  position: relative;
  width: 100%;
  min-width: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--color-surface-soft);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-small);
  box-shadow: var(--shadow-small);
}
.process-media,
.process-media-poster,
.process-step__media--image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--color-surface-soft);
}
.process-media-poster { display: none; }
.process-step__media.is-media-fallback .process-media { display: none; }
.process-step__media.is-media-fallback .process-media-poster { display: block; }
.process-step__body {
  position: relative;
  min-width: 0;
  padding: 34px 34px 34px 10px;
}
.process-step--reverse .process-step__body { padding: 34px 10px 34px 34px; }
.process-step__number {
  display: block;
  margin-bottom: 24px;
  color: var(--color-primary);
  font-family: Georgia, serif;
  font-size: clamp(48px, 4rem, 64px);
  font-weight: 700;
  line-height: .9;
  letter-spacing: 0;
}
.process-list .process-step h3 {
  margin-bottom: 18px;
  color: var(--color-text);
  font-size: clamp(32px, 2.25rem, 40px);
  line-height: 1.28;
}
.process-list .process-step p {
  margin: 0;
  color: var(--color-text-secondary);
  font-size: clamp(18px, 1.25rem, 22px);
  line-height: 1.85;
}
.process-step__badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 24px;
  padding: 6px 12px;
  color: var(--color-primary-hover);
  background: rgba(255, 253, 249, .88);
  border: 1px solid rgba(183, 139, 95, .46);
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}
.process-list .process-step--featured {
  background: linear-gradient(145deg, #FFF9EC 0%, #F4E8CF 54%, #E5ECE2 100%);
  border-color: rgba(183, 139, 95, .62);
  box-shadow: 0 24px 64px rgba(120, 88, 54, .17);
}
.process-step--featured .process-step__media {
  border-color: rgba(183, 139, 95, .5);
  box-shadow: 0 16px 36px rgba(120, 88, 54, .14);
}
.process-section .learning-note {
  max-width: 940px;
  margin: 56px auto 0;
  padding: 24px 28px;
}
@media (max-width: 1100px) {
  .process-list .process-step,
  .process-list .process-step--reverse {
    grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
    gap: 30px;
    padding: 20px;
  }
  .process-step__body,
  .process-step--reverse .process-step__body { padding: 26px 18px; }
  .process-step__number { font-size: clamp(44px, 3rem, 52px); }
  .process-list .process-step h3 { font-size: clamp(30px, 2rem, 36px); }
  .process-list .process-step p { font-size: clamp(18px, 1.125rem, 20px); }
}
@media (max-width: 900px) {
  .process-section .section-heading { margin-bottom: 48px; }
  .process-list { gap: 34px; }
  .process-list .process-step,
  .process-list .process-step--reverse {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .process-step--reverse .process-step__media,
  .process-step--reverse .process-step__body { order: initial; }
  .process-step__body,
  .process-step--reverse .process-step__body { padding: 30px 18px 18px; }
}
@media (max-width: 700px) {
  .process-list { gap: 24px; }
  .process-list .process-step,
  .process-list .process-step--reverse {
    padding: 14px;
    border-radius: var(--radius-medium);
  }
  .process-step__media { border-radius: 10px; }
  .process-step__body,
  .process-step--reverse .process-step__body { padding: 26px 8px 12px; }
  .process-step__number { margin-bottom: 18px; font-size: clamp(40px, 2.625rem, 46px); }
  .process-list .process-step h3 { margin-bottom: 14px; font-size: clamp(28px, 1.875rem, 32px); }
  .process-list .process-step p { font-size: clamp(17px, 1.125rem, 19px); line-height: 1.78; }
  .process-step__badge { margin-bottom: 18px; }
  .process-section .learning-note { margin-top: 34px; padding: 22px 20px; }
}

/* Audience roles, comparison stage, and annual plans */
.audiences-section{overflow:clip;background:var(--color-surface)}
.audiences-section .section-heading,.compare-section .section-heading,.plans-section .section-heading{max-width:920px;margin-right:auto;margin-bottom:54px;margin-left:auto}
.audience-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;max-width:var(--container-width);margin:0 auto 28px}
.audience-tab{min-width:0;padding:14px;color:var(--color-text);text-align:left;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-medium);box-shadow:var(--shadow-small);cursor:pointer;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease,background .22s ease}
.audience-tab:hover{transform:translateY(-4px);border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}
.audience-tab.is-selected{background:linear-gradient(145deg,var(--color-surface) 0%,#f4ead8 100%);border-color:var(--color-primary);box-shadow:var(--shadow-card)}
.audience-tab:focus-visible,.compare-panel:focus-visible{outline:3px solid var(--color-sage-strong);outline-offset:4px}
.audience-tab__image{position:relative;display:block;aspect-ratio:16/10;margin-bottom:18px;overflow:hidden;background:var(--color-surface-muted);border-radius:var(--radius-small)}
.audience-tab__portrait,.audience-panel__image{display:block;width:100%;height:100%;object-fit:cover}
.audience-tab__role{display:block;margin-bottom:7px;color:var(--color-primary-hover);font-size:14px;font-weight:900}
.audience-tab__title{display:block;font-size:18px;font-weight:800;line-height:1.48}
.audience-panels{max-width:var(--container-width);margin:0 auto}
.audience-panel{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);align-items:stretch;gap:44px;padding:42px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-large);box-shadow:var(--shadow-card);animation:audience-panel-in .28s ease both}
.audience-panel[hidden]{display:none}.audience-panel--highlighted{border-color:rgba(183,139,95,.62)}
.audience-panel__copy{align-self:center;min-width:0}.audience-panel__role{margin:0 0 12px;color:var(--color-sage-strong);font-size:14px;font-weight:900}
.audience-panel h3{margin:0 0 18px;font-size:clamp(28px,2.35rem,40px);line-height:1.3}.audience-panel__copy>p:not(.audience-panel__role){margin:0;color:var(--color-text-secondary);font-size:17px;line-height:1.82}
.audience-panel__lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}.audience-panel__lists section{padding:22px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-medium)}
.audience-panel__lists h4{margin:0 0 14px;font-size:17px}.audience-panel__lists ul{margin:0;padding:0;list-style:none}.audience-panel__lists li{position:relative;margin-top:10px;padding-left:20px;color:var(--color-text-secondary);line-height:1.6}.audience-panel__lists li::before{content:"";position:absolute;top:.68em;left:0;width:8px;height:8px;background:var(--color-primary);border-radius:50%}
.audience-panel__visual{position:relative;min-height:360px;margin:0;overflow:hidden;background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius-medium)}
.audience-image-fallback{position:absolute;inset:0;display:none;place-items:center;color:var(--color-primary-hover);background:linear-gradient(145deg,var(--color-surface-soft),var(--color-sage));font-size:24px;font-weight:900}.is-image-fallback>img{display:none}.is-image-fallback>.audience-image-fallback{display:grid}
@keyframes audience-panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.compare-section{overflow:clip}.compare-stage{position:relative;display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;gap:30px;max-width:1120px;margin:0 auto;padding:24px;background:rgba(255,253,249,.52);border:1px solid var(--color-border);border-radius:var(--radius-large)}
.compare-panel{position:relative;min-width:0;padding:38px;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-medium);box-shadow:var(--shadow-small);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.compare-panel:hover{transform:translateY(-5px);box-shadow:var(--shadow-card)}.compare-panel--traditional{color:var(--color-text-secondary)}
.compare-panel--product{padding-top:48px;color:var(--color-text);background:radial-gradient(circle at 84% 6%,rgba(234,216,184,.52),transparent 34%),var(--color-surface);border:2px solid var(--color-primary);box-shadow:var(--shadow-floating)}.compare-panel--product:hover{border-color:var(--color-primary-hover);box-shadow:0 28px 70px rgba(120,88,54,.2)}
.compare-panel__badge{position:absolute;top:18px;right:18px;padding:7px 12px;color:var(--color-primary-hover);background:var(--color-accent-soft);border:1px solid var(--color-primary-soft);border-radius:var(--radius-pill);font-size:12px;font-weight:900}.compare-panel__label{margin:0 0 9px;color:var(--color-text-muted);font-size:14px;font-weight:800}.compare-panel h3{margin:0 0 13px;font-size:clamp(28px,2.15rem,36px)}.compare-panel__summary{min-height:3.4em;margin:0;color:var(--color-text-secondary);line-height:1.7}
.compare-panel ul{margin:26px 0;padding:0;list-style:none}.compare-panel li{display:flex;gap:13px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--color-border)}.compare-panel li>span{flex:0 0 20px;width:20px;height:20px;margin-top:2px;border-radius:50%}.compare-panel--traditional li>span{position:relative;background:#e8e1d8}.compare-panel--traditional li>span::after{content:"";position:absolute;top:9px;left:5px;width:10px;height:2px;background:#9b9085}.compare-panel--product li>span{position:relative;background:var(--color-sage)}.compare-panel--product li>span::after{content:"";position:absolute;top:5px;left:5px;width:9px;height:5px;border-bottom:2px solid var(--color-sage-text);border-left:2px solid var(--color-sage-text);transform:rotate(-45deg)}
.compare-panel__conclusion{margin:0;padding:16px 18px;color:var(--color-text);background:rgba(234,216,184,.34);border-radius:var(--radius-small);font-weight:800;line-height:1.55}.compare-vs{position:absolute;z-index:3;top:50%;left:50%;display:grid;place-items:center;width:70px;height:70px;color:var(--color-light);background:var(--color-dark);border:5px solid var(--color-background);border-radius:50%;box-shadow:var(--shadow-card);font-size:20px;font-weight:900;transform:translate(-50%,-50%)}
.plans-section .plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1060px;margin:0 auto}.plan-grid article.plan-card{min-width:0;padding:34px;border-radius:var(--radius-large)}.plan-grid article.plan-card.featured-plan{transform:none}.plan-card__heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.plan-code{display:grid;place-items:center;min-width:54px;height:40px;padding:0 12px;color:var(--color-light);background:var(--color-dark);border-radius:var(--radius-pill);font-size:18px;font-weight:900}.plan-card .plan-label{margin:0;padding:7px 11px;background:var(--color-accent-soft);border-radius:var(--radius-pill);font-size:12px}.plan-card h3{margin-bottom:16px;font-size:clamp(25px,2rem,31px)}
.plan-card .plan-price{display:flex;align-items:baseline;gap:10px;margin:0 0 20px;white-space:nowrap}.plan-card .plan-price span{font-size:clamp(42px,3.5rem,58px);line-height:1}.plan-card .plan-price small{font-size:15px;font-weight:800}.plan-bonus{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;padding:13px 16px;color:var(--color-sage-text);background:var(--color-sage);border:1px solid rgba(130,146,125,.28);border-radius:var(--radius-small)}.plan-bonus span{font-size:13px;font-weight:800}.plan-bonus strong{font-size:18px}.plan-description{margin:0;color:var(--color-text-secondary);line-height:1.72}
.plan-card ul{margin:24px 0 30px;padding:0;list-style:none}.plan-card li{position:relative;margin:12px 0;padding-left:25px}.plan-card li::before{content:"";position:absolute;top:6px;left:1px;width:12px;height:7px;border-bottom:2px solid var(--color-sage-strong);border-left:2px solid var(--color-sage-strong);transform:rotate(-45deg)}.plan-card .button{margin-top:auto}.button-disabled{color:var(--color-text-muted);background:#e7dfd4;border-color:#d5c9ba;box-shadow:none;cursor:not-allowed}
.line-consultation{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:52px;max-width:1060px;margin:56px auto 0;padding:42px 52px;background:var(--color-surface);border:1px solid rgba(183,139,95,.46);border-radius:var(--radius-large);box-shadow:var(--shadow-card)}.line-consultation__copy h3{margin:8px 0 16px;font-size:clamp(28px,2.4rem,40px);line-height:1.3}.line-consultation__copy>p:not(.eyebrow){max-width:660px;margin:0 0 24px;color:var(--color-text-secondary);font-size:17px;line-height:1.75}.line-button{background:#6f8d72;border-color:#6f8d72}.line-button:hover{background:#58745c;border-color:#58745c}
.line-consultation__qr{display:grid;justify-items:center;gap:10px;color:var(--color-text-secondary);font-size:13px;font-weight:800;text-decoration:none}.line-consultation__qr img{display:block;width:190px;height:190px;padding:8px;background:#fffdf9;border:1px solid var(--color-border);border-radius:var(--radius-small);image-rendering:pixelated}
@media(max-width:900px){.audience-panel{grid-template-columns:1fr;gap:28px;padding:30px}.audience-panel__visual{min-height:0;aspect-ratio:16/10}.compare-stage{grid-template-columns:1fr;gap:0;max-width:720px}.compare-vs{position:relative;top:auto;left:auto;margin:-6px auto;transform:none}.compare-panel--product{margin-top:0}.line-consultation{grid-template-columns:minmax(0,1fr) 190px;gap:30px;padding:36px}.line-consultation__qr img{width:170px;height:170px}}
@media(max-width:700px){.audiences-section .section-heading,.compare-section .section-heading,.plans-section .section-heading{margin-bottom:38px}.audience-tabs{grid-template-columns:1fr;gap:12px}.audience-tab{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:16px;align-items:center}.audience-tab__image{grid-row:1/span 2;margin:0}.audience-tab__role{align-self:end;margin:0}.audience-tab__title{align-self:start;font-size:16px}.audience-panel{padding:22px 18px;border-radius:var(--radius-medium)}.audience-panel__lists{grid-template-columns:1fr}.audience-panel h3{font-size:clamp(27px,1.875rem,31px)}.compare-stage{padding:12px;border-radius:var(--radius-medium)}.compare-panel{padding:28px 22px}.compare-panel--product{padding-top:54px}.compare-panel__summary{min-height:0}.plans-section .plan-grid{grid-template-columns:1fr}.plan-grid article.plan-card{padding:28px 22px;border-radius:var(--radius-medium)}.plan-card .plan-price span{font-size:clamp(42px,3rem,50px)}.line-consultation{grid-template-columns:1fr;gap:28px;padding:30px 22px;text-align:center}.line-consultation__copy>p:not(.eyebrow){margin-right:auto;margin-left:auto}.line-consultation__qr img{width:180px;height:180px}}
@media(prefers-reduced-motion:reduce){.audience-panel{animation:none}.audience-tab,.compare-panel{transition:none}}
/* Process media fallback and learning conclusion card */
.process-step__media.is-reduced-motion .process-media { display: none; }
.process-step__media.is-reduced-motion .process-media-poster { display: block; }
.process-section #process-title{max-width:1080px}
.learning-highlight{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:38px;max-width:1040px;margin:72px auto 0;padding:46px 54px;overflow:hidden;background:radial-gradient(circle at 8% 18%,rgba(219,228,215,.72),transparent 29%),var(--color-surface);border:1px solid rgba(183,139,95,.5);border-left:8px solid var(--color-primary);border-radius:26px;box-shadow:0 24px 60px rgba(120,88,54,.16)}
.learning-highlight::after{content:"";position:absolute;right:-54px;bottom:-66px;width:180px;height:180px;background:rgba(219,228,215,.52);border-radius:50%;pointer-events:none}
.learning-highlight__icon{position:relative;width:126px;height:126px;border:1px solid rgba(130,146,125,.36);border-radius:50%;background:rgba(255,253,249,.78);box-shadow:var(--shadow-small)}
.learning-highlight__icon span,.learning-highlight__icon i,.learning-highlight__icon b{position:absolute;width:28px;height:28px;background:var(--color-sage);border:5px solid var(--color-surface);border-radius:50%;box-shadow:0 0 0 2px var(--color-sage-strong)}
.learning-highlight__icon span{top:17px;left:48px}.learning-highlight__icon i{right:17px;bottom:23px}.learning-highlight__icon b{bottom:23px;left:17px}
.learning-highlight__icon::before{content:"";position:absolute;inset:31px;border:3px solid var(--color-primary);border-left-color:transparent;border-radius:50%;transform:rotate(18deg)}
.learning-highlight__icon::after{content:"";position:absolute;top:23px;right:29px;width:12px;height:12px;border-top:3px solid var(--color-primary);border-right:3px solid var(--color-primary);transform:rotate(24deg)}
.learning-highlight__copy{position:relative;z-index:1;min-width:0}.learning-highlight__eyebrow{margin:0 0 10px;color:var(--color-primary-hover);font-size:14px;font-weight:900}.learning-highlight h3{max-width:800px;margin:0 0 15px;color:var(--color-text);font-size:clamp(28px,2.4vw,36px);line-height:1.32}.learning-highlight__text{max-width:790px;margin:0;color:var(--color-text-secondary);font-size:17px;line-height:1.78}
.learning-highlight__flow{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(12px,1.5vw,20px);margin-top:clamp(24px,2.5vw,34px)}.learning-highlight__node{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 24px;color:var(--color-sage-text);background:var(--color-sage);border:1px solid rgba(130,146,125,.3);border-radius:var(--radius-pill);font-size:clamp(1.05rem,1.25vw,1.25rem);font-weight:850;line-height:1.2;white-space:nowrap}.learning-highlight__arrow{display:inline-grid;place-items:center;min-width:26px;color:var(--color-primary);font-size:clamp(1.35rem,1.7vw,1.75rem);font-weight:900;line-height:1}
@media(min-width:701px){.process-section #process-title .section-title__line{white-space:nowrap}}
@media(max-width:900px){.learning-highlight{grid-template-columns:110px minmax(0,1fr);gap:26px;margin-top:56px;padding:38px 34px}.learning-highlight__icon{width:100px;height:100px}.learning-highlight__icon span{top:10px;left:36px}.learning-highlight__icon i{right:10px;bottom:16px}.learning-highlight__icon b{bottom:16px;left:10px}.learning-highlight__icon::before{inset:24px}.learning-highlight__icon::after{top:17px;right:21px}}
@media(max-width:700px){.learning-highlight{grid-template-columns:1fr;gap:22px;margin-top:42px;padding:30px 22px 32px;border-left-width:5px;border-radius:22px}.learning-highlight__icon{width:80px;height:80px}.learning-highlight__icon span,.learning-highlight__icon i,.learning-highlight__icon b{width:22px;height:22px;border-width:4px}.learning-highlight__icon span{top:7px;left:29px}.learning-highlight__icon i{right:7px;bottom:12px}.learning-highlight__icon b{bottom:12px;left:7px}.learning-highlight__icon::before{inset:19px;border-width:2px}.learning-highlight__icon::after{top:13px;right:17px;width:9px;height:9px;border-width:2px}.learning-highlight h3{font-size:clamp(24px,1.65rem,28px)}.learning-highlight__text{font-size:16px}}
@media(prefers-reduced-motion:reduce){.learning-highlight,.learning-highlight *{animation:none!important;transition:none!important}}

/* Pain-point scenario imagery */
@media(max-width:520px){.learning-highlight__flow{flex-direction:column;align-items:stretch;gap:10px}.learning-highlight__node{width:100%;min-height:50px;padding:12px 18px;font-size:1.05rem}.learning-highlight__arrow{min-height:20px;transform:rotate(90deg)}}
.pain-grid .pain-card{display:flex;flex-direction:column;min-width:0;height:100%;padding:0;overflow:hidden;border-top:1px solid var(--color-border);border-radius:var(--radius-medium)}
.pain-card__media{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;background:var(--color-surface-muted)}
.pain-card__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity .2s ease}
.pain-card__body{display:flex;flex:1;flex-direction:column;padding:25px 26px 28px}
.pain-card__body>span{color:var(--color-primary);font-weight:900}
.pain-card__body h3{margin:20px 0 13px;font-size:clamp(23px,1.6vw,27px);line-height:1.38}
.pain-card__body p{margin:0;color:var(--color-text-secondary);font-size:16px;line-height:1.8}
.pain-grid .pain-card:hover{transform:translateY(-4px);border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}
@media(max-width:700px){.pain-grid .pain-card{border-radius:var(--radius-medium)}.pain-card__body{padding:22px 20px 24px}.pain-card__body h3{margin-top:17px;font-size:clamp(22px,1.55rem,25px)}.pain-card__body p{font-size:16px;line-height:1.78}}

/* Mobile layout guardrails: keep the page shell and its primary sections at viewport width. */
*,
*::before,
*::after { box-sizing: border-box; }

html,
body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
}

#main-content,
.site-header,
.site-footer {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 900px) and (min-width: 768px) {
  .pain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .site-header {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    gap: 12px;
    padding-inline: 20px;
  }

  .brand { min-width: 0; }
  .menu-toggle { flex: 0 0 44px; margin-left: auto; }

  .site-nav {
    display: none;
    position: fixed;
    inset: 76px 0 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: calc(100svh - 76px);
    padding: 24px 20px;
    transform: none;
    visibility: visible;
  }

  .site-nav.is-open { display: flex; }
  .site-nav a { width: 100%; max-width: 100%; }

  .hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    padding: 48px 20px 44px;
  }

  .hero-copy,
  .hero-showcase {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .hero-copy { grid-column: 1; }

  .hero-showcase {
    position: relative;
    inset: auto;
    grid-column: 1;
    width: min(100%, 420px);
    margin: 32px auto 0;
    transform: none;
  }

  .hero-showcase-card,
  .hero-showcase-video { min-width: 0; max-width: 100%; }

  .hero-showcase-video { width: min(100%, 228px); margin-inline: auto; }

  .hero-showcase-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 320px);
    max-width: 100%;
    margin-inline: auto;
  }

  .hero-showcase-dots { max-width: 100%; flex-wrap: wrap; justify-content: center; }

  .hero .button-row { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
  .hero .button-row .button { width: 100%; }
  .hero-note { align-items: flex-start; max-width: 100%; }
  .hero-highlight { max-width: 100%; white-space: normal; font-size: clamp(28px, 8vw, 36px); }

  .pain-section,
  .pain-grid,
  .pain-grid .pain-card,
  .pain-card__media { width: 100%; max-width: 100%; min-width: 0; }

  .pain-grid { grid-template-columns: minmax(0, 1fr); }
  .pain-card__image { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
}

@media (max-width: 980px) {
  .site-nav {
    display: none;
    position: fixed;
    inset: 76px 0 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    height: calc(100svh - 76px);
    transform: none;
    visibility: visible;
  }

  .site-nav.is-open { display: flex; }
}

/* Content-managed visual artwork slots and the revised pricing layout. */
.hero,
.audiences-section,
.compare-section,
.plans-section,
.faq-section {
  position: relative;
  isolation: isolate;
}

.audiences-section,
.compare-section,
.plans-section,
.faq-section { overflow: hidden; }

.audiences-section > :not(.section-art-slot),
.compare-section > :not(.section-art-slot),
.plans-section > :not(.section-art-slot),
.faq-section > :not(.section-art-slot) {
  position: relative;
  z-index: 1;
}

.section-art-slot {
  position: absolute;
  z-index: 0;
  display: block;
  pointer-events: none;
}

.section-art-slot img,
.section-art-slot__placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.section-art-slot__placeholder {
  border: 1px solid rgba(183, 139, 95, .16);
  background:
    radial-gradient(circle at 25% 30%, rgba(219, 228, 215, .76) 0 8%, transparent 8.5%),
    radial-gradient(circle at 73% 68%, rgba(234, 216, 184, .62) 0 13%, transparent 13.5%),
    linear-gradient(135deg, rgba(255, 253, 249, .16), rgba(255, 253, 249, .72));
}

.section-art-slot--background { inset: 0; opacity: .42; }
.section-art-slot--accent { width: 150px; height: 180px; opacity: .72; }
.hero > .section-art-slot--hero { top: 10%; right: 6%; bottom: 7%; left: 47%; border-radius: 42px; opacity: .28; }
.hero > .section-art-slot--hero-accent { top: 16%; right: max(14px, calc((100% - var(--content)) / 2 - 52px)); border-radius: 26px; transform: rotate(8deg); }
.audiences-section > .section-art-slot--roles { top: 12%; right: 4%; width: 30%; height: 74%; border-radius: 42px; opacity: .24; }
.audiences-section > .section-art-slot--roles-accent { right: 5%; bottom: 7%; border-radius: 50%; transform: rotate(-12deg); }
.plans-section > .section-art-slot--pricing { top: 7%; right: 4%; width: 38%; height: 68%; border-radius: 48px; opacity: .24; }
.plans-section > .section-art-slot--pricing-accent { right: 6%; bottom: 6%; border-radius: 28px; transform: rotate(10deg); }
.faq-section > .section-art-slot--faq { top: 8%; left: 4%; width: 28%; height: 78%; border-radius: 42px; opacity: .22; }
.faq-section > .section-art-slot--faq-accent { right: 5%; bottom: 8%; border-radius: 50%; transform: rotate(14deg); }

.compare-section { padding-top: 0; }

.pricing-plan-layout {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 24px;
  max-width: 1120px;
  margin: 0 auto;
  width: 100%;
  min-width: 0;
}

.pricing-intro-row { width: 100%; max-width: 980px; min-width: 0; margin: 0 auto; }

.pricing-intro-row .plan-card {
  display: grid;
  grid-template-columns: minmax(180px, .9fr) minmax(138px, .5fr) minmax(240px, 1.25fr) minmax(146px, .48fr);
  align-items: center;
  gap: 26px;
  min-width: 0;
  padding: 28px 34px;
  background: linear-gradient(125deg, var(--color-surface) 0%, #f6eee0 100%);
  border: 1px solid rgba(183, 139, 95, .6);
  border-radius: var(--radius-large);
  box-shadow: var(--shadow-card);
}

.pricing-standard-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  width: 100%;
  min-width: 0;
}

.pricing-standard-grid .plan-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  padding: 32px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-large);
  box-shadow: var(--shadow-small);
}

.plan-card__identity { min-width: 0; }
.plan-card__identity .plan-label { display: inline-flex; width: fit-content; margin: 0 0 14px; }
.plan-card__identity h3 { margin: 0 0 13px; }
.plan-card .plan-price { margin-bottom: 18px; }
.plan-card .plan-bonus { margin: 0 0 20px; }
.plan-card__details { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
.plan-card__details .plan-description { margin: 0; }
.plan-card__details ul { flex: 1 1 auto; margin-top: 22px; margin-bottom: 28px; }
.plan-card > .button,
.plan-card > .button-disabled { width: 100%; margin-top: auto; text-align: center; }

.pricing-intro-row .plan-card__details ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 16px; margin: 13px 0 0; }
.pricing-intro-row .plan-card__details li { margin: 0; }
.pricing-intro-row .plan-card > .button,
.pricing-intro-row .plan-card > .button-disabled { width: auto; min-width: 146px; margin: 0; }

.pricing-standard-grid .featured-plan {
  border: 2px solid var(--color-primary);
  box-shadow: var(--shadow-floating);
}

@media (max-width: 1100px) {
  .pricing-intro-row .plan-card { grid-template-columns: minmax(0, 1fr) minmax(150px, .52fr); }
  .pricing-intro-row .plan-card__details { grid-column: 1 / -1; }
  .pricing-intro-row .plan-card > .button,
  .pricing-intro-row .plan-card > .button-disabled { justify-self: end; }
  .pricing-standard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pricing-standard-grid .plan-card:last-child { grid-column: 1 / -1; max-width: calc(50% - 11px); }
}

@media (max-width: 700px) {
  .section-art-slot--accent { width: 98px; height: 122px; opacity: .42; }
  .hero > .section-art-slot--hero { top: 48%; right: 14px; bottom: 5%; left: 14px; opacity: .2; }
  .hero > .section-art-slot--hero-accent { top: auto; right: 18px; bottom: 26px; }
  .audiences-section > .section-art-slot--roles,
  .plans-section > .section-art-slot--pricing,
  .faq-section > .section-art-slot--faq { width: 74%; opacity: .17; }
  .pricing-intro-row .plan-card,
  .pricing-standard-grid .plan-card { display: flex; flex-direction: column; padding: 28px 22px; }
  .pricing-intro-row .plan-card__details ul { display: block; margin-top: 22px; }
  .pricing-intro-row .plan-card__details li { margin: 12px 0; }
  .pricing-intro-row .plan-card > .button,
  .pricing-intro-row .plan-card > .button-disabled { width: 100%; margin-top: auto; }
  .pricing-standard-grid { grid-template-columns: minmax(0, 1fr); }
  .pricing-standard-grid .plan-card:last-child { grid-column: auto; max-width: none; }
  .compare-section { padding-top: 0; padding-bottom: 72px; }
}

/* FAQ and learning-pain title hierarchy; audience comparison belongs to the audience module. */
.pain-heading {
  max-width: 1180px;
  margin: 0 auto clamp(42px, 5vw, 72px);
}

.pain-points-title {
  position: relative;
  z-index: 0;
  margin: 0;
  color: var(--color-text);
  font-size: clamp(2.7rem, 6vw, 5.8rem) !important;
  font-weight: 900;
  line-height: .98;
  letter-spacing: -.045em;
}

.pain-points-title .section-title__line {
  position: relative;
  z-index: 0;
  width: fit-content;
}

.pain-points-title .section-title__line:last-child {
  margin-top: .08em;
  color: var(--color-primary-hover);
}

.pain-points-title .section-title__line:last-child::after {
  position: absolute;
  z-index: -1;
  right: -.08em;
  bottom: .02em;
  left: -.04em;
  height: .22em;
  content: "";
  background: var(--color-primary-soft);
  border-radius: 999px;
  opacity: .75;
  transform: rotate(-1.5deg);
}

.pain-points-title .section-title__line:first-child::after {
  position: absolute;
  top: .08em;
  right: -.44em;
  width: .26em;
  height: .26em;
  content: "";
  border: 2px solid var(--color-primary-soft);
  border-radius: 50%;
  opacity: .8;
}

.faq-section { overflow: clip; }
.faq-content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
}

.faq-heading {
  margin-bottom: clamp(34px, 4vw, 54px);
  text-align: center;
}

.section-title--faq {
  margin: 0;
  color: var(--color-text);
  font-size: clamp(2.2rem, 4.6vw, 4.2rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.03em;
}

.section-title--faq .section-title__line { margin-block: .04em; }
.faq-content .faq-list { width: 100%; max-width: none; margin: 0; }

.audiences-section { padding-bottom: clamp(72px, 9vw, 132px); }
.audience-comparison {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1120px;
  margin: clamp(48px, 7vw, 88px) auto 0;
}

.audience-comparison .compare-stage { margin: 0; }
.audiences-section > .section-art-slot--comparison {
  right: 7%;
  bottom: 4%;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  opacity: .22;
}

@media (hover: hover) and (pointer: fine) {
  .audience-tab:hover,
  .audience-tab.is-selected:hover {
    transform: translateY(-4px);
    border-color: var(--color-primary);
    box-shadow: var(--shadow-card);
  }
}

@media (max-width: 700px) {
  .pain-heading { margin-bottom: 34px; }
  .pain-points-title {
    font-size: clamp(2.6rem, 12vw, 4.15rem) !important;
    line-height: 1.03;
    letter-spacing: -.04em;
  }
  .pain-points-title .section-title__line { width: auto; max-width: 100%; }
  .pain-points-title .section-title__line:last-child::after { right: -.02em; left: -.02em; }
  .faq-heading { margin-bottom: 30px; text-align: left; }
  .section-title--faq { font-size: clamp(2.2rem, 10vw, 3.1rem); line-height: 1.12; }
  .audience-comparison { margin-top: 48px; }
  .audiences-section > .section-art-slot--comparison { width: 112px; height: 112px; opacity: .14; }
}

@media (prefers-reduced-motion: reduce) {
  .audience-panel,
  .audience-tab { animation: none; transition: none; }
}

/* Homepage hierarchy and stable audience transitions. */
.site-nav .nav-accent { position: relative; color: var(--color-primary-hover); font-weight: 900; }
.site-nav .nav-accent::after { position: absolute; right: 0; bottom: -7px; left: 0; height: 2px; content: ""; background: currentColor; border-radius: 999px; opacity: .7; transform: scaleX(.45); transform-origin: center; transition: transform .2s ease, opacity .2s ease; }
.site-nav .nav-accent:hover, .site-nav .nav-accent:focus-visible { color: var(--color-primary); }
.site-nav .nav-accent:hover::after, .site-nav .nav-accent:focus-visible::after { opacity: 1; transform: scaleX(1); }
.audience-section { position: relative; overflow: clip; }
.audience-background-art { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.audience-section__inner { position: relative; z-index: 1; }
.audience-section .center-heading .eyebrow, .audience-section .center-heading > p { display: none; }
.audience-section #audiences-title { max-width: 1100px; margin-inline: auto; color: var(--color-text); font-size: clamp(2.8rem, 5.5vw, 5.6rem); font-weight: 900; line-height: 1.07; letter-spacing: -.035em; }
.audience-panels { display: grid; width: 100%; }
.audience-panel { grid-area: 1 / 1; width: 100%; opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(12px) scale(.985); transition: opacity 260ms ease, transform 300ms cubic-bezier(.22, 1, .36, 1), visibility 0s linear 300ms; }
.audience-panel.is-active { visibility: visible; pointer-events: auto; opacity: 1; transform: translateY(0) scale(1); transition-delay: 0s; }
.audience-panel__image { opacity: 0; transform: translateX(10px) scale(.985); transition: opacity 260ms ease 45ms, transform 320ms cubic-bezier(.22, 1, .36, 1) 45ms; }
.audience-panel.is-active .audience-panel__image { opacity: 1; transform: translateX(0) scale(1); }
.final-cta h2 { max-width: 980px; font-size: clamp(3rem, 6vw, 6rem); font-weight: 900; line-height: 1.02; letter-spacing: -.04em; }
.final-cta__subtitle { margin: 0 auto; color: var(--color-primary-soft); font-size: clamp(1.15rem, 2.1vw, 1.65rem); font-weight: 600; line-height: 1.5; opacity: .82; }
@media (max-width: 700px) { .site-nav .nav-accent::after { bottom: -2px; transform-origin: left; } .audience-section #audiences-title { font-size: clamp(2.7rem, 12vw, 4.2rem); line-height: 1.08; } .audience-panel, .audience-panel.is-active { transform: none; } }
@media (prefers-reduced-motion: reduce) { .audience-panel, .audience-panel__image { transition: none; transform: none; } }
/* Hero hierarchy and partnership header. */
.header-partnership { display: inline-flex; align-items: center; gap: 12px; min-width: 0; color: var(--color-text); text-decoration: none; }
.header-partnership__primary-logo { display: block; width: clamp(108px, 10vw, 152px); height: auto; max-height: 42px; object-fit: contain; }
.header-partnership__separator { flex: 0 0 auto; color: var(--color-primary); font-size: 1rem; font-weight: 800; line-height: 1; opacity: .72; }
.header-partnership__product { display: inline-flex; align-items: center; min-width: 0; gap: 8px; }
.header-partnership__product-logo { display: block; width: clamp(30px, 3vw, 38px); height: auto; flex: 0 0 auto; }
.header-partnership__product > span { overflow: hidden; color: var(--color-text); font-size: clamp(.78rem, 1.15vw, 1rem); font-weight: 900; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.hero-copy { width: min(790px, 61%); }
.hero-title { max-width: 790px; margin: 0; color: var(--color-text); font-weight: 900; line-height: 1.04; letter-spacing: -.04em; }
.hero-title__line { display: block; }
.hero-title__line:first-child { font-size: clamp(3.4rem, 6vw, 6.8rem); }
.hero-title__line:last-child { margin-top: .1em; color: var(--color-primary-hover); font-size: clamp(2.15rem, 3.8vw, 4rem); font-weight: 900; line-height: 1.1; letter-spacing: -.03em; }
.hero-subtitle { display: grid; gap: .08em; margin: clamp(24px, 3vw, 38px) 0 clamp(28px, 3vw, 40px); color: var(--color-text); font-size: clamp(1.6rem, 2.8vw, 2.6rem); font-weight: 800; line-height: 1.16; letter-spacing: -.025em; }
.hero-subtitle__line { display: block; }
.hero-subtitle__line:last-child { color: var(--color-primary-hover); }
@media (max-width: 900px) { .site-header { gap: 16px; } .header-partnership { gap: 9px; } .header-partnership__primary-logo { width: clamp(82px, 18vw, 118px); max-height: 36px; } .header-partnership__product { gap: 6px; } .header-partnership__product-logo { width: clamp(28px, 5vw, 34px); } .hero-copy { width: min(68%, 720px); } }
@media (max-width: 700px) { .site-header { gap: 10px; } .header-partnership { flex: 1 1 auto; gap: 7px; max-width: calc(100% - 54px); } .header-partnership__primary-logo { width: clamp(70px, 20vw, 94px); max-height: 30px; } .header-partnership__separator { font-size: .9rem; } .header-partnership__product { gap: 5px; min-width: 0; } .header-partnership__product-logo { width: clamp(26px, 7vw, 32px); } .header-partnership__product > span { font-size: clamp(.7rem, 3.1vw, .84rem); } .hero-copy { width: 100%; } .hero-title__line:first-child { font-size: clamp(3rem, 13.5vw, 4.6rem); } .hero-title__line:last-child { font-size: clamp(1.9rem, 8.8vw, 2.8rem); line-height: 1.14; } .hero-subtitle { margin-block: 28px 34px; font-size: clamp(1.45rem, 7vw, 2rem); } }
/* Hero and audience title layout repair. */
.hero-copy {
  width: min(780px, calc(100% - clamp(390px, 31vw, 470px)));
  max-width: 780px;
  min-width: 0;
}

.hero-title {
  max-width: 100%;
  line-height: 1;
}

.hero-title__line {
  display: block;
  min-width: 0;
  word-break: keep-all;
}

.hero-title__line--primary {
  font-size: clamp(4rem, 6vw, 6.6rem);
  font-weight: 900;
  line-height: .98;
  letter-spacing: -.045em;
}

.hero-title__line--secondary {
  margin-top: .12em;
  color: var(--color-primary-hover);
  font-size: clamp(2.35rem, 3.45vw, 3.75rem);
  font-weight: 850;
  line-height: 1.08;
  letter-spacing: -.025em;
  text-wrap: balance;
}

.hero-subtitle {
  margin: clamp(28px, 3.5vw, 44px) 0 clamp(28px, 3vw, 40px);
  font-size: clamp(1.65rem, 2.4vw, 2.45rem);
  font-weight: 800;
  line-height: 1.12;
}

.audience-section {
  padding-top: clamp(72px, 8vw, 120px);
}

.audience-section .audience-heading {
  width: min(100%, 1080px);
  max-width: none;
  margin: 0 auto clamp(42px, 5vw, 68px);
  padding-inline: 24px;
  text-align: center;
}

.audience-section #audiences-title.audience-title {
  max-width: none;
  margin: 0;
  color: var(--color-text);
  font-size: clamp(3rem, 5vw, 5.1rem);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -.04em;
  text-wrap: balance;
  word-break: keep-all;
}

.audience-title__line {
  display: block;
}

.audience-title__line--primary {
  font-size: .9em;
}

.audience-title__line--secondary {
  font-size: 1em;
}

@media (min-width: 1180px) {
  .hero-title__line--secondary {
    white-space: nowrap;
  }
}

@media (min-width: 701px) and (max-width: 1179px) {
  .hero-copy {
    width: min(65%, 720px);
    max-width: 720px;
  }

  .hero-title__line--secondary {
    white-space: normal;
    text-wrap: balance;
  }
}

@media (max-width: 700px) {
  .hero-copy {
    width: 100%;
    max-width: 100%;
  }

  .hero-title__line--primary {
    font-size: clamp(3rem, 13.5vw, 4.6rem);
  }

  .hero-title__line--secondary {
    font-size: clamp(1.9rem, 8.8vw, 2.8rem);
    line-height: 1.14;
    white-space: normal;
    text-wrap: pretty;
  }

  .hero-subtitle {
    margin-block: 28px 34px;
    font-size: clamp(1.45rem, 7vw, 2rem);
  }

  .audience-heading {
    width: 100%;
    margin-bottom: clamp(42px, 12vw, 56px);
    padding-inline: 20px;
  }

  .audience-section #audiences-title.audience-title {
    font-size: clamp(2.55rem, 11.2vw, 3.2rem);
    line-height: 1.08;
  }
}


/* Audience visual mobile width guard. */
@media (max-width: 700px) {
  .audience-panel__visual,
  .audience-panel__image {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}

/* Hero grid and comparison placement repair. */
.hero {
  display: block;
  min-height: 0;
  padding-block: clamp(68px, 7vw, 112px);
}

.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .82fr);
  align-items: center;
  gap: clamp(48px, 5vw, 80px);
  width: min(100%, 1240px);
  margin-inline: auto;
}

.hero-copy {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 680px;
  min-width: 0;
}

.hero-media {
  position: relative;
  z-index: 1;
  width: min(100%, 390px);
  min-width: 0;
  margin: 0;
  justify-self: center;
}

.hero-media .hero-showcase,
.hero-media .hero-visual {
  position: relative;
  top: auto;
  right: auto;
  z-index: 1;
  width: 100%;
  max-width: 390px;
  margin: 0;
  transform: none;
}

.hero-title__line--secondary {
  font-size: clamp(2.15rem, 3.15vw, 3.45rem);
  line-height: 1.08;
  letter-spacing: -.03em;
  overflow-wrap: normal;
}

.audience-section .audience-heading {
  width: min(100%, 980px);
  padding-inline: 0;
}

.audience-section #audiences-title.audience-title {
  font-size: clamp(3rem, 5vw, 5.2rem);
}

.audience-title__line:last-child {
  color: var(--color-primary-hover);
}

.process-section .steps-comparison {
  width: min(100%, 1040px);
  margin: clamp(42px, 5vw, 72px) auto 0;
}

.process-section .steps-comparison .compare-stage {
  max-width: none;
  margin: 0;
}

@media (min-width: 1280px) {
  .hero-title__line--secondary { white-space: nowrap; }
}

@media (max-width: 1099px) {
  .hero-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(36px, 5vw, 56px);
  }

  .hero-copy {
    max-width: 760px;
    margin-inline: auto;
  }

  .hero-media {
    width: min(100%, 420px);
    margin-inline: auto;
  }

  .hero-media .hero-showcase,
  .hero-media .hero-visual { max-width: 420px; }

  .hero-title__line--secondary { white-space: normal; }
}

@media (max-width: 700px) {
  .hero { padding-block: 52px 64px; }

  .hero-layout { gap: 38px; }

  .hero-media,
  .hero-media .hero-showcase,
  .hero-media .hero-visual { width: min(100%, 390px); }

  .hero-title__line--secondary {
    font-size: clamp(1.9rem, 8.8vw, 2.8rem);
    white-space: normal;
  }

  .process-section .steps-comparison { margin-top: 42px; }
}


/* Final hero and audience portrait layout. Keep these rules last to neutralize legacy responsive overrides. */
.hero {
  padding-block: clamp(72px, 7vw, 116px);
}

.hero-layout {
  display: grid;
  grid-template-columns: minmax(680px, 1.2fr) minmax(340px, .8fr);
  align-items: center;
  column-gap: clamp(64px, 7vw, 110px);
  row-gap: clamp(56px, 7vw, 96px);
  width: min(100%, 1320px);
  margin-inline: auto;
}

.hero-copy {
  width: 100%;
  max-width: 700px;
  min-width: 0;
}

.hero-title {
  margin: 0;
  font-weight: 900;
  line-height: .98;
  letter-spacing: -.045em;
}

.hero-title__line {
  display: block;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: keep-all;
}

.hero-title__line.hero-title__line--primary {
  font-size: clamp(3.4rem, 4.6vw, 5.2rem);
  color: var(--color-text);
  line-height: .98;
  letter-spacing: -.045em;
}

.hero-title__line.hero-title__line--secondary {
  margin-top: .16em;
  font-size: clamp(1.7rem, 2.2vw, 2.5rem);
  color: var(--color-primary);
  line-height: 1.08;
  letter-spacing: -.025em;
}

.hero-description {
  max-width: 560px;
  margin: clamp(28px, 3vw, 40px) 0 0;
  color: var(--color-text-secondary);
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  font-weight: 500;
  line-height: 1.75;
}

.hero-copy .button-row {
  margin-top: clamp(26px, 3vw, 38px);
}

.hero-media {
  position: relative;
  width: min(100%, 360px);
  min-width: 0;
  margin: 0;
  justify-self: end;
}

.hero-media .hero-showcase,
.hero-media .hero-visual {
  position: relative;
  top: auto;
  right: auto;
  width: 100%;
  max-width: 360px;
  margin: 0;
  transform: none;
}

.audience-image-picture {
  display: contents;
}

.audience-tab__image {
  display: grid;
  place-items: end center;
  aspect-ratio: 4 / 3;
  margin-bottom: 18px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 28%, rgba(222, 205, 174, .56), transparent 46%),
    linear-gradient(145deg, #fffdf9 0%, #f4eadc 100%);
  border-radius: var(--radius-small);
}

.audience-tab__portrait {
  display: block;
  width: auto;
  height: 94%;
  max-width: 94%;
  object-fit: contain;
  object-position: center bottom;
}

.audience-panel__visual {
  display: grid;
  place-items: end center;
  min-height: clamp(360px, 38vw, 520px);
  margin: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 26%, rgba(222, 205, 174, .58), transparent 44%),
    linear-gradient(145deg, #fffdf9 0%, #f1e6d5 100%);
}

.audience-panel__image {
  display: block;
  width: auto;
  height: min(96%, 500px);
  max-width: 96%;
  object-fit: contain;
  object-position: center bottom;
}

.is-image-fallback .audience-image-picture {
  display: none;
}

.is-image-fallback > .audience-image-fallback {
  display: grid;
}

@media (min-width: 1280px) {
  .hero-title__line--primary,
  .hero-title__line--secondary {
    white-space: nowrap;
  }
}

@media (max-width: 1180px) {
  .hero-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(38px, 5vw, 60px);
  }

  .hero-copy {
    max-width: 820px;
    margin-inline: auto;
  }

  .hero-media {
    width: min(100%, 420px);
    margin-inline: auto;
    justify-self: center;
  }

  .hero-media .hero-showcase,
  .hero-media .hero-visual {
    max-width: 420px;
  }

  .hero-title__line--primary,
  .hero-title__line--secondary {
    white-space: normal;
  }
}

@media (max-width: 767px) {
  .hero {
    padding-block: 52px 64px;
  }

  .hero-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 38px;
    width: 100%;
  }

  .hero-copy,
  .hero-media {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-inline: 0;
  }

  .hero-title__line--primary {
    font-size: clamp(2.6rem, 11.5vw, 4rem);
    line-height: 1.07;
    white-space: nowrap;
  }

  .hero-title__line--secondary {
    font-size: clamp(1.75rem, 7.6vw, 2.65rem);
    line-height: 1.18;
    text-wrap: balance;
    white-space: normal;
  }

  .hero-description {
    max-width: none;
    margin-top: 26px;
    font-size: 1.05rem;
  }

  .hero-copy .button-row {
    margin-top: 28px;
  }

  .hero-media {
    width: min(100%, 420px);
    margin-inline: auto;
    justify-self: center;
  }

  .audience-tab__portrait {
    height: 92%;
    max-width: 92%;
  }

  .audience-panel__visual {
    min-height: min(92vw, 430px);
  }

  .audience-panel__image {
    height: 94%;
    max-width: 94%;
  }
}


/* Pain-point reading scale, product advantages, and shared pricing features. */
.pain-points-title { font-size: clamp(2.8rem,5vw,5.1rem); font-weight:900; line-height:1.02; letter-spacing:-.045em; word-break:keep-all; }
.pain-points-title__line { display:block; }
.pain-points-title__line:last-child { color:var(--color-primary); }
.pain-card__body { padding:clamp(24px,2.5vw,34px); }
.pain-card__body > span { display:none; }
.pain-point-card__title { margin:0 0 16px; font-size:clamp(1.45rem,1.8vw,1.9rem); font-weight:800; line-height:1.35; letter-spacing:-.02em; color:var(--color-text); word-break:keep-all; }
.pain-point-card__description { margin:0; font-size:clamp(1.05rem,1.25vw,1.2rem); font-weight:400; line-height:1.8; color:var(--color-text-muted); }
.advantages-section { background:var(--color-surface); }
.advantages-section .section-container { width:min(100%,var(--container-width)); margin-inline:auto; }
.advantages-header { max-width:820px; margin:0 auto 42px; text-align:center; }
.advantages-header h2 { margin:0; font-size:clamp(2.5rem,4.5vw,4.8rem); line-height:1.08; letter-spacing:-.04em; }
.advantages-header h2 .section-title__line:last-child { color:var(--color-primary); }
.advantages-description { max-width:680px; margin:22px auto 0; color:var(--color-text-secondary); font-size:1.1rem; line-height:1.75; }
.advantages-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.advantage-card { display:flex; flex-direction:column; min-width:0; padding:clamp(28px,3vw,42px); border:1px solid rgba(181,139,91,.28); border-radius:24px; background:rgba(255,253,249,.92); box-shadow:0 16px 42px rgba(70,54,40,.08); }
.advantage-card.is-highlighted { border-color:rgba(181,139,91,.72); background:radial-gradient(circle at 80% 15%,rgba(205,216,199,.62),transparent 34%),#fffaf2; box-shadow:0 22px 56px rgba(138,101,64,.15); }
.advantage-icon { display:grid; place-items:center; width:56px; height:56px; margin-bottom:22px; border-radius:16px; background:var(--color-sage); color:var(--color-sage-text); }
.advantage-icon span { width:24px; height:24px; border:2px solid currentColor; border-radius:7px; }
.advantage-icon--subjects span { border-radius:4px; box-shadow:10px 0 0 -8px currentColor,0 10px 0 -8px currentColor; }
.advantage-icon--writing span { border-radius:3px; transform:rotate(-8deg); }
.advantage-badge { width:fit-content; margin:-4px 0 15px; padding:6px 10px; border-radius:999px; color:var(--color-primary-hover); background:var(--color-accent-soft); font-size:.78rem; font-weight:800; }
.advantage-card h3 { margin:0 0 15px; font-size:clamp(1.55rem,2vw,2rem); line-height:1.3; }
.advantage-card > p { margin:0; color:var(--color-text-secondary); line-height:1.75; }
.advantage-card ul { display:grid; gap:10px; margin:24px 0 0; padding:0; list-style:none; }
.advantage-card li { position:relative; padding-left:22px; line-height:1.55; }
.advantage-card li::before,.pricing-shared-feature > span::before { content:""; position:absolute; width:10px; height:6px; border-left:2px solid var(--color-sage-strong); border-bottom:2px solid var(--color-sage-strong); transform:rotate(-45deg); }
.advantage-card li::before { left:2px; top:.42em; }
.pricing-shared-features { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; width:min(100%,1080px); margin:28px auto 48px; padding:0; list-style:none; }
.pricing-shared-feature { display:flex; align-items:center; gap:10px; min-width:0; padding:14px 18px; border:1px solid rgba(181,139,91,.22); border-radius:14px; background:rgba(255,253,249,.86); color:var(--color-text); font-weight:600; line-height:1.45; }
.pricing-shared-feature > span { position:relative; flex:0 0 14px; width:14px; height:14px; }
.pricing-shared-feature > span::before { left:1px; top:2px; }
.plan-card__details { justify-content:flex-start; }
@media (max-width:900px) { .advantages-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.advantage-card:last-child{grid-column:1/-1;}.pricing-shared-features{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:700px) { .advantages-grid{grid-template-columns:1fr;}.advantage-card:last-child{grid-column:auto;}.advantages-header{text-align:left;}.advantages-description{margin-left:0;}.pain-points-title{font-size:clamp(2.55rem,11vw,4rem);}.pain-point-card__title{font-size:1.45rem;}.pain-point-card__description{font-size:1.05rem;} }
@media (max-width:520px) { .pricing-shared-features{grid-template-columns:1fr;} }


/* Lightweight advantage product demos. */
.advantage-card__demo { position:relative; width:100%; aspect-ratio:16/10; margin-bottom:28px; overflow:hidden; border:1px solid rgba(181,139,91,.2); border-radius:20px; background:radial-gradient(circle at 82% 18%,rgba(205,216,199,.58),transparent 34%),linear-gradient(145deg,#faf4eb,#f3e8d8); }
.advantage-card__demo > * { animation-play-state:paused; }
.advantage-card__demo.is-playing > * { animation-play-state:running; }
.demo-path,.demo-subjects,.demo-writing { position:absolute; inset:0; }
.demo-path i { position:absolute; left:18%; right:18%; top:58%; height:3px; background:rgba(181,139,91,.55); transform:skewY(-18deg); }
.demo-path span { position:absolute; bottom:22%; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; color:#fffdf9; background:var(--color-primary); font-size:12px; font-style:normal; animation:demo-reveal 6s ease-in-out infinite; }
.demo-path span:nth-of-type(1){left:17%;animation-delay:0s}.demo-path span:nth-of-type(2){left:46%;bottom:39%;animation-delay:.6s}.demo-path span:nth-of-type(3){right:17%;bottom:56%;animation-delay:1.2s}.demo-path b{position:absolute;top:18%;left:42%;color:var(--color-text);font-size:1.1rem;letter-spacing:.1em;animation:demo-soft 6s ease-in-out infinite}
.demo-subjects i { position:absolute; left:38%; top:35%; width:24%; aspect-ratio:1; border-radius:18px; background:var(--color-surface); border:1px solid rgba(181,139,91,.42); box-shadow:0 10px 24px rgba(90,67,48,.1); }
.demo-subjects b { position:absolute;left:47%;top:43%;font-size:1.6rem;color:var(--color-primary);animation:demo-soft 5s ease-in-out infinite; }
.demo-subjects span { position:absolute;display:grid;place-items:center;width:42px;height:32px;border-radius:10px;background:rgba(255,253,249,.9);color:var(--color-text);font-size:.72rem;font-weight:800;animation:demo-orbit 5s ease-in-out infinite; }
.demo-subjects span:nth-of-type(1){left:17%;top:25%}.demo-subjects span:nth-of-type(2){right:16%;top:24%;animation-delay:.7s}.demo-subjects span:nth-of-type(3){left:22%;bottom:20%;animation-delay:1.4s}.demo-subjects em{position:absolute;right:21%;bottom:22%;width:36px;height:8px;border-radius:8px;background:var(--color-sage-strong);animation:demo-progress 5s ease-in-out infinite;}
.demo-writing i { position:absolute; top:18%; width:31%; height:62%; border:1px solid rgba(181,139,91,.35); border-radius:10px; background:rgba(255,253,249,.8); }
.demo-writing i:first-child{left:16%}.demo-writing i:nth-child(2){right:16%;background:#fffdf9}.demo-writing span{position:absolute;left:22%;width:20%;height:3px;background:rgba(87,68,51,.42);animation:demo-lines 6s ease-in-out infinite}.demo-writing span:nth-of-type(1){top:35%}.demo-writing span:nth-of-type(2){top:47%;animation-delay:.5s}.demo-writing span:nth-of-type(3){top:59%;animation-delay:1s}.demo-writing b{position:absolute;right:22%;top:36%;color:var(--color-sage-text);font-size:.8rem;animation:demo-soft 6s ease-in-out infinite}.demo-writing em{position:absolute;right:20%;bottom:26%;padding:4px 7px;border-radius:7px;color:var(--color-primary-hover);background:var(--color-accent-soft);font-size:.65rem;font-style:normal;font-weight:800;animation:demo-reveal 6s ease-in-out infinite}
@keyframes demo-reveal{0%,18%{opacity:.22;transform:translateY(5px)}30%,75%{opacity:1;transform:translateY(0)}100%{opacity:.22;transform:translateY(5px)}}@keyframes demo-soft{0%,100%{opacity:.55}50%{opacity:1}}@keyframes demo-orbit{0%,100%{transform:translateY(4px);opacity:.55}50%{transform:translateY(0);opacity:1}}@keyframes demo-progress{0%,20%{transform:scaleX(.15);transform-origin:left}60%,85%{transform:scaleX(1);transform-origin:left}100%{transform:scaleX(.15);transform-origin:left}}@keyframes demo-lines{0%,20%{width:12%;opacity:.35}55%,80%{width:20%;opacity:1}100%{width:12%;opacity:.35}}
@media (prefers-reduced-motion:reduce){.advantage-card__demo *{animation:none!important;transition:none!important}.demo-path span,.demo-subjects span,.demo-writing em{opacity:1;transform:none}.demo-subjects em{transform:scaleX(1)}}

.faq-answer__link{color:var(--color-primary);font-weight:700;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:4px}.faq-answer__link:hover{color:var(--color-text)}.faq-answer__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:4px}.advantages-header{margin-bottom:34px}.plans-section .section-heading:has(>h2:first-child){margin-bottom:32px}


/* Pain-point section scale refinement. */
.pain-section {
  padding-block: clamp(72px, 7vw, 108px);
  padding-inline: max(24px, calc((100% - 1160px) / 2));
}
.pain-heading {
  max-width: 1040px;
  margin: 0 auto clamp(32px, 4vw, 52px);
}
.pain-points-title {
  font-size: clamp(2.8rem, 4.6vw, 4.7rem) !important;
  line-height: 1.02;
}
.pain-grid {
  width: 100%;
  max-width: 1160px;
  margin-inline: auto;
  gap: clamp(18px, 2vw, 24px);
}
.pain-grid .pain-card { border-radius: 18px; }
.pain-card__media {
  aspect-ratio: 4 / 2.7;
  max-height: 245px;
  border-radius: 18px 18px 0 0;
}
.pain-card__body {
  padding: clamp(22px, 2.1vw, 28px) clamp(20px, 2vw, 26px) clamp(26px, 2.4vw, 32px);
}
.pain-point-card__title {
  margin: 0 0 14px;
  font-size: clamp(1.32rem, 1.45vw, 1.6rem);
  font-weight: 800;
  line-height: 1.35;
}
.pain-point-card__description {
  margin: 0;
  font-size: clamp(.98rem, 1.05vw, 1.08rem);
  line-height: 1.75;
}
@media (max-width: 960px) {
  .pain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pain-grid .pain-card:last-child { grid-column: 1 / -1; width: min(100%, 540px); justify-self: center; }
}
@media (max-width: 640px) {
  .pain-section { padding-block: 72px; padding-inline: 16px; }
  .pain-heading { margin-bottom: 32px; }
  .pain-points-title { font-size: clamp(2.3rem, 10.5vw, 3.2rem) !important; }
  .pain-grid { grid-template-columns: minmax(0, 1fr); }
  .pain-grid .pain-card:last-child { grid-column: auto; width: 100%; }
  .pain-card__media { aspect-ratio: 4 / 3; max-height: none; }
  .pain-card__body { padding: 22px 20px 26px; }
  .pain-point-card__title { font-size: 1.32rem; }
  .pain-point-card__description { font-size: 1rem; }
}

/* Mobile quick actions remain available across landing and information routes. */
.mobile-action-bar {
  position: fixed;
  z-index: 1000;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 10px;
  padding: 12px max(16px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
  border-top: 1px solid rgba(181, 139, 91, 0.25);
  background: rgba(250, 246, 239, 0.94);
  box-shadow: 0 -10px 30px rgba(62, 49, 39, 0.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.mobile-action-bar__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 50px;
  padding: 12px 14px;
  border-radius: 14px;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.mobile-action-bar__button--secondary {
  border: 1px solid rgba(181, 139, 91, 0.5);
  background: #fffdf9;
  color: var(--color-text);
}
.mobile-action-bar__button--primary {
  border: 1px solid var(--color-text);
  background: var(--color-text);
  color: #fffaf2;
  box-shadow: 0 8px 20px rgba(52, 43, 37, 0.18);
}
.mobile-action-bar__button:active { transform: translateY(1px); }
.mobile-action-bar__button:focus-visible { outline: 3px solid rgba(181, 139, 91, 0.45); outline-offset: 2px; }

@media (max-width: 768px) {
  body { padding-bottom: calc(86px + env(safe-area-inset-bottom)); }
  .mobile-action-bar { display: grid; }
  .back-to-top { bottom: calc(86px + env(safe-area-inset-bottom)); }
  #plans { scroll-margin-top: 100px; }
}
/* Global plans and classroom entry points. */
.header-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}
.header-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 16px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: transform 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.header-action--secondary { border-color: rgba(181, 139, 91, .52); background: var(--color-surface); color: var(--color-text); }
.header-action--primary { border-color: var(--color-text); background: var(--color-text); color: #fffaf2; box-shadow: 0 8px 18px rgba(52, 43, 37, .16); }
.header-action:hover { transform: translateY(-1px); }
.header-action--secondary:hover { background: var(--color-surface-muted); border-color: var(--color-border-strong); }
.header-action--primary:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }
.header-action:focus-visible { outline: 3px solid rgba(181, 139, 91, .45); outline-offset: 2px; }

@media (min-width: 981px) {
  .site-nav { position: static; display: flex; transform: none; visibility: visible; }
  .menu-toggle { display: none; }
}
@media (min-width: 769px) and (max-width: 980px) {
  .site-header { gap: 10px; padding-inline: 18px; }
  .header-actions { gap: 8px; }
  .header-action { min-height: 42px; padding: 9px 11px; font-size: .82rem; }
  .menu-toggle { display: block; flex: 0 0 44px; }
}
@media (max-width: 768px) {
  .header-actions { display: none; }
  .menu-toggle { display: block; }
  .mobile-action-bar { z-index: 2000; }
}
@media (min-width: 769px) { .mobile-action-bar { display: none !important; } }
/* Keep tablet entry points in the Header and reserve the fixed bar for phones. */
.header-partnership { order: 1; }
.site-nav { order: 2; }
.header-actions { order: 3; }
.menu-toggle { order: 4; }

@media (min-width: 768px) {
  .header-actions { display: flex; }
  .mobile-action-bar { display: none !important; }
  body { padding-bottom: 0; }
}
@media (max-width: 767px) {
  .header-actions { display: none; }
  .mobile-action-bar { display: grid; }
}
/* Canonical mobile reading rhythm and CTA hierarchy. */
.hero-actions { margin-top: clamp(22px, 4vw, 32px); }
.hero-action--primary { background: var(--color-dark); color: var(--color-light); }
.hero-action--secondary { background: var(--color-surface); color: var(--color-text); border-color: var(--color-border-strong); }

@media (max-width: 767px) {
  .site-header { padding-inline: 16px; }
  .hero { padding: 38px 20px 46px; }
  .hero-layout { gap: 34px; }
  .hero-copy { max-width: none; }
  .hero-title__line.hero-title__line--primary { font-size: clamp(2.65rem, 13vw, 3.45rem); line-height: 1; letter-spacing: -.035em; }
  .hero-title__line.hero-title__line--secondary { margin-top: .18em; font-size: clamp(1.42rem, 7vw, 1.8rem); line-height: 1.18; letter-spacing: -.018em; white-space: normal; }
  .hero-description { margin-top: 20px; font-size: 1rem; line-height: 1.75; }
  .hero-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; width: 100%; margin-top: 24px; }
  .hero-actions .button { width: 100%; min-height: 52px; padding-inline: 18px; }
  .hero-media { width: min(100%, 330px); margin-inline: auto; }
  .hero-showcase-card { padding: 14px; }
  .hero-showcase-video { width: min(100%, 214px); }
  .hero-showcase-controls { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-showcase-controls button { min-height: 48px; }

  .section-pad { padding: 64px 20px; }
  .section-heading { margin-bottom: 32px; }
  .section-heading h2, .pain-points-title, .audience-section #audiences-title, .advantages-header h2, .faq-heading h2 { font-size: clamp(2.1rem, 10vw, 2.8rem); line-height: 1.12; letter-spacing: -.025em; }
  .section-heading > p:last-child, .advantages-description { margin-top: 16px; font-size: 1rem; line-height: 1.72; }

  .pain-section { padding: 64px 20px; }
  .pain-heading { margin-bottom: 28px; }
  .pain-grid { gap: 18px; }
  .pain-card__media { max-height: none; }
  .pain-card__body { padding: 22px 20px 26px; }
  .pain-point-card__title { font-size: 1.3rem; line-height: 1.38; }
  .pain-point-card__description { font-size: 1rem; line-height: 1.72; }

  .process-section .section-heading { margin-bottom: 36px; }
  .process-list { gap: 28px; }
  .process-list .process-step, .process-list .process-step--reverse { padding: 14px; }
  .process-step__body, .process-step--reverse .process-step__body { padding: 22px 6px 8px; }
  .process-list .process-step h3 { font-size: 1.75rem; line-height: 1.24; }
  .process-list .process-step p { font-size: 1rem; line-height: 1.72; }
  .learning-highlight { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 38px; padding: 28px 22px; border-left-width: 5px; }
  .learning-highlight__icon { width: 78px; height: 78px; }
  .learning-highlight__copy h3 { font-size: 1.7rem; line-height: 1.26; }
  .learning-highlight__flow { gap: 10px; }

  .advantages-section .section-container { width: 100%; }
  .advantages-header { margin-bottom: 28px; }
  .advantages-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .advantage-card { padding: 24px 20px; }
  .advantage-card__demo { min-height: 180px; }

  .plans-section .section-heading { margin-bottom: 28px; }
  .pricing-shared-features { margin-bottom: 26px; }
  .pricing-intro-row, .pricing-standard-grid { gap: 16px; }
  .plan-card, .plan-card--intro { padding: 24px 20px; }
  .plan-card h3 { font-size: 1.5rem; }
  .plan-card .plan-price span { font-size: clamp(2.55rem, 13vw, 3.25rem); }
  .line-consultation { grid-template-columns: minmax(0, 1fr); gap: 26px; margin-top: 36px; padding: 28px 22px; }
  .line-consultation__qr { justify-self: start; }
  .line-consultation__qr img { width: 140px; height: 140px; }

  .faq-content { width: 100%; }
  .faq-heading { margin-bottom: 28px; }
  .faq-item button { align-items: flex-start; gap: 14px; padding: 20px 0; font-size: 1.05rem; line-height: 1.5; }
  .faq-item button > i { flex: 0 0 32px; min-width: 32px; min-height: 32px; }
  .faq-answer { padding: 0 0 20px; }
  .faq-answer p { font-size: 1rem; line-height: 1.78; }

  .final-cta { padding: 64px 20px; }
  .final-cta .button-row { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
  .final-cta .button { width: 100%; min-height: 52px; }
  .site-footer { padding: 38px 20px calc(28px + env(safe-area-inset-bottom)); }
}
@media (min-width: 981px) and (max-width: 1180px) {
  .site-header {
    gap: 14px;
    padding-inline: 18px;
  }

  .site-nav {
    gap: 14px;
  }

  .site-nav a,
  .site-nav .nav-cta {
    font-size: 12px;
  }

  .site-nav .nav-cta {
    padding: 9px 11px;
  }

  .header-actions {
    gap: 6px;
  }

  .header-action {
    min-height: 40px;
    padding: 8px 9px;
    font-size: 0.76rem;
  }
}

/* Keep the desktop Header as one deliberate row before switching to the tablet menu. */
@media (min-width: 981px) {
  .site-header {
    flex-wrap: nowrap;
    gap: clamp(10px, 1.2vw, 18px);
    padding-inline: clamp(16px, 2vw, 32px);
  }

  .header-partnership {
    flex: 0 1 auto;
    gap: clamp(7px, 0.7vw, 10px);
  }

  .header-partnership__primary-logo {
    width: clamp(92px, 8.5vw, 128px);
    max-height: 36px;
  }

  .header-partnership__separator {
    font-size: 0.9rem;
  }

  .header-partnership__product {
    gap: 6px;
  }

  .header-partnership__product-logo {
    width: clamp(28px, 2.2vw, 33px);
  }

  .header-partnership__product > span {
    font-size: clamp(0.82rem, 0.9vw, 0.96rem);
    overflow: visible;
  }

  .site-nav {
    flex: 0 0 auto;
    flex-wrap: nowrap;
    gap: clamp(10px, 1.25vw, 20px);
    min-width: 0;
  }

  .site-nav a,
  .header-actions a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .site-nav .nav-cta {
    min-height: 44px;
    padding: 10px clamp(14px, 1.3vw, 20px);
    font-size: clamp(0.82rem, 0.95vw, 0.94rem);
  }

  .header-actions {
    flex: 0 0 auto;
    gap: 8px;
  }

  .header-action {
    min-height: 44px;
    padding: 10px clamp(10px, 1vw, 16px);
    font-size: clamp(0.82rem, 0.92vw, 0.94rem);
  }
}

@media (min-width: 981px) and (max-width: 1100px) {
  .site-header {
    gap: 8px;
    padding-inline: 14px;
  }

  .header-partnership {
    gap: 6px;
  }

  .header-partnership__primary-logo {
    width: 92px;
  }

  .header-partnership__product-logo {
    width: 28px;
  }

  .header-partnership__product > span {
    font-size: 0.8rem;
  }

  .site-nav {
    gap: 8px;
  }

  .site-nav a {
    font-size: 11px;
  }

  .site-nav .nav-cta {
    min-height: 44px;
    padding-inline: 12px;
    font-size: 0.78rem;
  }

  .header-actions {
    gap: 5px;
  }

  .header-action {
    min-height: 44px;
    padding-inline: 8px;
    font-size: 0.75rem;
  }
}

/* Long-form terms page. */
.terms-page {
  background: var(--color-background);
}

.terms-page__content {
  width: min(100% - 48px, 940px);
  margin-inline: auto;
  padding-block: clamp(56px, 8vw, 104px);
}

.terms-page h1 {
  margin: 0;
  color: var(--color-text);
  font-size: clamp(2.35rem, 5vw, 4.5rem);
  line-height: 1.08;
}

.terms-page__introduction {
  max-width: 820px;
  margin: 24px 0 34px;
  color: var(--color-text-secondary);
  font-size: clamp(1rem, 1.4vw, 1.13rem);
  line-height: 1.85;
}

.terms-page__toc {
  margin: 0 0 44px;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid var(--color-border);
  border-left: 5px solid var(--color-primary);
  border-radius: var(--radius-medium);
  background: var(--color-surface);
  box-shadow: var(--shadow-small);
}

.terms-page__toc h2 {
  margin: 0 0 14px;
  color: var(--color-text);
  font-size: 1.08rem;
}

.terms-page__toc ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 28px;
  margin: 0;
  padding-left: 1.35rem;
}

.terms-page__toc a {
  color: var(--color-text-secondary);
  font-size: .94rem;
  line-height: 1.55;
  text-decoration-color: color-mix(in srgb, var(--color-primary) 45%, transparent);
  text-underline-offset: 3px;
}

.terms-page__toc a:hover,
.terms-page__toc a:focus-visible {
  color: var(--color-primary-hover);
}

.terms-page__sections {
  border-top: 1px solid var(--color-border);
}

.terms-page__section {
  scroll-margin-top: 96px;
  padding: clamp(28px, 4vw, 44px) 0;
  border-bottom: 1px solid var(--color-border);
}

.terms-page__section h2 {
  margin: 0 0 18px;
  color: var(--color-text);
  font-size: clamp(1.3rem, 2.2vw, 1.7rem);
  line-height: 1.35;
}

.terms-page__section p,
.terms-page__section li {
  color: var(--color-text-secondary);
  font-size: clamp(.98rem, 1.25vw, 1.08rem);
  line-height: 1.85;
}

.terms-page__section p {
  margin: 0 0 14px;
}

.terms-page__section ul {
  margin: 0 0 16px;
  padding-left: 1.3rem;
}

.terms-page__section li + li {
  margin-top: 6px;
}

.terms-page .info-page__actions {
  margin-top: clamp(36px, 5vw, 56px);
}

@media (max-width: 700px) {
  .terms-page__content {
    width: min(100% - 40px, 940px);
    padding-block: 48px 64px;
  }

  .terms-page__toc {
    margin-bottom: 32px;
    padding: 20px;
  }

  .terms-page__toc ol {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  .terms-page__section {
    scroll-margin-top: 84px;
    padding-block: 28px;
  }
}
