@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root{--ink:#17231f;--green:#244d3e;--sage:#dce6de;--cream:#f4f0e7;--paper:#fbfaf6;--gold:#b58a45;--line:#d8d5cc;--muted:#6d746f;--red:#9d4c43;--amber:#b67b25}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}.topbar{height:76px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(251,250,246,.96);backdrop-filter:blur(12px);z-index:10}.brand{display:flex;gap:12px;align-items:center;border:0;background:none;text-align:left;color:var(--ink);cursor:pointer}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--green);color:white;border-radius:50%;font:700 13px "DM Sans"}.brand strong{font:700 18px "Fraunces",serif;display:block}.brand small{color:var(--muted);font-size:11px}.topbar nav{display:flex;gap:4px}.topbar nav button,.ghost,.back,.text-link{border:0;background:none;padding:10px 12px;color:var(--ink);cursor:pointer;border-radius:8px}.topbar nav button:hover,.ghost:hover{background:var(--cream)}.admin-link{border:1px solid var(--line)!important}.view{display:none}.view.active{display:block}.hero{min-height:610px;padding:8vw 8vw 5vw;display:grid;grid-template-columns:1.5fr .7fr;gap:8vw;align-items:center;background:radial-gradient(circle at 75% 35%,#e6eee7,transparent 28%),linear-gradient(135deg,#fbfaf6,#f2eee4)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--green);margin:0 0 12px}.hero h1,.section>h1,.article-main>h1,.admin-panel h1{font:700 clamp(44px,6vw,82px)/.98 "Fraunces",serif;letter-spacing:-.04em;margin:0 0 24px}.hero h1 em{font-style:normal;color:var(--green)}.lede{font:400 20px/1.6 "DM Sans";max-width:780px;color:#46504b}.narrow{max-width:700px}.hero-actions{display:flex;gap:12px;margin-top:34px}.primary,.secondary,.reset-card button,.product button{padding:13px 18px;border-radius:8px;border:1px solid var(--green);font-weight:700;cursor:pointer}.primary{background:var(--green);color:white}.secondary{background:transparent;color:var(--green)}.principle-card{background:var(--green);color:white;padding:34px;border-radius:18px;box-shadow:0 20px 60px #19362a22}.principle-card span,.side-card span,.product span,.sim-brief>span,.post-bank span{font-size:10px;letter-spacing:.15em;font-weight:700;opacity:.75}.principle-card b{display:block;font:600 32px "Fraunces";margin:13px 0}.principle-card i{font-style:normal;opacity:.5}.principle-card small{display:block;margin-top:24px;line-height:1.5;opacity:.75}.section{padding:72px 8vw}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section h2,.unlocked h2{font:600 34px "Fraunces";margin:0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.story-card{min-height:310px;border:1px solid var(--line);border-radius:14px;padding:26px;background:white;display:flex;flex-direction:column;cursor:pointer;transition:.2s}.story-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px #17231f12}.story-card .cat{font-size:10px;letter-spacing:.14em;color:var(--green);font-weight:700}.story-card h3{font:600 28px/1.08 "Fraunces";margin:35px 0 12px}.story-card p{color:var(--muted);line-height:1.55}.story-card footer{margin-top:auto;border:0;padding:0;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.strip{margin:25px 8vw 70px;background:var(--ink);color:white;border-radius:14px;padding:25px 32px;display:flex;align-items:center;justify-content:space-between}.strip div:not(.arrow){display:flex;flex-direction:column}.strip span{font-size:9px;letter-spacing:.15em;opacity:.55}.strip b{font-size:13px;margin-top:4px}.arrow{opacity:.35}.article-shell{padding:30px 8vw 80px;display:grid;grid-template-columns:minmax(0,780px) 260px;gap:70px}.back{margin:24px 8vw}.article-main>h1{font-size:58px}.standfirst{font:400 21px/1.55 "DM Sans";color:#4e5853}.sixty{border-top:3px solid var(--green);margin:38px 0;padding:28px 0;display:grid;grid-template-columns:80px 1fr;gap:20px}.timer{font-weight:800;font-size:12px;color:var(--green)}.sixty p{font:400 18px/1.7 "DM Sans";margin-top:0}.email-gate{background:var(--cream);padding:30px;border-radius:14px;display:grid;grid-template-columns:1.2fr .8fr;gap:25px}.email-gate h3{font:600 30px "Fraunces";margin:0}.email-gate form{display:flex;flex-direction:column;gap:10px;justify-content:center}.email-gate input,.admin-panel input,.admin-panel select,.admin-panel textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:8px;background:white;font:inherit}.hidden{display:none}.unlocked{padding-top:30px}.status-pill{display:inline-block;background:var(--sage);color:var(--green);padding:7px 10px;border-radius:20px;font-size:10px;font-weight:800}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0 34px}.fact{padding:18px;border:1px solid var(--line);border-radius:10px;background:white}.fact b{display:block;margin-bottom:5px}.deep-actions{display:flex;gap:10px}.article-side{padding-top:40px}.side-card{padding:20px;border-top:1px solid var(--line);margin-bottom:18px}.side-card b{display:block;font:600 20px "Fraunces";margin:10px 0}.green{color:#2d7354}.calm{background:var(--sage);border-radius:10px;border:0}.text-link{padding-left:0;color:var(--green);font-weight:700}.list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:40px}.library-item{background:white;border:1px solid var(--line);padding:22px;border-radius:10px}.library-item b{font:600 22px "Fraunces";display:block}.library-item small{color:var(--muted)}.simulator{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:45px}.sim-brief{background:var(--green);color:white;padding:34px;border-radius:14px}.sim-brief h2{font:600 38px "Fraunces"}.constraints{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.constraints b{width:100%}.constraints span{font-size:11px;padding:7px 9px;border:1px solid #ffffff44;border-radius:20px}.choices{display:flex;flex-direction:column;gap:10px}.choice{padding:18px;text-align:left;background:white;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:600}.choice:hover{border-color:var(--green)}.sim-result{margin-top:8px;padding:20px;background:var(--cream);border-radius:10px;line-height:1.6}.reset-grid,.product-grid,.product-types{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}.reset-card,.product,.product-types>div{background:white;border:1px solid var(--line);padding:24px;border-radius:12px}.reset-card span{font:600 30px "Fraunces";color:var(--gold)}.reset-card h3,.product h3{font:600 24px "Fraunces"}.reset-card button{background:none;color:var(--green);padding:9px 12px}.product-grid{grid-template-columns:repeat(3,1fr)}.visual{height:180px;border-radius:8px;margin-bottom:20px;background:linear-gradient(135deg,#284d40,#c8b07d)}.blackpool{background:linear-gradient(160deg,#d5bd7b,#1f4a3a 60%,#1c2824)}.research{background:linear-gradient(145deg,#e7e0d1,#777e75)}.product b{display:block;margin-top:18px}.admin{min-height:calc(100vh - 76px);grid-template-columns:230px 1fr;background:#f5f4ef}.admin.active{display:grid}.admin-nav{background:var(--ink);color:white;padding:28px 14px;display:flex;flex-direction:column;gap:5px}.admin-nav>div{padding:10px 12px 25px}.admin-nav small{display:block;opacity:.5;margin-top:3px}.admin-nav button{border:0;background:none;color:#ffffffb8;text-align:left;padding:11px 12px;border-radius:7px;cursor:pointer}.admin-nav button.active,.admin-nav button:hover{background:#ffffff12;color:white}.admin-main{padding:48px;max-width:1250px}.admin-panel{display:none}.admin-panel.active{display:block}.admin-panel h1{font-size:48px}.admin-head{display:flex;justify-content:space-between;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0 45px}.stats>div{background:white;border:1px solid var(--line);padding:20px;border-radius:10px}.stats span{font-size:9px;letter-spacing:.13em;color:var(--muted)}.stats b{font:600 36px "Fraunces";display:block;margin:8px 0}.stats small{color:var(--muted)}.queue>div{background:white;border:1px solid var(--line);padding:15px;margin:8px 0;border-radius:8px;display:grid;grid-template-columns:20px 1fr 1fr auto;align-items:center}.queue small{color:var(--muted)}.queue button{border:0;background:var(--cream);padding:8px 12px;border-radius:6px;cursor:pointer}.dot{width:9px;height:9px;border-radius:50%;display:block}.dot.amber{background:var(--amber)}.dot.green{background:#3c8b67}.dot.blue{background:#557da1}.admin-panel label{display:block;font-size:12px;font-weight:700;margin:18px 0}.admin-panel label input,.admin-panel label select,.admin-panel label textarea{margin-top:7px}.admin-panel textarea{min-height:300px;resize:vertical;line-height:1.6}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:15px}.editor-actions{display:flex;justify-content:flex-end;gap:10px}.review-flow{display:flex;gap:10px;align-items:center;background:white;border:1px solid var(--line);padding:16px;border-radius:9px}.review-flow b{font-size:12px}.active-step{color:var(--green)}.review-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}.review-cards>div,.board{background:white;border:1px solid var(--line);padding:20px;border-radius:10px}.review-cards span{font-size:9px;letter-spacing:.12em;color:var(--muted)}.review-cards b{float:right}.amber-text{color:var(--amber)}.green-text{color:#34795b}.big-status{display:inline-block;padding:9px 12px;border-radius:7px;font-weight:800}.amber-bg{background:#f2e4c8;color:#805515}.board ol{line-height:1.8}.output-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:25px 0}.output{padding:15px;border:1px solid var(--line);background:white;border-radius:8px;text-align:left;cursor:pointer}.output.selected{border-color:var(--green);background:var(--sage)}.post-bank{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:22px}.post-bank>div{background:white;border:1px solid var(--line);padding:18px;border-radius:9px}.approve{border:1px solid var(--green);background:none;color:var(--green);padding:7px 10px;border-radius:6px;cursor:pointer}.approve.done{background:var(--green);color:white}.filters{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}.filters button{border:1px solid var(--line);background:white;padding:8px 11px;border-radius:20px}.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.asset{background:white;border:1px solid var(--line);padding:12px;border-radius:10px}.thumb{height:150px;border-radius:7px;background:linear-gradient(135deg,#1e4c3d,#d3bf92);margin-bottom:12px}.t2{background:linear-gradient(145deg,#718a8b,#d9c9a1)}.t3{background:linear-gradient(145deg,#497466,#b7d2c4)}.t4{background:linear-gradient(145deg,#d4b96f,#203d35)}.t5{background:linear-gradient(145deg,#557864,#d8d8b8)}.t6{background:linear-gradient(145deg,#6d6f68,#c8b98f)}.asset b,.asset small{display:block}.asset small{color:var(--muted);margin-top:5px}.product-types{grid-template-columns:repeat(3,1fr)}.product-types b{font:600 24px "Fraunces"}.funnel{display:flex;align-items:center;gap:12px;margin-top:35px}.funnel div{flex:1;background:white;border:1px solid var(--line);padding:20px;border-radius:10px;text-align:center}.funnel b{font:600 30px "Fraunces";display:block}.funnel span{font-size:11px;color:var(--muted)}.funnel i{font-style:normal;color:var(--muted)}.note{color:var(--muted);font-size:12px;margin-top:15px}body>footer{padding:30px 8vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:12px}
@media(max-width:900px){.topbar{height:auto;padding:14px 18px;align-items:flex-start}.topbar nav{display:none}.hero{grid-template-columns:1fr;padding:70px 6vw}.principle-card{max-width:420px}.card-grid,.reset-grid,.product-grid,.stats,.asset-grid,.product-types{grid-template-columns:1fr 1fr}.strip{overflow:auto;gap:25px}.article-shell{grid-template-columns:1fr;padding:20px 6vw}.article-side{display:none}.email-gate,.simulator{grid-template-columns:1fr}.admin.active{grid-template-columns:1fr}.admin-nav{display:flex;flex-direction:row;overflow:auto;position:sticky;top:70px;z-index:4}.admin-nav>div{display:none}.admin-main{padding:28px 5vw}.review-cards,.post-bank,.output-grid{grid-template-columns:1fr 1fr}.funnel{overflow:auto}.funnel div{min-width:150px}}@media(max-width:600px){.hero h1,.section>h1,.article-main>h1{font-size:42px}.card-grid,.reset-grid,.product-grid,.stats,.asset-grid,.product-types,.facts,.review-cards,.post-bank,.output-grid,.two-col,.list-grid{grid-template-columns:1fr}.section{padding:55px 5vw}.strip{margin:20px 5vw 50px}.article-main>h1{font-size:42px}.sixty{grid-template-columns:1fr}.admin-main{padding:24px 4vw}.queue>div{grid-template-columns:16px 1fr}.queue small{grid-column:2}.queue button{grid-column:2;justify-self:start}.review-flow{overflow:auto}.admin-panel h1{font-size:38px}body>footer{flex-direction:column;gap:6px}}

.full-article{margin:40px 0;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.full-article-body{max-width:720px}
.full-article-body p{font:400 18px/1.8 "DM Sans";margin:0 0 22px;color:#2f3934}

/* v3 simplification: public site hides internal methodology */
.hero{grid-template-columns:minmax(0,900px);justify-content:start}
.verified-card{background:#f4f7f3;border:1px solid #dce6de;border-radius:10px}
.verified-card b{font-family:"DM Sans",sans-serif;font-size:18px}
.claude-stage{margin-top:18px;background:white;border:1px solid var(--line);padding:24px;border-radius:10px}
.stage-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}
.stage-head h2{font:600 30px "Fraunces";margin:0 0 8px}
.review-textarea{width:100%;min-height:260px;padding:16px;border:1px solid var(--line);border-radius:8px;background:#fbfaf6;font:400 13px/1.6 "DM Sans";margin:12px 0}
.review-textarea.revised{min-height:190px}
.reconcile-table{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin:18px 0 28px}
.reconcile-row{display:grid;grid-template-columns:1.4fr .65fr 1.2fr;gap:15px;padding:14px 16px;border-top:1px solid var(--line);align-items:start;font-size:13px}
.reconcile-row:first-child{border-top:0}
.reconcile-row.head{background:var(--cream)}
.reconcile-row .agree{color:#34795b;font-weight:700}
.reconcile-row .partial{color:var(--amber);font-weight:700}
.reconcile-row .reject{color:var(--red);font-weight:700}
.reconcile-row .decision{color:#5a618f;font-weight:700}
@media(max-width:600px){.reconcile-row{grid-template-columns:1fr}.stage-head{flex-direction:column}}

/* V4 article architecture */
.unlocked-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;margin-top:26px}
.facts-single{grid-template-columns:1fr}
.fact{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}
.fact b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:var(--green);font-family:"DM Sans";font-size:11px}
.fact span{line-height:1.5}
.glance-list{display:flex;flex-direction:column;gap:8px;margin-top:18px}
.glance-item{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:14px 16px;background:white;border:1px solid var(--line);border-radius:9px}
.glance-item b{font-size:13px}
.glance-item span{font-size:13px;color:#4d5752;line-height:1.5}
.article-dropdown{border:1px solid var(--line);border-radius:10px;background:white;margin-top:16px;overflow:hidden}
.article-dropdown summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;cursor:pointer}
.article-dropdown summary::-webkit-details-marker{display:none}
.article-dropdown summary span:first-child{display:flex;flex-direction:column;gap:3px}
.article-dropdown summary small{font-size:9px;letter-spacing:.14em;color:var(--green);font-weight:800}
.article-dropdown summary b{font:600 21px "Fraunces"}
.article-dropdown .chev{font-size:22px;transition:.2s}
.article-dropdown[open] .chev{transform:rotate(180deg)}
.dropdown-body{padding:5px 22px 24px;border-top:1px solid var(--line)}
.sources-list{display:flex;flex-direction:column;gap:10px}
.source-item{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #ece9e1}
.source-item b{color:var(--green)}
.article-simulator-card{margin:22px 0;padding:26px;background:var(--green);color:white;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.article-simulator-card .eyebrow{color:#dbe8df}
.article-simulator-card h2{color:white;margin:0 0 6px}
.article-simulator-card p{margin-bottom:0;opacity:.82}
.article-simulator-card .primary{background:white;color:var(--green);border-color:white;white-space:nowrap}
.simulator-v4{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;margin-top:38px}
.sim-workspace{background:white;border:1px solid var(--line);border-radius:14px;padding:28px}
.sim-workspace h2{font:600 34px "Fraunces";margin-top:0}
.sim-workspace textarea{width:100%;min-height:180px;padding:15px;border:1px solid var(--line);border-radius:9px;font:inherit;resize:vertical;margin-bottom:12px}
.sim-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}
.sim-meta>div{padding:14px;background:#ffffff10;border:1px solid #ffffff18;border-radius:8px}
.sim-meta small{font-size:9px;letter-spacing:.12em;opacity:.65}
.sim-meta p{font-size:12px;line-height:1.5;margin:5px 0 0}
.constraints #simConstraints{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.decision-result{margin-top:18px;padding:18px;background:var(--cream);border-radius:9px;line-height:1.6}
.guided-options{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.guided-options>span{font-size:11px;color:var(--muted)}
#guidedChoices{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.guided-choice{border:1px solid var(--line);background:white;padding:12px 14px;border-radius:8px;text-align:left;cursor:pointer}
.guided-choice:hover{border-color:var(--green);background:#f7f9f6}
.editor-module{margin:22px 0;padding:20px;background:white;border:1px solid var(--line);border-radius:10px}
.module-head h2{font:600 27px "Fraunces";margin:0}
.component-list{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}
.component-list span{padding:8px 10px;background:var(--cream);border-radius:20px;font-size:11px}
.toggle-row{display:flex!important;align-items:center;gap:8px;font-weight:600!important}
.toggle-row input{width:auto!important;margin:0!important}
@media(max-width:900px){.unlocked-grid,.simulator-v4{grid-template-columns:1fr}.article-simulator-card{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.glance-item{grid-template-columns:1fr}.sim-meta{grid-template-columns:1fr}}

.original-note{
  margin:18px 22px 0;
  padding:12px 14px;
  background:var(--cream);
  border-left:3px solid var(--green);
  font-size:12px;
  color:var(--muted);
  line-height:1.5
}
.article-dropdown[open] summary{
  background:#f8f8f4
}

/* V5 image placeholders only */
.article-image-placeholder{
  width:100%;
  aspect-ratio:16/9;
  margin:28px 0 10px;
  border:1.5px dashed #bfc4bf;
  background:linear-gradient(135deg,#f1f2ef,#e5e8e4);
  border-radius:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#7a837e;
  gap:5px
}
.article-image-placeholder .image-icon,
.admin-image-placeholder .image-icon{
  font-size:42px;
  opacity:.6
}
.article-image-placeholder b,
.admin-image-placeholder b{font-size:15px}
.article-image-placeholder span,
.admin-image-placeholder span{font-size:11px}
.image-manager{margin-top:24px}
.admin-image-placeholder{
  min-height:210px;
  border:1.5px dashed #bfc4bf;
  background:#f7f7f4;
  border-radius:10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#7a837e;
  gap:5px;
  margin:14px 0
}
.image-actions{display:flex;gap:8px;flex-wrap:wrap}
.image-action-note{
  margin-top:12px;
  padding:11px 13px;
  background:var(--cream);
  border-radius:8px;
  font-size:12px;
  color:var(--muted)
}
.image-action:disabled{
  cursor:not-allowed;
  opacity:.5;
  background:transparent;
  color:var(--muted);
  border-color:var(--line);
  pointer-events:none
}
.field-invalid{
  border-color:#a32323!important;
  box-shadow:0 0 0 1px #a32323
}
.field-error{
  color:#a32323;
  font-size:12px;
  margin:-10px 0 16px
}
.readiness-list{
  list-style:none;
  margin:8px 0 20px;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px
}
.readiness-list li{
  font-size:13px;
  font-weight:600
}
.readiness-list li.ready{color:#2d7354}
.readiness-list li.not-ready{color:var(--muted)}
.provenance-list{
  margin:8px 0;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:4px 14px;
  font-size:13px
}
.provenance-list dt{color:var(--muted);font-weight:700}
.provenance-list dd{margin:0}

/* V6 public editorial refinement */
.hero-v6{
  min-height:560px;
  padding:72px 8vw;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
  background:
    radial-gradient(circle at 80% 25%,#e2ebe4,transparent 30%),
    linear-gradient(135deg,#fbfaf6,#f2eee5)
}
.hero-copy{max-width:760px}
.hero-v6 h1{
  font:700 clamp(46px,6vw,78px)/.98 "Fraunces",serif;
  letter-spacing:-.04em;
  margin:0 0 22px
}
.hero-meta{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0 26px;color:var(--muted);font-size:12px}
.hero-image-placeholder{
  width:100%;
  aspect-ratio:16/10;
  border:1.5px dashed #b9c1bb;
  background:
    linear-gradient(135deg,rgba(36,77,62,.06),rgba(181,138,69,.08)),
    #eef0ec;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  color:#7a837e;
  gap:6px;
  box-shadow:0 24px 50px rgba(23,35,31,.08)
}
.hero-image-placeholder .image-icon{font-size:58px;opacity:.5}
.hero-image-placeholder b{font:600 18px "Fraunces"}
.hero-image-placeholder span{font-size:11px}

.editorial-features{
  padding:0 8vw 34px;
  display:grid;
  grid-template-columns:1.25fr .9fr .9fr;
  gap:16px
}
.feature-panel{
  border:1px solid var(--line);
  border-radius:14px;
  padding:24px;
  background:white;
  min-height:220px
}
.feature-panel:first-child{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;align-items:center}
.feature-panel h2{font:600 30px/1.05 "Fraunces";margin:0 0 10px}
.feature-panel p{color:var(--muted);line-height:1.55}
.feature-placeholder{
  min-height:160px;
  border-radius:10px;
  background:linear-gradient(135deg,#dce6de,#ece7da);
  display:grid;
  place-items:center;
  color:var(--green);
  font-size:10px;
  letter-spacing:.14em;
  font-weight:800
}
.feature-dark{background:var(--ink);color:white;border-color:var(--ink)}
.feature-dark p{color:#ffffffb3}
.feature-dark .eyebrow{color:#cbd8d0}
.light-link{color:white}

.story-card{position:relative;overflow:hidden}

.article-heading-block{
  padding:8px 0 8px
}
.article-hero-image{
  aspect-ratio:16/8.5;
  margin:24px 0 34px;
  border-radius:14px
}

.site-footer{
  background:var(--ink);
  color:white;
  padding:48px 8vw 26px;
  border-top:0
}
.footer-top{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:start;
  padding-bottom:30px;
  border-bottom:1px solid #ffffff1c
}
.footer-brand{display:flex;gap:14px;align-items:flex-start}
.footer-brand .brand-mark{background:white;color:var(--green)}
.footer-brand b{font:600 26px "Fraunces"}
.footer-brand p{margin:6px 0 0;color:#ffffff9f}
.footer-email label{display:block;font-weight:700;margin-bottom:9px}
.footer-email>div{display:flex;gap:8px}
.footer-email input{
  flex:1;
  padding:12px 13px;
  border-radius:8px;
  border:1px solid #ffffff28;
  background:#ffffff0d;
  color:white;
  font:inherit
}
.footer-email input::placeholder{color:#ffffff72}
.footer-email small{display:block;margin-top:7px;color:#ffffff80}
.consent-check{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:400;cursor:pointer}
.consent-check input[type="checkbox"]{width:auto;flex:0 0 auto;margin:3px 0 0}
.unlock-privacy{font-size:12px;color:var(--muted);margin:0}
.premium-offers{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0}
.premium-offer{flex:1;min-width:150px;border:1px solid var(--line);border-radius:10px;padding:16px;background:white;display:flex;flex-direction:column;gap:8px}
.premium-offer b{font:600 18px "Fraunces",serif}
.premium-offer span{color:var(--muted);font-size:14px}
#premiumPending{border:1px solid var(--line);border-radius:10px;padding:16px;background:var(--cream)}
.footer-links{
  display:flex;
  gap:8px 18px;
  flex-wrap:wrap;
  padding:24px 0 18px;
  color:#ffffffa8;
  font-size:12px
}
.footer-links button{
  border:0;background:none;color:#ffffffd0;padding:0;cursor:pointer;font:inherit
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  color:#ffffff72;
  font-size:11px
}

@media(max-width:1000px){
  .hero-v6{grid-template-columns:1fr}
  .editorial-features{grid-template-columns:1fr 1fr}
  .feature-panel:first-child{grid-column:1/-1}
}
@media(max-width:700px){
  .hero-v6{padding:54px 5vw}
  .editorial-features{padding:0 5vw 28px;grid-template-columns:1fr}
  .feature-panel:first-child{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .footer-email>div{flex-direction:column}
  .footer-bottom{flex-direction:column}
}

/* V7 mobile-first refinement */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
button,input,summary{touch-action:manipulation}

.mobile-nav-label{display:none}

/* Footer accordion */
.footer-top-v7{
  grid-template-columns:minmax(0,1fr) minmax(320px,520px);
  gap:40px
}
.footer-accordions{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  padding:22px 0 18px
}
.footer-accordions details{
  border:1px solid #ffffff1c;
  border-radius:10px;
  background:#ffffff06;
  overflow:hidden
}
.footer-accordions summary{
  list-style:none;
  cursor:pointer;
  padding:14px 16px;
  font-weight:700;
  position:relative
}
.footer-accordions summary::-webkit-details-marker{display:none}
.footer-accordions summary::after{
  content:"+";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  font-size:20px;
  color:#ffffffa6
}
.footer-accordions details[open] summary::after{content:"–"}
.footer-dropdown-links{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:0 16px 16px;
  color:#ffffffb5;
  font-size:12px
}
.footer-dropdown-links button{
  border:0;
  background:none;
  color:#ffffffd5;
  font:inherit;
  text-align:left;
  padding:0;
  cursor:pointer
}

/* Better readable widths */
.article-shell,
.article-layout,
.article-wrap,
.reader-column{
  max-width:1100px;
  margin-left:auto;
  margin-right:auto
}
.article-heading-block{
  max-width:820px
}
.article-heading-block h1{
  max-width:820px
}

/* Mobile touch targets */
.primary,.secondary,.text-link,.nav-links button,.footer-dropdown-links button{
  min-height:44px
}

/* Responsive simulator/admin protection */
.simulator-grid,
.challenge-grid,
.repurpose-grid,
.asset-grid,
.product-grid,
.admin-grid{
  min-width:0
}

@media(max-width:900px){
  .hero-v6{
    grid-template-columns:1fr;
    gap:30px;
    padding:48px 6vw
  }
  .hero-v6 h1{
    font-size:clamp(40px,10vw,62px)
  }
  .hero-image-placeholder{
    aspect-ratio:16/10
  }

  .editorial-features{
    grid-template-columns:1fr;
    padding:0 6vw 28px
  }
  .feature-panel:first-child{
    grid-column:auto;
    grid-template-columns:1fr
  }

  .cards,
  .card-grid,
  .story-grid,
  .article-grid,
  .simulator-grid,
  .challenge-grid,
  .repurpose-grid,
  .asset-grid,
  .product-grid,
  .admin-grid{
    grid-template-columns:1fr !important
  }

  .footer-top-v7{
    grid-template-columns:1fr
  }
}

@media(max-width:700px){
  body{font-size:16px}
  header, .topbar, .site-header{
    padding-left:5vw;
    padding-right:5vw
  }

  .mobile-nav-label{
    display:block;
    font-size:10px;
    letter-spacing:.14em;
    font-weight:800;
    color:var(--muted);
    margin-left:auto
  }

  .nav-links{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding-bottom:4px
  }
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links button{
    flex:0 0 auto;
    padding:10px 12px
  }

  .hero-v6{
    min-height:auto;
    padding:38px 5vw 42px
  }
  .hero-v6 h1{
    font-size:clamp(36px,11vw,50px);
    line-height:1
  }
  .hero-v6 .lede{
    font-size:18px
  }
  .hero-meta{
    gap:8px 12px
  }
  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px
  }
  .hero-actions button{
    width:100%
  }

  .section,
  .article-shell,
  .view,
  main{
    padding-left:5vw;
    padding-right:5vw
  }

  .story-card{
    padding:20px
  }


  .article-heading-block h1{
    font-size:clamp(34px,10vw,48px)
  }
  .standfirst{
    font-size:18px;
    line-height:1.5
  }
  .article-hero-image{
    aspect-ratio:16/10;
    margin:18px 0 26px
  }

  details summary{
    min-height:48px;
    display:flex;
    align-items:center
  }

  .unlock-box form,
  .email-unlock,
  .email-form,
  .footer-email>div{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important
  }
  .unlock-box input,
  .email-unlock input,
  .email-form input,
  .footer-email input,
  textarea,
  select{
    width:100%;
    font-size:16px
  }
  .unlock-box button,
  .email-unlock button,
  .email-form button,
  .footer-email button{
    width:100%
  }

  .footer-accordions{
    grid-template-columns:1fr;
    gap:8px;
    padding:20px 0
  }
  .footer-accordions details{
    width:100%
  }
  .footer-accordions summary{
    min-height:50px;
    display:flex;
    align-items:center
  }
  .footer-bottom{
    flex-direction:column;
    gap:6px
  }

  .simulator-actions,
  .image-actions,
  .action-row,
  .toolbar,
  .button-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important
  }
  .simulator-actions button,
  .image-actions button,
  .action-row button,
  .toolbar button,
  .button-row button{
    width:100%
  }

  .admin-shell,
  .admin-content{
    padding-left:4vw;
    padding-right:4vw
  }
}

@media(max-width:420px){
  .hero-v6 h1{font-size:38px}
  .feature-panel h2{font-size:26px}
  .footer-brand b{font-size:22px}
  .brand-mark{transform:scale(.92);transform-origin:left center}
}

/* V8 fluid responsive layout — phone, tablet, laptop, desktop */
:root{
  --page-gutter:clamp(16px,4vw,72px);
  --content-wide:min(1440px,calc(100vw - (var(--page-gutter) * 2)));
  --content-reading:min(820px,100%);
  --section-gap:clamp(30px,5vw,72px);
}

*{box-sizing:border-box}
img,video,svg,canvas{max-width:100%;height:auto}
main,section,article,aside,div{min-width:0}

.site-header,
.topbar,
header{
  width:100%;
}

.hero-v6,
.editorial-features,
.section,
.strip,
.article-shell,
.article-layout,
.view,
.admin-shell,
.admin-content,
.site-footer{
  width:100%;
}

.hero-v6,
.editorial-features,
.section,
.strip,
.article-shell,
.view{
  padding-left:var(--page-gutter);
  padding-right:var(--page-gutter);
}

.hero-v6{
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:clamp(28px,4vw,64px);
  padding-top:clamp(42px,6vw,86px);
  padding-bottom:clamp(42px,6vw,86px);
}

.hero-copy{
  width:100%;
  max-width:760px;
}

.hero-v6 h1{
  font-size:clamp(38px,5.4vw,82px);
}

.hero-image-placeholder{
  width:100%;
  max-width:720px;
  justify-self:end;
}

.editorial-features{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,2vw,24px);
}

.feature-panel:first-child{
  grid-template-columns:minmax(140px,.8fr) minmax(0,1.2fr);
}

.cards,
.card-grid,
.story-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap:clamp(14px,2vw,24px);
}

.article-shell,
.article-layout,
.article-wrap,
.reader-column{
  width:100%;
  max-width:1120px;
}

.article-heading-block,
.article-body,
.article-content,
.reading-column{
  width:100%;
  max-width:var(--content-reading);
}

.article-hero-image{
  width:100%;
}

.site-footer{
  padding-left:var(--page-gutter);
  padding-right:var(--page-gutter);
}

.footer-top-v7{
  grid-template-columns:minmax(0,1fr) minmax(280px,520px);
  gap:clamp(24px,4vw,56px);
}

.footer-accordions{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
}

input,textarea,select,button{
  max-width:100%;
}

textarea{
  resize:vertical;
}

table{
  width:100%;
  max-width:100%;
}

.admin-grid,
.simulator-grid,
.challenge-grid,
.repurpose-grid,
.asset-grid,
.product-grid{
  gap:clamp(14px,2vw,24px);
}

/* Tablet landscape / small laptop */
@media(max-width:1100px){
  .hero-v6{
    grid-template-columns:minmax(0,1fr) minmax(280px,.85fr);
  }

  .editorial-features{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .feature-panel:first-child{
    grid-column:1/-1;
  }
}

/* Tablet portrait */
@media(max-width:820px){
  .hero-v6{
    grid-template-columns:1fr;
  }

  .hero-image-placeholder{
    justify-self:stretch;
    max-width:none;
  }

  .editorial-features{
    grid-template-columns:1fr;
  }

  .feature-panel:first-child{
    grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr);
  }

  .footer-top-v7{
    grid-template-columns:1fr;
  }

  .footer-accordions{
    grid-template-columns:1fr;
  }
}

/* Phone */
@media(max-width:560px){
  :root{
    --page-gutter:16px;
  }

  .hero-v6{
    padding-top:34px;
    padding-bottom:38px;
  }

  .hero-v6 h1{
    font-size:clamp(34px,11vw,46px);
  }

  .feature-panel:first-child{
    grid-template-columns:1fr;
  }

  .hero-actions,
  .image-actions,
  .action-row,
  .toolbar,
  .button-row,
  .simulator-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  .hero-actions button,
  .image-actions button,
  .action-row button,
  .toolbar button,
  .button-row button,
  .simulator-actions button{
    width:100%;
  }

  .footer-email>div{
    display:grid;
    grid-template-columns:1fr;
  }
}

/* Wide desktop: prevent lines/cards becoming over-stretched */
@media(min-width:1500px){
  .hero-v6,
  .editorial-features,
  .section,
  .strip{
    padding-left:max(var(--page-gutter),calc((100vw - 1440px)/2));
    padding-right:max(var(--page-gutter),calc((100vw - 1440px)/2));
  }

  .site-footer{
    padding-left:max(var(--page-gutter),calc((100vw - 1440px)/2));
    padding-right:max(var(--page-gutter),calc((100vw - 1440px)/2));
  }
}

/* V8.1 footer copyright spacing fix */
.footer-bottom{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  column-gap:24px;
  row-gap:6px;
  padding-top:14px;
  margin-top:0;
}
.footer-bottom span{
  display:block;
  margin:0;
  line-height:1.45;
}
.footer-bottom span:last-child{
  margin-left:auto;
  text-align:right;
}

@media(max-width:760px){
  .footer-bottom{
    justify-content:flex-start;
    column-gap:14px;
  }
  .footer-bottom span:last-child{
    margin-left:0;
    text-align:left;
  }
}

@media(max-width:520px){
  .footer-bottom{
    display:grid;
    grid-template-columns:1fr;
    gap:4px;
    padding-top:12px;
  }
}

/* V8.2 footer structural fix
   Reset legacy footer grid rules that were causing overlap. */
.site-footer{
  display:block !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  overflow:visible !important;
}

.site-footer > *{
  width:100%;
  max-width:1440px;
  margin-left:auto;
  margin-right:auto;
}

.footer-top-v7{
  display:grid !important;
  grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr) !important;
  gap:clamp(28px,5vw,72px) !important;
  align-items:start;
  padding:0 0 28px;
}

.footer-brand{
  display:flex !important;
  align-items:flex-start;
  gap:14px;
  min-width:0;
}

.footer-brand .brand-mark{
  flex:0 0 auto;
}

.footer-brand > div{
  min-width:0;
  max-width:420px;
}

.footer-brand b{
  display:block;
  white-space:normal;
  line-height:1.08;
}

.footer-brand p{
  max-width:34ch;
  line-height:1.5;
}

.footer-email{
  min-width:0;
  width:100%;
}

.footer-email > div{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:10px !important;
  width:100%;
}

.footer-email input{
  min-width:0;
  width:100%;
}

.footer-accordions{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  padding:22px 0 18px !important;
  clear:both;
}

.footer-accordions details{
  width:100%;
  min-width:0;
}

.footer-bottom{
  border-top:1px solid #ffffff18;
  padding:16px 0 0 !important;
  margin-top:4px !important;
}

@media(max-width:900px){
  .footer-top-v7{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  .footer-accordions{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:560px){
  .footer-email > div{
    grid-template-columns:1fr !important;
  }

  .footer-email button{
    width:100%;
  }

  .footer-brand > div{
    max-width:none;
  }
}

/* V8.3 configurable admin appearance */
.admin{
  --admin-sidebar:#17231f;
  --admin-accent:#244d3e;
  --admin-workspace:#f5f4ef;
  --admin-card:#ffffff;
  --admin-card-border:#d8d5cc;
  --admin-sidebar-text:#ffffff;
  background:var(--admin-workspace) !important;
}
.admin-nav{
  background:var(--admin-sidebar) !important;
}
.admin-nav button.active,
.admin-nav button:hover{
  background:color-mix(in srgb,var(--admin-accent) 65%,white 10%) !important;
  color:var(--admin-sidebar-text) !important;
}
.admin .primary{
  background:var(--admin-accent) !important;
  border-color:var(--admin-accent) !important;
}
.admin .secondary,
.admin .text-link,
.admin .eyebrow{
  color:var(--admin-accent);
}
.admin .secondary{
  border-color:var(--admin-accent);
}
.admin .stats>div,
.admin .queue>div,
.admin .review-cards>div,
.admin .board,
.admin .post-bank>div,
.admin .asset,
.admin .product-types>div,
.admin .appearance-preview,
.admin .custom-theme-card{
  background:var(--admin-card);
  border-color:var(--admin-card-border);
}

/* Appearance screen */
.appearance-preview{
  display:grid;
  grid-template-columns:200px minmax(0,1fr);
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  min-height:270px;
  margin:28px 0 36px;
}
.appearance-preview-nav{
  background:var(--admin-sidebar);
  color:white;
  padding:24px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.appearance-preview-nav b{
  margin-bottom:14px;
  font-size:12px;
  letter-spacing:.1em;
}
.appearance-preview-nav span{
  padding:10px 12px;
  border-radius:7px;
  opacity:.7;
}
.appearance-preview-nav span.active{
  background:var(--admin-accent);
  opacity:1;
}
.appearance-preview-main{
  background:var(--admin-workspace);
  padding:30px;
}
.appearance-preview-main h2{
  font:600 34px "Fraunces";
  margin:10px 0 22px;
}
.appearance-chip{
  font-size:10px;
  letter-spacing:.15em;
  color:var(--admin-accent);
  font-weight:800;
}
.appearance-preview-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,180px));
  gap:12px;
  margin-bottom:20px;
}
.appearance-preview-cards>div{
  background:var(--admin-card);
  border:1px solid var(--line);
  border-radius:9px;
  padding:16px;
}
.appearance-preview-cards small{
  display:block;
  color:var(--muted);
}
.appearance-preview-cards b{
  display:block;
  font:600 30px "Fraunces";
  margin-top:6px;
}
.admin-preview-button{
  border:0;
  border-radius:8px;
  padding:12px 16px;
  background:var(--admin-accent);
  color:white;
  font-weight:700;
}
.theme-presets{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:16px 0 32px;
}
.theme-preset{
  display:grid;
  grid-template-columns:52px 1fr;
  grid-template-rows:auto auto;
  gap:2px 12px;
  align-items:center;
  text-align:left;
  padding:14px;
  background:white;
  border:1px solid var(--line);
  border-radius:10px;
  cursor:pointer;
}
.theme-preset.active{
  border:2px solid var(--admin-accent);
}
.theme-swatch{
  grid-row:1/3;
  width:52px;
  height:42px;
  border-radius:7px;
}
.forest-swatch{background:linear-gradient(90deg,#17231f 0 50%,#244d3e 50%)}
.slate-swatch{background:linear-gradient(90deg,#22272b 0 50%,#5a6770 50%)}
.navy-swatch{background:linear-gradient(90deg,#152235 0 50%,#315b7d 50%)}
.warm-swatch{background:linear-gradient(90deg,#28231f 0 50%,#916b3c 50%)}
.theme-preset small{color:var(--muted)}
.custom-theme-card{
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px;
}
.theme-controls{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:18px 0;
}
.theme-controls label{
  margin:0 !important;
}
.theme-controls input[type=color]{
  display:block;
  width:100%;
  height:52px;
  padding:4px;
  cursor:pointer;
}
.appearance-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
@media(max-width:900px){
  .theme-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .theme-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .appearance-preview{grid-template-columns:1fr}
  .appearance-preview-nav{display:none}
  .theme-presets,.theme-controls{grid-template-columns:1fr}
}

/* V8.4 sitewide theme controls */
:root{
  --site-ink:#17231f;
  --site-accent:#244d3e;
  --site-bg:#fbfaf6;
  --site-surface:#ffffff;
}

/* map public theme variables to configurable site tokens */
body{
  background:var(--site-bg) !important;
}
.site-header,
.topbar,
header{
  background:var(--site-bg);
}
.hero-v6,
.section,
.view{
  background-color:var(--site-bg);
}
.story-card,
.feature-panel:not(.feature-dark),
.article-image-placeholder,
.unlock-box,
.site-card{
  background:var(--site-surface);
}
.feature-dark,
.site-footer,
.strip{
  background:var(--site-ink) !important;
}
.primary{
  background:var(--site-accent);
  border-color:var(--site-accent);
}
.secondary,
.text-link,
.eyebrow{
  color:var(--site-accent);
}
.secondary{
  border-color:var(--site-accent);
}
.brand-mark{
  background:var(--site-accent);
}
.hero-v6 h1,
.article-heading-block h1,
.feature-panel h2,
h1,h2,h3{
  color:inherit;
}

/* theme scope UI */
.theme-scope-controls{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:16px 0 28px;
}
.scope-option{
  display:flex !important;
  align-items:center;
  gap:10px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:10px;
  cursor:pointer;
  background:var(--admin-card);
  margin:0 !important;
}
.scope-option input{
  width:auto !important;
  margin:0;
}
.scope-option span{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.scope-option small{
  color:var(--muted);
}

@media(max-width:700px){
  .theme-scope-controls{
    grid-template-columns:1fr;
  }
}

.article-image{width:100%;aspect-ratio:16/9;object-fit:cover} textarea{max-width:100%}.phase-status{padding:12px;background:var(--site-surface);position:sticky;top:0;z-index:100} .phase-error{color:#a32323} input,select,textarea{box-sizing:border-box} .admin-main{min-width:0}

/* V1.1A reader experience. Admin and its appearance tokens remain independent. */
:is(#home,#article,#investigations,#reset,#creative,#simulator){overflow-wrap:anywhere;color:var(--ink);font-size:1rem;line-height:1.65}
:is(#home,#article,#investigations,#reset,#creative,#simulator) :is(h1,h2,h3){text-wrap:balance;line-height:1.12;letter-spacing:-.035em}
:is(#home,#article,#investigations,#reset,#creative,#simulator) :is(button,input,textarea){font-size:1rem}
:is(#home,#article,#investigations,#reset,#creative,#simulator) :is(button,a,input,textarea,summary):focus-visible,.topbar button:focus-visible,.site-footer :is(button,input,summary):focus-visible{outline:3px solid var(--green);outline-offset:5px}
:is(#home,#article,#investigations,#reset,#creative,#simulator) :is(.primary,.secondary,.ghost,.text-link){min-height:44px;cursor:pointer;transition:opacity .15s ease,background-color .15s ease}
:is(#home,#article,#investigations,#reset,#creative,#simulator) button:hover{opacity:.8}
body:not(:has(#admin.active)) .topbar{height:auto;min-height:100px;padding:24px clamp(20px,4vw,72px);gap:24px;flex-wrap:wrap;position:relative}
body:not(:has(#admin.active)) .topbar nav{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
body:not(:has(#admin.active)) .topbar nav button{min-height:44px;font-size:.9rem;padding:8px 0}
body:not(:has(#admin.active)) .brand strong{font-size:clamp(1.25rem,2vw,1.6rem)}
#home .hero{max-width:1440px;margin:auto;padding:72px clamp(20px,4vw,72px);display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}
#home .hero h1{font-size:clamp(2.6rem,4.8vw,5.2rem);max-width:14ch;margin:20px 0 24px}
#home .hero .lede{font-size:1.2rem;line-height:1.6;max-width:44ch}
#home .hero-meta{flex-wrap:wrap;font-size:.875rem;gap:12px;margin:24px 0}
#home .hero-actions{display:flex;flex-wrap:wrap;gap:12px}
#home .hero-image-placeholder{aspect-ratio:4/5;min-height:0;height:auto;border:0;border-radius:0;overflow:hidden;background:var(--green);color:var(--paper);display:grid;place-items:center}
#home .hero-image-placeholder img{width:100%;height:100%;object-fit:cover}
:is(#home,#article) .image-fallback{font:500 clamp(1.5rem,3vw,3rem)/1.15 "Fraunces",Georgia,serif;text-align:center;padding:32px;max-width:12ch;color:inherit}
#home #window{max-width:1440px;margin:auto;padding:32px clamp(20px,4vw,72px) 72px}
#home .section-head{border-top:2px solid var(--ink);padding-top:24px;gap:20px;align-items:end}
#home .section-head h2{font-size:clamp(2rem,3vw,3rem)}
#home .card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 28px}
#home .story-card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;min-width:0}
#home .story-card .article-image-placeholder{aspect-ratio:16/10;border:0;border-radius:0;background:var(--green);color:var(--paper);margin-bottom:24px;overflow:hidden}
#home .story-card h3{font-size:1.8rem;margin:12px 0}
#home .story-card p{font-size:1rem;line-height:1.65}
#home .story-card footer{padding:12px 0;border-top:1px solid var(--line);font-size:.875rem;gap:12px}
:is(#home,#article,#investigations) .eyebrow,:is(#home,#article) .cat{font-size:.8rem;letter-spacing:.12em}
#home .editorial-features{max-width:1296px;margin:0 auto 72px;padding:0 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
#home .feature-panel{display:block;border:0;border-radius:0;padding:24px 0;border-top:1px solid var(--line);background:transparent;color:var(--ink)}
#home .feature-panel h2{font-size:2rem}
#home .feature-placeholder{display:none}
#home .feature-panel .light-link{color:var(--green)}
#home .strip{max-width:1296px;margin:0 auto 64px;flex-wrap:wrap;border-radius:0;background:transparent;border-block:1px solid var(--line);padding:28px;gap:24px}
#article{max-width:1440px;margin:auto}
#article>.back{margin:32px clamp(20px,4vw,72px) 0;min-height:44px}
#article .article-shell{padding:32px clamp(20px,4vw,72px) 88px;grid-template-columns:minmax(0,1fr) 210px;gap:56px}
#article .article-main{min-width:0}
#article .article-heading-block h1{font-size:clamp(2.5rem,5vw,5.4rem);max-width:19ch;margin:16px 0 28px}
#article .standfirst{font-size:1.25rem;line-height:1.65;max-width:60ch}
#article .article-hero-image{aspect-ratio:16/9;min-height:0;border:0;border-radius:0;background:var(--green);color:var(--paper);margin:36px 0;overflow:hidden;display:grid;place-items:center}
#article .sixty{display:grid;grid-template-columns:110px minmax(0,1fr);gap:28px;background:transparent;border:0;border-block:2px solid var(--green);border-radius:0;padding:36px 0;margin:40px 0}
#article .timer{font:600 1.5rem/1.2 "Fraunces",Georgia,serif;background:transparent;color:var(--green);padding:0;letter-spacing:0}
#article #articleBody p{font-size:1.2rem;line-height:1.8;margin:0 0 20px}
#article .email-gate{display:grid;grid-template-columns:1fr;background:var(--cream);border:1px solid var(--line);border-radius:0;padding:clamp(20px,4vw,40px);gap:24px;margin:40px 0}
#article .email-gate h3{font-size:2rem}
#article #unlockForm{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
#article #unlockForm label,#article #unlockForm p{flex-basis:100%}
#article #unlockForm input{flex:1;min-width:0;width:auto;min-height:48px}
#article #unlockForm p{font-size:.9rem;line-height:1.6;margin:8px 0 0}
#article #unlockForm .consent-check input[type="checkbox"]{width:auto;height:auto;min-height:0;padding:0;flex:0 0 auto}
#article .unlocked-grid{display:block;margin:48px 0}
#article .unlocked-grid>section{margin:40px 0}
#article .fact,#article .glance-item{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:20px 0;font-size:1.05rem;line-height:1.7}
#article .article-dropdown{border:0;border-block:1px solid var(--line);border-radius:0;background:transparent;margin:32px 0}
#article .article-dropdown summary{padding:24px 0;cursor:pointer;font-size:1.2rem;min-height:44px}
#article .original-note{padding:0 0 24px;color:var(--muted)}
#article .dropdown-body{padding:0 0 24px}
#article .full-article-body{max-width:68ch}
#article .full-article-body p{font:400 1.2rem/1.85 "DM Sans",sans-serif;color:var(--ink);margin:0 0 1.5em}
#article .source-item{background:transparent;font-size:1rem;line-height:1.7;padding:16px 0;border-bottom:1px solid var(--line)}
#article .article-side{padding-top:16px}
#article .side-card{background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;padding:24px 0}
#article .side-card b{font-size:1.1rem}
#article .side-card p{font-size:.9rem}
#article .article-simulator-card{border:0;border-block:2px solid var(--green);border-radius:0;background:transparent;padding:32px 0;gap:24px;flex-wrap:wrap}
#article .article-simulator-card h2{font-size:2.3rem}
#investigations{max-width:1296px;margin:auto;padding:64px 24px}
#investigations h1{font-size:clamp(2.5rem,5vw,5rem)}
#investigations .list-grid{display:block;margin-top:48px}
#investigations .library-item{display:grid;grid-template-columns:140px 1fr 1fr auto;align-items:start;gap:24px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:28px 0}
#investigations .library-item b{font:500 1.7rem/1.25 "Fraunces",Georgia,serif}
body:not(:has(#admin.active)) .site-footer{display:block;padding:48px clamp(20px,4vw,72px);font-size:1rem}
body:not(:has(#admin.active)) .site-footer .footer-top{gap:40px;align-items:start}
body:not(:has(#admin.active)) .site-footer :is(button,input,summary){font-size:.95rem;min-height:44px}
body:not(:has(#admin.active)) .site-footer .footer-bottom{margin-top:32px;gap:16px;flex-wrap:wrap;font-size:.875rem}
@media(max-width:1000px){#home .hero{gap:28px}#home .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#home .editorial-features{grid-template-columns:1fr}#article .article-shell{grid-template-columns:minmax(0,1fr)}#article .article-side{display:block;max-width:68ch}#investigations .library-item{grid-template-columns:1fr 2fr}#home .hero h1{font-size:3rem}}
@media(max-width:640px){#home .hero{grid-template-columns:1fr;padding-block:36px}#home .hero h1{font-size:2.7rem;max-width:none}#home .hero-image-placeholder{aspect-ratio:16/10}#home .card-grid{grid-template-columns:1fr}#home .section-head{align-items:start;flex-direction:column}#article .sixty{grid-template-columns:1fr;gap:16px}#article .timer br{display:none}#article .timer{word-spacing:.2em}#article .article-shell{gap:24px}#article #unlockForm input,#article #unlockForm button{width:100%;flex-basis:100%}#investigations .library-item{grid-template-columns:1fr;gap:12px}body:not(:has(#admin.active)) .topbar{padding:20px;gap:16px}body:not(:has(#admin.active)) .topbar nav{gap:4px 16px}#home .strip .arrow{display:none}}
@media(prefers-reduced-motion:reduce){:is(#home,#article,#investigations,#reset,#creative,#simulator) *{scroll-behavior:auto!important;transition:none!important}}
#article .hidden{display:none!important}
#home .hero{background:transparent;min-height:0}
#home .story-card:hover{transform:none;box-shadow:none}
:is(#reset,#creative){max-width:1296px;margin:auto;padding:64px 24px}
:is(#reset,#creative) :is(.reset-card,.product){border-radius:0;border:0;border-top:1px solid var(--line);box-shadow:none;background:transparent;padding:28px 0}
#reset .reset-card button[disabled]{color:var(--muted);border-color:var(--line);background:none;cursor:not-allowed;opacity:.65}
#reset .reset-card button[disabled]:hover{opacity:.65}
#creative .visual{display:none}
#article .status-pill{font-size:.85rem}
/* Respect public Appearance values without changing Admin's independent palette. */
:is(#home,#article,#investigations,#reset,#creative,#simulator){--ink:var(--site-ink);--green:var(--site-accent);--paper:var(--site-bg);--cream:var(--site-surface)}
#home :is(.feature-dark,.strip){background:transparent!important;color:var(--site-ink)}
#home .strip :is(span,b){color:var(--site-ink)}
body:not(:has(#admin.active)) .site-footer{background:var(--site-surface)!important;color:var(--site-ink)}
body:not(:has(#admin.active)) .site-footer :is(b,p,label,small,summary,button,span){color:var(--site-ink)}
body:not(:has(#admin.active)) .site-footer .primary{color:white}

/* V1.1A editorial direction: publication masthead and a continuous reading column. */
body:not(:has(#admin.active,#admin-main-login.active)) .topbar{display:flex;flex-direction:column;justify-content:center;padding:36px 24px 0;gap:24px;max-width:none;position:relative;background:var(--site-bg)}
body:not(:has(#admin.active,#admin-main-login.active)) .topbar .brand{text-align:center;justify-content:center;gap:14px}
body:not(:has(#admin.active,#admin-main-login.active)) .topbar .brand strong{font:600 clamp(1.8rem,4vw,3.6rem)/1.12 "Fraunces",Georgia,serif;letter-spacing:-.045em}
body:not(:has(#admin.active,#admin-main-login.active)) .topbar .brand small{font-size:.85rem;letter-spacing:.045em;margin-top:10px}
body:not(:has(#admin.active,#admin-main-login.active)) .topbar .brand-mark{width:36px;height:36px;flex-shrink:0;font-size:.7rem}
body:not(:has(#admin.active,#admin-main-login.active)) .topbar nav{width:100%;justify-content:center;gap:8px 28px;border-top:1px solid var(--line);padding:10px 0}
body:not(:has(#admin.active,#admin-main-login.active)) .topbar nav button{border-radius:0;font-weight:500;padding:8px 0}
body:not(:has(#admin.active,#admin-main-login.active)) .topbar nav .admin-link{border:0!important;color:var(--muted)}
#home .hero{max-width:1180px;grid-template-columns:1fr;padding:48px 32px 64px;gap:32px}
#home .hero-image-placeholder{grid-row:1;aspect-ratio:16/8;max-height:540px;width:100%}
#home .hero-copy{max-width:880px;margin:auto;text-align:center}
#home .hero h1{font-size:clamp(2.4rem,4.5vw,4.7rem);max-width:23ch;margin:16px auto 20px;line-height:1.08}
#home .hero .lede{max-width:58ch;margin:0 auto;font-size:1.15rem}
#home .hero-meta,#home .hero-actions{justify-content:center}
#home .hero-actions{margin-top:24px}
#home .hero-actions .secondary{border:0;border-bottom:1px solid var(--line);border-radius:0;padding-inline:4px}
#home #window{max-width:1180px;padding:0 32px 64px}
#home .section-head{border-top:1px solid var(--line);padding-top:28px}
#home .section-head h2{font-size:clamp(1.8rem,3vw,2.5rem)}
#home .card-grid{gap:40px 32px}
#home .story-card h3{font-size:1.7rem;line-height:1.2}
#home .story-card .article-image-placeholder{aspect-ratio:3/2}
#home .story-card footer{border:0}
#home .editorial-features{max-width:1180px;padding:0 32px;gap:40px;margin-bottom:48px}
#home .feature-panel h2{font-size:1.65rem;line-height:1.2}
#home .strip{max-width:1116px;font-size:.9rem;justify-content:center}
#article{max-width:1180px}
#article>.back{margin:24px 32px 0;font-size:.9rem}
#article .article-shell{display:flex;flex-direction:column;padding:24px 32px 80px;gap:32px}
#article .article-heading-block{max-width:800px;margin:0 auto 36px}
#article .article-heading-block h1{font-size:clamp(2.3rem,4.6vw,4.6rem);max-width:24ch;line-height:1.12}
#article .standfirst{font-size:1.2rem;line-height:1.65}
#article .article-hero-image{aspect-ratio:16/9;margin:24px 0 52px;width:100%}
#article :is(.sixty,.email-gate,#unlocked){max-width:740px;margin-left:auto;margin-right:auto}
#article .sixty{grid-template-columns:90px minmax(0,1fr);border-top:2px solid var(--site-accent);border-bottom:1px solid var(--line);padding:28px 0;gap:24px}
#article #articleBody p{font-size:1.15rem;line-height:1.8}
#article .email-gate{background:transparent;border:0;border-block:1px solid var(--line);padding:32px 0}
#article .email-gate h3{font-size:1.8rem}
#article .unlocked-grid>section{margin:48px 0}
#article :is(.unlocked-grid h2,.article-simulator-card h2){font-size:2rem;line-height:1.2}
#article .full-article-body{max-width:none}
#article .full-article-body p{font:400 1.3rem/1.8 Georgia,"Times New Roman",serif;letter-spacing:0;margin-bottom:1.4em}
#article .article-dropdown summary b{font:600 1.65rem/1.25 "Fraunces",Georgia,serif}
#article .article-dropdown summary small{font-size:.8rem;letter-spacing:.1em}
#article .article-side{width:100%;max-width:740px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0}
#article .side-card{margin:0;padding:20px 0}
#article .side-card span{font-size:.75rem;letter-spacing:.06em}
#article .side-card b{font-size:1rem;line-height:1.5}
#investigations{max-width:1180px;padding:48px 32px 80px}
#investigations h1{font-size:clamp(2.5rem,4vw,4rem)}
#investigations .library-item{grid-template-columns:120px minmax(0,1.2fr) minmax(0,1fr) auto}
body:not(:has(#admin.active,#admin-main-login.active)) .site-footer{padding:40px max(24px,calc((100vw - 1116px)/2));border-top:1px solid var(--line)}
@media(max-width:768px){body:not(:has(#admin.active,#admin-main-login.active)) .topbar nav{gap:4px 20px}#home .hero{padding-top:28px}#home .hero-image-placeholder{aspect-ratio:3/2}#home .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#investigations .library-item{grid-template-columns:1fr 2fr}#article .article-side{grid-template-columns:1fr;gap:0}}
@media(max-width:480px){body:not(:has(#admin.active,#admin-main-login.active)) .topbar{padding:24px 16px 0;gap:20px}body:not(:has(#admin.active,#admin-main-login.active)) .topbar .brand{gap:8px}body:not(:has(#admin.active,#admin-main-login.active)) .topbar .brand strong{font-size:1.8rem}#home .hero,#home #window,#home .editorial-features,#investigations{padding-left:20px;padding-right:20px}#home .hero h1{font-size:2.35rem}#home .card-grid{grid-template-columns:1fr}#article>.back{margin-left:20px}#article .article-shell{padding:20px 20px 56px}#article .sixty{grid-template-columns:1fr;gap:16px}#article .timer br{display:initial}#article .timer{font-size:1.1rem}#article .full-article-body p{font-size:1.15rem;line-height:1.85}#investigations .library-item{grid-template-columns:1fr}}

/* V1.1A modern public typography; Admin retains its independent appearance. */
body:not(:has(#admin.active,#admin-main-login.active)),
:is(#home,#article,#investigations,#reset,#creative,#simulator),
:is(#home,#article,#investigations,#reset,#creative,#simulator) *,
body:not(:has(#admin.active,#admin-main-login.active)) :is(.topbar,.site-footer) *{font-family:"Open Sans",Arial,sans-serif!important}
body:not(:has(#admin.active,#admin-main-login.active)) .topbar .brand strong{font-weight:800;letter-spacing:-.035em;font-size:clamp(1.65rem,3.6vw,3.25rem)}
#home .hero h1{font-size:clamp(2rem,4.4vw,4rem);font-weight:800;line-height:1.14;letter-spacing:-.035em}
#article #articleTitle{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;line-height:1.16;letter-spacing:-.03em}
#home .hero .lede,#article .standfirst{font-size:clamp(1.125rem,1.8vw,1.5rem);line-height:1.6}
#article :is(.full-article-body,#articleBody){font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.7}
#article .article-heading-block{max-width:740px}
#article .article-heading-block .verified-card{border:0;padding:0;margin:20px 0 28px;background:none;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:baseline}
#article .article-heading-block .verified-card b{font-size:.875rem}
#article .article-heading-block .verified-card p{font-size:.875rem;margin:0;color:var(--muted)}
#article .article-side{grid-template-columns:repeat(2,minmax(0,1fr))}
:is(#home,#article,#investigations,#reset,#creative,#simulator) :is(h1,h2,h3,p,a,button){overflow-wrap:anywhere}
@media(max-width:640px){#article .article-side{grid-template-columns:1fr}}
/* Calendar is a read-only projection of existing Publishing dates. */
#admin-publishing .p-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:28px 0 12px}
#admin-publishing .p-calendar-toolbar h2{margin:0;font-size:1.5rem}
#admin-publishing .p-calendar-toolbar button{min-height:44px;padding:8px 12px}
#admin-publishing .p-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
#admin-publishing .p-weekday{padding:10px 4px;text-align:center;font-weight:600;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
#admin-publishing .p-day{min-width:0;min-height:130px;padding:8px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
#admin-publishing .p-day h3{font-size:.875rem;font-weight:500;margin:0 0 10px}
#admin-publishing .p-day.p-outside{background:var(--cream)}
#admin-publishing .p-day.p-today h3{font-weight:800;text-decoration:underline;text-underline-offset:4px}
#admin-publishing .p-event{display:block;width:100%;text-align:left;margin:6px 0;padding:8px;border:0;border-left:3px solid var(--green);border-radius:2px;background:var(--cream);color:var(--ink);font:inherit;font-size:.8rem;cursor:pointer}
#admin-publishing .p-event span{display:block;margin-top:4px;font-size:.75rem}
#admin-publishing .p-event[data-status="Failed"]{border-color:var(--red)}
#admin-publishing .p-event[data-status="Cancelled"]{border-color:var(--muted)}
#admin-publishing .p-event[data-status="Scheduled"]{border-color:var(--amber)}
#admin-publishing .p-agenda-date{display:none}
#admin-publishing .p-empty-day{font-size:.8rem;color:var(--muted)}
#admin-publishing :is(button,a):focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:640px){#admin-publishing .p-calendar{display:block;border:0}#admin-publishing .p-weekday,#admin-publishing .p-day.p-empty{display:none}#admin-publishing .p-day{min-height:0;padding:16px 0;border:0;border-bottom:1px solid var(--line);background:none}#admin-publishing .p-day-number{display:none}#admin-publishing .p-agenda-date{display:inline}#admin-publishing .p-event{font-size:.95rem;padding:12px}#admin-publishing .p-event span{font-size:.85rem}}

#home .hero-image-placeholder{max-width:none;justify-self:stretch;box-shadow:none}
#article #unlockForm{min-width:0;flex-wrap:wrap}
#article #unlockForm>p{flex:1 1 100%;width:auto;min-width:0;max-width:100%;font-size:.875rem;line-height:1.6}
#article :is(.full-article-body p,#articleBody p){font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.7}
#home .feature-dark p{color:var(--site-ink)}
#home .feature-dark .eyebrow{color:var(--site-accent)}
body:not(:has(#admin.active,#admin-main-login.active)) .site-footer input{background:var(--site-bg);color:var(--site-ink);border:1px solid var(--muted)}
body:not(:has(#admin.active,#admin-main-login.active)) .site-footer input::placeholder{color:var(--muted);opacity:1}
#article .email-gate{display:block}
#article #unlockForm{flex-direction:row;width:100%;margin-top:20px}
#article #unlockForm>p{flex-basis:100%}
#article .timer{font-size:.8rem;line-height:1.5;overflow-wrap:normal;word-break:normal}

/* Phase 1.1E: Stock photo picker grid, styled consistently with existing admin panels. */
#admin-stock .stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin:20px 0}
#admin-stock .stock-card{background:white;border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}
#admin-stock .stock-card img{width:100%;height:150px;object-fit:cover;border-radius:7px;background:var(--cream)}
#admin-stock .stock-card small{color:var(--muted)}
#admin-stock .stock-card small a{color:var(--muted)}
#admin-stock #stkStatus{color:var(--muted);font-size:13px}
@media(max-width:600px){#admin-stock .stock-grid{grid-template-columns:1fr 1fr}}
@media(max-width:420px){#admin-stock .stock-grid{grid-template-columns:1fr}}

/* Legacy Editorial Challenge migration: visually distinct (amber) from the green "Imported" pill,
   so provenance ("came from Substack") is never confused with prior review status. */
.status-pill.legacy-review-pill{background:#f2e4c8;color:#805515;margin-top:8px}
.legacy-migration{border-left:3px solid var(--amber)}

/* Public 60 Seconds search: a small topbar toggle + overlay panel, independent of the .topbar nav
   (which is hidden entirely under 900px) so the control stays reachable on mobile too. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.search-toggle{border:1px solid var(--line);background:none;color:var(--ink);height:40px;min-width:40px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;font:inherit;white-space:nowrap;flex-shrink:0;cursor:pointer;margin-left:8px}
.search-toggle svg{flex-shrink:0}
@media(max-width:1100px){.search-toggle{width:40px;padding:0;border-radius:50%}.search-toggle-label{display:none}}
.search-toggle:hover{background:var(--cream)}
.search-panel{position:fixed;inset:0;background:rgba(23,35,31,.55);display:flex;align-items:flex-start;justify-content:center;padding:8vh 5vw;z-index:60}
.search-panel.hidden{display:none}
.search-panel-inner{background:var(--paper);border-radius:14px;max-width:640px;width:100%;max-height:80vh;overflow:auto;padding:26px;box-shadow:0 30px 80px #17231f33}
.search-panel-head{display:flex;gap:10px;align-items:center}
.search-panel-head input{flex:1;min-width:0;padding:13px;border:1px solid var(--line);border-radius:8px;font:inherit;background:white}
.search-panel-head button{border:0;background:none;font-size:20px;line-height:1;cursor:pointer;color:var(--muted);padding:8px 10px;border-radius:8px}
.search-panel-head button:hover{background:var(--cream)}
#searchStatus{color:var(--muted);font-size:13px;margin:14px 0 6px;min-height:1.2em}
.search-results{display:flex;flex-direction:column;gap:10px}
.search-empty{color:var(--muted);margin:18px 0}
.search-result{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:white;cursor:pointer;font:inherit}
.search-result:hover{border-color:var(--green)}
.search-result .cat{font-size:10px;letter-spacing:.12em;color:var(--green);font-weight:700;display:block;margin-bottom:6px}
.search-result b{font:600 18px "Fraunces",serif;display:block;margin-bottom:4px}
.search-result p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.search-result .sixty-badge{display:inline-block;margin-top:8px;font-size:10px;font-weight:700;color:var(--green);background:var(--sage);padding:3px 8px;border-radius:10px}
.search-panel :is(button,input):focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:600px){.search-panel{padding:0}.search-panel-inner{max-width:none;width:100%;height:100%;max-height:none;border-radius:0}}

/* Public reader only: vertical facts/glance and a full-width Evidence Pack grid row. */
#article #unlocked .unlocked-grid{display:block}
#article #factsList{display:grid;grid-template-columns:minmax(0,1fr)}
#article #glanceList .glance-item{display:flex;flex-direction:column;gap:8px;min-width:0}
#article #articleEvidencePack{grid-column:1 / -1;width:100%;min-width:0;max-width:none;overflow-wrap:anywhere}

/* Shared Admin table controls: wrap whole controls, never their labels. */
.admin-panel table button,
.admin-panel .admin-table-actions > a{
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:normal;
  min-width:5rem;
  padding:10px 14px;
  flex:0 0 auto;
}
.admin-panel .admin-action-cell{
  min-width:7rem;
  width:1%;
}
.admin-panel .admin-table-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  min-width:max-content;
}
.admin-panel .admin-table-actions > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
}
@media(max-width:900px){
  .admin-panel .admin-table-actions{
    flex-direction:column;
    align-items:stretch;
  }
}

/* Campaign preparation extends the existing Audience & Customers workspace. */
#admin-customers .campaign-notice{padding:12px 16px;border-left:3px solid var(--green);background:var(--cream)}
#admin-customers .campaign-form{display:grid;gap:16px;max-width:820px;margin:24px 0}
#admin-customers .campaign-form fieldset{display:grid;gap:16px;border:1px solid var(--line);border-radius:8px;padding:18px;min-width:0}
#admin-customers .campaign-form textarea{min-height:220px;font:inherit;line-height:1.6;resize:vertical}
#admin-customers .campaign-preview{margin:24px 0;max-width:850px}
#admin-customers .campaign-frame{display:block;width:100%;max-width:680px;min-height:580px;border:1px solid var(--line);border-radius:8px;background:white}
#admin-customers .campaign-frame.campaign-mobile{max-width:360px}
#admin-customers .campaign-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:18px;border:1px solid var(--line);font:inherit;line-height:1.6}
#admin-customers .campaign-preview [hidden]{display:none}

/* Audit tables retain readable columns; narrow screens scroll within the panel. */
#admin-customers .admin-history-scroll{max-width:100%;min-width:0;overflow-x:auto}
#admin-customers .admin-history-scroll:focus-visible{outline:2px solid var(--green);outline-offset:2px}
#admin-customers .admin-history-table{width:100%;min-width:76rem;table-layout:auto}
#admin-customers .admin-history-table :is(th,td){white-space:nowrap;overflow-wrap:normal;word-break:normal}
#admin-customers .admin-history-date{width:14rem;min-width:14rem}
#admin-customers .admin-history-action{width:12rem;min-width:12rem}
#admin-customers .admin-history-revision{width:6rem;min-width:6rem}
#admin-customers .admin-history-content-revision{width:9rem;min-width:9rem}
#admin-customers .admin-history-id{min-width:24rem}
#admin-customers .admin-history-email{min-width:18rem}
#admin-customers .admin-history-actions{min-width:14rem}
#admin-customers .admin-history-table td.admin-history-details{min-width:26rem;max-width:40rem;white-space:normal;overflow-wrap:anywhere;word-break:normal}

/* Automation editor separates events, filters and effects without changing rule semantics. */
#admin-customers .automation-form legend{font-weight:700;letter-spacing:.03em}
#admin-customers .automation-form [hidden]{display:none}
#admin-customers .automation-form .automation-action{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:16px;min-width:0}
#admin-customers .automation-form :is(input,select,textarea){max-width:100%;min-width:0;width:100%;box-sizing:border-box}
#admin-customers .automation-form textarea{min-height:100px}
#admin-customers .automation-summary{max-width:820px;padding:16px;border-left:3px solid var(--green);background:var(--cream);margin:20px 0;overflow-wrap:anywhere}

/* Featured editorial selection sits independently between the Hero and briefings. */
#featuredArticles[hidden]{display:none}
#featuredArticles{max-width:1180px;margin:auto;padding:24px 32px}
#featuredArticles .section-head{margin-bottom:16px}
.featured-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding:4px 0 8px;position:relative;align-items:stretch}
.featured-track:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.featured-card{flex:0 0 calc((100% - 64px)/3);min-width:0;scroll-snap-align:start;border:0;border-radius:0;overflow:hidden;background:transparent;display:flex;flex-direction:column}
.featured-image{position:relative;flex:none;width:100%;min-width:0;aspect-ratio:16/10;overflow:hidden;background:var(--green);color:var(--paper);margin-bottom:24px;display:grid;place-items:center}
.featured-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.featured-copy{padding:0;display:flex;flex:1;flex-direction:column;gap:0;min-width:0;overflow-wrap:anywhere}
.featured-copy h3,.featured-copy p{margin:0}
#featuredArticles .featured-copy .eyebrow{margin:0;line-height:1.4;font-size:.8rem;font-weight:700;letter-spacing:.12em}
#featuredArticles .featured-copy h3{font-size:1.7rem;font-weight:600;line-height:1.2;margin:12px 0}
.featured-copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;font-size:1rem;line-height:1.65;color:var(--muted);margin:1em 0}
.featured-copy .text-link{margin-top:auto;align-self:flex-end;min-height:44px;padding:12px 0;font-size:.875rem}
.featured-controls{display:flex;align-items:center;gap:12px}
.featured-controls button{min-width:44px;min-height:44px}
.featured-controls button:disabled{opacity:.4;cursor:default}
.featured-admin-form{display:grid;gap:12px;max-width:720px}
.featured-admin-form select{width:100%;min-width:0;min-height:44px}
@media(max-width:1000px){.featured-card{flex-basis:calc((100% - 32px)/2)}}
@media(max-width:600px){.featured-track{align-items:flex-start}.featured-card{flex-basis:90%}.featured-copy{flex:initial}.featured-copy p{display:block;-webkit-line-clamp:unset;line-clamp:none;overflow:visible}.featured-copy .text-link{margin-top:4px}#featuredArticles .section-head{align-items:flex-start;gap:16px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.featured-track{scroll-behavior:auto}}

@media(max-width:480px){#featuredArticles{padding-inline:20px}}
