/* Public layout base — resets, type scale, skip link, section rhythm.
   Lifted out of templates/layouts/main.php on 2026-09-16 (audit PERF-02).
   It was inline on EVERY page of the site — 3,246 bytes re-sent with
   every single HTML response and never cacheable. The <link> that replaced it sits
   exactly where the <style> did, so the cascade order is unchanged.
   Edit this file, not the template. asset() cache-busts on filemtime. */


/* Skip navigation — WCAG 2.4.1 */
/* Explicit navy/white pair — do NOT use var(--gold) here: it resolves to #B45309
   via theme-light.css, which gave navy-on-amber at only 3.67:1. Now 16:1. */
.skip-link{position:absolute;top:-48px;left:0;background:#0A132B;color:#FFFFFF;padding:8px 16px;z-index:99999;font-weight:700;text-decoration:none;border-radius:0 0 4px 0;transition:top .1s}
.skip-link:focus{top:0}
html{color-scheme:light}html,body{margin:0!important;padding:0!important}
body{padding-top:calc(var(--ticker-h,3px) + var(--hdr-h,68px))!important;top:0!important;margin-top:0!important}
/* Indian Tricolor Strip */
/* The middle (white) third used to vanish against the white header, so the strip
   read as two disconnected coloured stubs. A hairline under all three bands makes
   it read as one continuous bar. */
.tc-tricolor{position:fixed;top:0;left:0;right:0;height:3px;z-index:1002;background:linear-gradient(90deg,#FF9933 0%,#FF9933 33.33%,#FFFFFF 33.33%,#FFFFFF 66.66%,#138808 66.66%,#138808 100%);box-shadow:inset 0 -1px 0 rgba(10,19,43,.14)}
/* Top ticker bar removed — header sits right below the 3px tricolor strip.
   --ticker-h var is kept (now 3px) because hero/page CSS offsets reference it. */
:root{--ticker-h:3px}
.tc-hdr{position:fixed!important;top:var(--ticker-h)!important;left:0;right:0;z-index:1000;isolation:isolate}
/* ── Page loader — the wordmark draws itself (markup + logic: templates/partials/loader.php) ── */
#tc-loader{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;align-content:center;gap:28px;background:#FBFAF7}
html.tc-noloader #tc-loader,#tc-loader.tc-gone{display:none}
#tc-loader.tc-loaded{animation:tcLdOut .6s cubic-bezier(.7,0,.2,1) forwards;pointer-events:none}
@keyframes tcLdOut{to{clip-path:inset(0 0 100% 0)}}
#tc-loader .tc-ld-mark{width:clamp(180px,32vw,300px)}
#tc-loader svg{display:block;width:100%;height:auto;overflow:visible}
#tc-loader path{fill:transparent;stroke-width:1.6px;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;
  animation:tcLdDraw .95s cubic-bezier(.4,0,.2,1) forwards,tcLdFill .5s ease .8s forwards}
#tc-loader .tc-ld-red path{stroke:#E31937;--ink:#E31937}
#tc-loader .tc-ld-navy path{stroke:#0A132B;--ink:#0A132B;animation-delay:.12s,.95s}
@keyframes tcLdDraw{to{stroke-dashoffset:0}}
@keyframes tcLdFill{to{fill:var(--ink);stroke-width:0}}
#tc-loader .tc-ld-bar{width:clamp(140px,22vw,220px);height:2px;border-radius:2px;background:rgba(10,19,43,.12);overflow:hidden}
#tc-loader .tc-ld-bar i{display:block;height:100%;background:#E31937;transform:scaleX(0);transform-origin:0 50%;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
/* Repeat pages this session: same drawing, half the time — the loader clears at ~0.5s. */
html.tc-quick #tc-loader path{animation-duration:.5s,.3s;animation-delay:0s,.4s}
html.tc-quick #tc-loader .tc-ld-navy path{animation-delay:.06s,.46s}
html.tc-quick #tc-loader.tc-loaded{animation-duration:.4s}
html.tc-quick #tc-loader .tc-ld-bar i{transition-duration:.25s}
@media(prefers-reduced-motion:reduce){#tc-loader path{animation:none;stroke-dashoffset:0;fill:var(--ink);stroke-width:0}#tc-loader.tc-loaded{animation:none;display:none}}
