/* Editorial refinements shared by the seven self-contained landing pages. */
.icon { display:inline-block; width:22px; height:22px; flex-shrink:0; vertical-align:middle; }
h1,h2,h3 { overflow-wrap:break-word; }
.split>*,.grid-2>*,.grid-3>* { min-width:0; }
.skip-link { position:fixed; top:-90px; left:12px; z-index:100; padding:12px 18px; background:white; color:#222; }
.skip-link:focus { top:12px; }
.demo-tag { display:inline-block; margin-left:15px; padding-left:15px; border-left:1px solid #ffffff70; font-size:10px; letter-spacing:.07em; }
.band { background:var(--tint); border-block:1px solid var(--rule); }
.mt-2 { margin-top:20px; }
.cta-group { margin-top:29px; }
.button-note { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:16px; font-size:12px; color:#666; line-height:1.5; }
.button-note .icon { width:13px; height:13px; }
.note-arrow { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:25px; color:var(--accent); }
.note-arrow svg { width:116px; height:55px; }
.trust-strip { margin-top:40px; padding:25px 0 0; border-top:1px solid #ddd; text-align:center; }
.trust-strip>p { color:#666; font-size:11px; letter-spacing:.06em; }
.trust-words { display:flex; flex-wrap:wrap; justify-content:center; gap:60px; margin-top:15px; color:#555; font:800 19px/1.4 Montserrat,sans-serif; }
.resource-feature { display:grid; grid-template-columns:200px 1fr; align-items:center; gap:40px; text-align:left; margin-top:44px; }
.resource-feature>img { width:200px; filter:drop-shadow(5px 9px 6px #0002); }
.resource-feature h2 { font-size:27px; margin:16px 0; }
.resource-feature p { font-size:17px; }
.resource-feature .hand { font-size:29px; }
.resource-feature .cta { margin-top:22px; font-size:18px; padding-inline:18px; }
.resource-feature p.fine { font-size:12px; }
.spaced-cta { margin-top:43px; }
.spaced-cta>.hand { margin-bottom:22px; }
.numbered-notes { margin:30px 0 45px; }
.numbered-notes article { display:flex; gap:25px; padding:24px 0; border-bottom:1px solid #ddd; }
.numbered-notes article>span { font:900 39px/1.2 Montserrat,sans-serif; color:var(--accent); opacity:.75; }
.numbered-notes h3 { margin:0 0 9px; }
.numbered-notes p { margin:0; font-size:18px; }
.exercise-card>p:not(.eyebrow) { font-size:17px; color:#555; margin:16px 0 24px; }
.field { display:grid; gap:8px; margin-bottom:22px; }
.field label { font-size:15px; font-weight:900; }
.field input,.field select,.field textarea { width:100%; min-width:0; border:1px solid #bbb; border-radius:2px; background:#fff; padding:13px 14px; color:#222; font-size:16px; line-height:1.5; }
.field small { color:#666; font-size:12px; }
.field textarea { resize:vertical; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.check-consent { display:flex; align-items:start; gap:12px; font-size:14px; line-height:1.6; margin:22px 0; cursor:pointer; }
.check-consent input { width:19px; height:19px; flex-shrink:0; accent-color:var(--accent); margin-top:2px; }
.result-box { border:1px solid #cbd8d0; border-left:4px solid var(--accent); padding:22px; background:#f7faf8; margin-top:25px; }
.result-box h3 { font-size:21px; margin-bottom:15px; }
.result-box p { font-size:16px; line-height:1.7; }
.map-output { display:grid; gap:10px; margin-top:18px; }
.map-node { display:grid; grid-template-columns:90px 1fr; gap:10px; padding:13px; background:white; border:1px solid #d7dfda; font-size:15px; }
.map-node b { color:var(--accent); }
.mini-lesson-track { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:43px; }
.mini-lesson { padding:17px; border-top:3px solid #ddd; background:#fafafa; }
.mini-lesson.current { border-color:var(--accent); background:var(--tint); }
.mini-lesson small { display:block; font-size:10px; letter-spacing:.1em; color:var(--accent); }
.mini-lesson strong { display:block; font-size:15px; margin:8px 0; }
.mini-lesson span { display:block; color:#666; font-size:12px; line-height:1.6; }
.example-label { color:#666; text-align:center; font-size:11px; letter-spacing:.1em; margin-bottom:22px; }
.case-switch { display:flex; justify-content:center; gap:0; margin-bottom:25px; }
.case-switch button { border:1px solid #ccc; background:#fff; color:#444; padding:15px 22px; font:700 15px/1.5 Lato,sans-serif; }
.case-switch button[aria-pressed=true] { background:var(--ink); border-color:var(--ink); color:#fff; }
.case-board { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; background:#f4f1ed; padding:28px; border:1px solid #e1dcd5; }
.case-tile { padding:23px 17px; background:#fff; border-top:3px solid #aaa; box-shadow:0 3px 8px #00000008; }
.case-tile>span { font-size:10px; letter-spacing:.12em; color:#666; }
.case-tile strong { display:block; font:800 19px/1.3 Montserrat,sans-serif; margin:16px 0 13px; }
.case-tile p { font-size:15px; line-height:1.65; color:#666; }
.case-board.organized { background:#edf4f3; border-color:#ceddda; }
.case-board.organized .case-tile { border-color:var(--ink); }
.after-case { margin-top:58px; }
.compact-download { display:grid; grid-template-columns:110px 1fr; align-items:center; gap:25px; padding:24px; background:var(--tint); border:1px solid #ddd; margin-top:28px; }
.compact-download img { width:110px; }
.compact-download h3 { margin:0 0 12px; font-size:22px; }
.compact-download p,.compact-download a { font-size:16px; }
.objection-list { margin:35px 0; border-top:1px solid #ddd; }
.objection-item { border-bottom:1px solid #ddd; }
.objection-item summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:24px 0; font:800 20px/1.5 Montserrat,sans-serif; cursor:pointer; list-style:none; }
.objection-item summary::-webkit-details-marker { display:none; }
.objection-item summary span { font:400 28px Lato,sans-serif; color:var(--accent); }
.objection-item[open] summary span { transform:rotate(45deg); }
.objection-answer { padding:0 25px 25px 0; }
.objection-answer p { font-size:18px; }
.readiness { margin-top:35px; }
.readiness h2 { margin-bottom:17px; }
.readiness>p { font-size:17px; }
.class-invitation { margin-top:45px; padding:38px 25px; border-top:4px solid var(--accent); background:var(--tint); }
.class-invitation h2 { margin-top:18px; }
.class-invitation .cta { margin-top:27px; }
.class-hero { padding-bottom:30px; }
.class-section { padding:15px 0 48px; }
.class-frame { border:1px solid #ccc; box-shadow:0 8px 25px #00000012; }
.class-topline { display:flex; justify-content:space-between; gap:20px; padding:12px 26px; background:#102a4c; color:#dce5ef; font-size:10px; letter-spacing:.08em; }
.class-screen { min-height:435px; padding:48px 65px; color:#fff; background:var(--ink); outline-offset:-5px!important; }
.slide-kicker { color:#ffd0a9; font-size:12px; letter-spacing:.15em; }
.class-screen h2 { font-size:47px; line-height:1.12; color:#fff; margin:22px 0; }
.class-screen>p:not(.slide-kicker) { max-width:730px; font-size:22px; line-height:1.6; color:#e3e9ef; }
.slide-takeaway { margin-top:28px; padding-top:20px; border-top:1px solid #ffffff38; font-size:17px; color:#fff; }
.slide-takeaway>span { display:block; margin-bottom:8px; color:#ffd0a9; font-size:10px; letter-spacing:.13em; }
.slide-progress { background:#ddd; height:5px; }
.slide-progress>span { display:block; height:100%; background:var(--accent); }
.class-controls { display:flex; align-items:center; justify-content:space-between; gap:18px; background:#f8f8f8; padding:20px 27px; }
.class-controls button { background:#fff; border:1px solid #aaa; padding:11px 18px; color:#222; font-size:14px; font-weight:700; }
.class-controls button:disabled { color:#777; border-color:#ddd; cursor:default; }
.slide-count { font-size:13px; color:#555; }
.slide-outline { display:grid; grid-template-columns:repeat(5,1fr); margin-top:30px; gap:15px; }
.slide-outline>span { border-top:2px solid #ccc; padding-top:13px; font-size:13px; color:#555; }
.slide-outline b { color:var(--accent); margin-right:6px; }
.class-complete { margin-top:36px; padding:35px 25px; background:var(--tint); border:1px solid #ddd; }
.class-complete h2 { margin-top:15px; }
.class-complete>p:not(.hand) { font-size:18px; margin:20px auto; max-width:660px; }
.offer-letter { text-align:left; }
.offer-letter h2 { margin:23px 0; }
.offer-letter>p:not(.hand):not(.button-note) { font-size:18px; line-height:1.8; }
.offer-letter .cta { margin-top:30px; }
.offer-card { padding:34px; border:1px solid #ccc; border-top:6px solid var(--accent); text-align:left; background:#fff; box-shadow:0 8px 25px #00000009; }
.offer-card h2 { font-size:29px; margin-bottom:25px; }
.offer-card .benefits li { font-size:17px; }
.offer-scope-note { margin-top:24px; border-top:1px solid #ddd; padding-top:20px; font-size:16px; }
.offer-scope-note p { font-size:13px; color:#666; margin-top:7px; }
.application-form { margin-top:35px; }
.conversion-success { margin-top:35px; border:1px solid #b9cfc2; border-top:5px solid #39744f; padding:32px; background:#f8fbf9; }
.conversion-success h2 { font-size:29px; margin:20px 0; }
.conversion-success>p { font-size:17px; }
.completion-stamp { font-size:10px; letter-spacing:.12em; color:#326045; font-weight:700; }
.result-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:25px; }
.text-button { border:0; padding:8px 0; color:var(--accent); background:transparent; text-decoration:underline; font-size:13px; }
.page-footer { padding:38px 0 135px; border-top:1px solid #ddd; font-size:12px; color:#666; line-height:1.7; }
.page-footer.dark { background:var(--ink); color:#ddd; border:0; }
.page-footer .footer-logo { width:190px; margin:0 auto 22px; }
.page-footer p+p { margin-top:5px; }
.page-footer.dark .text-button { color:#fff; }
.copyright { font-size:10px; margin-top:12px!important; opacity:.8; }
.study-block+.study-block { margin-top:18px; }
.study-block h3 { font:800 13px/1.5 Montserrat,sans-serif; letter-spacing:0; margin-bottom:7px; }
.study-block p { font-size:13px; }
.study-block code { display:inline-block; font-size:11px; background:#edf0f3; padding:3px 8px; margin-top:7px; }
.study-email { margin:20px 0; padding:15px; background:#f4f2ed; border:1px solid #e3dfd5; font-size:12px; }
.study-email strong { font-size:10px; text-transform:uppercase; letter-spacing:.05em; }
.study-email p { margin-top:8px; }
.study-footnote { padding-top:18px; margin-top:20px; border-top:1px solid #ddd; font-size:11px; color:#626976; }
.worksheet-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.worksheet-page { background:#fff; }
.worksheet-page .worksheet-line { min-height:120px; }
.worksheet-footer { margin-top:25px; }
.noscript-note { background:#fff5c9; padding:15px; margin:0; font-size:14px; }
[hidden] { display:none!important; }
@media(max-width:819px) {
  .case-board { grid-template-columns:1fr 1fr; }
  .offer-letter { max-width:620px; margin:auto; }
  .class-screen { min-height:460px; padding:35px; }
  .class-screen h2 { font-size:39px; }
  .resource-feature { gap:27px; }
}
@media(max-width:599px) {
  .demo-tag { margin:4px 0 0; display:block; padding:0; border:0; font-size:9px; opacity:.9; }
  .trust-words { gap:17px; font-size:13px; }
  .resource-feature { grid-template-columns:1fr; text-align:center; gap:25px; }
  .resource-feature>img { margin:auto; width:160px; }
  .resource-feature .cta { font-size:17px; }
  .form-grid,.mini-lesson-track { grid-template-columns:1fr; }
  .form-grid { gap:0; }
  .map-node { grid-template-columns:1fr; }
  .exercise-card { padding:25px 20px; }
  .case-switch button { padding:12px; font-size:13px; width:50%; }
  .case-board { padding:16px; gap:12px; }
  .case-tile { padding:18px 12px; }
  .case-tile strong { font-size:16px; }
  .case-tile p { font-size:14px; }
  .compact-download { grid-template-columns:1fr; text-align:center; }
  .compact-download img { margin:auto; }
  .objection-item summary { font-size:17px; padding:20px 0; }
  .reading-card,.offer-card { padding:25px 20px; }
  .class-invitation { padding:30px 18px; }
  .class-topline { flex-direction:column; gap:5px; padding:13px 20px; font-size:9px; }
  .class-screen { padding:30px 23px; min-height:485px; }
  .class-screen h2 { font-size:33px; }
  .class-screen>p:not(.slide-kicker) { font-size:19px; }
  .slide-takeaway { font-size:15px; }
  .class-controls { flex-wrap:wrap; padding:15px 12px; gap:12px; }
  .class-controls button { padding:11px; font-size:12px; }
  .slide-count { font-size:11px; }
  .slide-outline { grid-template-columns:repeat(3,1fr); gap:13px; }
  .slide-outline>span { font-size:12px; }
  .conversion-success { padding:25px 20px; }
  .worksheet-page { padding:25px 20px; }
  .worksheet-page header { align-items:start; flex-direction:column; }
  .worksheet-grid { grid-template-columns:1fr; }
  .study-panel { bottom:100px; max-height:calc(100dvh - 125px); }
  .study-dock { left:10px; right:10px; bottom:12px; gap:8px; align-items:stretch; }
  .study-toggle { flex:1; min-width:0; padding:11px 9px; }
  .study-toggle .dock-kicker { font-size:7px; }
  .study-toggle strong { font-size:10px; }
  .study-toggle .dock-hint { font-size:8px; }
  .next-landing { flex:1; min-width:0; gap:7px; padding:11px 10px; }
  .next-landing strong { font-size:11px; }
  .next-landing small { font-size:9px; }
  .next-landing>.icon { width:17px; height:17px; }
}
@media print {
  .worksheet-grid { grid-template-columns:1fr 1fr; }
  .worksheet-page .worksheet-line { min-height:100px; padding:12px; margin-top:12px; }
  .worksheet-page { font-size:10pt; }
  .worksheet-page h1 { font-size:25pt; }
  .worksheet-page header { margin-bottom:20px; }
  .worksheet-page header img { width:170px; }
  .worksheet-line h2 { font-size:12pt; }
  .worksheet-footer { font-size:8pt; }
  @page { size:A4; margin:14mm; }
}
@media(max-width:359px) {
  .class-hero.hero h1 { font-size:28px; }
  .class-screen h2 { font-size:27px; }
  .class-screen { padding-inline:19px; }
}
