/* Kalam: Ink and Paper. A manuscript sheet with a ruled margin (hashiya),
   headings that soak in like ink, and paper grain under everything. */
@property --wet{syntax:"<percentage>";inherits:false;initial-value:120%}
@property --bloom{syntax:"<percentage>";inherits:false;initial-value:160%}

:root{
  --paper:#FDFAF2; --paper2:#F6EEDC; --paper3:#EFE3C8;
  --ink:#241A03; --ink2:#4A3A1A; --mut:#6B5A3A;
  --accent:#A16207; --accent-ink:#8A5306; --gold:#D9A441; --gold-soft:#EBCB86;
  --rule:#E3D5B5; --rule2:#CDB68A;
  --display:"Tiro Devanagari Hindi","Nirmala UI",Kokila,Mangal,Georgia,serif;
  --body:"Mukta","Nirmala UI",Mangal,system-ui,sans-serif;
  --brush:"Yatra One","Tiro Devanagari Hindi","Nirmala UI",serif;
  --sheet:1280px; --mg:150px; --r:6px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 var(--body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
/* paper grain and long fibres, fixed so the sheet feels like one surface */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.55;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .27 0 0 0 0 .1 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.004 .09' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .42 0 0 0 0 .15 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='600' height='600' filter='url(%23f)'/%3E%3C/svg%3E")}
img,svg,video{max-width:100%;display:block}
img{height:auto}
a{color:inherit;text-decoration:none}
p a,li a,.doc a{text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:3px}
p a:hover,li a:hover{color:var(--accent-ink)}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.28;margin:0;color:var(--ink)}
[lang="en"] h1,[lang="en"] h2,[lang="en"] h3{line-height:1.18}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,[tabindex]:focus-visible{
  outline:3px solid var(--accent-ink);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:12px 18px;z-index:200}
.skip:focus{left:10px;top:10px}
main,header,footer,.topbar{position:relative;z-index:2}

/* ---------- top bar + group launcher ---------- */
.topbar{border-bottom:1px solid var(--rule);font-size:14px;color:var(--ink2)}
.topbar .in{max-width:var(--sheet);margin:0 auto;padding:7px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.topbar .pub{letter-spacing:.02em}
.topbar .tools{display:flex;align-items:center;gap:14px}
.quill-toggle{font:500 14px/1 var(--body);background:none;border:1px solid var(--rule2);border-radius:99px;color:var(--ink2);
  padding:6px 12px 5px;cursor:pointer;display:inline-flex;gap:7px;align-items:center}
.quill-toggle svg{width:15px;height:15px}
.quill-toggle[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.no-fine .quill-toggle{display:none}
.launch{position:relative}
.launch summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;font-weight:500;
  padding:5px 12px 4px;border:1px solid var(--rule2);border-radius:99px}
.launch summary::-webkit-details-marker{display:none}
.launch summary::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.launch[open] summary{background:var(--paper2)}
.launch[open] summary::after{transform:rotate(225deg) translateY(-1px)}
.launchpanel{position:absolute;right:0;top:calc(100% + 10px);z-index:120;background:var(--paper);color:var(--ink);
  border:1px solid var(--rule2);border-radius:var(--r);box-shadow:0 2px 0 var(--rule),0 30px 60px rgba(36,26,3,.18);
  padding:20px 22px;width:min(calc(100vw - 32px),660px);display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px 18px;
  background-image:linear-gradient(var(--paper),var(--paper))}
.launchpanel h4{grid-column:1/-1;font:700 12px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink);
  margin:12px 0 6px;padding-bottom:7px;border-bottom:3px double var(--rule2)}
.launchpanel h4:first-child{margin-top:0}
.launchpanel a{display:block;padding:5px 8px;border-radius:4px;font-size:15px}
.launchpanel a:hover{background:var(--paper2);color:var(--accent-ink)}
.launchpanel a[aria-current="page"]{font-weight:700;color:var(--accent-ink);background:var(--paper2)}

/* ---------- masthead ---------- */
.mast{max-width:var(--sheet);margin:0 auto;padding:22px 24px 0;text-align:center}
.mast .dateline{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--mut);border-bottom:1px solid var(--rule);padding-bottom:10px}
.mast .dateline [data-date]:empty::before{content:"\00a0"}
.logo-link{display:inline-block;margin:18px auto 6px;line-height:0}
.logo-link img{width:clamp(190px,26vw,330px);height:auto}
.strap{font:italic 400 clamp(17px,2vw,22px)/1.5 var(--display);color:var(--ink2);margin:4px 0 16px}
.secnav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 94%,transparent);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-top:3px double var(--ink);border-bottom:1px solid var(--ink)}
.secnav .in{max-width:var(--sheet);margin:0 auto;padding:0 24px;display:flex;justify-content:center;align-items:center;gap:4px 26px;
  overflow-x:auto;scrollbar-width:none}
.secnav .in::-webkit-scrollbar{display:none}
.secnav a{font:400 17px/1 var(--display);padding:13px 0 10px;white-space:nowrap;position:relative}
.secnav a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.secnav a:hover::after,.secnav a[aria-current]::after{transform:scaleX(1)}
.secnav .mini{display:none;line-height:0}
.secnav .mini img{width:34px;height:34px}
.stuck .secnav .mini{display:block}
@media(max-width:760px){.secnav .in{justify-content:flex-start;gap:20px}}

/* ---------- the sheet: margin column + body ---------- */
.leaf{max-width:var(--sheet);margin:0 auto;padding:64px 24px 0;display:grid;grid-template-columns:var(--mg) minmax(0,1fr);column-gap:44px}
.leaf>.mg{position:relative;border-right:3px double var(--rule2);padding-right:18px;text-align:right}
.leaf>.mg .num{display:block;font:400 54px/1 var(--brush);color:var(--gold)}
.leaf>.mg .lbl{display:block;font:400 17px/1.35 var(--display);color:var(--ink2);margin-top:8px}
.leaf>.mg .lbl small{display:block;font:500 12px/1.3 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-top:6px}
.leaf>.mg .stick{position:sticky;top:76px}
.leaf>.body{min-width:0}
@media(max-width:860px){
  .leaf{grid-template-columns:minmax(0,1fr);padding-top:48px}
  .leaf>.mg{border-right:0;text-align:left;padding:0 0 12px;margin-bottom:22px;border-bottom:3px double var(--rule2);display:flex;align-items:baseline;gap:14px}
  .leaf>.mg .stick{position:static;display:flex;align-items:baseline;gap:12px}
  .leaf>.mg .num{font-size:40px}
  .leaf>.mg .lbl{margin:0}
  .leaf>.mg .lbl small{display:inline;margin-left:8px}
}

/* ---------- ink stroke headings ---------- */
.ink-h{position:relative;display:block;width:fit-content;max-width:100%;padding-bottom:14px}
.ink-h .stroke{position:absolute;left:-4px;bottom:0;width:min(100%,420px);height:16px;overflow:visible;pointer-events:none}
.ink-h .stroke path{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round}
.ink-h .stroke .s1{stroke-width:5}
.ink-h .stroke .s2{stroke-width:1.6;stroke:var(--gold);opacity:.9}
.js .ink{-webkit-mask-image:linear-gradient(100deg,#000 calc(var(--wet) - 18%),rgba(0,0,0,.35) calc(var(--wet) - 6%),transparent var(--wet));
  mask-image:linear-gradient(100deg,#000 calc(var(--wet) - 18%),rgba(0,0,0,.35) calc(var(--wet) - 6%),transparent var(--wet));
  --wet:0%;transition:--wet 1.5s cubic-bezier(.55,.05,.25,1)}
.js .ink-h.inked .ink{--wet:125%}
.js .ink-h .stroke path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s cubic-bezier(.6,.1,.2,1) .45s}
.js .ink-h .stroke .s2{transition-delay:.75s}
.js .ink-h.inked .stroke path{stroke-dashoffset:0}

h2.sec-h{font-size:clamp(28px,3.4vw,40px)}
.dek{color:var(--mut);margin:10px 0 28px;max-width:62ch;font-size:17.5px}

/* ---------- lead ---------- */
.lead{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:44px}
@media(max-width:980px){.lead{grid-template-columns:minmax(0,1fr)}}
.eyebrow{display:inline-block;font:500 13px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);
  border:1px solid var(--rule2);padding:6px 10px 5px;border-radius:2px;background:var(--paper)}
.lead h1{font-size:clamp(32px,4.6vw,56px);line-height:1.22;margin:16px 0 16px}
.lead .stand{font:400 clamp(18px,1.7vw,21px)/1.75 var(--display);color:var(--ink2);margin:0 0 14px;max-width:60ch}
.byline{font-size:14.5px;color:var(--mut);display:flex;gap:10px;align-items:center}
.byline::before{content:"";width:28px;height:2px;background:var(--accent)}

/* lead photo: an ink bloom opens the picture, a duotone lifts on hover */
.plate{position:relative;border-radius:var(--r);overflow:hidden;background:var(--ink);aspect-ratio:16/10;margin-bottom:22px;
  box-shadow:0 0 0 1px var(--rule2),0 0 0 7px var(--paper),0 0 0 8px var(--rule)}
.plate img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.plate::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--accent),var(--ink));mix-blend-mode:color;opacity:.85;transition:opacity .8s}
.plate:hover::after,.plate:focus-within::after{opacity:.15}
.plate:hover img{transform:scale(1.03)}
.js .plate.bloom-wait img,.js .plate.bloom-wait::after{
  -webkit-mask-image:radial-gradient(circle at 32% 44%,#000 calc(var(--bloom) - 30%),rgba(0,0,0,.4) calc(var(--bloom) - 12%),transparent var(--bloom));
  mask-image:radial-gradient(circle at 32% 44%,#000 calc(var(--bloom) - 30%),rgba(0,0,0,.4) calc(var(--bloom) - 12%),transparent var(--bloom));
  --bloom:0%;transition:--bloom 2.2s cubic-bezier(.3,.6,.2,1),opacity .8s,transform 1.6s}
.js .plate.bloom-wait.bloom img,.js .plate.bloom-wait.bloom::after{--bloom:170%}

/* on our list */
.list{border-top:3px double var(--ink);padding-top:16px}
.list h2{font:700 13px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 6px}
.list ol{list-style:none;margin:0;padding:0;counter-reset:n}
.list li{counter-increment:n;display:grid;grid-template-columns:46px 1fr;gap:10px;padding:16px 0;border-bottom:1px solid var(--rule);
  font:400 18px/1.55 var(--display)}
.list li::before{content:counter(n,devanagari);font:400 34px/1 var(--brush);color:var(--gold);text-align:center}
.list .note{font-size:14.5px;color:var(--mut);margin:14px 0 0}

/* ---------- word of the day ---------- */
.lex{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:30px;align-items:stretch}
@media(max-width:1020px){.lex{grid-template-columns:minmax(0,1fr)}}
.today{position:relative;border-radius:10px;overflow:hidden;background:var(--ink);color:var(--paper);min-height:460px;
  display:flex;flex-direction:column;justify-content:flex-end;padding:30px;isolation:isolate}
.today .vbg{position:absolute;inset:0;z-index:-1}
.today .vbg video,.today .vbg img{width:100%;height:100%;object-fit:cover;opacity:.62;filter:sepia(.7) saturate(1.3) hue-rotate(-8deg) contrast(1.05)}
.today .vbg::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 70% 20%,transparent 20%,rgba(36,26,3,.75) 70%),linear-gradient(transparent 30%,rgba(36,26,3,.92))}
.today .tag{font:500 13px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:flex;justify-content:space-between;gap:12px}
.today .word{font:400 clamp(64px,8vw,104px)/1.25 var(--brush);color:var(--gold-soft);margin:14px 0 2px;text-shadow:0 2px 30px rgba(0,0,0,.4)}
.today .tr{font:italic 400 19px/1.4 var(--display);color:#F3E7CB}
.today .pos{font-size:14.5px;color:#E8D7AE;margin-left:10px;font-style:normal}
.today .mean{font:500 21px/1.4 var(--body);margin:16px 0 8px;color:#fff}
.today .ex{font:400 19px/1.65 var(--display);margin:0;color:#F6EBD2;border-left:3px solid var(--gold);padding-left:14px}
.today .exen{font-size:15px;color:#E3D2A8;margin:6px 0 0 17px}
.today .ctl{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.today button{font:500 15px/1 var(--body);background:rgba(253,250,242,.1);color:var(--paper);border:1px solid rgba(235,203,134,.55);
  border-radius:99px;padding:10px 16px 9px;cursor:pointer}
.today button:hover{background:rgba(253,250,242,.2)}
.today button:focus-visible{outline-color:var(--gold)}

.deck{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-content:start}
@media(max-width:640px){.deck{grid-template-columns:repeat(2,minmax(0,1fr))}}
.flip{appearance:none;border:0;padding:0;background:none;cursor:pointer;perspective:900px;aspect-ratio:3/3.6;text-align:center;font:inherit;color:inherit;width:100%}
.flip .fx{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,.7,.2,1)}
.flip[aria-pressed="true"] .fx{transform:rotateY(180deg)}
.flip .face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:8px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;padding:12px;border:1px solid var(--rule2)}
.flip .front{background:var(--paper);box-shadow:0 1px 0 var(--rule),4px 5px 0 var(--paper2),4px 5px 0 1px var(--rule)}
.flip .front b{font:400 clamp(30px,3.2vw,40px)/1.3 var(--brush);color:var(--ink)}
.flip .front i{font:italic 400 15px/1.3 var(--display);color:var(--mut);margin-top:4px}
.flip .front em{position:absolute;bottom:10px;font:500 12px/1 var(--body);font-style:normal;letter-spacing:.12em;color:var(--accent-ink)}
.flip .back{background:var(--ink);color:var(--paper);transform:rotateY(180deg);border-color:var(--ink)}
.flip .back b{font:500 18px/1.3 var(--body);color:var(--gold-soft)}
.flip .back span{font:400 15px/1.55 var(--display);margin-top:8px;color:#F3E7CB}
.flip:hover .front{border-color:var(--accent)}
.deck-ctl{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}
.deck-ctl p{margin:0;font-size:14.5px;color:var(--mut)}

.btn{display:inline-flex;align-items:center;gap:9px;border-radius:99px;padding:12px 22px 11px;font:500 16px/1 var(--body);cursor:pointer;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);transition:background .2s,color .2s}
.btn:hover{background:var(--accent-ink);border-color:var(--accent-ink)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn svg{width:17px;height:17px}

/* ---------- stories: a press page with column rules ---------- */
.press{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0}
.story{padding:0 22px 30px;border-left:1px solid var(--rule)}
.story:nth-child(1){grid-column:span 4;border-left:0;padding-left:0}
.story:nth-child(2){grid-column:span 2}
.story:nth-child(3),.story:nth-child(4),.story:nth-child(5){grid-column:span 2;border-top:1px solid var(--rule);padding-top:28px}
.story:nth-child(3){border-left:0;padding-left:0}
.story:nth-child(6){grid-column:span 6;border-left:0;padding:28px 0 0;border-top:3px double var(--rule2);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:30px;align-items:center}
.story:nth-child(6) .wash{margin:0}
.story:nth-child(5),.story:nth-child(2){padding-right:0}
@media(max-width:900px){
  .press{grid-template-columns:minmax(0,1fr)}
  .story,.story:nth-child(n){grid-column:1/-1;border-left:0;padding:26px 0;border-top:1px solid var(--rule)}
  .story:nth-child(1){border-top:0;padding-top:0}
  .story:nth-child(6){grid-template-columns:minmax(0,1fr);gap:0}
}
.kick{font:500 13px/1 var(--body);letter-spacing:.14em;color:var(--accent-ink);display:block;margin:0 0 8px}
.story h3{font-size:clamp(21px,1.9vw,25px);line-height:1.45;margin:0 0 10px}
.story:nth-child(1) h3{font-size:clamp(25px,2.6vw,33px)}
.story p{margin:0;color:var(--ink2);font:400 16.5px/1.75 var(--display)}

/* ink wash: a sepia print that a brush of colour sweeps across */
.wash{position:relative;overflow:hidden;border-radius:4px;aspect-ratio:3/2;margin:0 0 16px;background:var(--paper3)}
.wash img{width:100%;height:100%;object-fit:cover}
.wash::before{content:"";position:absolute;inset:0;z-index:1;background:var(--src) center/cover;filter:grayscale(1) sepia(.85) contrast(1.08) brightness(1.02);
  -webkit-mask-image:linear-gradient(100deg,transparent 0 40%,#000 55%);mask-image:linear-gradient(100deg,transparent 0 40%,#000 55%);
  -webkit-mask-size:260% 100%;mask-size:260% 100%;-webkit-mask-position:100% 0;mask-position:100% 0;transition:-webkit-mask-position 1.1s cubic-bezier(.5,.1,.2,1),mask-position 1.1s cubic-bezier(.5,.1,.2,1)}
.wash::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(36,26,3,.12),inset 0 0 60px rgba(36,26,3,.25)}
.story:hover .wash::before,.story:focus-within .wash::before{-webkit-mask-position:0 0;mask-position:0 0}

/* ---------- morning tea band ---------- */
.chai{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);border-radius:10px;overflow:hidden;background:var(--ink);color:var(--paper)}
@media(max-width:860px){.chai{grid-template-columns:minmax(0,1fr)}}
.chai .vf{position:relative;min-height:320px;overflow:hidden}
.chai .vf video,.chai .vf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:sepia(.35) saturate(1.15)}
.chai .vf img{animation:kb 26s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.14) translate(-3%,2%)}}
.chai .vf::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(90% 80% at 50% 50%,transparent 45%,rgba(36,26,3,.7));
  box-shadow:inset 0 0 0 1px rgba(235,203,134,.2)}
.chai .vf .grain{position:absolute;inset:-50%;pointer-events:none;opacity:.35;mix-blend-mode:overlay;animation:gr 1.2s steps(4) infinite;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)'/%3E%3C/svg%3E")}
@keyframes gr{0%{transform:translate(0,0)}25%{transform:translate(-4%,3%)}50%{transform:translate(3%,-2%)}75%{transform:translate(-2%,-4%)}100%{transform:translate(0,0)}}
.chai .tx{padding:clamp(28px,4vw,52px)}
.chai h2{color:var(--gold-soft);font-size:clamp(34px,4vw,50px)}
.chai .ink-h .stroke path.s1{stroke:var(--gold)}
.chai p{font:400 19px/1.75 var(--display);color:#F3E7CB;margin:16px 0 24px;max-width:46ch}
.chai .btn{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.chai .btn:hover{background:var(--paper);border-color:var(--paper)}
.chai .btn:focus-visible{outline-color:var(--gold)}

/* video pause control, shared */
.vctl{position:absolute;right:12px;bottom:12px;z-index:5;width:40px;height:40px;border-radius:50%;border:1px solid rgba(235,203,134,.6);
  background:rgba(36,26,3,.6);color:var(--paper);cursor:pointer;display:grid;place-items:center}
.vctl svg{width:16px;height:16px;fill:currentColor}
.vctl .pl{display:none}
.vctl[aria-pressed="true"] .pz{display:none}
.vctl[aria-pressed="true"] .pl{display:block}
.vctl:focus-visible{outline-color:var(--gold)}

/* ---------- how we work: scroll scrubbed pen ---------- */
.letterbox{position:relative;border-radius:8px;overflow:hidden;background:var(--ink);aspect-ratio:21/7;margin:0 0 34px}
@media(max-width:640px){.letterbox{aspect-ratio:16/8}}
.letterbox .scrub{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--s,100%)) 0 0)}
.letterbox video,.letterbox img{width:100%;height:100%;object-fit:cover;filter:sepia(.55) contrast(1.05)}
.letterbox .edge{position:absolute;top:0;bottom:0;left:var(--s,100%);width:3px;background:var(--gold);box-shadow:0 0 22px var(--gold);opacity:var(--edge,0)}
.letterbox .cap{position:absolute;left:18px;bottom:14px;z-index:3;font:italic 400 17px/1.3 var(--display);color:var(--gold-soft)}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
@media(max-width:980px){.cols3{grid-template-columns:minmax(0,1fr)}}
.cols3>div{padding:0 26px;border-left:1px solid var(--rule)}
.cols3>div:first-child{padding-left:0;border-left:0}
.cols3>div:last-child{padding-right:0}
@media(max-width:980px){.cols3>div,.cols3>div:first-child{padding:22px 0;border-left:0;border-top:1px solid var(--rule)}}
.cols3 h3{font-size:24px;margin:0 0 10px}
.cols3 p{margin:0;color:var(--ink2);font-size:16.5px;line-height:1.75}
.cols3 p::first-letter{font:400 3.05em/.82 var(--display);float:left;margin:7px 3px 0 0;color:var(--accent)}

/* ---------- questions ---------- */
.qa{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start}
@media(max-width:900px){.qa{grid-template-columns:minmax(0,1fr)}}
.faq{border-top:3px double var(--ink)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;padding:18px 40px 16px 0;font:400 21px/1.4 var(--display);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:14px;font:400 28px/1 var(--display);color:var(--accent);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{margin:0 0 20px;color:var(--ink2);max-width:70ch}
.depth{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:4/5;background:var(--paper3);box-shadow:0 0 0 1px var(--rule2)}
.depth img{position:absolute;left:0;top:-12%;width:100%;height:124%;object-fit:cover;filter:sepia(.75) contrast(1.06) brightness(1.03);transform:translateY(var(--py,0));will-change:transform}
.depth::after{content:"";position:absolute;inset:0;background:radial-gradient(transparent 55%,rgba(36,26,3,.35))}

/* ---------- inner pages ---------- */
.pagehead{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:center}
@media(max-width:900px){.pagehead{grid-template-columns:minmax(0,1fr)}}
.pagehead h1{font-size:clamp(36px,5vw,60px);margin:14px 0 12px}
.pagehead .lede{font:400 clamp(19px,1.8vw,23px)/1.65 var(--display);color:var(--ink2);margin:0;max-width:52ch}
.halftone{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:16/10;background:var(--ink)}
.halftone video,.halftone img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.8) contrast(1.15)}
.halftone::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:multiply;opacity:.55;
  background:radial-gradient(circle,rgba(36,26,3,.85) 32%,transparent 36%) 0 0/6px 6px}
.halftone::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(120deg,rgba(161,98,7,.35),transparent 60%);mix-blend-mode:color}
.doc .part{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:8px 40px;padding:26px 0;border-top:1px solid var(--rule)}
.doc .part:first-child{border-top:3px double var(--ink)}
.doc .part h2{font-size:23px;line-height:1.3;position:sticky;top:76px;align-self:start}
.doc .part h2::before{content:attr(data-n);display:block;font:400 30px/1 var(--brush);color:var(--gold);margin-bottom:6px}
.doc .part .txt>*:first-child{margin-top:0}
.doc .part .txt>*:last-child{margin-bottom:0}
.doc p,.doc li{color:var(--ink2);max-width:68ch}
.doc ul{padding-left:0;list-style:none}
.doc li{position:relative;padding-left:26px;margin-bottom:9px}
.doc li::before{content:"";position:absolute;left:2px;top:.75em;width:12px;height:6px;border-radius:50% 50% 50% 0;background:var(--accent);transform:rotate(-20deg)}
@media(max-width:760px){.doc .part{grid-template-columns:minmax(0,1fr)}.doc .part h2{position:static}}

/* ---------- footer ---------- */
.foot{margin-top:90px;background:var(--paper2);border-top:3px double var(--ink);color:var(--ink2);font-size:15.5px;position:relative;z-index:2}
.foot .in{max-width:var(--sheet);margin:0 auto;padding:44px 24px 30px}
.foot .cols{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:30px}
@media(max-width:860px){.foot .cols{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot .cols{grid-template-columns:1fr}}
.foot .logo-link{margin:0 0 12px}
.foot .logo-link img{width:170px}
.foot h2{font:700 12.5px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink);margin:0 0 14px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:8px}
.foot a:hover{color:var(--accent-ink);text-decoration:underline}
.foot .pubblock p{margin:0 0 4px}
.foot .legal{border-top:1px solid var(--rule2);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--mut)}

/* ---------- quill trail canvas ---------- */
#quill{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:300}
html.quill-on body{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M3 29 L9 15 L22 2 L30 10 L17 23 Z' fill='%23241A03' stroke='%23FDFAF2' stroke-width='1.4' stroke-linejoin='round'/%3E%3Cpath d='M3 29 L13 19' stroke='%23D9A441' stroke-width='1.6'/%3E%3Ccircle cx='14.5' cy='17.5' r='1.8' fill='%23D9A441'/%3E%3C/svg%3E") 3 29,auto}
html.quill-on a,html.quill-on button,html.quill-on summary,html.quill-on label{cursor:pointer}
html.quill-on input,html.quill-on textarea{cursor:text}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .ink{-webkit-mask-image:none;mask-image:none}
  .js .ink-h .stroke path{stroke-dashoffset:0}
  .js .plate.bloom-wait img,.js .plate.bloom-wait::after{-webkit-mask-image:none;mask-image:none}
  .flip .fx{transform:none!important}
  .flip .back{transform:none;opacity:0}
  .flip[aria-pressed="true"] .back{opacity:1}
  .flip[aria-pressed="true"] .front{opacity:0}
  .letterbox .scrub{clip-path:none}
  .depth img{transform:none}
  #quill{display:none}
}

/* review screenshots (#static): everything in its final state */
.static *,.static *::before,.static *::after{transition:none!important;animation:none!important}

/* Devanagari hangs from a continuous headline bar; tracking breaks it */
.kick:lang(hi),.eyebrow:lang(hi),.today .tag span:lang(hi),.flip .front em:lang(hi),.list h2:lang(hi){letter-spacing:0}
