
/* Layout: a diary you can read two ways, across one life or down one day. JIVINITI / Project RESET language:
   heavy Poppins, letter-spaced labels, one pathway color per diary day, generous ground. One light, print-like world. */
:root {
  --sindoor: #de5240; --sevantika: #fa8757; --teal: #458284; --blue: #82bcc8; --ochre: #d4953b; --yellow: #fbcc64;
  --kalika: #1d1d1d; --mrida: #52292b; --shweta: #ffffff;
  --ground: #f7f5f2; --ground-deep: #efebe6; --rule: #1d1d1d1f; --muted: #6d5a59;
  --blue-deep: #2f6f7d; --blue-wash: #e3f0f3;
  --font: Poppins, "Helvetica Neue", Arial, sans-serif;
  --script: "Imperial Script", "Segoe Script", cursive;
  --gutter: clamp(16px, 4.2vw, 72px); --max: 1360px; --read: 40rem;
  color-scheme: light;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--ground); color: var(--kalika); font-family: var(--font); font-size: 17px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { margin: 0; text-wrap: balance; }
p { margin: 0; }
a { color: inherit; }
img { max-width: 100%; display: block; }
:focus-visible { outline: 3px solid var(--kalika); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
.wrap { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--gutter); }
.label { font-weight: 600; text-transform: uppercase; letter-spacing: 0.28em; font-size: 12.5px; line-height: 1.5; }
.h1 { font-weight: 800; letter-spacing: -0.035em; font-size: clamp(40px, 6.2vw, 92px); line-height: 1.0; }
.h2 { font-weight: 700; letter-spacing: -0.03em; font-size: clamp(30px, 3.6vw, 52px); line-height: 1.08; }
.h3 { font-weight: 700; letter-spacing: -0.015em; font-size: clamp(21px, 1.8vw, 26px); line-height: 1.25; }
.lede { font-size: clamp(18px, 1.4vw, 21px); line-height: 1.65; color: var(--mrida); max-width: var(--read); }
.copy { max-width: var(--read); }
.script { font-family: var(--script); font-size: clamp(34px, 3.4vw, 54px); line-height: 1.15; color: var(--sindoor); }
.bar { width: 120px; height: 4px; border: 0; margin: 0; background: var(--sindoor); }
.section { padding-block: clamp(56px, 7vw, 112px); }
.stack { display: grid; gap: 18px; justify-items: start; }
.num { font-variant-numeric: tabular-nums; }

/* Mockup banner and header */
.mock { background: var(--kalika); color: var(--ground); font-size: 13px; line-height: 1.5; padding: 9px var(--gutter); display: flex; flex-wrap: wrap; gap: 6px 18px; justify-content: space-between; }
.mock b { font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; font-size: 11.5px; }
.mock nav { display: flex; gap: 6px; flex-wrap: wrap; }
.mock a { text-decoration: none; padding: 1px 10px; border-radius: 20px; border: 1px solid #f7f5f255; }
.mock a[aria-current="page"] { background: var(--ground); color: var(--kalika); }
.top { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: var(--ground); border-bottom: 1px solid var(--rule); }
.top .wrap { display: flex; align-items: center; gap: 20px; min-height: 68px; flex-wrap: wrap; padding-block: 8px; }
.mark { display: flex; align-items: baseline; gap: 10px; text-decoration: none; margin-right: auto; }
.mark b { font-weight: 800; letter-spacing: 0.12em; font-size: 20px; }
.mark span { font-size: 12px; color: var(--muted); letter-spacing: 0.04em; }
.menu { display: flex; gap: 4px 22px; flex-wrap: wrap; font-size: 14.5px; font-weight: 500; }
.menu a { text-decoration: none; }
.menu a:hover { text-decoration: underline; text-underline-offset: 5px; }
.btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 44px; font: 600 15px/1 var(--font); padding: 13px 26px; text-decoration: none; border: 1.5px solid var(--kalika); background: transparent; color: var(--kalika); cursor: pointer; }
.btn.red { background: var(--sindoor); border-color: var(--sindoor); color: var(--shweta); }
.btn.dark { background: var(--kalika); color: var(--ground); }

/* Home */
.hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--rule); }
.hero .wrap { display: grid; gap: 28px; padding-block: clamp(48px, 7vw, 104px) clamp(36px, 4vw, 64px); position: relative; z-index: 1; }
.hero .h1 { max-width: 12.5em; }
.hero .lede { max-width: 36rem; }
.lines { width: 100%; height: clamp(170px, 22vw, 290px); display: block; }
.lines path { fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; opacity: 0.55; transition: opacity .25s, stroke-width .25s; }
.lines path.on { opacity: 1; stroke-width: 4; }
.lines .zero { stroke: var(--kalika); stroke-width: 1; opacity: 0.25; stroke-dasharray: 2 6; }
.lines-cap { display: flex; flex-wrap: wrap; gap: 6px 18px; justify-content: space-between; font-size: 13.5px; color: var(--muted); }
.lines-cap strong { color: var(--kalika); font-weight: 600; }
.facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.facts div { padding: 22px 18px 22px 0; display: grid; gap: 2px; }
.facts div + div { padding-left: 18px; border-left: 1px solid var(--rule); }
.facts b { font-size: clamp(34px, 3.6vw, 54px); font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.facts span { font-size: 14px; color: var(--muted); }
.doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 28px); }
.door { display: grid; gap: 12px; align-content: start; padding: 26px 24px 28px; background: var(--shweta); border-top: 6px solid var(--c); text-decoration: none; min-width: 0; }
.door p { color: var(--muted); font-size: 15.5px; line-height: 1.6; }
.door .go { font-weight: 600; font-size: 15px; }
.door:hover .go { text-decoration: underline; text-underline-offset: 5px; }
.days { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; border: 1px solid var(--rule); background: var(--shweta); }
.day { padding: 22px 18px 24px; display: grid; gap: 10px; align-content: start; border-top: 8px solid var(--c); min-width: 0; text-decoration: none; }
.day + .day { border-left: 1px solid var(--rule); }
.day .q { font-size: 14.5px; line-height: 1.55; color: var(--muted); }
.day .feat { font-size: 13px; font-weight: 600; }
.arc { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
.arc div { padding: 26px 22px 28px; display: grid; gap: 8px; align-content: start; color: var(--shweta); background: var(--c); min-width: 0; }
.arc .label { opacity: 0.85; }
.arc b { font-size: clamp(22px, 2vw, 30px); font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; }
.arc p { font-size: 15px; line-height: 1.55; }
.quiet { background: var(--ground-deep); }

/* Day page */
.dayhead { background: var(--blue); color: var(--kalika); }
.dayhead .wrap { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 64px); padding-block: clamp(44px, 6vw, 88px); align-items: end; }
.dayhead .h1 { font-size: clamp(42px, 6vw, 88px); }
.prompts { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 15px; line-height: 1.5; counter-reset: q; }
.prompts li { display: grid; grid-template-columns: 2.2em minmax(0, 1fr); counter-increment: q; }
.prompts li::before { content: "Q" counter(q); font-weight: 700; font-size: 12px; letter-spacing: 0.08em; padding-top: 2px; }
.daytabs { display: flex; flex-wrap: wrap; gap: 8px; }
.daytabs a { text-decoration: none; font-size: 13px; font-weight: 600; padding: 6px 14px; border-radius: 30px; background: var(--shweta); border-top: 4px solid var(--c); }
.daytabs a[aria-current="page"] { background: var(--kalika); color: var(--ground); }
.pull { font-size: clamp(24px, 2.6vw, 38px); font-weight: 600; letter-spacing: -0.02em; line-height: 1.3; max-width: 26em; }
.pull cite { display: block; margin-top: 14px; font-style: normal; font-size: 14px; font-weight: 500; letter-spacing: 0.02em; color: var(--muted); }
.voice { border-left: 3px solid var(--c, var(--sindoor)); padding: 2px 0 2px 18px; display: grid; gap: 6px; max-width: 34rem; }
.voice q { font-size: 18px; line-height: 1.55; quotes: "“" "”"; }
.voice span { font-size: 13.5px; color: var(--muted); }
.voice a { font-weight: 600; }
.two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 72px); align-items: start; }
.powers { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 26px; }
.powers .p { font-weight: 800; letter-spacing: -0.025em; line-height: 1.1; color: var(--blue-deep); }
.powers .w { font-weight: 300; font-style: italic; color: var(--muted); font-size: 17px; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2px; background: var(--rule); border: 1px solid var(--rule); }
.split > div { background: var(--shweta); padding: 24px 22px 26px; display: grid; gap: 14px; align-content: start; }
.bars { display: grid; gap: 10px; }
.brow { display: grid; grid-template-columns: minmax(0, 11em) minmax(0, 1fr) 3.4em; gap: 12px; align-items: center; font-size: 14.5px; }
.brow i { display: block; height: 12px; background: var(--c, var(--blue-deep)); border-radius: 0 6px 6px 0; }
.brow .n { text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.base { font-size: 13px; color: var(--muted); }
.call { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.call svg { width: 100%; height: auto; max-width: 620px; }
.call svg text { font-family: var(--font); }
.note { background: var(--shweta); border: 1px solid var(--rule); padding: 22px 24px; display: grid; gap: 10px; max-width: 36rem; }
.note .label { color: var(--blue-deep); }
.lens { display: grid; gap: 22px; }
.lensbar { display: flex; flex-wrap: wrap; gap: 8px; }
.lensbar button { font: 500 14px/1 var(--font); padding: 11px 18px; border-radius: 30px; border: 1.5px solid var(--kalika); background: transparent; color: var(--kalika); cursor: pointer; }
.lensbar button[aria-pressed="true"] { background: var(--kalika); color: var(--ground); }
.lensnote { background: var(--shweta); border-left: 6px solid var(--blue); padding: 24px 26px; display: grid; gap: 12px; max-width: 46rem; }
.lensnote .caveat { font-size: 14px; color: var(--muted); }
.field { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 2.5vw, 36px); }
.field figure { margin: 0; display: grid; gap: 10px; align-content: start; }
.field blockquote { margin: 0; font-size: 18px; line-height: 1.55; }
.field figcaption { font-size: 14px; color: var(--muted); }
.led { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid var(--rule); background: var(--shweta); }
.led > div { padding: 24px 22px; display: grid; gap: 10px; align-content: start; min-width: 0; }
.led > div + div { border-left: 1px solid var(--rule); }
.led b.big { font-size: 40px; font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 26px); }
.card { background: var(--shweta); text-decoration: none; display: grid; grid-template-rows: auto 1fr; min-width: 0; }
.card .art { aspect-ratio: 16 / 10; background: var(--c); display: grid; place-items: end start; padding: 16px; overflow: hidden; }
.card .art img { width: 100%; height: 100%; object-fit: cover; }
.card .body { padding: 18px 20px 22px; display: grid; gap: 6px; align-content: start; }
.card .sub { font-size: 14.5px; color: var(--muted); font-style: italic; }

/* Portrait page */
.phead .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(24px, 4vw, 64px); align-items: center; padding-block: clamp(36px, 5vw, 72px); }
.phead figure { margin: 0; display: grid; gap: 10px; }
.phead figcaption { font-size: 13.5px; color: var(--muted); }
.phead .name { font-weight: 800; letter-spacing: -0.04em; font-size: clamp(56px, 8vw, 120px); line-height: 0.95; }
.phead .sp { font-size: clamp(20px, 1.9vw, 27px); line-height: 1.4; }
.phead .sp em { font-style: normal; font-weight: 700; color: var(--blue-deep); }
.cn { font-size: 14px; color: var(--muted); border-top: 1px solid var(--rule); padding-top: 12px; max-width: 32rem; }
.prose { display: grid; gap: 1.15em; max-width: var(--read); font-size: 18px; line-height: 1.8; }
.prose q { quotes: "“" "”"; font-weight: 500; color: var(--mrida); }
.prose .interp { color: var(--muted); font-style: italic; }
.strip { display: grid; gap: 0; }
.tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.tabs button { font: 600 13.5px/1.3 var(--font); text-align: left; padding: 14px 14px 12px; border: 0; border-top: 6px solid var(--c); background: var(--ground-deep); color: var(--kalika); cursor: pointer; min-width: 0; }
.tabs button[aria-selected="true"] { background: var(--shweta); }
.tabs button span { display: block; font-weight: 400; font-size: 12.5px; color: var(--muted); }
.panel { background: var(--shweta); padding: clamp(22px, 3vw, 40px); display: grid; gap: 18px; }
.panel .voice q { font-size: 20px; }
.lifeline svg { width: 100%; height: auto; display: block; }
.lifeline svg text { font-family: var(--font); }
.envelope { max-width: 40rem; background: var(--shweta); border: 1px solid var(--rule); }
.envelope button { width: 100%; text-align: left; font: 600 16px/1.4 var(--font); padding: 22px 24px; background: var(--yellow); border: 0; cursor: pointer; color: var(--kalika); display: flex; justify-content: space-between; gap: 12px; }
.envelope .letter { padding: 26px 28px 30px; display: grid; gap: 12px; }
.envelope .letter p { font-family: var(--script); font-size: clamp(30px, 3vw, 40px); line-height: 1.25; color: var(--mrida); }
.method { font-size: 14px; color: var(--muted); max-width: 46rem; }
.foot { background: var(--kalika); color: var(--ground); }
.foot .wrap { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; padding-block: 48px; font-size: 14px; line-height: 1.7; }
.foot .label { color: var(--yellow); }

@media (max-width: 900px) {
  .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .facts div:nth-child(3) { padding-left: 0; border-left: 0; }
  .doors, .cards, .led, .field { grid-template-columns: minmax(0, 1fr); }
  .led > div + div { border-left: 0; border-top: 1px solid var(--rule); }
  .days { grid-template-columns: minmax(0, 1fr); }
  .day + .day { border-left: 0; border-top: 1px solid var(--rule); }
  .arc, .two, .split, .call, .dayhead .wrap, .phead .wrap, .foot .wrap { grid-template-columns: minmax(0, 1fr); }
  .tabs { grid-template-columns: repeat(5, minmax(120px, 1fr)); overflow-x: auto; }
  .brow { grid-template-columns: minmax(0, 8.5em) minmax(0, 1fr) 3.2em; font-size: 13.5px; }
}

/* ==========================================================================================
   SHAKTI site: components layered on the approved mockup base (site-base.css).
   JIVINITI design system in the Project RESET language: heavy Poppins, letter-spaced labels,
   the five pathway colors, "re" in Sindoor, torn Sindoor edges, generous ground.
   Pathway colors are used as fields, rules and marks. Where a pathway color must carry small text,
   its "-ink" shade (same hue, deeper) is used so text meets WCAG AA.
   ========================================================================================== */
:root {
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px; --s10: 128px;
  --sindoor-ink: #b8392a; --sevantika-ink: #b04a26; --teal-ink: #2f6668; --blue-ink: #2f6f7d; --ochre-ink: #8a5a12;
  --yellow-ink: #1d1d1d; --mrida-ink: #52292b;
  --sindoor-btn: #c4402f;
  --line: #1d1d1d1a; --shadow: 0 1px 2px #1d1d1d0f, 0 8px 28px -12px #1d1d1d33;
  --read: 38rem; --max: 1360px;
  --torn: polygon(0 0, 100% 0, 100% 45%, 96% 80%, 91% 40%, 86% 90%, 80% 35%, 74% 75%, 69% 30%, 63% 85%, 57% 40%, 51% 80%, 45% 30%, 39% 75%, 33% 35%, 27% 90%, 21% 40%, 15% 80%, 9% 30%, 4% 75%, 0 40%);
  --torn-up: polygon(0 60%, 4% 25%, 9% 70%, 15% 20%, 21% 60%, 27% 10%, 33% 65%, 39% 25%, 45% 70%, 51% 20%, 57% 60%, 63% 15%, 69% 70%, 74% 25%, 80% 65%, 86% 10%, 91% 60%, 96% 20%, 100% 55%, 100% 100%, 0 100%);
}
html { scroll-padding-top: 96px; }
body { overflow-x: hidden; }
main { display: block; }
:where(.stack, .sh) > * { max-width: 100%; }
.lede, .copy { max-width: min(100%, var(--read)); }
[hidden] { display: none !important; }
main:focus { outline: none; }
::selection { background: var(--yellow); color: var(--kalika); }
a { text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--kalika); outline-offset: 3px; border-radius: 2px; }
.resetband :focus-visible, .foot :focus-visible, .rem :focus-visible { outline-color: var(--yellow); }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: var(--s4); top: -100px; z-index: 100; background: var(--kalika); color: var(--ground); padding: var(--s3) var(--s5); border-radius: 30px; font-weight: 600; text-decoration: none; }
.skip:focus { top: var(--s3); }
.label { letter-spacing: 0.24em; }
.kick { display: inline-flex; align-items: center; gap: var(--s3); }
.kick > i { display: inline-block; width: 28px; height: 3px; background: var(--c, var(--sindoor)); flex: none; }
.h1 { font-weight: 800; }
.h2 { font-weight: 800; letter-spacing: -0.032em; }
.lede { color: var(--mrida); }
.base { line-height: 1.6; }
.section { padding-block: clamp(64px, 8vw, 128px); position: relative; }
.re { color: var(--sindoor); }
.rw { white-space: nowrap; }

/* -------------------------------------------------- review bar + header */
.review { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s1) var(--s5); align-items: center; font-size: 13px; line-height: 1.5; padding: 7px var(--gutter); }
.review a { font-weight: 600; }
.top { background: color-mix(in srgb, var(--ground) 94%, transparent); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--line); }
.top .wrap { flex-wrap: nowrap; gap: var(--s5); min-height: 72px; }
.mark { align-items: center; gap: var(--s3); margin-right: auto; flex: none; }
.mark b { font-size: 21px; letter-spacing: 0.2em; font-weight: 800; }
.mark span { font-size: 10.5px; line-height: 1.35; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); border-left: 1px solid var(--line); padding-left: var(--s3); }
.menu ul { list-style: none; margin: 0; padding: 0; display: flex; gap: var(--s1) clamp(14px, 1.4vw, 24px); flex-wrap: nowrap; }
.menu a { display: block; font-size: 14px; font-weight: 500; padding: 6px 0; position: relative; white-space: nowrap; }
.menu a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--sindoor); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.menu a:hover { text-decoration: none; }
.menu a:hover::after { transform: scaleX(1); background: var(--kalika); }
.menu a[aria-current="page"] { font-weight: 700; }
.menu a[aria-current="page"]::after { transform: scaleX(1); background: var(--sindoor); }
.btn { transition: background .15s, color .15s, transform .15s; }
.btn:hover { transform: translateY(-1px); }
.btn.red { background: var(--sindoor-btn); border-color: var(--sindoor-btn); color: #fff; }
.btn.red:hover { background: var(--sindoor-ink); border-color: var(--sindoor-ink); }
.btn.yellow { background: var(--yellow); border-color: var(--yellow); color: var(--kalika); font-weight: 700; }
.donate { padding: 11px 22px; font-size: 14.5px; flex: none; }
.menu-btn { display: none; align-items: center; gap: 10px; font: 600 14px/1 var(--font); background: transparent; border: 1.5px solid var(--kalika); border-radius: 30px; padding: 10px 16px; cursor: pointer; color: var(--kalika); }
.menu-btn .bars { display: grid; gap: 4px; width: 16px; }
.menu-btn .bars i { display: block; height: 2px; background: currentColor; transition: transform .2s, opacity .2s; }
.top.open .menu-btn .bars i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.top.open .menu-btn .bars i:nth-child(2) { opacity: 0; }
.top.open .menu-btn .bars i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
@media (max-width: 1580px) {
  .js .menu-btn { display: inline-flex; }
  .js .menu { position: absolute; left: 0; right: 0; top: 100%; background: var(--ground); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); display: none; }
  .js .top.open .menu { display: block; }
  .js .menu ul { flex-direction: column; padding: var(--s3) var(--gutter) var(--s5); gap: 0; max-width: var(--max); margin-inline: auto; }
  .js .menu a { font-size: 18px; font-weight: 600; padding: 12px 0; border-bottom: 1px solid var(--line); }
  .js .menu a::after { display: none; }
  .js .menu a[aria-current="page"] { color: var(--sindoor-ink); }
  .js .menu a[aria-current="page"]::before { content: ""; display: inline-block; width: 18px; height: 3px; background: var(--sindoor); vertical-align: middle; margin-right: 10px; }
  html:not(.js) .top .wrap { flex-wrap: wrap; }
  html:not(.js) .menu ul { flex-wrap: wrap; }
}
@media (max-width: 560px) {
  .mark span { display: none; }
  .donate { padding: 10px 16px; }
  .top .wrap { gap: var(--s3); min-height: 64px; }
}

/* -------------------------------------------------- footer */
.foot { position: relative; margin-top: 0; }
.foot .torn { display: none; }
.foot .wrap { grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 0.8fr)) minmax(0, 1.3fr); gap: var(--s7); padding-block: var(--s8) var(--s7); font-size: 14px; line-height: 1.7; color: #e9e4de; }
.foot .fcol { display: grid; gap: var(--s3); align-content: start; }
.foot .fmark { font-weight: 800; font-size: 30px; letter-spacing: 0.2em; color: var(--ground); line-height: 1; margin-bottom: var(--s2); }
.foot .copy-line { color: var(--ground); font-weight: 600; }
.foot ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.foot a { text-decoration: none; }
.foot a:hover { text-decoration: underline; }
.fdays i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--c); margin-right: 10px; }
@media (max-width: 1000px) { .foot .wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .foot .wrap { grid-template-columns: minmax(0, 1fr); gap: var(--s6); } }

/* -------------------------------------------------- shared atoms */
.sh { display: grid; gap: var(--s4); justify-items: start; max-width: min(100%, 56rem); }
.sh.center { justify-items: center; text-align: center; margin-inline: auto; }
.sh .lede { margin-top: var(--s2); }
.tag { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 4px 10px 3px; border-radius: 30px; background: var(--ground-deep); color: var(--mrida); white-space: nowrap; vertical-align: middle; line-height: 1.5; }
.tag.doc { background: var(--kalika); color: var(--ground); }
.tag.doc::before { content: ""; width: 14px; height: 2px; background: currentColor; }
.tag.read { background: transparent; color: var(--kalika); box-shadow: inset 0 0 0 1.5px var(--kalika); }
.tag.read::before { content: ""; width: 14px; height: 0; border-top: 2px dashed currentColor; }
.tag.pend { background: transparent; color: var(--muted); box-shadow: inset 0 0 0 1px var(--line); }
a.go, .go { font-weight: 600; font-size: 15px; text-decoration: none; display: inline-flex; gap: 6px; align-items: baseline; }
a.go:hover { text-decoration: underline; }
.links { display: flex; flex-wrap: wrap; gap: var(--s3) var(--s5); align-items: center; }
.chip { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; padding: 4px 11px 4px 8px; border-radius: 30px; background: var(--shweta); color: var(--kalika); box-shadow: inset 0 0 0 1px var(--line); }
.chip::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
.pchips, .pchips-s { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s2); }
.pchips-s .pchip { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 600; padding: 4px 11px 4px 8px; border-radius: 30px; background: var(--shweta); box-shadow: inset 0 0 0 1px var(--line); }
.pchips-s .pchip i { width: 10px; height: 10px; border-radius: 50%; background: var(--c); }
.legend { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s5); align-items: center; font-size: 13px; color: var(--muted); line-height: 1.5; }
.legend > span { display: inline-flex; align-items: center; gap: var(--s2); }
.legend .sep, .tlegend .sep { width: 1px; height: 18px; background: var(--line); }
.sw { display: inline-block; width: 14px; height: 14px; border-radius: 50%; background: var(--c); }
.note { background: var(--shweta); border: 0; border-left: 4px solid var(--c, var(--blue-deep)); padding: var(--s5) var(--s5); display: grid; gap: var(--s3); max-width: min(100%, 40rem); font-size: 15.5px; line-height: 1.65; box-shadow: var(--shadow); }
.note .label { color: var(--kalika); display: flex; flex-wrap: wrap; gap: var(--s3); align-items: center; }
.note.wide { max-width: min(100%, 56rem); }
.reading { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.6; font-style: italic; font-weight: 300; color: var(--mrida); max-width: min(100%, 44rem); border-left: 3px solid var(--c, var(--sindoor)); padding-left: var(--s5); }
.cn { font-size: 14px; color: var(--muted); border-top: 1px solid var(--line); padding-top: var(--s3); max-width: min(100%, 38rem); }
.cn.banner { border: 0; background: var(--shweta); border-left: 4px solid var(--kalika); padding: var(--s3) var(--s4); margin-bottom: var(--s6); font-size: 14px; color: var(--mrida); max-width: min(100%, 52rem); }
.gcard { background: var(--shweta); padding: var(--s5); display: grid; gap: var(--s3); box-shadow: var(--shadow); }
.big { font-size: clamp(34px, 3.2vw, 48px); font-weight: 800; letter-spacing: -0.035em; line-height: 1; font-variant-numeric: tabular-nums; }

/* voices */
.voice { margin: 0; border-left: 3px solid var(--c, var(--sindoor)); padding: 2px 0 2px var(--s5); display: grid; gap: var(--s2); max-width: min(100%, 36rem); }
.voice blockquote { margin: 0; }
.voice q { font-size: 18px; line-height: 1.55; quotes: "“" "”"; }
.voice figcaption { font-size: 13.5px; color: var(--muted); }
.voice figcaption a { font-weight: 600; color: var(--kalika); }
.voice .ctx { font-style: italic; }
.voice.big { border-left: 0; padding: 0; gap: var(--s4); }
.voice.big blockquote { position: relative; }
.voice.big blockquote::before { content: "“"; position: absolute; left: -0.08em; top: -0.42em; font-size: 140px; line-height: 1; font-weight: 800; color: var(--c); opacity: .9; }
.voice.big q { display: block; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.38; font-weight: 600; letter-spacing: -0.015em; padding-top: 52px; quotes: none; }
.voice.big figcaption { border-top: 2px solid var(--c); padding-top: var(--s3); justify-self: start; font-weight: 400; letter-spacing: 0; word-spacing: normal; }

/* bars */
.bars { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s3); width: 100%; }
.brow { grid-template-columns: minmax(0, 13em) minmax(0, 1fr) 2.6em; gap: var(--s4); font-size: 14.5px; line-height: 1.35; }
.brow .bt { display: block; height: 14px; background: color-mix(in srgb, var(--c) 12%, transparent); border-radius: 0 8px 8px 0; position: relative; }
.brow .bt i { display: block; height: 100%; background: var(--c); border-radius: 0 8px 8px 0; transform-origin: left; animation: grow 1s cubic-bezier(.2,.7,.2,1) both; }
.brow .n { font-weight: 800; font-size: 17px; text-align: right; }
.bars.dark .brow { color: #f1ece6; }
.bars.dark .brow .bt { background: #ffffff1a; }
@keyframes grow { from { transform: scaleX(0); } }
@media (max-width: 600px) { .brow { grid-template-columns: minmax(0, 1fr) 2.4em; gap: 4px var(--s3); } .brow .bl { grid-column: 1 / -1; } .brow .bt { grid-column: 1; } }

/* -------------------------------------------------- section layouts */
.prose { max-width: var(--read); font-size: 18px; line-height: 1.8; }
.prose p + p { margin-top: 0; }
.prose b, .prose strong { font-weight: 700; }
.prose-s { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr); gap: var(--s5) clamp(32px, 6vw, 112px); align-items: start; }
.prose-s .sh { position: sticky; top: 110px; }
.prose-q { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--s7) clamp(40px, 6vw, 112px); align-items: center; }
.pq { padding: var(--s6) 0; }
.two { gap: var(--s7) clamp(40px, 6vw, 112px); align-items: center; }
.two .qs { align-self: center; }
.linklist { list-style: none; padding: 0; margin: var(--s2) 0 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.linklist li { display: flex; justify-content: space-between; gap: var(--s4); align-items: center; padding: var(--s3) 0; border-bottom: 1px solid var(--line); font-size: 15.5px; line-height: 1.45; }
.when.label { color: var(--ink, var(--kalika)); }
@media (max-width: 900px) { .prose-s, .prose-q { grid-template-columns: minmax(0, 1fr); } .prose-s .sh { position: static; } }

/* pull quote: the quiet climax inside a day */
.pullsec { background: color-mix(in srgb, var(--c) 16%, var(--ground)); }
.pull { margin: 0 auto; max-width: min(100%, 62rem); text-align: center; display: grid; gap: var(--s5); justify-items: center; }
.pull blockquote { margin: 0; }
.pull blockquote p { font-size: clamp(28px, 3.4vw, 50px); line-height: 1.22; font-weight: 700; letter-spacing: -0.028em; text-wrap: balance; }
.pull blockquote p::before { content: "“"; display: block; font-size: 1.9em; line-height: .6; color: var(--ink); font-weight: 800; margin-bottom: 8px; }
.pull figcaption { font-size: 14.5px; color: var(--mrida); }
.pull figcaption::before { content: ""; display: inline-block; vertical-align: middle; width: 32px; height: 2px; background: var(--kalika); margin-right: 10px; }

/* split */
.split { gap: 0; background: transparent; border: 0; box-shadow: var(--shadow); width: 100%; }
.split > div { padding: clamp(24px, 3vw, 44px); gap: var(--s5); }
.split .sp { border-top: 8px solid var(--c); }
.split .sp.r { background: var(--shweta); }
.split .sp.l { background: var(--shweta); border-right: 1px solid var(--line); }

/* words */
.powers { list-style: none; margin: 0; padding: 0; gap: var(--s2) clamp(18px, 2.2vw, 34px); max-width: min(100%, 76rem); }
.powers .p { color: var(--ink); font-weight: 800; }
.powers .p:nth-child(3n) { color: var(--kalika); }
.powers .w { font-weight: 300; font-style: italic; color: var(--mrida); font-size: clamp(16px, 1.3vw, 19px); }

/* quote masonry */
.qmason { columns: 3 300px; column-gap: var(--s5); width: 100%; }
.qmason > * { break-inside: avoid; margin: 0 0 var(--s5); display: inline-grid; width: 100%; vertical-align: top; }
.qcard { background: var(--shweta); padding: var(--s5) var(--s5) var(--s5); display: grid; gap: var(--s3); position: relative; border-top: 4px solid var(--c); box-shadow: var(--shadow); }
.quiet .qcard { background: var(--shweta); }
.qcard blockquote { margin: 0; }
.qcard q { font-size: 17px; line-height: 1.6; quotes: "“" "”"; }
.qcard:nth-child(4n+1) q { font-size: 19.5px; font-weight: 500; line-height: 1.5; }
.qcard figcaption { font-size: 13px; color: var(--muted); }
.qcard figcaption a { font-weight: 600; color: var(--kalika); }
.qmason .voice { background: var(--shweta); padding: var(--s4) var(--s5); box-shadow: var(--shadow); }

/* -------------------------------------------------- features */
.feat { display: grid; gap: var(--s4); margin-bottom: var(--s7); }
.feat .lede { max-width: min(100%, 44rem); }
.fbody { display: grid; gap: var(--s6); }

/* constellation */
.call { grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.9fr); gap: var(--s7) clamp(32px, 5vw, 96px); align-items: center; }
@media (max-width: 900px) { .call { grid-template-columns: minmax(0, 1fr); } }
.constfig { margin: 0; display: grid; gap: var(--s3); }
.call svg.const { max-width: 720px; }
.const .spoke { stroke: var(--kalika); stroke-opacity: .22; }
.const .spoke.none { stroke-dasharray: 4 6; }
.const .c1 { font: 800 26px var(--font); fill: var(--ground); letter-spacing: -0.02em; }
.const .c2 { font: 500 13px var(--font); fill: #e9e4de; }
.const .cn1 { font-family: var(--font); font-weight: 800; }
.const .cl { font-family: var(--font); font-weight: 600; fill: var(--kalika); }
.constq { display: grid; gap: var(--s6); margin-top: var(--s7); }
.constq .qmason { columns: 3 280px; }

/* lifelines: small multiples */
.lgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5); }
.lcard { margin: 0; background: var(--shweta); padding: var(--s5) var(--s5) var(--s4); display: grid; gap: var(--s3); align-content: start; box-shadow: var(--shadow); border-top: 4px solid var(--c); }
.lcard figcaption { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px var(--s3); }
.lcard .nm { font-weight: 800; font-size: 21px; letter-spacing: -0.02em; }
.lcard .nm a { text-decoration: none; }
.lcard .nm a:hover { text-decoration: underline; }
.lcard .meta { font-size: 13px; color: var(--muted); margin-right: auto; }
.lcard .tag { font-size: 10px; }
.ll-s, .ll-l { width: 100%; height: auto; display: block; overflow: visible; }
.ll-s .zero, .ll-l .zero, .lines .zero { stroke: var(--kalika); stroke-opacity: .35; stroke-dasharray: 2 6; stroke-width: 1; }
.ll-path { fill: none; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.ll-l .ll-path { stroke-width: 5; }
.ll-path[data-read] { stroke-dasharray: 9 7; }
.ll-l .ll-path[data-read] { stroke-dasharray: 14 10; }
.dot-h { fill: var(--c); stroke: var(--shweta); stroke-width: 2; }
.dot-r { fill: var(--shweta); stroke: var(--c); stroke-width: 3; }
.lt { font-family: var(--font); fill: var(--kalika); font-weight: 500; }
.lt.hi, .lt.lo { font-weight: 600; }
.ll-l .lt { font-weight: 500; }
.ll-l .axis { font-family: var(--font); font-weight: 700; letter-spacing: .2em; fill: var(--muted); }
.ll-l .lead { stroke: var(--kalika); stroke-opacity: .3; stroke-width: 1; }
.lnote { font-size: 13px; color: var(--muted); line-height: 1.5; }
.moments { font-size: 13.5px; border-top: 1px solid var(--line); padding-top: var(--s2); }
.moments summary { cursor: pointer; font-weight: 600; font-size: 13px; padding: 4px 0; list-style: none; display: flex; align-items: center; gap: 8px; }
.moments summary::-webkit-details-marker { display: none; }
.moments summary::before { content: "+"; display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--kalika); font-size: 13px; line-height: 1; }
.moments[open] summary::before { content: "−"; }
.moments ol { margin: var(--s2) 0 0; padding: 0; list-style: none; display: grid; gap: 6px; line-height: 1.45; }
.moments li { display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 8px; }
.sgn { width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; margin-top: 6px; }
.sgn.up { border-bottom: 8px solid var(--c); }
.sgn.dn { border-top: 8px solid var(--c); opacity: .6; }
.themes { display: grid; gap: var(--s5); margin-top: var(--s6); }
.thlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s5) var(--s7); }
.thlist li { display: grid; gap: var(--s2); border-top: 1px solid var(--line); padding-top: var(--s3); }
.th-top { display: flex; gap: var(--s3); align-items: baseline; }
.th-top .n { font-size: 34px; font-weight: 800; letter-spacing: -0.03em; line-height: 1; color: var(--kalika); min-width: 1.4em; }
.th-top .tt { font-weight: 600; font-size: 16px; line-height: 1.35; }
.thlist .bt { display: block; height: 6px; background: color-mix(in srgb, var(--c) 15%, transparent); border-radius: 4px; }
.thlist .bt i { display: block; height: 100%; background: var(--c); border-radius: 4px; }
.thlist .who { font-size: 13px; color: var(--muted); line-height: 1.6; }
.thlist .who a { color: var(--mrida); }
@media (max-width: 1100px) { .lgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .lgrid, .thlist { grid-template-columns: minmax(0, 1fr); } }

/* letters: envelopes that open */
.envs { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--s6) var(--s5); align-items: start; }
.env { max-width: none; background: transparent; border: 0; position: relative; }
.env summary { list-style: none; cursor: pointer; position: relative; display: grid; align-content: end; justify-items: center; text-align: center; gap: var(--s2); min-height: 240px; padding: var(--s5); background: color-mix(in srgb, var(--c) 30%, var(--shweta)); box-shadow: var(--shadow); overflow: hidden; isolation: isolate; transition: transform .2s; }
.env summary::-webkit-details-marker { display: none; }
.env summary::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top right, transparent calc(50% - 1px), #1d1d1d14 50%, transparent calc(50% + 1px)) left bottom / 50% 56% no-repeat, linear-gradient(to top left, transparent calc(50% - 1px), #1d1d1d14 50%, transparent calc(50% + 1px)) right bottom / 50% 56% no-repeat; }
.env .flap { position: absolute; left: 0; right: 0; top: 0; height: 44%; background: color-mix(in srgb, var(--c) 55%, var(--shweta)); clip-path: polygon(0 0, 100% 0, 50% 100%); transform-origin: top; transition: transform .45s cubic-bezier(.3,.7,.2,1); z-index: 1; }
.env .seal { position: absolute; left: 50%; top: calc(44% - 16px); width: 30px; height: 30px; margin-left: -15px; border-radius: 50%; background: var(--sindoor); box-shadow: inset 0 0 0 4px #ffffff40, 0 2px 4px #1d1d1d33; z-index: 2; transition: opacity .2s; }
.env[open] .seal { opacity: 0; }
.env .addr { position: relative; z-index: 2; display: grid; gap: 0; }
.env .to { font-size: 10.5px; color: var(--mrida); }
.env .hand { font-family: var(--script); font-size: clamp(40px, 3.4vw, 52px); line-height: 1.05; color: var(--kalika); }
.env .open { position: relative; z-index: 2; font-weight: 700; font-size: 13.5px; display: inline-flex; gap: 8px; align-items: center; }
.env .open::after { content: "→"; transition: transform .2s; }
.env summary:hover { transform: translateY(-3px); }
.env summary:hover .open::after { transform: translateX(4px); }
.env[open] summary { min-height: 120px; }
.env[open] .flap { transform: scaleY(-1); opacity: .9; }
.env[open] .open::after { content: "×"; }
.env[open] .open { font-size: 0; }
.env[open] .open::before { content: "Fold it away"; font-size: 13.5px; }
.paper { background: var(--shweta) repeating-linear-gradient(to bottom, transparent 0 33px, #82bcc84d 33px 34px); background-position: 0 32px; padding: 32px var(--s5) var(--s5); display: grid; gap: var(--s4); box-shadow: var(--shadow); border-top: 1px solid var(--line); position: relative; animation: unfold .5s cubic-bezier(.3,.7,.2,1) both; }
.paper .ltext { font-size: 17px; line-height: 34px; font-weight: 400; color: var(--kalika); }
.paper .from { font-size: 13px; color: var(--muted); line-height: 1.5; }
.paper .from a { color: var(--kalika); font-weight: 600; }
.paper .cn { margin-bottom: 0; }
@keyframes unfold { from { opacity: 0; transform: translateY(-14px); } }
.env.solo { width: min(100%, 44rem); }
.env.solo summary { min-height: 340px; padding: var(--s6); }
.env.solo .hand { font-size: clamp(52px, 6vw, 84px); }
.env.solo[open] summary { min-height: 150px; }
.env.solo .paper { padding: 48px clamp(24px, 5vw, 56px) var(--s6); }
.env.solo .ltext { font-size: 19px; line-height: 38px; }
.env.solo .paper { background-size: 100% 38px; background-image: repeating-linear-gradient(to bottom, transparent 0 37px, #82bcc84d 37px 38px); background-position: 0 48px; }
.motifs { margin-top: var(--s7); align-items: center; }

/* pathways (findings) */
.pw-rows { display: grid; gap: var(--s3); }
.pw-row { display: grid; grid-template-columns: minmax(0, 0.55fr) minmax(0, 1fr) minmax(0, 1fr); background: var(--shweta); box-shadow: var(--shadow); }
.pw-name { background: var(--c); padding: var(--s5); display: grid; align-content: space-between; gap: var(--s5); min-height: 180px; }
.pw-name h3 { font-weight: 800; font-size: clamp(30px, 2.8vw, 44px); letter-spacing: -0.035em; line-height: 1; color: var(--kalika); }
.pw-name .label { color: var(--ground); background: var(--kalika); justify-self: start; padding: 4px 9px 3px; font-size: 11px; }
.pw-row:has(.pw-name) .pw-name h3 { color: var(--kalika); }
.pw-said, .pw-resp { padding: var(--s5) var(--s5) var(--s6); display: grid; gap: var(--s4); align-content: start; font-size: 15.5px; line-height: 1.65; }
.pw-said { border-right: 1px solid var(--line); }
.pw-said .label, .pw-resp .label { color: var(--ink); }
@media (max-width: 1000px) { .pw-row { grid-template-columns: minmax(0, 1fr); } .pw-name { min-height: 0; } .pw-said { border-right: 0; border-bottom: 1px solid var(--line); } }

/* design links */
.dlgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: var(--s5); counter-reset: dl; }
.dl { background: var(--shweta); padding: var(--s5) var(--s5) var(--s6); display: grid; gap: var(--s3); align-content: start; box-shadow: var(--shadow); position: relative; font-size: 15.5px; line-height: 1.65; }
.dl .dn { font-size: 44px; font-weight: 800; letter-spacing: -0.04em; line-height: 1; color: var(--ink); }
.dl .src { font-size: 12.5px; color: var(--muted); border-top: 1px solid var(--line); padding-top: var(--s2); }

/* experts: monogram tiles */
.egrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5); align-items: start; }
.expert { background: var(--shweta); padding: var(--s5); display: grid; gap: var(--s4); box-shadow: var(--shadow); align-content: start; }
.eh { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--s4); align-items: start; }
.mono { width: 72px; height: 72px; display: grid; place-items: center; background: var(--c); color: var(--kalika); font-weight: 800; font-size: 26px; letter-spacing: -0.02em; border-radius: 50%; }
.expert .h3 { font-size: 20px; }
.expert .role { font-size: 13.5px; color: var(--muted); line-height: 1.45; margin: 4px 0 8px; }
.expert .eq { margin: 0; border-left: 3px solid var(--c); padding-left: var(--s4); display: grid; gap: 4px; }
.expert .eq p { font-size: 16px; line-height: 1.55; font-weight: 500; color: var(--kalika); }
.expert .eq cite { font-style: normal; font-size: 12px; color: var(--muted); letter-spacing: .04em; }
.saw { border-top: 1px solid var(--line); padding-top: var(--s3); font-size: 15px; line-height: 1.7; }
.saw summary { cursor: pointer; font-weight: 600; font-size: 14px; list-style: none; display: flex; gap: 8px; align-items: center; }
.saw summary::-webkit-details-marker { display: none; }
.saw summary::before { content: "+"; display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--kalika); font-size: 14px; line-height: 1; flex: none; }
.saw[open] summary::before { content: "−"; }
.saw p { margin-top: var(--s3); }
@media (max-width: 1100px) { .egrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .egrid { grid-template-columns: minmax(0, 1fr); } }

/* timeline: a vertical journey */
.tlegend { display: flex; flex-wrap: wrap; gap: var(--s3) var(--s5); align-items: center; font-size: 13.5px; color: var(--mrida); padding: var(--s3) var(--s4); background: var(--shweta); box-shadow: var(--shadow); justify-self: start; }
.tlegend span { display: inline-flex; align-items: center; gap: var(--s2); }
.tl { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; position: relative; }
.ti { display: grid; grid-template-columns: minmax(0, 200px) 56px minmax(0, 1fr); align-items: start; position: relative; padding-bottom: var(--s6); }
.ti::before { content: ""; position: absolute; left: calc(min(200px, 30%) + 27px); top: 0; bottom: 0; width: 3px; background: var(--kalika); opacity: .14; }
.ti:last-child::before { bottom: auto; height: 30px; }
.ti .when { font-weight: 700; font-size: 15px; line-height: 1.4; text-align: right; padding-top: 18px; color: var(--kalika); }
.tbc { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); border: 1px dashed var(--muted); border-radius: 20px; padding: 1px 8px; }
.ti .node { justify-self: center; margin-top: 18px; width: 22px; height: 22px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 5px var(--ground); position: relative; z-index: 1; }
.quiet .ti .node { box-shadow: 0 0 0 5px var(--ground-deep); }
.ti.read .node { background: var(--ground); border: 3px dashed var(--c); }
.ti.doc .node { box-shadow: 0 0 0 5px var(--ground), 0 0 0 7px var(--c); }
.tcard { background: var(--shweta); padding: var(--s5); display: grid; gap: var(--s3); box-shadow: var(--shadow); border-left: 5px solid var(--c); position: relative; max-width: min(100%, 50rem); font-size: 16px; line-height: 1.7; }
.tcard::before { content: ""; position: absolute; left: -33px; top: 28px; width: 28px; border-top: 3px solid var(--c); }
.ti.read .tcard { border-left-style: dashed; }
.ti.read .tcard::before { border-top-style: dashed; }
.tcard .label { color: var(--ink); display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); }
.tcard .chips { display: flex; flex-wrap: wrap; gap: var(--s2); }
@media (max-width: 760px) {
  .ti { grid-template-columns: 40px minmax(0, 1fr); padding-bottom: var(--s5); }
  .ti::before { left: 18px; }
  .ti .when { grid-column: 2; text-align: left; padding: 0 0 var(--s2); }
  .ti .node { grid-column: 1; grid-row: 1 / span 2; margin-top: 2px; width: 18px; height: 18px; }
  .ti .tcard { grid-column: 2; }
  .tcard::before { display: none; }
}

/* participants */
.funnel { display: grid; gap: var(--s2); max-width: min(100%, 54rem); }
.funnel div { width: var(--w); min-width: 220px; background: var(--kalika); color: var(--ground); padding: var(--s3) var(--s4); display: flex; gap: var(--s3); align-items: baseline; }
.funnel div:nth-child(2) { background: var(--mrida); }
.funnel div:nth-child(3) { background: var(--blue-ink); }
.funnel b { font-size: 30px; font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.funnel span { font-size: 14px; }
.ptab-wrap { overflow-x: auto; background: var(--shweta); box-shadow: var(--shadow); }
.ptab { border-collapse: collapse; width: 100%; min-width: 620px; }
.ptab th, .ptab td { padding: var(--s4) var(--s4); border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.ptab thead th { font-size: 12.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ptab tbody th { border-left: 6px solid var(--c); width: 220px; }
.ptab tbody th b { font-size: 20px; font-weight: 800; letter-spacing: -0.02em; display: block; }
.ptab tbody th span { display: block; font-weight: 400; font-size: 13px; color: var(--muted); }
.dots { display: flex; flex-wrap: wrap; gap: 5px; max-width: 220px; }
.dot { display: inline-block; width: 18px; height: 18px; border-radius: 50%; background: var(--c); margin: 0; vertical-align: middle; }
.dot.hollow { background: transparent; border: 3px solid var(--c); }
.dots.un .dot { background: transparent; border: 2px dashed var(--c); }
.dots.un { margin-top: 6px; }

@media (max-width: 700px) {
  .ptab-wrap { overflow: visible; background: transparent; box-shadow: none; }
  .ptab, .ptab tbody, .ptab tr, .ptab th, .ptab td { display: block; min-width: 0; width: auto !important; }
  .ptab thead { display: none; }
  .ptab tr { background: var(--shweta); box-shadow: var(--shadow); margin-bottom: var(--s3); border-left: 6px solid var(--c); }
  .ptab tbody th { border-left: 0; }
  .ptab td { display: grid; grid-template-columns: 5em minmax(0, 1fr); align-items: center; padding: var(--s2) var(--s4); }
  .ptab td::before { content: attr(data-age); font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--muted); }
}

/* plates: a table setting */
.plates { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s5); }
.mat { background: var(--shweta); padding: var(--s6) var(--s5) var(--s5); display: grid; gap: var(--s5); align-content: start; box-shadow: var(--shadow); position: relative; }
.mat::before { content: ""; position: absolute; inset: 10px; border: 1px solid color-mix(in srgb, var(--c) 35%, transparent); pointer-events: none; }
.setting { display: grid; grid-template-columns: 22px minmax(0, 1fr) 22px; gap: var(--s4); align-items: center; justify-items: center; }
.setting svg { width: 18px; height: 110px; fill: none; stroke: var(--mrida); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; opacity: .55; }
.dish { width: min(100%, 210px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, var(--shweta) 0 52%, color-mix(in srgb, var(--c) 10%, var(--shweta)) 53% 62%, var(--shweta) 63% 64%, color-mix(in srgb, var(--c) 22%, var(--shweta)) 65%); box-shadow: 0 6px 18px -8px #1d1d1d40, inset 0 0 0 1px var(--line); display: grid; place-content: center; text-align: center; gap: 2px; }
.dish .dn { font-weight: 800; font-size: 24px; letter-spacing: -0.02em; line-height: 1.1; }
.dish .dn a { text-decoration: none; }
.dish .dn a:hover { text-decoration: underline; }
.dish .dm { font-size: 12px; color: var(--muted); }
.meals { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; position: relative; }
.meals li { display: grid; grid-template-columns: 7.2em minmax(0, 1fr); gap: var(--s3); padding: var(--s3) 0; border-top: 1px solid var(--line); font-size: 15px; line-height: 1.55; }
.meals .label { font-size: 10.5px; color: var(--ink); padding-top: 3px; }
.meals li.none p { color: var(--muted); font-style: italic; font-weight: 300; }
.why { margin: 0; background: color-mix(in srgb, var(--c) 12%, var(--shweta)); padding: var(--s4); display: grid; gap: 6px; position: relative; }
.why .label { font-size: 10.5px; }
.why blockquote { margin: 0; }
.why q { font-size: 16px; line-height: 1.55; font-weight: 500; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 0; border-top: 2px solid var(--kalika); margin-top: var(--s4); }
.stat { display: grid; gap: var(--s2); padding: var(--s5) var(--s5) var(--s5) 0; align-content: start; }
.stat + .stat { padding-left: var(--s5); border-left: 1px solid var(--line); }
.stat b { font-size: clamp(44px, 4vw, 64px); font-weight: 800; letter-spacing: -0.04em; line-height: 1; color: var(--ink); }
.stat span { font-size: 15px; line-height: 1.5; }
@media (max-width: 1100px) { .plates { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .plates { grid-template-columns: minmax(0, 1fr); } .stat + .stat { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); } }

/* influence: then / now */
.tn { display: grid; grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr); gap: 0; align-items: start; }
.tn-side { background: var(--shweta); padding: clamp(24px, 3vw, 44px); display: grid; gap: var(--s5); box-shadow: var(--shadow); border-top: 10px solid var(--c); }
.tn-word { font-size: clamp(56px, 6vw, 96px); font-weight: 800; letter-spacing: -0.05em; line-height: .9; color: var(--c); }
.tn-side.then .tn-word { color: var(--ochre-ink); }
.tn-side.now .tn-word { color: var(--sevantika-ink); }
.tn-arrow { align-self: center; display: grid; place-items: center; }
.tn-arrow svg { width: 52px; height: 52px; fill: none; stroke: var(--kalika); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 900px) { .tn { grid-template-columns: minmax(0, 1fr); } .tn-arrow { transform: rotate(90deg); padding: var(--s3); } }

/* ads: remembered vs reimagined, a two-sided spread */
.spread { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.spread .side { padding: clamp(40px, 5vw, 80px) 0; }
.spread .sidein { display: grid; gap: var(--s5); align-content: start; padding-inline: clamp(20px, 4vw, 72px); max-width: calc(var(--max) / 2); }
.spread .rem .sidein { margin-left: auto; }
.spread .rem { background: var(--kalika); color: var(--ground); }
.spread .rei { background: var(--shweta); }
.sw-word { font-size: clamp(48px, 5.2vw, 84px); font-weight: 800; letter-spacing: -0.05em; line-height: .95; }
.rem .sw-word { color: var(--ground); }
.rem .sw-word::first-letter { color: var(--sindoor); }
.rei .sw-word { color: var(--teal-ink); }
.spread .sub { font-size: 16px; line-height: 1.55; max-width: min(100%, 30rem); }
.rem .base { color: #cfc6bd; }
.adgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); margin-top: var(--s3); }
.adslip { background: #ffffff0d; border: 1px solid #ffffff26; padding: var(--s4); display: grid; gap: var(--s2); align-content: start; }
.adslip .label { color: var(--yellow); font-size: 10.5px; }
.adrecall { font-weight: 800; font-size: 20px; letter-spacing: -0.015em; line-height: 1.2; color: #fff; }
.adq { font-size: 14px; line-height: 1.55; color: #e9e4de; }
.adq q { quotes: "“" "”"; }
.adwho { font-size: 12.5px; color: #cfc6bd; }
.adwho a { color: #fff; font-weight: 600; }
.reims { display: grid; gap: var(--s4); margin-top: var(--s3); }
.reim { margin: 0; padding: var(--s4) var(--s5); border-left: 4px solid var(--teal); background: color-mix(in srgb, var(--teal) 7%, var(--shweta)); display: grid; gap: 6px; }
.reim blockquote { margin: 0; }
.reim q { quotes: "“" "”"; font-size: 16px; line-height: 1.6; }
.reim:nth-child(3n+1) q { font-size: 18.5px; font-weight: 500; }
.reim figcaption { font-size: 12.5px; color: var(--muted); }
.reim figcaption a { color: var(--kalika); font-weight: 600; }
@media (max-width: 1000px) { .spread { grid-template-columns: minmax(0, 1fr); } .spread .sidein { max-width: none; margin: 0; } .spread .rem .sidein { margin-left: 0; } }
@media (max-width: 600px) { .adgrid { grid-template-columns: minmax(0, 1fr); } }

/* goals: three steps with arrows */
.gflow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px; counter-reset: g; }
.gstep { background: var(--shweta); padding: var(--s5) var(--s5) var(--s6); display: grid; gap: var(--s4); align-content: start; border-top: 10px solid var(--c); box-shadow: var(--shadow); position: relative; }
.gstep + .gstep::before { content: ""; position: absolute; left: -46px; top: 64px; width: 36px; height: 36px; background: var(--kalika); clip-path: polygon(0 40%, 55% 40%, 55% 15%, 100% 50%, 55% 85%, 55% 60%, 0 60%); }
.gtop { display: flex; gap: var(--s4); align-items: center; }
.gn { font-size: 60px; font-weight: 800; letter-spacing: -0.05em; line-height: .85; color: var(--ink); }
.gtop .label { margin-bottom: 6px; }
.gstep .voice { margin-top: var(--s2); }
@media (max-width: 1000px) {
  .gflow { grid-template-columns: minmax(0, 1fr); gap: 52px; }
  .gstep + .gstep::before { left: 50%; top: -46px; margin-left: -18px; transform: rotate(90deg); }
}

/* -------------------------------------------------- torn edges */
.torn { height: 26px; background: var(--c, var(--sindoor)); clip-path: var(--torn); position: relative; z-index: 1; margin-bottom: -25px; }

/* -------------------------------------------------- RESET band: the climax */
.resetband { background: var(--kalika); color: var(--ground); position: relative; padding-bottom: clamp(56px, 7vw, 112px); }
.resetband > .torn { background: var(--sindoor); margin-bottom: 0; height: 30px; }
.resetband .rgrid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.9fr); gap: var(--s7) clamp(40px, 7vw, 128px); padding-top: clamp(56px, 7vw, 104px); align-items: start; }
.resetband .label { color: var(--yellow); }
.resetband .kick > i { background: var(--sindoor); }
.resetband .h2 { color: var(--ground); margin-top: var(--s4); max-width: 18em; }
.resetband .prose { color: #ebe5df; margin-top: var(--s5); }
.resetband .prose a { color: #fff; }
.resetband .rtext { display: grid; gap: 0; align-content: start; }
.resetband .rside { display: grid; gap: var(--s4); align-content: start; position: sticky; top: 110px; }
.pchips { flex-direction: column; gap: 0; }
.pchips .pchip { display: flex; align-items: center; gap: var(--s4); padding: var(--s3) 0; border-top: 1px solid #ffffff1f; font-weight: 800; font-size: clamp(24px, 2.4vw, 36px); letter-spacing: -0.03em; line-height: 1.1; color: #ffffff6b; }
.pchips .pchip:last-child { border-bottom: 1px solid #ffffff1f; }
.pchips .pchip i { width: 22px; height: 22px; border-radius: 50%; border: 2.5px solid var(--c); flex: none; }
.pchips .pchip.lit { color: var(--ground); }
.pchips .pchip.lit i { background: var(--c); }
.pchips .pchip.lit::after { content: ""; flex: 1; height: 4px; background: var(--c); border-radius: 4px; margin-left: var(--s2); max-width: 120px; }
.rcall { margin-top: clamp(48px, 6vw, 96px); padding-top: clamp(40px, 5vw, 72px); border-top: 1px solid #ffffff26; display: grid; gap: var(--s6); justify-items: start; }
.rq { font-weight: 800; font-size: clamp(40px, 6.6vw, 104px); line-height: .98; letter-spacing: -0.045em; color: var(--ground); max-width: 12em; text-wrap: balance; }
.rq .rw .re { color: var(--sindoor); }
.resetband.compact .rcall { margin-top: var(--s6); padding-top: 0; border-top: 0; }
.resetband.compact .rgrid { align-items: center; }
.btn.yellow { gap: 10px; }
.rmore { margin-top: var(--s7); padding-top: var(--s6); border-top: 1px solid #ffffff26; display: grid; gap: var(--s5); }
.rmore .h3 { color: var(--ground); }
.voice.onDark figcaption, .voice.onDark figcaption a { color: #ddd5cd; }
.voice.onDark q { color: #fff; font-size: 20px; }
@media (max-width: 900px) { .resetband .rgrid { grid-template-columns: minmax(0, 1fr); } .resetband .rside { position: static; } }

/* -------------------------------------------------- page hero (content pages) */
.phero { --c: var(--sindoor); position: relative; border-bottom: 0; }
.phero > .wrap { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.8fr); gap: var(--s7) clamp(40px, 6vw, 112px); padding-block: clamp(56px, 8vw, 128px) clamp(56px, 6vw, 96px); align-items: end; }
.phero .h1 { font-size: clamp(46px, 7.2vw, 112px); line-height: .96; letter-spacing: -0.045em; max-width: 11em; }
.phero .lede { font-size: clamp(18px, 1.5vw, 22px); max-width: min(100%, 40rem); }
.phero .band { height: 30px; background: var(--c); clip-path: var(--torn-up); }
.motif { display: flex; align-items: flex-end; gap: 10px; height: clamp(160px, 18vw, 260px); justify-self: end; width: min(100%, 300px); }
.motif i { flex: 1; height: var(--h); background: var(--c); clip-path: polygon(0 6%, 25% 0, 50% 5%, 75% 1%, 100% 6%, 100% 100%, 0 100%); }
@media (max-width: 900px) { .motif { display: none; } }
.dr-side { align-content: start !important; padding-top: var(--s3); }
.toc { border-top: 3px solid var(--kalika); padding-top: var(--s4); display: grid; gap: var(--s3); align-self: end; }
.toc ol { margin: 0; padding: 0; list-style: none; counter-reset: t; display: grid; gap: 0; }
.toc li { counter-increment: t; border-bottom: 1px solid var(--line); }
.toc a { display: grid; grid-template-columns: 2.2em minmax(0, 1fr); padding: 8px 0; text-decoration: none; font-size: 14.5px; font-weight: 500; line-height: 1.4; }
.toc a::before { content: counter(t, decimal-leading-zero); font-weight: 700; font-size: 12px; color: var(--muted); padding-top: 2px; }
.toc a:hover { color: var(--sindoor-ink); }
@media (max-width: 900px) { .phero > .wrap { grid-template-columns: minmax(0, 1fr); align-items: start; } }

.foundation { background: var(--mrida); color: var(--ground); padding-block: clamp(48px, 6vw, 88px); }
.foundation .wrap { display: grid; gap: var(--s4); justify-items: start; }
.foundation .label { color: var(--yellow); }
.foundation .ft { font-size: clamp(22px, 2.3vw, 34px); line-height: 1.38; font-weight: 600; letter-spacing: -0.015em; max-width: min(100%, 52rem); }
.foundation .tag.doc { background: var(--ground); color: var(--kalika); }

/* -------------------------------------------------- home */
.hero { border-bottom: 0; }
.hero .wrap { gap: var(--s6); padding-block: clamp(56px, 8vw, 120px) var(--s6); }
.display { font-size: clamp(46px, 8.4vw, 132px); line-height: .94; letter-spacing: -0.05em; max-width: 10.5em; }
.hero .lede { font-size: clamp(18px, 1.55vw, 23px); max-width: min(100%, 40rem); }
.linesfig { margin: var(--s5) 0 0; display: grid; gap: var(--s3); }
.lines { height: clamp(200px, 25vw, 340px); overflow: visible; }
.lines path { fill: none; stroke-width: 2.4; vector-effect: non-scaling-stroke; opacity: .62; stroke-dasharray: 1; stroke-dashoffset: 0; animation: draw 2.2s cubic-bezier(.4,.1,.2,1) both; transition: opacity .2s, stroke-width .2s; }
.lines path.on { opacity: 1; stroke-width: 5; }
.lines path.off { opacity: .14; }
@keyframes draw { from { stroke-dashoffset: 1; } }
.lines-cap { font-size: 13.5px; }
.lnames { display: flex; flex-wrap: wrap; gap: var(--s2); }
.lnames a { font-size: 13px; font-weight: 600; text-decoration: none; padding: 5px 12px; border-radius: 30px; box-shadow: inset 0 0 0 1px var(--line); background: var(--shweta); }
.lnames a:hover, .lnames a.on { background: var(--kalika); color: var(--ground); }
.facts { grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--kalika); border-bottom: 1px solid var(--line); }
.fact { padding: var(--s5) var(--s5) var(--s5) 0; display: grid; gap: var(--s2); text-decoration: none; align-content: start; }
.fact + .fact { padding-left: var(--s5); border-left: 1px solid var(--line); }
.fact b { font-size: clamp(40px, 4.2vw, 64px); font-weight: 800; letter-spacing: -0.045em; line-height: 1; }
.fact span { font-size: 14px; color: var(--muted); line-height: 1.5; }
a.fact:hover b { color: var(--sindoor-ink); }
.doors { gap: var(--s5); }
.door { position: relative; padding: var(--s6) var(--s5) var(--s6); gap: var(--s4); border-top: 0; box-shadow: var(--shadow); overflow: hidden; transition: transform .2s, box-shadow .2s; }
.door::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 10px; background: var(--c); }
.door .dnum { font-size: 64px; font-weight: 800; letter-spacing: -0.06em; line-height: .9; color: var(--c); }
.door .label { color: var(--ink, var(--kalika)); }
.door .h3 { font-size: clamp(24px, 2.2vw, 32px); font-weight: 800; letter-spacing: -0.025em; }
.door:hover { transform: translateY(-4px); box-shadow: 0 2px 4px #1d1d1d14, 0 22px 40px -18px #1d1d1d55; }
.door.also { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto; align-items: center; gap: var(--s5) var(--s7); background: var(--mrida); color: var(--ground); margin-top: 0; padding: var(--s6) var(--s6); }
.door.also::before { display: none; }
.door.also .label { color: var(--yellow); }
.door.also p { color: #e9e0d8; }
.days { border: 0; background: transparent; gap: var(--s3); }
.day { position: relative; background: var(--shweta); border-top: 0; padding: var(--s5) var(--s5) var(--s6); box-shadow: var(--shadow); gap: var(--s3); transition: transform .2s; overflow: hidden; }
.day::before { content: ""; position: absolute; inset: 0 0 auto; height: 10px; background: var(--c); }
.day + .day { border-left: 0; }
.day .dn { font-size: 76px; font-weight: 800; letter-spacing: -0.06em; line-height: .85; color: var(--c); margin-top: var(--s2); }
.day .label { color: var(--ink); }
.day .h3 { font-size: 24px; font-weight: 800; }
.day .feat { font-size: 13.5px; font-weight: 700; margin: 0; }
.day:hover { transform: translateY(-4px); }
.arcline { font-size: clamp(34px, 4.4vw, 66px); max-width: 17em; }
.arc { list-style: none; margin: 0; padding: 0; gap: var(--s2); }
.arc li { padding: var(--s5) var(--s5) var(--s6); display: grid; gap: var(--s3); align-content: start; color: var(--shweta); background: var(--c); min-width: 0; position: relative; }
.arc li:nth-child(3) { color: var(--kalika); }
.arc li:nth-child(3) .tag.doc { background: var(--kalika); color: var(--ground); }
.arc li .tag.doc { background: var(--ground); color: var(--kalika); justify-self: start; }
.arc li .tag.read { color: inherit; box-shadow: inset 0 0 0 1.5px currentColor; justify-self: start; }
.arc li:nth-child(4) { background: var(--sindoor-btn); }
.arc li:nth-child(2) { background: var(--teal-ink); }
.arc b { font-size: clamp(22px, 2vw, 30px); font-weight: 800; letter-spacing: -0.025em; line-height: 1.1; }
.arc p { font-size: 15px; line-height: 1.55; }
.arc li:not(:last-child)::after { content: ""; position: absolute; right: -18px; top: 50%; width: 28px; height: 28px; margin-top: -14px; background: var(--kalika); clip-path: polygon(0 40%, 55% 40%, 55% 15%, 100% 50%, 55% 85%, 55% 60%, 0 60%); z-index: 2; }
.arc li .rw .re { color: var(--yellow); }
@media (max-width: 900px) {
  .facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fact:nth-child(3) { padding-left: 0; border-left: 0; }
  .fact:nth-child(n+3) { border-top: 1px solid var(--line); }
  .door.also { grid-template-columns: minmax(0, 1fr); }
  .days { grid-template-columns: minmax(0, 1fr); }
  .day { grid-template-columns: auto minmax(0, 1fr); column-gap: var(--s5); }
  .day .dn { grid-row: 1 / span 6; }
  .arc { grid-template-columns: minmax(0, 1fr); }
  .arc li:not(:last-child)::after { right: 50%; top: auto; bottom: -22px; margin-right: -14px; transform: rotate(90deg); }
}

/* -------------------------------------------------- day hero */
.dayhero { position: relative; }
.dayhero .dfield { background: var(--c); position: relative; }
.dayhero .dfield > .wrap { padding-block: var(--s6) clamp(110px, 12vw, 180px); display: grid; gap: clamp(32px, 5vw, 72px); }
.dayhero .torn { background: var(--ground); clip-path: var(--torn-up); margin: 0; position: absolute; left: 0; right: 0; bottom: -1px; height: 30px; }
.daytabs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--s2); }
.daytabs a { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border-radius: 30px; background: #ffffffd9; border: 0; color: var(--kalika); font-size: 13px; font-weight: 600; text-decoration: none; }
.daytabs a b { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 3px var(--c); font-size: 12px; font-weight: 800; color: var(--kalika); }
.daytabs a:hover { background: #fff; }
.daytabs a[aria-current="page"] { background: var(--kalika); color: var(--ground); }
.dh-title { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: end; gap: var(--s2) clamp(16px, 3vw, 48px); }
.numeral { font-weight: 900; font-size: clamp(150px, 22vw, 340px); line-height: .72; letter-spacing: -0.08em; color: var(--kalika); opacity: .9; }
.d3 .numeral, .d5 .numeral { color: #fff; opacity: 1; }
.dh-title .h1 { font-size: clamp(52px, 8.4vw, 136px); line-height: .9; letter-spacing: -0.055em; color: var(--kalika); padding-bottom: .04em; }
.d3 .dh-title .h1, .d5 .dh-title .h1 { color: #fff; }
.chiplabel { display: inline-block; background: var(--kalika); color: var(--ground); font-weight: 700; font-size: 12px; letter-spacing: .22em; text-transform: uppercase; padding: 6px 12px 5px; margin-bottom: var(--s4); }
.sheetwrap { position: relative; margin-top: clamp(-120px, -9vw, -80px); z-index: 2; }
.sheet { background: var(--shweta); box-shadow: 0 2px 4px #1d1d1d10, 0 30px 60px -30px #1d1d1d55; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--s6) clamp(32px, 5vw, 80px); padding: clamp(28px, 4vw, 64px); }
.sheet .lede { font-size: clamp(18px, 1.5vw, 22px); color: var(--kalika); line-height: 1.6; }
.facts-mini { margin: var(--s3) 0 0; display: flex; flex-wrap: wrap; gap: var(--s4) var(--s6); border-top: 1px solid var(--line); padding-top: var(--s4); }
.facts-mini div { display: grid; gap: 4px; }
.facts-mini dt { font-size: 10.5px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); }
.facts-mini dd { margin: 0; font-size: 26px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; }
.facts-mini dd.pws { display: flex; flex-wrap: wrap; gap: 6px; font-size: inherit; }
.asked { background: color-mix(in srgb, var(--c) 12%, var(--shweta)); padding: var(--s5); display: grid; gap: var(--s4); align-content: start; border-top: 4px solid var(--c); }
.prompts { gap: var(--s3); font-size: 15px; line-height: 1.5; }
.prompts li { grid-template-columns: 2.6em minmax(0, 1fr); }
.prompts li::before { color: var(--ink); font-weight: 800; }
@media (max-width: 900px) { .sheet { grid-template-columns: minmax(0, 1fr); } .dh-title { grid-template-columns: minmax(0, 1fr); } .numeral { font-size: 150px; } }
@media (max-width: 600px) { .daytabs a span { display: none; } .daytabs a { padding: 6px; } .daytabs a[aria-current="page"] span { display: inline; } .daytabs a[aria-current="page"] { padding-right: 14px; } .numeral { font-size: 120px; } .sheetwrap { padding-inline: 10px; } }

/* lenses */
.lenssec { background: var(--blue-wash); }
.lens { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr); gap: var(--s6) clamp(32px, 6vw, 96px); align-items: start; }
.lenshead { display: grid; gap: var(--s5); position: sticky; top: 110px; }
.lensbar { display: grid; gap: var(--s2); justify-items: start; }
.lensbar button { font: 600 15px/1 var(--font); padding: 14px 20px; border-radius: 40px; border: 1.5px solid var(--kalika); background: transparent; color: var(--kalika); cursor: pointer; min-width: 260px; text-align: left; display: flex; justify-content: space-between; gap: var(--s4); }
.lensbar button::after { content: "→"; opacity: 0; transition: opacity .15s; }
.lensbar button[aria-pressed="true"] { background: var(--kalika); color: var(--ground); }
.lensbar button[aria-pressed="true"]::after { opacity: 1; }
.lensnote { background: var(--shweta); border-left: 0; border-top: 8px solid var(--blue-deep); padding: clamp(24px, 3vw, 44px); gap: var(--s4); max-width: none; box-shadow: var(--shadow); font-size: 16.5px; line-height: 1.75; }
.lensnote .label { color: var(--blue-deep); }
.lensnote .h3 { font-size: clamp(24px, 2.2vw, 32px); font-weight: 800; letter-spacing: -0.025em; }
.lensnote .caveat { font-size: 14.5px; color: var(--mrida); background: var(--ground); padding: var(--s3) var(--s4); line-height: 1.6; }
@media (max-width: 900px) { .lens { grid-template-columns: minmax(0, 1fr); } .lenshead { position: static; } .lensbar button { min-width: 0; width: 100%; } }

/* from the field */
.field { gap: var(--s5); }
.field figure { background: var(--shweta); padding: var(--s5) var(--s5) var(--s5); box-shadow: var(--shadow); display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: var(--s3) var(--s4); align-content: start; }
.field figure .mono { width: 56px; height: 56px; font-size: 19px; background: var(--c); grid-row: span 2; }
.field blockquote { margin: 0; }
.field blockquote p { font-size: 17.5px; line-height: 1.6; font-weight: 500; }
.field figcaption { font-size: 13.5px; color: var(--muted); display: grid; gap: 2px; }
.field figcaption b { color: var(--kalika); font-weight: 700; font-size: 14px; }

/* where this led */
.ledgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: var(--s4); width: 100%; }
.ledc { background: var(--shweta); padding: var(--s5); display: grid; gap: var(--s3); align-content: start; box-shadow: var(--shadow); border-top: 4px solid var(--kalika); font-size: 15px; line-height: 1.65; }
.ledc.read { border-top-style: dashed; background: var(--ground); box-shadow: inset 0 0 0 1px var(--line); }
.ledc .label { font-size: 11px; }
.ledc .big { color: var(--ink); }
.ledc .tag { justify-self: start; }

/* portrait cards */
.pgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: var(--s5); width: 100%; }
.pcard { background: var(--shweta); text-decoration: none; display: grid; grid-template-rows: auto 1fr; box-shadow: var(--shadow); transition: transform .2s, box-shadow .2s; }
.pcard:hover { transform: translateY(-4px); box-shadow: 0 2px 4px #1d1d1d14, 0 22px 40px -18px #1d1d1d55; }
.pcard .pbody { padding: var(--s5); display: grid; gap: var(--s2); align-content: start; }
.pcard .pn-name { font-size: 30px; font-weight: 800; letter-spacing: -0.035em; line-height: 1.05; }
.pcard .sub { font-size: 15px; color: var(--mrida); font-style: italic; line-height: 1.5; }
.pcard .go { margin-top: var(--s2); font-size: 14px; }
.art { position: relative; background: var(--c); aspect-ratio: 16 / 10; overflow: hidden; display: block; }
.art .ini { position: absolute; right: 0.08em; bottom: -0.22em; font-weight: 900; font-size: 150px; line-height: 1; letter-spacing: -0.06em; color: #ffffff38; }
.art-line { position: absolute; inset: 14% 8% 14%; width: 84%; height: 72%; }
.art-line path { fill: none; stroke: #fff; stroke-width: 3; vector-effect: non-scaling-stroke; stroke-linecap: round; stroke-dasharray: 1; animation: draw 2.4s .3s cubic-bezier(.4,.1,.2,1) both; }
.art-line circle { fill: #fff; }
.art.hero { aspect-ratio: 4 / 5; }
.art.hero .ini { font-size: clamp(260px, 30vw, 460px); }

/* women index cards */
.wgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: var(--s4); width: 100%; }
.wcard { background: var(--shweta); padding: var(--s5); text-decoration: none; display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: var(--s4); border-top: 0; box-shadow: var(--shadow); align-items: start; transition: transform .2s; }
.wcard:hover { transform: translateY(-3px); }
.wcard .wi { width: 52px; height: 52px; border-radius: 50%; background: var(--c); display: grid; place-items: center; font-weight: 800; font-size: 22px; color: var(--kalika); }
.wcard .h3 { font-size: 21px; font-weight: 800; }
.wcard .meta { font-size: 12.5px; color: var(--muted); letter-spacing: .02em; }
.wcard .ls { font-size: 14px; line-height: 1.45; margin-top: 6px; }
.wcard .sub { font-size: 14px; color: var(--mrida); font-style: italic; margin-top: 6px; line-height: 1.45; }
.wdays { display: flex; align-items: center; gap: var(--s2); font-size: 12px; color: var(--muted); margin-top: var(--s3); }
.dd { display: inline-flex; gap: 3px; }
.dd i { width: 9px; height: 9px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px var(--c); }
.dd i.on { background: var(--c); }

/* prev / next */
.pnav { background: var(--ground-deep); border-top: 1px solid var(--line); }
.pnav .wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: var(--s4); padding-block: var(--s6); }
.pnav .wrap:not(:has(.all)) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pn { display: grid; gap: 4px; text-decoration: none; padding: var(--s4) var(--s5); background: var(--shweta); box-shadow: var(--shadow); border-left: 8px solid var(--c, var(--kalika)); transition: transform .2s; }
.pn:hover { transform: translateY(-2px); }
.pn b { font-size: clamp(20px, 2vw, 28px); font-weight: 800; letter-spacing: -0.025em; line-height: 1.15; }
.pn .label { font-size: 11px; color: var(--muted); }
.pn .pm { font-size: 13px; color: var(--muted); }
.pn.next { text-align: right; border-left: 0; border-right: 8px solid var(--c, var(--kalika)); }
.pn.prev .label::before { content: "← "; }
.pn.next .label::after { content: " →"; }
.pn.all { border: 0; background: transparent; box-shadow: none; text-align: center; align-content: center; }
.pn.all b { font-size: 16px; }
@media (max-width: 700px) { .pnav .wrap, .pnav .wrap:not(:has(.all)) { grid-template-columns: minmax(0, 1fr); } .pn.next { text-align: left; border-right: 0; border-left: 8px solid var(--c); } .pn.all { order: 3; } }

/* -------------------------------------------------- portrait page */
.ptr-hero { background: color-mix(in srgb, var(--c) 16%, var(--ground)); position: relative; }
.ptr-hero .wrap { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--s6) clamp(32px, 6vw, 112px); align-items: center; padding-block: clamp(40px, 6vw, 96px) clamp(48px, 5vw, 80px); }
.hero-fig { margin: 0; display: grid; gap: var(--s3); }
.hero-fig figcaption { font-size: 13px; color: var(--muted); }
.hero-fig .frame { background: var(--c); padding: clamp(14px, 2vw, 28px); box-shadow: 0 30px 60px -30px #1d1d1d66; }
.hero-fig .frame img { width: 100%; height: auto; }
.hero-fig .art { box-shadow: 0 30px 60px -30px #1d1d1d66; }
.ptr-id { display: grid; gap: var(--s4); justify-items: start; }
.ptr-id .label { color: var(--ink); }
.name { font-weight: 800; letter-spacing: -0.055em; font-size: clamp(72px, 12vw, 184px); line-height: .86; margin-left: -0.04em; }
.ptr-id .sp, .thr-hero .sp { font-size: clamp(21px, 2.1vw, 30px); line-height: 1.35; font-weight: 400; max-width: 22em; }
.ptr-id .sp em, .thr-hero .sp em { font-style: normal; font-weight: 700; color: var(--ink); }
.ptr-id .ls { font-size: 16px; color: var(--mrida); }
.flag { font-size: 13.5px; color: var(--sindoor-ink); background: #de52401a; padding: var(--s2) var(--s3); max-width: min(100%, 34rem); line-height: 1.5; }
.pseudo { font-size: 12.5px; color: var(--muted); letter-spacing: .02em; }
.ptr-id .cn { margin-top: var(--s2); }
@media (max-width: 900px) { .ptr-hero .wrap { grid-template-columns: minmax(0, 1fr); } .ptr-hero { background: color-mix(in srgb, var(--c) 14%, var(--ground)); } .hero-fig { max-width: 520px; } .art.hero { aspect-ratio: 16 / 11; } }

.narrative { padding-top: clamp(32px, 4vw, 64px); }
.ngrid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: var(--s7) clamp(40px, 8vw, 144px); align-items: start; }
.ngrid .prose { max-width: min(100%, 40rem); font-size: 19px; line-height: 1.85; gap: 1.2em; }
.dropcap > p:first-child::first-letter { float: left; font-weight: 800; font-size: 5.4em; line-height: .8; margin: .06em .1em 0 -.03em; color: var(--c); letter-spacing: -0.04em; }
.prose .interp { color: var(--mrida); font-style: italic; font-weight: 300; }
.inpull { margin: var(--s5) 0 var(--s5) clamp(0px, -6vw, -96px); padding: var(--s5) 0 var(--s5) var(--s5); border-left: 6px solid var(--c); display: grid; gap: var(--s3); }
.inpull blockquote { margin: 0; }
.inpull p { font-size: clamp(26px, 2.6vw, 38px); line-height: 1.25; font-weight: 700; letter-spacing: -0.025em; color: var(--kalika); }
.inpull p::before { content: "“"; } .inpull p::after { content: "”"; }
.inpull figcaption { font-size: 13.5px; color: var(--muted); }
.glance { position: sticky; top: 110px; display: grid; gap: var(--s4); padding-top: var(--s4); border-top: 6px solid var(--c); }
.glance dl { margin: 0; display: grid; gap: 0; }
.glance dl div { display: grid; grid-template-columns: 6.5em minmax(0, 1fr); gap: var(--s3); padding: var(--s3) 0; border-bottom: 1px solid var(--line); font-size: 14.5px; line-height: 1.45; }
.glance dt { font-size: 10.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); padding-top: 3px; }
.glance dd { margin: 0; font-weight: 500; }
@media (max-width: 900px) { .ngrid { grid-template-columns: minmax(0, 1fr); } .glance { position: static; order: -1; } .inpull { margin-left: 0; } }

.strip { box-shadow: var(--shadow); width: 100%; }
.tabs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; }
.tabs button { font: 600 14px/1.25 var(--font); text-align: left; padding: var(--s4) var(--s4) var(--s3); border: 0; border-top: 8px solid var(--c); background: color-mix(in srgb, var(--c) 10%, var(--ground-deep)); color: var(--kalika); cursor: pointer; display: grid; gap: 2px; min-width: 0; }
.tabs button b { font-size: 34px; font-weight: 800; letter-spacing: -0.04em; line-height: 1; }
.tabs button span { font-size: 12.5px; font-weight: 600; color: var(--mrida); }
.tabs button[aria-selected="true"] { background: var(--shweta); }
.tabs button[disabled] { opacity: .45; cursor: default; }
.tabs button:not([aria-selected="true"]):not([disabled]):hover { background: color-mix(in srgb, var(--c) 22%, var(--ground-deep)); }
.panel { background: var(--shweta); padding: clamp(28px, 4vw, 64px); display: grid; gap: var(--s4); justify-items: start; }
.panel blockquote { margin: 0; border-left: 6px solid var(--c); padding-left: var(--s5); }
.panel blockquote p { font-size: clamp(22px, 2.4vw, 34px); line-height: 1.35; font-weight: 600; letter-spacing: -0.02em; max-width: 30em; }
.panel blockquote p::before { content: "“"; } .panel blockquote p::after { content: "”"; }
.panel .pnote { display: block; font-size: 15px; color: var(--muted); padding-left: calc(var(--s5) + 6px); }
.panel .go { padding-left: calc(var(--s5) + 6px); }
@media (max-width: 700px) { .tabs button { padding: var(--s3) 8px; } .tabs button span { display: none; } .tabs button b { font-size: 26px; } }

.lifesec { overflow: hidden; }
.lifeline { width: 100%; }
.ll-list { display: none; list-style: none; margin: 0; padding: 0; gap: 0; }
.ll-list li { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--s4); align-items: center; padding: var(--s3) 0; border-bottom: 1px solid var(--line); font-size: 15px; line-height: 1.45; }
.ll-list .lv { position: relative; height: 34px; display: block; }
.ll-list .lv::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px dashed #1d1d1d55; }
.ll-list .lv i { position: absolute; left: 50%; width: 14px; margin-left: -7px; background: var(--c); border-radius: 3px; height: calc(var(--v) * 17px); }
.ll-list li.up .lv i { bottom: 50%; }
.ll-list li.down .lv i { top: 50%; opacity: .55; }
@media (max-width: 760px) { .lifeline .ll-l { display: none; } .ll-list { display: grid; } }

.gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: var(--s5); width: 100%; }
.gfig { margin: 0; background: var(--shweta); display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; align-content: start; box-shadow: var(--shadow); }
.gimg { background: var(--ground-deep); display: grid; place-items: center; padding: var(--s3); }
.gfig img { width: 100%; height: auto; max-height: 520px; object-fit: contain; }
.gfig figcaption { padding: var(--s4) var(--s4) var(--s5); display: grid; gap: 6px; font-size: 14px; line-height: 1.5; }
.gfig figcaption .label { font-size: 10.5px; color: var(--muted); }
.gallery .treat { font-size: 12.5px; color: var(--muted); }
.gallery:not(.hand) { grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: var(--s4); }
.gallery:not(.hand) .gimg { aspect-ratio: 4 / 5; }
.gallery:not(.hand) .gimg img { width: 100%; height: 100%; max-height: none; object-fit: contain; }
.gallery:not(.hand) figcaption { font-size: 13px; padding: var(--s3) var(--s3) var(--s4); }
.gallery.hand .gfig { transform: rotate(-0.6deg); }
.gallery.hand .gfig:nth-child(2n) { transform: rotate(0.7deg); }
.gallery.hand .gimg { background: #f3eee6; padding: var(--s4); }

.lettersec { background: color-mix(in srgb, var(--yellow) 22%, var(--ground)); }

/* non-portrait woman: a color field and a quiet diary */
.thr-hero .dfield { background: var(--c); position: relative; overflow: hidden; }
.thr-hero .dfield > .wrap { display: grid; grid-template-columns: minmax(0, 1fr); padding-block: clamp(56px, 8vw, 120px) clamp(64px, 8vw, 128px); position: relative; }
.thr-hero .ini { position: absolute; right: var(--gutter); bottom: -0.32em; font-weight: 900; font-size: clamp(240px, 34vw, 520px); line-height: 1; letter-spacing: -0.06em; color: #ffffff3d; pointer-events: none; }
.thr-hero .name { color: var(--kalika); font-size: clamp(64px, 10vw, 160px); }
.thr-hero .sp { color: var(--kalika); max-width: 24em; }
.thr-hero .sp em { color: var(--kalika); font-weight: 800; }
.thr-hero[style*="teal"] .name, .thr-hero[style*="teal"] .sp, .thr-hero[style*="teal"] .sp em { color: #fff; }
.thr-hero .torn { background: var(--ground); clip-path: var(--torn-up); position: absolute; left: 0; right: 0; bottom: -1px; margin: 0; height: 28px; }
.thread { padding-top: clamp(40px, 5vw, 80px); }
.tgrid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr); gap: var(--s7) clamp(40px, 7vw, 128px); align-items: start; }
.tgrid > .stack { position: sticky; top: 110px; }
.thread .intro { font-size: clamp(20px, 1.8vw, 25px); line-height: 1.55; font-weight: 400; color: var(--kalika); }
.thread .meta { font-size: 14px; color: var(--mrida); }
.diary { list-style: none; margin: var(--s5) 0 0; padding: 0; display: grid; gap: 0; position: relative; }
.diary::before { content: ""; position: absolute; left: 9px; top: 12px; bottom: 12px; width: 2px; background: var(--line); }
.diary li { position: relative; padding: 0 0 var(--s6) var(--s7); display: grid; gap: var(--s2); }
.diary .dot { position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--c); box-shadow: 0 0 0 5px var(--ground); }
.diary .label { font-size: 11px; color: var(--ink); }
.diary .label a { text-decoration: none; }
.diary .label a:hover { text-decoration: underline; }
.diary blockquote { margin: 0; }
.diary blockquote p { font-size: clamp(19px, 1.7vw, 24px); line-height: 1.5; font-weight: 500; letter-spacing: -0.01em; }
.diary blockquote p::before { content: "“"; } .diary blockquote p::after { content: "”"; }
.diary .dnote { font-size: 14px; color: var(--muted); font-style: italic; }
.diary li.missing .dot { background: var(--ground); box-shadow: 0 0 0 5px var(--ground), inset 0 0 0 2px var(--c); }
.diary li.missing .label { color: var(--muted); }
.diary li.missing { padding-bottom: var(--s5); }
@media (max-width: 900px) { .tgrid { grid-template-columns: minmax(0, 1fr); } .tgrid > .stack { position: static; } }

/* -------------------------------------------------- findings */
.frows { display: grid; gap: var(--s5); width: 100%; }
.frow { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr) minmax(0, 300px); gap: var(--s6) clamp(28px, 4vw, 64px); background: var(--shweta); padding: clamp(24px, 3.4vw, 52px); box-shadow: var(--shadow); border-top: 8px solid var(--c); align-items: start; }
.fnum { display: grid; gap: var(--s4); align-content: start; }
.fi { font-size: 15px; font-weight: 800; letter-spacing: .2em; color: var(--muted); }
.frow .big { font-size: clamp(44px, 4.4vw, 68px); color: var(--ink); letter-spacing: -0.045em; line-height: .95; }
.fmain { display: grid; gap: var(--s4); align-content: start; }
.h2s { font-weight: 800; font-size: clamp(26px, 2.5vw, 38px); letter-spacing: -0.03em; line-height: 1.1; }
.claim { font-weight: 600; font-size: 18.5px; line-height: 1.55; }
.fmain .prose { font-size: 16.5px; line-height: 1.75; gap: .9em; }
.frs { background: var(--ground); padding: var(--s5); display: grid; gap: var(--s3); align-content: start; font-size: 14.5px; line-height: 1.6; border-left: 4px solid var(--c); }
.frs .tag { justify-self: start; }
@media (max-width: 1100px) { .frow { grid-template-columns: minmax(0, 180px) minmax(0, 1fr); } .frs { grid-column: 2; } }
@media (max-width: 700px) { .frow { grid-template-columns: minmax(0, 1fr); } .frs { grid-column: auto; } }

/* -------------------------------------------------- days index */
.dayrows { display: grid; gap: var(--s3); width: 100%; }
.dayrow { display: grid; grid-template-columns: 160px minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--s5) clamp(24px, 4vw, 72px); background: var(--shweta); text-decoration: none; box-shadow: var(--shadow); padding: var(--s5) clamp(20px, 3vw, 48px) var(--s5) 0; align-items: center; transition: transform .2s; overflow: hidden; }
.dayrow:hover { transform: translateX(6px); }
.dayrow .numeral { font-size: 150px; line-height: .8; color: var(--kalika); background: var(--c); align-self: stretch; display: grid; place-items: center; margin-block: calc(-1 * var(--s5)); }
.dayrow:nth-child(3) .numeral, .dayrow:nth-child(5) .numeral { color: #fff; }
.dayrow .label { color: var(--ink); }
.dr-main { display: grid; gap: var(--s2); padding-block: var(--s3); }
.dr-main .q { font-size: 16.5px; color: var(--mrida); line-height: 1.55; }
.dr-side { display: grid; gap: var(--s2); align-content: center; }
.dr-side .feat { font-weight: 800; font-size: 20px; letter-spacing: -0.015em; line-height: 1.25; }
.dr-side .go { margin-top: var(--s2); }
@media (max-width: 900px) { .dayrow { grid-template-columns: 100px minmax(0, 1fr); } .dayrow .numeral { font-size: 96px; grid-row: span 2; } .dr-side { grid-column: 2; padding-bottom: var(--s3); } }

/* -------------------------------------------------- diary wall */
.filters { display: grid; grid-template-columns: repeat(3, auto) 1fr; gap: var(--s4) var(--s6); align-items: end; background: var(--shweta); padding: var(--s5); box-shadow: var(--shadow); }
.fgroup { display: grid; gap: var(--s2); }
.fgroup .label { font-size: 10.5px; color: var(--muted); }
.fchips { display: flex; flex-wrap: wrap; gap: 6px; }
.fchips button { font: 500 13.5px/1 var(--font); padding: 9px 14px; border-radius: 30px; border: 1.5px solid #1d1d1d40; background: transparent; color: var(--kalika); cursor: pointer; }
.fchips button:hover { border-color: var(--kalika); }
.fchips button[aria-pressed="true"] { background: var(--kalika); border-color: var(--kalika); color: var(--ground); }
.fstat { display: grid; justify-items: end; gap: var(--s2); }
.count { font-size: 14px; color: var(--mrida); }
.count b { font-size: 26px; font-weight: 800; color: var(--kalika); letter-spacing: -0.02em; }
.reset-f { font: 600 13px/1 var(--font); background: none; border: 0; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; color: var(--kalika); padding: 4px 0; }
.wallwrap { overflow: auto; max-height: min(78vh, 900px); background: var(--shweta); box-shadow: var(--shadow); width: 100%; border: 0; }
table.wall { border-collapse: separate; border-spacing: 0; min-width: 1180px; width: 100%; font-size: 14px; line-height: 1.5; }
.wall th, .wall td { border-bottom: 1px solid var(--line); padding: var(--s3) var(--s4); vertical-align: top; text-align: left; }
.wall thead th { position: sticky; top: 0; z-index: 3; background: var(--shweta); border-top: 8px solid var(--c, var(--kalika)); font-size: 13px; box-shadow: 0 1px 0 var(--line); }
.wall thead th a { text-decoration: none; display: grid; }
.wall thead th a b { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.wall thead th a:hover { text-decoration: underline; }
.wall th.who { position: sticky; left: 0; z-index: 2; background: var(--shweta); min-width: 180px; width: 180px; border-right: 1px solid var(--line); border-left: 5px solid var(--cc, var(--kalika)); }
.wall thead th.who { z-index: 4; border-left: 5px solid var(--kalika); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; vertical-align: bottom; }
.wall th.who a { font-size: 16px; font-weight: 800; letter-spacing: -0.015em; text-decoration: none; }
.wall th.who a:hover { text-decoration: underline; }
.wall th.who span { display: block; font-weight: 400; font-size: 12.5px; color: var(--muted); }
.wall th.who .pt, .wall th.who .cnt { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 2px 7px; border-radius: 20px; margin: 6px 4px 0 0; }
.wall th.who .pt { background: var(--kalika); color: var(--ground); }
.wall th.who .cnt { box-shadow: inset 0 0 0 1px var(--muted); }
.wall td { width: 19%; color: var(--kalika); background: color-mix(in srgb, var(--c) 6%, var(--shweta)); border-left: 1px solid #ffffff; }
.wall td.empty { color: var(--muted); font-style: italic; font-size: 13px; background: var(--shweta); }
.wall tbody tr:hover td { background: color-mix(in srgb, var(--c) 14%, var(--shweta)); }
@media (max-width: 1100px) { .filters { grid-template-columns: minmax(0, 1fr); } .fstat { justify-items: start; } }
@media (max-width: 760px) {
  .wallwrap { max-height: none; overflow: visible; background: transparent; box-shadow: none; }
  table.wall, .wall tbody, .wall tr, .wall td, .wall th { display: block; min-width: 0; width: auto; }
  table.wall { min-width: 0; }
  .wall thead { display: none; }
  .wall tr { background: var(--shweta); box-shadow: var(--shadow); margin-bottom: var(--s4); border-top: 6px solid var(--cc); }
  .wall tr[hidden] { display: none; }
  .wall th.who { position: static; border: 0; border-bottom: 1px solid var(--line); width: auto; padding: var(--s4); }
  .wall td { border-left: 4px solid var(--c); padding: var(--s3) var(--s4); background: var(--shweta); }
  .wall td::before { content: attr(data-day); display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); font-style: normal; margin-bottom: 2px; }
  .wall td.empty { padding-block: var(--s2); }
}

/* -------------------------------------------------- photo review: numbered contact sheet */
.contact { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: var(--s4); width: 100%; }
.sheetfig { margin: 0; background: var(--shweta); box-shadow: var(--shadow); display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; position: relative; min-width: 0; }
.sheetfig .pnum { position: absolute; left: 0; top: 0; z-index: 1; background: var(--kalika); color: var(--yellow); font-weight: 800; font-size: 20px; min-width: 44px; height: 44px; display: grid; place-items: center; letter-spacing: -0.02em; }
.sheetfig .gimg { aspect-ratio: 1; padding: var(--s4); }
.sheetfig img { width: 100%; height: 100%; object-fit: contain; }
.sheetfig figcaption { padding: var(--s3) var(--s4) var(--s4); display: grid; gap: 4px; font-size: 13.5px; line-height: 1.45; border-top: 1px solid var(--line); }
.sheetfig .rnum { font-weight: 700; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--sindoor-ink); }
.sheetfig .treat { font-size: 12px; color: var(--muted); }
.withheld { background: var(--shweta); padding: var(--s5); box-shadow: var(--shadow); display: grid; gap: var(--s3); max-width: min(100%, 52rem); }
.withheld ul { margin: 0; padding-left: 1.2em; display: grid; gap: var(--s2); font-size: 15px; }

/* -------------------------------------------------- mobile rhythm */
@media (max-width: 600px) {
  .gallery:not(.hand) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); }
  .ll-s .lt { font-size: 15px; }
  body { font-size: 16px; }
  .section { padding-block: 56px; }
  .prose, .ngrid .prose { font-size: 17px; }
  .feat { margin-bottom: var(--s6); }
  .qmason { columns: 1; }
  .voice.big blockquote::before { font-size: 100px; }
  .voice.big q { padding-top: 36px; }
  .h2 { font-size: clamp(28px, 8vw, 40px); }
}

/* -------------------------------------------------- motion: always with a resting state */
@media (prefers-reduced-motion: reduce) {
  .lines path, .art-line path, .brow .bt i, .paper { animation: none !important; }
  .env .flap, .door, .day, .pcard, .wcard, .pn, .dayrow, .env summary { transition: none !important; }
}
@media print { .top, .review, .resetband .rcall, .pnav { display: none; } }
.sheet > .stack { align-content: start; } .facts-mini div { align-content: start; }

/* JIVINITI family bar, mark and footer lockup (matches The GAIA Study) */
.family { background: var(--kalika); color: #f7f5f2cc; font-size: 12.5px; line-height: 1.5; }
.family .wrap { display: flex; flex-wrap: wrap; gap: 6px 22px; justify-content: space-between; align-items: center; padding-block: 8px; }
.family nav { display: flex; gap: 18px; }
.family a { color: var(--ground); text-decoration: none; font-weight: 600; letter-spacing: .06em; }
.family a:hover { text-decoration: underline; text-underline-offset: 4px; }
.mark .jmark { width: 34px; height: 34px; object-fit: contain; align-self: center; }
.foot .flockup { width: 220px; max-width: 100%; height: auto; margin-bottom: var(--s3); }
.foot .muted { color: #f7f5f2b3; }
.foot .candid { width: 72px; height: auto; margin-top: var(--s3); }
.rw { white-space: nowrap; }
.rw .re { color: var(--sindoor); }
.resetband .rw .re, .foot .rw .re { color: var(--yellow); }
.segs { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--s4, 16px); margin-top: var(--s6, 32px); }
.seg { background: var(--c); color: var(--kalika); padding: 22px 22px 24px; display: grid; gap: 8px; align-content: start; }
.seg .label { color: var(--kalika); opacity: .8; }
.team { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.tm { background: var(--shweta); border-top: 6px solid var(--c); padding: 22px; display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 18px; align-items: start; }
.tm .tph img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.tm .mono.big { width: 96px; height: 96px; border-radius: 50%; display: grid; place-items: center; background: var(--c); color: var(--kalika); font-weight: 800; font-size: 30px; }
.tm .role { font-size: 14px; color: var(--muted); margin: 4px 0 8px; }
.rnote { background: var(--shweta); }
.rnote-in { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: clamp(24px, 4vw, 72px); align-items: start; }
.rnote-b p { font-size: clamp(17px, 1.3vw, 20px); line-height: 1.75; }
.rnote .sig { font-family: var(--script); font-size: clamp(34px, 3vw, 46px); color: var(--sindoor); margin-top: 18px; line-height: 1.1; }
.rnote .sigrole { font-size: 14px; color: var(--muted); }
.nowband { background: var(--kalika); color: var(--ground); }
.nowband .h2, .nowband .lede { color: var(--ground); }
.nowband .label { color: var(--yellow); }
.nowband .base { color: #f7f5f2b3; }
.nowgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.nowc { background: var(--c); color: var(--kalika); padding: 22px 20px 20px; display: grid; gap: 10px; align-content: start; }
.nowc .fig { font-size: clamp(36px, 3.6vw, 54px); font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.nowc .src { font-size: 12.5px; opacity: .85; }
.nowc .src a { color: inherit; }
.pwgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.pwc { background: var(--shweta); border-top: 8px solid var(--c); padding: 18px 16px 20px; display: grid; gap: 6px; align-content: start; }
.pwc b { font-size: 22px; font-weight: 800; }
.pwc .sub { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
@media (max-width: 1000px) { .pwgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rnote-in { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .pwgrid { grid-template-columns: minmax(0, 1fr); } }
/* Project reset. wordmark (brand identity): lowercase, heavy, "re" and period in Sindoor */
.rw { font-weight: 800; letter-spacing: -0.02em; text-transform: none; white-space: nowrap; color: inherit; }
.rw .re { color: var(--sindoor); }
.label .rw, .kick .rw { letter-spacing: -0.01em; font-size: 1.12em; }
.resetband .rw .re, .foot .rw .re, .nowband .rw .re, .foundation .rw .re { color: var(--sevantika); }
.rnote .sig { font-family: var(--font); font-weight: 800; font-size: clamp(20px, 1.6vw, 24px); letter-spacing: -0.01em; color: var(--kalika); margin-top: 22px; line-height: 1.3; }
/* "Six years on" cards: light text on the darker pathway colors */
.nowc[style*="--mrida"], .nowc[style*="--teal"], .nowc[style*="--sindoor"], .nowc[style*="--kalika"] { color: var(--ground); }
.nowc[style*="--mrida"] .src, .nowc[style*="--teal"] .src, .nowc[style*="--sindoor"] .src { opacity: .9; }
/* names on letter envelopes in Poppins for legibility */
.env .hand { font-family: var(--font); font-weight: 800; font-size: clamp(26px, 2.2vw, 34px); letter-spacing: -0.02em; line-height: 1.15; }
.nowgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .nowgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .nowgrid { grid-template-columns: minmax(0, 1fr); } }
.rowwrap { display: contents; }
.filtersec { padding-block: var(--s6, 32px) 0; }
.fgroup.search { flex: 1 1 100%; display: grid; gap: 6px; }
.fgroup.search input { font: 500 16px/1.4 var(--font); padding: 12px 16px; border: 1.5px solid var(--kalika); border-radius: 30px; background: var(--shweta); color: var(--kalika); width: 100%; max-width: 640px; }
.fgroup.search input:focus-visible { outline: 3px solid var(--sindoor); outline-offset: 2px; }
/* each diary day named in its own pathway color */
.dayname { font-weight: 700; white-space: nowrap; }
.dayname.d1 { color: var(--ochre-ink); }
.dayname.d2 { color: var(--sevantika-ink); }
.dayname.d3 { color: var(--teal-ink); }
.dayname.d4 { color: var(--blue-ink); }
.dayname.d5 { color: var(--sindoor-ink); }
.resetband .dayname, .nowband .dayname, .foundation .dayname, .foot .dayname { filter: brightness(1.8); }
/* Team: grayscale, uncropped rectangular photos; wide cards so bios read comfortably */
.team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.tm { grid-template-columns: 160px minmax(0, 1fr); gap: 24px; padding: 26px; }
.tm .tph img { width: 160px; height: 200px; border-radius: 0; object-fit: cover; filter: grayscale(1); }
.tm .mono.big { width: 160px; height: 200px; border-radius: 0; filter: grayscale(1); }
.tm p { max-width: 62ch; }
@media (max-width: 1000px) { .team { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .tm { grid-template-columns: minmax(0, 1fr); } .tm .tph img, .tm .mono.big { width: 100%; height: auto; aspect-ratio: 4/5; max-width: 260px; } }
.tm .tph img[src$="team-sago.png"] { object-fit: contain; background: var(--shweta); padding: 18px; }
/* Sticky in-page section bar + back to top */
main section[id], main [id].section { scroll-margin-top: calc(var(--hh, 72px) + 64px); }
.jumpbar { position: sticky; top: calc(env(safe-area-inset-top, 0px) + var(--hh, 72px)); z-index: 15; background: color-mix(in srgb, var(--ground) 94%, transparent); backdrop-filter: blur(6px); border-bottom: 1px solid var(--line, #1d1d1d1f); }
.jumpbar ol { list-style: none; margin: 0 auto; padding: 10px var(--gutter); max-width: var(--max); display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.jumpbar ol::-webkit-scrollbar { display: none; }
.jumpbar a { display: inline-block; white-space: nowrap; font: 600 13px/1 var(--font); padding: 9px 14px; border-radius: 30px; border: 1.5px solid transparent; text-decoration: none; color: var(--kalika); }
.jumpbar a:hover { border-color: var(--kalika); }
.jumpbar a.on { background: var(--kalika); color: var(--ground); }
.totop { position: fixed; right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(18px + env(safe-area-inset-bottom, 0px)); z-index: 30; display: inline-flex; gap: 6px; align-items: center; font: 600 14px/1 var(--font); padding: 12px 18px; border-radius: 30px; background: var(--kalika); color: var(--ground); text-decoration: none; box-shadow: 0 6px 18px #0000002e; opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .2s, transform .2s; }
.totop.show { opacity: 1; transform: none; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) { .totop { transition: none; } }
/* reset. wordmark: "re" must always contrast with what it sits on */
.btn.red .rw .re, .btn.red .rw { color: var(--shweta); }
.btn.red .rw .re { color: var(--kalika); }
.btn.yellow .rw .re, .yellow .rw .re { color: var(--sindoor-ink); }
.nowc .rw .re, .seg .rw .re, .arc li .rw .re, .gstep .rw .re, [style*="background:var(--sindoor)"] .rw .re { color: inherit; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.nowc[style*="--ochre"] .rw .re, .nowc[style*="--yellow"] .rw .re, .nowc[style*="--blue"] .rw .re, .nowc[style*="--sevantika"] .rw .re { color: var(--sindoor-ink); text-decoration: none; }
.dayhead .rw .re { color: var(--kalika); }
/* home lifelines: smooth hover via wide invisible hit lines */
.lines path.ln { pointer-events: none; }
.lines path.hit { fill: none; stroke: transparent; stroke-width: 16; vector-effect: non-scaling-stroke; pointer-events: stroke; cursor: pointer; animation: none; opacity: 1; }
.lines path.ln { transition: opacity .25s ease, stroke-width .25s ease; }
/* portrait: link to her lifeline, up front */
.lifelink { display: inline-flex; align-items: center; gap: 10px; font: 600 15px/1 var(--font); text-decoration: none; color: var(--kalika); border: 1.5px solid var(--kalika); border-radius: 30px; padding: 10px 18px; width: fit-content; }
.lifelink svg { width: 54px; height: 18px; }
.lifelink svg path { fill: none; stroke: var(--sindoor); stroke-width: 2.5; stroke-linecap: round; }
.lifelink:hover { background: var(--kalika); color: var(--ground); }
.lexplain { max-width: 62ch; }
/* her own words stand out from the narrative */
.narrative .prose q.say { quotes: "“" "”"; color: var(--ink, var(--sindoor-ink)); font-weight: 600; }
/* breathing room between the lifeline explanation/legend and the drawing (labels sit above the peaks) */
.lifesec .lexplain { margin-bottom: var(--s3, 12px); }
.lifesec .legend { margin-bottom: var(--s6, 32px); }
.lifesec .lifeline { padding-top: clamp(28px, 4vw, 56px); }
/* Signature lifeline art: drawn whole (no draw-in), clear of the initial */
.art-line path { animation: none !important; stroke-dasharray: none !important; stroke-width: 3.5; }
.art .ini { font-size: 110px; right: 0.12em; bottom: -0.18em; color: #ffffff2b; }
.art.hero .ini { font-size: clamp(140px, 14vw, 210px); }
.art-line { inset: 10% 8% 30% 8%; height: 60%; }
.art.hero .art-line { inset: 12% 8% 34% 8%; height: 54%; }
/* home lifelines: keep the caption clear of the lines */
.linesfig .lines { overflow: hidden; margin-bottom: var(--s5, 24px); }
/* journey page: the study's own lifeline */
.jline .jw { font: 700 12px var(--font); letter-spacing: .16em; }
.jline .jt { font-family: var(--font); font-weight: 600; fill: var(--kalika); }
.jline .jn { font: 700 14px var(--font); fill: #fff; pointer-events: none; }
.jline a circle { stroke: var(--ground); stroke-width: 4; transition: r .15s; }
.jline a:hover circle, .jline a:focus circle { r: 18; }
.jcards { list-style: none; margin: var(--s6, 32px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: var(--s5, 24px); }
.jcard { position: relative; background: var(--shweta, #fff); border-top: 5px solid var(--c); padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 10px; scroll-margin-top: 140px; }
.jcard .label { color: var(--ink); }
.jcard .jnum { position: absolute; top: 16px; right: 18px; font-weight: 800; font-size: 28px; color: var(--c); opacity: .35; }
.jcard p { margin: 0; }
.jcard .go { margin-top: auto; }
.jcard:target { outline: 2px solid var(--c); outline-offset: 4px; }
@media (max-width: 760px) { .jlinewrap { display: none; } }
.jline .rwm { font-weight: 800; }
.jline .rwm .re { fill: var(--sindoor); }
.prose-s .btns .btn, .prose .btns .btn { gap: .5em; }
/* a woman's own numbered list of defining moments (typed, in her words) */
.herlist { margin: 0; padding-left: 2.2em; columns: 2 340px; column-gap: var(--s7, 48px); font-size: 16px; line-height: 1.55; max-width: 1100px; }
.herlist li { break-inside: avoid; padding: 6px 0 6px 4px; border-bottom: 1px solid var(--rule); }
.herlist li::marker { font-weight: 700; color: var(--muted); font-variant-numeric: tabular-nums; }
/* footer with a Contact us column */
.foot .wrap { grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 0.75fr)) minmax(0, 1fr) minmax(0, 1.1fr); }
.foot a.fmail { font-weight: 600; word-break: break-word; }
#contact { scroll-margin-top: 120px; }
@media (max-width: 1100px) { .foot .wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .foot .wrap { grid-template-columns: minmax(0, 1fr); } }
.herlist li.end { list-style: none; font-weight: 600; }
/* contact page */
.cgrid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--s8, 64px); align-items: start; }
.cform { display: grid; gap: var(--s5, 24px); }
.cform label { display: grid; gap: 8px; font-weight: 600; font-size: 15px; }
.cform label em { font-style: normal; font-weight: 400; color: var(--muted); }
.cform input, .cform select, .cform textarea { font: 400 16px/1.5 var(--font); color: var(--kalika); background: var(--shweta); border: 1.5px solid #1d1d1d40; border-radius: 6px; padding: 12px 14px; width: 100%; }
.cform input:focus, .cform select:focus, .cform textarea:focus { outline: 3px solid var(--yellow); border-color: var(--kalika); }
.cform .frow2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s5, 24px); }
.cform .check { grid-template-columns: 22px 1fr; align-items: start; font-weight: 400; }
.cform .check input { width: 20px; height: 20px; margin-top: 3px; padding: 0; }
.cform .fnote { font-size: 13px; color: var(--muted); }
.cform button { justify-self: start; gap: .5em; }
.cform .hp { position: absolute; left: -9999px; }
.cside { display: grid; gap: var(--s6, 32px); background: var(--ground-deep); padding: var(--s6, 32px); border-top: 5px solid var(--sindoor); }
.cside > div { display: grid; gap: 6px; }
.cside .label { color: var(--sindoor-ink); }
@media (max-width: 900px) { .cgrid, .cform .frow2 { grid-template-columns: minmax(0, 1fr); } }
.cform .got { background: var(--shweta); border-left: 5px solid var(--sindoor); padding: var(--s5, 24px); }
.cform .got .done { font-weight: 600; font-size: 17px; }
.cform select { height: 52px; -webkit-appearance: none; appearance: none; background-image: linear-gradient(45deg, transparent 50%, #1d1d1d 50%), linear-gradient(135deg, #1d1d1d 50%, transparent 50%); background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 40px; }
/* report download */
.rgrid2 { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: var(--s8, 64px); align-items: start; }
.rcover { margin: 0; }
.rcover img { width: 100%; box-shadow: 0 18px 50px #1d1d1d40; }
.rcover.small { max-width: 300px; }
.rinside { margin: 8px 0 0; padding-left: 1.2em; display: grid; gap: 6px; font-size: 16px; }
.rinside li::marker { color: var(--sindoor); }
.rform .got .btn { margin-top: 6px; }
.rform .gift { margin-top: 14px; font-size: 15px; color: var(--mrida); }
.homereport .rgrid2 { align-items: center; }
@media (max-width: 900px) { .rgrid2 { grid-template-columns: minmax(0, 1fr); } .rcover { max-width: 280px; } }
.btn { gap: .5em; }
:root { --script: var(--font); }
