@font-face { font-family: "INDHANN Sans"; src: url("/fonts/NotoSans-Latin-Regular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "INDHANN Sans"; src: url("/fonts/NotoSans-Latin-Bold.woff2") format("woff2"); font-weight: 700 900; font-display: swap; }
@font-face { font-family: "INDHANN Devanagari"; src: url("/fonts/NotoSansDevanagariUI-Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "INDHANN Devanagari"; src: url("/fonts/NotoSansDevanagariUI-Bold.ttf") format("truetype"); font-weight: 700 900; font-display: swap; }
/* Forecourt Pulse publication tokens follow DESIGN.md. Paper remains light. */
:root { --navy:#071321; --blue:#1677d2; --blue-dark:#07569b; --orange:#f47b12; --paper:#fff; --muted:#56697c; --rule:#bdcbd8; --canvas:#e8edf2; --soft:#f0f3f6; --reader-ink:#071321; --reader-panel:#fff; --reader-rule:#bdcbd8; color-scheme:light; }
:root[data-reader-theme="dark"] { --canvas:#10151b; --reader-ink:#f5f8fc; --reader-panel:#1a1f24; --reader-rule:#56697c; color-scheme:dark; }
* { box-sizing:border-box; scrollbar-color:#71879a var(--canvas); scrollbar-width:auto; }
*::-webkit-scrollbar { width:12px; height:12px; }
*::-webkit-scrollbar-track { background:var(--canvas); }
*::-webkit-scrollbar-thumb { background:#71879a; border:3px solid var(--canvas); border-radius:10px; }
*::-webkit-scrollbar-thumb:hover { background:#56697c; }
*::-webkit-scrollbar-thumb:active { background:var(--blue); }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; background:var(--canvas); color:var(--navy); font-family:"INDHANN Sans",Arial,sans-serif; font-size:10pt; line-height:1.48; }
:lang(hi),:lang(mr) { font-family:"INDHANN Devanagari","INDHANN Sans",sans-serif; font-synthesis:none; letter-spacing:0; }
img { display:block; max-width:100%; }
p,h1,h2,h3,figure { margin:0; }
a { color:inherit; text-decoration:none; cursor:pointer; }
button { font:inherit; cursor:pointer; }
a:hover { text-decoration:underline; text-underline-offset:3px; }
a:active,button:active { opacity:.8; }
a:focus-visible,button:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
button:disabled { cursor:not-allowed; opacity:.55; }
ul { margin:0; padding-left:1.25em; }
.skip-link { position:fixed; top:-100px; left:16px; z-index:100; padding:12px 18px; background:var(--blue-dark); color:white; }
.skip-link:focus { top:12px; }
.reader-bar { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 24px; min-height:80px; background:var(--reader-panel); color:var(--reader-ink); border-bottom:1px solid var(--reader-rule); }
.reader-brand { display:flex; align-items:center; gap:9px; flex-shrink:0; }
.reader-wordmark { width:112px; height:auto; padding:4px; border-radius:3px; background:white; }
.reader-brand small { display:block; font-size:10px; margin-top:2px; }
.reader-languages,.reader-actions { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.reader-languages a,.reader-actions a,.reader-actions button { display:inline-flex; justify-content:center; align-items:center; min-height:44px; min-width:44px; padding:9px 12px; border-radius:7px; font-size:12px; border:1px solid transparent; background:transparent; color:inherit; }
.reader-languages a[aria-current="page"] { border-color:var(--reader-rule); font-weight:700; }
.reader-languages a:hover,.reader-actions button:hover { background:var(--canvas); text-decoration:none; }
.reader-actions .reader-download { background:var(--blue-dark); color:white; font-weight:700; }
.reader-actions .reader-download:hover { background:#06487f; }
.chapter-nav { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:6px; max-width:1050px; margin:18px auto 0; padding:0 16px; color:var(--reader-ink); }
.chapter-nav a { display:flex; align-items:center; gap:7px; min-height:44px; padding:8px; border-bottom:2px solid var(--reader-rule); font-size:11px; }
.chapter-nav a span { font-weight:700; font-size:10px; }
.chapter-nav a:hover { border-color:var(--orange); }
.brochure { display:grid; justify-content:center; gap:24px; padding:24px 16px 48px; }
.brochure-page { position:relative; display:flex; flex-direction:column; width: 210mm; height: 297mm; padding:13mm 15mm 10mm; background:var(--paper); color:var(--navy); overflow:visible; break-after:page; box-shadow:0 12px 36px #07132120; color-scheme:light; }
.brochure-page:last-child { break-after:auto; }
.brochure-page::before { content:""; position:absolute; inset:0 0 auto; height:2mm; background:linear-gradient(90deg,var(--navy) 0 65%,var(--blue) 65% 85%,var(--orange) 85%); }
.page-header { display:flex; align-items:center; justify-content:space-between; gap:5mm; min-height:12mm; margin-bottom:8mm; }
.page-header>span { color:var(--muted); font-size:8pt; text-align:right; }
.mini-brand,.print-brand { display:flex; align-items:center; gap:2.4mm; }
.brand-symbol { width:10mm; height:10mm; }
.mini-wordmark { width:29mm; height:auto; }
.print-wordmark { width:36mm; height:auto; }
.eyebrow { display:flex; align-items:center; gap:2mm; color:var(--blue-dark); font-size:8pt; font-weight:700; margin-bottom:3mm; letter-spacing:.03em; }
.day-dot { display:inline-block; flex:0 0 2mm; width:2mm; height:2mm; border-radius:50%; background:var(--orange); }
h1 { font-size:31pt; line-height:1.15; letter-spacing:-.045em; font-weight:700; }
h2 { font-size:26pt; line-height:1.18; letter-spacing:-.035em; font-weight:700; }
h3 { font-size:11pt; line-height:1.35; letter-spacing:-.01em; font-weight:700; }
:lang(hi) h1,:lang(mr) h1 { font-size:31pt; line-height:1.3; letter-spacing:0; }
:lang(hi) h2,:lang(mr) h2 { font-size:24pt; line-height:1.35; letter-spacing:0; }
:lang(hi) h3,:lang(mr) h3 { letter-spacing:0; line-height:1.5; }
.lead { font-size:11pt; line-height:1.6; color:#405367; margin-top:4mm; max-width:176mm; }
.cover-heading { margin-bottom:8mm; }
.cover-stage { display:grid; grid-template-columns:minmax(0,1fr) 62mm; gap:12mm; align-items:start; }
.cover-story { padding-top:2mm; }
.scene-label { color:var(--blue-dark); font-size:8pt; font-weight:700; margin-bottom:2mm; }
.scene-copy { font-size:13pt; line-height:1.6; margin-bottom:8mm; border-left:1mm solid var(--orange); padding-left:4mm; }
.cover-story h2 { font-size:15pt; line-height:1.45; margin-bottom:4mm; letter-spacing:-.015em; }
:lang(hi) .cover-story h2,:lang(mr) .cover-story h2 { font-size:14pt; }
.cover-story li { padding-bottom:3mm; font-size:10pt; }
.locale-proof { font-weight:700; border-top:1px solid var(--rule); margin-top:5mm; padding-top:4mm; font-family:"INDHANN Devanagari","INDHANN Sans",sans-serif; }
.app-figure { margin:0; width:60mm; justify-self:end; }
.app-figure > a { display:block; }
.app-screen { display:block; width:100%; height:auto; aspect-ratio:412 / 892; object-fit:contain; border:1px solid var(--rule); border-radius:3mm; background:#e8edf2; }
.app-figure figcaption { margin-top:2.5mm; font-size:7.1pt; line-height:1.5; color:var(--muted); }
.app-figure figcaption strong,.app-figure figcaption span { display:block; }
.app-figure figcaption strong { color:var(--navy); margin-bottom:1mm; }
.image-hint { color:var(--blue-dark); margin-top:4px; }
.cover-app { width:62mm; }
.cover-bottom { display:grid; gap:2mm; margin-top:auto; padding:4mm 5mm; background:var(--navy); color:white; border-radius:2mm; font-size:9pt; }
.cover-bottom a { color:#a7d4fc; font-weight:700; }
.page-intro { margin-bottom:6mm; }
.story-layout { display:grid; grid-template-columns:minmax(0,1fr) 60mm; gap:10mm; align-items:start; }
.app-path { font-size:8pt; color:var(--blue-dark); background:#eef5fb; border-radius:1.5mm; padding:2.5mm 3mm; margin-bottom:4mm; }
.steps { list-style:none; counter-reset:task-step; padding:0; margin:0; }
.steps>li { position:relative; counter-increment:task-step; padding-left:8mm; margin-bottom:5mm; }
.steps>li::before { content:counter(task-step); display:grid; place-items:center; position:absolute; left:0; top:.2mm; width:5.6mm; height:5.6mm; background:var(--soft); border-radius:50%; color:var(--blue-dark); font-size:8pt; font-weight:700; font-family:"INDHANN Sans",sans-serif; }
.steps h3 { margin-bottom:1.5mm; }
.steps p { font-size:9.5pt; line-height:1.58; color:#405367; }
.takeaway { margin-top:4mm; padding:3.5mm 5mm; background:var(--soft); border-left:1mm solid var(--orange); }
.takeaway h3 { margin-bottom:1.5mm; font-size:10pt; }
.takeaway>p { font-size:8.7pt; line-height:1.55; }
.takeaway>.equation { font-size:16pt; font-weight:700; color:var(--blue-dark); letter-spacing:-.02em; font-family:"INDHANN Sans",sans-serif; margin-bottom:1.5mm; }
.closing-note { display:grid; gap:2mm; margin-top:4mm; color:var(--muted); font-size:8.2pt; line-height:1.55; }
.chapter-link { align-self:start; color:var(--blue-dark); font-weight:700; }
.page-footer { display:flex; gap:4mm; align-items:center; justify-content:space-between; margin-top:auto; padding-top:5mm; color:var(--muted); font-size:7pt; }
.page-footer>a { color:var(--navy); font-weight:700; }
.page-footer>span:last-child { margin-left:auto; white-space:nowrap; }
.start-steps { margin-bottom:2mm; }
.start-steps .steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5mm; }
.start-steps .steps>li { padding-left:0; padding-top:8mm; margin-bottom:4mm; }
.start-steps .steps>li::before { top:0; }
.start-steps .steps p { font-size:9pt; }
.start-steps h3 { font-size:10pt; }
.plan-block { padding:4mm 0 0; border-top:1px solid var(--rule); }
.plan-block h3 { margin-bottom:4mm; font-size:13pt; }
table { width:100%; border-collapse:collapse; font-size:9pt; text-align:left; font-variant-numeric:tabular-nums; }
th,td { padding:3mm 2.5mm; border-bottom:1px solid var(--rule); vertical-align:top; }
thead th { background:var(--navy); color:white; font-size:8pt; font-weight:400; }
td:last-child { font-weight:700; color:var(--blue-dark); }
td { white-space:nowrap; font-family:"INDHANN Sans",sans-serif; }
.plan-note { font-size:8pt; line-height:1.6; margin-top:3mm; color:var(--muted); }
.support-block { border-left:1mm solid var(--orange); padding:1mm 0 1mm 4mm; margin-top:6mm; }
.support-block h3 { margin-bottom:2mm; }
.support-block p { font-size:9pt; }
.support-block a { color:var(--blue-dark); font-size:11pt; font-weight:700; margin-top:2mm; display:inline-block; }
.language-boundary { font-size:8pt; line-height:1.6; color:var(--muted); margin-top:4mm; }
.final-link { padding:4mm 5mm; background:var(--blue-dark); border-radius:2mm; color:white; font-weight:700; font-size:11pt; margin-top:5mm; display:flex; justify-content:space-between; align-items:center; }
.final-link:hover { background:#06487f; }
@media screen and (max-width:1100px) {
  .reader-bar { flex-wrap:wrap; gap:6px 14px; padding:10px 16px; }
  .reader-actions { margin-left:auto; }
  .chapter-nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media screen and (max-width: 880px) {
  html { scroll-padding-top:16px; }
  .reader-bar { position:relative; }
  .reader-actions { width:100%; justify-content:space-between; margin-top:4px; }
  .reader-actions a,.reader-actions button { font-size:11px; padding-inline:8px; }
  .reader-languages { margin-left:auto; }
  .reader-languages a { padding-inline:8px; }
  .brochure { display:block; padding:16px 12px 32px; }
  .brochure-page { width: 100%; height:auto; min-height:0; padding:28px 24px 20px; margin-bottom:20px; }
  .brochure-page * {
    min-width: 0;
  }
  .page-header { min-height:44px; margin-bottom:28px; gap:12px; }
  .page-header>span { font-size:10px; max-width:120px; }
  .brand-symbol { width:34px; height:34px; }
  .mini-wordmark,.print-wordmark { width:108px; }
  .eyebrow { font-size:10px; margin-bottom:10px; }
  h1,:lang(hi) h1,:lang(mr) h1 { font-size:clamp(29px,6.5vw,48px); line-height:1.25; letter-spacing:-.025em; }
  h2,:lang(hi) h2,:lang(mr) h2 { font-size:clamp(26px,5vw,38px); line-height:1.3; }
  .lead { font-size:16px; line-height:1.7; margin-top:16px; }
  .page-intro { margin-bottom:24px; }
  .cover-stage,.story-layout { grid-template-columns:minmax(0,1fr) minmax(160px,35%); gap:24px; }
  .cover-stage { margin-bottom:24px; }
  .app-figure,.cover-app { width:100%; }
  .app-figure figcaption { font-size:11px; }
  .scene-copy { font-size:18px; }
  .cover-story h2,:lang(hi) .cover-story h2,:lang(mr) .cover-story h2 { font-size:20px; }
  .cover-story li,.locale-proof { font-size:14px; }
  .steps p,.start-steps .steps p { font-size:14px; }
  .steps h3,.start-steps h3 { font-size:16px; }
  .steps>li { margin-bottom:24px; padding-left:30px; }
  .steps>li::before { width:22px; height:22px; font-size:12px; }
  .app-path { font-size:12px; padding:10px; margin-bottom:18px; }
  .takeaway { padding:18px; margin-top:24px; }
  .takeaway h3 { font-size:16px; }
  .takeaway>p { font-size:14px; }
  .takeaway>.equation { font-size:clamp(18px,4vw,24px); }
  .closing-note { font-size:13px; margin-top:20px; }
  .chapter-link { display:inline-flex; min-height:44px; align-items:center; }
  .cover-bottom { font-size:14px; padding:18px; }
  .cover-bottom a { min-height:44px; display:flex; align-items:center; }
  .page-footer { margin-top:20px; padding-top:16px; font-size:10px; flex-wrap:wrap; }
  .page-footer>a { min-height:44px; display:inline-flex; align-items:center; }
  .page-footer>span:nth-child(2) { max-width:55%; }
  .plan-block h3 { font-size:20px; }
  table { font-size:13px; }
  thead th { font-size:11px; }
  th,td { padding:12px 8px; }
  .plan-note,.language-boundary { font-size:13px; }
  .support-block p { font-size:14px; }
  .support-block h3 { font-size:18px; }
  .support-block a { font-size:16px; min-height:44px; overflow-wrap:anywhere; }
  .final-link { padding:16px; font-size:16px; }
}
@media screen and (max-width:580px) {
  .reader-bar { padding-inline:12px; }
  .reader-brand>img { width:30px; height:30px; }
  .reader-wordmark { width:89px; }
  .reader-brand small { font-size:9px; }
  .reader-languages { gap:0; }
  .reader-languages a { padding:8px 6px; font-size:11px; }
  .reader-actions a:nth-child(2) { max-width:42%; text-align:center; }
  .chapter-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .chapter-nav a { font-size:12px; }
  .brochure-page { padding:24px 18px 18px; }
  .cover-stage,.story-layout { grid-template-columns:1fr; }
  .app-figure,.cover-app { width:min(100%,280px); justify-self:center; }
  .app-figure figcaption { font-size:12px; }
  .scene-copy { font-size:18px; margin-bottom:20px; }
  .start-steps .steps { grid-template-columns:1fr; gap:0; }
  .start-steps .steps>li { padding-top:0; padding-left:30px; }
  .start-steps .steps>li::before { top:1px; }
  .plan-block { margin-top:14px; }
  table { font-size:11px; }
  thead th { font-size:10px; }
  th,td { padding:10px 3px; }
  .page-footer>span:nth-child(2) { display:none; }
}
@media print {
  @page { size: A4; margin:0; }
  html,body { width: 210mm; margin:0; background:white; }
  .screen-only { display:none !important; }
  .brochure { display:block; padding:0; }
  .brochure-page { margin:0; box-shadow:none; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  a { text-decoration:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media (forced-colors:active) { a:focus-visible,button:focus-visible { outline-color:Highlight; } * { scrollbar-color:auto; } }

[hidden] {display:none!important}
