:root {
  --bg: #ffffff;
  --surface: #f4f7fa;
  --surface-blue: #eaf3f8;
  --surface-teal: #e9f6f5;
  --text: #203746;
  --muted: #526a79;
  --primary: #0b3454;
  --primary-deep: #07263e;
  --accent: #216f9f;
  --teal: #1f9d9a;
  --teal-hover: #167c7a;
  --champagne: #c6a15b;
  --on-primary: #ffffff;
  --border: #cfdee7;
  --success: #26734f;
  --success-surface: #edf7f1;
  --radius: 22px;
  --shadow: 0 24px 64px rgba(7, 38, 62, .11);
  --shadow-soft: 0 14px 36px rgba(7, 38, 62, .075);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: clip;
  color: var(--text);
  background: var(--bg);
  font-family: "Public Sans", "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
figure, p, h1, h2, h3, ol, ul, blockquote { margin-top: 0; }
a { color: var(--accent); text-underline-offset: .2em; }
a:focus-visible, summary:focus-visible {
  outline: 3px solid #ffffff;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--primary);
}
.container { width: min(1220px, calc(100% - 56px)); margin-inline: auto; }
.narrow { width: min(850px, calc(100% - 48px)); }
.section { padding: 124px 0; }
h1, h2, h3 { line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
h1 { margin-bottom: 24px; font-size: clamp(2.75rem, 5vw, 4.65rem); font-weight: 800; }
h2 { max-width: 24ch; margin-bottom: 30px; color: var(--primary); font-size: clamp(2.1rem, 3.8vw, 3.55rem); font-weight: 800; }
h3 { color: var(--primary); font-size: clamp(1.8rem, 3vw, 2.7rem); }
.lead { font-size: clamp(1.05rem, 1.5vw, 1.25rem); }
.button {
  --button-bg: var(--teal);
  --button-border: var(--teal);
  --button-color: var(--primary-deep);
  --button-hover-bg: var(--teal-hover);
  --button-hover-border: var(--teal-hover);
  --button-hover-color: #ffffff;
  --button-shadow-color: rgba(31, 157, 154, .22);
  display: inline-flex;
  min-height: 60px;
  align-items: center;
  justify-content: center;
  padding: 16px 30px;
  border: 2px solid var(--button-border);
  border-radius: 12px;
  color: var(--primary-deep);
  color: var(--button-color, var(--primary-deep));
  background: var(--button-bg);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 14px 30px var(--button-shadow-color);
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.button:hover { border-color: var(--button-hover-border); color: var(--button-hover-color); background: var(--button-hover-bg); box-shadow: 0 18px 38px var(--button-shadow-color); transform: translateY(-2px); }
.button:not(.button-light):not(.closing-cta):hover { color: #ffffff; color: var(--button-hover-color, #ffffff); }
.button:focus-visible { outline: 3px solid #ffffff; outline-offset: 2px; box-shadow: 0 0 0 6px var(--primary), 0 14px 30px var(--button-shadow-color); }
.button-light {
  --button-bg: var(--teal);
  --button-border: var(--teal);
  --button-color: var(--primary-deep);
  --button-hover-bg: var(--teal-hover);
  --button-hover-border: var(--teal-hover);
  --button-hover-color: #ffffff;
}
.method-section .button, .outcomes-section .button, .authority-section .button {
  --button-bg: var(--primary);
  --button-border: var(--primary);
  --button-color: #ffffff;
  --button-hover-bg: var(--primary-deep);
  --button-hover-border: var(--primary-deep);
  --button-hover-color: #ffffff;
  --button-shadow-color: rgba(7, 38, 62, .2);
}

.hero { min-height: 840px; overflow: hidden; padding: 0; color: #ffffff; background: radial-gradient(circle at 84% 28%, rgba(31, 157, 154, .18), transparent 34%), linear-gradient(135deg, var(--primary-deep) 0%, var(--primary) 58%, #10516a 100%); }
.hero-grid { width: min(1360px, calc(100% - 56px)); min-height: 840px; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(480px, .95fr); gap: clamp(30px, 4vw, 64px); align-items: end; }
.hero-copy { position: relative; z-index: 2; align-self: center; padding: 56px 0; }
.hero-logo { width: 204px; margin-bottom: 30px; filter: brightness(0) invert(1); }
.eyebrow { margin-bottom: 14px; color: #a9dbf5; font-size: .875rem; font-weight: 800; letter-spacing: .13em; line-height: 1.4; text-transform: uppercase; }
.hero h1 { max-width: 12.5ch; margin-bottom: 28px; color: #ffffff; font-size: clamp(3.25rem, 4.7vw, 4.75rem); }
.hero-subtitle { max-width: 52ch; margin-bottom: 28px; color: #edf7fc; font-size: clamp(1.12rem, 1.6vw, 1.34rem); line-height: 1.55; }
.hero-reinforcement { max-width: 61ch; margin-bottom: 26px; color: #c9e1ee; font-size: 1rem; }
.hero-meta { margin: 18px 0 0; color: #c9e1ee; font-size: .9rem; font-weight: 600; }
.hero-meta::before { content: ""; display: inline-block; width: 24px; height: 2px; margin-right: 10px; vertical-align: middle; background: var(--champagne); }
.hero-media { position: relative; align-self: stretch; min-width: 0; margin: 0; display: flex; align-items: flex-end; justify-content: center; isolation: isolate; }
.hero-media picture { position: relative; z-index: 1; display: flex; width: min(100%, 620px); height: 100%; align-items: flex-end; justify-content: center; }
.hero-media img { width: auto; max-width: 100%; height: min(95%, 790px); object-fit: contain; object-position: center bottom; filter: drop-shadow(0 26px 36px rgba(0, 15, 28, .32)); }
.hero-shape { position: absolute; z-index: 0; right: -7%; bottom: 1%; width: 114%; aspect-ratio: 1; border-radius: 46% 54% 58% 42% / 48% 44% 56% 52%; background: linear-gradient(145deg, rgba(31, 157, 154, .7), rgba(60, 139, 180, .12)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 34px 86px rgba(2, 24, 39, .26); }

.case-section { background: linear-gradient(180deg, #f4f8fa 0%, #edf4f7 100%); }
.outcomes-section { background: linear-gradient(180deg, #eef5f8 0%, #f6fafb 100%); }
.label { display: inline-flex; margin-bottom: 18px; padding: 7px 12px; border-radius: 999px; color: var(--primary); background: #dcebf3; font-size: .875rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.case-section h2 { max-width: 20ch; }
.case-insight { margin: 30px 0 0; padding: 22px 26px; border-left: 5px solid var(--champagne); border-radius: 0 12px 12px 0; color: var(--primary); background: #dcebf3; font-size: clamp(1.15rem, 2vw, 1.4rem); font-weight: 800; }
.case-closing { margin: 28px 0 0; color: var(--primary); font-size: clamp(1.05rem, 1.5vw, 1.2rem); font-weight: 700; }
.reasoning { margin-top: 38px; border: 1px solid rgba(160, 187, 202, .62); border-radius: var(--radius); background: rgba(255, 255, 255, .92); box-shadow: var(--shadow); }
.reasoning summary, .faq-list summary { position: relative; padding: 21px 60px 21px 24px; color: var(--primary); font-weight: 800; cursor: pointer; list-style: none; }
.reasoning summary::-webkit-details-marker, .faq-list summary::-webkit-details-marker { display: none; }
.reasoning summary::after, .faq-list summary::after { content: "+"; position: absolute; top: 50%; right: 24px; color: var(--accent); font-size: 1.6rem; transform: translateY(-50%); }
.reasoning[open] summary::after, .faq-list details[open] summary::after { content: "−"; }
.details-body { padding: 24px; }
.details-body p:last-child { margin-bottom: 0; }
.details-body li + li { margin-top: 8px; }

.problem-section { border-block: 1px solid rgba(207, 222, 231, .72); background: #ffffff; }
.editorial-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(48px, 8vw, 110px); align-items: start; }
.editorial-grid h2 { margin-bottom: 0; }
.editorial-grid .lead { color: var(--muted); }
.problem-copy { display: grid; gap: 18px; }
.problem-copy p { margin-bottom: 0; }
.problem-conclusion { padding: 22px 24px; border-radius: 14px; color: var(--primary); background: var(--surface-blue); font-size: 1.08rem; font-weight: 800; }

.method-section { background: linear-gradient(180deg, #ffffff 0%, #f7fafb 100%); }
.section-heading { display: flex; justify-content: center; text-align: center; }
.section-heading h2 { max-width: 25ch; }
.diagram { position: relative; width: min(1000px, 100%); min-height: 680px; margin: 42px auto 58px; isolation: isolate; }
.diagram-connectors { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; overflow: visible; }
.diagram-connectors line { stroke: #9dbfce; stroke-width: 2; vector-effect: non-scaling-stroke; }
.diagram-card, .diagram-patient { position: absolute; z-index: 1; display: flex; align-items: center; justify-content: center; text-align: center; }
.diagram-card { width: 29%; min-height: 148px; flex-direction: column; padding: 26px; border: 1px solid rgba(176, 201, 214, .74); border-radius: 20px; background: rgba(255, 255, 255, .96); box-shadow: var(--shadow-soft); }
.diagram-card strong { color: var(--primary); }
.diagram-history { top: 0; left: 0; }
.diagram-medicine { top: 0; right: 0; }
.diagram-symptoms { top: 35%; left: 0; }
.diagram-exams { top: 35%; right: 0; }
.diagram-context { bottom: 66px; left: 50%; transform: translateX(-50%); }
.diagram-patient { top: 23%; left: 50%; width: 190px; aspect-ratio: 1; border-radius: 50%; color: #ffffff; background: linear-gradient(145deg, var(--primary), #155c78); font-size: 1.32rem; font-weight: 800; transform: translateX(-50%); box-shadow: 0 0 0 14px #e9f2f7, var(--shadow); }
.method-copy { width: min(850px, 100%); margin-inline: auto; text-align: center; }
.method-copy .lead { margin-bottom: 14px; }
.method-copy > p:not(.lead) { margin: 0 auto 30px; color: var(--muted); }
.method-statement { color: var(--primary); font-weight: 800; }

.outcomes-section h2 { max-width: 25ch; }
.list-intro { margin-bottom: 24px; font-size: 1.15rem; font-weight: 800; }
.check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 0 0 42px; padding: 0; list-style: none; }
.check-grid li { position: relative; min-height: 82px; padding: 24px 24px 24px 54px; border: 1px solid rgba(184, 205, 217, .78); border-radius: 16px; background: #ffffff; box-shadow: 0 10px 26px rgba(7, 38, 62, .055); }
.check-grid li::before { content: "✓"; position: absolute; left: 16px; color: var(--success); font-size: 1.2rem; font-weight: 900; }

.audience-section { background: #ffffff; }
.audience-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 48px; padding: 0; list-style: none; }
.audience-list li { display: flex; min-height: 132px; align-items: center; padding: 28px; border: 1px solid rgba(184, 205, 217, .72); border-radius: 18px; background: linear-gradient(145deg, #f8fafb, #f1f6f8); box-shadow: 0 10px 26px rgba(7, 38, 62, .05); }
.audience-highlight { color: var(--primary); font-weight: 800; }
.objection { position: relative; margin: 0; padding: 52px 56px 52px 96px; overflow: hidden; border: 1px solid #bcdad9; border-radius: var(--radius); background: linear-gradient(135deg, #e6f5f3, #f8fbfc 72%); box-shadow: var(--shadow); }
.objection::before { content: "“"; position: absolute; top: 22px; left: 28px; color: var(--teal); font-family: Georgia, serif; font-size: 5rem; line-height: 1; }
.objection-title { max-width: 34ch; margin-bottom: 22px; color: var(--primary); font-size: clamp(1.35rem, 2.1vw, 1.75rem); font-weight: 800; line-height: 1.3; }
.objection-copy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 36px; }
.objection-copy p { margin: 0; }
.objection p:last-child { margin-bottom: 0; }

.curriculum-section { background: linear-gradient(180deg, #f3f7f9 0%, #edf3f6 100%); }
.curriculum-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; margin: 0 0 24px; padding: 0; list-style: none; }
.curriculum-grid li { grid-column: span 2; min-height: 246px; padding: 28px; border: 1px solid rgba(188, 208, 219, .76); border-radius: var(--radius); background: rgba(255, 255, 255, .92); box-shadow: 0 10px 28px rgba(7, 38, 62, .05); }
.curriculum-grid li:nth-child(4) { grid-column: 2 / span 2; }
.curriculum-grid li span { color: var(--accent); font-size: .9rem; font-weight: 800; letter-spacing: .08em; }
.curriculum-grid li p { margin: 14px 0 0; }
.bonus { margin: 24px 0 24px; padding: 24px; border-left: 3px solid var(--champagne); border-radius: 14px; color: #ffffff; background: var(--primary); }
.curriculum-statement { max-width: 780px; margin: 0 auto 76px; color: var(--primary); font-size: clamp(1.18rem, 2vw, 1.45rem); font-weight: 800; text-align: center; }
.inside { padding: 62px 34px 34px; border: 1px solid rgba(188, 208, 219, .78); border-radius: var(--radius); background: rgba(255, 255, 255, .96); text-align: center; box-shadow: 0 18px 46px rgba(7, 38, 62, .08); }
.inside .label { margin-bottom: 22px; }
.inside h3 { margin-bottom: 18px; }
.inside > p { width: min(760px, 100%); margin: 0 auto 18px; }
.inside > p:last-of-type { margin-bottom: 32px; color: var(--muted); }
.inside-subtitle { color: var(--primary); font-size: clamp(1.05rem, 1.5vw, 1.2rem); font-weight: 700; }
.screen-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.screen-grid figure { margin: 0; padding: 10px; border: 1px solid #b9cdd8; border-radius: 16px; background: #e6edf1; box-shadow: 0 16px 38px rgba(7, 38, 62, .12); }
.screen-grid figcaption { padding: 12px 8px 5px; color: var(--muted); font-size: .9rem; font-weight: 700; line-height: 1.45; text-align: left; }
.screen-link { position: relative; display: block; border-radius: 8px; cursor: zoom-in; }
.screen-link::after { content: "Ampliar"; position: absolute; right: 10px; bottom: 10px; padding: 6px 9px; border-radius: 999px; color: #ffffff; background: rgba(7, 38, 62, .9); font-size: .875rem; font-weight: 800; line-height: 1; }
.screen-grid img { width: 100%; border-radius: 8px; object-fit: contain; }

.authority-section { background: linear-gradient(180deg, var(--surface-blue) 0%, #f5f9fa 100%); }
.authority-grid { display: grid; grid-template-columns: minmax(0, .96fr) minmax(420px, 1.04fr); gap: 56px 76px; align-items: center; }
.authority-copy h2 { max-width: 20ch; }
.authority-name { margin-bottom: 8px; color: var(--primary); font-size: 1.25rem; font-weight: 800; }
.authority-titles { margin-bottom: 28px; padding-left: 20px; border-left: 4px solid var(--champagne); }
.authority-titles p { margin: 0; color: var(--muted); line-height: 1.55; }
.authority-titles .authority-name { margin-bottom: 8px; color: var(--primary); }
.authority-portrait { margin: 0; }
.authority-portrait img { width: 100%; min-height: 500px; border-radius: var(--radius); object-fit: cover; box-shadow: var(--shadow); }
.credentials { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.credentials article { display: flex; min-height: 330px; flex-direction: column; padding: 32px; border-top: 3px solid var(--teal); border-radius: 18px; background: rgba(255, 255, 255, .94); box-shadow: var(--shadow-soft); }
.credentials h3 { margin-bottom: 22px; color: var(--teal-hover); font-size: 1rem; letter-spacing: .02em; line-height: 1.3; }
.credentials strong { display: block; margin-bottom: 14px; color: var(--primary); font-size: 1.2rem; line-height: 1.35; }
.credentials p { margin: 0; color: var(--muted); }
.authority-gallery { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.authority-gallery figure { margin: 0; overflow: hidden; border-radius: 16px; box-shadow: 0 14px 34px rgba(7, 38, 62, .08); }
.authority-gallery img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.authority-gallery figure:nth-child(2) { display: flex; align-items: center; justify-content: center; background: #dbe7ec; }
.authority-gallery figure:nth-child(2) img { object-fit: contain; object-position: center; }
.gallery-caption { grid-column: 1 / -1; margin: 0; color: var(--muted); text-align: center; font-weight: 700; }

.offer-section { color: #ffffff; background: var(--primary); }
.offer-section h2 { max-width: 18ch; color: #ffffff; font-size: clamp(2.45rem, 4.2vw, 3.8rem); }
.offer-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(370px, .85fr); gap: clamp(44px, 8vw, 100px); align-items: start; }
.offer-label, .price-label { font-weight: 800; }
.offer-value { max-width: 54ch; margin-bottom: 28px; color: #e3f1f7; font-size: clamp(1.05rem, 1.5vw, 1.2rem); }
.included-list { margin: 0; padding: 0; list-style: none; }
.included-list li { position: relative; padding: 10px 0 10px 32px; border-bottom: 1px solid rgba(255,255,255,.2); }
.check-icon { position: absolute; left: 0; color: #7ed7a5; font-weight: 900; }
.offer-card { padding: 38px; border: 1px solid rgba(255,255,255,.27); border-radius: var(--radius); background: var(--primary-deep); box-shadow: 0 24px 64px rgba(0,0,0,.2); }
.price-label { margin-bottom: 4px; color: var(--champagne); }
.price { display: grid; gap: 7px; margin-bottom: 26px; color: #ffffff; font-size: clamp(1.9rem, 3.2vw, 2.7rem); font-weight: 800; line-height: 1.15; }
.price small { color: #cbe0ea; font-size: .62em; font-weight: 700; }
.offer-card .button { width: 100%; }
.offer-card .button-light {
  --button-bg: var(--teal);
  --button-border: var(--teal);
  --button-color: var(--primary-deep);
  --button-hover-bg: var(--teal-hover);
  --button-hover-border: var(--teal-hover);
  --button-hover-color: #ffffff;
}
.offer-note { margin: 16px 0 0; color: #cbe0ea; font-size: .9rem; text-align: center; }

.faq-section { background: #ffffff; }
.faq-list { border-top: 1px solid var(--border); }
.faq-list details { border-bottom: 1px solid var(--border); transition: background-color .2s ease; }
.faq-list details:hover, .faq-list details[open] { background: var(--surface); }
.faq-list details p { margin: 0; padding: 0 24px 24px; color: var(--muted); }
.whatsapp { display: inline-flex; min-height: 44px; align-items: center; margin-top: 32px; font-weight: 800; }

.closing-section { color: #e5f1f6; text-align: center; background: linear-gradient(145deg, var(--primary-deep), var(--primary)); }
.closing-section h2 { max-width: 20ch; margin-inline: auto; color: #ffffff; }
.closing-section .lead { margin-bottom: 16px; }
.closing-section .lead + .button { margin-top: 14px; }
.closing-cta {
  --button-bg: #fffdf7;
  --button-border: #fffdf7;
  --button-color: var(--primary-deep);
  --button-hover-bg: #ffffff;
  --button-hover-border: #ffffff;
  --button-hover-color: var(--primary-deep);
  --button-shadow-color: rgba(2, 18, 30, .24);
}
.signature { margin: 24px 0 0; color: #c7dce6; font-size: .9rem; font-weight: 700; }

.site-footer { padding: 34px 0; color: #c8dae4; background: var(--primary-deep); font-size: .875rem; }
.footer-inner { display: flex; gap: 24px; align-items: center; justify-content: space-between; }
.footer-inner p { margin: 0; }
.footer-inner nav { display: flex; flex-wrap: wrap; gap: 18px; }
.footer-inner a { display: inline-flex; min-height: 44px; align-items: center; color: #ffffff; }

.motion-ready [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .62s ease, transform .62s cubic-bezier(.22, 1, .36, 1); transition-delay: var(--reveal-delay, 0ms); }
.motion-ready .hero-media[data-reveal] { transform: translateX(26px); }
.motion-ready [data-reveal].is-visible { opacity: 1; transform: translate(0, 0); }
.motion-ready .button[data-reveal].is-visible { transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.motion-ready .button[data-reveal].is-visible:hover { transform: translateY(-2px); }
.diagram-card, .credentials article, .curriculum-grid li, .screen-grid figure { transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.diagram-card:hover, .credentials article:hover, .curriculum-grid li:hover, .screen-grid figure:hover { border-color: #9bc8c6; box-shadow: 0 18px 38px rgba(7, 38, 62, .11); transform: translateY(-3px); }
.diagram-context:hover { transform: translate(-50%, -3px); }

@media (min-width: 1200px) {
  .hero h1 span { display: block; }
}

@media (max-width: 1024px) {
  .hero, .hero-grid { min-height: 760px; }
  .hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(350px, .95fr); }
  .hero h1 { font-size: clamp(2.9rem, 5.8vw, 3.65rem); }
  .diagram { transform: scale(.92); transform-origin: top center; margin-bottom: 10px; }
  .curriculum-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .curriculum-grid li, .curriculum-grid li:nth-child(4) { grid-column: auto; min-height: 0; }
  .curriculum-grid li:last-child { grid-column: 1 / -1; }
}

@media (max-width: 768px) {
  .container, .narrow { width: min(100% - 32px, 680px); }
  .section { padding: 82px 0; }
  h2 { font-size: clamp(2rem, 9vw, 2.65rem); }
  .button { width: 100%; min-height: 58px; padding: 15px 20px; font-size: .94rem; overflow-wrap: normal; }
  .hero, .hero-grid { min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; gap: 0; }
  .hero-copy { padding: 24px 0 26px; }
  .hero-logo { width: 134px; margin-bottom: 9px; }
  .eyebrow { margin-bottom: 8px; font-size: .875rem; }
  .hero h1 { max-width: 12ch; margin-bottom: 16px; font-size: clamp(2.2rem, 10.5vw, 2.85rem); line-height: 1.03; }
  .hero-subtitle { margin-bottom: 18px; font-size: 1rem; line-height: 1.46; }
  .hero-reinforcement { margin-bottom: 14px; font-size: .875rem; line-height: 1.4; }
  .hero-meta { margin-top: 10px; font-size: .875rem; text-align: center; }
  .hero-meta::before { width: 16px; height: 1px; margin-right: 8px; opacity: .72; }
  .hero-media { max-height: 480px; margin-inline: -16px; }
  .hero-media picture { height: auto; }
  .hero-media img { width: min(96vw, 450px); height: auto; max-height: 480px; object-position: center bottom; }
  .hero-shape { right: 0; bottom: -9%; width: 100%; }
  .editorial-grid, .check-grid, .audience-list, .screen-grid, .authority-grid, .credentials, .authority-gallery, .offer-grid { grid-template-columns: 1fr; }
  .editorial-grid { gap: 18px; }
  .diagram { min-height: 0; display: grid; gap: 16px; margin-top: 30px; transform: none; }
  .diagram::before { content: ""; position: absolute; z-index: -1; top: 100px; bottom: 36px; left: 50%; width: 2px; background: #b7d6d4; transform: translateX(-50%); }
  .diagram-connectors { display: none; }
  .diagram-card, .diagram-patient { position: static; width: 100%; min-height: 0; transform: none; }
  .diagram-patient { order: -2; width: 124px; margin: 0 auto 4px; }
  .diagram-card { position: relative; inset: auto; padding: 22px; }
  .diagram-context:hover { transform: translateY(-3px); }
  .diagram-card::before { content: ""; position: absolute; z-index: -1; top: -15px; left: 50%; width: 10px; height: 15px; background: #b7d6d4; transform: translateX(-50%); }
  .objection { padding: 68px 26px 34px; }
  .objection::before { top: 10px; left: 22px; }
  .objection-copy { grid-template-columns: 1fr; gap: 14px; }
  .curriculum-grid { grid-template-columns: 1fr; }
  .curriculum-grid li:last-child { grid-column: auto; }
  .bonus { margin-bottom: 54px; }
  .curriculum-statement { margin-bottom: 54px; }
  .inside { padding: 42px 10px 18px; }
  .screen-grid { gap: 18px; margin-inline: -4px; }
  .screen-grid figure { padding: 7px; }
  .authority-grid { gap: 34px; }
  .authority-portrait { grid-row: 2; }
  .authority-portrait img { min-height: 0; aspect-ratio: 4 / 3; }
  .credentials, .authority-gallery { grid-column: auto; }
  .authority-gallery img { aspect-ratio: 4 / 3; }
  .authority-gallery figure:nth-child(2) img { object-fit: contain; object-position: center top; }
  .credentials article { min-height: 0; }
  .gallery-caption { grid-column: auto; }
  .offer-card { padding: 30px 22px; }
  .case-insight { border-left-width: 3px; }
  .bonus { border-left-width: 2px; }
  .authority-titles { border-left-width: 3px; }
  .price-label { color: #bda36f; }
  .footer-inner, .footer-inner nav { flex-direction: column; align-items: flex-start; }
  .footer-inner nav a { min-width: 44px; }
}

@media (max-width: 412px) {
  .hero-copy { padding-top: 14px; }
  .hero-logo { width: 116px; margin-bottom: 6px; }
  .hero h1 { font-size: clamp(1.85rem, 8.8vw, 2.25rem); }
  .hero-subtitle { font-size: .94rem; }
  .hero-reinforcement { font-size: .875rem; }
  .hero .button { min-height: 58px; font-size: .94rem; }
  .hero-media { max-height: 390px; }
  .hero-media img { max-height: 390px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
}
