/* ===========================================================
   East End Survey — theme for The East End Dig
   Ported from site/index.html + newsletter/issues/*.html
   Palette: paper / card / ink / marine / brass / signal / mute / line
   =========================================================== */

:root{
 --paper:#e9ebe4; --card:#f3f4ee; --ink:#16302a; --marine:#1b4d5c;
 --brass:#a97d33; --signal:#c4562f; --mute:#5f6d67; --line:#cfd3c9;
 --up:#c4562f; --dn:#3f7d86; --fl:#8c948d;
 --dow:#1b4d5c;
}
@media (prefers-color-scheme:dark){
 :root{
  --paper:#0d1917; --card:#12211e; --ink:#e7e9e1; --marine:#5fa0b0;
  --brass:#d3a24d; --signal:#e07a4d; --mute:#8a968f; --line:#26332f;
  --up:#e07a4d; --dn:#5fa0b0; --fl:#7c867f;
  --dow:#173741;
 }
}
:root[data-theme="light"]{
 --paper:#e9ebe4; --card:#f3f4ee; --ink:#16302a; --marine:#1b4d5c;
 --brass:#a97d33; --signal:#c4562f; --mute:#5f6d67; --line:#cfd3c9;
 --up:#c4562f; --dn:#3f7d86; --fl:#8c948d;
 --dow:#1b4d5c;
}
:root[data-theme="dark"]{
 --paper:#0d1917; --card:#12211e; --ink:#e7e9e1; --marine:#5fa0b0;
 --brass:#d3a24d; --signal:#e07a4d; --mute:#8a968f; --line:#26332f;
 --up:#e07a4d; --dn:#5fa0b0; --fl:#7c867f;
 --dow:#173741;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
/* Ghost's custom-font settings override these when set in Admin */
body{margin:0;background:var(--paper);color:var(--ink);line-height:1.55;
 font-family:var(--gh-font-body,Georgia,"Iowan Old Style","Times New Roman",serif);
 -webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto}
a{color:var(--marine);}
.sans{font-family:"Avenir Next","Segoe UI","Helvetica Neue",system-ui,sans-serif;}
.wrap{max-width:720px;margin:0 auto;padding:0 20px;}

/* ---------- site head ---------- */
.site-head{padding:28px 0 4px;}
.site-bar{display:flex;align-items:baseline;justify-content:space-between;gap:16px;}
.kicker{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:11px;
 letter-spacing:.28em;text-transform:uppercase;color:var(--brass);}
.nav{list-style:none;display:flex;gap:16px;margin:0;padding:0;font-size:11px;
 letter-spacing:.14em;text-transform:uppercase;}
.nav a{color:var(--mute);text-decoration:none;padding-bottom:2px;border-bottom:1px solid transparent;}
.nav a:hover{color:var(--marine);border-bottom-color:var(--brass);}
.nav .nav-current a{color:var(--ink);}
.nav .nav-subscribe a{color:var(--marine);}
.logo{display:block;margin:12px 0 0;}
.logo svg{width:min(560px,100%);height:auto;display:block;}

/* ---------- shared elements ---------- */
.hero{display:block;width:100%;height:auto;margin:18px 0 0;border-radius:3px;border:1px solid var(--line);}

h2{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:13px;letter-spacing:.14em;
 text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line);
 padding-bottom:6px;margin:0 0 16px;font-weight:700;}

/* signup — Ghost native members form */
.signup{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 10px;}
.signup input[type=email]{flex:1;min-width:220px;font-size:16px;padding:14px 15px;border:1px solid var(--line);
 border-radius:6px;background:var(--card);color:var(--ink);font-family:inherit;}
.signup input[type=email]:focus{outline:2px solid var(--marine);outline-offset:1px;border-color:var(--marine);}
.signup button{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-weight:700;font-size:15px;
 letter-spacing:.02em;padding:14px 22px;border:none;border-radius:6px;background:var(--marine);
 color:var(--paper);cursor:pointer;white-space:nowrap;}
.signup button:hover{background:var(--ink);}
.signup.loading button{opacity:.55;cursor:progress;}
.reassure{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:12.5px;color:var(--mute);margin:0 0 40px;}
.form-ok,.form-err{display:none;font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:15px;
 border-radius:6px;padding:14px 16px;margin:0 0 40px;background:var(--card);}
.form-ok{color:var(--marine);border:1px solid var(--marine);}
.form-err{color:var(--signal);border:1px solid var(--signal);}
.signup.success{display:none;}
.signup.success ~ .reassure{display:none;}
.signup.success ~ .form-ok{display:block;}
.signup.error ~ .form-err{display:block;}

/* ---------- home ---------- */
.pitch{font-size:23px;line-height:1.35;margin:30px 0 8px;text-wrap:pretty;
 font-family:var(--gh-font-heading,Baskerville,"Palatino Linotype",Georgia,serif);}
.pitch b{color:var(--marine);}
.sub{font-size:17px;color:var(--mute);margin:0 0 26px;text-wrap:pretty;}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:8px 0 44px;}
.feat{background:var(--card);border:1px solid var(--line);border-radius:7px;padding:18px 16px;}
.feat .ic{color:var(--brass);width:26px;height:26px;display:block;margin-bottom:10px;}
.feat h3{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:12px;letter-spacing:.1em;
 text-transform:uppercase;margin:0 0 6px;}
.feat p{margin:0;font-size:14.5px;color:var(--mute);}

.sample{background:var(--card);border:1px solid var(--line);border-radius:7px;padding:20px 22px;margin:0 0 44px;}
.sample .line{padding:9px 0;border-bottom:1px solid var(--line);font-size:15px;display:block;
 color:var(--ink);text-decoration:none;}
.sample .line:last-child{border-bottom:none;}
.sample a.line:hover .a{color:var(--marine);}
.sample .a{font-weight:700;}
.sample .m{color:var(--mute);font-style:italic;font-size:13.5px;}
.sample .pin{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:9px;letter-spacing:.06em;
 text-transform:uppercase;color:var(--marine);border:1px solid var(--marine);border-radius:3px;
 padding:2px 5px;margin-right:8px;white-space:nowrap;}

.pager{display:flex;justify-content:space-between;gap:16px;font-size:12px;letter-spacing:.08em;
 text-transform:uppercase;margin:-30px 0 44px;}
.pager a{color:var(--mute);text-decoration:none;}
.pager a:hover{color:var(--marine);}
.pager .older{margin-left:auto;}

.tiers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 44px;}
.tier{border:1px solid var(--line);border-radius:8px;padding:20px;background:var(--card);}
.tier .p{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-weight:700;font-size:22px;
 color:var(--marine);margin:6px 0;}
.tier h3{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:12px;letter-spacing:.1em;
 text-transform:uppercase;margin:0;}
.tier p{font-size:14px;color:var(--mute);margin:8px 0 0;}
.tier .soon{color:var(--brass);}
.tier.free{border-color:var(--marine);}

/* ---------- issue (post) ---------- */
.issue-head{padding-top:6px;}
.issue-title{font-family:var(--gh-font-heading,Baskerville,"Baskerville Old Face","Hoefler Text","Palatino Linotype",Georgia,serif);
 font-weight:400;font-size:30px;line-height:1.12;margin:22px 0 0;text-wrap:balance;color:var(--ink);}
.tagline{font-style:italic;color:var(--mute);font-size:15px;margin:8px 0 0;}
.issue-nav{display:flex;justify-content:space-between;gap:16px;font-size:12px;letter-spacing:.08em;
 text-transform:uppercase;margin:10px 0 34px;}
.issue-nav a{color:var(--mute);text-decoration:none;}
.issue-nav a:hover{color:var(--marine);}
.issue-nav .older{margin-left:auto;}

/* end-of-issue subscribe box */
.cta{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:22px 22px 6px;margin:36px 0 22px;}
.cta-h{border-bottom:none;margin:0 0 6px;padding:0;}
.cta-p{font-size:15.5px;color:var(--mute);margin:0 0 14px;text-wrap:pretty;}
.cta .form-ok,.cta .form-err{margin-bottom:16px;}
.cta .reassure{margin-bottom:16px;}

/* ---------- issue body: styling what Ghost actually stored ----------
   Ghost's html->lexical conversion flattens <div>/<section>/<span>/<svg>:
   only <p>, <h1>/<h2> (with generated ids), <ul>/<li>, <strong>, and the
   velocity <table> (kept verbatim inside an HTML card) survive. Everything
   below styles that reality; the positional rules are anchored on the
   generated id #the-east-end-dig so they simply stop applying — rather than
   mis-apply — if the generator's masthead ever changes.               */

.issue-body{margin-top:4px;}
.issue-body p{font-size:16.5px;margin:16px 0;text-wrap:pretty;}
.issue-body a{color:var(--marine);}
.issue-body strong{color:var(--marine);}

/* 1 · run-on kicker line ("The East End DigNo. 4") — the site head carries it */
.issue-body > p:first-child:has(+ h1#the-east-end-dig){display:none;}
/* 2 · duplicate masthead h1 — the theme prints {{title}} instead */
.issue-body > h1#the-east-end-dig{display:none;}
/* 3 · duplicate tagline — printed by the template above the hero */
.issue-body > h1#the-east-end-dig + p{display:none;}
/* 4 · dateline ("Week of July 21 – July 27, 2026") */
.issue-body > h1#the-east-end-dig + p + p{
 font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:11px;
 letter-spacing:.22em;text-transform:uppercase;color:var(--mute);
 border-top:1px solid var(--line);border-bottom:1px solid var(--line);
 padding:9px 0;margin:16px 0 0;text-align:center;}
/* 5 · lede */
.issue-body > h1#the-east-end-dig + p + p + p{font-size:18px;line-height:1.55;margin:22px 0 20px;}
/* 6 · stat tiles + Dig of the Week (flattened into one run of text upstream) */
.issue-body > h1#the-east-end-dig + p + p + p + p{
 background:var(--dow);color:#f0ece2;border-radius:6px;padding:18px 22px;margin:26px 0 0;
 font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums;word-spacing:.12em;}
.issue-body > h1#the-east-end-dig + p + p + p + p:has(+ p){border-radius:6px 6px 0 0;}
.issue-body > h1#the-east-end-dig + p + p + p + p strong{color:#f0ece2;}
/* 7 · the Dig of the Week pull quote, when the week has one */
.issue-body > h1#the-east-end-dig + p + p + p + p + p{
 background:var(--dow);color:#f0ece2;border-radius:0 0 6px 6px;padding:0 22px 18px;margin:0;
 font-style:italic;font-size:16px;opacity:.95;}

/* section heads: "New Construction2" — count is glued on upstream */
.issue-body h2{display:flex;align-items:center;gap:12px;margin:34px 0 4px;border-bottom:none;padding:0;
 font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-weight:700;font-size:13px;
 letter-spacing:.14em;text-transform:uppercase;color:var(--ink);}
.issue-body h2::before{content:"";width:14px;height:2px;background:var(--brass);flex:0 0 auto;}
.issue-body h2::after{content:"";flex:1;height:1px;background:var(--line);}
/* h3 = the Dig of the Week address (post-2026-07-30 issue format) */
.issue-body h3{font-family:var(--gh-font-heading,Baskerville,"Baskerville Old Face","Hoefler Text",Georgia,serif);
 font-weight:400;font-size:27px;line-height:1.15;margin:10px 0 0;text-wrap:balance;color:var(--marine);}
.issue-body h3 + p{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:12px;
 color:var(--mute);margin:6px 0 0;}
/* section dividers: the generator emits <hr> before each <h2>, so the heading
   drops its own trailing rule when one is present (older issues keep it) */
.issue-body hr + h2::after{display:none;}
.issue-body hr:has(+ p:nth-last-of-type(3)){display:none;}

/* filing lists */
.issue-body ul,.issue-body ol{list-style:none;margin:14px 0 0;padding:0;}
.issue-body ol{list-style:decimal;padding-left:20px;}
.issue-body ul li,.issue-body ol li{padding:12px 0;border-bottom:1px solid var(--line);
 font-size:15.5px;line-height:1.5;text-wrap:pretty;}
.issue-body ul li:last-child,.issue-body ol li:last-child{border-bottom:none;}
.issue-body li strong{color:var(--ink);font-size:16px;font-weight:700;letter-spacing:.01em;}
.issue-body li em{font-style:italic;opacity:.82;font-size:14.5px;}

.issue-body blockquote{margin:20px 0;padding:2px 0 2px 18px;border-left:3px solid var(--brass);
 font-style:italic;color:var(--ink);}
.issue-body hr{border:none;border-top:1px solid var(--line);margin:34px 0;}

/* velocity table — survives verbatim, classes intact */
.issue-body table{width:100%;margin:14px 0 0;background:var(--card);border:1px solid var(--line);
 border-radius:5px;border-collapse:separate;border-spacing:0;overflow:hidden;
 font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:13.5px;}
.issue-body thead th{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);
 text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);font-weight:600;}
.issue-body tbody td{padding:10px 14px;border-bottom:1px solid var(--line);}
.issue-body tbody tr:last-child td{border-bottom:none;}
.issue-body tbody td:first-child{font-weight:600;color:var(--ink);}
.issue-body td.n{font-variant-numeric:tabular-nums;text-align:right;width:70px;}
.issue-body td.avg{color:var(--mute);}
/* "by the numbers" tiles, now a two-column table */
.issue-body table.stats tbody td:last-child{font-weight:700;color:var(--marine);font-size:16px;
 font-variant-numeric:tabular-nums;text-align:right;}
.chip{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:10.5px;letter-spacing:.04em;
 text-transform:uppercase;font-weight:700;padding:3px 8px;border-radius:20px;white-space:nowrap;
 display:inline-block;}
.chip.up{color:var(--up);background:color-mix(in srgb,var(--up) 14%,transparent);}
.chip.dn{color:var(--dn);background:color-mix(in srgb,var(--dn) 14%,transparent);}
.chip.fl{color:var(--fl);background:color-mix(in srgb,var(--fl) 12%,transparent);}

/* colophon: the issue's own sign-off (last three paragraphs) */
.issue-body > p:nth-last-of-type(3){font-family:Baskerville,"Baskerville Old Face",Georgia,serif;
 font-size:15px;font-style:italic;color:var(--ink);border-top:3px double var(--marine);
 padding-top:16px;margin-top:40px;}
.issue-body > p:nth-last-of-type(-n+2){font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;
 font-size:11.5px;line-height:1.6;color:var(--mute);margin:8px 0 0;}

/* ---------- Koenig cards ---------- */
.kg-card{margin:24px 0;}
figure.kg-card figcaption{font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:12px;
 color:var(--mute);text-align:center;margin-top:8px;}
.kg-image-card img,.kg-image{border-radius:4px;border:1px solid var(--line);display:block;margin:0 auto;}
.kg-width-wide{width:auto;max-width:none;margin-left:-40px;margin-right:-40px;}
.kg-width-wide img{width:100%;}
.kg-width-full{position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);}
.kg-width-full img{width:100%;border-radius:0;border-left:none;border-right:none;}
.kg-embed-card,.kg-gallery-card{margin:24px 0;}
.kg-bookmark-card a.kg-bookmark-container{display:flex;background:var(--card);border:1px solid var(--line);
 border-radius:6px;text-decoration:none;color:var(--ink);overflow:hidden;}
.kg-bookmark-content{padding:18px 20px;}
.kg-bookmark-title{font-weight:700;}
.kg-bookmark-description{color:var(--mute);font-size:14.5px;}
.kg-button-card .kg-btn{display:inline-block;background:var(--marine);color:var(--paper);
 font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-weight:700;text-decoration:none;
 padding:12px 22px;border-radius:6px;}
.kg-callout-card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:16px 18px;}
.kg-toggle-card{border:1px solid var(--line);border-radius:6px;padding:14px 16px;}

/* ---------- footer ---------- */
.site-foot{border-top:3px double var(--marine);padding:18px 0 60px;margin-top:44px;
 font-family:"Avenir Next","Segoe UI",system-ui,sans-serif;font-size:12px;color:var(--mute);line-height:1.6;}
.site-foot .mark{font-family:Baskerville,"Baskerville Old Face",Georgia,serif;font-size:15px;
 font-style:italic;color:var(--ink);margin:0 0 8px;}
.site-foot p{margin:0 0 8px;}
.site-foot a{color:var(--mute);}

@media (max-width:560px){
 .issue-title{font-size:24px;}
 .pitch{font-size:20px;}
 .grid{grid-template-columns:1fr;}
 .tiers{grid-template-columns:1fr;}
 .site-bar{flex-wrap:wrap;gap:8px;}
 .issue-body table{font-size:12px;}
 .issue-body thead th,.issue-body tbody td{padding:8px 9px;}
}
@media (max-width:800px){
 .kg-width-wide{margin-left:0;margin-right:0;}
}
