/* ===== fonts ===== */
/* ---------- self-hosted type ---------- */
@font-face{font-family:'Literata';font-style:italic;font-weight:400 700;font-display:swap;src:url('../fonts/literata-latin-ext-italic.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Literata';font-style:italic;font-weight:400 700;font-display:swap;src:url('../fonts/literata-latin-italic.woff2') format('woff2');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:'Literata';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/literata-latin-ext-normal.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Literata';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/literata-latin-normal.woff2') format('woff2');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:'Source Sans 3';font-style:italic;font-weight:400 700;font-display:swap;src:url('../fonts/sourcesans-latin-ext-italic.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:400 700;font-display:swap;src:url('../fonts/sourcesans-latin-italic.woff2') format('woff2');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:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/sourcesans-latin-ext-normal.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/sourcesans-latin-normal.woff2') format('woff2');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 Bengali';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/bengali-bengali-normal.woff2') format('woff2');unicode-range:U+0951-0952, U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200C-200D, U+20B9, U+25CC, U+A8F1}
@font-face{font-family:'Amiri';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/arabic-400.woff2') format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}
@font-face{font-family:'Amiri';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/arabic-700.woff2') format('woff2');unicode-range:U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1}

/* metric-matched fallbacks: the page does not move when the web fonts arrive */
@font-face{font-family:'Literata Fallback';src:local('Times New Roman'),local('Liberation Serif'),local('Tinos'),local('DejaVu Serif');size-adjust:113.5%;ascent-override:103.7%;descent-override:27.1%;line-gap-override:0%}
@font-face{font-family:'Source Sans Fallback';src:local('Arial'),local('Helvetica'),local('Liberation Sans'),local('Arimo'),local('DejaVu Sans');size-adjust:89.3%;ascent-override:114.7%;descent-override:44.8%;line-gap-override:0%}
/* ===== core ===== */
:root{
--bg:#EAF0F7;--sheet:#F7FAFD;--ink:#12233A;--muted:#46566D;--red:#B42E2A;--blue:#1C4494;--line:#B7C6D9;--onblue:#FFFFFF;
--field:#1C4494;--onfield:#FFFFFF;--onfield-2:#D6E1F5;--shadow:0 1px 2px rgba(18,35,58,.08),0 18px 44px rgba(18,35,58,.16);--edge:0 none;
 --gh-font-heading: Literata, 'Noto Serif Bengali', Amiri, 'Literata Fallback', Georgia, 'Times New Roman', serif;
 --gh-font-body: 'Source Sans 3', 'Noto Serif Bengali', Amiri, 'Source Sans Fallback', system-ui, -apple-system, 'Segoe UI', sans-serif;
 color-scheme: light dark;
}
@media (prefers-color-scheme: dark){
 :root{
--bg:#0E1A2B;--sheet:#13233A;--ink:#E7EDF6;--muted:#A9B6C8;--red:#FF8A80;--blue:#9DBBFF;--line:#2B3E58;--onblue:#0E1A2B;
--field:#21447C;--onfield:#FFFFFF;--onfield-2:#D6E1F5;--shadow:none;--edge:1px solid rgba(255,255,255,.16);
 }
}
body{background:var(--bg);color:var(--ink);font-family:var(--gh-font-body);-webkit-font-smoothing:antialiased}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
body{margin:0}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
button,a{touch-action:manipulation}
.btn,.iconbtn,.share a,.share button,nav a,.routebar button{-webkit-user-select:none;user-select:none}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.ico{width:18px;height:18px;flex:none;fill:currentColor}
.ico-s{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.navlinks{display:flex;gap:22px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.navlinks a{text-decoration:none}
@media (max-width:899px){.only-wide{display:none!important}}
@media (min-width:900px){.only-narrow{display:none!important}}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0 6px}
.share{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.share a,.share button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;text-decoration:none;font:inherit;cursor:pointer;background:transparent;color:inherit;border:0}
.serif{font-family:var(--gh-font-heading);font-optical-sizing:auto}
.band{height:8px;background:var(--sheet)}
.band svg{display:block;width:100%;height:8px}
header{padding:18px 0 14px}
.hrow{display:flex;align-items:center;justify-content:space-between;gap:16px}
.mark{font-family:var(--gh-font-heading);font-weight:650;font-size:30px;letter-spacing:-.01em;text-decoration:none}
.tagline{margin:4px 0 0;color:var(--muted);font-size:15px}
nav{border-top:1px solid var(--line);margin-top:14px;padding-top:10px;font-size:16px}
nav .navlinks a{color:var(--ink);display:inline-flex;min-height:44px;align-items:center}
@media (hover:hover) and (pointer:fine){nav .navlinks a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}}
.btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:6px;background:var(--blue);color:var(--onblue);text-decoration:none;font-weight:600;border:0;font-size:16px}
.btn:active{transform:scale(.97)}
.btn-ghost{background:transparent;color:var(--blue);box-shadow:inset 0 0 0 1.5px var(--blue)}
.home{display:grid;gap:28px;padding:10px 0 48px;align-items:start}
@media (min-width:900px){.home{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px}}
.sheet{background:var(--sheet);border-radius:4px;padding:28px 20px 30px;box-shadow:var(--shadow);border:var(--edge);position:relative}
@media (max-width:899px){.sheet,.envelope{margin-left:-16px;margin-right:-16px;border-radius:0}.fig{margin-left:-20px!important;margin-right:-20px!important}figcaption{padding-left:20px!important}}
@media (min-width:900px){.sheet{padding:40px 48px 44px}}
.from{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;font-size:15px;color:var(--muted);margin:0 0 18px;padding-right:92px;min-height:76px}
@media (min-width:900px){.from{padding-right:132px;min-height:0}}
.from strong{color:var(--ink);font-weight:600}
.from a{color:var(--blue);display:inline-flex;align-items:center;min-width:44px;min-height:44px;justify-content:center}
.pm{position:absolute;top:16px;right:14px;width:84px;height:84px;color:var(--red)}
@media (min-width:900px){.pm{top:24px;right:28px;width:116px;height:116px}}
h1{font-family:var(--gh-font-heading);font-weight:620;font-size:clamp(32px,4.2vw,50px);line-height:1.08;letter-spacing:-.018em;margin:0 0 16px;text-wrap:balance;max-width:20ch}
.lede{font-family:var(--gh-font-heading);font-size:20px;line-height:1.55;margin:0 0 22px;max-width:40ch;color:var(--ink)}
.meta{font-size:15px;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:18px}
.reg h2{font-family:var(--gh-font-heading);font-size:22px;font-weight:600;margin:6px 0 10px}
.reg ol{list-style:none;margin:0;padding:0}
.reg li a{display:grid;grid-template-columns:6.8em 1fr;gap:12px;padding:11px 0;border-top:1px solid var(--line);text-decoration:none;align-items:baseline}
@media (hover:hover) and (pointer:fine){.reg li a:hover .t{color:var(--blue);text-decoration:underline;text-underline-offset:3px}}
.reg time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px}
.reg .t{font-family:var(--gh-font-heading);font-size:17px;line-height:1.35}
.reg .all{display:inline-flex;min-height:44px;align-items:center;color:var(--blue);font-weight:600;margin-top:6px}
.post{max-width:760px;margin:0 auto;padding:12px 0 56px}
.post .sheet{padding-top:30px}
.fig{margin:24px -24px 0}
@media (min-width:900px){.fig{margin:28px -48px 0}}
figcaption{font-size:14px;color:var(--muted);padding:8px 24px 0}
@media (min-width:900px){figcaption{padding:8px 48px 0}}
.body{font-family:var(--gh-font-heading);font-size:19px;line-height:1.68;max-width:630px}
.body p{margin:0 0 1.1em}
.body h2{font-size:27px;line-height:1.2;font-weight:620;margin:1.6em 0 .5em;letter-spacing:-.01em}
.body a{color:var(--blue);text-underline-offset:3px}
.sign{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.sign img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.sign .n{font-family:var(--gh-font-heading);font-weight:600;font-size:19px;margin:0}
.sign p{margin:4px 0 8px;color:var(--muted);font-size:15px;line-height:1.5;max-width:52ch}
.soc{display:flex;gap:4px}
.soc a{color:var(--blue);display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.endrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px}
.share a,.share button{border-radius:6px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font-size:15px}
@media (hover:hover) and (pointer:fine){.share a:hover,.share button:hover{box-shadow:inset 0 0 0 1.5px var(--blue);color:var(--blue)}}
.envelope{margin-top:28px;background:var(--sheet);border-radius:4px;overflow:hidden;box-shadow:var(--shadow);border:var(--edge)}
.envelope .in{padding:24px}
@media (min-width:900px){.envelope .in{padding:30px 48px}}
.envelope p{margin:0 0 16px;color:var(--muted);font-size:16px;max-width:52ch}
.envelope .acts{display:flex;gap:10px;flex-wrap:wrap}
.topics{margin-top:26px}
.topics h2{font-family:var(--gh-font-heading);font-size:22px;font-weight:600;margin:0 0 10px}
.topics a{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:baseline;min-height:44px;padding:10px 0;border-top:1px solid var(--line);text-decoration:none}
@media (hover:hover) and (pointer:fine){.topics a:hover .l{color:var(--blue);text-decoration:underline;text-underline-offset:3px}}
.topics .l{font-family:var(--gh-font-heading);font-size:17px}
.topics .c{font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px}
.postgrid{display:block}
@media (min-width:1200px){.postgrid{display:grid;grid-template-columns:14rem 760px;gap:40px;justify-content:center}.postgrid .post{margin:0}}
.rail{display:none}
@media (min-width:1200px){.rail{display:block;position:sticky;top:24px;align-self:start;padding-top:40px}}
.body h2 .n{font-variant-numeric:tabular-nums;color:var(--muted);margin-right:.35em}
.field{background:var(--field);color:var(--onfield)}
header{padding:18px 0 0}
.mark{color:var(--onfield);font-size:32px}
.tagline{color:var(--onfield-2)}
.hacts{display:flex;gap:8px;align-items:center}
.hacts .iconbtn{color:var(--onfield)}
.hacts .iconbtn{text-decoration:none}
@media (hover:hover) and (pointer:fine){.hacts .iconbtn:hover{text-decoration:underline;text-underline-offset:4px}}
nav{border-top:1px solid rgba(255,255,255,.24);margin-top:16px;padding-top:2px}
nav .navlinks a{color:var(--onfield)}
@media (hover:hover) and (pointer:fine){nav .navlinks a:hover{color:var(--onfield);text-decoration:underline;text-underline-offset:4px}}
.btn-onfield{background:var(--onfield);color:var(--field)}
button.btn{font-family:inherit}
.post .envelope{margin-top:28px}
::selection{background:var(--blue);color:var(--onblue)}
.field ::selection{background:var(--onfield);color:var(--field)}
.field :focus-visible{outline-color:var(--onfield)}
.hero{padding-top:0}
.fieldwrap{background:linear-gradient(to bottom,var(--field) calc(100% - 56px),var(--bg) calc(100% - 56px))}
@media (min-width:900px){.hero{padding-top:34px}.fieldwrap{background:linear-gradient(to bottom,var(--field) calc(100% - 96px),var(--bg) calc(100% - 96px))}}
.aero{background:var(--sheet);border-radius:4px;box-shadow:var(--shadow);border:var(--edge);position:relative}
.aero>.band{border-radius:4px 4px 0 0;overflow:hidden}
@media (max-width:899px){.aero{margin:0 -8px}.hero{padding-top:12px}.panel{padding-left:16px;padding-right:16px}}
.panels{display:grid}
@media (min-width:900px){.panels{grid-template-columns:minmax(0,17rem) minmax(0,1fr)}}
@media (min-width:1120px){.panels{grid-template-columns:minmax(0,17rem) minmax(0,1fr) minmax(0,20rem)}}
.panel{padding:22px 20px 26px;position:relative;min-width:0}
@media (max-width:899px){.panel.p1{padding-top:14px;padding-bottom:14px}}
@media (min-width:900px){.panel{padding:34px 32px 38px}}
.panel+.panel{border-top:1px solid var(--line)}
@media (min-width:900px){.panel+.panel{border-top:0;border-left:1px dashed var(--line)}}
@media (min-width:900px) and (max-width:1119px){.panel.p3{grid-column:1/-1;border-left:0;border-top:1px dashed var(--line)}}
.p1{display:grid;grid-template-columns:1fr auto;gap:0 14px;align-items:start}
@media (min-width:900px){.p1{display:block}}
.p1 .pm{position:static;width:112px;height:112px;transform:rotate(-6deg);grid-column:2;grid-row:1;margin:-4px -4px 0 0}
@media (min-width:900px){.p1 .pm{width:140px;height:140px;margin:0 0 22px -4px}}
.addr{margin:0;display:grid;gap:10px;grid-column:1;grid-row:1;font-size:15px;line-height:1.45}
@media (min-width:900px){.addr{gap:14px}}
.addr div{display:grid;grid-template-columns:2.9em 1fr;gap:6px;align-items:baseline}
@media (min-width:900px){.addr div{grid-template-columns:1fr;gap:2px}}
.addr dt{color:var(--muted);font-weight:600;font-size:14px}
.addr dd{margin:0;color:var(--ink)}
.addr .who{display:block}
.addr .who strong{font-weight:600}
.addr .who a{color:var(--blue);display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;margin:-12px 0 -12px -8px;vertical-align:middle}
.addr .h{display:block;color:var(--muted)}
.p2 h1{font-size:clamp(32px,3.4vw,48px);max-width:none;margin-bottom:18px}
.p2 .lede{max-width:34ch}
.p2 .meta{margin-top:20px}
.dot::before{content:"·";margin-right:14px;color:var(--muted)}
.meta .dot::before{margin-right:14px}
.p3 .reg h2{margin-top:0}
@media (min-width:1120px){.p3 .reg li a{grid-template-columns:1fr;gap:2px;padding:10px 0}}
.reg .t{font-size:16.5px}
.below{display:grid;gap:28px;padding:40px 0 56px;align-items:start}
@media (min-width:900px){.below{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}}
.topics{margin-top:0}
.topics .list{display:grid}
@media (min-width:600px){.topics .list{grid-template-columns:1fr 1fr;column-gap:28px}}
.envelope{margin-top:0;box-shadow:var(--shadow);border:var(--edge)}
.envelope h2{font-family:var(--gh-font-heading);font-size:24px;margin:0 0 6px;font-weight:620}
.subform{display:grid;gap:10px;margin:0 0 14px}
.subform label{font-size:15px;font-weight:600}
.subform .row{display:flex;gap:10px;flex-wrap:wrap}
.subform input{flex:1 1 14rem;min-width:0;min-height:48px;font:inherit;font-size:16px;padding:0 14px;border-radius:6px;border:1px solid var(--muted);background:var(--sheet);color:var(--ink)}
.subform input::placeholder{color:var(--muted)}
.subform input:focus-visible{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
.subform .btn{min-height:48px}
.fine{font-size:15px;color:var(--muted);margin:0 0 12px}
.envelope .acts{display:flex;gap:10px;flex-wrap:wrap}
.fine a{color:var(--blue);text-underline-offset:3px}
@media (min-width:900px){.field.tail{padding-bottom:96px}.pull{margin-top:-96px}}
.post{padding-top:0}
@media (max-width:899px){.post{padding-top:0}}
.post .sheet{box-shadow:var(--shadow);border:var(--edge)}
.post .sheet>.band{margin:-30px -20px 26px;border-radius:4px 4px 0 0;overflow:hidden}
@media (min-width:900px){.post .sheet>.band{margin:-30px -48px 32px}}
.post .sheet>.pm{position:static;float:right;width:112px;height:112px;margin:-6px -8px 6px 12px}
@media (min-width:900px){.post .sheet>.pm{width:140px;height:140px;margin:-8px -18px 8px 20px}}
.post .from{display:block;padding-right:0;min-height:0;margin-bottom:6px}
.post .from a{display:inline-flex;vertical-align:middle;margin:-12px 0 -12px -6px}
@media (max-width:899px){.post .sheet,.envelope,.rts .sheet{margin-left:-8px;margin-right:-8px;border-radius:4px}.post .sheet{padding-left:16px;padding-right:16px}.post .sheet>.band{margin-left:-16px;margin-right:-16px;border-radius:4px 4px 0 0}.routebar{margin-left:-16px;margin-right:-16px}.routebar button,.routebar .rb-list{padding-left:16px;padding-right:16px}.fig{margin-left:-16px!important;margin-right:-16px!important}figcaption{padding-left:16px!important}}
.post .pm{transform:rotate(-6deg)}
.post .from{margin-bottom:14px}
.post .meta{margin:0 0 6px}
@media (max-width:899px){.post h1{clear:right}}
.body h2{scroll-margin-top:72px}
@media (min-width:1200px){.rail{padding-top:136px;top:-96px}}
.rail h2{margin-bottom:14px}
.route{position:relative}
.route ol{list-style:none;margin:0;padding:0}
.route::before,.route .fill{content:"";position:absolute;left:8px;top:22px;bottom:22px;width:2px;background:var(--line)}
.route .fill{background:var(--blue);transform-origin:top;transform:scaleY(0);transition:transform 240ms cubic-bezier(0.16,1,0.3,1)}
.route li{position:relative}
.route a{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:start;min-height:44px;padding:11px 0;text-decoration:none;color:var(--muted);font-size:15px;line-height:1.35}
@media (hover:hover) and (pointer:fine){.route a:hover .rt{color:var(--blue);text-decoration:underline;text-underline-offset:3px}}
.route .stop{width:18px;height:18px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 2px var(--muted);position:relative;z-index:1;margin-top:0}
.route .rn{font-variant-numeric:tabular-nums;margin-right:.4em}
.route li.done .stop{background:var(--blue);box-shadow:none}
.route li.on .stop{background:var(--bg);box-shadow:inset 0 0 0 2px var(--blue),0 0 0 3px var(--bg),0 0 0 4.5px var(--blue)}
.route li.on a{color:var(--ink);font-weight:600}
.routebar{position:sticky;top:0;z-index:3;margin:18px -20px 0;background:var(--sheet);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
@media (min-width:900px){.routebar{margin:22px -48px 0}}
@media (min-width:1200px){.routebar{display:none}}
.routebar button{display:grid;grid-template-columns:auto minmax(0,1fr) 20px;gap:10px;align-items:center;width:100%;min-height:48px;padding:0 20px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:15px;text-align:left;cursor:pointer}
@media (min-width:900px){.routebar button{padding:0 48px}}
.routebar .rb-n{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.routebar .rb-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.routebar .chev{transition:transform 200ms cubic-bezier(0.16,1,0.3,1)}
.routebar button[aria-expanded="true"] .chev{transform:rotate(180deg)}
.routebar .rb-prog{height:2px;background:var(--line);overflow:hidden}
.routebar .rb-prog i{display:block;height:100%;background:var(--blue);transform-origin:left;transform:scaleX(0)}
@keyframes rb-open{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.routebar .rb-list{padding:4px 20px 12px;animation:rb-open 180ms cubic-bezier(0.16,1,0.3,1) both}
@media (min-width:900px){.routebar .rb-list{padding:4px 48px 12px}}
.routebar .route .stop{background:var(--sheet)}
.routebar .route li.on .stop{background:var(--sheet);box-shadow:inset 0 0 0 2px var(--blue),0 0 0 3px var(--sheet),0 0 0 4.5px var(--blue)}
@keyframes pm-strike{from{opacity:.35;transform:rotate(-6deg) scale(1.18)}to{opacity:1;transform:rotate(-6deg) scale(1)}}
.pm.strike{animation:pm-strike 340ms cubic-bezier(0.16,1,0.3,1) both}
@media (prefers-reduced-motion:reduce){.pm.strike,.routebar .rb-list{animation:none}.route .fill,.routebar .chev{transition:none}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.rts{max-width:760px;margin:0 auto;padding:32px 0 56px}
.rts .sheet{box-shadow:var(--shadow);border:var(--edge)}
.rts .pm{position:static;float:right;width:120px;height:120px;margin:0 0 12px 16px;transform:rotate(-8deg)}
@media (max-width:899px){.rts .pm{width:108px;height:108px;margin:-4px -4px 8px 12px}}
.rts h1{font-size:clamp(30px,3.4vw,42px);max-width:16ch}
.rts .acts{display:flex;gap:10px;flex-wrap:wrap;clear:both;margin:4px 0 26px}
/* ===== Phase 3: templates in the locked world ===== */
.morebtn{display:inline-flex;align-items:center;gap:6px;min-height:44px;background:transparent;border:0;color:var(--onfield);font:inherit;font-size:16px;cursor:pointer;padding:0}

/* listings */
.secthead{font-family:var(--gh-font-heading);font-size:22px;font-weight:600;margin:34px 0 4px}
.listing{padding-bottom:6px}
.rows{list-style:none;margin:0;padding:0}
.rows>li{border-top:1px solid var(--line)}
.rows>li:last-child{border-bottom:1px solid var(--line)}
.rows a{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:18px 0;text-decoration:none;align-items:start}
.rows img{border-radius:4px;aspect-ratio:3/2;object-fit:cover;width:100%}
.rows .rt{display:grid;gap:4px;min-width:0}
.rows time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px}
.rows .t{font-family:var(--gh-font-heading);font-size:20px;line-height:1.28;color:var(--ink)}
@media (min-width:700px){.rows .t{font-size:22px}}
.rows .x{color:var(--muted);font-size:15px;line-height:1.5;max-width:64ch}
.rows .meta2{color:var(--muted);font-size:14px}
@media (hover:hover) and (pointer:fine){.rows a:hover .t{color:var(--blue);text-decoration:underline;text-underline-offset:3px}}
.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0 0}
.pnum{color:var(--muted);font-size:15px;font-variant-numeric:tabular-nums}

/* home B sections */

/* archive headers (tag, author) */
.arch{padding:34px 0 28px;max-width:62ch}
.arch .kind{font-size:14px;color:var(--onfield-2);margin:0 0 6px;letter-spacing:.02em}
.arch h1{font-family:var(--gh-font-heading);font-size:clamp(32px,4vw,46px);line-height:1.1;font-weight:620;letter-spacing:-.018em;margin:0 0 10px;color:var(--onfield)}
.arch .lede{font-family:var(--gh-font-heading);font-size:19px;line-height:1.5;color:var(--onfield-2);margin:0 0 10px}
.arch .meta{color:var(--onfield-2);font-size:15px;display:flex;gap:14px;flex-wrap:wrap;margin:0}
.arch .meta a{color:var(--onfield);text-underline-offset:3px}
.arch.person{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;max-width:none}
.arch.person img{width:96px;height:96px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px rgba(255,255,255,.25)}

/* post: related, next and previous, comments, paywall */
.related{margin-top:30px}
.related h2{font-family:var(--gh-font-heading);font-size:22px;font-weight:600;margin:0 0 2px}
.prevnext{display:grid;gap:12px;margin-top:26px}
@media (min-width:700px){.prevnext{grid-template-columns:1fr 1fr;gap:18px}}
.prevnext a{display:grid;gap:4px;padding:16px 18px;background:var(--sheet);border-radius:4px;text-decoration:none;box-shadow:var(--shadow);border:var(--edge)}
.prevnext .k{color:var(--muted);font-size:14px}
.prevnext .t{font-family:var(--gh-font-heading);font-size:18px;line-height:1.3}
@media (hover:hover) and (pointer:fine){.prevnext a:hover .t{color:var(--blue)}}
.prevnext .next{text-align:right}
.comments{margin-top:30px}
.comments h2{font-family:var(--gh-font-heading);font-size:22px;font-weight:600;margin:0 0 6px}
.comments .note{color:var(--muted);font-size:15px;margin:0 0 14px}
.paywall{margin-top:26px;padding:24px 0 4px;border-top:1px solid var(--line)}
.paywall h2{font-family:var(--gh-font-heading);font-size:24px;font-weight:620;margin:0 0 8px}
.paywall p{margin:0 0 16px;color:var(--muted);font-size:16px;max-width:52ch}
.paywall .acts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.paywall .fine{font-size:15px}

/* pages */
.page .sheet h1{font-family:var(--gh-font-heading);font-size:clamp(30px,3.4vw,44px);line-height:1.1;font-weight:620;letter-spacing:-.018em;margin:0}
.people{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:4px}
.people li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:18px 0;border-top:1px solid var(--line)}
.people img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.people .n{font-family:var(--gh-font-heading);font-size:19px;font-weight:600;margin:0}
.people .b{margin:4px 0 6px;color:var(--muted);font-size:15px;line-height:1.5;max-width:56ch}
.people .c{margin:0;font-size:15px}
.people .c a{color:var(--blue);display:inline-flex;min-height:44px;align-items:center;text-underline-offset:3px}

/* menu and search sheet */
.menu{position:fixed;inset:0;z-index:20;background:rgba(9,18,32,.5)}
.menu-in{position:absolute;inset:0 0 0 auto;width:min(420px,100%);background:var(--sheet);color:var(--ink);overflow:auto;padding:16px 20px 32px;display:flex;flex-direction:column;gap:6px}
.menu-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.menu-top .mark{color:var(--ink);font-size:26px}
.menu h2{font-family:var(--gh-font-heading);font-size:17px;font-weight:600;margin:18px 0 2px}
.mlist{list-style:none;margin:0;padding:0}
.mlist a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:4px 0;border-top:1px solid var(--line);text-decoration:none;font-size:17px;font-family:var(--gh-font-heading)}
.mlist .c{font-family:var(--gh-font-body);font-variant-numeric:tabular-nums;color:var(--muted);font-size:14px}
@media (hover:hover) and (pointer:fine){.mlist a:hover span:first-child{color:var(--blue)}}
.searchform .row{display:flex;align-items:center;gap:10px;border:1px solid var(--muted);border-radius:6px;padding:0 12px;min-height:48px;color:var(--muted)}
.searchform input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:16px;color:var(--ink);padding:0}
.searchform input:focus{outline:none}
.searchform .row:focus-within{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.menu-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}

/* footer */
footer.site{background:var(--field);color:var(--onfield);margin-top:46px}
footer.site .cols{display:grid;gap:22px;padding:34px 0 8px}
@media (min-width:760px){footer.site .cols{grid-template-columns:2fr 1fr 1fr;gap:40px}}
footer.site h2{font-family:var(--gh-font-heading);font-size:17px;font-weight:600;margin:0 0 4px;color:var(--onfield)}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site li a{display:inline-flex;min-height:40px;align-items:center;font-size:15px;color:var(--onfield);text-decoration:none}
@media (hover:hover) and (pointer:fine){footer.site li a:hover{text-decoration:underline;text-underline-offset:4px}}
.fmark{font-family:var(--gh-font-heading);font-size:26px;font-weight:650;margin:0 0 6px}
.fnote{color:var(--onfield-2);font-size:14px;line-height:1.55;margin:0;max-width:46ch}
footer.site .soc{display:flex;gap:4px;margin-top:6px}
footer.site .soc a{color:var(--onfield);display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.copy{padding:14px 0 26px;border-top:1px solid rgba(255,255,255,.18);margin-top:16px}

/* ad slots (shown on the ads board) */
.adslot{display:grid;place-items:center;gap:4px;background:rgba(18,35,58,.045);border:1px dashed var(--line);border-radius:4px;color:var(--muted);text-align:center;margin:26px 0}
.adslot .lab{font-size:13px;letter-spacing:.02em}
.adslot .dim{font-size:12px}
/* ===== content ===== */
/* ---------- Ghost content: Koenig cards, typography inside a letter ---------- */
.body{overflow-wrap:break-word}
.body > *:first-child{margin-top:0}
.body h3{font-family:var(--gh-font-heading);font-size:21px;line-height:1.3;font-weight:620;margin:1.5em 0 .4em;letter-spacing:-.008em}
.body h4,.body h5,.body h6{font-family:var(--gh-font-heading);font-size:19px;font-weight:620;margin:1.4em 0 .4em}
.body h1:not(:first-child){font-family:var(--gh-font-heading);font-size:27px;line-height:1.2;font-weight:620;margin:1.6em 0 .5em;letter-spacing:-.01em;max-width:none}
.body ul,.body ol{margin:0 0 1.1em;padding-left:1.35em}
.body li{margin:0 0 .45em}
.body li::marker{color:var(--muted)}
.body blockquote{margin:1.4em 0;padding:2px 0 2px 20px;border-left:2px solid var(--line);font-style:normal;color:var(--ink)}
.body blockquote p:last-child{margin-bottom:0}
.body hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.body strong{font-weight:620}
.body sup{line-height:0}
.body figure{margin:1.6em 0}
.body figcaption{font-family:var(--gh-font-body);font-size:14px;color:var(--muted);padding:8px 0 0;text-align:left}
.body img{border-radius:4px}
.body pre{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:16px;overflow:auto;font-size:15px;line-height:1.55;margin:0 0 1.2em}
.body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em;background:var(--bg);border:1px solid var(--line);border-radius:3px;padding:1px 5px}
.body pre code{background:none;border:0;padding:0;font-size:inherit}
.body table{width:100%;border-collapse:collapse;font-family:var(--gh-font-body);font-size:16px;margin:0 0 1.4em}
.body th,.body td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.body th{font-weight:600;border-bottom:2px solid var(--ink)}
.body td{font-variant-numeric:tabular-nums}
.tablewrap{overflow-x:auto;margin:0 0 1.4em;-webkit-overflow-scrolling:touch}
.tablewrap table{margin:0}

/* Koenig widths: the sheet's reading column is 630px inside 664px of padding */
.body .kg-width-wide{max-width:none;width:100%}
.body .kg-width-full{max-width:none;width:auto;margin-left:-20px;margin-right:-20px}
@media (min-width:900px){.body .kg-width-full{margin-left:-48px;margin-right:-48px}}
.body .kg-width-full img{border-radius:0;width:100%}
.kg-image{margin-left:auto;margin-right:auto}
.kg-embed-card,.kg-video-card,.kg-audio-card{margin:1.6em 0;max-width:none}
.kg-embed-card iframe{max-width:100%}

/* gallery card (a gscan requirement) */
.kg-gallery-container{display:flex;flex-direction:column;margin:1.6em 0}
.kg-gallery-row{display:flex;flex-direction:row;justify-content:center;gap:8px}
.kg-gallery-row:not(:first-of-type){margin-top:8px}
.kg-gallery-image img{display:block;margin:0;width:100%;height:100%;border-radius:4px}
.kg-gallery-card + .kg-image-card.kg-width-wide,.kg-image-card.kg-width-wide + .kg-gallery-card{margin-top:8px}

/* bookmark card (a gscan requirement) */
.kg-bookmark-card,.kg-bookmark-publisher{position:relative;width:100%;margin:1.6em 0}
.kg-bookmark-container{display:flex;min-height:148px;background:var(--sheet);border:1px solid var(--line);border-radius:4px;text-decoration:none;color:var(--ink);overflow:hidden}
@media (hover:hover) and (pointer:fine){.kg-bookmark-container:hover{border-color:var(--blue)}}
.kg-bookmark-content{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;flex-grow:1;padding:18px 20px;font-family:var(--gh-font-body)}
.kg-bookmark-title{font-weight:600;font-size:16px;line-height:1.4}
.kg-bookmark-description{display:-webkit-box;font-size:15px;line-height:1.5;color:var(--muted);margin-top:6px;max-height:44px;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.kg-bookmark-metadata{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:14px;font-size:14px;color:var(--muted)}
.kg-bookmark-icon{width:20px;height:20px;margin-right:2px;border-radius:2px}
.kg-bookmark-thumbnail{position:relative;flex-grow:1;min-width:33%}
.kg-bookmark-thumbnail img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.kg-bookmark-author:after{content:"•";margin:0 6px}
.kg-bookmark-publisher{overflow:hidden;max-width:240px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:640px){.kg-bookmark-container{flex-direction:column-reverse}.kg-bookmark-thumbnail{width:100%;min-height:160px}.kg-bookmark-thumbnail img{position:static;height:160px}}

/* callout, toggle, button, header, product, NFT and file cards */
.kg-callout-card{display:flex;gap:12px;padding:16px 18px;border-radius:4px;background:var(--sheet);border:1px solid var(--line);margin:1.5em 0;font-family:var(--gh-font-body);font-size:17px;line-height:1.55}
.kg-callout-card-blue{background:#E8EEFA;border-color:#C6D5EF}
.kg-callout-card-green{background:#E7F2EA;border-color:#C6DFCC}
.kg-callout-card-yellow{background:#F6F0DE;border-color:#E4D8B4}
.kg-callout-card-red{background:#F8E9E8;border-color:#EBC9C7}
.kg-callout-card-pink{background:#F7E9F1;border-color:#E9C9DC}
.kg-callout-card-purple{background:#EFEAF7;border-color:#D6C9EA}
.kg-callout-card-accent{background:var(--blue);color:var(--onblue);border-color:var(--blue)}
.kg-callout-card-accent a{color:var(--onblue)}
@media (prefers-color-scheme: dark){
 .kg-callout-card-blue,.kg-callout-card-green,.kg-callout-card-yellow,.kg-callout-card-red,.kg-callout-card-pink,.kg-callout-card-purple{background:var(--sheet);border-color:var(--line);color:var(--ink)}
}
.kg-callout-emoji{font-size:20px;line-height:1.4}
.kg-callout-text{min-width:0}
.kg-toggle-card{border:1px solid var(--line);border-radius:4px;padding:16px 18px;margin:1.5em 0;background:var(--sheet)}
.kg-toggle-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;cursor:pointer}
.kg-toggle-heading-text{font-family:var(--gh-font-heading);font-size:19px;font-weight:620;margin:0}
.kg-toggle-card-icon{width:20px;height:20px;flex:none;fill:none;stroke:var(--blue);stroke-width:2;transition:transform 200ms cubic-bezier(0.16,1,0.3,1)}
.kg-toggle-card[data-kg-toggle-state="close"] .kg-toggle-content{display:none}
.kg-toggle-card[data-kg-toggle-state="open"] .kg-toggle-card-icon{transform:rotate(180deg)}
.kg-toggle-content{margin-top:10px}
@media (prefers-reduced-motion: reduce){.kg-toggle-card-icon{transition:none}}
.kg-button-card{display:flex;margin:1.6em 0}
.kg-button-card.kg-align-center{justify-content:center}
.kg-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:6px;background:var(--blue);color:var(--onblue);text-decoration:none;font-family:var(--gh-font-body);font-weight:600;font-size:16px}
.kg-btn-accent{background:var(--blue);color:var(--onblue)}
.kg-header-card{padding:36px 20px;margin:1.8em 0;border-radius:4px;text-align:center;background:var(--sheet);border:1px solid var(--line)}
.kg-header-card h2.kg-header-card-header{font-family:var(--gh-font-heading);font-size:28px;line-height:1.2;margin:0 0 8px}
.kg-header-card h3.kg-header-card-subheader{font-family:var(--gh-font-body);font-size:17px;font-weight:400;color:var(--muted);margin:0}
.kg-header-card.kg-style-dark{background:var(--ink);color:#fff}
.kg-header-card.kg-style-dark h3{color:rgba(255,255,255,.8)}
.kg-header-card.kg-style-accent{background:var(--blue);color:var(--onblue)}
.kg-header-card.kg-style-accent h3{color:var(--onfield-2)}
.kg-file-card{margin:1.5em 0}
.kg-file-card-container{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:4px;padding:14px 16px;background:var(--sheet);text-decoration:none;color:var(--ink)}
.kg-file-card-title{font-weight:600}
.kg-file-card-caption{color:var(--muted);font-size:15px}
.kg-file-card-filename,.kg-file-card-filesize{color:var(--muted);font-size:14px}
.kg-product-card-container{border:1px solid var(--line);border-radius:4px;padding:18px;background:var(--sheet);margin:1.5em 0}
.kg-nft-card{margin:1.5em 0}

/* signup and subscribe cards inside posts (69 posts use them) */
.kg-signup-card{margin:1.8em 0;border-radius:4px;background:var(--sheet);border:1px solid var(--line);padding:24px}
.kg-signup-card-heading{font-family:var(--gh-font-heading);font-size:24px;margin:0 0 6px}
.kg-signup-card-subheading{color:var(--muted);margin:0 0 14px}
.kg-signup-card-form{display:flex;gap:10px;flex-wrap:wrap}
.kg-signup-card-input{flex:1 1 14rem;min-height:48px;border-radius:6px;border:1px solid var(--muted);background:var(--sheet);color:var(--ink);font:inherit;font-size:16px;padding:0 14px}
.kg-signup-card-button{min-height:48px;border:0;border-radius:6px;background:var(--blue);color:var(--onblue);font:inherit;font-weight:600;padding:0 18px;cursor:pointer}
.kg-signup-card-success,.kg-signup-card-error{font-size:15px;margin-top:10px}
.kg-signup-card-error{color:var(--red)}

/* audio and video players Ghost injects */
.kg-video-card video,.kg-audio-card audio{width:100%}
/* ===== theme ===== */
/* ---------- theme-only additions (not in the prototypes) ---------- */
.skip{position:absolute;left:-9999px;top:0;z-index:40;background:var(--sheet);color:var(--blue);padding:12px 18px;border-radius:0 0 4px 0;font-family:var(--gh-font-body);font-weight:600}
.skip:focus{left:0}

.field.short{background:var(--field)}
.arch.plain h1,.arch.plain .kind{color:var(--ink)}

/* members form states, driven by the classes Ghost sets on the form */
.subform .msg{font-size:15px;margin:10px 0 0;display:none}
.subform.success .msg.success{display:block;color:var(--ink)}
.subform.error .msg.error{display:block;color:var(--red)}
.subform.loading button{opacity:.7;pointer-events:none}
.searchform input[readonly]{cursor:pointer}
.cn{font-variant-numeric:tabular-nums;color:var(--muted);margin-left:2px}

/* advertising slots: height is reserved before anything loads */
.adslot{min-height:280px;padding:10px 0}
.adslot .lab{font-family:var(--gh-font-body);font-size:13px;letter-spacing:.02em}
.adslot ins{display:block;width:100%;min-height:250px}

/* Ghost's comments frame */
.comments iframe{width:100%!important;border:0}

/* the letter sheet holds the page templates too */
.post.page .sheet{padding-top:30px}

@media print{
  .field,footer.site,.menu,.routebar,.rail,.adslot,.share,.envelope,.prevnext,.comments,.skip{display:none!important}
  .sheet{box-shadow:none;border:0}
  body{background:#fff;color:#000}
  .body{max-width:none;font-size:11pt}
}

/* rendering fixes found against a real Ghost install */
[hidden]{display:none!important}
.aero h1 a,.rows .t a{color:inherit;text-decoration:none}
@media (hover:hover) and (pointer:fine){.aero h1 a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}}
.from .k{color:var(--muted)}
.from a{text-decoration:none}
.from strong a{color:var(--ink)}
@media (hover:hover) and (pointer:fine){.from strong a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:3px}}
.meta a{color:var(--blue);text-decoration:none}
@media (hover:hover) and (pointer:fine){.meta a:hover{text-decoration:underline;text-underline-offset:3px}}
.navlinks li{display:inline-flex}
/* the letter keeps its column even when the contents rail is absent */
@media (min-width:1200px){.postgrid>.post{grid-column:2}}

/* fixed line boxes everywhere, so swapping in the web fonts cannot move the page */
body{line-height:1.5}
.mark{line-height:1.05}
.tagline{line-height:1.4}
.meta,.meta2,.addr,.fnote,.pnum,.kind,.lab{line-height:1.45}

/* embeds keep their shape (P-13) */
.kg-embed-card iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:4px}
.kg-embed-card iframe[src*="twitter"],.kg-embed-card iframe[src*="platform.twitter"],.kg-embed-card iframe[src*="instagram"]{aspect-ratio:auto}

/* image lightbox (P-12) */
.lightbox{position:fixed;inset:0;z-index:60;background:rgba(9,18,32,.92);display:grid;place-items:center;padding:24px}
.lightbox img{max-width:min(1400px,100%);max-height:92vh;width:auto;border-radius:4px;cursor:zoom-out}
.lightbox-close{position:absolute;top:12px;right:12px;min-width:48px;min-height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:grid;place-items:center;cursor:pointer}
@media (hover:hover) and (pointer:fine){.lightbox-close:hover{background:rgba(255,255,255,.24)}}
.lightbox-close:focus-visible{outline:2px solid #fff;outline-offset:2px}
.gh-content img[role="button"]:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

/* ---------- second review pass ---------- */
/* the primary action's focus ring is visible on the sheet */
.btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px;box-shadow:0 0 0 3px var(--sheet)}
.field .btn:focus-visible,.btn-onfield:focus-visible{outline-color:var(--onfield);box-shadow:0 0 0 3px var(--field)}

/* "From" line: the 44px target belongs to the social link, not the author's name */
.from a{display:inline;min-width:0;margin:0}
.from a.soclink,.who a.soclink{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-12px 0 -12px 2px;vertical-align:middle}
.post .from a{margin:0}
.post .from a.soclink{margin:-12px 0 -12px 2px}

/* a letter title is pressable at rest, not only under a pointer */
.rows .t,.reg .t,.prevnext .t{text-decoration:underline;text-decoration-color:rgba(28,68,148,.3);text-decoration-thickness:1px;text-underline-offset:3px}
@media (prefers-color-scheme:dark){.rows .t,.reg .t,.prevnext .t{text-decoration-color:rgba(157,187,255,.34)}}
@media (hover:hover) and (pointer:fine){.rows a:hover .t,.reg li a:hover .t,.prevnext a:hover .t{text-decoration-color:currentColor}}
.rows .t{max-width:46ch}
.rows .x{max-width:52ch}

/* headings inside a letter step up clearly */
.body h3{font-size:23px;margin-top:1.7em}
.body h4,.body h5,.body h6{font-size:20px}

/* the letter stays centred when the contents rail is absent */
@media (min-width:1200px){.postgrid{grid-template-columns:14rem minmax(0,760px) 14rem}.postgrid>.post{grid-column:2}}

/* quoted material keeps its own direction; pasted table colours do not survive into dark */
.body p,.body blockquote,.body li,.body td,.body th,.body figcaption{unicode-bidi:plaintext}
.body [dir="rtl"],.body p:lang(ar),.body blockquote:lang(ar){line-height:2}
.gh-content table[style],.gh-content td[style],.gh-content th[style],.gh-content tr[style],.gh-content table font{background:transparent!important;color:var(--ink)!important;border-color:var(--line)!important;font-family:var(--gh-font-body)!important}
@media (prefers-color-scheme:dark){.gh-content table *{background-color:transparent!important;color:var(--ink)!important}}

/* header cards keep their contrast in both schemes */
@media (prefers-color-scheme:dark){
  .kg-header-card.kg-style-dark{background:var(--sheet);color:var(--ink)}
  .kg-header-card.kg-style-dark h3{color:var(--muted)}
  .kg-header-card.kg-style-accent{background:var(--blue);color:var(--onblue)}
  .kg-header-card.kg-style-accent h3{color:var(--onblue)}
}

/* the postmark's lettering is set from CSS, not from a presentation attribute */
.pm text,.pm textPath{font-family:var(--gh-font-body)}

/* the search control in the menu sheet */
.searchbtn{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 12px;border:1px solid var(--muted);border-radius:6px;background:var(--sheet);color:var(--muted);font:inherit;font-size:16px;cursor:pointer;text-align:left}
@media (hover:hover) and (pointer:fine){.searchbtn:hover{border-color:var(--blue);color:var(--blue)}}

/* avatars do not leave a gap when a writer has no picture */
.sign{grid-template-columns:auto minmax(0,1fr)}
.people li{grid-template-columns:auto minmax(0,1fr)}

/* the feature image sits in a fixed band: no reflow when it loads, no portrait image eating the opening screen */
.fig img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto}

/* phone: air between the header and the letter, and press feedback on every tappable */
@media (max-width:899px){header{padding-bottom:16px}}
.rows a:active,.reg li a:active,.topics a:active,.mlist a:active,.route a:active,footer.site li a:active,.prevnext a:active{opacity:.72}
.menu-in{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:max(32px,env(safe-area-inset-bottom))}
.lightbox img{max-height:92dvh}
/* the 404 and error sheets sit under the field, not inside it */
.rts{padding-top:34px}

/* navigation without JavaScript */
.nav-noscript{border-top:1px solid rgba(255,255,255,.24);margin-top:12px;padding-top:4px}
.nav-noscript .navlinks{gap:14px}
.nav-noscript a{color:var(--onfield);font-size:15px}
/* the letter column and its contents rail need a little more room than the rest of the site */
.wrap.wide{max-width:1320px}
@media (min-width:1200px){.postgrid{grid-template-columns:14rem minmax(0,760px) 14rem;gap:0 40px;justify-content:center}}

/* verdict-pass fixes */
/* the band sits on the edge of the error sheet, as it does on every other sheet */
.rts .sheet>.band{margin:-28px -20px 24px;border-radius:4px 4px 0 0;overflow:hidden}
@media (min-width:900px){.rts .sheet>.band{margin:-40px -48px 30px}}
/* a row's rule ends where its text does */
.rows a,.rows>li{max-width:46rem}
/* the feature image keeps its whole picture inside the band */
.fig img{object-fit:contain;background:var(--bg)}
