@font-face{font-family:"Yatra One";src:url(fonts/yatra-400-dev.woff2) format("woff2");font-weight:400;font-display:block;unicode-range:U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09}
@font-face{font-family:"Yatra One";src:url(fonts/yatra-400-latin.woff2) format("woff2");font-weight:400;font-display:block;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Rozha One";src:url(fonts/rozha-400-dev.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09}
@font-face{font-family:"Rozha One";src:url(fonts/rozha-400-latin.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:"Noto Serif Dev";src:url(fonts/notoserif-400-dev.woff2) format("woff2");font-weight:400 600;font-display:block;unicode-range:U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09}
@font-face{font-family:"Noto Serif Dev";src:url(fonts/notoserif-400-latin.woff2) format("woff2");font-weight:400 600;font-display:block;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* सुरभि सेवा. Editorial. Cream paper, brown ink, one saffron accent. */
@font-face{font-family:"Martel";src:url(fonts/martel-800-dev.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+25CC,U+A830-A839,U+A8E0-A8FF}
@font-face{font-family:"Martel";src:url(fonts/martel-800-latin.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:"Tiro";src:url(fonts/tiro-regular-dev.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0900-097F,U+1CD0-1CF9,U+20B9,U+A830-A839}
@font-face{font-family:"Tiro";src:url(fonts/tiro-regular-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:"Tiro";src:url(fonts/tiro-italic-dev.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0900-097F,U+1CD0-1CF9,U+20B9,U+A830-A839}
@font-face{font-family:"Tiro";src:url(fonts/tiro-italic-latin.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF}
@font-face{font-family:"Poppins Dev";src:url(fonts/poppins-devanagari-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0900-097F,U+1CD0-1CF9,U+20B9,U+A830-A839}
@font-face{font-family:"Poppins Dev";src:url(fonts/poppins-latin-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF}
@font-face{font-family:"Poppins Dev";src:url(fonts/poppins-devanagari-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0900-097F,U+1CD0-1CF9,U+20B9,U+A830-A839}
@font-face{font-family:"Poppins Dev";src:url(fonts/poppins-latin-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF}
@font-face{font-family:"Poppins Dev";src:url(fonts/poppins-devanagari-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0900-097F,U+1CD0-1CF9,U+20B9,U+A830-A839}
@font-face{font-family:"Poppins Dev";src:url(fonts/poppins-latin-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-21FF}

:root{
  --paper:#F4ECDC;--paper-2:#EADFC8;--ink:#2E1A12;--ink-2:#5E4A3C;--line:#D6C6A8;--on-photo:#F7F0E2;
  --kesar:#C25119;--maroon:#C25119;--green:#2F4A2C;
  --serif:"Tiro","Tiro Devanagari Hindi",Georgia,serif;
  --sans:"Poppins Dev","Noto Sans Devanagari",system-ui,sans-serif;
  --wrap:1400px;--gutter:clamp(16px,4vw,64px);--section:clamp(48px,6vw,80px);
  interpolate-size:allow-keywords;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.75;font-weight:400}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.2;margin:0 0 .4em;letter-spacing:-.005em;color:var(--ink)}
h1{color:var(--ink)}
h1{font-size:clamp(38px,6vw,72px);text-wrap:balance}
h2{font-size:clamp(28px,3.6vw,44px)}
h3{font-size:clamp(22px,2.4vw,28px)}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--ink-2);margin-bottom:12px}
.muted{color:var(--ink-2)}
.small{font-size:14px}
.sec{padding:var(--section) 0}
.sec+.sec{padding-top:0}
.rule{border:0;border-top:1px solid var(--line);margin:0}

/* nav */
.top{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:10}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:68px}
.brand{font-family:var(--serif);font-size:26px;text-decoration:none;white-space:nowrap}
.brand{color:var(--kesar);display:flex;align-items:center;gap:10px}.brand img{width:44px;height:auto}
.nav{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.nav a{text-decoration:none;font-size:15px;font-weight:500;padding:8px 10px;border-bottom:2px solid transparent}
.nav a[aria-current]{border-bottom-color:var(--maroon);color:var(--maroon)}
.nav a:hover{color:var(--kesar)}
.menu-btn{display:none;background:none;border:1px solid var(--line);padding:8px 12px;font:inherit;font-size:15px;border-radius:4px}
@media (max-width:1100px){
  .menu-btn{display:block}
  .nav{display:none;width:100%;flex-direction:column;gap:0;padding-bottom:12px}
  .nav.open{display:flex}
  .nav a{padding:12px 4px;border-bottom:1px solid var(--line)}
  .nav a[aria-current]{color:var(--kesar)}
  .top .wrap{flex-wrap:wrap}
}

/* hero, full-bleed photo, copy over the fade */
.hero{position:relative;min-height:max(560px,calc(100svh - 69px));display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-img{position:absolute;inset:0}
.hero-img img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.hero-img::after{content:"";position:absolute;inset:0;background:radial-gradient(110% 120% at 0% 55%,rgba(30,18,10,.8) 0%,rgba(30,18,10,.62) 36%,rgba(30,18,10,.12) 64%,rgba(30,18,10,0) 76%),linear-gradient(0deg,rgba(30,18,10,.3) 0%,rgba(30,18,10,0) 35%)}
@media (min-width:761px){
  .hero .hero-copy h1,.hero .hero-copy .eyebrow,.hero .hero-copy .lead,.hero .hero-copy .credit{opacity:1;color:var(--on-photo);text-shadow:0 1px 18px rgba(30,18,10,.45)}
  .hero .btn.green{border-color:var(--on-photo);color:var(--on-photo)}
  .hero .btn.green:hover{background:rgba(247,240,226,.12)}
}
.hero-copy{position:relative;width:100%;padding-top:clamp(40px,7vw,96px);padding-bottom:clamp(40px,7vw,96px)}
.hero h1{font-size:clamp(40px,5.4vw,68px);margin-bottom:.4em;max-width:13ch}
.hero .lead{font-size:clamp(18px,1.8vw,21px);line-height:1.6;color:var(--ink-2);max-width:36ch}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 0}
.cta .btn{font-size:16px;padding:12px 20px}
.mantra{font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);line-height:1.5;border-left:3px solid var(--kesar);padding-left:20px;margin:32px 0 0}
.mantra span{display:block}
.credit{font-size:12px;color:var(--ink-2);margin:10px 0 0;opacity:.8}
.hero .credit{margin-top:28px}
@media (max-width:760px){
  .hero{min-height:0;display:block}
  .hero-img{position:relative;height:64vw}
  .hero-img img{object-position:50% 62%}
  .hero-img::after{display:none}
  .hero-copy{padding-top:4px}
  .hero h1{max-width:none}
}

/* hero: a slow settle on the still, so the banner breathes without moving the eye */
@media (prefers-reduced-motion:no-preference){
  .hero-img img,.phero img{animation:heroSettle 24s cubic-bezier(.22,.6,.3,1) both}
}
@keyframes heroSettle{from{transform:scale(1.08)}to{transform:scale(1)}}

/* paper grain, the one background system */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.3;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .35 0 0 0 0 .25 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* home photo band */
.band{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media (max-width:760px){.band{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr;gap:20px 14px}.tile h3{font-size:18px}.tile .meta{font-size:12px}}

/* reveal, driven by anime.js; no-js shows everything */

/* three doors, flat numbered */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.door{padding:32px 28px 32px 0;text-decoration:none;display:block}
.door+.door{border-left:1px solid var(--line);padding-left:28px}
.door .n{font-family:var(--serif);font-size:15px;color:var(--ink-2);display:block;margin-bottom:12px}
.door h3{margin-bottom:.35em}
.door p{color:var(--ink-2);margin:0 0 12px}
.door .more{color:var(--ink-2);font-weight:500;font-size:15px}
.door:hover .more{color:var(--kesar)}
.door:hover .more{text-decoration:underline}
@media (max-width:760px){.doors{grid-template-columns:1fr}.door{padding:24px 0}.door+.door{border-left:0;border-top:1px solid var(--line);padding-left:0}}

/* ornament divider */
.orn{display:flex;align-items:center;gap:20px;margin:0 0 32px;font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);color:var(--maroon)}
.orn::before,.orn::after{content:"";flex:1;border-top:1px solid var(--line)}
.orn span::before{content:"❧  ";color:var(--kesar)}.orn span::after{content:"  ❧";color:var(--kesar);display:inline-block;transform:scaleX(-1)}

/* page header: title left, lead right */
.phead{display:grid;grid-template-columns:7fr 5fr;gap:48px;align-items:end;margin-bottom:40px}
.phead .lead{font-size:19px;color:var(--ink-2);margin:0}
.phead .lead a{text-decoration:none;font-weight:500}
.phead .lead a:hover{color:var(--kesar)}
.phead .more-link{justify-self:end;font-size:17px}
@media (max-width:760px){.phead{grid-template-columns:1fr;gap:12px}}

/* two-col text (about, home statement) */
.cols{display:grid;grid-template-columns:4fr 8fr;gap:64px}
.cols .sticky{position:sticky;top:92px;align-self:start}
.cols .sticky .imgw img{aspect-ratio:4/3;width:100%;object-fit:cover;object-position:50% 62%;border:1px solid var(--line)}
@media (max-width:760px){.cols{grid-template-columns:1fr;gap:16px}}
.prose{max-width:72ch;font-size:18px}
.prose h2{margin-top:1.8em;font-size:clamp(24px,2.6vw,30px)}
.prose h2+p{margin-top:0}
.prose p{margin-bottom:1.1em}
.prose ul{padding-left:1.3em;margin:0 0 1.2em}
.prose li{margin-bottom:.4em}
.prose strong{font-weight:600}
/* the index scrolls inside itself, independent of the article column */
.toc{max-height:calc(100vh - 116px);overflow-y:auto;overscroll-behavior:contain;padding-right:12px;
  scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.toc::-webkit-scrollbar{width:8px}
.toc::-webkit-scrollbar-track{background:transparent}
.toc::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}
.toc::-webkit-scrollbar-thumb:hover{background:var(--kesar)}
.toc ol{list-style:none;margin:0;padding:0}
.toc > ol{border-top:1px solid var(--line)}
.toc > ol > li{border-bottom:1px solid var(--line);padding:14px 0}
.toc a{display:block;font-size:15px;line-height:1.45;color:var(--ink-2);text-decoration:none}
.toc a:hover{color:var(--kesar)}
.toc .g-top{display:grid;grid-template-columns:1fr 14px;gap:10px;align-items:start;cursor:pointer;list-style:none;
  font-weight:600;color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.35}
.toc .g-top::-webkit-details-marker{display:none}
.toc .g-top::after{content:"";width:8px;height:8px;margin-top:6px;justify-self:end;
  border-right:1.5px solid var(--kesar);border-bottom:1.5px solid var(--kesar);
  transform:rotate(45deg);transition:transform .2s ease}
.toc .g-grp[open] .g-top::after{transform:rotate(-135deg)}
.toc .g-top:hover{color:var(--kesar)}
.toc .g-grp>ol{margin-top:10px}
/* smooth open and close on the native <details> */
.toc .g-grp::details-content{block-size:0;overflow:hidden;opacity:0;
  transition:block-size .38s cubic-bezier(.2,.7,.2,1),opacity .28s ease,content-visibility .38s allow-discrete;}
.toc .g-grp[open]::details-content{block-size:auto;opacity:1}
@media (prefers-reduced-motion:reduce){
  .toc .g-grp::details-content{transition:none}
  .toc .g-top::after{transition:none}
}
.toc ol ol a{padding:5px 0 5px 14px;border-left:1px solid var(--line);font-size:14px}
.toc ol ol a:hover{border-left-color:var(--kesar)}
.prose h2,.prose h3{scroll-margin-top:96px}
/* gaushala: one article per block, a rule between them */
.g-art+.g-art{margin-top:clamp(56px,7vw,88px);padding-top:clamp(40px,5vw,64px);border-top:2px solid var(--line)}
.g-art>h2{font-family:var(--serif);font-size:clamp(26px,3vw,36px);line-height:1.25;margin:0 0 .7em}
.g-art h3{margin-top:1.8em;font-size:clamp(20px,2.2vw,25px)}
.g-art h3+p{margin-top:0}
.g-art h4{margin-top:1.5em;font-size:clamp(17px,1.8vw,20px)}
.g-art h4+p{margin-top:0}
@media (max-width:760px){.cols .toc{position:static;max-height:none;overflow:visible;padding-right:0;margin-bottom:8px}}
.prose ol{padding-left:1.4em;margin:0 0 1.2em}
.prose ol li{margin-bottom:.9em}
.prose a{color:var(--kesar);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;overflow-wrap:anywhere}
.prose a:hover{color:var(--green)}
.prose blockquote{margin:1.5em 0;padding:0 0 0 20px;border-left:3px solid var(--kesar);color:var(--ink-2);font-size:16px}
.prose ul{padding-left:1.2em}
.prose li{margin-bottom:.3em}

/* breed grid, form 3: image tiles with hanging text */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 28px}
@media (max-width:760px){.grid{grid-template-columns:1fr 1fr;gap:20px 14px}}
.tile{text-decoration:none}
.tile .ph,.tile img{aspect-ratio:4/3;width:100%;object-fit:cover;object-position:50% 62%;background:var(--paper-2);border:1px solid var(--line);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.imgw{overflow:hidden;position:relative}

.imgw img,.hero-img img{filter:saturate(.88) contrast(1.04) sepia(.12)}
.tile .imgw{overflow:hidden}
.tile:hover img{transform:scale(1.03)}
.ph{display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:15px;color:var(--ink-2)}
.tile h3{margin:14px 0 2px;font-size:22px}
.tile .meta{font-size:14px;color:var(--ink-2);margin:0 0 6px}
.tile p{margin:0;font-size:15px}
.tile:hover h3{color:var(--kesar)}
.tag{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.04em;padding:2px 8px;border:1px solid var(--line);border-radius:2px;margin-left:8px;vertical-align:middle}

/* library rows, form 4: a ledger */
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:100px 1fr 280px;gap:32px;padding:28px 0;border-bottom:1px solid var(--line)}
.row .yr{font-family:var(--serif);font-size:22px;color:var(--ink-2)}
.row h3{font-size:24px;margin-bottom:2px}
.row .en{font-style:italic;font-family:var(--serif);color:var(--ink-2);margin:0 0 8px;font-size:17px}
.row .note{margin:0 0 8px;font-size:16px}
.row .src{font-size:13px;color:var(--ink-2);margin:0}
.dl{display:flex;flex-direction:column;gap:8px;align-self:start}
.btn{display:inline-block;text-decoration:none;font-weight:500;font-size:15px;padding:10px 16px;border:1px solid var(--ink);border-radius:3px;text-align:center}
.btn.primary{background:var(--maroon);border-color:var(--maroon);color:#fff}
.btn.green{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn.off{border-style:dashed;color:var(--ink-2);pointer-events:none}
@media (max-width:760px){.row{grid-template-columns:1fr;gap:8px}.row .yr{font-size:16px}.dl{flex-direction:row;flex-wrap:wrap}}

/* gallery, uniform grid */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.gal figure{margin:0}
.gal .ph,.gal img{aspect-ratio:1273/1800;width:100%;object-fit:cover;background:var(--paper-2);border:1px solid var(--line);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.gal a:hover img{transform:scale(1.03)}
.gal figcaption{font-size:15px;margin-top:12px}
.gal figcaption span{display:block;color:var(--ink-2);font-size:13px}
@media (max-width:860px){.gal{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.gal{grid-template-columns:1fr}}

/* article list */
.list{border-top:1px solid var(--line)}
.item{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none}
.item time{font-size:14px;color:var(--ink-2);padding-top:6px}
.item h3{margin-bottom:.2em}
.item p{margin:0;color:var(--ink-2)}
.item:hover h3{color:var(--kesar)}
@media (max-width:600px){.item{grid-template-columns:1fr;gap:4px}}
.article{max-width:70ch;margin:0 auto}
.article h1{font-size:clamp(32px,4.6vw,52px)}
.article .date{font-size:14px;color:var(--ink-2);margin-bottom:32px}

/* notice */
.notice{background:var(--paper-2);border:1px solid var(--line);padding:20px 24px;font-size:15px;color:var(--ink-2)}
.notice strong{color:var(--ink)}

/* footer, big brand */
footer{border-top:1px solid var(--line);margin-top:0;padding:48px 0 0}
footer .wrap{display:grid;grid-template-columns:1fr 1fr;gap:32px}
footer p{margin:0 0 8px;font-size:14px;color:var(--ink-2)}
footer a{color:var(--ink)}
footer .links{display:flex;gap:16px;flex-wrap:wrap}
@media (max-width:600px){footer .wrap{grid-template-columns:1fr}.mantra-band span{padding:4px 12px}}

/* article cards (lekh) */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:36px 24px}
.card{text-decoration:none;display:block}
.card .imgw{overflow:hidden;border:1px solid var(--line);background:var(--paper-2)}
.card img{aspect-ratio:4/3;width:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.card:hover img{transform:scale(1.03)}
.card time{display:block;font-size:13px;color:var(--ink-2);margin:14px 0 4px}
.card h3,.card .card-t{font-size:22px;margin-bottom:.3em}
.card p{margin:0;font-size:15px;color:var(--ink-2)}
.card:hover h3{color:var(--kesar)}
.art-img{margin:0 0 32px}
.art-img img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--line)}

/* posters (gauseva sandesh) */
.posters{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media (max-width:900px){.posters{grid-template-columns:repeat(3,1fr)}}
.poster{display:block;border:1px solid var(--line);background:var(--paper-2);overflow:hidden}
.poster img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:top;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.poster:hover img{transform:scale(1.03)}
@media (max-width:520px){.posters{grid-template-columns:1fr 1fr;gap:12px}}

/* lightbox */
.lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;margin:0}
.lb::backdrop{background:rgba(30,16,10,.88)}
.lb img{position:absolute;inset:0;margin:auto;max-width:min(92vw,1100px);max-height:88vh;object-fit:contain;box-shadow:0 30px 80px -20px #000}
.lb button{position:absolute;top:50%;transform:translateY(-50%);background:none;border:0;color:#F4ECDC;font-size:44px;line-height:1;padding:16px;cursor:pointer;opacity:.8;font-family:var(--serif)}
.lb button:hover{opacity:1}
.lb-p{left:8px}.lb-n{right:8px}
.lb-x{top:16px!important;right:16px;transform:none!important;font-size:26px!important}
@media (max-width:600px){.lb-p,.lb-n{display:none}}
.mantra-band{background:var(--ink);color:var(--paper);margin-top:40px;padding:22px 0;font-family:var(--serif);font-size:clamp(18px,2vw,24px)}
.mantra-band .wrap{display:flex;justify-content:center;flex-wrap:wrap;gap:0}
.mantra-band span{padding:0 20px}
.mantra-band span+span{border-left:1px solid rgba(255,255,255,.45)}

/* chapter booklets under a library row */
.chap-h{margin:16px 0 6px;font-size:14px;font-weight:600;color:var(--kesar)}
.chap{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 24px}
.chap li{font-size:16px;padding:6px 0;border-bottom:1px solid var(--line)}
.chap li a:first-child{font-weight:500;text-decoration:none}
.chap li a:first-child:hover{color:var(--kesar)}

/* page banner: image strip that fades into the paper, heading sits below */
.phero{position:relative;height:clamp(300px,56vh,640px);overflow:hidden;border-bottom:1px solid var(--line);display:flex;align-items:flex-end}
.phero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.phero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(30,18,10,.84) 0%,rgba(30,18,10,.62) 28%,rgba(30,18,10,.2) 54%,rgba(30,18,10,0) 72%)}
.phero .phero-copy h1,.phero .phero-copy .eyebrow,.phero .phero-copy .lead,.phero .phero-copy .lead a{color:var(--on-photo);text-shadow:0 1px 18px rgba(30,18,10,.45)}
.phero-copy{position:relative;z-index:1;width:100%;padding-bottom:clamp(24px,3vw,40px);display:grid;grid-template-columns:7fr 5fr;gap:32px;align-items:end}
.phero-copy h1{margin-bottom:0}
.phero-copy .eyebrow{margin-bottom:8px}
.phero-copy .lead{font-size:18px;color:var(--ink-2);margin:0;max-width:44ch}
.phero-copy .lead a{text-decoration:none;font-weight:500}
.phero+.sec{padding-top:clamp(32px,4vw,56px)}
@media (max-width:760px){.phero{height:auto;min-height:72vw}.phero img{object-position:50% 68%!important}.phero-copy{grid-template-columns:1fr;gap:8px;padding-top:34vw}.phero-copy .lead{font-size:16px}}

/* library: book cards and book page */
.books{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px}
@media (max-width:760px){.books{grid-template-columns:1fr 1fr;gap:24px 14px}}
.book{text-decoration:none;display:block}
.book .imgw{border:1px solid var(--line);background:#fff;aspect-ratio:3/4;overflow:hidden}
.book img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.book:hover img{transform:scale(1.02)}
.book .yr{display:block;font-family:var(--serif);font-size:15px;color:var(--ink-2);margin:14px 0 2px}
.book h3{font-size:22px;margin-bottom:.2em;font-style:italic}
.book .meta{margin:0;font-size:15px;color:var(--ink-2)}
.book:hover h3{color:var(--kesar)}
.book-page .sticky .imgw{border:1px solid var(--line);background:#fff}
.book-page .sticky .imgw img{aspect-ratio:auto;object-position:top}
.meta-table{border-collapse:collapse;width:100%;margin:24px 0 8px;font-size:16px}
.meta-table th,.meta-table td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}
.meta-table th{font-weight:500;color:var(--ink-2);width:36%;white-space:nowrap}
.inline-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px}
.inline-list a{font-weight:500}

/* language switcher, the A2Z pattern */
.lang{position:relative;flex-shrink:0}
.lang-btn{min-height:40px;padding:0 10px 0 12px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:border-color .15s}
.lang-btn:hover,.lang-btn[aria-expanded=true]{border-color:var(--ink)}
.lang-btn svg:first-child{color:var(--kesar)}
.lang-btn .i-chevron{color:var(--ink-2);transition:transform .2s}
.lang-btn[aria-expanded=true] .i-chevron{transform:rotate(180deg)}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;margin:0;padding:6px;list-style:none;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 10px rgba(46,26,18,.08),0 16px 40px rgba(46,26,18,.16);z-index:20}
.lang-menu li{display:grid;grid-template-columns:1fr auto;column-gap:12px;align-items:center;padding:10px 12px;border-radius:8px;cursor:pointer;min-height:44px}
.lang-menu li:hover,.lang-menu li:focus-visible{background:var(--paper-2)}
.lang-menu b{font-weight:500;font-size:15px;grid-column:1}
.lang-menu small{font-size:12px;color:var(--ink-2);grid-column:1;line-height:1.2}
.lang-menu .i-check{grid-column:2;grid-row:1/3;color:var(--kesar);opacity:0}
.lang-menu li[aria-selected=true] .i-check{opacity:1}
@media (max-width:1100px){.top .wrap{gap:12px}.lang{order:-1;margin-left:auto}.lang-btn .lang-cur{display:none}.menu-btn{order:0}.nav{order:1}}

/* breed sets, one per source book */
.set+.set{margin-top:clamp(56px,7vw,96px);padding-top:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.set-h{margin-bottom:28px}
.set-h h2{font-size:clamp(24px,2.8vw,34px);font-style:italic;margin-bottom:.2em}
.set-h .muted{margin:0;font-size:15px}
.set-h a{font-weight:500}

/* inline PDF reader */
.reader{margin:16px 0 8px;border:1px solid var(--line);background:#fff}
.reader iframe{width:100%;height:min(80vh,900px);border:0;display:block}
.sticky .reader{display:none!important}

/* article page: image header, centred title, reading column */
.post-hero{height:clamp(240px,52vh,620px);overflow:hidden;position:relative}
.post-hero img{width:100%;height:100%;object-fit:cover;display:block}
.post-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--paper) 0%,rgba(244,236,220,0) 30%)}
.post-head{max-width:760px;text-align:center;padding-top:clamp(16px,3vw,40px)}
.post-head h1{font-size:clamp(32px,4.4vw,54px);line-height:1.15;margin:8px 0 20px;text-wrap:balance}
.post-head .dek{font-size:clamp(17px,1.6vw,20px);line-height:1.6;color:var(--ink-2);margin:0 auto 20px;max-width:56ch}
.byline{display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;color:var(--ink-2);margin:0 0 8px}
.byline img{width:28px;height:auto}
.byline .dot{opacity:.5}
.post-body{max-width:700px;margin:clamp(24px,4vw,48px) auto 0;font-size:19px;line-height:1.85}
.post-body p{margin-bottom:1.35em}
.post-body h2{margin-top:2em}
.share{max-width:700px;margin:40px auto 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:14px}
.share>span{color:var(--ink-2);margin-right:4px}
.share a,.share button{font:inherit;font-weight:500;color:var(--ink);background:none;border:1px solid var(--line);border-radius:999px;padding:6px 14px;text-decoration:none;cursor:pointer}
.share a:hover,.share button:hover{border-color:var(--kesar);color:var(--kesar)}
.post .credit{max-width:700px;margin:12px auto 0;text-align:center}
.post-nav{max-width:700px;margin:40px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pn{text-decoration:none;display:block}
.pn span{display:block;font-size:13px;color:var(--ink-2);margin-bottom:4px}
.pn b{font-family:var(--serif);font-weight:400;font-size:19px;line-height:1.3}
.pn.next{text-align:right}
.pn:hover b{color:var(--kesar)}
@media (max-width:600px){.post-nav{grid-template-columns:1fr}.pn.next{text-align:left}.post-body{font-size:18px}}

/* phones: denser grids, list-style article cards, smaller cover */
@media (max-width:600px){
  .gal{grid-template-columns:1fr 1fr;gap:20px 12px}
  .gal figcaption{font-size:15px;margin-top:8px;line-height:1.45}
  .gal figcaption span{font-size:13px}
  .cards{grid-template-columns:1fr;gap:0}
  .card{display:grid;grid-template-columns:112px 1fr;column-gap:14px;align-items:start;padding:16px 0;border-top:1px solid var(--line)}
  .card .imgw{grid-row:1/4}
  .card img{aspect-ratio:1}
  .card time{margin:0 0 2px;font-size:12px}
  .card h3,.card .card-t{font-size:17px;line-height:1.35;margin:0}
  .card p{display:none}
  .book-page .sticky .imgw{max-width:220px}
}

/* keyboard: skip link shows on focus; visible focus on every control */
.skip{position:absolute;left:12px;top:-60px;z-index:50;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:4px;text-decoration:none}
.skip:focus{top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--kesar);outline-offset:3px}
.btn .sz{font-size:.82em;opacity:.8;font-weight:400;white-space:nowrap}
.lang-btn{min-height:44px}

/* ---- archival publication pass (Codex / GPT-6 Astra review, 2026-09-23) ---- */

/* 1. Paper, accents and Devanagari rhythm */
:root {
  --sheet:#FAF5EA;
  --brass:#8A7046;
  --section:clamp(44px,5vw,72px);
}
body::before { content:none; }
h1,h2,h3,.eyebrow,.tag { letter-spacing:normal; }
h1,h2,h3 { line-height:1.35; }
.eyebrow { margin-bottom:8px; font-size:14px; }
.prose { font-size:18px; line-height:1.85; }
.prose h2 { margin-top:1.6em; line-height:1.4; }
.prose h3 { line-height:1.4; }
.post-head h1 { line-height:1.35; }
.tile .meta,.book .meta { font-size:15px; line-height:1.65; }
.credit { font-size:13px; opacity:1; }
.tag {
  color:var(--green); background:#E5E9DC;
  border-color:#B9C3AD; font-weight:500;
}

/* 2. Section furniture: one restrained printer's ornament */
.phead {
  position:relative; gap:24px; margin-bottom:28px;
  padding-bottom:18px; border-bottom:3px double var(--brass);
}
.phead::after {
  content:""; position:absolute; bottom:-5px; left:0;
  width:7px; height:7px; background:var(--brass);
  transform:rotate(45deg); box-shadow:0 0 0 4px var(--paper);
}
.phead h2 { margin-bottom:0; }
.phead .more-link { font-size:16px; }
.set-h {
  padding-left:20px; border-left:3px solid var(--brass);
  margin-bottom:28px;
}
.set-h h2 { line-height:1.4; }
.sec.editorial-band {
  padding-block:var(--section); background:var(--paper-2);
  border-block:1px solid var(--line);
}
.editorial-band .phead::after {
  box-shadow:0 0 0 4px var(--paper-2);
}

/* 3. Home destinations, one grouped paper panel */
.doors {
  padding:8px; background:var(--paper-2);
  border:1px solid var(--line);
  box-shadow:inset 0 0 0 5px var(--paper);
}
.door,.door+.door { padding:24px; }
.door .n { display:none; }
.door h3 { font-size:26px; }
.door p { font-size:16px; }
.door .more {
  display:inline-block; color:var(--ink);
  border-bottom:1px solid var(--brass); padding-bottom:2px;
}
.door:hover { background:var(--sheet); }

/* 4. Breed cards, mounted photograph plus caption */
.band,.grid { gap:28px 20px; }
.tile {
  display:block; min-width:0; padding:8px 8px 16px;
  background:var(--sheet); border:1px solid var(--line);
}
.tile .imgw { border-bottom:2px solid var(--brass); }
.tile .imgw img { border:0; }
.tile h3 { margin:14px 8px 6px; font-size:24px; }
.tile .meta,.tile > p { margin-inline:8px; }
.tile .tag { margin-left:6px; }
.tile:hover { border-color:var(--brass); }

/* 5. Books and plates: retain the whole archival object */
.book .imgw {
  padding:14px; background:var(--paper-2);
  border:1px solid var(--line);
}
.book img {
  object-fit:contain; object-position:center; filter:none;
}
.book .yr {
  display:inline-block; margin-top:16px;
  padding-bottom:2px; border-bottom:1px solid var(--brass);
}
.book h3 { margin-top:6px; line-height:1.4; font-style:normal; }
.book h3:lang(en) { font-style:italic; }
.gal { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
.gal figure { min-width:0; }
.gal .imgw {
  padding:12px; background:var(--paper-2);
  border:1px solid var(--line);
}
.gal img { object-fit:contain; border:0; filter:none; }
.gal figcaption {
  margin-top:12px; padding-top:10px;
  border-top:1px solid var(--line); line-height:1.65;
}
.gal figcaption span { margin-top:4px; font-size:14px; }

/* 6. Essays: a caption rule, not another boxed card */
.cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
.card { min-width:0; padding-bottom:18px; border-bottom:1px solid var(--brass); }
.card .imgw { border:0; padding:6px; background:var(--sheet); }
.card h3,.card .card-t { font-size:24px; line-height:1.4; }
.card time { font-size:14px; margin-top:16px; }

/* 7. Detail pages: mounted cover and catalogue register */
.book-page .sticky .imgw {
  padding:12px; background:var(--sheet);
  box-shadow:3px 3px 0 var(--paper-2);
}
.book-page .sticky .imgw img { border:0; filter:none; }
.meta-table { background:var(--sheet); border-top:2px solid var(--brass); }
.meta-table th,.meta-table td { padding:12px; }
.meta-table th { white-space:normal; }
.meta-table tr:nth-child(even) { background:#EFE5D2; }
.prose blockquote {
  padding:16px 20px; background:var(--sheet);
  border-left:3px solid var(--brass); line-height:1.8;
}
.notice { line-height:1.8; }

/* 8. Long research page: index, article openings, practical notes */
.toc { padding:20px; background:var(--paper-2); border-top:3px solid var(--brass); }
.toc .g-top { font-size:18px; line-height:1.5; font-weight:400; }
.toc a { line-height:1.65; }
.g-art > h2 {
  padding-bottom:20px; border-bottom:3px double var(--brass);
  line-height:1.4; margin-bottom:24px;
}
.g-art + .g-art {
  margin-top:64px; padding-top:0; border-top:0;
}
.g-art blockquote {
  background:#E5E9DC; border-left-color:var(--green);
  color:var(--ink);
}

/* 9. Colophon */
footer { background:var(--paper-2); border-top:3px double var(--brass); }
footer .links { gap:12px 20px; }
footer p { font-size:15px; line-height:1.8; }
.mantra-band { border-top:3px double var(--brass); }

/* 11. Phone composition */
@media (max-width:760px) {
  .hero-copy { padding-top:24px; padding-bottom:36px; }
  .hero h1 { font-size:38px; line-height:1.3; }
  .hero .lead { font-size:18px; line-height:1.8; }
  .phead { gap:8px; margin-bottom:24px; padding-bottom:14px; }
  .phead .more-link { justify-self:start; }
  .door,.door+.door { padding:20px 16px; }
  .door+.door { border-left:0; }
  .band,.grid { gap:20px 12px; }
  .tile { padding:5px 5px 12px; }
  .tile h3 { font-size:21px; margin:10px 5px 6px; }
  .tile .meta,.tile > p { margin-inline:5px; }
  .tile .tag { display:table; margin:6px 0 0; }
  .book .imgw { padding:8px; }
  .book h3 { font-size:20px; }
  .gal { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cols .sticky { position:static; }
  .cols .toc { padding:20px; margin-bottom:24px; }
  .book-page .sticky .imgw { max-width:260px; margin-inline:auto; }
  .book-page .sticky .credit { text-align:center; }
}
@media (max-width:600px) {
  .cards { grid-template-columns:1fr; }
  .card {
    grid-template-columns:96px minmax(0,1fr);
    padding:18px 0; border-top:0;
  }
  .card .imgw { padding:4px; }
  .card time { margin:0 0 6px; font-size:13px; }
  .card h3,.card .card-t { font-size:20px; line-height:1.45; }
}

.editorial-band + .sec { padding-top:var(--section); }
.hero h1 { max-width:16ch; line-height:1.25; }
/* touch sizes: phones and tablets */
@media (max-width:1024px){
  footer .links{gap:4px 20px} footer .links a{display:inline-block;padding:9px 0}
  .tag{font-size:13px}
  .toc .g-top{min-height:44px;align-items:center;padding:6px 0}
  .toc ol ol a{padding-top:10px;padding-bottom:10px}
  .share a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .eyebrow a{display:inline-block;padding:10px 0}
}
@media (max-width:400px){ .top .wrap{gap:8px} .brand{font-size:21px;gap:6px} .brand img{width:34px} .lang-btn{padding:0 8px;gap:4px} .menu-btn{padding:8px 10px} }

/* page to page: the browser cross-fades the content, the header stays put. No JS. */
@view-transition{navigation:auto}
.top{view-transition-name:site-top}
::view-transition-old(root){animation:vt-out .22s cubic-bezier(.4,0,1,1) both}
::view-transition-new(root){animation:vt-in .38s cubic-bezier(.2,.7,.2,1) .06s both}
@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}
@media (prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}

/* ---- smoothness pass ---- */
/* images: fade in over the placeholder (only once JS is running, so no-JS never hides them) */
.imgfx img:not(.ok){opacity:0}
.imgfx img{transition:opacity .5s ease}
.imgw,.post-hero,.phero,.hero-img{background-color:var(--paper-2)}

/* press and hover feedback */
.btn,.tile,.card,.book,.door,.poster,.gal a,.to-top{transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .18s,background-color .18s,border-color .18s}
@media (hover:hover){
  .tile:hover,.book:hover,.poster:hover{transform:translateY(-3px);box-shadow:0 10px 24px -14px rgba(46,26,18,.35)}
  .btn:hover{transform:translateY(-1px)}
}
.btn:active,.tile:active,.card:active,.book:active,.door:active,.poster:active,.gal a:active{transform:scale(.98)}


/* lightbox opens with a soft zoom */
#lb[open]{animation:lb-fade .25s ease both}
#lb[open] img{animation:lb-zoom .35s cubic-bezier(.2,.7,.2,1) both}
#lb::backdrop{animation:lb-fade .25s ease both}
@keyframes lb-fade{from{opacity:0}}
@keyframes lb-zoom{from{opacity:0;transform:scale(.94)}}

/* reading progress and back to top */
.progress{position:fixed;left:0;right:0;top:0;height:3px;background:var(--kesar);transform:scaleX(0);transform-origin:0 50%;z-index:60;pointer-events:none}
.to-top{position:fixed;right:16px;bottom:20px;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);display:grid;place-items:center;cursor:pointer;z-index:40;box-shadow:0 6px 18px -8px rgba(46,26,18,.4);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s}
.to-top.show{opacity:1;visibility:visible;transform:none}
.to-top:hover{border-color:var(--kesar);color:var(--kesar)}

@media (prefers-reduced-motion:reduce){
  .imgfx img{transition:none}
  #lb[open],#lb[open] img,#lb::backdrop{animation:none}
  .btn,.tile,.card,.book,.door,.poster,.gal a{transition:none}
}

/* motion lives in the hero only: every section banner's title and intro settle in once on load */
.phero-copy>*,.hero-copy>*{animation:hero-in 1.3s cubic-bezier(.16,1,.3,1) .35s both}
.phero-copy>*+*,.hero-copy>*+*{animation-delay:.55s}
.phero-copy>*+*+*,.hero-copy>*+*+*{animation-delay:.75s}
@keyframes hero-in{from{opacity:0;transform:translateY(12px)}}
@media (prefers-reduced-motion:reduce){.phero-copy>*,.hero-copy>*{animation:none}}

/* gaushala: with JS one article shows at a time (site.js adds .g-one); without JS all stay stacked */
.g-one .g-art{display:none}
.g-one .g-art.on{display:block;margin-top:0}
.g-one .g-art.fade{animation:g-in .35s ease-out}
@keyframes g-in{from{opacity:0;transform:translateY(8px)}}
.toc .g-grp.on>.g-top{color:var(--kesar)}
@media (prefers-reduced-motion:reduce){.g-one .g-art.fade{animation:none}}

/* home headline is the tagline alone (RA, 2026-09-23): set it big */
.hero h1{font-size:clamp(48px,7.4vw,112px);line-height:1.15;max-width:none}
@media (max-width:760px){.hero h1{font-size:clamp(40px,11vw,56px)}}

/* about: centred column, text left (RA, 2026-09-24); the mantra closes the text (RA, 2026-09-23) */
.about-body{text-align:left}
.about-body .mantra{text-align:center;width:100%}
.about-body .mantra{border-left:0;padding-left:0;margin-top:40px;padding-top:24px;border-top:3px solid var(--kesar);display:inline-block}

/* footer: logo beside the text, not above it (RA, 2026-09-23) */
.f-brand{display:flex;gap:24px;align-items:center}
.f-brand img{flex:none}
@media (max-width:420px){.f-brand{gap:16px}.f-brand img{width:72px;height:auto}}
.about-body .mantra{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 0;font-weight:700}
.about-body .mantra span{padding:0 18px}
.about-body .mantra span+span{border-left:2px solid var(--kesar)}

/* home books row: four breed books on one row */
.grid.g4{grid-template-columns:repeat(4,1fr);gap:28px 20px}
@media (max-width:900px){.grid.g4{grid-template-columns:repeat(2,1fr)}}
.gal.g4{grid-template-columns:repeat(4,1fr);gap:20px}
@media (max-width:900px){.gal.g4{grid-template-columns:repeat(2,1fr)}}
.posters.p3{grid-template-columns:repeat(3,1fr)}
@media (max-width:600px){.posters.p3{grid-template-columns:1fr}}

/* home hero: headline and the line under it read as one block (RA, 2026-09-23) */
.hero h1{margin-bottom:.06em;line-height:1.1}
.hero h1+.lead{margin-top:0}

/* text-only pages (no photo): centre the column and the text */
.text-only .phead{grid-template-columns:1fr}
.text-only .prose{margin-inline:auto}
.text-only .wrap:not(.cols)>.phead{max-width:72ch;margin-inline:auto}
.text-only .cols{grid-template-columns:1fr;gap:8px;max-width:72ch;margin-inline:auto}
.text-only .cols .sticky{position:static}
.text-only .mantra{border-left:0;padding-left:0}
.post-body.verse{text-align:center}

/* home: about, text left and a framed photo filling the right */
.about-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,72px);align-items:center}
.about-lead p{font-family:var(--serif);font-size:clamp(21px,2.1vw,26px);line-height:1.7;color:var(--ink);margin:0 0 20px}
.about-sub p{font-size:18px;line-height:1.85;color:var(--ink-2);margin:0}
.about-fig{margin:0;padding:10px;background:var(--sheet);border:1px solid var(--line)}
.about-fig img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:55% 55%}
.mantra-row{display:flex;flex-wrap:wrap;margin:28px 0 0;font-family:var(--serif);font-size:clamp(18px,1.9vw,22px);color:var(--kesar)}
.mantra-row span{padding:2px 18px}
.mantra-row span:first-child{padding-left:0}
.mantra-row span+span{border-left:1px solid var(--brass)}
@media (max-width:760px){.about-grid{grid-template-columns:1fr}.about-fig{order:-1}.mantra-row span{padding:2px 10px}.mantra-row span:first-child{padding-left:0}}

/* polish pass 2026-09-24 */
.prose a.btn{text-decoration:none}
.prose a.btn.primary,.prose a.btn.primary:hover{color:#fff}
.prose blockquote>:last-child,.g-art blockquote>:last-child{margin-bottom:0}
/* header on phones and tablets: logo left, then language, then menu (Astra #2) */
@media (max-width:1100px){.top .brand{order:0;margin-right:auto}.lang{order:1;margin-left:0}.menu-btn{order:2}.nav{order:3;flex-basis:100%}}

/* section headers with an action: title and action share one baseline, on every width (Astra #5) */
.phead:has(.more-link){grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px 24px}
.phead .more-link{white-space:nowrap}
@media (max-width:760px){.phead:has(.more-link){grid-template-columns:minmax(0,1fr) auto}.phead:has(.more-link) h2{font-size:clamp(26px,7vw,34px)}}

/* one section rhythm (Astra #10) */
.set+.set{margin-top:48px;padding-top:48px}
@media (max-width:760px){.set+.set{margin-top:32px;padding-top:32px}}

/* gaushala: fixed index column, article starts flush (Astra #12) */
@media (min-width:761px){.g-layout{grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:start}}
.g-layout>.prose{min-width:0;max-width:760px}
.g-layout .g-art>h2{margin-top:0}
.toc-shell>summary{padding:14px 20px;cursor:pointer;font-weight:500;background:var(--paper-2);border-top:3px solid var(--brass);list-style:none}
.toc-shell>summary::after{content:" ▾";color:var(--kesar)}
.toc-shell[open]>summary::after{content:" ▴"}
@media (min-width:761px){.toc-shell{position:sticky;top:92px;align-self:start}.toc-shell>summary{display:none}}
@media (max-width:760px){.toc-shell{margin-bottom:24px}.toc-shell .toc{border-top:0}}

/* reading buttons (Astra #18) */
.prose .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1.5}
@media (max-width:600px){.prose .btn{display:flex;width:100%;margin-bottom:10px}}

/* article cards: shared tracks so rows line up (Astra #19) */
@media (min-width:761px){.cards .card{display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:8px;align-content:start}.cards .card time,.cards .card h3,.cards .card .card-t,.cards .card p{margin:0}}

/* article ending (Astra #21) */
.share>span{flex-basis:100%;margin:0 0 4px}
.share a,.share button{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.post-nav{padding-bottom:48px}



/* one section rhythm on every page and width (RA 2026-09-24): every section pads S top and bottom,
   so any two sections sit 2S apart and the first sits S under the hero. Trailing margins never add. */
:root{--S:44px}
@media (max-width:760px){:root{--S:28px}}
.sec,.sec+.sec,.sec.editorial-band,.phero+.sec{padding-block:var(--S)}
footer{padding-top:var(--S)}
.sec .wrap>:last-child,.sec .wrap>:last-child>:last-child,.sec .wrap>:last-child>:last-child>:last-child{margin-bottom:0}
.post{padding-bottom:var(--S)}
.post-nav{padding-bottom:0}

/* Codex page review 2026-09-24 */
/* small saffron text reads 3.99:1 on cream; a deeper saffron (5.38:1) for text only, accents keep --kesar */
:root{--kesar-text:#A24213}
.prose a,.nav a[aria-current],.mantra-row,.toc .g-grp.on>.g-top,.eyebrow a,.prose .muted a,.prose a.btn:not(.primary),.brand{color:var(--kesar-text)}
.btn .sz{opacity:1}
/* header: DOM is brand, language, menu, nav; desktop shows nav before language */
@media (min-width:1101px){.top .nav{order:1}.top .lang{order:2}}
.lang-menu li a{color:inherit;text-decoration:none;display:block}
.lang-menu li a::after{content:"";position:absolute;inset:0}
.lang-menu li{position:relative}
/* anchors land clear of the sticky header */
#anuvad,.reader,[id^="a"][id*="-p"]{scroll-margin-top:96px}
/* article header on the same rhythm as every section */
.post-head{padding-top:var(--S)}
/* poem: lines as verse, not as headings */
.post-body.verse h2,.post-body.verse p,.post-body.verse strong{font-family:var(--serif);font-size:clamp(21px,2.2vw,28px);font-weight:400;line-height:1.7;margin:0}
.post-body.verse h2{margin-top:1.4em}
.post-body.verse h2:first-child{margin-top:0}
/* lightbox arrows stay on phones */
@media (max-width:600px){.lb-p,.lb-n{display:block!important;font-size:36px;padding:12px;min-width:44px;min-height:44px}}
/* closing mantra: the font ships at 400 only */
.about-body .mantra{font-weight:400}
/* English hero line is longer: keep it and the button above the herd */
html[lang="en"] .hero h1{font-size:clamp(40px,5vw,76px);line-height:1.08}

/* footer as a colophon: one centred column, the way a fine book closes (RA 2026-09-24: the two-column one looked cheap) */
footer .wrap.f-colophon{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;padding-bottom:var(--S)}
.f-mark img{display:block;width:72px;height:auto}
.f-name{font-family:var(--serif);font-size:clamp(28px,3vw,36px);color:var(--ink)!important;margin:14px 0 6px!important;line-height:1.2}
.f-tag{font-family:var(--serif);font-size:17px!important;color:var(--ink-2);max-width:46ch;margin:0!important;line-height:1.7}
.f-orn{display:flex;align-items:center;gap:12px;width:min(260px,60%);margin:28px auto}
.f-orn::before,.f-orn::after{content:"";flex:1;border-top:3px double var(--brass)}
.f-orn span{width:7px;height:7px;background:var(--brass);transform:rotate(45deg)}
footer .f-colophon .links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 0}
footer .f-colophon .links a{font-family:var(--serif);font-size:18px;color:var(--ink);text-decoration:none;padding:6px 18px;line-height:1.4}
footer .f-colophon .links a+a{border-left:1px solid var(--line)}
footer .f-colophon .links a:hover{color:var(--kesar-text)}
.f-fine{margin:28px 0 0!important;font-size:14px!important;line-height:1.9;color:var(--ink-2);max-width:72ch}
.f-fine a{color:var(--ink-2)}
@media (max-width:760px){footer .f-colophon .links a{font-size:16px;padding:8px 12px}footer .f-colophon .links a+a{border-left:0}}
.f-legal{display:block;margin-top:10px}

/* phones: the hero is one piece, copy over the ground on the dark scrim, like the page banners (RA 2026-09-24) */
@media (max-width:760px){
  .hero{display:flex;align-items:flex-end;min-height:calc(88svh - 69px)}
  .hero-img{position:absolute;inset:0;height:auto}
  .hero-img img{object-position:50% 50%}
  .hero-img::after{display:block;background:linear-gradient(0deg,rgba(30,18,10,.86) 0%,rgba(30,18,10,.62) 34%,rgba(30,18,10,0) 62%)}
  .hero-copy{padding-top:0;padding-bottom:32px}
  .hero .hero-copy h1,.hero .hero-copy .lead{color:var(--on-photo);text-shadow:0 1px 18px rgba(30,18,10,.45)}
  .about-fig{order:0}
}

/* ── phone upgrade, same moves as the EcoValley mobile pass (RA 2026-09-24) ── */
/* menu: hamburger that turns into an X, full-screen sheet under the header */
.menu-btn{width:44px;height:44px;padding:0;display:none;align-items:center;justify-content:center;border-radius:999px}
.menu-btn .bars{position:relative;width:18px;height:12px;display:block}
.menu-btn .bars i{position:absolute;left:0;width:100%;height:1.6px;background:var(--ink);border-radius:2px;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .2s}
.menu-btn .bars i:nth-child(1){top:0}.menu-btn .bars i:nth-child(2){top:5px}.menu-btn .bars i:nth-child(3){top:10px}
.menu-btn[aria-expanded="true"] .bars i:nth-child(1){transform:translateY(5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] .bars i:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] .bars i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
@media (max-width:1100px){
  .menu-btn{display:flex}
  .top .nav{display:flex;position:fixed;left:0;right:0;top:69px;bottom:0;z-index:30;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:24px 24px calc(24px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),visibility 0s .35s}
  .top .nav.open{opacity:1;visibility:visible;transform:none;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}
  .top .nav a{font-family:var(--serif);font-size:clamp(24px,6.4vw,30px);font-weight:400;padding:10px 16px;border:0;min-height:44px;text-align:center;color:var(--ink)}
  .top .nav a[aria-current]{color:var(--kesar-text);border:0}
  .top .nav::after{content:"";width:120px;margin-top:20px;border-top:3px double var(--brass)}
  html.menu-open{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){.top .nav,.menu-btn .bars i{transition:none!important}}

/* heroes on phones: full screen, copy centred on an even scrim (EcoValley precedent, RA chose centred) */
@media (max-width:760px){
  .hero,.phero{min-height:calc(100svh - 69px);height:auto;display:flex;align-items:center;justify-content:center;text-align:center}
  .hero-img::after,.phero::after{content:"";position:absolute;inset:0;display:block;background:radial-gradient(90% 60% at 50% 50%,rgba(30,18,10,.72) 0%,rgba(30,18,10,.5) 55%,rgba(30,18,10,.28) 100%)}
  .phero img{object-position:50% 50%!important}
  .hero-copy,.phero-copy{padding:24px 0;display:flex;flex-direction:column;align-items:center;z-index:1}
  .phero-copy .lead{margin-inline:auto}
  .hero .lead{margin-inline:auto}
  .hero .cta{justify-content:center;display:flex}
}
/* tap targets: 44px minimum on touch sizes, without changing how the text sits */
@media (max-width:1100px){
  footer .f-colophon .links a,.brand,.phead .more-link a,.toc a,.toc .g-top,.f-legal a,.f-mark{min-height:44px;display:inline-flex;align-items:center}
  .toc a{display:flex}
  .f-mark{min-width:44px;justify-content:center}
}
@media (max-width:1100px){.set-h .muted a,.post-head .eyebrow a,.post .credit a{min-height:44px;display:inline-flex;align-items:center}}
@media (max-width:1100px){.post-head .eyebrow a{min-width:44px;justify-content:center}}
@media (max-width:760px){.phero-copy h1{font-size:clamp(44px,12vw,60px);line-height:1.2}}
/* gaushala sections as tap-to-open rows on phones */
.g-sec{border-top:1px solid var(--line)}
.g-sec:last-child{border-bottom:1px solid var(--line)}
.g-sec>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:10px 0;cursor:pointer}
.g-sec>summary::-webkit-details-marker{display:none}
.g-sec>summary h3{margin:0!important;font-size:19px;line-height:1.45}
.g-sec>summary::after{content:"+";flex:none;font-family:var(--serif);font-size:26px;line-height:1;color:var(--kesar-text)}
.g-sec[open]>summary::after{content:"−"}
.g-sec[open]{padding-bottom:12px}
/* gallery on phones: the book citation takes one line, the lightbox carries the plate itself */
.gal figcaption .src-short{display:none}
@media (max-width:600px){.gal figcaption .src-long{display:none}.gal figcaption .src-short{display:block}}

/* gaushala on phones: article list first, then one article with a back bar and prev/next */
.g-list{display:none}
@media (max-width:760px){
  .g-layout .toc-shell{display:none}
  html.g-listview .g-list{display:grid;gap:12px}
  html.g-listview .g-layout>.prose{display:none}
  .g-card{display:grid;grid-template-columns:auto 1fr;column-gap:14px;row-gap:4px;padding:16px;background:var(--sheet,#FBF6EC);border:1px solid var(--line);text-decoration:none;color:var(--ink)}
  .g-card .g-n{grid-row:1/4;font-family:var(--serif);font-size:26px;line-height:1.2;color:var(--kesar-text)}
  .g-card .g-t{font-family:var(--serif);font-size:19px;line-height:1.45}
  .g-card .g-s{font-size:15px;line-height:1.6;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .g-card .g-m{font-size:13px;color:var(--ink-2)}
  .g-bar{position:sticky;top:69px;z-index:5;display:flex;justify-content:space-between;align-items:center;min-height:48px;margin:0 0 20px;background:var(--paper);border-bottom:1px solid var(--line)}
  .g-bar a{text-decoration:none;color:var(--kesar-text);font-weight:500;min-height:44px;display:inline-flex;align-items:center}
  .g-bar .g-pos{font-size:14px;color:var(--ink-2)}
  .g-pn{display:grid;gap:10px;margin-top:32px}
  .g-pn a{display:block;padding:14px 16px;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.45}
  .g-pn a small{display:block;font-family:inherit;font-size:13px;color:var(--ink-2);margin-bottom:2px}
  .g-pn a.nx{text-align:right}
}
.g-bar,.g-pn{display:none}
@media (max-width:760px){.g-bar{display:flex}.g-pn{display:grid}}
@media (max-width:760px){.g-bar{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);font-size:16px}.g-bar .g-back{font-size:16px}}
.card .card-t{font-size:22px;margin-bottom:.3em;line-height:1.4}
.lb-cap{position:absolute;left:0;right:0;bottom:14px;margin:0;text-align:center;color:#F4ECDC;font-size:15px;padding:0 60px;text-shadow:0 1px 8px rgba(0,0,0,.6)}
@media (max-width:760px){.card .card-t{font-size:17px;line-height:1.35;margin:0}}
/* posters carry their words as text under the picture */
.pfig{margin:0;min-width:0}
.ptext{margin-top:8px;font-size:15px}
.ptext>summary{cursor:pointer;color:var(--kesar-text);min-height:44px;display:flex;align-items:center;list-style:none}
.ptext>summary::-webkit-details-marker{display:none}
.ptext>summary::after{content:" +";margin-left:6px}
.ptext[open]>summary::after{content:" −"}
.ptext p{margin:4px 0 0;font-family:var(--serif);font-size:17px;line-height:1.7;color:var(--ink)}
/* breed pages: the 2-line answer to the spoken question */
.answer{font-size:18px;line-height:1.75;padding:14px 18px;background:var(--sheet,#FBF6EC);border-left:3px solid var(--kesar);margin:4px 0 20px}

/* phone menu rolls out from under the header like a curtain, links follow in sequence (RA 2026-09-24) */
@media (max-width:1100px){
  .top .nav{opacity:1;transform:none;clip-path:inset(0 0 100% 0);
    transition:clip-path .45s cubic-bezier(.7,0,.84,0),visibility 0s .45s}
  .top .nav.open{clip-path:inset(0 0 0 0);transition:clip-path .7s cubic-bezier(.16,1,.3,1),visibility 0s 0s}
  .top .nav a{opacity:0;transform:translateY(18px);transition:opacity .2s,transform .2s}
  .top .nav.open a{opacity:1;transform:none;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
  .top .nav.open a:nth-child(1){transition-delay:.16s}.top .nav.open a:nth-child(2){transition-delay:.21s}
  .top .nav.open a:nth-child(3){transition-delay:.26s}.top .nav.open a:nth-child(4){transition-delay:.31s}
  .top .nav.open a:nth-child(5){transition-delay:.36s}.top .nav.open a:nth-child(6){transition-delay:.41s}
  .top .nav.open a:nth-child(7){transition-delay:.46s}.top .nav.open a:nth-child(8){transition-delay:.51s}
  .top .nav::after{transform:scaleX(0);transition:transform .2s}
  .top .nav.open::after{transform:scaleX(1);transition:transform .7s cubic-bezier(.16,1,.3,1) .55s}
  .menu-btn .bars i{transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .25s}
}
@media (max-width:1100px) and (prefers-reduced-motion:reduce){
  .top .nav,.top .nav.open,.top .nav a,.top .nav.open a,.top .nav::after,.top .nav.open::after{transition:none!important;transition-delay:0s!important}
}
/* an obvious way out of the phone menu, besides the X in the header */
.nav-close{display:none}
@media (max-width:1100px){
  .top .nav .nav-close{display:inline-flex;align-items:center;justify-content:center;order:10;margin-top:28px;min-height:48px;padding:0 26px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink-2);font:inherit;font-size:16px;cursor:pointer;
    opacity:0;transform:translateY(18px);transition:opacity .2s,transform .2s}
  .top .nav.open .nav-close{opacity:1;transform:none;transition:opacity .5s cubic-bezier(.16,1,.3,1) .6s,transform .6s cubic-bezier(.16,1,.3,1) .6s}
  .top .nav::after{order:9}
}

/* heroes: no dark patch behind the text and no glow around the letters (RA 2026-09-24: "remove that").
   One even tint over the whole photo keeps cream text readable on bright skies. */
.hero-img::after,.phero::after{background:rgba(30,18,10,.34)!important}
.hero .hero-copy h1,.hero .hero-copy .eyebrow,.hero .hero-copy .lead,.hero .hero-copy .credit,
.phero .phero-copy h1,.phero .phero-copy .eyebrow,.phero .phero-copy .lead,.phero .phero-copy .lead a{text-shadow:none!important}
@media (max-width:760px){.hero-img::after,.phero::after{background:rgba(30,18,10,.34)!important}}

/* phone hero crops, per photo (RA 2026-09-24: "the cow is getting cut off with the temple").
   On a phone the 3:2 photo is cropped to a tall strip, so each photo gets its own x so the subject
   sits whole in the strip. Photos whose subject is too wide for a full-screen strip get one shared
   shorter height (118vw, about 57% of the photo width shows) instead of the full screen. */
@media (max-width:760px){
  .hero-img img[src$="home.webp"]{object-position:49% 50%!important}           /* the big dark bull, centre of the herd */
  .phero img[src$="chitra-sangrah.webp"]{object-position:68% 50%!important}    /* the bull's head and both horns */
  .phero img[src$="lekh.webp"]{object-position:41% 50%!important}              /* the two cows walking off */
  .phero img[src$="about.webp"]{object-position:46% 50%!important}             /* the resting cow, tail to ears */
  .phero img[src$="sandesh.webp"]{object-position:100% 50%!important}          /* the cow and the whole shrine */
  .phero img[src$="pustakalaya.webp"]{object-position:62% 50%!important}       /* the open book and the lamp */
  .phero img[src$="gaushala.webp"]{object-position:0% 50%!important}           /* the front cow at the trough */
  .phero:has(img[src$="about.webp"]),.phero:has(img[src$="sandesh.webp"]),
  .phero:has(img[src$="pustakalaya.webp"]),.phero:has(img[src$="gaushala.webp"]){min-height:min(118vw,calc(100svh - 69px))}
}
/* phones: a gentler settle, so the framed subject is whole from the first frame */
@keyframes heroSettlePh{from{transform:scale(1.03)}to{transform:scale(1)}}
@media (max-width:760px) and (prefers-reduced-motion:no-preference){.hero-img img,.phero img{animation-name:heroSettlePh}}

/* article photos: shown whole at their own shape (portrait, square or wide), never cropped;
   a 760px centred frame so a 427px image is not stretched across a desktop screen */
.post-hero{height:auto;max-width:760px;margin:clamp(12px,3vw,32px) auto 0;overflow:visible}
.post-hero img{width:100%;height:auto;max-height:82vh;object-fit:contain;background:var(--paper-2)}
.post-hero::after{display:none}
@media (max-width:760px){.post-hero{margin-top:0}.post-hero img{max-height:none}}

/* long reads scale with the reader's chosen size */
.post-body,.g-layout>.prose{font-size:calc(19px * var(--rs,1))}
@media (max-width:760px){.post-body,.g-layout>.prose{font-size:calc(18px * var(--rs,1))}}
.rs-ctl{display:inline-flex;gap:6px;margin-left:auto}
.byline .rs-ctl{margin-left:12px}
.rs-ctl button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:15px;cursor:pointer}
.rs-ctl button:disabled{opacity:.35;cursor:default}
.g-layout>.prose>.rs-ctl{display:flex;justify-content:flex-end;margin:0 0 12px}
/* poster share */
.pshare{margin-top:8px;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--kesar-text);font:inherit;font-size:15px;cursor:pointer}
.pshare::before{content:"↗ "}
.post-hero img{background:transparent}
.byline{flex-wrap:wrap}
.byline .rs-ctl{flex-basis:100%;justify-content:center;margin:10px 0 0}

/* phones: hero text sits in the open sky or wall above the subject, never across the cows
   (RA 2026-09-24). The gallery bull fills the frame, so its title sits low on the chest. */
@media (max-width:760px){
  .hero,.phero{align-items:flex-start}
  .hero-copy,.phero-copy{padding-top:clamp(20px,6vw,36px);padding-bottom:0}
  .phero:has(img[src$="chitra-sangrah.webp"]){align-items:flex-end}
  .phero:has(img[src$="chitra-sangrah.webp"]) .phero-copy{padding-top:0;padding-bottom:28px}
}
/* phones: every hero, home included, fills the screen, same size on every page (RA 2026-09-24) */
@media (max-width:760px){
  .hero,.phero,.phero:has(img){min-height:calc(100svh - 69px)!important;height:calc(100svh - 69px)!important}
}

/* ── Codex phone review 2026-09-24 ── */
@media (max-width:760px){
  /* #8 posters one per row, the words on them readable */
  .posters,.posters.p3{grid-template-columns:minmax(0,1fr);gap:36px}
  .poster img{aspect-ratio:auto;height:auto;object-fit:contain}
  .ptext p{font-size:20px;line-height:1.75}
  /* #9 plates full width, lighter mat */
  .gal,.gal.g4{grid-template-columns:minmax(0,1fr);gap:36px}
  .gal .imgw{padding:6px}
  .gal img{aspect-ratio:auto;height:auto}
  .gal figcaption{font-size:18px}
  .gal figcaption span{font-size:16px}
  /* #10 breed cards full width, the whole picture */
  .grid,.grid.g4{grid-template-columns:minmax(0,1fr);gap:28px}
  .tile img,.tile .ph{aspect-ratio:auto;height:auto;object-fit:contain}
  .tile .meta{font-size:17px;line-height:1.65}
  .tile .tag{font-size:15px}
  /* #12 article list: whole thumbnail, larger titles */
  .cards .card{grid-template-columns:112px minmax(0,1fr);column-gap:12px}
  .card img{aspect-ratio:auto;height:auto;object-fit:contain}
  .card .card-t{font-size:20px;line-height:1.45}
  .card time{font-size:15px}
  /* #13 gaushala list cards read easier */
  .g-card .g-t{font-size:21px;line-height:1.5}
  .g-card .g-s{font-size:17px;line-height:1.65}
  .g-card .g-m{font-size:15px}
  /* #14 anchors land below the header and the article bar */
  .g-art>h2,.g-art [id]{scroll-margin-top:132px}
  /* #15 the poem follows the text-size control */
  .post-body.verse h2,.post-body.verse p,.post-body.verse strong{font-size:calc(21px * var(--rs,1))}
  /* #16 book and breed pages: Read and Download right under the title */
  .cta-top{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 20px}
}
.cta-top{display:none}
@media (max-width:760px){.cta-top{display:flex}}
/* #17 the open menu scrolls if the screen is short or the text is large */
@media (max-width:1100px){
  .top .nav{overflow-y:auto;overscroll-behavior:contain}
  .top .nav>a,.top .nav>.nav-close{flex-shrink:0}
}
/* #18 language: show which language, and tick the current one (markup uses aria-current) */
@media (max-width:1100px){.lang-btn .lang-cur{display:inline}}
.lang-menu li[aria-current="true"] .i-check{opacity:1}
.cta-top .sz,.btn .sz{font-size:13px}
/* phones: reserve each picture's real shape before it loads (no jumps, no 0px links) */
@media (max-width:760px){
  .gal img{aspect-ratio:560/792;object-fit:contain}
  .tile img{aspect-ratio:910/1287;object-fit:contain}
  .poster img{aspect-ratio:1;object-fit:contain}
  .card img{aspect-ratio:1;object-fit:contain;background:var(--paper-2)}
}
/* home is a preview: its breed and plate rows stay two across on phones */
@media (max-width:760px){.gal.g4,.grid.g4{grid-template-columns:1fr 1fr;gap:14px}}
/* heroes meet the page cleanly: no hairline along the photo's bottom edge, and the header
   rule drops where a photo sits right under it (RA 2026-09-24: "no unnecessary lines") */
.hero,.phero{border-bottom:0}
.top:has(+ #main > .hero:first-child),.top:has(+ #main > .phero:first-child),body:has(#main > .hero:first-child) .top,body:has(#main > .phero:first-child) .top{border-bottom-color:transparent}

/* hero titles in Martel 800 (RA 2026-09-24: "Martel font is perfect") */
.hero h1,.phero-copy h1{font-family:"Martel",var(--serif);font-weight:800;letter-spacing:0}

/* ── Codex hero redesign 2026-09-24 ── */
/* Surbhi Sewa: editorial heroes */

#main > .hero,
#main > .phero {
  position: relative;
  isolation: isolate;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
  border: 0;
  text-align: left;
  background: #2E1A12;
}

#main > .hero {
  height: calc(100svh - 69px);
  min-height: 0;
}

#main > .phero {
  height: 504px;
  min-height: 0;
}

/* Image layer */
#main > .hero > .hero-img,
#main > .phero > picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}

#main > .hero > .hero-img > picture {
  display: block;
  width: 100%;
  height: 100%;
}

#main > .hero .hero-img img,
#main > .phero > img,
#main > .phero > picture > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  aspect-ratio: auto;
  object-fit: cover;
  filter: none;
  opacity: 1;
  transform: none;
  transform-origin: 50% 60%;
  animation: none;
}

#main > .hero .hero-img img {
  object-position: 50% 50%;
}

/*
 * One full-width tint.
 * Important is required by the existing tint override.
 */
#main > .hero > .hero-img::after,
#main > .phero::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(30, 18, 10, .46) 0%,
    rgba(30, 18, 10, .32) 32%,
    rgba(30, 18, 10, .12) 66%,
    rgba(30, 18, 10, .12) 100%
  ) !important;
}

/* Copy shares the header's existing desktop grid. */
#main > .hero > .wrap.hero-copy,
#main > .phero > .wrap.phero-copy {
  position: relative;
  inset: auto;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0;
  width: 100%;
  max-width: var(--wrap);
  height: auto;
  margin: 0 auto;
  padding: 48px var(--gutter) 0;
  background: transparent;
  text-align: left;
  opacity: 1;
  transform: none;
  animation: none;
}

#main > .hero > .wrap.hero-copy {
  padding-top: clamp(48px, 7svh, 72px);
}

#main > .phero > .phero-copy > div {
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}

#main > .hero .hero-copy h1,
#main > .phero .phero-copy h1 {
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  font-family: "Martel", var(--serif);
  font-weight: 800;
  font-style: normal;
  font-size: clamp(36px, 3.35vw, 48px);
  line-height: 1.45;
  letter-spacing: 0;
  color: #F4ECDC;
  text-align: inherit;
  text-wrap: balance;
  word-break: normal;
  overflow-wrap: normal;
  text-shadow: none !important;
}

#main > .hero .hero-copy h1 {
  max-width: 960px;
  font-size: clamp(44px, 4.45vw, 64px);
  line-height: 1.4;
}

/* Remove the competing line of copy. */
#main > .hero .hero-copy > .lead {
  margin: 10px 0 0;
  max-width: 36ch;
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.7;
  color: #F4ECDC;
  opacity: .92;
  text-shadow: none !important;
}

/* Compact, typographic home action. */
#main > .hero .hero-copy > .cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0;
  width: auto;
  margin: 20px 0 0;
  padding: 0;
}

#main > .hero .hero-copy .cta > a.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 10px 20px;
  border: 1px solid #F4ECDC;
  border-radius: 2px;
  background: #F4ECDC;
  color: #A24213;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0;
  text-decoration: none;
  text-shadow: none;
  box-shadow: none;
  transform: none;
  transition: background-color .18s ease, border-color .18s ease;
}

#main > .hero .hero-copy .cta > a.btn:hover {
  background: #EADFC8;
  border-color: #EADFC8;
  color: #A24213;
  box-shadow: none;
  transform: none;
}

#main > .hero .hero-copy .cta > a.btn:active {
  background: #D6C6A8;
  border-color: #D6C6A8;
  transform: none;
}

#main > .hero .hero-copy .cta > a.btn:focus-visible {
  outline: 2px solid #F4ECDC;
  outline-offset: 5px;
}

/* Replace the old staggered slide with one quiet entrance. */
#main > .hero .hero-copy > *,
#main > .phero .phero-copy > * {
  opacity: 1;
  transform: none;
  animation: none;
}

@media (max-width: 760px) {
  /*
   * Specificity also defeats the old per-image :has() exceptions.
   * Important matches the existing locked height declarations.
   */
  #main > .hero,
  #main > .phero,
  #main > .phero:has(img) {
    height: calc(100svh - 69px) !important;
    min-height: calc(100svh - 69px) !important;
  }

  #main > .hero > .wrap.hero-copy,
  #main > .phero > .wrap.phero-copy {
    align-items: center;
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
    padding: clamp(24px, 4svh, 36px) 24px 0;
    text-align: center;
  }

  #main > .hero .hero-copy h1 {
    max-width: 100%;
    font-size: clamp(30px, 9.2vw, 36px);
    line-height: 1.45;
  }

  #main > .phero .phero-copy h1 {
    max-width: 100%;
    font-size: clamp(28px, 8.7vw, 34px);
    line-height: 1.5;
  }

  #main > .hero .hero-copy > .cta {
    justify-content: center;
    margin-top: 18px;
  }

  /*
   * Neutral framing for the new portrait sources.
   * Important overrides the old filename-specific crop rules.
   */
  /* centred framing only for the tall phone versions (<picture>); the current landscape
     images keep their per-image focal points until those arrive */
  #main > .hero .hero-img picture > img,
  #main > .phero > picture > img {
    object-position: 50% 50% !important;
    transform-origin: 50% 65%;
  }
}

@keyframes surbhi-photo-settle {
  from { transform: scale(1.015); }
  to   { transform: scale(1); }
}

@keyframes surbhi-copy-appear {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@media (prefers-reduced-motion: no-preference) {
  #main > .hero .hero-img img,
  #main > .phero > img,
  #main > .phero > picture > img {
    animation: surbhi-photo-settle 12s cubic-bezier(.2,.65,.3,1) both;
  }

  #main > .hero > .wrap.hero-copy,
  #main > .phero > .wrap.phero-copy {
    animation: surbhi-copy-appear .8s ease-out .12s both;
  }
}

@media (prefers-reduced-motion: reduce) {
  #main > .hero .hero-copy .cta > a.btn {
    transition: none;
  }
}

/* RA's calls kept over the Codex design: home subtitle stays; desktop home title sits at the
   vertical centre (RA 2026-09-24 "should be where it was before at the center") */
@media (min-width: 761px) {
  #main > .hero { display: flex; align-items: center; }
  #main > .hero > .wrap.hero-copy { padding-top: 0; }
}

/* scroll pass 2026-09-24: anchors clear the sticky header, top images hold their shape before they load */
:where(main [id]){scroll-margin-top:96px}
.post-hero img{aspect-ratio:1/1}
.book-page .sticky .imgw img[src*="/breeds/"],.book-page .sticky .imgw img:not([width]){aspect-ratio:910/1287}

/* side heroes 2026-09-24 (RA): the subject sits on the right on desktop, the title on the left,
   centred top to bottom, over a soft shade that only warms the left side */
@media (min-width: 761px) {
  #main > .phero { display: flex; align-items: center; }
  #main > .phero > .wrap.phero-copy { padding-top: 0; }
  #main > .hero .hero-copy h1, #main > .phero .phero-copy h1 { max-width: 46%; }
  #main > .hero .hero-copy > .lead { max-width: 42%; }
  #main > .hero > .hero-img::after, #main > .phero::after {
    background: linear-gradient(90deg, rgba(30,18,10,.55) 0%, rgba(30,18,10,.32) 34%, rgba(30,18,10,0) 62%) !important;
  }
}
/* every page hero is the home hero's size: the full screen under the header (RA 2026-09-24) */
@media (min-width: 761px) {
  #main > .phero, #main > .phero:has(img) { height: calc(100svh - 69px); min-height: 520px; }
  #main > .phero .phero-copy h1 { font-size: clamp(44px, 4.45vw, 64px); line-height: 1.4; }
}
/* hero text pass 2026-09-24: a bigger title, one line under it, both easy to read on the photo */
#main > .phero .phero-copy h1 { font-size: clamp(34px, 9.6vw, 44px); }
#main > .phero .phero-copy > .lead { display: block; margin: 10px 0 0; max-width: 34ch; font-size: 17px; line-height: 1.6; color: #F7F0E2; }
#main > .hero .hero-copy h1, #main > .phero .phero-copy h1, #main > .phero .phero-copy > .lead, #main > .hero .hero-copy > .lead { text-shadow: 0 2px 24px rgba(30,18,10,.5) !important; }
@media (min-width: 761px) {
  #main > .phero .phero-copy h1 { font-size: clamp(56px, 5.6vw, 84px); line-height: 1.3; }
  #main > .phero .phero-copy > .lead { margin-top: 14px; font-size: 21px; max-width: 42ch; }
  #main > .hero .hero-copy > .lead { font-size: 21px; }
}

/* type pass 2026-09-24 (RA: "an elegant font like serif fonts but in hindi"): Rozha One for titles, the look of
   old Hindi granth and poster print; Noto Serif for reading; Poppins stays on menus, buttons and small labels */
:root{--serif:"Noto Serif Dev",Georgia,serif;--display:"Rozha One","Noto Serif Dev",Georgia,serif}
h1,h2,.brand,.f-name,.about-orn,.g-art>h2{font-family:var(--display);font-weight:400;letter-spacing:0}
#main > .hero .hero-copy h1,#main > .phero .phero-copy h1,.hero h1,.phero-copy h1{font-family:var(--display)!important;font-weight:400!important;letter-spacing:0}
main p,main li,main td,main dd,main blockquote,.post-body{font-family:var(--serif)}
main .btn,main button,main .cta,main .tag,main .meta,main time,main .sz,main .crumbs,main .crumbs a,main .lb-cap{font-family:var(--sans)}
h3{font-family:var(--serif);font-weight:600}
/* title font: Yatra One (RA 2026-09-24 picked it from the bold sheet: brush-written, bold, warm).
   One weight only, so titles stay at 400; Rozha One stays loaded only as a fallback */
:root{--display:"Yatra One","Noto Serif Dev",Georgia,serif}
/* phones: the English home title is three lines, keep it and the button clear of the cattle (RA 2026-09-24) */
@media (max-width: 760px) {
  html[lang="en"] #main > .hero .hero-copy h1 { font-size: clamp(26px, 7.6vw, 30px); line-height: 1.3; }
  #main > .hero .hero-copy > .cta { margin-top: 12px; }
  #main > .hero .hero-copy > .lead { margin-top: 6px; }
}
/* phones: the brand in Yatra One Latin is wider, keep logo, language and menu on one row */
@media (max-width: 760px) { html[lang="en"] .brand { font-size: 19px; } .top .wrap { flex-wrap: nowrap; } }
/* tight hero stack, every page (RA 2026-09-24 "alot of space between each component"): Yatra One draws
   small inside a 1.4 line box, so the title, line and button read as three floating pieces */
#main > .hero .hero-copy h1, #main > .phero .phero-copy h1 { line-height: 1.12 !important; margin: 0 !important; }
#main > .hero .hero-copy > .lead, #main > .phero .phero-copy > .lead { margin-top: 4px !important; line-height: 1.45; }
#main > .hero .hero-copy > .cta { margin-top: 18px !important; }
#main > .hero .hero-copy > .cta > a.btn { min-height: 44px; padding: 8px 18px; }
/* one smooth hero entrance (RA 2026-09-24 "the animation of the text can be smoother"): the page only crossfades,
   then title, line and button rise 14px in turn on one long ease; nothing else moves the text */
::view-transition-old(root){animation:vt-fade-out .25s ease both}
::view-transition-new(root){animation:vt-fade-in .35s ease both}
@keyframes vt-fade-out{to{opacity:0}}
@keyframes vt-fade-in{from{opacity:0}}
@keyframes hero-rise{from{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: no-preference) {
  #main > .hero > .wrap.hero-copy, #main > .phero > .wrap.phero-copy { animation: none !important; }
  #main > .hero .hero-copy > *, #main > .phero .phero-copy > *, #main > .phero .phero-copy > div > h1 {
    animation: hero-rise 1.1s cubic-bezier(.22,1,.36,1) both !important; will-change: opacity, transform; }
  #main > .hero .hero-copy > :nth-child(1), #main > .phero .phero-copy > :nth-child(1) { animation-delay: .1s !important; }
  #main > .hero .hero-copy > :nth-child(2), #main > .phero .phero-copy > :nth-child(2) { animation-delay: .25s !important; }
  #main > .hero .hero-copy > :nth-child(3) { animation-delay: .4s !important; }
  #main > .phero .phero-copy > div { animation: none !important; }
  #main > .phero .phero-copy > div > h1 { animation-delay: .1s !important; }
}
/* loading screen (RA 2026-09-24): a cream curtain with the logo holds, then lifts; it replaces the native
   view transitions, running both stacks two animations and flashes (measured on EcoValley 2026-09-19) */
@view-transition { navigation: none; }
.page-veil { position: fixed; inset: 0; z-index: 10000; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px;
  background: var(--paper, #F4ECDC); pointer-events: none; animation: sv-veil-out 1.5s cubic-bezier(.4,0,.2,1) forwards; }
.page-veil img { width: clamp(92px, 11vw, 124px); height: auto; animation: sv-veil-logo 0.9s cubic-bezier(.16,1,.3,1) both; }
.page-veil span { font-family: var(--display); font-size: clamp(24px, 2.6vw, 32px); color: var(--kesar-text, #A24213); animation: sv-veil-logo 0.9s cubic-bezier(.16,1,.3,1) .1s both; }
@keyframes sv-veil-out { 0%, 45% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }
@keyframes sv-veil-logo { from { opacity: 0; transform: translate3d(0,8px,0) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes sv-veil-in { from { opacity: 0; } to { opacity: 1; } }
.page-veil.is-covering { animation: sv-veil-in .5s cubic-bezier(.4,0,.2,1) forwards; pointer-events: all; }
.page-veil.is-covering img, .page-veil.is-covering span { animation: none; }
@media (prefers-reduced-motion: reduce) { .page-veil { display: none; } }
/* the hero text rises as the curtain lifts, not under it */
@media (prefers-reduced-motion: no-preference) {
  #main > .hero .hero-copy > :nth-child(1), #main > .phero .phero-copy > div > h1 { animation-delay: .75s !important; }
  #main > .hero .hero-copy > :nth-child(2), #main > .phero .phero-copy > :nth-child(2) { animation-delay: .9s !important; }
  #main > .hero .hero-copy > :nth-child(3) { animation-delay: 1.05s !important; }
}
/* the curtain logo and name sit still: arriving from a link the new page's curtain matches the old one exactly,
   so any entrance animation read as a blink (frame check 2026-09-24) */
.page-veil img, .page-veil span { animation: none !important; }
/* the curtain logo lives inside the stylesheet, so it paints on the first frame of every page (no image request to wait on) */
.page-veil .veil-logo { display: block; width: clamp(92px, 11vw, 124px); aspect-ratio: 200/190; background: url(data:image/webp;base64,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) center/contain no-repeat; }
/* the name on the curtain dissolves out as a page leaves and back in as the next arrives, so a language switch
   reads as सुरभि सेवा melting into Surbhi Sewa (RA 2026-09-24); the logo never moves */
@keyframes sv-name-in { from { opacity: 0; filter: blur(3px); transform: translate3d(0,4px,0); } to { opacity: 1; filter: none; transform: none; } }
@keyframes sv-name-out { to { opacity: 0; filter: blur(3px); transform: translate3d(0,-4px,0); } }
.page-veil span { animation: sv-name-in .6s cubic-bezier(.22,1,.36,1) .08s both !important; }
.page-veil.is-covering span { animation: sv-name-out .34s cubic-bezier(.4,0,1,1) both !important; }
/* classic Indian corner line work (RA 2026-09-24 "bg graphics like classic indian kinda lines in some corners"):
   one hand-built SVG, lotus petals, beads and a stepped border, faint kesar ink. Plain sections carry it top right,
   the tinted bands on two corners, the footer bottom left */
.sec, footer { position: relative; }
.sec > .wrap, footer > * { position: relative; z-index: 1; }
.sec::after, .sec.editorial-band::before, footer::before {
  content: ""; position: absolute; z-index: 0; pointer-events: none; width: clamp(120px, 15vw, 220px); aspect-ratio: 1;
  background: url(img/orn-corner.svg) center/contain no-repeat; opacity: .16; }
.sec::after { top: 0; right: 0; transform: scaleX(-1); }
.sec.editorial-band::before { bottom: 0; left: 0; transform: scaleY(-1); }
footer::before { bottom: 0; right: 0; transform: scale(-1,-1); opacity: .12; }
.sec { overflow: clip; }
@media (max-width: 760px) { .sec::after, .sec.editorial-band::before, footer::before { width: 104px; opacity: .13; } }
.sec::after, .sec.editorial-band::before { opacity: .3; }
footer::before { opacity: .24; }
@media (max-width: 760px) { .sec::after, .sec.editorial-band::before, footer::before { opacity: .22; } }
/* the menu and language buttons never shrink under 44px; the brand gives way on the smallest phones */
.menu-btn, .lang-btn { flex-shrink: 0; min-width: 44px; }
@media (max-width: 360px) { html[lang="en"] .brand { font-size: 16px; } .brand img { width: 36px; height: auto; } }
/* blog covers are square (1024x1024, RA's own crops): show them whole at 1:1 everywhere; phones get the full cover
   above the title instead of a 104px thumbnail (RA 2026-09-24 "the shit gets cut off") */
.cards .card img, .card img { aspect-ratio: 1 / 1 !important; width: 100%; height: auto !important; object-fit: cover; }
@media (max-width: 760px) {
  .cards .card { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; row-gap: 10px; }
  .cards .card > * { grid-column: 1 !important; grid-row: auto !important; }
  .cards .card .card-t { font-size: 22px; }
}
/* article header shows the original image at its real shape, no grey box around it */
.post-hero { background: transparent !important; }
.post-hero img { aspect-ratio: auto !important; width: auto; max-width: 100%; height: auto; max-height: min(78vh, 720px); margin-inline: auto; display: block; object-fit: contain; }
/* phone hero text (RA 2026-09-24 "this looks weird"): the copy sits centred in the empty sky above the subject,
   not pinned to the top edge. --band is how much of the photo is quiet sky on that page's phone image */
@media (max-width: 760px) {
  #main > .hero, #main > .phero { --band: 35%; }
  #main > .phero:has(source[srcset*="chitra-sangrah"]) { --band: 27%; }
  #main > .phero:has(source[srcset*="gaushala"]) { --band: 30%; }
  #main > .phero:has(source[srcset*="pustakalaya"]) { --band: 40%; }
  #main > .hero > .wrap.hero-copy, #main > .phero > .wrap.phero-copy {
    position: absolute !important; inset: 0 0 auto 0 !important; height: var(--band) !important; margin: 0 !important;
    display: flex !important; flex-direction: column; align-items: center; justify-content: center; padding: 0 22px !important; }
  #main > .hero .hero-copy h1 { font-size: clamp(34px, 10.4vw, 44px) !important; }
  #main > .phero .phero-copy h1 { font-size: clamp(40px, 12vw, 50px) !important; }
  #main > .hero .hero-copy > .lead, #main > .phero .phero-copy > .lead { margin-top: 8px !important; font-size: 16px; }
  #main > .hero .hero-copy > .cta { margin-top: 20px !important; }
}
/* a different line-art corner on each page (RA 2026-09-24): peacock feather, paisley, mandala, lotus, lotus corner */
body:has(#main > .hero) .sec::after { background-image: url(img/orn-feather.svg); }
body:has(#main > .hero) .sec.editorial-band::before { background-image: url(img/orn-mandala.svg); }
body:has(.phero source[srcset*="about"]) .sec::after,
body:has(.phero source[srcset*="sandesh"]) .sec::after { background-image: url(img/orn-lotus.svg); }
body:has(.phero source[srcset*="pustakalaya"]) .sec::after,
body:has(.phero source[srcset*="lekh-phone"]) .sec::after { background-image: url(img/orn-paisley.svg); }
body:has(.phero source[srcset*="chitra-sangrah"]) .sec::after { background-image: url(img/orn-feather.svg); }
body:has(.phero source[srcset*="gaushala"]) .sec::after { background-image: url(img/orn-mandala.svg); }
.sec::after, .sec.editorial-band::before { width: clamp(130px, 16vw, 240px); }
/* the hero photo settle was a 3 to 8% zoom, which softens the picture while it plays; 1.5% keeps the life, not the blur */
@keyframes heroSettle { from { transform: scale(1.015); } to { transform: scale(1); } }
@keyframes heroSettlePh { from { transform: scale(1.015); } to { transform: scale(1); } }
@keyframes surbhi-photo-settle { from { transform: scale(1.015); } to { transform: scale(1); } }
/* book covers carry width/height attributes (no load jump); height must stay auto or the attribute sets 980px */
.book-page .sticky .imgw img, .book-page .imgw img { height: auto !important; object-fit: contain; }
/* phones (RA 2026-09-24 "should be in the middle somewhere"): the text block drops to the bottom of the sky band,
   so it sits just above the subject, nearer the middle of the screen, instead of hugging the header */
@media (max-width: 760px) {
  #main > .hero > .wrap.hero-copy, #main > .phero > .wrap.phero-copy { justify-content: flex-end !important; padding-bottom: 3svh !important; }
}
@media (max-width: 760px) { #main > .phero:has(source[srcset*="gaushala"]) { --band: 25%; } }
/* phones show about 75% of each tall hero's width: aim that window at the subject so no face or horn is cut (RA 2026-09-24) */
@media (max-width: 760px) {
  #main > .hero .hero-img img { object-position: 62% 50% !important; }
  #main > .phero:has(source[srcset*="about"]) > picture > img { object-position: 72% 50% !important; }
  #main > .phero:has(source[srcset*="lekh-phone"]) > picture > img { object-position: 62% 50% !important; }
  #main > .phero:has(source[srcset*="pustakalaya"]) > picture > img { object-position: 80% 50% !important; }
  #main > .phero:has(source[srcset*="sandesh"]) > picture > img { object-position: 68% 50% !important; }
  #main > .phero:has(source[srcset*="gaushala"]) > picture > img { object-position: 64% 50% !important; }
}
/* phones (RA 2026-09-24 "text still on top, not in the middle"): the photo slides down 13% of the screen; the gap above
   is the photo's own sky colour and the photo's top edge fades into it, the bottom loses only empty grass.
   That opens room for the text block to sit near the middle while the subject stays whole */
@media (max-width: 760px) {
  #main > .hero, #main > .phero { --sky: #edb886; --shift: 13%; --band: 48%; }
  #main > .phero:has(source[srcset*="about"]) { --sky: #e6be99; }
  #main > .phero:has(source[srcset*="pustakalaya"]) { --sky: #ab8b69; --band: 52%; }
  #main > .phero:has(source[srcset*="chitra-sangrah"]) { --sky: #e8c198; --band: 40%; }
  #main > .phero:has(source[srcset*="gaushala"]) { --sky: #9caac6; --band: 38%; }
  #main > .phero:has(source[srcset*="sandesh"]) { --sky: #dac9b8; }
  #main > .phero:has(source[srcset*="lekh-phone"]) { --sky: #e2c6ad; }
  #main > .hero > .hero-img, #main > .phero > picture { background: var(--sky) !important; }
  #main > .hero .hero-img img, #main > .phero > picture > img {
    top: var(--shift) !important; height: 100% !important;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 9%); mask-image: linear-gradient(to bottom, transparent 0, #000 9%); }
}

/* final audit fixes 2026-09-24 (Codex Astra + Fable, each measured before fixing) */
.g-card .g-read { color: var(--kesar-text); font-weight: 500; font-size: 15px; }
@media (max-width: 760px) { .g-bar .g-pos { margin-left: 8px; flex: none; } .g-bar .rs-ctl { gap: 4px; } }
.pshare { border-color: #8A7046; }
.rs-ctl button:disabled { opacity: .6; }
.tag { font-size: 13px; }
@media (max-width: 600px) { .pn { padding: 14px 16px; border: 1px solid var(--line); border-radius: 4px; } .post-nav { gap: 12px; } }
@media (max-width: 1100px) { .prose blockquote a, .text-only .prose .muted a { display: inline-flex; min-height: 44px; align-items: center; } }
.credit { font-size: 14px; opacity: 1; }
.cta-top .sz, .btn .sz, .pn span { font-size: 14px; }
