/* Manvik shared styles — inlined into each page for resilience */
:root {
  --bg: #EDE4D3;
  --bg-soft: #E5DBC6;
  --ink: #3D352B;
  --ink-soft: #6B6253;
  --accent: #626A4E;
  --accent-soft: #8E9A78;
  --gold: #B8A06A;
  --line: #C8BCA1;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  
  font-weight: 400;
  line-height: 1.7;
  font-size: 17.5px;
  -webkit-font-smoothing: antialiased;
}
body.modal-open { overflow: hidden; }
h1, h2, h3 {
  
  font-weight: 400;
  color: var(--ink);
  letter-spacing: 0.005em;
  margin: 0 0 0.5em;
}
p { margin: 0 0 1em; color: var(--ink-soft); }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--ink); }

.container { max-width: 1080px; margin: 0 auto; padding: 0 28px; }
.container-narrow { max-width: 800px; margin: 0 auto; padding: 0 28px; }

/* Header / nav */
header.top { padding: 28px 0 0; }
.brand-row {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.brand-mark {
  display: block;
  width: 36px;
  height: 36px;
  margin: 0 auto 14px;
  color: var(--accent);
}
.brand {
  
  font-size: 22px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-align: center;
  color: var(--ink);
  text-decoration: none;
}
.brand:hover { color: var(--ink); }
.nav {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin-top: 22px;
  padding-bottom: 6px;
  flex-wrap: wrap;
}
.nav a {
  
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-soft);
  font-weight: 500;
  padding: 4px 2px;
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.nav a:hover { color: var(--ink); }
.nav a.active { color: var(--accent); border-bottom-color: var(--accent); }

/* Hero */
.hero { text-align: center; padding: 80px 0 110px; }
.hero h1 {
  font-size: clamp(29px, 4.1vw, 50px);
  font-weight: 300;
  line-height: 1.15;
  margin: 0 auto 26px;
  font-style: italic;
}
.hero h1 em { font-style: normal; color: var(--accent); }
.hero .lead {
  font-size: 19px;
  max-width: 46rem;
  margin: 0 auto 36px;
  color: var(--ink-soft);
}
.ornament {
  display: block;
  margin: 0 auto 32px;
  width: 80px;
  color: var(--gold);
  opacity: 0.7;
}

/* CTA */
.cta {
  display: inline-block;
  padding: 13px 30px;
  background: transparent;
  color: var(--accent);
  border: 1px solid var(--accent);
  cursor: pointer;
  font-family: inherit;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 500;
  letter-spacing: 0.08em;
  transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease;
  text-decoration: none;
}
.cta:hover {
  background: var(--accent);
  color: var(--bg);
  transform: translateY(-1px);
}
.cta.cta-solid {
  background: var(--accent);
  color: var(--bg);
}
.cta.cta-solid:hover { background: var(--ink); color: var(--bg); }
.cta-row { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }

/* Sections */
section { padding: 90px 0; }
.eyebrow {
  
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  text-align: center;
  margin-bottom: 16px;
  font-weight: 500;
}
.section-title {
  text-align: center;
  font-size: clamp(32px, 4vw, 44px);
  font-weight: 300;
  margin-bottom: 56px;
  font-style: italic;
}
.section-intro {
  text-align: center;
  max-width: 46rem;
  margin: -24px auto 48px;
  color: var(--ink-soft);
  font-size: 16px;
}

/* About blocks */
.prose { max-width: 42rem; margin: 0 auto; }
.prose p { font-size: 18px; line-height: 1.8; }
.prose p + p { margin-top: 1.2em; }
.prose.left { text-align: left; }
.prose.center { text-align: center; }

/* Offerings */
.offerings-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 36px;
  margin-top: 30px;
}
@media (max-width: 1000px) { .offerings-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px)  { .offerings-grid { grid-template-columns: 1fr; gap: 48px; } }
.offering { text-align: left; padding: 8px 4px; }
.offering h3 {
  font-size: 26px;
  margin-bottom: 14px;
  font-weight: 500;
  font-style: italic;
}
.offering p { font-size: 17.5px; line-height: 1.75; }

/* Quote section */
.approach { text-align: center; padding: 140px 0; }
.approach blockquote {
  
  font-style: italic;
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 300;
  line-height: 1.45;
  color: var(--ink);
  max-width: 42rem;
  margin: 0 auto;
  quotes: none;
}
.approach .signoff {
  display: block;
  margin-top: 28px;
  
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

/* Footer */
footer {
  padding: 56px 0 48px;
  text-align: center;
  color: var(--ink-soft);
  font-size: 13px;
  letter-spacing: 0.04em;
  border-top: 1px solid var(--line);
  margin-top: 60px;
}
footer .container { display: flex; flex-direction: column; gap: 4px; align-items: center; }
footer p { margin: 0; color: var(--ink-soft); }
footer .small { font-size: 12px; opacity: 0.75; margin-top: 8px; }
footer .nav-foot { display: flex; gap: 22px; margin-bottom: 14px; flex-wrap: wrap; justify-content: center; }
footer .nav-foot a {
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
footer .nav-foot a:hover { color: var(--ink); }

.rule { width: 60px; height: 1px; background: var(--line); border: 0; margin: 40px auto; }

/* ---------- Investment page ---------- */
.price-card {
  max-width: 680px;
  margin: 56px auto 0;
  padding: 56px 48px;
  background: var(--bg-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  text-align: center;
}
.price-amount {
  
  font-size: clamp(54px, 8vw, 84px);
  font-weight: 400;
  line-height: 1;
  color: var(--ink);
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}
.price-unit {
  
  font-size: 13px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 32px;
}
.price-detail {
  font-size: 16px;
  color: var(--ink);
  line-height: 1.8;
  margin: 0 auto;
  max-width: 46rem;
}
.price-detail strong { color: var(--ink); font-weight: 500; }

.terms-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 48px;
  margin-top: 64px;
}
@media (max-width: 720px) { .terms-grid { grid-template-columns: 1fr; } }
.term { text-align: left; }
.term h3 {
  
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--accent);
  font-weight: 600;
  margin-bottom: 10px;
}
.term p { font-size: 17.5px; color: var(--ink); line-height: 1.7; margin: 0; }

.scarcity-band {
  text-align: center;
  padding: 36px 28px;
  background: var(--bg-soft);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin: 80px 0 40px;
}
.scarcity-band p {
  
  font-style: italic;
  font-size: clamp(21px, 2vw, 26px);
  color: var(--ink);
  margin: 0;
}

.fit-list {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
}
.fit-list li {
  padding: 14px 0;
  font-size: 16px;
  color: var(--ink);
  border-bottom: 1px solid var(--line);
  line-height: 1.6;
}
.fit-list li:last-child { border-bottom: 0; }
.fit-list.not li::before { content: "—  "; color: var(--ink-soft); }
.fit-list.yes li::before { content: "✦  "; color: var(--accent); font-size: 14px; }

.two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  margin-top: 40px;
}
@media (max-width: 760px) { .two-col { grid-template-columns: 1fr; gap: 40px; } }
.two-col h3 {
  
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--accent);
  margin-bottom: 16px;
}

/* ---------- Contact form ---------- */
.form-wrap { max-width: 540px; margin: 40px auto 0; }
.field { margin-bottom: 18px; }
.field label {
  display: block;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 6px;
  font-weight: 500;
}
.field input,
.field textarea,
.field select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #B0A284;
  background: #F5EBD6;
  color: var(--ink);
  font-family: inherit;
  font-size: 16px;
  border-radius: 4px;
  transition: border-color 0.2s ease;
}
.field input:focus,
.field textarea:focus,
.field select:focus {
  outline: none;
  border-color: var(--accent);
}
.field textarea { min-height: 110px; resize: vertical; line-height: 1.55; }
.field .hint {
  font-size: 13px;
  color: var(--ink-soft);
  margin-top: 4px;
  opacity: 0.85;
}
.submit-row { text-align: center; margin-top: 24px; }
.submit-row .cta { padding: 13px 40px; min-width: 200px; }
.form-message {
  margin-top: 18px;
  padding: 14px;
  border-radius: 4px;
  text-align: center;
  font-size: 14px;
  display: none;
}
.form-message.success { display: block; background: #E2E8D2; color: var(--accent); }
.form-message.error { display: block; background: #EFD8D2; color: #8C3A3A; }
.hp { position: absolute; left: -9999px; opacity: 0; }


/* Spacing and type corrections */
h2, h3 { line-height: 1.2; }
.section-title { line-height: 1.15; margin-bottom: 40px; }
.approach { padding: 110px 0; }
.approach blockquote { margin-bottom: 56px; }
.approach p, .approach .eyebrow + h2 + p { max-width: 42rem; margin-left: auto; margin-right: auto; }
.approach p { font-size: 18px; line-height: 1.8; }
.approach p + p { margin-top: 1.2em; }
.approach h2 { margin-bottom: 24px; }
.couplet { line-height: 2; margin-top: 1.2em; }
blockquote { text-wrap: balance; }
h1, h2, .section-title { text-wrap: balance; }

/* Small screens: tighter menu, and long text set left rather than centred */
@media (max-width: 640px) {
  .nav { font-size: 10.5px; letter-spacing: 0.14em; gap: 9px 14px; }
  .nav a { padding-bottom: 3px; }
  .lead { font-size: 17px; line-height: 1.75; text-align: left; }
  .prose p, .approach p, #layer-out p, .note-body p, .method p, .privacy-note,
  .answer-body p, .reading-block p { text-align: left; }
  .couplet { text-align: left; }
  blockquote { font-size: 21px; line-height: 1.5; }
  section { padding: 64px 0; }
  .approach { padding: 64px 0 72px; }
  h1 { margin-bottom: 20px; }
}
/* Less air between the closing call and the quote that follows it */
.about { padding-bottom: 64px; }
.approach { padding-top: 84px; }

/* ---------- Type scale and vertical rhythm (single source of truth) ---------- */
:root {
  --step-h1: clamp(30px, 3.4vw, 44px);
  --step-h2: clamp(25px, 2.6vw, 34px);
  --step-h3: clamp(19px, 1.5vw, 21px);
  --step-lead: 19px;
  --step-body: 17.5px;
  --measure: 36rem;
  --measure-lead: 33rem;
  --rhythm: 88px;
}
h1 { font-size: var(--step-h1); line-height: 1.12; margin: 0 auto 22px; }
h2, .section-title { font-size: var(--step-h2); line-height: 1.18; margin: 0 auto 28px; }
h3 { font-size: var(--step-h3); line-height: 1.25; margin: 0 0 14px; }
.eyebrow { font-size: 11.5px; letter-spacing: 0.2em; margin-bottom: 16px; }
section { padding: var(--rhythm) 0; }
.approach { padding: calc(var(--rhythm) * 1.15) 0; }
.about { padding-bottom: calc(var(--rhythm) * 0.8); }

/* one reading measure everywhere */
.prose, .prose p, .approach p, #layer-out p, .note-body p { max-width: var(--measure); }
.prose, .approach p, #layer-out p { margin-left: auto; margin-right: auto; }
.prose p, .approach p, #layer-out p, .note-body p, .price-detail, section > .container > p:not(.lead) {
  font-size: var(--step-body); line-height: 1.78;
}
.prose p + p, .approach p + p, #layer-out p + p { margin-top: 1.35em; }
.lead { font-size: var(--step-lead); line-height: 1.65; max-width: var(--measure-lead);
        margin-left: auto; margin-right: auto; margin-bottom: 30px; }
.price-detail { max-width: var(--measure); }
blockquote { font-size: clamp(21px, 2vw, 26px); line-height: 1.42; max-width: 34rem; }

/* one marker system: none. the hairlines carry the list */
.fit-list.not li::before, .fit-list.yes li::before { content: none; }
.fit-list li { font-size: var(--step-body); padding: 15px 0; line-height: 1.65; }
.two-col { gap: 64px; margin-top: 32px; }
.two-col h3 { font-size: 11.5px; letter-spacing: 0.2em; margin-bottom: 8px; }
.scarcity-band { margin: calc(var(--rhythm) * 0.9) 0 calc(var(--rhythm) * 0.5); }
.scarcity-band p { font-size: clamp(21px, 2vw, 26px); line-height: 1.45; max-width: 40rem;
  margin-left: auto; margin-right: auto; }

@media (max-width: 640px) {
  :root { --rhythm: 60px; --step-body: 17px; --measure: 100%; --measure-lead: 100%; }
  .two-col { gap: 36px; }
}

/* beat the hero-scoped rules */
.hero h1, .page-head h1 { font-size: var(--step-h1); line-height: 1.12; }
.hero .lead, .page-head .lead { font-size: var(--step-lead); line-height: 1.65; max-width: var(--measure-lead); }
.approach blockquote, .quote-band blockquote { font-size: clamp(21px, 2vw, 26px); line-height: 1.42; max-width: 34rem; }
.hero { padding-top: calc(var(--rhythm) * 1.1); padding-bottom: calc(var(--rhythm) * 0.95); }

.standfirst { text-align: center; max-width: 33rem; margin-left: auto; margin-right: auto; }
@media (max-width: 640px) { .standfirst { text-align: left; } }

/* a label sits on the same left edge as the text it introduces */
.eyebrow.eyebrow-left { text-align: left; max-width: var(--measure); margin-left: auto; margin-right: auto; }
@media (max-width: 640px) { .eyebrow.eyebrow-left { max-width: 100%; } }

/* the two-column list shares the left edge of the text above it */
.two-col { max-width: var(--measure); margin-left: auto; margin-right: auto; gap: 44px; }
@media (max-width: 640px) { .two-col { max-width: 100%; } }

/* stacked buttons share one width on phones */
@media (max-width: 640px) {
  .cta-row { flex-direction: column; align-items: center; gap: 12px; }
  .cta-row .cta { width: 100%; max-width: 264px; text-align: center; }
}

section > .container > p.modalities, .modalities {  font-size: 13px; line-height: 1.7;
  letter-spacing: 0.01em; color: var(--ink-soft); max-width: 30rem;
  margin: 34px auto 0; text-align: center; }
.modalities a { color: var(--ink-soft); text-decoration: none; border-bottom: 1px solid var(--line); }
.modalities a:hover { color: var(--ink); }
@media (max-width: 640px) { .modalities { font-size: 12.5px; margin-top: 26px; } }

section > .container > p.modalities { font-size: 13px; line-height: 1.7; max-width: 30rem; margin: 34px auto 0; text-align: center; }
@media (max-width: 640px) { section > .container > p.modalities { font-size: 12.5px; } }

/* ---------- one scale, no exceptions ---------- */
/* labels: same size and face wherever they appear, whatever tag carries them */
.eyebrow, p.eyebrow, div.eyebrow,
section > .container > p.eyebrow,
section > .container > .prose p.eyebrow,
.two-col h3 {
   font-size: 11.5px; font-weight: 600;
  letter-spacing: 0.2em; text-transform: uppercase; line-height: 1.5;
  color: var(--accent); margin: 0 0 16px; font-style: normal;
}
/* section titles: one size, one face, one style */
h2, .section-title, section > .container > h2 {
   font-size: var(--step-h2);
  font-style: italic; font-weight: 300; line-height: 1.18;
}
/* card and article sub-heads sit one step below */
.note-item h2, .legal h2, .method h2, .gate h3, .offering h3, .term h3 {
  font-size: 26px; font-style: italic; font-weight: 300; line-height: 1.25;
}
/* body copy: one size everywhere */
p, li, .prose p, .approach p, .offering p, .term p, .note-item p, .note-body p,
.legal p, .legal li, .method p, .reading-block p, .gate-done p, .fit-list li,
section > .container > p:not(.lead):not(.eyebrow):not(.small):not(.hint):not(.disclaimer):not(.effective):not(.modalities) {
  font-size: 17.5px; line-height: 1.78;
}
.lead, p.lead, .hero .lead, .gate p.lead { font-size: 19px; line-height: 1.65; }
.small, p.small, .hint, .disclaimer, .answer-q, .effective, .sent-note, .modalities,
section > .container > p.small { font-size: 13px; line-height: 1.7; }
@media (max-width: 640px) {
  p, li, .prose p, .approach p, .note-item p, .legal p, .legal li { font-size: 17px; }
}

/* last strays brought onto the scale */
.band p, .scarcity-band p, .quote-band p { font-size: clamp(21px, 2vw, 26px); line-height: 1.45; }
.invite h2, .begin h2, section > .container > h2 { font-size: var(--step-h2); }
.privacy-note, p.privacy-note { font-size: 13px; }
.eyebrow:lang(hi), .eyebrow.sanskrit { font-size: 13px; letter-spacing: 0.12em; text-transform: none; }

/* every h2, however deeply nested, sits on the scale */
.container h2, .container div h2, .container form h2, .form-wrap h2 {
  font-size: var(--step-h2); font-style: italic; font-weight: 300; line-height: 1.18;
  
}

/* =========================================================================
   MANVIK TYPE SYSTEM - 13 September 2026
   One scale, one spacing ladder, one measure. Earlier blocks in this file
   are superseded by what follows.
   ========================================================================= */
:root {
  --t-title: 46px;   --t-section: 30px; --t-lead: 21px;
  --t-body: 17px;    --t-small: 15px;   --t-fine: 13px;  --t-eyebrow: 12px;
  --s-1: 8px;  --s-2: 12px; --s-3: 16px; --s-4: 20px; --s-5: 24px;
  --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 160px;
  --m-body: 33em; --m-card: 21em; --m-legal: 36em;
  --ink: #2b2318;          /* darkened one step for 4.5:1 on sand */
  --ink-soft: #4a3f30;
}
body { font-size: var(--t-body) !important; line-height: 1.7 !important; color: var(--ink) !important; }

h1 { font-size: var(--t-title) !important; line-height: 1.15 !important; font-style: italic !important; }
h2, .section-title, .container h2, .container div h2 {
  font-size: var(--t-section) !important; line-height: 1.25 !important; font-style: italic !important;
}
h3 { font-size: 22px !important; line-height: 1.3 !important; }
.lead, p.lead, .hero .lead {
  font-size: var(--t-lead) !important; line-height: 1.5 !important; color: var(--ink) !important;
  max-width: 23em; margin-left: auto; margin-right: auto;
}
p, li, .prose p, .approach p, .note-item p, .legal p, .legal li, .offering p, .term p,
.method p, .reading-block p, #layer-out p, .fit-list li, .price-detail {
  font-size: var(--t-body) !important; line-height: 1.7 !important; color: var(--ink) !important;
}
.small, p.small, .hint, .disclaimer, .effective, .sent-note, .privacy-note, .answer-q, .modalities {
  font-size: var(--t-fine) !important; line-height: 1.6 !important; color: var(--ink-soft) !important;
}
.eyebrow, p.eyebrow, div.eyebrow, .two-col h3, .read-one-head {
  font-size: var(--t-eyebrow) !important; letter-spacing: 0.14em !important;
  text-transform: uppercase; line-height: 1.5; margin-bottom: var(--s-2) !important;
   font-weight: 600;
}

/* spacing ladder: space above a heading is about three times the space below */
section { padding: var(--s-10) 0 !important; }
.hero { padding-top: var(--s-9) !important; padding-bottom: var(--s-8) !important; }
h2, .section-title { margin-bottom: 28px !important; margin-top: 0 !important; }
.prose p + p, .approach p + p, #layer-out p + p, .note-body p + p { margin-top: var(--s-4) !important; }
.cta-row, .calc-btn, .btn-row { margin-top: var(--s-7) !important; }

/* measure and edge rule */
.prose, .prose p, .approach p, #layer-out p, .note-body p, .method p {
  max-width: var(--m-body); margin-left: auto; margin-right: auto;
}
.legal p, .legal li { max-width: var(--m-legal); }
.fit-list li, .two-col p { max-width: var(--m-card); }
h1, .eyebrow, .section-title, .standfirst, blockquote { text-align: center; }
.prose p, .approach p, #layer-out p, .note-body p, .method p { text-align: left; }
@media (max-width: 600px) {
  .prose p, .approach p, #layer-out p, .note-body p, .lead, .method p,
  .legal p, .legal li, .note-item p { text-align: left !important; }
}

/* mobile scale */
@media (max-width: 640px) {
  :root { --t-title: 32px; --t-section: 24px; --t-lead: 19px; --s-10: 96px; }
  section { padding: var(--s-9) 0 !important; }
}

/* header: the wordmark was pinched */
.top .wordmark, .top h1.wordmark, .wordmark { margin-bottom: 10px !important; }
.nav, .nav a { font-size: var(--t-eyebrow) !important; letter-spacing: 0.14em !important;
  text-transform: uppercase; }
.nav a.active { border-bottom: 1px solid currentColor; }

/* footer: it was inverting itself */
footer { padding-top: var(--s-8) !important; }
.nav-foot, .nav-foot a { font-size: var(--t-eyebrow) !important; letter-spacing: 0.14em !important;
  text-transform: uppercase; }
footer .address, footer .addr, footer p.address-line { font-size: var(--t-fine) !important; }
footer p, footer .small, footer .copyright, footer .disclaimer {
  font-size: var(--t-eyebrow) !important; line-height: 1.6 !important;
}

/* ---------- Home ---------- */
/* centred body blocks are right here: they run two or three lines */
.about .prose p, .closing p, .approach .prose p { text-align: center; max-width: 32em; }
.couplet { font-style: italic; font-size: 19px !important; margin: 24px auto !important;
  line-height: 1.75 !important; }
/* the quote sits on its own ground, which gives the page one change of surface */
.quote-band { background: var(--bg-soft); border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line); padding: var(--s-9) 0 !important; }
.quote-band blockquote { margin: 0 auto; max-width: 20em; }
.closing-tail { text-align: center; max-width: 32em; margin: var(--s-7) auto 0 !important; }
footer .container > p:first-of-type { font-size: var(--t-fine) !important; }
@media (max-width: 600px) {
  .about .prose p, .closing p, .approach .prose p, .closing-tail { text-align: left !important; }
}

/* ---------- measure and fine print, enforced last ---------- */
.prose, .prose p, .approach p, #layer-out p, .note-body p, .method p, .note-item p,
section > .container > p:not(.lead), .calc-intro, .closing-tail, .standfirst {
  max-width: 33em !important;
}
.lead, p.lead, .hero .lead { max-width: 23em !important; }
.legal p, .legal li { max-width: 36em !important; }
.fit-list li, .two-col p, .offering p, .term p, .work-card p { max-width: 21em !important; }
.disclaimer, p.disclaimer, .hint, p.hint, .privacy-note, p.privacy-note, .sent-note,
.effective {
  font-size: var(--t-fine) !important; line-height: 1.6 !important;
}
.disclaimer, .hint { color: var(--ink) !important; }

/* =========================================================================
   CENTRED, AND TWO FACES ONLY - 13 September 2026
   Everything ranges centre. Headings are Cormorant italic at one weight,
   everything else is Inter at one weight, with labels a shade heavier.
   ========================================================================= */
body, p, li, blockquote, h1, h2, h3, .lead, .eyebrow, .hint, .disclaimer, .small,
.prose, .prose p, .approach p, #layer-out p, .note-body p, .note-item p, .method p,
.method-link, .legal p, .legal li, .offering p, .term p, .work-card p, .fit-list li,
.calc-intro, .closing-tail, .standfirst, .price-detail, .two-col p, .read-one-row,
.privacy-note, .couplet, label, .field, .form-wrap p, .crisis-panel {
  text-align: center !important;
}
.prose, .prose p, .approach p, #layer-out p, .note-body p, .note-item p, .method p,
.method-link, .legal p, .legal li, .calc-intro, .closing-tail, .standfirst,
.price-detail, .fit-list li, .lead, .couplet, .privacy-note, .disclaimer, .hint {
  margin-left: auto !important; margin-right: auto !important;
}
.eyebrow.eyebrow-left { text-align: center !important; }
@media (max-width: 600px) {
  body, p, li, .lead, .prose p, .approach p, #layer-out p, .note-body p, .note-item p,
  .method p, .method-link, .legal p, .legal li, .calc-intro, .closing-tail {
    text-align: center !important;
  }
}

/* two faces, and one weight each */
h1, h2, h3, .section-title, blockquote, .scarcity-band p, .quote-band p, .band p {
  
  font-weight: 300 !important; font-style: italic !important;
}
body, p, li, .lead, .eyebrow, label, input, textarea, button, .hint, .disclaimer,
.small, .nav, .nav-foot, .read-one-row, .note-month, .effective, .privacy-note,
.method-link, .price-unit, .two-col h3 {
  
}
p, li, .lead, .prose p, .method p, .legal p, .hint, .disclaimer, .small, .calc-intro {
  font-weight: 400 !important;
}
.eyebrow, .two-col h3, .read-one-head, .nav a, .nav-foot a, label {
  font-weight: 500 !important;
}
.couplet { 
  font-style: italic !important; font-size: 21px !important; }

/* =========================================================================
   ALIGNMENT FIX - 13 September 2026
   The body measure was being applied to small labels as well. At 12px the
   same em value is a 396px box, and with no side margins it sat flush left
   while the heading above it centred across the whole section. Labels are
   exempt from the measure, and every measured block gets side margins.
   ========================================================================= */
.eyebrow, p.eyebrow, div.eyebrow, .read-one-head, .two-col h3, label, .note-month, .effective {
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
.prose, .prose p, .approach p, #layer-out p, .note-body p, .note-item p, .method p,
.method-link, .legal p, .legal li, .calc-intro, .closing-tail, .standfirst, .lead,
.couplet, .privacy-note, .disclaimer, .hint, .price-detail, .small, p.small,
section > .container > p, .fit-list, .two-col {
  margin-left: auto !important;
  margin-right: auto !important;
}
/* fine print reads as a note under the thing it belongs to, so it centres */
.hint, .disclaimer, .privacy-note, .small, p.small { text-align: center !important; }

/* =========================================================================
   TWO FACES, THREE WEIGHTS - 13 September 2026
   The page was rendering seven face-and-weight combinations, and unstyled
   controls were falling back to a third family. Headings are Cormorant
   italic at one weight; everything else is Inter at 400, with labels at 500.
   ========================================================================= */
h1, h2, h3, h4, .section-title, blockquote, .scarcity-band p, .quote-band p, .band p,
.price-amount, .couplet {
  
  font-weight: 300 !important;
  font-style: italic !important;
}
body, p, li, a, span, div, label, input, textarea, select, button, .lead, .eyebrow,
.nav, .nav-foot, .hint, .disclaimer, .small, .read-one-row, .method-link, .price-unit,
.privacy-note, .effective, .calc-intro, .fit-list li, .two-col h3 {
  
}
p, li, .lead, .prose p, .method p, .legal p, .hint, .disclaimer, .small, .calc-intro,
.method-link, .privacy-note, a, span, div {
  font-weight: 400 !important;
}
.eyebrow, .two-col h3, .read-one-head, .nav a, .nav-foot a, label, .calc-btn, .cta,
.price-unit, strong, b {
  font-weight: 500 !important;
}
input, textarea, select, button { font-size: 16px; }

/* =========================================================================
   MANVIK TYPE SYSTEM v3 - 13 September 2026, revised scale
   Supersedes every block above. Title/body ratio 2.2, not 2.7.
   Serif always leans. Sans always stands. Five roles, one treatment each.
   ========================================================================= */
:root {
  --t-title: 36px; --t-section: 26px; --t-lead: 19px; --t-body: 16px;
  --t-fine: 13px;  --t-label: 11px;   --t-small: 15px;
  --s-1: 8px; --s-2: 12px; --s-3: 16px; --s-4: 20px; --s-5: 24px;
  --s-6: 32px; --s-7: 48px; --s-8: 64px; --s-9: 96px; --s-10: 160px;
  --ink: #2b2318; --ink-soft: #2b2318;
}
body { font-size: var(--t-body) !important; line-height: 1.7 !important; color: var(--ink) !important; }

/* role one and two: title and section heading, serif, leaning */
h1, .hero h1 { font-size: var(--t-title) !important; line-height: 1.15 !important; }
h2, h3, .section-title, .container h2, .container div h2, .note-item h2, .legal h2,
.method h2, .gate h3 { font-size: var(--t-section) !important; line-height: 1.25 !important; }
h1, h2, h3, h4, .section-title, blockquote, .quote-band p, .scarcity-band p, .band p,
.price-amount, .couplet {
  
  font-style: italic !important; font-weight: 300 !important;
}
/* role three: lead, sans, upright, one shade darker than body */
.lead, p.lead, .hero .lead { font-size: var(--t-lead) !important; line-height: 1.55 !important;
  color: var(--ink) !important; }
/* role four: body, sans, upright */
p, li, .prose p, .approach p, #layer-out p, .note-body p, .note-item p, .method p,
.legal p, .legal li, .offering p, .term p, .work-card p, .fit-list li, .price-detail,
.calc-intro, .closing-tail, .reading-block p {
  font-size: var(--t-body) !important; line-height: 1.7 !important; color: var(--ink) !important;
}
/* role five: label, nav and button, sans, caps */
.eyebrow, p.eyebrow, div.eyebrow, .read-one-head, .two-col h3, label, .price-unit {
  font-size: var(--t-label) !important; letter-spacing: 0.16em !important;
  text-transform: uppercase !important; font-style: normal !important;
   font-weight: 500 !important;
  line-height: 1.5 !important; margin-bottom: var(--s-2) !important;
}
.nav a, .nav-foot a, .cta, .calc-btn, button {
  font-size: 12px !important; letter-spacing: 0.14em !important; text-transform: uppercase;
   font-style: normal !important;
}
/* fine print keeps the body colour */
.hint, .disclaimer, .privacy-note, .small, p.small, .effective, .sent-note, .answer-q,
.modalities, .read-one-row {
  font-size: var(--t-fine) !important; line-height: 1.6 !important; color: var(--ink) !important;
}
.method-link { font-size: var(--t-small) !important; line-height: 1.65 !important; }
/* the italic rule: no roman serif, no italic sans */
body, p, li, .lead, a, span, label, input, textarea, button, .eyebrow, .nav, .nav-foot,
.hint, .disclaimer, .small, .method-link, .calc-intro, .read-one-row {
   font-style: normal !important;
}
h1, h2, h3, h4, .section-title, blockquote, .quote-band p, .scarcity-band p, .band p,
.price-amount, .couplet { font-style: italic !important; }

/* spacing ladder, all eights */
section { padding: var(--s-10) 0 !important; }
.hero { padding-top: var(--s-9) !important; padding-bottom: var(--s-8) !important; }
h1 { margin: 0 auto var(--s-6) !important; }
h2, h3, .section-title { margin-top: 0 !important; margin-bottom: 28px !important; }
.eyebrow { margin-bottom: var(--s-2) !important; }
p + p, .prose p + p, .approach p + p, #layer-out p + p, .note-body p + p {
  margin-top: var(--s-4) !important;
}
.cta-row, .calc-btn { margin-top: var(--s-7) !important; }
footer { padding-top: var(--s-8) !important; }
footer .container > p:first-of-type { font-size: var(--t-fine) !important; }
footer p, footer .small { font-size: 12px !important; }
.wordmark { margin-bottom: 10px !important; }

/* measure: body 62-66 characters, cards 42, legal 72 */
.prose, .prose p, .approach p, #layer-out p, .note-body p, .note-item p, .method p,
.calc-intro, .closing-tail, .standfirst, .price-detail, .reading-block p,
section > .container > p:not(.lead):not(.eyebrow) { max-width: 32em !important; }
.lead, p.lead, .hero .lead { max-width: 30em !important; }
.legal p, .legal li { max-width: 36em !important; }
.fit-list li, .two-col p, .offering p, .term p, .work-card p { max-width: 21em !important; }
.method-link { max-width: 34em !important; }

/* edge rule */
h1, h2, h3, .section-title, .eyebrow, blockquote, .standfirst, .read-one-head,
.read-one-row, .lead { text-align: center !important; }
.prose p, .approach p, #layer-out p, .note-body p, .note-item p, .method p, .legal p,
.legal li, .calc-intro, .method-link, .price-detail { text-align: left !important; }
/* everything measured sits on the page centre */
.prose, .prose p, .approach p, #layer-out p, .note-body p, .note-item p, .method p,
.legal p, .legal li, .calc-intro, .closing-tail, .standfirst, .lead, .couplet,
.privacy-note, .disclaimer, .hint, .price-detail, .method-link, .fit-list, .two-col,
section > .container > p {
  margin-left: auto !important; margin-right: auto !important;
}
.eyebrow, label, .read-one-head { max-width: none !important; }

@media (max-width: 640px) {
  :root { --t-title: 28px; --t-section: 22px; --t-lead: 18px; --t-body: 16px; --s-10: 96px; }
  section { padding: var(--s-9) 0 !important; }
}
@media (max-width: 600px) {
  p, li, .lead, .prose p, .approach p, #layer-out p, .note-body p, .note-item p,
  .method p, .legal p, .legal li, .calc-intro, .closing-tail { text-align: left !important; }
}

/* ---- page specifics ---- */
/* home: two even lines under the title, and centred short blocks */
.hero .lead { max-width: 52ch !important; text-wrap: balance; }
.about .prose p, .closing p, .closing-tail, .approach .prose p {
  text-align: center !important; max-width: 32em !important;
}
.couplet { font-size: var(--t-lead) !important; margin: var(--s-5) auto !important; }
.quote-band { padding: var(--s-9) 0 !important; }
/* the work */
.the-work .hero .lead, .hero .lead.work { max-width: 27em !important; }
.offering h3, .term h3, .work-card h3 { margin-bottom: 14px !important; }
.offerings, .work-grid, .terms { row-gap: var(--s-8) !important; }
.close-line, .none-alone { font-size: var(--t-lead) !important; margin-top: 128px !important; }
/* quiet hours */
.note-item h2 { font-size: 22px !important; }
.note-item p { max-width: 34em !important; }
.note-item { padding-top: 40px !important; padding-bottom: 28px !important; }
/* investment */
.price-amount { margin-bottom: var(--s-1) !important; }
.scarcity-band { padding: var(--s-9) 0 !important; }
.fit-list li { padding: var(--s-3) 0 !important; }
/* invitation */
.field { margin-bottom: var(--s-5) !important; }
.form-wrap button, .form-wrap .calc-btn { width: 100%; display: block; }
/* terms */
.legal h2 { font-size: 22px !important; margin: var(--s-7) 0 var(--s-3) !important;
  padding-top: var(--s-5); border-top: 1px solid var(--line); }
.legal h2:first-of-type { border-top: 0; padding-top: 0; }
.crisis-panel { background: var(--bg-soft); border: 1px solid var(--line);
  padding: var(--s-5) var(--s-6) !important; margin: var(--s-5) auto !important; }

/* the italic rule, with the one exception you asked to keep */
.couplet { font-weight: 300 !important; }
/* a Sanskrit term inside body copy takes the serif, because italic sans is retired */
p em, .calc-intro em, .lead em, .prose em, li em {
  
  font-style: italic !important; font-weight: 300 !important;
  font-size: 1.08em !important;
}
/* the mixed title stays: roman serif inside an italic serif heading is deliberate */
h1 em, h2 em, .section-title em {
  
  font-weight: 400 !important; font-size: inherit !important;
}
span[lang="sa"] { font-style: normal !important; font-size: 1em !important; }

/* =========================================================================
   MANVIK v4 - 13 September 2026. ONE FAMILY.
   EB Garamond throughout. Four roles, italic or roman, nothing else.
   Spacing revised down: 96 is the largest step, no blank run over 120px.
   Supersedes every block above.
   ========================================================================= */
:root {
  --t-title: 36px; --t-section: 26px; --t-body: 18px; --t-lead: 18px;
  --t-fine: 13px; --t-label: 11px;
  --s-1: 8px; --s-2: 12px; --s-3: 16px; --s-4: 20px; --s-5: 24px;
  --s-6: 32px; --s-7: 40px; --s-8: 48px; --s-9: 64px; --s-10: 96px;
  --ink: #2b2318; --ink-soft: #2b2318;
  --container: 1080px;
}
html, body, h1, h2, h3, h4, p, li, a, span, div, label, input, textarea, select, button,
blockquote, em, strong, .lead, .eyebrow, .nav, .nav-foot, .hint, .disclaimer, .small,
.method-link, .read-one-row, .calc-intro, .price-amount, .price-unit, .couplet, footer {
  font-family: 'EB Garamond', Garamond, Georgia, serif !important;
}
/* role one: page title */
h1, .hero h1 { font-size: var(--t-title) !important; line-height: 1.15 !important;
  font-style: italic !important; font-weight: 400 !important; color: var(--ink) !important; }
/* the mixed title is retired: one colour, one style */
h1 em, h2 em, .section-title em { font-style: italic !important; color: inherit !important;
  font-weight: inherit !important; font-size: inherit !important; }
/* role two: section heading */
h2, h3, .section-title, .note-item h2, .legal h2, .method h2, .gate h3, .container h2 {
  font-size: var(--t-section) !important; line-height: 1.25 !important;
  font-style: italic !important; font-weight: 400 !important;
}
/* role three: body and lead, roman */
p, li, .lead, .prose p, .approach p, #layer-out p, .note-body p, .note-item p, .method p,
.legal p, .legal li, .offering p, .term p, .work-card p, .fit-list li, .price-detail,
.calc-intro, .closing-tail, .reading-block p, .method-link {
  font-size: var(--t-body) !important; line-height: 1.7 !important;
  font-style: normal !important; font-weight: 400 !important; color: var(--ink) !important;
}
.lead, p.lead, .hero .lead { line-height: 1.55 !important; }
blockquote, .quote-band p, .scarcity-band p, .band p, .couplet {
  font-style: italic !important; font-weight: 400 !important;
}
blockquote, .quote-band p { font-size: 24px !important; line-height: 1.4 !important; }
/* role four: label, nav, button. roman caps, never italic */
.eyebrow, p.eyebrow, div.eyebrow, .read-one-head, .two-col h3, label, .price-unit {
  font-size: var(--t-label) !important; letter-spacing: 0.16em !important;
  text-transform: uppercase !important; font-style: normal !important;
  font-weight: 500 !important; line-height: 1.5 !important;
  margin-bottom: var(--s-2) !important; color: var(--ink) !important;
}
.nav a, .nav-foot a, .cta, .calc-btn, button {
  font-size: 12px !important; letter-spacing: 0.14em !important; text-transform: uppercase;
  font-style: normal !important; font-weight: 500 !important;
}
/* fine print: body colour, no pale variants anywhere */
.hint, .disclaimer, .privacy-note, .small, p.small, .effective, .sent-note, .answer-q,
.modalities, .read-one-row, footer p {
  font-size: var(--t-fine) !important; line-height: 1.6 !important;
  color: var(--ink) !important; font-style: normal !important;
}

/* spacing, revised down */
section { padding: var(--s-10) 0 !important; }
.hero { padding-top: var(--s-9) !important; padding-bottom: var(--s-8) !important; }
h1 { margin: 0 auto var(--s-5) !important; }
h2, h3, .section-title { margin-top: 0 !important; margin-bottom: var(--s-5) !important; }
.eyebrow { margin-bottom: var(--s-2) !important; }
p + p, .prose p + p, .approach p + p, #layer-out p + p { margin-top: var(--s-4) !important; }
.cta-row, .calc-btn { margin-top: var(--s-7) !important; }
.quote-band, .scarcity-band { padding: var(--s-10) 0 !important; }
footer { padding-top: var(--s-9) !important; }
.wordmark { margin-bottom: 10px !important; }
/* no blank run over 120px */
.approach, .about, .closing, #results { padding-top: var(--s-10) !important;
  padding-bottom: var(--s-10) !important; }
.method { margin-top: var(--s-10) !important; }
.read-one { margin-top: var(--s-10) !important; }
.close-line, .none-alone { margin-top: var(--s-10) !important; font-size: var(--t-lead) !important; }

/* measure */
.container, .container-narrow { max-width: var(--container) !important; }
.prose, .prose p, .approach p, #layer-out p, .note-body p, .note-item p, .method p,
.calc-intro, .closing-tail, .standfirst, .price-detail, .reading-block p, .method-link,
section > .container > p:not(.lead):not(.eyebrow) { max-width: 34em !important; }
.lead, p.lead, .hero .lead { max-width: 30em !important; }
.legal p, .legal li { max-width: 39em !important; }
.fit-list li, .two-col p, .offering p, .term p, .work-card p { max-width: 23em !important; }

/* wrapping */
h1, h2, h3, .section-title, .lead, .eyebrow, blockquote, .standfirst, .couplet,
.note-item p, .closing-tail { text-wrap: balance; }
.prose p, .approach p, #layer-out p, .legal p, .method p, .calc-intro { text-wrap: pretty; }
.nb { white-space: nowrap; }

/* edge rule */
h1, h2, h3, .section-title, .eyebrow, blockquote, .standfirst, .read-one-head,
.read-one-row, .lead, .couplet { text-align: center !important; }
.prose p, .approach p, #layer-out p, .note-body p, .note-item p, .method p, .legal p,
.legal li, .calc-intro, .method-link, .price-detail { text-align: left !important; }
.prose, .prose p, .approach p, #layer-out p, .note-body p, .note-item p, .method p,
.legal p, .legal li, .calc-intro, .closing-tail, .standfirst, .lead, .couplet,
.privacy-note, .disclaimer, .hint, .price-detail, .method-link {
  margin-left: auto !important; margin-right: auto !important;
}
.eyebrow, label, .read-one-head { max-width: none !important; }

/* two-column grids, collapsing in source order */
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-10);
  align-items: start; max-width: var(--container); margin: 0 auto; }
.grid-2 > * { min-width: 0; }
.grid-2 .col-sticky { position: sticky; top: var(--s-6); }
.grid-2 .prose p, .grid-2 p, .grid-2 .lead { max-width: 34em !important; margin-left: 0 !important;
  margin-right: 0 !important; text-align: left !important; }
.grid-2 h1, .grid-2 h2, .grid-2 .eyebrow, .grid-2 .section-title { text-align: left !important;
  margin-left: 0 !important; }
@media (max-width: 900px) {
  .grid-2 { grid-template-columns: 1fr; gap: var(--s-9); }
  .grid-2 .col-sticky { position: static; }
}

/* mobile scale */
@media (max-width: 640px) {
  :root { --t-title: 28px; --t-section: 22px; --t-body: 18px; --t-lead: 18px; --s-10: 64px; }
  section { padding: var(--s-9) 0 !important; }
}
@media (max-width: 600px) {
  p, li, .lead, .prose p, .approach p, #layer-out p, .note-body p, .note-item p,
  .method p, .legal p, .legal li, .calc-intro, .closing-tail { text-align: left !important; }
}

/* home keeps its single centred column: a threshold earns its space */
.about .prose p, .closing p, .closing-tail, .approach .prose p {
  text-align: center !important; max-width: 34em !important;
}
.hero .lead { max-width: 52ch !important; text-wrap: balance; }
.couplet { font-size: var(--t-lead) !important; margin: var(--s-5) auto !important; }
/* terms */
.legal h2 { font-size: 22px !important; margin: var(--s-8) 0 var(--s-3) !important;
  padding-top: var(--s-5); border-top: 1px solid var(--line); }
.legal h2:first-of-type { border-top: 0; padding-top: 0; }

/* section padding halved so two adjacent sections give 96px, not 192px,
   and no blank run exceeds 120px */
section { padding: 48px 0 !important; }
.hero { padding-top: 56px !important; padding-bottom: 40px !important; }
.about, .approach, .closing, #results, .grid-wrap { padding: 48px 0 !important; }
.quote-band, .scarcity-band { padding: 48px 0 !important; }
.method { margin-top: 48px !important; }
.read-one { margin-top: 48px !important; }
.close-line, .none-alone { margin-top: 48px !important; }
.grid-2 { gap: 64px !important; }
footer { padding-top: 48px !important; padding-bottom: 40px !important; }
.cta-row, .calc-btn { margin-top: 40px !important; }
h1 { margin-bottom: 24px !important; }
h2, h3, .section-title { margin-bottom: 24px !important; }
@media (max-width: 640px) {
  section, .about, .approach, .closing, #results, .grid-wrap { padding: 32px 0 !important; }
  .grid-2 { gap: 40px !important; }
}

/* the last gap on every page sat between the closing block and the footer */
section:last-of-type, .grid-wrap:last-of-type { padding-bottom: 32px !important; }
footer { padding-top: 40px !important; }
footer .nav-foot { margin-bottom: 16px !important; }
/* a sticky column must not leave a void when its partner is longer */
.grid-2 .col-sticky { align-self: start; }
.grid-2 > div > *:last-child { margin-bottom: 0 !important; }

/* the quote sits on one line on a wide screen, and wraps only on a phone */
.quote-band blockquote, .quote-band p, .approach blockquote {
  max-width: none !important;
  white-space: nowrap;
  font-size: clamp(15px, 2.05vw, 26px) !important;
  line-height: 1.4 !important;
}
@media (max-width: 700px) {
  .quote-band blockquote, .quote-band p, .approach blockquote {
    white-space: normal; max-width: 24em !important; font-size: 20px !important;
  }
}

/* the number row wraps between names, never inside one */
.read-one-row { display: flex !important; flex-wrap: wrap; justify-content: center;
  align-items: baseline; gap: 4px 0; }
.read-one-row a { white-space: nowrap; }
@media (max-width: 640px) { .read-one-row .sep { margin: 0 8px; } }

/* the couplet runs as one italic line */
.prose p.couplet { font-style: italic !important; }
