/* Dream Bold — shared stylesheet
   Palette + typography preserved exactly from the original master file (Aug 2026 lock). */

:root {
  --navy:#0B132B;
  --cream:#FDFBF7;
  --rose:#C59B92;
  --ink:#4A4A4A;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:Georgia, "Times New Roman", serif;
  line-height:1.65;
}
img { max-width:100%; }
a { color:inherit; }

/* ---------- Header / Nav (preserved exactly) ---------- */
.site-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding:1.2rem 4rem;
  background:var(--cream);
  border-bottom:1px solid rgba(11,19,43,.06);
}
.brand {
  text-decoration:none;
  color:var(--navy);
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-size:1.6rem;
  font-weight:400;
  letter-spacing:.01em;
  white-space:nowrap;
}
.nav {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:1.65rem;
  flex-wrap:wrap;
}
.nav a,
.nav button {
  border:0;
  background:none;
  padding:0;
  text-decoration:none;
  color:var(--navy);
  font-family:Arial, Helvetica, sans-serif;
  font-size:.77rem;
  font-weight:400;
  letter-spacing:.09em;
  text-transform:uppercase;
  cursor:pointer;
  transition:color .24s ease;
}
.nav a:hover,
.nav a:focus-visible,
.nav a.active,
.nav button:hover,
.nav button:focus-visible {
  color:var(--rose);
}

/* ---------- Hero (homepage only) ---------- */
.hero {
  width:100%;
  background:var(--navy);
  padding:4rem 4rem;
}
.hero-inner {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3.5rem;
  max-width:1080px;
  margin:0 auto;
}
.hero-copy {
  color:var(--cream);
  max-width:520px;
}
.hero-copy h1 {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  font-size:clamp(2.2rem, 5vw, 3.4rem);
  margin:0 0 1rem;
  letter-spacing:.01em;
}
.hero-copy p {
  font-style:italic;
  font-size:1.05rem;
  line-height:1.7;
  margin:0 0 1.6rem;
}
.hero-portrait {
  flex:0 0 auto;
}
.hero-portrait img {
  display:block;
  width:260px;
  height:260px;
  object-fit:cover;
  object-position:center 20%;
  border-radius:14px;
  box-shadow:0 20px 44px rgba(0,0,0,.35);
}
@media (max-width:820px) {
  .hero-inner { flex-direction:column; text-align:center; gap:2rem; }
  .hero-copy { max-width:100%; }
  .hero-portrait img { width:200px; height:200px; }
}
.btn-seven, .btn-paper, .btn-quiet {
  display:inline-block;
  border:1px solid var(--rose);
  color:var(--rose);
  background:rgba(11,19,43,.07);
  padding:.7rem 1.6rem;
  text-decoration:none;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.75rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:background .24s ease, color .24s ease;
}
.btn-seven:hover, .btn-paper:hover, .btn-quiet:hover {
  background:var(--rose);
  color:var(--navy);
}

/* ---------- Section shell used by every interior page ---------- */
.page-hero {
  padding:5rem 4rem 3rem;
  max-width:900px;
}
.page-hero .kicker {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--rose);
  margin:0 0 1rem;
}
.page-hero h1 {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  font-size:clamp(2rem, 4vw, 2.8rem);
  color:var(--navy);
  margin:0 0 1rem;
}
.page-hero .tagline {
  font-style:italic;
  font-size:1.15rem;
  color:var(--ink);
  margin:0;
}

.editorial {
  padding:3rem 4rem;
  max-width:900px;
}
.editorial h2 {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  font-size:clamp(1.6rem, 3vw, 2.1rem);
  color:var(--navy);
  line-height:1.35;
  margin:0 0 1.5rem;
}
.editorial .line-break { display:block; }
.editorial p { font-size:1.05rem; margin:0 0 1.3rem; }

/* ---------- Article cards ---------- */
.article-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:2rem;
  padding:1rem 4rem 3rem;
  max-width:1200px;
}
.article-card {
  border-top:1px solid rgba(11,19,43,.12);
  padding-top:1.2rem;
}
.article-card .eyebrow {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.68rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--rose);
  margin:0 0 .5rem;
}
.article-card h3 {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  font-size:1.25rem;
  color:var(--navy);
  margin:0 0 .6rem;
  line-height:1.35;
}
.article-card p { font-size:.95rem; margin:0 0 .8rem; }
.article-card a {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--navy);
  border-bottom:1px solid var(--rose);
  padding-bottom:2px;
}
.article-card a:hover { color:var(--rose); }

/* ---------- Continuation block (end of every article/section) ---------- */
.continuations {
  background:rgba(11,19,43,.03);
  padding:2.5rem 4rem;
  margin-top:2rem;
}
.continuations .inner { max-width:900px; display:grid; gap:1.8rem; grid-template-columns:repeat(auto-fit, minmax(220px,1fr)); }
.continuations h4 {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.68rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--rose);
  margin:0 0 .6rem;
}
.continuations p { font-size:.92rem; margin:0 0 .8rem; }
.continuations form { display:flex; gap:.5rem; flex-wrap:wrap; }
.continuations input[type=email] {
  flex:1 1 auto;
  min-width:160px;
  padding:.6rem .8rem;
  border:1px solid rgba(11,19,43,.2);
  background:var(--cream);
  font-family:Georgia, serif;
  font-size:.9rem;
}
.continuations button {
  border:1px solid var(--navy);
  background:var(--navy);
  color:var(--cream);
  padding:.6rem 1.1rem;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.continuations button:hover { background:var(--rose); border-color:var(--rose); color:var(--navy); }
.continuations a.plain {
  text-decoration:none;
  color:var(--navy);
  border-bottom:1px solid var(--rose);
  padding-bottom:2px;
  font-size:.92rem;
}

/* ---------- Mechanism strip (decision-making pull-quote) ---------- */
.mechanism {
  background:var(--navy);
  color:var(--cream);
  padding:4rem 4rem;
}
.mechanism blockquote {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  font-style:italic;
  font-size:clamp(1.3rem, 2.6vw, 1.9rem);
  line-height:1.4;
  max-width:760px;
  margin:0 0 2rem;
  padding:0 0 0 1.4rem;
  border-left:2px solid var(--rose);
}

/* ---------- Care pillar (Home) ---------- */
.care-pillar {
  padding:1rem 4rem 3.5rem;
  max-width:1100px;
}
.care-pillar .pillar-head {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1.5rem;
  flex-wrap:wrap;
  border-bottom:1px solid rgba(11,19,43,.12);
  padding-bottom:1.2rem;
  margin-bottom:1.8rem;
}
.care-pillar h2 {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  font-size:clamp(1.6rem, 3vw, 2.1rem);
  color:var(--navy);
  margin:0;
}
.care-pillar .pillar-head a {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--navy);
  border-bottom:1px solid var(--rose);
  padding-bottom:2px;
  white-space:nowrap;
}
.care-pillar .pillar-head a:hover { color:var(--rose); }
.care-pillar .pillar-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
  gap:2rem;
}
.care-pillar .updated-note {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.72rem;
  letter-spacing:.04em;
  color:var(--rose);
  margin:.4rem 0 0;
}

/* ---------- Related thinking (associative cross-link, per essay) ---------- */
.related-thread {
  padding:0 4rem 2rem;
  max-width:900px;
}
.related-thread .label {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.68rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--rose);
  margin:0 0 .6rem;
}
.related-thread p { font-size:.98rem; margin:0; }
.related-thread a {
  color:var(--navy);
  text-decoration:none;
  border-bottom:1px solid var(--rose);
  padding-bottom:1px;
}
.related-thread a:hover { color:var(--rose); }

/* ---------- Things made from the thinking (contextual product mentions) ---------- */
.made-from-thinking {
  padding:3rem 4rem;
  max-width:900px;
}
.made-from-thinking h4 {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.68rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--rose);
  margin:0 0 1.2rem;
}
.product-companion {
  display:flex;
  gap:1.5rem;
  align-items:flex-start;
  border-top:1px solid rgba(11,19,43,.12);
  padding-top:1.3rem;
  margin-bottom:1.3rem;
}
.product-companion .thumb {
  width:64px; height:64px;
  background:var(--rose);
  opacity:.25;
  flex:none;
}
.product-companion .thumb.thumb-img {
  opacity:1;
  background:none;
  overflow:hidden;
  border-radius:3px;
}
.product-companion .thumb.thumb-icon {
  opacity:1;
  background:rgba(197,155,146,.15);
  border-radius:3px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.product-companion .thumb.thumb-icon svg {
  width:36px;
  height:36px;
}
.product-companion .thumb.thumb-img img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.product-companion h5 {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  font-size:1.05rem;
  color:var(--navy);
  margin:0 0 .4rem;
}
.product-companion p { font-size:.9rem; margin:0 0 .5rem; }
.product-companion a {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--navy);
  border-bottom:1px solid var(--rose);
}

/* ---------- Footer ---------- */
.site-footer {
  background:var(--navy);
  color:var(--cream);
  padding:2.5rem 4rem;
  margin-top:2rem;
}
.footer-inner {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:2rem;
}
.footer-nav {
  display:flex;
  gap:1.5rem;
  flex-wrap:wrap;
}
.footer-nav a {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  color:var(--cream);
}
.footer-nav a:hover { color:var(--rose); }
.footer-company {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.72rem;
  color:rgba(253,251,247,.72);
  line-height:1.8;
}
.footer-company a { color:rgba(253,251,247,.72); }
.footer-company a:hover { color:var(--rose); }
.footer-company .footer-brand {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-size:1rem;
  color:var(--cream);
  margin-bottom:.3rem;
}
.footer-note {
  max-width:640px;
  margin:2rem 0 0;
  padding-top:1.5rem;
  border-top:1px solid rgba(253,251,247,.15);
  font-style:italic;
  font-size:.85rem;
  line-height:1.7;
  color:rgba(253,251,247,.6);
}

/* ---------- Contact ---------- */
.contact-panel {
  max-width:480px;
  margin:0 auto;
  padding:4rem 2rem;
}
.contact-panel h1, .contact-panel h2 {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  color:var(--navy);
}
.contact-panel form { display:grid; gap:1rem; }
.contact-panel label {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.75rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ink);
  display:grid;
  gap:.4rem;
}
.contact-panel input, .contact-panel textarea {
  padding:.7rem .8rem;
  border:1px solid rgba(11,19,43,.2);
  background:var(--cream);
  font-family:Georgia, serif;
  font-size:.95rem;
}
.contact-panel button {
  justify-self:start;
  border:1px solid var(--navy);
  background:var(--navy);
  color:var(--cream);
  padding:.7rem 1.5rem;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.75rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.contact-panel button:hover { background:var(--rose); border-color:var(--rose); color:var(--navy); }

/* ---------- Citation notes ---------- */
.cite {
  border:0;
  background:none;
  padding:0;
  margin:0 1px;
  font-family:Georgia, serif;
  font-size:.7em;
  vertical-align:super;
  color:var(--rose);
  cursor:pointer;
  text-decoration:none;
  line-height:1;
}
.cite:hover, .cite:focus-visible, .cite[aria-expanded="true"] { color:var(--navy); }
.cite-note {
  position:absolute;
  z-index:20;
  max-width:280px;
  background:var(--navy);
  color:var(--cream);
  padding:.85rem 1rem;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.75rem;
  line-height:1.5;
  letter-spacing:.01em;
  text-transform:none;
  box-shadow:0 8px 24px rgba(11,19,43,.25);
}
.cite-note[hidden] { display:none; }
.cite-note a { color:var(--rose); text-decoration:underline; }
.cite-note .cite-label {
  display:inline-block;
  margin-top:.4rem;
  font-size:.65rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--rose);
}

/* ---------- Evidence labels ---------- */
.evidence-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
  gap:1.5rem;
  padding:0 4rem 3rem;
  max-width:1100px;
}
.evidence-card {
  border-top:2px solid var(--rose);
  padding-top:1rem;
}
.evidence-card h3 {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--navy);
  margin:0 0 .6rem;
}
.evidence-card p { font-size:.92rem; margin:0; }

/* ---------- Product blocks (Choice & Movement) ---------- */
.product-block {
  border-top:1px solid rgba(11,19,43,.12);
  padding:2rem 0;
  max-width:900px;
}
.product-block h3 {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  font-size:1.4rem;
  color:var(--navy);
  margin:0 0 .8rem;
}
.product-block p { font-size:1rem; margin:0 0 1rem; }
.coming-soon {
  display:inline-block;
  border:1px solid rgba(11,19,43,.25);
  color:rgba(11,19,43,.55);
  background:none;
  padding:.7rem 1.6rem;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.75rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:default;
}

/* ---------- Other tools (collapsed) ---------- */
details.other-tools {
  margin-top:1.5rem;
  border-top:1px solid rgba(11,19,43,.12);
  padding-top:1.5rem;
}
details.other-tools summary {
  cursor:pointer;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.78rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--navy);
  list-style:none;
}
details.other-tools summary::-webkit-details-marker { display:none; }
details.other-tools summary::before {
  content:"+ ";
  color:var(--rose);
}
details.other-tools[open] summary::before {
  content:"– ";
}
details.other-tools .product-block:first-of-type { border-top:none; }

/* ---------- Offer / support panel ---------- */
.offer-panel {
  background:rgba(11,19,43,.03);
  border:1px solid rgba(11,19,43,.1);
  padding:2.5rem;
  max-width:900px;
  margin:2rem 0;
}
.offer-panel h3 {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  font-size:1.5rem;
  color:var(--navy);
  margin:0 0 .5rem;
}
.offer-panel .offer-meta {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.75rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--rose);
  margin:0 0 1rem;
}
.offer-panel p { font-size:1rem; }

/* ---------- Reflection tool (quiz) ---------- */
.reflection-section { padding:2rem 4rem; max-width:900px; }
.reflection-section[hidden] { display:none; }
.safety-note {
  background:rgba(11,19,43,.04);
  border-left:3px solid var(--rose);
  padding:1.2rem 1.5rem;
  margin:1.5rem 0;
  font-size:.95rem;
}
.meta-line {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.75rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--rose);
  margin:1.5rem 0;
}
.quiz-progress {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.72rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--ink);
  margin-bottom:1.5rem;
}
.quiz-item {
  border-top:1px solid rgba(11,19,43,.12);
  padding:1.6rem 0;
}
.quiz-item p.q-text { font-size:1.05rem; margin:0 0 1rem; color:var(--navy); }
.likert {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem 1.2rem;
}
.likert label {
  display:flex;
  align-items:center;
  gap:.4rem;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.78rem;
  cursor:pointer;
}
.context-item { border-top:1px solid rgba(11,19,43,.12); padding:1.6rem 0; }
.context-item p.q-text { font-size:1.05rem; margin:0 0 1rem; color:var(--navy); }
.context-item .choices { display:flex; flex-direction:column; gap:.6rem; }
.context-item label { font-family:Arial, Helvetica, sans-serif; font-size:.85rem; display:flex; gap:.5rem; align-items:flex-start; }
.context-item textarea, .context-item input[type=text] {
  width:100%; max-width:480px;
  padding:.6rem .8rem;
  border:1px solid rgba(11,19,43,.2);
  background:var(--cream);
  font-family:Georgia, serif;
  font-size:.95rem;
}
.btn-quiet[disabled] { opacity:.35; cursor:not-allowed; }

/* ---------- Result page ---------- */
.result-frame { padding:1rem 4rem 2rem; max-width:900px; }
.result-frame h2 {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  color:var(--navy);
  font-size:1.9rem;
}
.result-frame ul { padding-left:1.2rem; }
.result-frame li { margin-bottom:.6rem; }
.pattern-block {
  padding:2.5rem 4rem;
  max-width:900px;
  border-top:2px solid var(--rose);
}
.pattern-block[hidden] { display:none; }
.pattern-block .kicker {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--rose);
}
.pattern-block h2 {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  color:var(--navy);
  font-size:1.8rem;
  margin:.3rem 0 1.5rem;
}
.pattern-block h4 {
  font-family:Arial, Helvetica, sans-serif;
  font-size:.75rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--navy);
  margin:1.6rem 0 .5rem;
}
.pattern-block .scores {
  display:flex;
  flex-wrap:wrap;
  gap:1rem 2rem;
  margin:1rem 0 2rem;
  font-family:Arial, Helvetica, sans-serif;
  font-size:.78rem;
  letter-spacing:.04em;
}
.pattern-block .scores span { color:var(--navy); }
.pattern-block .btn-row { display:flex; flex-wrap:wrap; gap:1rem; margin-top:1rem; }

/* ---------- Legal pages ---------- */
.legal-page { padding:2rem 4rem 4rem; max-width:800px; }
.legal-page h2 {
  font-family:"Baskerville","Palatino Linotype","Book Antiqua",Georgia,serif;
  font-weight:400;
  color:var(--navy);
  font-size:1.4rem;
  margin:2rem 0 .8rem;
}
.legal-page p, .legal-page li { font-size:.98rem; }

@media (max-width: 640px) {
  .site-header, .page-hero, .editorial, .article-grid, .continuations, .made-from-thinking, .site-footer,
  .evidence-grid, .reflection-section, .pattern-block, .legal-page {
    padding-left:1.3rem;
    padding-right:1.3rem;
  }
  .hero-copy { padding:1.5rem; }
  .likert { gap:.4rem .8rem; }
}

/* pre-launch: long URLs must wrap on phones */
main a { overflow-wrap:anywhere; }

/* "Send me the 7 days" sign-up on the reflection result */
.dpr-signup { display:grid; grid-template-columns:1fr; gap:.8rem; max-width:420px; margin-top:1rem; }
.dpr-signup label { width:100%; }
.dpr-signup input { width:100%; box-sizing:border-box; }
.dpr-signup label { display:grid; gap:.3rem; font-size:.9rem; }
.dpr-signup input { font:inherit; padding:.7rem .8rem; border:1px solid #cfc4ba; border-radius:4px; background:#fff; }
.dpr-signup button { font:inherit; padding:.8rem 1.2rem; border:1px solid var(--navy); background:var(--navy); color:#fff; border-radius:4px; cursor:pointer; justify-self:start; }
.dpr-signup button:disabled { opacity:.6; cursor:default; }
.dpr-signup-note { font-size:.8rem; opacity:.75; margin:0; }
.dpr-signup-msg { font-size:.9rem; margin:0; min-height:1.2em; }
