@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;0,6..72,700;1,6..72,400;1,6..72,500&family=Source+Serif+4:ital,opsz,wght@0,8..60,400;0,8..60,500;0,8..60,600;1,8..60,400&display=swap');

:root{
  --paper:#F6F2E9; --ink:#141414; --ink2:#56524A; --ox:#6A2424; --ox-soft:#C9A9A0;
  --hair:#E2DAC9; --hair2:#D6CCB8; --img:#E6DFD0; --img2:#DCD2BE; --lead-bg:#26211C;
  --read:#23211d; --field:#FCFAF4; --card:#F8F4EB; --section:52px; --ox-mute:#8B5A4E; --maxw:1200px; --rail-w:320px;
}

*{box-sizing:border-box;}
html,body{margin:0;}
body{
  background:var(--paper); color:var(--ink);
  font-family:'Source Serif 4',Georgia,serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
body a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:'Newsreader',Georgia,serif;font-weight:700;margin:0;}
.keyline{height:3px;background:var(--ox);}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}

/* logo: viewBox on the outer svg fixes the width so the mark sits flush left */
.logo{height:30px;width:auto;color:var(--ink);display:block;}

/* unified label system: one uppercase serif label, two roles via modifiers */
.kick,.lbl,.shead h2,.foot h5{
  font-family:'Newsreader',serif;font-weight:600;text-transform:uppercase;
  font-feature-settings:"liga" 0;
}
.kick{font-size:12px;letter-spacing:.15em;color:var(--ox);display:block;margin-bottom:8px;line-height:1;}
.lbl{font-size:12px;letter-spacing:.15em;color:var(--ox);line-height:1;}
.meta{font-size:13px;color:var(--ink2);font-variant-numeric:oldstyle-nums;}
.meta .d{color:var(--hair2);padding:0 7px;}
.menu{display:none;width:24px;height:16px;flex-direction:column;justify-content:space-between;cursor:pointer;}
.menu span{display:block;height:1.5px;background:var(--ink);}

/* utility strip */
.util{border-bottom:1px solid var(--hair);}
.util .wrap{display:flex;align-items:center;justify-content:space-between;height:40px;font-size:11.5px;letter-spacing:.02em;color:var(--ink2);}
.util .tag{text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;font-family:'Newsreader',serif;font-weight:600;}
.util .mid{font-style:italic;font-size:12.5px;}
.util .ru{display:flex;align-items:center;}
.util .ru a,.util .ru button{margin-left:20px;}
.util .ru button{background:none;border:0;padding:0;font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer;}
.util .ru a:last-child{color:var(--ox);font-weight:600;}

/* masthead */
.mast .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding-top:22px;padding-bottom:18px;}
.mast .m-left{justify-self:start;}
.mast .m-logo{justify-self:center;line-height:0;}
.mast .m-right{justify-self:end;}
.mast .logo{height:46px;}
.mast .left{display:flex;align-items:center;gap:16px;}

/* primary nav */
.nav{border-top:1px solid var(--ink);border-bottom:1px solid var(--hair);}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:48px;}
.nav .main{display:flex;align-items:center;}
.nav .main a{font-family:'Newsreader',serif;font-weight:600;font-size:16px;margin-right:24px;letter-spacing:.005em;}
.nav .main a.on{color:var(--ox);}
.nav .topics{display:flex;align-items:center;}
.nav .topics .lbl{font-size:11px;color:var(--ink2);margin-right:14px;padding-right:14px;border-right:1px solid var(--hair2);}
.nav .topics a{font-family:'Newsreader',serif;font-weight:600;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink2);margin-left:16px;}
.nav .topics a:first-of-type{margin-left:0;}

/* shared section heading */
.shead{display:flex;align-items:baseline;gap:16px;margin:0 0 20px;}
.shead h2{font-size:14px;letter-spacing:.16em;color:var(--ink);line-height:1;}
.shead .rule{flex:1;height:1px;background:var(--hair2);transform:translateY(-3px);}
.shead a.all{font-size:12px;color:var(--ox);letter-spacing:.05em;white-space:nowrap;}

/* card row, reused across templates */
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
/* when a section has only one or two posts, center the cards at a capped
   width instead of leaving empty grid tracks; self-heals at three or more */
.cards3:has(.card:first-child:nth-last-child(1)){grid-template-columns:minmax(0,420px);justify-content:center;}
.cards3:has(.card:first-child:nth-last-child(2)){grid-template-columns:repeat(2,minmax(0,420px));justify-content:center;}
.card .img{background:var(--img);aspect-ratio:16/9.5;border-radius:3px;border:1px solid var(--hair);}
.card h3{font-size:21px;line-height:1.13;letter-spacing:-.012em;margin:14px 0 9px;font-family:'Newsreader',serif;font-weight:700;}
.card p{font-size:14px;line-height:1.5;color:var(--ink2);margin:0 0 11px;}
.card .meta .kick{display:inline;margin:0;}

/* right rail, reused across templates */
.rail{align-self:start;display:flex;flex-direction:column;gap:30px;}
.railmod .lbl{display:block;padding-bottom:10px;border-bottom:1.5px solid var(--ink);margin-bottom:14px;}

/* most read list */
.mostread{counter-reset:m;list-style:none;margin:0;padding:0;}
.mostread li{counter-increment:m;position:relative;padding:13px 0 13px 34px;border-bottom:1px solid var(--hair);}
.mostread li:last-child{border-bottom:0;}
.mostread li::before{content:counter(m);position:absolute;left:0;top:13px;font-family:'Newsreader',serif;font-weight:600;font-size:19px;color:var(--ox-mute);line-height:1;}
.mostread h4{font-size:15px;line-height:1.2;font-weight:600;margin:0 0 5px;}

/* topic list */
.topiclist{list-style:none;margin:0;padding:0;}
.topiclist li{border-bottom:1px solid var(--hair);}
.topiclist li:last-child{border-bottom:0;}
.topiclist a{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;font-family:'Newsreader',serif;font-weight:600;font-size:15.5px;}
.topiclist .ct{color:var(--ink2);font-weight:400;font-size:12.5px;font-variant-numeric:oldstyle-nums;}

/* pagination */
.pager{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:28px 32px 4px;border-top:1px solid var(--hair2);}
.pager .pp{font-family:'Newsreader',serif;font-weight:600;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);}
.pager .pbtns a{font-family:'Newsreader',serif;font-weight:600;font-size:13.5px;padding:10px 20px;border:1px solid var(--hair2);border-radius:5px;margin-left:10px;color:var(--ink);}
.pager .pbtns a.off{color:var(--hair2);border-color:var(--hair);}

/* newsletter strip */
.news{background:var(--ink);color:var(--paper);}
.news .wrap{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:38px 32px;}
.news .lbl{color:var(--ox-soft);}
.news h2{font-family:'Newsreader',serif;font-size:27px;font-weight:500;letter-spacing:-.012em;color:var(--paper);margin:10px 0 8px;line-height:1.1;}
.news p{margin:0;font-size:14px;color:#cdc5b6;max-width:46ch;line-height:1.5;}
.news .form{display:flex;gap:8px;flex:none;}
.news input{background:transparent;border:1px solid #6a655c;color:var(--paper);padding:12px 14px;border-radius:5px;font-family:'Source Serif 4',serif;font-size:14px;width:240px;}
.news input::placeholder{color:#9a948a;}
.news button{background:var(--ox);color:var(--paper);border:0;padding:12px 22px;border-radius:5px;font-family:'Newsreader',serif;font-weight:600;font-size:14px;cursor:pointer;}

/* footer */
.foot{background:#EFE9DC;}
.foot .wrap{padding:42px 32px 30px;}
.foot .top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--hair2);}
.foot .brand .logo{height:28px;color:var(--ink);}
.foot .mish{font-size:13.5px;color:var(--ink2);line-height:1.55;margin:14px 0 0;max-width:34ch;}
.foot h5{font-size:11px;letter-spacing:.14em;color:var(--ink2);margin:2px 0 14px;}
.foot ul{list-style:none;margin:0;padding:0;}
.foot li{font-size:14px;margin-bottom:10px;line-height:1.2;}
.foot li:last-child{margin-bottom:0;}
.foot .fine{display:flex;justify-content:space-between;padding-top:20px;font-size:12px;color:var(--ink2);letter-spacing:.01em;}

@media (max-width:940px){
  .cards3{grid-template-columns:1fr 1fr;}
  .rail{flex-direction:row;flex-wrap:wrap;gap:30px 40px;}
  .rail>*{flex:1 1 240px;}
  .news .wrap{flex-direction:column;align-items:flex-start;gap:22px;}
  .foot .top{grid-template-columns:1fr 1fr;}
  .foot .brand{grid-column:1 / -1;}
  .nav .topics{display:none;}
  .menu{display:flex;}
}
@media (max-width:560px){
  .wrap{padding:0 20px;}
  .util .tag,.util .mid{display:none;}
  .util .wrap{justify-content:flex-end;height:38px;}
  .nav .main{display:none;}
  .nav .wrap{height:44px;}
  .mast .logo{height:38px;}
  .rail{flex-direction:column;}
  .cards3{grid-template-columns:1fr;gap:26px;}
  .foot .top{grid-template-columns:1fr;gap:24px;}
  .foot .brand{grid-column:auto;}
  .news .input,.news input{width:100%;}
  .news .form{width:100%;}
  .news h2{font-size:23px;}
}

.news-form .news-success{display:none;}
.news-form.success .news-success{display:block;color:var(--ox-soft);font-size:13px;margin-top:8px;}
.news-form .news-error{display:none;}
.news-form.error .news-error{display:block;color:#E2B4A8;font-size:13px;margin-top:8px;}

/* Ghost editor image widths (wide and full breakout); refined per template in Plan 2 */
.post-content .kg-width-wide{width:100%;max-width:var(--maxw);}
.post-content .kg-width-full{width:100%;}
.pager .pbtns-off{font-family:'Newsreader',serif;font-weight:600;font-size:13.5px;padding:10px 20px;border:1px solid var(--hair);border-radius:5px;margin-left:10px;color:var(--hair2);}

/* archive header (section, topic, author listings) */
.archive{max-width:var(--maxw);margin:0 auto;padding:44px 32px 28px;border-bottom:1px solid var(--hair2);}
.archive .akick{font-family:'Newsreader',serif;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ox);margin-bottom:14px;}
.archive h1{font-size:52px;line-height:1.02;letter-spacing:-.024em;margin:0 0 16px;}
.archive .desc{font-size:19px;line-height:1.5;color:var(--ink2);max-width:62ch;margin:0 0 18px;}
.archive .ameta{font-family:'Newsreader',serif;font-weight:600;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);}

/* author header variant */
.archive.author .ahead{display:flex;gap:22px;align-items:flex-start;}
.archive.author .av{width:78px;height:78px;border-radius:50%;background:var(--img2);border:1px solid var(--hair);flex:none;overflow:hidden;}
.archive.author h1{font-size:40px;margin:6px 0 6px;}
.archive.author .role{font-family:'Newsreader',serif;font-weight:600;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ox);margin-bottom:12px;}

/* listing body: main column + rail */
.listwrap{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);gap:48px;padding:34px 32px 6px;}
.lead-item{padding-bottom:30px;margin-bottom:6px;border-bottom:1px solid var(--hair2);}
.lead-item .img{aspect-ratio:16/7.4;background:var(--lead-bg);border-radius:3px;margin-bottom:18px;}
.lead-item h2{font-size:33px;line-height:1.08;letter-spacing:-.018em;margin:10px 0 12px;}
.lead-item .standfirst{font-size:17px;line-height:1.52;color:var(--ink2);margin:0 0 13px;max-width:60ch;}
.row{display:grid;grid-template-columns:212px minmax(0,1fr);gap:26px;padding:26px 0;border-bottom:1px solid var(--hair);align-items:start;}
.row .thumb{aspect-ratio:4/3;background:var(--img);border:1px solid var(--hair);border-radius:3px;}
.row h3{font-size:22px;line-height:1.15;letter-spacing:-.014em;margin:8px 0 9px;}
.row .standfirst{font-size:14.5px;line-height:1.5;color:var(--ink2);margin:0 0 11px;}

/* feature images fill their placeholder boxes across all templates */
.card .img img,.lead-item .img img,.row .thumb img,.feat .img img,.sec-item .th img,.leadfig .img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit;}

/* listing responsive */
@media (max-width:940px){
  .listwrap{grid-template-columns:minmax(0,1fr);gap:40px;max-width:720px;}
  .archive h1{font-size:42px;}
  .row{grid-template-columns:160px minmax(0,1fr);gap:20px;}
}
@media (max-width:560px){
  .archive{padding:30px 20px 24px;}
  .archive h1{font-size:33px;}
  .archive .desc{font-size:16.5px;}
  .listwrap{padding:26px 20px 4px;gap:34px;}
  .lead-item h2{font-size:25px;}
  .row{grid-template-columns:104px minmax(0,1fr);gap:15px;padding:20px 0;}
  .row h3{font-size:18px;margin:2px 0 6px;}
  .row .standfirst{display:none;}
  .pager{padding:22px 20px 4px;}
  .pager .pbtns a{padding:9px 14px;}
}
.archive.author .av img{width:100%;height:100%;object-fit:cover;border-radius:50%;}

/* article hero */
.ahero{max-width:var(--maxw);margin:0 auto;padding:46px 32px 26px;}
.crumb{font-family:'Newsreader',serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin-bottom:20px;}
.crumb a{color:var(--ox);}
.ahero h1{font-size:47px;line-height:1.06;letter-spacing:-.022em;margin:13px 0 18px;max-width:20ch;}
.ahero .standfirst{font-size:20px;line-height:1.5;color:var(--ink2);max-width:54ch;margin:0 0 24px;}
.byline{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--ink2);font-variant-numeric:oldstyle-nums;flex-wrap:wrap;}
.byline .av{width:36px;height:36px;border-radius:50%;background:var(--img2);border:1px solid var(--hair);overflow:hidden;}
.byline .av img{width:100%;height:100%;object-fit:cover;}
.byline b{font-family:'Newsreader',serif;font-weight:600;color:var(--ink);}
.byline .d{color:var(--hair2);padding:0 4px;}
.byline .share{margin-left:auto;display:flex;align-items:center;padding:6px;color:var(--ink2);flex:none;transition:color .15s;}
.byline .share:hover{color:var(--ox);}
.byline .av,.authorbio .av,.archive.author .av,.person .av{display:flex;align-items:center;justify-content:center;overflow:hidden;}
.av .mono{display:block;width:100%;text-align:center;font-family:'Newsreader',serif;font-weight:600;color:var(--ink2);text-transform:uppercase;font-size:0;line-height:0;}
.av .mono::first-letter{line-height:1;}
.byline .av .mono::first-letter{font-size:16px;}
.authorbio .av .mono::first-letter{font-size:24px;}
.archive.author .av .mono::first-letter{font-size:32px;}
.person .av .mono::first-letter{font-size:26px;}

/* lead figure */
.leadfig{max-width:var(--maxw);margin:6px auto 0;padding:0 32px;}
.leadfig .img{aspect-ratio:16/7;background:var(--lead-bg);border-radius:3px;}
.leadfig figcaption{font-size:12px;color:var(--ink2);font-style:italic;margin-top:10px;display:flex;justify-content:space-between;gap:20px;}

/* article layout: reading column + rail */
.alayout{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);gap:48px;padding:42px 32px 10px;}

/* article rail: more on this topic */
.rrel a{display:block;padding:13px 0;border-bottom:1px solid var(--hair);}
.rrel a:first-of-type{padding-top:0;}
.rrel a:last-child{border-bottom:0;padding-bottom:0;}
.rrel h4{font-size:16px;line-height:1.18;letter-spacing:-.01em;margin:0 0 6px;font-weight:600;}
.rrel .meta{font-size:11px;letter-spacing:.02em;}
.rrel .meta .kick{display:inline;margin:0;font-size:10px;letter-spacing:.13em;}

/* inline key takeaways callout */
.takeaways{background:#EFE9DC;border:1px solid var(--hair2);border-left:3px solid var(--ox);border-radius:3px;padding:20px 22px;margin:0 0 30px;}
.takeaways .lbl{display:block;margin-bottom:13px;}
.takeaways ul{margin:0;padding:0;list-style:none;}
.takeaways li{position:relative;padding-left:19px;font-size:14.5px;line-height:1.48;color:var(--read);margin-bottom:11px;}
.takeaways li:last-child{margin-bottom:0;}
.takeaways li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;background:var(--ox);border-radius:50%;}

/* inline sources */
.refs{margin:40px 0 0;padding-top:22px;border-top:2px solid var(--ink);}
.refs .lbl{display:block;margin-bottom:14px;}
.refs ol{margin:0;padding:0;list-style:none;counter-reset:s;}
.refs li{position:relative;padding-left:26px;font-size:14px;line-height:1.55;color:var(--ink2);margin-bottom:12px;}
.refs li:last-child{margin-bottom:0;}
.refs li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:1px;font-family:'Newsreader',serif;font-weight:600;color:var(--ox);font-size:13px;}
.refs a{color:var(--ox);text-decoration:underline;text-decoration-color:var(--ox-soft);text-underline-offset:2px;}

/* reading column typography */
.body{max-width:712px;font-size:18px;line-height:1.72;color:var(--read);}
.body p{margin:0 0 22px;}
.body h2{font-size:27px;line-height:1.22;letter-spacing:-.012em;margin:40px 0 14px;}
.body h3{font-size:21px;line-height:1.28;letter-spacing:-.01em;margin:32px 0 10px;}
.body h4{font-size:17px;line-height:1.3;letter-spacing:-.005em;margin:26px 0 8px;}
.cite{font-size:.62em;vertical-align:super;line-height:0;}
.cite a{color:var(--ox);font-weight:600;}

/* author bio */
.authorbio{display:flex;gap:18px;margin:40px 0 0;padding-top:26px;border-top:1px solid var(--hair2);align-items:flex-start;max-width:680px;}
.authorbio .av{width:56px;height:56px;border-radius:50%;background:var(--img2);border:1px solid var(--hair);flex:none;overflow:hidden;}
.authorbio .av img{width:100%;height:100%;object-fit:cover;}
.authorbio h4{font-size:17px;margin:2px 0 4px;}
.authorbio .role{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ox);font-family:'Newsreader',serif;font-weight:600;margin-bottom:8px;}
.authorbio p{margin:0;font-size:14px;line-height:1.55;color:var(--ink2);}

/* section band: canonical vertical rhythm, used by home, article, about, subscribe */
.module{padding:var(--section) 0;border-bottom:1px solid var(--hair2);}

/* Ghost editor content mapped to article body styles */
.post-content > p:first-child::first-letter{float:left;font-family:'Newsreader',serif;font-weight:600;font-size:66px;line-height:.8;padding:7px 10px 0 0;color:var(--ox);}
.post-content blockquote{margin:34px 0;padding:18px 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--hair);font-family:'Newsreader',serif;font-style:italic;font-size:25px;line-height:1.32;color:var(--ink);}
.post-content figure{margin:28px 0;}
.post-content figure img{width:100%;height:auto;border:1px solid var(--hair);border-radius:3px;}
.post-content figcaption{font-size:12px;color:var(--ink2);font-style:italic;margin-top:9px;text-align:left;}
.post-content table{width:100%;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums lining-nums;margin:28px 0;display:block;overflow-x:auto;}
.post-content th,.post-content td{text-align:left;padding:10px 12px;}
.post-content thead th{border-bottom:2px solid var(--ink);font-family:'Newsreader',serif;font-weight:600;}
.post-content tbody tr{border-bottom:1px solid var(--hair);}

/* article responsive */
@media (max-width:940px){
  .alayout{grid-template-columns:minmax(0,1fr);gap:40px;max-width:720px;}
  .body{max-width:none;}
}
@media (max-width:560px){
  .ahero{padding:30px 20px 22px;}
  .ahero h1{font-size:31px;max-width:none;}
  .ahero .standfirst{font-size:17px;}
  .leadfig{padding:0 20px;}
  .alayout{padding:30px 20px 6px;gap:34px;}
  .body{font-size:17px;}
  .post-content > p:first-child::first-letter{font-size:54px;}
  .body h2{font-size:23px;}
  .body h3{font-size:19px;}
  .post-content blockquote{font-size:21px;}
}

/* homepage lead block */
.lead{padding:40px 0 var(--section);border-bottom:1px solid var(--hair2);}
.lead .grid{display:grid;grid-template-columns:1.5fr 1fr;column-gap:44px;}
.lead .feat{display:block;padding-right:40px;border-right:1px solid var(--hair);}
.lead .img{background:var(--lead-bg);aspect-ratio:16/8.6;border-radius:3px;overflow:hidden;position:relative;}
.lead .img .ic{position:absolute;left:18px;right:18px;bottom:18px;font-style:italic;font-size:12px;color:#efe6d7;opacity:.8;letter-spacing:.01em;}
.lead .feat>.kick{margin-top:12px;}
.lead .leadrule{display:block;width:46px;height:3px;background:var(--ox);border-radius:2px;margin-top:22px;}
.lead h1{font-size:49px;line-height:1.04;letter-spacing:-.02em;margin:12px 0 16px;}
.lead .dek{font-size:18px;line-height:1.5;color:var(--ink2);margin:0 0 18px;max-width:52ch;}
.lead .meta .who{color:var(--ox);}
.lead .aside{padding-left:0;}
.lead .aside .lbl{display:block;padding-bottom:11px;margin-bottom:4px;border-bottom:1.5px solid var(--ink);}
.sec-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--hair);}
.sec-item:last-child{border-bottom:0;padding-bottom:0;}
.sec-item .th{width:62px;height:62px;flex:none;background:var(--img);border:1px solid var(--hair);border-radius:2px;overflow:hidden;}
.sec-item h3{font-size:16.5px;line-height:1.2;letter-spacing:-.005em;margin:5px 0 6px;}
.sec-item .meta{font-size:11.5px;}

.tagcloud{margin-top:20px;padding-top:18px;border-top:1px solid var(--hair);}
.tagcloud a{display:inline-block;border:1px solid var(--hair2);border-radius:999px;padding:5px 13px;font-size:12px;color:var(--ink2);margin:0 7px 9px 0;transition:border-color .15s,color .15s;}
.topicband .tagcloud{margin-top:0;padding-top:0;border-top:0;}

/* homepage policy desk band */
.band2{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.wide{display:flex;gap:20px;}
.wide .img{background:var(--img2);width:148px;height:104px;flex:none;border-radius:3px;border:1px solid var(--hair);overflow:hidden;}
.wide .img img{width:100%;height:100%;object-fit:cover;display:block;}
.wide h3{font-size:20px;line-height:1.15;letter-spacing:-.012em;margin:0 0 8px;}
.wide p{margin:0;font-size:13.5px;color:var(--ink2);line-height:1.5;}

/* homepage responsive */
@media (max-width:940px){
  .lead .grid{grid-template-columns:1fr;}
  .lead .feat{padding-right:0;border-right:0;}
  .lead .aside{margin-top:30px;padding-top:24px;border-top:1px solid var(--hair2);}
  .band2{grid-template-columns:1fr;gap:24px;}
}
@media (max-width:560px){
  :root{--section:34px;}
  .lead{padding:30px 0 var(--section);}
  .lead h1{font-size:30px;letter-spacing:-.018em;}
  .lead .dek{font-size:16px;}
  .wide .img{width:104px;height:78px;}
}

/* legal page */
.lhero{max-width:var(--maxw);margin:0 auto;padding:50px 32px 26px;border-bottom:1px solid var(--hair2);}
.lhero .akick{font-family:'Newsreader',serif;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ox);margin-bottom:16px;}
.lhero h1{font-size:42px;line-height:1.04;letter-spacing:-.02em;margin:0;}
.lhero .updated{font-size:13px;color:var(--ink2);font-style:italic;margin-top:16px;}
.lfeature{display:block;width:100%;max-width:var(--maxw);margin:18px auto 0;padding:0 32px;border-radius:3px;}
.legal{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:56px;padding:40px 32px 12px;}
.ltext{max-width:720px;font-size:16.5px;line-height:1.72;color:var(--read);}
.ltext h2{font-size:21px;line-height:1.25;letter-spacing:-.01em;margin:32px 0 12px;}
.ltext h2:first-child{margin-top:0;}
.ltext p{margin:0 0 18px;}
.ltext ul{margin:0 0 18px;padding-left:20px;}
.ltext li{margin-bottom:8px;line-height:1.6;}
.ltext a{color:var(--ox);text-decoration:underline;text-decoration-color:var(--ox-soft);text-underline-offset:2px;}
.lrail{align-self:start;}
.lrail .lbl{display:block;padding-bottom:10px;border-bottom:1.5px solid var(--ink);margin-bottom:6px;}
.lrail .docs{list-style:none;margin:0 0 26px;padding:0;}
.lrail .docs li{border-bottom:1px solid var(--hair);}
.lrail .docs a{display:block;padding:11px 0;font-family:'Newsreader',serif;font-weight:600;font-size:15px;}
.lrail .docs a.on{color:var(--ox);}
.lrail .contact{font-size:13.5px;line-height:1.5;color:var(--ink2);}
.lrail .contact a{color:var(--ox);text-decoration:underline;text-decoration-color:var(--ox-soft);text-underline-offset:2px;}

/* legal responsive */
@media (max-width:940px){
  .legal{grid-template-columns:minmax(0,1fr);gap:36px;max-width:720px;}
  .ltext{max-width:none;}
}
@media (max-width:560px){
  .lhero{padding:32px 20px 22px;}
  .lhero h1{font-size:31px;}
  .legal{padding:28px 20px 8px;}
}

/* about: page hero */
.pagehero{max-width:var(--maxw);margin:0 auto;padding:54px 32px 32px;}
.pagehero .akick{font-family:'Newsreader',serif;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ox);margin-bottom:18px;}
.pagehero h1{font-size:46px;line-height:1.1;letter-spacing:-.02em;max-width:24ch;margin:0 0 22px;}
.pagehero .standfirst{font-size:20px;line-height:1.5;color:var(--ink2);max-width:62ch;}

/* about/subscribe: section wrapper and its module dividers */
.section{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.section .module{padding:48px 0;border-top:1px solid var(--hair2);border-bottom:0;}
.pagehero + .section .module:first-child{border-top:0;}
.section .shead{margin:0 0 28px;}

/* about: what we are */
.twocol{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);gap:56px;}
.prose{max-width:692px;font-size:18px;line-height:1.7;color:var(--read);}
.prose p{margin:0 0 20px;}
.prose p:last-child{margin-bottom:0;}
.facts{align-self:start;}
.facts dl{margin:0;border-top:2px solid var(--ink);}
.facts .frow{padding:13px 0;border-bottom:1px solid var(--hair);}
.facts dt{font-family:'Newsreader',serif;font-weight:600;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ox);margin-bottom:5px;}
.facts dd{margin:0;font-size:14.5px;line-height:1.42;color:var(--read);}
.facts dd a{color:var(--ox);text-decoration:underline;text-decoration-color:var(--ox-soft);text-underline-offset:2px;}

/* about: how we work */
.principles{display:grid;grid-template-columns:1fr 1fr;gap:32px 46px;}
.principle .pn{font-family:'Newsreader',serif;font-weight:600;font-size:13px;color:var(--ox);letter-spacing:.08em;margin-bottom:9px;}
.principle h3{font-size:21px;line-height:1.2;letter-spacing:-.01em;margin:0 0 9px;}
.principle p{margin:0;font-size:15px;line-height:1.56;color:var(--ink2);}

/* about: what we cover */
.cover{border-top:1px solid var(--hair2);}
.cover .crow{display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px;padding:18px 0;border-bottom:1px solid var(--hair);align-items:baseline;}
.cover h3{font-size:21px;letter-spacing:-.01em;}
.cover p{margin:0;font-size:15px;line-height:1.5;color:var(--ink2);}

/* about: the people */
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 30px;}
/* two-person team sits as a tidy left-aligned pair instead of leaving an empty third column */
.people:has(.person:first-child:nth-last-child(2)){grid-template-columns:repeat(2,minmax(0,300px));}
.person .av{width:64px;height:64px;border-radius:50%;background:var(--img2);border:1px solid var(--hair);margin-bottom:13px;}
.person .av img{width:100%;height:100%;object-fit:cover;}
.person h3{font-size:18px;margin:0 0 4px;}
.person .role{font-family:'Newsreader',serif;font-weight:600;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ox);margin-bottom:9px;}
.person p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink2);}
.housenote{font-size:14px;line-height:1.55;color:var(--ink2);font-style:italic;margin:28px 0 0;padding-top:20px;border-top:1px solid var(--hair);max-width:60ch;}

/* about responsive */
@media (max-width:940px){
  .twocol{grid-template-columns:minmax(0,1fr);gap:36px;}
  .prose{max-width:none;}
  .people{grid-template-columns:1fr 1fr;}
  .pagehero h1{font-size:40px;}
}
@media (max-width:560px){
  .pagehero{padding:34px 20px 24px;}
  .pagehero h1{font-size:31px;}
  .pagehero .standfirst{font-size:17px;}
  .section{padding:0 20px;}
  .principles{grid-template-columns:1fr;gap:26px;}
  .cover .crow{grid-template-columns:1fr;gap:6px;padding:16px 0;}
  .people{grid-template-columns:1fr 1fr;gap:26px 20px;}
}

/* subscribe hero */
.subhero{max-width:var(--maxw);margin:0 auto;padding:56px 32px 12px;}
.subhero .akick{font-family:'Newsreader',serif;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ox);margin-bottom:18px;}
.subhero h1{font-size:46px;line-height:1.07;letter-spacing:-.022em;max-width:17ch;margin:0 0 18px;}
.subhero .standfirst{font-size:19px;line-height:1.5;color:var(--ink2);max-width:52ch;margin:0 0 26px;}
.bigform{display:flex;gap:10px;max-width:470px;}
.bigform input{flex:1;background:var(--field);border:1px solid var(--hair2);color:var(--ink);padding:14px 15px;border-radius:6px;font-family:'Source Serif 4',serif;font-size:16px;}
.bigform button{background:var(--ox);color:var(--paper);border:0;padding:14px 26px;border-radius:6px;font-family:'Newsreader',serif;font-weight:600;font-size:15px;cursor:pointer;white-space:nowrap;}
.microcopy{font-size:13px;color:var(--ink2);margin-top:13px;}
.subhero .news-form.success .news-success,.subhero .news-form.error .news-error{color:var(--ox);}

/* subscribe: what to expect */
.expect{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;}
.exp .pn{font-family:'Newsreader',serif;font-weight:600;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ox);margin-bottom:10px;}
.exp h3{font-size:20px;line-height:1.18;margin:0 0 9px;}
.exp p{margin:0;font-size:15px;line-height:1.56;color:var(--ink2);}

/* subscribe: faq */
.faq{border-top:1px solid var(--hair2);}
.faq .q{padding:20px 0;border-bottom:1px solid var(--hair);}
.faq h3{font-size:18px;margin:0 0 8px;}
.faq p{margin:0;font-size:15px;line-height:1.55;color:var(--ink2);max-width:74ch;}

/* subscribe responsive */
@media (max-width:940px){
  .expect{grid-template-columns:1fr 1fr;gap:32px;}
  .subhero h1{font-size:40px;}
}
@media (max-width:560px){
  .subhero{padding:34px 20px 8px;}
  .subhero h1{font-size:31px;}
  .subhero .standfirst{font-size:17px;}
  .bigform{flex-direction:column;}
  .bigform button{padding:13px;}
  .expect{grid-template-columns:1fr;gap:26px;}
}

/* 404 and error pages */
.nf{max-width:680px;margin:0 auto;padding:76px 32px 86px;text-align:center;}
.nf .akick{font-family:'Newsreader',serif;font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ox);margin-bottom:18px;}
.nf h1{font-size:54px;line-height:1.04;letter-spacing:-.024em;max-width:16ch;margin:0 auto 18px;}
.nf .lede{font-size:19px;line-height:1.5;color:var(--ink2);max-width:52ch;margin:0 auto 26px;}
.searchform-trigger{display:block;width:100%;max-width:460px;text-align:left;background:var(--field);border:1px solid var(--hair2);color:var(--ink2);padding:13px 15px;border-radius:6px;font-family:'Source Serif 4',serif;font-size:15.5px;cursor:pointer;margin:0 auto 30px;}
.nf .go{font-family:'Newsreader',serif;font-weight:600;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink2);margin:0 0 14px;}
.nf .links{display:flex;gap:10px 26px;flex-wrap:wrap;justify-content:center;margin-bottom:36px;}
.nf .links a{font-family:'Newsreader',serif;font-weight:600;color:var(--ox);font-size:16px;}
.nf .recent{border-top:1px solid var(--hair2);padding-top:24px;max-width:680px;text-align:left;}
.nf .recent .lbl{display:block;margin-bottom:14px;}
.nf .recent a{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--hair);}
.nf .recent a:last-child{border-bottom:0;}
.nf .recent h3{font-size:18px;font-weight:600;letter-spacing:-.01em;}
.nf .recent .meta{flex:none;}

/* 404 responsive */
@media (max-width:560px){
  .nf{padding:46px 20px 56px;}
  .nf h1{font-size:34px;}
  .nf .lede{font-size:17px;}
  .nf .recent a{flex-direction:column;gap:3px;}
}

/* search overlay */
.searchov{position:fixed;inset:0;z-index:200;display:flex;justify-content:center;align-items:flex-start;padding:60px 16px 24px;}
.searchov[hidden]{display:none;}
.searchov-scrim{position:absolute;inset:0;background:rgba(22,19,15,.58);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.searchov .spanel{position:relative;width:600px;max-width:100%;max-height:calc(100vh - 96px);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--hair2);border-radius:12px;box-shadow:0 36px 90px rgba(15,13,10,.5);overflow:hidden;}
.searchov .sbar{display:flex;align-items:center;gap:13px;padding:17px 19px;border-bottom:1px solid var(--hair);color:var(--ink2);flex:none;}
.searchov .sin{flex:1;border:0;background:transparent;font-family:'Source Serif 4',serif;font-size:18px;color:var(--ink);outline:none;}
.searchov .sin::placeholder{color:var(--ink2);opacity:.7;}
.searchov .esc{font-family:'Newsreader',serif;font-weight:600;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);background:transparent;border:1px solid var(--hair2);border-radius:5px;padding:4px 7px;cursor:pointer;}
.searchov .sresults{overflow-y:auto;}
.searchov .sresult{display:block;padding:15px 19px;border-bottom:1px solid var(--hair);}
.searchov .sresult:last-child{border-bottom:0;}
.searchov .sresult:hover,.searchov .sresult.active{background:#EFE9DC;}
.searchov .sresult .kick{font-family:'Newsreader',serif;font-weight:600;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--ox);}
.searchov .sresult h3{font-size:18px;font-weight:600;letter-spacing:-.012em;margin:5px 0 0;}
.searchov .sresult .ex{font-size:13px;line-height:1.45;color:var(--ink2);margin-top:5px;}
.searchov .sresult mark{background:#EAD9B8;color:inherit;border-radius:2px;padding:0 1px;}
.searchov .scount{padding:12px 19px;font-size:12px;color:var(--ink2);font-style:italic;background:#EFE9DC;border-top:1px solid var(--hair);flex:none;}
.searchov .snote{padding:22px 19px;font-size:14px;line-height:1.45;color:var(--ink2);}
html.searchov-open{overflow:hidden;}
/* suppress the platform default search surface; the overlay above replaces it */
#sodo-search-root{display:none;}

@media (max-width:560px){
  .searchov{padding:46px 12px 16px;}
  .searchov .sin{font-size:16px;}
}

/* mobile navigation panel: mirrors the search overlay's layer + scrim */
.mobnav{position:fixed;inset:0;z-index:190;display:flex;flex-direction:column;justify-content:flex-start;}
.mobnav[hidden]{display:none;}
.mobnav-scrim{position:absolute;inset:0;background:rgba(22,19,15,.58);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.mobnav-panel{position:relative;background:var(--paper);border-bottom:1px solid var(--hair2);box-shadow:0 26px 60px rgba(15,13,10,.4);max-height:100vh;overflow-y:auto;}
.mobnav-bar{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 20px;border-bottom:1px solid var(--hair);}
.mobnav-bar .logo{height:44px;color:var(--ox);}
.mobnav-x{background:transparent;border:1px solid var(--hair2);border-radius:5px;padding:6px 11px;font-family:'Newsreader',serif;font-weight:600;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);cursor:pointer;}
.mobnav-primary a{display:block;padding:15px 20px;border-bottom:1px solid var(--hair);font-family:'Newsreader',serif;font-weight:600;font-size:18px;color:var(--ink);}
.mobnav-topics{display:flex;flex-wrap:wrap;gap:8px;padding:16px 20px;border-bottom:1px solid var(--hair);}
.mobnav-topics a{border:1px solid var(--hair2);border-radius:999px;padding:6px 13px;font-size:12.5px;color:var(--ink2);}
.mobnav-util{display:flex;align-items:center;gap:20px;padding:16px 20px;font-size:14px;color:var(--ink2);}
.mobnav-util .gh-search{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;}
.mobnav-util a:last-child{color:var(--ox);font-weight:600;}
html.menu-open{overflow:hidden;}
/* the panel is only reachable on small screens; never show it on desktop */
@media (min-width:941px){.mobnav{display:none;}}
