/*
Theme Name: Atropos Institute Starter
Theme URI: https://atropos-institute.org/
Author: Hatchford Vale / OpenAI project build
Description: Lightweight no-plugin WordPress theme for the fictional Atropos Institute and Local Record archive.
Version: 1.8.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: atropos
*/
:root{--ink:#0d1117;--moss:#2e4a44;--stone:#9aa3a0;--bone:#f7f4ed;--signal:#7e2a2a;--paper:#fff;--line:#d9d9d4;--max:1180px;--serif:Georgia,'Times New Roman',serif;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.68}a{color:var(--moss);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--signal)}img{max-width:100%;height:auto;display:block}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0 0 .65em}h1{font-size:clamp(2.5rem,6vw,5.6rem)}h2{font-size:clamp(1.8rem,3.5vw,3rem)}h3{font-size:1.25rem}.site-header{background:rgba(247,244,237,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.header-inner,.footer-inner,.page-shell{width:min(var(--max),calc(100% - 40px));margin:auto}.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none}.brand-mark{width:42px;height:52px;flex:0 0 auto}.brand-text strong{display:block;letter-spacing:.24em;font-size:.93rem}.brand-text span{display:block;letter-spacing:.29em;font-size:.55rem;margin-top:3px;color:#4f565a}.primary-nav ul{display:flex;gap:25px;align-items:center;list-style:none;padding:0;margin:0}.primary-nav a{text-decoration:none;color:var(--ink);font-size:.88rem}.menu-toggle{display:none;border:0;background:none;font-size:1.5rem}.hero-wrap{position:relative;min-height:620px;background:linear-gradient(90deg,rgba(7,14,17,.84),rgba(7,14,17,.25)),url('assets/images/hero-city.jpg') 56% center/cover no-repeat;color:#fff;display:flex;align-items:center}.hero-wrap .page-shell{padding:90px 0}.atropos-hero-content{max-width:820px}.hero-wrap h1{max-width:800px}.hero-wrap .lead{color:#f0f0ed}.eyebrow{font-size:.74rem;letter-spacing:.22em;font-weight:700;text-transform:uppercase;color:var(--signal);margin-bottom:18px}.lead{font-size:1.25rem;line-height:1.55;max-width:800px}.button{display:inline-block;background:var(--moss);color:white!important;text-decoration:none;padding:12px 18px;margin:8px 8px 0 0;border:1px solid var(--moss);font-size:.9rem}.button-outline{background:transparent;border-color:currentColor}.hero-wrap .button-outline{color:white!important}.main-content{min-height:60vh}.page-content{width:min(900px,calc(100% - 40px));margin:0 auto;padding:72px 0 96px}.home-content{width:100%;margin:0;padding:0}.atropos-section{width:min(var(--max),calc(100% - 40px));margin:0 auto;padding:80px 0}.atropos-section.muted{background:#e9ebe7;width:100%;padding-left:max(20px,calc((100% - var(--max))/2));padding-right:max(20px,calc((100% - var(--max))/2))}.section-intro{max-width:820px;margin-bottom:35px}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card-grid.five{grid-template-columns:repeat(5,1fr)}.card{background:var(--paper);border:1px solid var(--line);padding:0;min-width:0}.card-body{padding:22px}.card .thumb{aspect-ratio:16/9;object-fit:cover;width:100%}.card h3{margin:.2em 0 .5em}.card p{font-size:.94rem}.research-long .card{padding:24px}.programme-list{display:grid;gap:24px}.programme-list article{border-top:1px solid var(--line);padding-top:24px}.publication-grid,.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.publication-card,.news-card{border-top:3px solid var(--moss);background:white;padding:22px}.publication-card .meta,.news-card .meta,.post-meta,.status-line{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#667072}.local-record-feature{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;background:#132024;color:white}.local-record-feature .copy{padding:42px}.local-record-feature a{color:#fff}.contributors{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:36px 0 60px}.contributor-card{background:#fff;border:1px solid var(--line)}.contributor-card img{aspect-ratio:1/1;object-fit:cover;width:100%}.contributor-card .card-body{padding:18px}.small-note{font-size:.88rem;color:#687073}.site-footer{background:#10171b;color:#dfe4e2;margin-top:40px}.footer-inner{padding:46px 0}.footer-top{display:flex;justify-content:space-between;gap:40px;align-items:flex-start}.footer-nav ul{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:0;padding:0}.footer-nav a{color:#dfe4e2}.disclosure{border-top:1px solid #344147;margin-top:30px;padding-top:20px;font-size:.82rem;color:#aeb8b5}.article-shell{width:min(790px,calc(100% - 40px));margin:0 auto;padding:70px 0 100px}.article-kicker{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--signal);font-weight:700}.article-title{font-size:clamp(2.6rem,5vw,4.8rem);margin-bottom:18px}.article-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin:20px 0 35px;display:flex;gap:14px;flex-wrap:wrap;font-size:.9rem;color:#50585b}.status-box{margin:25px 0;background:#edf0ec;border-left:3px solid var(--signal);padding:15px 18px}.article-body p{margin:0 0 1.15em}.article-body .system-text{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#edf0ec;padding:12px 14px;white-space:pre-line}.post-nav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:50px;padding-top:25px}.archive-list{display:grid;gap:14px;margin-top:35px}.archive-item{background:#fff;border:1px solid var(--line);padding:20px}.archive-item h3{margin-bottom:8px}.empty{padding:40px 0;color:#6c7274}

/* WordPress admin-bar compatibility: keeps the sticky public header visible while logged in. */
body.admin-bar .site-header{top:32px}
.site-footer .brand{color:#dfe4e2}
.site-footer .brand-text span{color:#aeb8b5}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}

@media(max-width:900px){.card-grid,.publication-grid,.news-grid{grid-template-columns:repeat(2,1fr)}.card-grid.five{grid-template-columns:repeat(2,1fr)}.contributors{grid-template-columns:repeat(2,1fr)}.primary-nav{display:none}.primary-nav.open{display:block;position:absolute;left:0;right:0;top:84px;background:var(--bone);border-bottom:1px solid var(--line);padding:20px}.primary-nav.open ul{display:grid;gap:10px;width:min(var(--max),calc(100% - 40px));margin:auto}.menu-toggle{display:block}.local-record-feature{grid-template-columns:1fr}.hero-wrap{min-height:540px}}
@media(max-width:560px){body{font-size:16px}.header-inner,.page-shell,.atropos-section,.page-content,.article-shell{width:min(100% - 28px,var(--max))}.brand-text strong{font-size:.78rem}.brand-text span{font-size:.48rem}.card-grid,.publication-grid,.news-grid,.contributors,.card-grid.five{grid-template-columns:1fr}.hero-wrap .page-shell{padding:72px 0}.atropos-section{padding:55px 0}.footer-top{display:block}.footer-nav{margin-top:25px}}

/* Logged-in campaign QA only; never rendered to ordinary visitors. */
.admin-campaign-preview{margin-top:64px;padding-top:34px;border-top:2px dashed #b7b9b4}.admin-preview-heading{background:#fff4d8;border:1px solid #e4c66d;padding:20px 22px;margin-bottom:22px}.admin-preview-heading h2{font-size:1.8rem;margin-bottom:.35em}.admin-preview-heading p:last-child{margin-bottom:0}.admin-preview-item{border-left:4px solid #c49a25}


/* Daniel author-owned photography */
.daniel-banner{margin:28px 0 42px}.daniel-banner img{width:100%;aspect-ratio:16/7;object-fit:cover;border:1px solid var(--line)}.daniel-banner figcaption{font-size:.78rem;color:#697174;margin-top:8px}.article-photo{margin:0 0 34px}.article-photo img{width:100%;max-height:560px;object-fit:cover;border:1px solid var(--line)}.archive-item{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:start}.archive-item:not(:has(.archive-photo)){grid-template-columns:1fr}.archive-photo{margin:0}.archive-photo img{width:180px;height:120px;object-fit:cover;border:1px solid var(--line)}.archive-copy{min-width:0}
@media(max-width:650px){.archive-item{grid-template-columns:1fr}.archive-photo img{width:100%;height:auto;aspect-ratio:16/9}.daniel-banner img{aspect-ratio:16/9}}
