/* Society & Religion — editorial research publication
   Design system: petrol-green brand, single amber data accent,
   Source Serif 4 (reading) + Inter (UI). Light, fast, mobile-first. */

:root{
  --paper:#FCFBF8;
  --paper-2:#F5F3ED;
  --ink:#1B1B19;
  --ink-2:#3A3A35;
  --muted:#6B6A61;
  --line:#E4E1D8;
  --line-2:#D6D3C8;
  --brand:#16514C;      /* petrol green — links, brand, active */
  --brand-ink:#0E3B37;
  --warm:#B0762E;       /* amber — data highlight only */
  --warm-soft:#E8DCC4;
  --focus:#16514C;
  --maxread:44rem;      /* ~68 chars of serif */
  --maxwide:74rem;
  --r:4px;
  --serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5.5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--serif);font-size:1.125rem;line-height:1.65;
  font-optical-sizing:auto;text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
a:hover{color:var(--brand-ink)}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:.5rem;top:.5rem}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:var(--maxwide);margin-inline:auto;padding-inline:1.25rem}
.read{max-width:var(--maxread);margin-inline:auto}
.sans{font-family:var(--sans)}

/* ---------- masthead ---------- */
.masthead{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:40}
.masthead__bar{display:flex;align-items:center;gap:1rem;height:4.25rem}
.brand{font-family:var(--serif);font-weight:600;font-size:1.35rem;letter-spacing:.2px;color:var(--ink);text-decoration:none;white-space:nowrap;display:flex;align-items:baseline;gap:.5rem}
.brand b{font-weight:600}
.brand__amp{color:var(--warm);font-style:italic}
.nav{margin-left:auto;display:flex;align-items:center;gap:1.4rem;font-family:var(--sans);font-size:.94rem}
.nav a{color:var(--ink-2);text-decoration:none;padding:.3rem 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--brand)}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--warm)}
.nav__search{background:none;border:0;cursor:pointer;color:var(--ink-2);display:inline-flex;padding:.3rem}
.nav__search:hover{color:var(--brand)}
.nav__toggle{display:none}

@media (max-width:860px){
  .nav{position:fixed;inset:4.25rem 0 auto 0;background:var(--paper);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1rem;border-bottom:1px solid var(--line);transform:translateY(-120%);transition:transform .22s ease;box-shadow:0 12px 24px rgba(0,0,0,.06)}
  @media (prefers-reduced-motion:reduce){.nav{transition:none}}
  .nav[data-open="true"]{transform:translateY(0)}
  .nav a{padding:.7rem 0;border-bottom:1px solid var(--line)}
  .nav a[aria-current="page"]{border-bottom-color:var(--line)}
  .nav__search{align-self:flex-start}
  .nav__toggle{display:inline-flex;margin-left:auto;background:none;border:1px solid var(--line-2);border-radius:var(--r);padding:.45rem .6rem;cursor:pointer;font-family:var(--sans);font-size:.9rem;align-items:center;gap:.4rem;color:var(--ink)}
}

/* ---------- breadcrumbs ---------- */
.crumbs{font-family:var(--sans);font-size:.85rem;color:var(--muted);padding:.9rem 0 0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}
.crumbs li::after{content:"/";margin-left:.4rem;color:var(--line-2)}
.crumbs li:last-child::after{content:""}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--brand)}

/* ---------- hero (home) ---------- */
.hero{padding:3.5rem 0 2.5rem;border-bottom:1px solid var(--line)}
.hero .eyebrow{font-family:var(--sans);font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--warm);margin:0 0 1rem}
.hero h1{font-size:clamp(2.1rem,5.2vw,3.3rem);line-height:1.08;letter-spacing:-.01em;margin:0 0 1.1rem;max-width:20ch}
.hero p{font-size:1.22rem;color:var(--ink-2);max-width:38rem;margin:0 0 1.8rem}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;font-family:var(--sans)}
.btn{display:inline-block;padding:.72rem 1.25rem;border-radius:var(--r);font-size:.98rem;text-decoration:none;font-weight:500;border:1px solid transparent}
.btn--primary{background:var(--brand);color:#fff}
.btn--primary:hover{background:var(--brand-ink);color:#fff}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn--ghost:hover{border-color:var(--brand);color:var(--brand)}

/* ---------- section rhythm ---------- */
.section{padding:3rem 0;border-bottom:1px solid var(--line)}
.section--tint{background:var(--paper-2)}
.section__head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:0 0 1.6rem}
.section h2{font-size:clamp(1.5rem,3.2vw,2rem);line-height:1.15;margin:0;letter-spacing:-.01em}
.section__intro{color:var(--ink-2);max-width:46rem;margin:.7rem 0 0;font-size:1.08rem}
.seeall{font-family:var(--sans);font-size:.92rem;white-space:nowrap}

/* ---------- card grids ---------- */
.grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.grid--4{grid-template-columns:repeat(4,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.cardlink{background:var(--paper);padding:1.2rem 1.25rem;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:.3rem;min-height:6.2rem;transition:background .15s}
.cardlink:hover{background:var(--paper-2)}
.cardlink .k{font-family:var(--sans);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--warm)}
.cardlink .t{font-size:1.15rem;line-height:1.25}
.cardlink .d{font-family:var(--sans);font-size:.9rem;color:var(--muted)}
@media (max-width:860px){.grid--4{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.grid--4,.grid--3,.grid--2{grid-template-columns:1fr}}

/* article teaser list */
.teasers{display:grid;gap:1.4rem}
.teaser{display:grid;gap:.35rem;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}
.teaser:last-child{border-bottom:0;padding-bottom:0}
.teaser .k{font-family:var(--sans);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--warm)}
.teaser h3{margin:0;font-size:1.3rem;line-height:1.2}
.teaser h3 a{text-decoration:none;color:var(--ink)}
.teaser h3 a:hover{color:var(--brand)}
.teaser p{margin:0;color:var(--ink-2);font-size:1.02rem}
.teaser .meta{font-family:var(--sans);font-size:.82rem;color:var(--muted)}

/* featured band */
.featured{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:center}
.featured__body h2{margin-top:0}
.featured__card{background:var(--brand);color:#fff;border-radius:var(--r);padding:2rem}
.featured__card .k{font-family:var(--sans);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--warm-soft)}
.featured__card h3{font-size:1.6rem;line-height:1.2;margin:.6rem 0 .8rem}
.featured__card p{color:#dfeae7;margin:0 0 1.3rem}
.featured__card a{color:#fff;text-decoration:none;font-family:var(--sans);font-weight:500;border-bottom:2px solid var(--warm);padding-bottom:2px}
@media (max-width:760px){.featured{grid-template-columns:1fr;gap:1.4rem}}

/* newsletter */
.signup{max-width:34rem}
.signup form{display:flex;gap:.6rem;margin-top:1rem;font-family:var(--sans)}
.signup input{flex:1;padding:.72rem .9rem;border:1px solid var(--line-2);border-radius:var(--r);font:inherit;font-size:.98rem;background:var(--paper)}
.signup input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
@media (max-width:480px){.signup form{flex-direction:column}}

/* ---------- article ---------- */
.article{padding:1.5rem 0 3rem}
.article__head{max-width:var(--maxread);margin-inline:auto}
.article .cat{font-family:var(--sans);font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--warm);margin:.4rem 0 .6rem}
.article h1{font-size:clamp(1.9rem,4.6vw,2.8rem);line-height:1.12;letter-spacing:-.01em;margin:0 0 .8rem}
.standfirst{font-size:1.25rem;color:var(--ink-2);line-height:1.5;margin:0 0 1.4rem}
.byline{font-family:var(--sans);font-size:.86rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.3rem .9rem;padding:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.byline b{color:var(--ink-2);font-weight:600}
.figure{margin:1.6rem auto;max-width:var(--maxread)}
.figure img{border:1px solid var(--line);border-radius:var(--r)}
.figure figcaption{font-family:var(--sans);font-size:.82rem;color:var(--muted);margin-top:.5rem}

.prose{max-width:var(--maxread);margin-inline:auto}
.prose h2{font-size:1.6rem;line-height:1.2;margin:2.4rem 0 .8rem;letter-spacing:-.01em;scroll-margin-top:5.5rem}
.prose h3{font-size:1.25rem;margin:1.8rem 0 .6rem;scroll-margin-top:5.5rem}
.prose p{margin:0 0 1.1rem}
.prose ul,.prose ol{margin:0 0 1.2rem;padding-left:1.3rem}
.prose li{margin:.35rem 0}
.prose a{text-decoration:underline}
.prose strong{font-weight:600}

/* quick answer box */
.answer{background:var(--paper-2);border-left:3px solid var(--warm);border-radius:0 var(--r) var(--r) 0;padding:1.1rem 1.3rem;margin:1.6rem 0}
.answer .k{font-family:var(--sans);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--warm);margin:0 0 .4rem}
.answer p{margin:0;font-size:1.08rem}

/* quick facts */
.facts{font-family:var(--sans);border:1px solid var(--line);border-radius:var(--r);margin:1.6rem 0}
.facts dt{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);padding:.7rem 1rem 0}
.facts dd{margin:0 0 .2rem;padding:0 1rem .7rem;font-size:1.02rem;border-bottom:1px solid var(--line);color:var(--ink)}
.facts dd:last-child{border-bottom:0}

/* data table */
.tablewrap{overflow-x:auto;margin:1.4rem 0;border:1px solid var(--line);border-radius:var(--r)}
table.data{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:.95rem;min-width:32rem}
table.data caption{text-align:left;font-size:.85rem;color:var(--muted);padding:.7rem 1rem;border-bottom:1px solid var(--line)}
table.data th,table.data td{padding:.62rem 1rem;text-align:left;border-bottom:1px solid var(--line)}
table.data thead th{background:var(--paper-2);font-weight:600;color:var(--ink)}
table.data tbody tr:last-child td{border-bottom:0}
table.data td.num,table.data th.num{text-align:right;font-variant-numeric:tabular-nums}

/* toc */
.toc{font-family:var(--sans);border:1px solid var(--line);border-radius:var(--r);padding:1rem 1.2rem;margin:1.6rem 0;background:var(--paper)}
.toc .k{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem}
.toc ol{margin:0;padding-left:1.1rem;font-size:.95rem}
.toc li{margin:.28rem 0}
.toc a{text-decoration:none}
.toc a:hover{text-decoration:underline}

/* sources */
.sources{font-family:var(--sans);font-size:.92rem;color:var(--ink-2)}
.sources li{margin:.5rem 0}

/* author box + related */
.authorbox{font-family:var(--sans);display:flex;gap:1rem;align-items:flex-start;background:var(--paper-2);border-radius:var(--r);padding:1.2rem;margin:2rem 0}
.authorbox .mark{width:2.6rem;height:2.6rem;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:1.1rem;flex:none}
.authorbox h4{margin:0 0 .25rem;font-size:1rem}
.authorbox p{margin:0;font-size:.9rem;color:var(--muted)}
.related h2{font-size:1.3rem;margin:0 0 1rem}

/* faq */
.faq h3{font-size:1.15rem;margin:1.4rem 0 .4rem}
.faq p{margin:0 0 1rem;color:var(--ink-2)}

/* generic page (trust pages) */
.page{padding:1.5rem 0 3rem}
.page h1{font-size:clamp(1.9rem,4.4vw,2.6rem);line-height:1.14;margin:.4rem 0 1.2rem}
.page .lead{font-size:1.2rem;color:var(--ink-2);margin:0 0 1.6rem}
.pagelinks{font-family:var(--sans);font-size:.95rem;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin:1.4rem 0}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:#cfcfc7;font-family:var(--sans);padding:3rem 0 2rem;font-size:.92rem}
.foot__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2rem}
.foot h5{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#8f8f86;margin:0 0 .8rem}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:.4rem 0}
.foot a{color:#e7e7e0;text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.foot__brand{font-family:var(--serif);font-size:1.2rem;color:#fff;margin:0 0 .6rem}
.foot__desc{max-width:22rem;color:#a9a9a0}
.foot__legal{margin-top:2.2rem;padding-top:1.2rem;border-top:1px solid #33332e;display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;justify-content:space-between;color:#8f8f86}
@media (max-width:760px){.foot__grid{grid-template-columns:1fr 1fr}.foot__brandcol{grid-column:1/-1}}
@media (max-width:460px){.foot__grid{grid-template-columns:1fr}}

/* utilities */
.mt0{margin-top:0}.center{text-align:center}

/* non-link "coming soon" card */
.cardlink--soon{color:var(--muted);cursor:default;background:var(--paper-2)}
.cardlink--soon:hover{background:var(--paper-2)}
.cardlink--soon .k{color:var(--muted)}
.cardlink--soon .t{color:var(--ink-2)}
