/*
Theme Name: The Confident Path
Theme URI: https://theconfidentpath.com
Author: The Confident Path
Description: Minimal custom theme for The Confident Path. Zero theme styling of its own — carries only the site's own design system (Fraunces + Atkinson Hyperlegible Next, sage/forest palette) so pasted page content renders exactly as designed, with no competing CSS.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: confident-path
*/

html,body{margin:0;padding:0;background:#ffffff;}
* { box-sizing: border-box; }
body { font-family: "Atkinson Hyperlegible Next", system-ui, sans-serif; }

/* ============================================================
   The Confident Path — homepage directions
   Shared reset + per-direction systems (.d1 / .d2 / .d3)
   ============================================================ */

.tcp-page, .tcp-page * { box-sizing: border-box !important; margin: 0; padding: 0; }
.tcp-page { width: 100%; max-width: 1600px; margin: 0 auto !important; position: relative !important; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.tcp-page input, .tcp-page textarea { -webkit-user-select: text; user-select: text; }
.tcp-page p, .tcp-page h1, .tcp-page h2, .tcp-page h3, .tcp-page h4, .tcp-page blockquote, .tcp-page ul, .tcp-page li, .tcp-page a, .tcp-page span, .tcp-page div, .tcp-page nav, .tcp-page header, .tcp-page section, .tcp-page footer, .tcp-page figure, .tcp-page figcaption { max-width: none !important; width: auto !important; float: none !important; list-style: none !important; font-size: inherit; line-height: inherit; text-align: inherit; }
.tcp-page nav, .tcp-page .d2-navlinks, .tcp-page .d2-herobtns, .tcp-page .d2-rec-item, .tcp-page .d2-comm-inner, .tcp-page .co-invest-inner, .tcp-page .co-bound-cols, .tcp-page .in-featured-inner, .tcp-page .cm-join-inner { display: flex !important; }
.tcp-page .d2-hero, .tcp-page .co-process, .tcp-page .d2-quote, .tcp-page .d2-final, .tcp-page .co-faq .head, .tcp-page .co-fit .head, .tcp-page .in-list .head, .tcp-page .ab-beliefs .head, .tcp-page .cm-inside .head, .tcp-page .cm-rhythm .head, .tcp-page .cm-voices .head { text-align: center !important; }
.tcp-page .d2-rec, .tcp-page .d2-app-split, .tcp-page .d2-pillars, .tcp-page .d2-off-list, .tcp-page .d2-stages, .tcp-page .co-steps, .tcp-page .co-path, .tcp-page .co-bound, .tcp-page .co-areas-grid, .tcp-page .co-process-row, .tcp-page .co-tiers, .tcp-page .in-grid, .tcp-page .cm-grid, .tcp-page .cm-voices-grid, .tcp-page .cm-rhythm-list, .tcp-page .ab-belief-grid, .tcp-page .ab-story, .tcp-page .ab-founder, .tcp-page .co-fit-cols { display: grid !important; }
.tcp-page img { display: block !important; max-width: 100%; }
.tcp-page a { text-decoration: none; }
:where(.tcp-page a) { color: inherit; }

/* ============================================================
   GLOBAL PALETTE — drives all three directions.
   Overridable live via the Tweaks color picker.
   Default: clean cool white + violet / pink / emerald (no orange).
   ============================================================ */
:root {
  --g-bg: #ffffff;
  --g-panel: #eef0ea;
  --g-ink: #18171f;
  --g-muted: #6a6776;
  --g-line: #e7e5f0;
  --g-accent: #4a5d43;
  --g-accent-deep: #34412e;
  --g-accent-soft: #7f9471;
  --g-accent-2: #4a5d43;
  --g-accent-3: #59565d;
}

/* ============================================================
   DIRECTION 1 — BOLD EDITORIAL
   Bricolage Grotesque display, Hanken body, coral accent
   ============================================================ */
.d1 {
  --bg: var(--g-bg);
  --panel: var(--g-panel);
  --ink: var(--g-ink);
  --muted: var(--g-muted);
  --line: var(--g-line);
  --accent: var(--g-accent);
  --accent-deep: var(--g-accent-deep);
  background: var(--bg);
  color: var(--ink);
  font-family: "Atkinson Hyperlegible Next", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.5;
}
.d1 .disp { font-family: "Bricolage Grotesque", system-ui, sans-serif; font-weight: 800; letter-spacing: -0.025em; line-height: 0.96; }
.d1 .pad { padding-left: 92px; padding-right: 92px; }

/* nav */
.d1-nav { display: flex !important; align-items: center !important; justify-content: space-between !important; height: 90px; border-bottom: 1px solid var(--line); }
.d1-logo { font-family: "Bricolage Grotesque", sans-serif; font-weight: 800; font-size: 21px; letter-spacing: -0.02em; display: flex !important; align-items: center !important; gap: 11px !important; }
.d1-logo .mark { width: 30px; height: 30px; border-radius: 50%; background: var(--accent); position: relative !important; flex: 0 0 auto !important; }
.d1-logo .mark::after { content: ""; position: absolute !important; inset: 9px 0 0 9px; border-top: 2.5px solid var(--bg); border-left: 2.5px solid var(--bg); border-radius: 2px 0 0 0; }
.d1-navlinks { display: flex !important; align-items: center !important; gap: 38px !important; font-weight: 500; font-size: 15.5px; }
.d1-navlinks a { color: var(--muted); transition: color .15s; }
.d1-cta { background: var(--ink); color: var(--bg); padding: 12px 22px; border-radius: 100px; font-weight: 600; font-size: 15px; display: inline-flex !important; align-items: center !important; gap: 8px !important; }

/* hero */
.d1-hero { display: grid !important; grid-template-columns: 1.32fr 1fr !important; gap: 56px !important; padding-top: 72px; padding-bottom: 80px; align-items: end !important; }
.d1-eyebrow { display: inline-flex !important; align-items: center !important; gap: 10px !important; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-deep); margin-bottom: 26px; }
.d1-eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.d1-h1 { font-size: 78px; margin-bottom: 28px; }
.d1-h1 em { font-style: normal; color: var(--accent); }
.d1-sub { font-size: 20px; line-height: 1.55; color: var(--muted); max-width: 540px; margin-bottom: 36px; }
.d1-herobtns { display: flex !important; align-items: center !important; gap: 18px !important; }
.d1-btn-primary { background: var(--accent); color: #fff; padding: 16px 30px; border-radius: 100px; font-weight: 700; font-size: 16.5px; display: inline-flex !important; align-items: center !important; gap: 9px !important; }
.d1-btn-ghost { color: var(--ink); font-weight: 600; font-size: 16.5px; display: inline-flex !important; align-items: center !important; gap: 8px !important; border-bottom: 2px solid var(--ink); padding-bottom: 3px; }
.d1-herofig { aspect-ratio: 4 / 5; border-radius: 220px 220px 14px 14px; overflow: hidden !important; }

/* marquee strip */
.d1-strip { background: var(--ink); color: var(--bg); height: 64px; display: flex !important; align-items: center !important; overflow: hidden !important; }
.d1-strip .row { display: flex !important; align-items: center !important; gap: 30px !important; white-space: nowrap !important; font-family: "Bricolage Grotesque", sans-serif; font-weight: 600; font-size: 17px; letter-spacing: 0.01em; }
.d1-strip .row span.s { color: var(--accent); }
.d1-strip .row .dot { color: var(--accent); }

/* recognition */
.d1-rec { padding-top: 96px; padding-bottom: 96px; }
.d1-sectlabel { font-size: 13px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); margin-bottom: 20px; }
.d1-rec-h { font-size: 46px; max-width: 760px; margin-bottom: 54px; }
.d1-rec-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 64px !important; }
.d1-rec-item { display: flex !important; gap: 20px !important; padding: 26px 0; border-top: 1px solid var(--line); }
.d1-rec-item .n { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: 15px; color: var(--accent); flex: 0 0 auto !important; padding-top: 4px; font-variant-numeric: tabular-nums; }
.d1-rec-item p { font-size: 19px; line-height: 1.45; font-weight: 500; }

/* approach */
.d1-app { background: var(--panel); padding-top: 96px; padding-bottom: 100px; }
.d1-app-h { font-size: 46px; max-width: 720px; margin-bottom: 16px; }
.d1-app-intro { font-size: 19px; color: var(--muted); max-width: 560px; margin-bottom: 60px; }
.d1-pillars { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 34px !important; }
.d1-pillar { background: var(--bg); border-radius: 18px; padding: 38px 32px; border: 1px solid var(--line); }
.d1-pillar .pn { font-family: "Bricolage Grotesque", sans-serif; font-weight: 800; font-size: 54px; color: var(--accent); line-height: 1; margin-bottom: 22px; letter-spacing: -0.03em; }
.d1-pillar h3 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: 25px; letter-spacing: -0.02em; margin-bottom: 12px; }
.d1-pillar p { color: var(--muted); font-size: 16.5px; line-height: 1.55; }

/* offerings */
.d1-off { padding-top: 96px; padding-bottom: 96px; }
.d1-off-head { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; margin-bottom: 52px; }
.d1-off-h { font-size: 46px; max-width: 620px; }
.d1-off-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 28px !important; }
.d1-card { border: 1px solid var(--line); border-radius: 18px; overflow: hidden !important; display: flex !important; flex-direction: column !important; }
.d1-card .ph { height: 188px; }
.d1-card .body { padding: 30px 28px 34px; display: flex !important; flex-direction: column !important; flex: 1 !important; }
.d1-card .tag { font-size: 12.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-deep); margin-bottom: 12px; }
.d1-card h3 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: 24px; letter-spacing: -0.02em; margin-bottom: 11px; }
.d1-card p { color: var(--muted); font-size: 16px; line-height: 1.5; margin-bottom: 22px; }
.d1-card .lnk { margin-top: auto; font-weight: 700; font-size: 15.5px; color: var(--ink); display: inline-flex !important; align-items: center !important; gap: 8px !important; }

/* community */
.d1-comm { background: var(--ink); color: var(--bg); padding-top: 92px; padding-bottom: 92px; }
.d1-comm-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 64px !important; align-items: center !important; }
.d1-comm h2 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 800; font-size: 44px; letter-spacing: -0.025em; line-height: 1.02; margin-bottom: 22px; }
.d1-comm h2 em { font-style: normal; color: var(--accent); }
.d1-comm p { font-size: 18.5px; line-height: 1.6; color: rgba(255,255,255,.72); margin-bottom: 30px; max-width: 480px; }
.d1-comm .pills { display: flex !important; gap: 12px !important; flex-wrap: wrap !important; margin-bottom: 34px; }
.d1-comm .pill { border: 1px solid rgba(255,255,255,.2); border-radius: 100px; padding: 9px 17px; font-size: 14.5px; font-weight: 500; }
.d1-comm-fig { aspect-ratio: 5 / 4; border-radius: 16px; overflow: hidden !important; }

/* quote */
.d1-quote { padding-top: 100px; padding-bottom: 100px; text-align: center; }
.d1-quote blockquote { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; font-size: 42px; letter-spacing: -0.02em; line-height: 1.18; max-width: 1000px; margin: 0 auto 30px; }
.d1-quote blockquote em { font-style: normal; color: var(--accent); }
.d1-quote .by { font-size: 15px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }

/* final cta */
.d1-final { background: var(--accent); color: #fff; padding-top: 88px; padding-bottom: 88px; text-align: center; }
.d1-final h2 { font-family: "Bricolage Grotesque", sans-serif; font-weight: 800; font-size: 60px; letter-spacing: -0.03em; line-height: 1; margin-bottom: 22px; }
.d1-final p { font-size: 20px; color: rgba(255,255,255,.9); max-width: 540px; margin: 0 auto 36px; }
.d1-final .btn { background: #fff; color: var(--accent-deep); padding: 17px 34px; border-radius: 100px; font-weight: 700; font-size: 17px; display: inline-flex !important; align-items: center !important; gap: 9px !important; }

/* footer */
.d1-foot { background: var(--ink); color: rgba(255,255,255,.6); padding-top: 48px; padding-bottom: 40px; display: flex !important; align-items: center !important; justify-content: space-between !important; font-size: 14.5px; }
.d1-foot .d1-logo { color: var(--bg); font-size: 18px; }
.d1-foot .links { display: flex !important; gap: 26px !important; }

/* ============================================================
   DIRECTION 2 — WARM SOPHISTICATED
   Fraunces serif display, Hanken body, terracotta, airy
   ============================================================ */
.d2 {
  --bg: var(--g-bg);
  --panel: var(--g-panel);
  --ink: var(--g-ink);
  --muted: var(--g-muted);
  --line: var(--g-line);
  --accent: var(--g-accent);
  --accent-soft: var(--g-accent-soft);
  background: var(--bg);
  color: var(--ink);
  font-family: "Atkinson Hyperlegible Next", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.55;
}
.d2 .serif { font-family: "Fraunces", Georgia, serif; font-weight: 440; font-optical-sizing: auto; letter-spacing: -0.01em; line-height: 1.05; }
.d2 .serif em { font-style: italic; color: var(--accent); }
.d2 .pad { padding-left: 104px; padding-right: 104px; }

.d2-nav { display: flex !important; align-items: center !important; justify-content: space-between !important; height: 96px; }
.d2-logo { font-family: "Fraunces", serif; font-weight: 500; font-size: 23px; letter-spacing: -0.01em; display: flex !important; align-items: center !important; gap: 12px !important; }
.d2-logo .mark { width: 27px; height: 27px; border-radius: 50%; background: var(--accent); position: relative !important; flex: 0 0 auto !important; }
.d2-logo .mark::after { content: ""; position: absolute !important; inset: 8px 0 0 8px; border-top: 2.5px solid var(--bg); border-left: 2.5px solid var(--bg); border-radius: 2px 0 0 0; }
.d2-navlinks { display: flex !important; align-items: center !important; gap: 40px !important; font-weight: 500; font-size: 15px; }
.d2-navlinks a { color: var(--muted); }
.d2-cta { border: 1.5px solid var(--ink); padding: 11px 24px; border-radius: 100px; font-weight: 600; font-size: 14.5px; }

.d2-hero { text-align: center; padding-top: 76px; padding-bottom: 64px; }
.d2-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); margin-bottom: 34px; }
.d2-h1 { font-size: 82px; max-width: 1000px; margin: 0 auto 30px; }
.d2-sub { font-size: 20px; line-height: 1.6; color: var(--muted); max-width: 620px; margin: 0 auto 38px; }
.d2-herobtns { display: flex !important; align-items: center !important; justify-content: center !important; gap: 22px !important; }
.d2-btn { background: var(--accent); color: #fff; padding: 16px 32px; border-radius: 100px; font-weight: 600; font-size: 16px; display: inline-flex !important; align-items: center !important; gap: 9px !important; }
.d2-link { font-weight: 600; font-size: 16px; color: var(--ink); border-bottom: 1.5px solid var(--accent); padding-bottom: 3px; }
.d2-herofig { margin-top: 64px; height: 460px; border-radius: 14px; overflow: hidden !important; }

.d2-rec { padding-top: 104px; padding-bottom: 104px; display: grid !important; grid-template-columns: 0.85fr 1.15fr !important; gap: 80px !important; align-items: start !important; }
.d2-sectlabel { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); margin-bottom: 22px; }
.d2-rec h2 { font-size: 44px; position: sticky !important; top: 40px !important; }
.d2-rec-list { display: flex !important; flex-direction: column !important; }
.d2-rec-item { padding: 28px 0; border-bottom: 1px solid var(--line); font-size: 21px; line-height: 1.45; font-weight: 500; display: flex !important; gap: 22px !important; }
.d2-rec-item:first-child { border-top: 1px solid var(--line); }
.d2-rec-item .ic { color: var(--accent); flex: 0 0 auto !important; font-family: "Fraunces", serif; font-style: italic; font-size: 18px; padding-top: 4px; }

.d2-app { background: var(--panel); padding-top: 68px; padding-bottom: 72px; }
.d2-app-split { display: grid !important; grid-template-columns: 0.85fr 1.15fr !important; gap: 72px !important; align-items: start !important; }
.d2-app-left .d2-sectlabel { text-transform: none; letter-spacing: 0; font-size: 14px; }
.d2-app-left h2 { font-size: 40px; line-height: 1.18; margin-bottom: 20px; max-width: 400px; }
.d2-app-left p { font-size: 17px; color: var(--muted); max-width: 360px; margin-bottom: 32px; }
.d2-app-device { width: 2px; height: 120px; background: linear-gradient(to bottom, var(--accent), transparent); }
.d2-stages { display: flex !important; flex-direction: column !important; }
.d2-stage { display: grid !important; grid-template-columns: 56px 1fr !important; gap: 24px !important; padding: 26px 0; border-top: 1px solid var(--line); }
.d2-stage:first-child { border-top: none; padding-top: 0; }
.d2-stage .sn { font-size: 15px; font-weight: 600; color: var(--accent); padding-top: 3px; }
.d2-stage h3 { font-size: 20px; font-weight: 600; font-family: "Atkinson Hyperlegible Next", sans-serif; margin-bottom: 8px; letter-spacing: -0.01em; }
.d2-stage p { color: #4a443e; font-size: 16.5px; line-height: 1.55; max-width: 520px; }
.d2-stage:nth-child(1) p { max-width: 480px; }
.d2-stage:nth-child(2) p { max-width: 560px; }
.d2-stage:nth-child(3) p { max-width: 500px; }

.d2-off { padding-top: 108px; padding-bottom: 108px; }
.d2-off-head { text-align: center; margin-bottom: 60px; }
.d2-off-head h2 { font-size: 48px; }
.d2-off-list { display: flex !important; flex-direction: column !important; gap: 0 !important; }
.d2-row { display: grid !important; grid-template-columns: 64px 1fr 1.1fr auto !important; gap: 40px !important; align-items: center !important; padding: 38px 0; border-top: 1px solid var(--line); }
.d2-row:last-child { border-bottom: 1px solid var(--line); }
.d2-row .rn { font-family: "Fraunces", serif; font-style: italic; font-size: 22px; color: var(--accent); }
.d2-row h3 { font-family: "Fraunces", serif; font-weight: 500; font-size: 30px; }
.d2-row h3 .k { display: block !important; font-family: "Atkinson Hyperlegible Next", sans-serif; font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); margin-bottom: 8px; }
.d2-row p { color: var(--muted); font-size: 16.5px; line-height: 1.55; }
.d2-row .go { width: 52px; height: 52px; border-radius: 50%; border: 1.5px solid var(--ink); display: flex !important; align-items: center !important; justify-content: center !important; font-size: 19px; flex: 0 0 auto !important; }

.d2-comm { padding-top: 30px; padding-bottom: 108px; }
.d2-comm-inner { background: var(--ink); color: var(--bg); border-radius: 22px; overflow: hidden !important; display: grid !important; grid-template-columns: 1.05fr 1fr !important; }
.d2-comm-text { padding: 76px 70px; }
.d2-comm-text .d2-sectlabel { color: var(--accent-soft); }
.d2-comm-text h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 46px; line-height: 1.08; margin-bottom: 22px; }
.d2-comm-text h2 em { font-style: italic; color: var(--accent-soft); }
.d2-comm-text p { font-size: 18px; line-height: 1.6; color: rgba(255,255,255,.74); margin-bottom: 32px; max-width: 440px; }
.d2-comm-text .pills { display: flex !important; flex-wrap: wrap !important; gap: 11px !important; margin-bottom: 36px; }
.d2-comm-text .pill { border: 1px solid rgba(255,255,255,.22); border-radius: 100px; padding: 8px 16px; font-size: 14px; }
.d2-comm-text .btn { background: var(--accent-soft); color: var(--ink); padding: 15px 30px; border-radius: 100px; font-weight: 600; font-size: 15.5px; display: inline-flex !important; gap: 9px !important; align-items: center !important; }
.d2-comm-fig { min-height: 420px; }

.d2-quote { padding-top: 40px; padding-bottom: 110px; text-align: center; }
.d2-quote blockquote { font-family: "Fraunces", serif; font-weight: 400; font-size: 46px; line-height: 1.25; max-width: 980px; margin: 0 auto 28px; }
.d2-quote blockquote em { font-style: italic; color: var(--accent); }
.d2-quote .by { font-size: 13px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--muted); }

.d2-final { background: var(--accent); color: #fff; text-align: center; padding-top: 96px; padding-bottom: 100px; }
.d2-final h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 62px; line-height: 1.05; margin-bottom: 22px; }
.d2-final h2 em { font-style: italic; }
.d2-final p { font-size: 19px; color: rgba(255,255,255,.9); max-width: 540px; margin: 0 auto 36px; }
.d2-final .btn { background: #fff; color: var(--accent); padding: 16px 34px; border-radius: 100px; font-weight: 600; font-size: 16.5px; display: inline-flex !important; align-items: center !important; gap: 9px !important; }

.d2-foot { padding-top: 52px; padding-bottom: 46px; display: flex !important; align-items: center !important; justify-content: space-between !important; font-size: 14.5px; color: var(--muted); border-top: 1px solid var(--line); }
.d2-foot .links { display: flex !important; gap: 28px !important; }

/* ============================================================
   DIRECTION 3 — ENERGETIC GEOMETRIC
   Space Grotesk, color blocks + arcs, tangerine/amber/coral
   ============================================================ */
.d3 {
  --bg: var(--g-bg);
  --ink: var(--g-ink);
  --muted: var(--g-muted);
  --line: var(--g-line);
  --tang: var(--g-accent);
  --amber: var(--g-accent-2);
  --coral: var(--g-accent-3);
  --ink-panel: var(--g-ink);
  background: var(--bg);
  color: var(--ink);
  font-family: "Space Grotesk", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.5;
}
.d3 .g { font-family: "Space Grotesk", sans-serif; font-weight: 700; letter-spacing: -0.03em; line-height: 0.98; }
.d3 .pad { padding-left: 88px; padding-right: 88px; }

.d3-nav { display: flex !important; align-items: center !important; justify-content: space-between !important; height: 88px; }
.d3-logo { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 20px; letter-spacing: -0.02em; display: flex !important; align-items: center !important; gap: 10px !important; }
.d3-logo .mark { width: 26px; height: 26px; border-radius: 7px; background: var(--tang); flex: 0 0 auto !important; transform: rotate(12deg); }
.d3-navlinks { display: flex !important; align-items: center !important; gap: 34px !important; font-weight: 500; font-size: 15px; }
.d3-navlinks a { color: var(--ink); }
.d3-cta { background: var(--tang); color: #fff; padding: 12px 22px; border-radius: 9px; font-weight: 600; font-size: 15px; display: inline-flex !important; align-items: center !important; gap: 7px !important; }

.d3-hero { position: relative !important; padding-top: 60px; padding-bottom: 70px; overflow: hidden !important; }
.d3-hero .arc { position: absolute !important; top: -120px !important; right: -80px !important; width: 520px; height: 520px; border-radius: 50%; background: var(--amber); z-index: 0; }
.d3-hero .arc2 { position: absolute !important; top: 180px !important; right: 280px !important; width: 130px; height: 130px; border-radius: 50%; background: var(--coral); z-index: 0; }
.d3-hero .inner { position: relative !important; z-index: 1; max-width: 1000px; }
.d3-pill { display: inline-flex !important; align-items: center !important; gap: 9px !important; background: var(--ink); color: #fff; padding: 9px 16px; border-radius: 100px; font-size: 13px; font-weight: 600; letter-spacing: 0.04em; margin-bottom: 30px; }
.d3-pill .d { width: 7px; height: 7px; border-radius: 50%; background: var(--amber); }
.d3-h1 { font-size: 88px; margin-bottom: 28px; }
.d3-h1 .hl { background: var(--tang); color: #fff; padding: 0 14px; border-radius: 12px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.d3-sub { font-size: 20px; line-height: 1.55; color: var(--muted); max-width: 540px; margin-bottom: 36px; font-weight: 400; }
.d3-herobtns { display: flex !important; align-items: center !important; gap: 16px !important; }
.d3-btn { background: var(--ink); color: #fff; padding: 16px 30px; border-radius: 11px; font-weight: 600; font-size: 16.5px; display: inline-flex !important; align-items: center !important; gap: 9px !important; }
.d3-btn-2 { background: #fff; border: 2px solid var(--ink); color: var(--ink); padding: 14px 28px; border-radius: 11px; font-weight: 600; font-size: 16.5px; }
.d3-herofig { position: relative !important; z-index: 1; margin-top: 56px; height: 340px; border-radius: 18px; overflow: hidden !important; border: 3px solid var(--ink); }

.d3-strip { background: var(--ink); color: var(--bg); padding: 22px 0; display: flex !important; }
.d3-strip .row { display: flex !important; gap: 26px !important; align-items: center !important; white-space: nowrap !important; font-weight: 600; font-size: 16px; }
.d3-strip .row .s { color: var(--amber); }
.d3-strip .row .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--tang); }

.d3-rec { padding-top: 92px; padding-bottom: 92px; }
.d3-sectlabel { display: inline-block !important; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tang); margin-bottom: 18px; }
.d3-rec-h { font-size: 50px; max-width: 820px; margin-bottom: 50px; }
.d3-rec-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 18px !important; }
.d3-rec-card { background: #fff; border: 2px solid var(--ink); border-radius: 14px; padding: 26px 28px; display: flex !important; gap: 18px !important; align-items: flex-start !important; }
.d3-rec-card .b { width: 32px; height: 32px; border-radius: 8px; background: var(--amber); flex: 0 0 auto !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: 700; font-size: 15px; }
.d3-rec-card:nth-child(2) .b { background: var(--coral); }
.d3-rec-card:nth-child(3) .b { background: var(--tang); color: #fff; }
.d3-rec-card:nth-child(4) .b { background: var(--coral); }
.d3-rec-card:nth-child(5) .b { background: var(--tang); color: #fff; }
.d3-rec-card:nth-child(6) .b { background: var(--amber); }
.d3-rec-card p { font-size: 18px; line-height: 1.45; font-weight: 500; }

.d3-app { background: var(--ink-panel); color: var(--bg); padding-top: 96px; padding-bottom: 100px; }
.d3-app .d3-sectlabel { color: var(--amber); }
.d3-app-h { font-size: 50px; max-width: 720px; margin-bottom: 16px; }
.d3-app-intro { font-size: 19px; color: rgba(255,255,255,.66); max-width: 540px; margin-bottom: 58px; }
.d3-pillars { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 22px !important; }
.d3-pillar { border-radius: 18px; padding: 38px 32px 40px; color: var(--ink); position: relative !important; overflow: hidden !important; min-height: 290px; display: flex !important; flex-direction: column !important; }
.d3-pillar:nth-child(1) { background: var(--tang); color: #fff; }
.d3-pillar:nth-child(2) { background: var(--amber); }
.d3-pillar:nth-child(3) { background: var(--coral); }
.d3-pillar .pn { font-family: "Space Grotesk", sans-serif; font-weight: 700; font-size: 17px; opacity: 0.7; margin-bottom: auto; }
.d3-pillar h3 { font-weight: 700; font-size: 30px; letter-spacing: -0.02em; margin-bottom: 12px; }
.d3-pillar p { font-size: 16.5px; line-height: 1.5; opacity: 0.92; }

.d3-off { padding-top: 96px; padding-bottom: 96px; }
.d3-off-head { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; margin-bottom: 46px; }
.d3-off-h { font-size: 50px; max-width: 560px; }
.d3-off-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 22px !important; }
.d3-card { border: 2px solid var(--ink); border-radius: 18px; overflow: hidden !important; display: flex !important; flex-direction: column !important; background: #fff; }
.d3-card .ph { height: 176px; border-bottom: 2px solid var(--ink); }
.d3-card .body { padding: 28px 26px 30px; display: flex !important; flex-direction: column !important; flex: 1 !important; }
.d3-card .tag { align-self: flex-start !important; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 11px; border-radius: 7px; margin-bottom: 16px; }
.d3-card:nth-child(1) .tag { background: var(--tang); color: #fff; }
.d3-card:nth-child(2) .tag { background: var(--amber); }
.d3-card:nth-child(3) .tag { background: var(--coral); }
.d3-card h3 { font-weight: 700; font-size: 25px; letter-spacing: -0.02em; margin-bottom: 11px; }
.d3-card p { color: var(--muted); font-size: 16px; line-height: 1.5; margin-bottom: 22px; }
.d3-card .lnk { margin-top: auto; font-weight: 700; font-size: 15.5px; display: inline-flex !important; align-items: center !important; gap: 8px !important; }

.d3-comm { padding-top: 30px; padding-bottom: 96px; }
.d3-comm-inner { background: var(--tang); color: #fff; border-radius: 24px; padding: 72px 70px; position: relative !important; overflow: hidden !important; display: grid !important; grid-template-columns: 1.1fr 0.9fr !important; gap: 56px !important; align-items: center !important; }
.d3-comm-inner .blob { position: absolute !important; bottom: -120px !important; left: -60px !important; width: 320px; height: 320px; border-radius: 50%; background: rgba(255,255,255,.12); }
.d3-comm-text { position: relative !important; z-index: 1; }
.d3-comm-text h2 { font-weight: 700; font-size: 46px; letter-spacing: -0.025em; line-height: 1.02; margin-bottom: 20px; }
.d3-comm-text p { font-size: 18px; line-height: 1.55; color: rgba(255,255,255,.88); margin-bottom: 30px; max-width: 440px; }
.d3-comm-text .pills { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; margin-bottom: 34px; }
.d3-comm-text .pill { background: rgba(255,255,255,.16); border-radius: 100px; padding: 8px 16px; font-size: 14px; font-weight: 500; }
.d3-comm-text .btn { background: #fff; color: var(--tang); padding: 15px 30px; border-radius: 11px; font-weight: 700; font-size: 16px; display: inline-flex !important; align-items: center !important; gap: 9px !important; }
.d3-comm-fig { position: relative !important; z-index: 1; height: 320px; border-radius: 16px; overflow: hidden !important; border: 3px solid var(--ink); }

.d3-quote { padding-top: 30px; padding-bottom: 100px; }
.d3-quote-inner { background: var(--amber); border-radius: 24px; padding: 80px 90px; text-align: center; }
.d3-quote blockquote { font-weight: 700; font-size: 46px; letter-spacing: -0.025em; line-height: 1.14; max-width: 920px; margin: 0 auto 26px; }
.d3-quote .by { font-size: 14px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }

.d3-final { padding-top: 30px; padding-bottom: 96px; }
.d3-final-inner { background: var(--ink); color: #fff; border-radius: 24px; padding: 90px 70px; text-align: center; position: relative !important; overflow: hidden !important; }
.d3-final-inner .c1 { position: absolute !important; top: -60px !important; left: -40px !important; width: 200px; height: 200px; border-radius: 50%; background: var(--tang); }
.d3-final-inner .c2 { position: absolute !important; bottom: -70px !important; right: -30px !important; width: 220px; height: 220px; border-radius: 50%; background: var(--coral); }
.d3-final-inner .in { position: relative !important; z-index: 1; }
.d3-final h2 { font-weight: 700; font-size: 64px; letter-spacing: -0.03em; line-height: 1; margin-bottom: 20px; }
.d3-final p { font-size: 20px; color: rgba(255,255,255,.82); max-width: 540px; margin: 0 auto 34px; }
.d3-final .btn { background: var(--amber); color: var(--ink); padding: 17px 34px; border-radius: 12px; font-weight: 700; font-size: 17px; display: inline-flex !important; align-items: center !important; gap: 9px !important; }

.d3-foot { padding-top: 50px; padding-bottom: 44px; display: flex !important; align-items: center !important; justify-content: space-between !important; font-size: 14.5px; color: var(--muted); border-top: 2px solid var(--ink); }
.d3-foot .links { display: flex !important; gap: 26px !important; }
.d3-foot .links a { color: var(--ink); font-weight: 500; }

/* ============================================================
   DIRECTION 4 — CALM / CLINICAL  (Timeline-inspired)
   Schibsted Grotesk display + Hanken body. Near-white bone,
   warm charcoal ink, muted plum used sparingly. Huge whitespace,
   photo-led, vertical "Path" timeline. Self-contained palette.
   ============================================================ */
.d4 {
  --bg: #fcfbf7;        /* near-white bone */
  --field: #f3f1ea;     /* soft warm field */
  --ink: #1d1b17;       /* warm charcoal */
  --muted: #8c867a;     /* warm gray */
  --line: #e7e3d8;      /* hairline */
  --accent: #6b4560;    /* muted plum (used sparingly) */
  --accent-deep: #4f2f46;
  background: var(--bg);
  color: var(--ink);
  font-family: "Atkinson Hyperlegible Next", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.62;
  font-weight: 400;
}
.d4 .h { font-family: "Schibsted Grotesk", system-ui, sans-serif; font-weight: 500; letter-spacing: -0.02em; line-height: 1.08; }
.d4 .accent { color: var(--accent); }
.d4 .pad { padding-left: 120px; padding-right: 120px; }
.d4 .label { font-size: 12px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted); }

/* image crop + caption system (photo-led, neutral) */
.d4-fig { position: relative !important; }
.d4-fig .crop { overflow: hidden !important; border-radius: 6px; }
.d4-fig figcaption { margin-top: 14px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); display: flex !important; align-items: center !important; gap: 10px !important; }
.d4-fig figcaption::before { content: ""; width: 22px; height: 1px; background: var(--muted); flex: 0 0 auto !important; }

/* nav */
.d4-nav { display: flex !important; align-items: center !important; justify-content: space-between !important; height: 92px; border-bottom: 1px solid var(--line); }
.d4-logo { font-family: "Schibsted Grotesk", sans-serif; font-weight: 600; font-size: 19px; letter-spacing: -0.01em; }
.d4-navlinks { display: flex !important; align-items: center !important; gap: 40px !important; font-size: 14.5px; font-weight: 500; }
.d4-navlinks a { color: var(--ink); }
.d4-navlinks a.muted { color: var(--muted); }
.d4-btn { background: var(--ink); color: var(--bg); padding: 12px 24px; border-radius: 100px; font-size: 14px; font-weight: 600; display: inline-flex !important; align-items: center !important; gap: 8px !important; }
.d4-link { font-size: 16px; font-weight: 600; color: var(--ink); border-bottom: 1px solid var(--accent); padding-bottom: 3px; }

/* hero — calm, centered, big photo beneath */
.d4-hero { padding-top: 88px; padding-bottom: 8px; text-align: center; }
.d4-hero .label { display: inline-block !important; margin-bottom: 30px; }
.d4-h1 { font-size: 64px; font-weight: 500; line-height: 1.05; letter-spacing: -0.025em; max-width: 900px; margin: 0 auto 28px; }
.d4-sub { font-size: 20px; line-height: 1.6; color: #57524a; max-width: 600px; margin: 0 auto 38px; }
.d4-herobtns { display: flex !important; align-items: center !important; justify-content: center !important; gap: 26px !important; }
.d4-herofig { margin-top: 72px; }
.d4-herofig .crop { height: 540px; }

/* belief — confident, evidence-led statement (Timeline "who we are") */
.d4-belief { padding-top: 116px; padding-bottom: 116px; }
.d4-belief .inner { max-width: 1000px; margin: 0 auto; text-align: center; }
.d4-belief .label { display: block !important; margin-bottom: 28px; }
.d4-belief h2 { font-size: 40px; font-weight: 500; line-height: 1.28; letter-spacing: -0.012em; }
.d4-belief h2 .accent { color: var(--accent); }

/* principles row (replaces marquee) */
.d4-principles { background: var(--field); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.d4-principles .row { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; }
.d4-principles .cell { padding: 38px 30px; border-left: 1px solid var(--line); }
.d4-principles .cell:first-child { border-left: none; padding-left: 0; }
.d4-principles .n { font-size: 13px; font-weight: 600; color: var(--accent); letter-spacing: 0.06em; font-variant-numeric: tabular-nums; }
.d4-principles .t { display: block !important; margin-top: 12px; font-size: 17px; font-weight: 500; }

/* THE PATH — vertical timeline (signature calm component) */
.d4-path { padding-top: 116px; padding-bottom: 120px; }
.d4-path .head { max-width: 720px; margin-bottom: 64px; }
.d4-path .head .label { display: block !important; margin-bottom: 22px; }
.d4-path .head h2 { font-size: 46px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.1; }
.d4-path-item { display: grid !important; grid-template-columns: 230px 1fr !important; gap: 48px !important; padding: 38px 0; border-top: 1px solid var(--line); align-items: start !important; }
.d4-path-item:last-child { border-bottom: 1px solid var(--line); }
.d4-path-item .stage .num { font-size: 13px; font-weight: 600; color: var(--accent); letter-spacing: 0.12em; font-variant-numeric: tabular-nums; }
.d4-path-item .stage .nm { font-family: "Schibsted Grotesk", sans-serif; font-weight: 500; font-size: 28px; letter-spacing: -0.015em; margin-top: 10px; }
.d4-path-item .desc { font-size: 18px; line-height: 1.62; color: #57524a; max-width: 640px; padding-top: 4px; }

/* offerings — calm rows */
.d4-off { background: var(--field); padding-top: 110px; padding-bottom: 104px; }
.d4-off .head { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; margin-bottom: 56px; }
.d4-off .head h2 { font-size: 46px; font-weight: 500; letter-spacing: -0.02em; }
.d4-off .head .label { display: block !important; margin-bottom: 18px; }
.d4-off-row { display: grid !important; grid-template-columns: 0.52fr 0.48fr !important; gap: 56px !important; align-items: center !important; padding: 40px 0; border-top: 1px solid var(--line); }
.d4-off-row:last-child { border-bottom: 1px solid var(--line); }
.d4-off-row .meta .k { display: block !important; margin-bottom: 16px; }
.d4-off-row .meta h3 { font-family: "Schibsted Grotesk", sans-serif; font-weight: 500; font-size: 30px; letter-spacing: -0.015em; margin-bottom: 14px; }
.d4-off-row .meta p { font-size: 16.5px; line-height: 1.62; color: #57524a; max-width: 420px; margin-bottom: 22px; }
.d4-off-row .d4-fig .crop { height: 260px; }

/* founder quote */
.d4-quote { padding-top: 104px; padding-bottom: 104px; }
.d4-quote .inner { max-width: 1000px; margin: 0 auto; text-align: center; }
.d4-quote blockquote { font-family: "Schibsted Grotesk", sans-serif; font-weight: 500; font-size: 38px; line-height: 1.34; letter-spacing: -0.018em; margin-bottom: 32px; }
.d4-quote blockquote .accent { color: var(--accent); }
.d4-quote .by { font-size: 14.5px; font-weight: 600; }
.d4-quote .role { font-size: 14.5px; color: var(--muted); margin-top: 4px; }

/* community — quiet dark band */
.d4-comm { background: var(--ink); color: var(--bg); padding-top: 100px; padding-bottom: 100px; }
.d4-comm-inner { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 72px !important; align-items: center !important; }
.d4-comm .label { color: #c9a6bd; display: block !important; margin-bottom: 22px; }
.d4-comm h2 { font-family: "Schibsted Grotesk", sans-serif; font-weight: 500; font-size: 42px; letter-spacing: -0.022em; line-height: 1.1; margin-bottom: 22px; }
.d4-comm p { font-size: 18px; line-height: 1.62; color: rgba(252,251,247,.72); max-width: 440px; margin-bottom: 32px; }
.d4-comm .meta { display: flex !important; flex-direction: column !important; margin-bottom: 36px; }
.d4-comm .meta .li { padding: 15px 0; border-top: 1px solid rgba(252,251,247,.16); font-size: 16px; display: flex !important; gap: 14px !important; }
.d4-comm .meta .li:last-child { border-bottom: 1px solid rgba(252,251,247,.16); }
.d4-comm .meta .li span { color: #c9a6bd; }
.d4-comm .btn { background: var(--bg); color: var(--ink); padding: 14px 28px; border-radius: 100px; font-size: 14.5px; font-weight: 600; display: inline-flex !important; align-items: center !important; gap: 8px !important; }
.d4-comm-fig .crop { height: 440px; }

/* final */
.d4-final { padding-top: 116px; padding-bottom: 124px; text-align: center; }
.d4-final .label { display: block !important; margin-bottom: 26px; }
.d4-final h2 { font-family: "Schibsted Grotesk", sans-serif; font-weight: 500; font-size: 58px; letter-spacing: -0.028em; line-height: 1.04; margin-bottom: 24px; }
.d4-final h2 .accent { color: var(--accent); }
.d4-final p { font-size: 18px; color: #57524a; max-width: 500px; margin: 0 auto 38px; }

/* footer */
.d4-foot { border-top: 1px solid var(--line); padding-top: 64px; padding-bottom: 52px; }
.d4-foot .tag { font-family: "Schibsted Grotesk", sans-serif; font-weight: 500; font-size: 40px; letter-spacing: -0.025em; line-height: 1.06; max-width: 760px; margin-bottom: 56px; }
.d4-foot .cols { display: flex !important; align-items: flex-start !important; justify-content: space-between !important; }
.d4-foot .col { display: flex !important; flex-direction: column !important; gap: 12px !important; font-size: 14.5px; color: var(--muted); }
.d4-foot .col a { color: var(--muted); }
.d4-foot .col .ch { color: var(--ink); font-weight: 600; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 4px; }
.d4-foot .logo-row { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-top: 56px; padding-top: 28px; border-top: 1px solid var(--line); font-size: 13.5px; color: var(--muted); }
.d4-foot .logo-row .d4-logo { font-size: 18px; color: var(--ink); }

/* ============================================================
   SITE PAGES (Direction 2 system) — About & Community
   Reuses .d2 palette + serif. Shared nav active-state + rich footer.
   ============================================================ */
.d2-navlinks a.active { color: var(--ink); position: relative !important; }
.d2-navlinks a.active::after { content: ""; position: absolute !important; left: 0 !important; right: 0 !important; bottom: -6px !important; height: 1.5px; background: var(--accent); }

/* page hero (About / Community) */
.pg-hero { text-align: center; padding-top: 86px; padding-bottom: 70px; }
.pg-eyebrow { font-size: 13px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); margin-bottom: 30px; }
.pg-h1 { font-size: 72px; max-width: 960px; margin: 0 auto 28px; }
.pg-lede { font-size: 20px; line-height: 1.6; color: var(--muted); max-width: 600px; margin: 0 auto; }
.pg-hero-fig { margin-top: 64px; height: 440px; border-radius: 14px; overflow: hidden !important; }

/* rich site footer */
.site-foot { background: var(--ink); color: var(--bg); padding-top: 80px; padding-bottom: 56px; }
.site-foot .top { display: grid !important; grid-template-columns: 1.4fr 1fr 1fr 1fr !important; gap: 48px !important; padding-bottom: 56px; border-bottom: 1px solid rgba(248,242,234,.16); }
.site-foot .brand .lg { font-family: "Fraunces", serif; font-weight: 500; font-size: 25px; display: flex !important; align-items: center !important; gap: 12px !important; margin-bottom: 18px; }
.site-foot .brand .lg .mark { width: 26px; height: 26px; border-radius: 50%; background: var(--accent); position: relative !important; flex: 0 0 auto !important; }
.site-foot .brand .lg .mark::after { content: ""; position: absolute !important; inset: 8px 0 0 8px; border-top: 2.5px solid var(--ink); border-left: 2.5px solid var(--ink); border-radius: 2px 0 0 0; }
.site-foot .brand p { font-size: 16px; line-height: 1.6; color: rgba(248,242,234,.6); max-width: 320px; }
.site-foot .col { display: flex !important; flex-direction: column !important; gap: 13px !important; }
.site-foot .col .ch { font-size: 12px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(248,242,234,.5); margin-bottom: 4px; }
.site-foot .col a { font-size: 15px; color: rgba(248,242,234,.82); }
.site-foot .bottom { display: flex !important; align-items: center !important; justify-content: space-between !important; padding-top: 32px; font-size: 14px; color: rgba(248,242,234,.5); }
.site-foot .disclaimer { font-size: 12.5px; line-height: 1.7; color: rgba(248,242,234,.4); max-width: 760px; padding-top: 26px; }

/* ---------- ABOUT ---------- */
.ab-story { padding-top: 100px; padding-bottom: 100px; display: grid !important; grid-template-columns: 0.85fr 1.15fr !important; gap: 80px !important; align-items: start !important; }
.ab-story .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); position: sticky !important; top: 40px !important; }
.ab-story .prose p { font-family: "Fraunces", serif; font-size: 25px; line-height: 1.5; color: var(--ink); margin-bottom: 26px; font-weight: 400; }
.ab-story .prose p:last-child { margin-bottom: 0; }
.ab-story .prose p .em { font-style: italic; color: var(--accent); }

.ab-beliefs { background: var(--panel); padding-top: 100px; padding-bottom: 104px; }
.ab-beliefs .head { text-align: center; margin-bottom: 64px; }
.ab-beliefs .head .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 20px; }
.ab-beliefs .head h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 46px; }
.ab-belief-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 0 72px !important; }
.ab-belief { display: grid !important; grid-template-columns: 52px 1fr !important; gap: 8px !important; padding: 30px 0; border-top: 1px solid var(--line); }
.ab-belief .n { font-family: "Fraunces", serif; font-style: italic; font-size: 22px; color: var(--accent); }
.ab-belief h3 { font-family: "Fraunces", serif; font-weight: 500; font-size: 24px; margin-bottom: 10px; }
.ab-belief p { font-size: 16.5px; line-height: 1.6; color: var(--muted); }

.ab-founder { padding-top: 104px; padding-bottom: 104px; display: grid !important; grid-template-columns: 0.85fr 1.15fr !important; gap: 72px !important; align-items: center !important; }
.ab-founder .fig { height: 480px; border-radius: 14px; overflow: hidden !important; }
.ab-founder .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 22px; }
.ab-founder blockquote { font-family: "Fraunces", serif; font-weight: 400; font-size: 32px; line-height: 1.42; margin-bottom: 28px; }
.ab-founder blockquote .em { font-style: italic; color: var(--accent); }
.ab-founder .sig { font-size: 16px; color: var(--muted); }
.ab-founder .sig strong { color: var(--ink); font-weight: 600; }

/* ---------- COMMUNITY ---------- */
.cm-inside { padding-top: 100px; padding-bottom: 100px; }
.cm-inside .head { text-align: center; margin-bottom: 60px; }
.cm-inside .head .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 20px; }
.cm-inside .head h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 46px; }
.cm-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
.cm-card { border: 1px solid var(--line); border-radius: 16px; padding: 36px 32px 38px; background: var(--bg); }
.cm-card .ic { width: 46px; height: 46px; border-radius: 50%; background: var(--panel); border: 1px solid var(--line); display: flex !important; align-items: center !important; justify-content: center !important; font-family: "Fraunces", serif; font-style: italic; font-size: 20px; color: var(--accent); margin-bottom: 22px; }
.cm-card h3 { font-family: "Fraunces", serif; font-weight: 500; font-size: 25px; margin-bottom: 11px; }
.cm-card p { font-size: 16px; line-height: 1.58; color: var(--muted); }

.cm-rhythm { background: var(--ink); color: var(--bg); padding-top: 100px; padding-bottom: 100px; }
.cm-rhythm .head { max-width: 680px; margin-bottom: 56px; }
.cm-rhythm .head .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent-soft); display: block !important; margin-bottom: 20px; }
.cm-rhythm .head h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 44px; line-height: 1.1; }
.cm-rhythm-list { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 0 !important; }
.cm-rhythm-item { padding: 30px 28px 0 0; border-top: 1px solid rgba(248,242,234,.2); }
.cm-rhythm-item .when { font-family: "Fraunces", serif; font-style: italic; font-size: 20px; color: var(--accent-soft); margin-bottom: 12px; }
.cm-rhythm-item .what { font-size: 16.5px; line-height: 1.5; color: rgba(248,242,234,.82); }

.cm-voices { padding-top: 100px; padding-bottom: 100px; }
.cm-voices .head { text-align: center; margin-bottom: 56px; }
.cm-voices .head .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 20px; }
.cm-voices .head h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 46px; }
.cm-voices-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; }
.cm-voice { border: 1px solid var(--line); border-radius: 16px; padding: 34px 30px; display: flex !important; flex-direction: column !important; }
.cm-voice blockquote { font-family: "Fraunces", serif; font-size: 22px; line-height: 1.42; margin-bottom: 24px; flex: 1 !important; }
.cm-voice .who { display: flex !important; align-items: center !important; gap: 13px !important; }
.cm-voice .who .av { width: 40px; height: 40px; border-radius: 50%; overflow: hidden !important; flex: 0 0 auto !important; }
.cm-voice .who .nm { font-size: 14.5px; }
.cm-voice .who .nm .ph-note { display: block !important; font-size: 12px; color: var(--muted); letter-spacing: 0.04em; }

.cm-join { padding-top: 30px; padding-bottom: 110px; }
.cm-join-inner { background: var(--panel); border-radius: 22px; padding: 72px 64px; display: grid !important; grid-template-columns: 1.1fr 0.9fr !important; gap: 64px !important; align-items: center !important; }
.cm-join-text .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 20px; }
.cm-join-text h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 44px; line-height: 1.1; margin-bottom: 18px; }
.cm-join-text p { font-size: 17.5px; line-height: 1.6; color: var(--muted); max-width: 420px; }
.cm-price { background: var(--bg); border: 1px solid var(--line); border-radius: 16px; padding: 40px 38px; }
.cm-price .amt { font-family: "Fraunces", serif; font-weight: 400; font-size: 52px; line-height: 1; }
.cm-price .amt span { font-family: "Atkinson Hyperlegible Next", sans-serif; font-size: 16px; font-weight: 500; color: var(--muted); }
.cm-price .note { font-size: 14.5px; color: var(--muted); margin-top: 8px; margin-bottom: 26px; }
.cm-price ul { list-style: none; margin-bottom: 28px; }
.cm-price li { font-size: 15.5px; padding: 11px 0; border-top: 1px solid var(--line); display: flex !important; gap: 11px !important; }
.cm-price li::before { content: "—"; color: var(--accent); }
.cm-price .btn { width: 100%; justify-content: center !important; }

/* ============================================================
   MOBILE — phone-friendly breakpoint for the Direction 2 site
   (Home, About, Community, Coaching, Insights)
   ============================================================ */
@media (max-width: 780px) {
  .d2 { font-size: 16px; }
  .d2 .pad { padding-left: 22px; padding-right: 22px; }

  /* nav */
  .d2-nav { height: 72px; flex-wrap: nowrap !important; }
  .d2-navlinks { display: none !important; }
  .d2-logo { font-size: 19px; }
  .d2-cta { padding: 9px 16px; font-size: 13.5px; }

  /* hero */
  .d2-hero { padding-top: 44px; padding-bottom: 40px; }
  .d2-h1 { font-size: 34px; line-height: 1.16; }
  .d2-sub { font-size: 16.5px; max-width: 100%; }
  .d2-herobtns { flex-direction: column !important; align-items: stretch !important; gap: 14px !important; }
  .d2-herobtns .d2-btn, .d2-herobtns .d2-link { text-align: center; justify-content: center !important; }
  .d2-herofig { height: 240px; margin-top: 36px; }

  /* recognition */
  .d2-rec { grid-template-columns: 1fr !important; gap: 30px !important; padding-top: 56px; padding-bottom: 56px; }
  .d2-rec h2 { font-size: 28px; position: static !important; }
  .d2-rec-item { font-size: 17px; padding: 20px 0; }

  /* approach */
  .d2-app { padding-top: 48px; padding-bottom: 48px; }
  .d2-app-split { grid-template-columns: 1fr !important; gap: 34px !important; }
  .d2-app-left h2 { font-size: 27px; max-width: 100%; }
  .d2-stage { grid-template-columns: 40px 1fr !important; gap: 16px !important; padding: 20px 0; }
  .d2-stage p, .d2-stage:nth-child(1) p, .d2-stage:nth-child(2) p, .d2-stage:nth-child(3) p { max-width: 100%; }

  /* offerings */
  .d2-off { padding-top: 56px; padding-bottom: 56px; }
  .d2-off-head { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; margin-bottom: 34px; }
  .d2-row { grid-template-columns: 32px 1fr !important; gap: 14px 16px !important; padding: 26px 0; }
  .d2-row .go { display: none !important; }
  .d2-row h3 { font-size: 22px; }

  /* community band */
  .d2-comm-inner { grid-template-columns: 1fr !important; gap: 32px !important; }
  .d2-comm-text { padding: 44px 26px; }
  .d2-comm-text h2 { font-size: 30px; }
  .d2-comm-fig { height: 220px; }

  /* quote / final */
  .d2-quote { padding-top: 20px; padding-bottom: 60px; }
  .d2-quote blockquote { font-size: 26px; }
  .d2-final { padding-top: 56px; padding-bottom: 60px; }
  .d2-final h2 { font-size: 34px; }
  .d2-final p { max-width: 100%; }

  /* site footer */
  .site-foot { padding-top: 48px; padding-bottom: 40px; }
  .site-foot .top { grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
  .site-foot .brand { grid-column: 1 / -1 !important; }
  .site-foot .bottom { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }

  /* generic page hero (About / Community / Coaching / Insights) */
  .pg-hero { padding-top: 44px; padding-bottom: 40px; }
  .pg-h1 { font-size: 32px; }
  .pg-lede { font-size: 16.5px; max-width: 100%; }
  .pg-hero-fig { height: 220px; margin-top: 36px; }

  /* about */
  .ab-story { grid-template-columns: 1fr !important; gap: 24px !important; padding-top: 56px; padding-bottom: 56px; }
  .ab-story .label { position: static !important; }
  .ab-story .prose p { font-size: 20px; }
  .ab-beliefs { padding-top: 56px; padding-bottom: 56px; }
  .ab-beliefs .head h2 { font-size: 30px; }
  .ab-belief-grid { grid-template-columns: 1fr !important; gap: 0 !important; }
  .ab-founder { grid-template-columns: 1fr !important; gap: 30px !important; padding-top: 56px; padding-bottom: 56px; }
  .ab-founder .fig { height: 240px; }
  .ab-founder blockquote { font-size: 24px; }

  /* community page */
  .cm-inside, .cm-rhythm, .cm-voices, .cm-join { padding-top: 56px; padding-bottom: 56px; }
  .cm-inside .head h2, .cm-rhythm .head h2, .cm-voices .head h2 { font-size: 28px; }
  .cm-grid, .cm-voices-grid { grid-template-columns: 1fr !important; }
  .cm-rhythm-list { grid-template-columns: 1fr !important; gap: 0 !important; }
  .cm-rhythm-item { padding: 22px 0; }
  .cm-join-inner { grid-template-columns: 1fr !important; padding: 40px 26px; gap: 30px !important; }
  .cm-join-text h2 { font-size: 28px; }

  /* coaching */
  .co-how, .co-path, .co-bound, .co-invest, .co-areas, .co-process, .co-faq, .co-lead, .co-fit { padding-top: 56px; padding-bottom: 56px; }
  .co-how .head h2, .co-path .head h2, .co-bound .head h2, .co-invest h2, .co-areas .head h2, .co-process h2, .co-faq .head h2, .co-fit .head h2 { font-size: 28px; }
  .co-steps { grid-template-columns: 1fr !important; gap: 0 !important; }
  .co-step { padding: 26px 0; border-left: none; border-top: 1px solid var(--line); }
  .co-step:first-child { padding-top: 0; border-top: none; }
  .co-path-item { grid-template-columns: 1fr !important; gap: 10px !important; }
  .co-bound-cols { grid-template-columns: 1fr !important; gap: 36px !important; }
  .co-invest-inner { grid-template-columns: 1fr !important; gap: 36px !important; }
  .co-card { padding: 32px 26px; }
  .co-tier { grid-template-columns: 1fr !important; }
  .co-areas-grid { grid-template-columns: 1fr 1fr !important; }
  .co-process-row { grid-template-columns: 1fr !important; gap: 32px !important; }
  .co-faq-item { grid-template-columns: 1fr !important; gap: 10px !important; }
  .co-lead-inner { grid-template-columns: 1fr !important; padding: 32px 26px; gap: 24px !important; }
  .co-lead-form { flex-direction: column !important; align-items: stretch !important; }
  .co-lead-form input { min-width: 0; }
  .co-fit-cols { grid-template-columns: 1fr !important; }

  /* insights */
  .in-featured-inner { grid-template-columns: 1fr !important; gap: 24px !important; }
  .in-featured .fig { height: 220px; }
  .in-featured h2 { font-size: 28px; }
  .in-list .head { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }
  .in-grid { grid-template-columns: 1fr 1fr !important; gap: 22px 18px !important; }
  .in-news-inner { padding: 40px 26px; }
  .in-news-inner h3 { font-size: 26px; }
  .in-news-form { flex-direction: column !important; align-items: stretch !important; }
  .in-news-form input { min-width: 0; }
}

@media (max-width: 480px) {
  .co-areas-grid, .in-grid { grid-template-columns: 1fr !important; }
}

/* ---------- COACHING (1:1) ---------- */
.co-how { padding-top: 100px; padding-bottom: 100px; }
.co-how .head { max-width: 720px; margin-bottom: 60px; }
.co-how .head .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 20px; }
.co-how .head h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 46px; line-height: 1.08; }
.co-steps { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 0 !important; }
.co-step { padding: 36px 36px 8px; border-top: 1px solid var(--line); }
.co-step:first-child { padding-left: 0; }
.co-step .sn { font-family: "Fraunces", serif; font-style: italic; font-size: 24px; color: var(--accent); margin-bottom: 16px; }
.co-step h3 { font-family: "Fraunces", serif; font-weight: 500; font-size: 26px; margin-bottom: 12px; }
.co-step p { font-size: 16px; line-height: 1.6; color: var(--muted); }

/* investment / offer block */
.co-invest { background: var(--ink); color: var(--bg); padding-top: 96px; padding-bottom: 96px; }
.co-invest-inner { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 72px !important; align-items: center !important; }
.co-invest .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent-soft); display: block !important; margin-bottom: 22px; }
.co-invest h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 44px; line-height: 1.1; margin-bottom: 20px; }
.co-invest p { font-size: 17.5px; line-height: 1.62; color: rgba(248,242,234,.72); max-width: 420px; }
.co-card { background: rgba(248,242,234,.05); border: 1px solid rgba(248,242,234,.18); border-radius: 18px; padding: 44px 42px; }
.co-card .tier { font-size: 12.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent-soft); margin-bottom: 16px; }
.co-card .amt { font-family: "Fraunces", serif; font-weight: 400; font-size: 56px; line-height: 1; }
.co-card .amt span { font-family: "Atkinson Hyperlegible Next", sans-serif; font-size: 16px; font-weight: 500; color: rgba(248,242,234,.6); }
.co-card .note { font-size: 14.5px; color: rgba(248,242,234,.6); margin-top: 10px; margin-bottom: 28px; }
.co-card ul { list-style: none; margin-bottom: 30px; }
.co-card li { font-size: 15.5px; padding: 12px 0; border-top: 1px solid rgba(248,242,234,.16); display: flex !important; gap: 12px !important; }
.co-card li::before { content: "—"; color: var(--accent-soft); }
.co-card .btn { width: 100%; justify-content: center !important; background: var(--bg); color: var(--ink); }

/* process — apply / call / begin */
.co-process { padding-top: 100px; padding-bottom: 100px; text-align: center; }
.co-process .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 20px; }
.co-process h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 46px; margin-bottom: 60px; }
.co-process-row { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 48px !important; }
.co-process-item .pn { width: 58px; height: 58px; border-radius: 50%; border: 1.5px solid var(--accent); color: var(--accent); font-family: "Fraunces", serif; font-style: italic; font-size: 24px; display: flex !important; align-items: center !important; justify-content: center !important; margin: 0 auto 24px; }
.co-process-item h3 { font-family: "Fraunces", serif; font-weight: 500; font-size: 24px; margin-bottom: 11px; }
.co-process-item p { font-size: 16px; line-height: 1.6; color: var(--muted); max-width: 300px; margin: 0 auto; }

/* FAQ */
.co-faq { background: var(--panel); padding-top: 96px; padding-bottom: 100px; }
.co-faq .head { text-align: center; margin-bottom: 56px; }
.co-faq .head .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 20px; }
.co-faq .head h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 46px; }
.co-faq-list { max-width: 880px; margin: 0 auto; }
.co-faq-item { padding: 30px 0; border-top: 1px solid var(--line); display: grid !important; grid-template-columns: 1fr 1.3fr !important; gap: 40px !important; }
.co-faq-item:last-child { border-bottom: 1px solid var(--line); }
.co-faq-item h3 { font-family: "Fraunces", serif; font-weight: 500; font-size: 24px; }
.co-faq-item p { font-size: 16.5px; line-height: 1.62; color: var(--muted); }

/* ---------- COACHING: real pricing tiers (in dark invest band) ---------- */
.co-tiers { display: flex !important; flex-direction: column !important; }
.co-tier { display: grid !important; grid-template-columns: 1fr auto !important; gap: 16px 24px !important; align-items: baseline !important; padding: 22px 0; border-top: 1px solid rgba(248,242,234,.16); }
.co-tier:last-child { border-bottom: 1px solid rgba(248,242,234,.16); }
.co-tier .tn { font-family: "Fraunces", serif; font-weight: 500; font-size: 24px; }
.co-tier .tp { font-family: "Fraunces", serif; font-size: 24px; color: var(--accent-soft); white-space: nowrap !important; }
.co-tier .tp span { font-family: "Atkinson Hyperlegible Next", sans-serif; font-size: 13.5px; color: rgba(248,242,234,.55); }
.co-tier .td { grid-column: 1 / -1 !important; font-size: 15px; line-height: 1.55; color: rgba(248,242,234,.66); max-width: 460px; margin-top: -6px; }
.co-tier.feat .tn { color: var(--accent-soft); }
.co-invest .actions { margin-top: 32px; display: flex !important; gap: 18px !important; align-items: center !important; }
.co-invest .actions .btn { background: var(--bg); color: var(--ink); }
.co-invest .actions .ghost { color: var(--bg); font-weight: 600; font-size: 15px; border-bottom: 1px solid var(--accent-soft); padding-bottom: 3px; }

/* ---------- COACHING: service areas (Swiss cities) ---------- */
.co-areas { padding-top: 100px; padding-bottom: 104px; }
.co-areas .head { text-align: center; margin-bottom: 56px; }
.co-areas .head .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 20px; }
.co-areas .head h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 46px; line-height: 1.08; margin-bottom: 16px; }
.co-areas .head p { font-size: 18px; line-height: 1.6; color: var(--muted); max-width: 540px; margin: 0 auto; }
.co-areas-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }
.co-area { border: 1px solid var(--line); border-radius: 16px; padding: 34px 32px; background: var(--bg); position: relative !important; overflow: hidden !important; transition: border-color .25s; }
.co-area:hover { border-color: var(--accent); }
.co-area .city { font-family: "Fraunces", serif; font-weight: 500; font-size: 30px; letter-spacing: -0.01em; margin-bottom: 8px; }
.co-area .mode { font-size: 14.5px; color: var(--muted); }
.co-area.online { background: var(--ink); border-color: var(--ink); }
.co-area.online .city { color: var(--bg); }
.co-area.online .mode { color: var(--accent-soft); }
.co-areas .note { text-align: center; margin-top: 30px; font-size: 15.5px; color: var(--muted); }
.co-areas .note a { color: var(--ink); border-bottom: 1px solid var(--accent); padding-bottom: 2px; }

/* ---------- COACHING: focus areas (moving forward + boundaries) ---------- */
.co-path { background: var(--panel); padding-top: 100px; padding-bottom: 104px; }
.co-path .head { max-width: 720px; margin-bottom: 54px; }
.co-path .head .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 20px; }
.co-path .head h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 46px; line-height: 1.08; margin-bottom: 16px; }
.co-path .head p { font-size: 18px; line-height: 1.6; color: var(--muted); max-width: 560px; }
.co-path-item { display: grid !important; grid-template-columns: 240px 1fr !important; gap: 48px !important; padding: 34px 0; border-top: 1px solid var(--line); align-items: start !important; }
.co-path-item:last-child { border-bottom: 1px solid var(--line); }
.co-path-item .st .n { font-family: "Fraunces", serif; font-style: italic; font-size: 21px; color: var(--accent); }
.co-path-item .st .t { font-family: "Fraunces", serif; font-weight: 500; font-size: 27px; letter-spacing: -0.01em; margin-top: 8px; }
.co-path-item .d { font-size: 18px; line-height: 1.62; color: #5f574e; max-width: 600px; padding-top: 4px; }

.co-bound { padding-top: 100px; padding-bottom: 104px; }
.co-bound .head { max-width: 720px; margin-bottom: 56px; }
.co-bound .head .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 20px; }
.co-bound .head h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 46px; line-height: 1.08; margin-bottom: 16px; }
.co-bound .head p { font-size: 18px; line-height: 1.6; color: var(--muted); max-width: 560px; }
.co-bound-cols { display: grid !important; grid-template-columns: 0.92fr 1.08fr !important; gap: 72px !important; align-items: start !important; }
.co-bound .colhead { font-size: 12.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); margin-bottom: 22px; }
.co-bound .step { display: grid !important; grid-template-columns: 44px 1fr !important; gap: 6px !important; padding: 22px 0; border-top: 1px solid var(--line); }
.co-bound .step:last-child { border-bottom: 1px solid var(--line); }
.co-bound .step .n { font-family: "Fraunces", serif; font-style: italic; font-size: 20px; color: var(--accent); }
.co-bound .step h4 { font-family: "Fraunces", serif; font-weight: 500; font-size: 23px; margin-bottom: 6px; }
.co-bound .step p { font-size: 15.5px; line-height: 1.55; color: var(--muted); }
.co-bound .scripts { display: flex !important; flex-direction: column !important; gap: 14px !important; }
.co-bound .scard { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 24px 26px; }
.co-bound .scard .when { font-size: 12.5px; font-weight: 600; letter-spacing: 0.04em; color: var(--accent); margin-bottom: 10px; }
.co-bound .scard blockquote { font-family: "Fraunces", serif; font-style: italic; font-size: 22px; line-height: 1.4; color: var(--ink); }

/* ---------- COACHING: lead magnet (free guide) ---------- */
.co-lead { padding-top: 8px; padding-bottom: 104px; }
.co-lead-inner { background: var(--ink); color: var(--bg); border-radius: 22px; padding: 56px 60px; display: grid !important; grid-template-columns: 1fr auto !important; gap: 56px !important; align-items: center !important; }
.co-lead-text .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent-soft); display: block !important; margin-bottom: 16px; }
.co-lead-text h3 { font-family: "Fraunces", serif; font-weight: 400; font-size: 34px; line-height: 1.12; margin-bottom: 12px; }
.co-lead-text p { font-size: 16.5px; line-height: 1.55; color: rgba(248,242,234,.7); max-width: 440px; }
.co-lead-form { display: flex !important; gap: 12px !important; align-items: center !important; }
.co-lead-form input { background: rgba(248,242,234,.08); border: 1px solid rgba(248,242,234,.24); border-radius: 100px; padding: 15px 24px; color: var(--bg); font-family: inherit; font-size: 15px; min-width: 280px; outline: none; }
.co-lead-form input::placeholder { color: rgba(248,242,234,.5); }
.co-lead-form .btn { background: var(--bg); color: var(--ink); white-space: nowrap !important; }

/* ---------- COACHING: is this for you ---------- */
.co-fit { background: var(--panel); padding-top: 100px; padding-bottom: 104px; }
.co-fit .head { text-align: center; margin-bottom: 54px; }
.co-fit .head .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 20px; }
.co-fit .head h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 46px; }
.co-fit-cols { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 28px !important; }
.co-fit-col { background: var(--bg); border: 1px solid var(--line); border-radius: 18px; padding: 40px 40px 30px; }
.co-fit-col .ct { font-size: 12.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 10px; }
.co-fit-col.yes .ct { color: var(--accent); }
.co-fit-col.no .ct { color: var(--muted); }
.co-fit-col h3 { font-family: "Fraunces", serif; font-weight: 500; font-size: 27px; margin-bottom: 14px; }
.co-fit-col ul { list-style: none; }
.co-fit-col li { display: grid !important; grid-template-columns: 26px 1fr !important; gap: 4px !important; padding: 15px 0; border-top: 1px solid var(--line); font-size: 16.5px; line-height: 1.5; color: #4a443e; }
.co-fit-col .mk { font-weight: 700; }
.co-fit-col.yes .mk { color: var(--accent); }
.co-fit-col.no .mk { color: var(--muted); }
.ph-box { position: relative; width: 100% !important; height: 100%; min-height: 200px; background: repeating-linear-gradient(135deg,#e6dfd2,#e6dfd2 11px,#ded5c4 11px,#ded5c4 22px); display: flex !important; align-items: center; justify-content: center; overflow: hidden; }
.ph-box-dark { background: repeating-linear-gradient(135deg,#23222b,#23222b 11px,#2c2b35 11px,#2c2b35 22px); }
.ph-label { font-family: ui-monospace,"SF Mono",Menlo,monospace; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: rgba(95,82,60,.6); padding: 5px 9px; background: rgba(255,255,255,.6); text-align: center; }
.ph-label-dark { color: rgba(255,255,255,.6); background: rgba(0,0,0,.28); }

/* ---------- INSIGHTS (journal) ---------- */
.in-featured { padding-top: 4px; padding-bottom: 88px; }
.in-featured-inner { display: grid !important; grid-template-columns: 1.05fr 0.95fr !important; gap: 56px !important; align-items: center !important; border-top: 1px solid var(--line); padding-top: 46px; }
.in-featured .fig { height: 420px; border-radius: 14px; overflow: hidden !important; }
.in-featured .cat { font-size: 12.5px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--accent); margin-bottom: 18px; }
.in-featured h2 { font-family: "Fraunces", serif; font-weight: 400; font-size: 44px; line-height: 1.1; margin-bottom: 18px; }
.in-featured p { font-size: 18px; line-height: 1.6; color: var(--muted); max-width: 460px; margin-bottom: 26px; }
.in-featured .meta { font-size: 14px; color: var(--muted); letter-spacing: 0.03em; }

.in-list { padding-bottom: 96px; }
.in-list .head { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; margin-bottom: 44px; }
.in-list .head .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--accent); display: block !important; margin-bottom: 16px; }
.in-list .head h3 { font-family: "Fraunces", serif; font-weight: 400; font-size: 34px; }
.in-list .head .all { font-size: 15px; font-weight: 600; color: var(--ink); border-bottom: 1px solid var(--accent); padding-bottom: 3px; }
.in-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 30px 28px !important; }
.in-card { display: flex !important; flex-direction: column !important; }
.in-card .fig { height: 208px; border-radius: 12px; overflow: hidden !important; margin-bottom: 20px; }
.in-card .cat { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-bottom: 11px; }
.in-card h4 { font-family: "Fraunces", serif; font-weight: 500; font-size: 24px; line-height: 1.2; margin-bottom: 10px; }
.in-card p { font-size: 15.5px; line-height: 1.55; color: var(--muted); margin-bottom: 16px; }
.in-card .rt { margin-top: auto; font-size: 13px; color: var(--muted); letter-spacing: 0.04em; }

.in-news { padding-bottom: 110px; }
.in-news-inner { background: var(--ink); color: var(--bg); border-radius: 22px; padding: 66px 60px; text-align: center; }
.in-news-inner .label { font-size: 12.5px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--accent-soft); display: block !important; margin-bottom: 18px; }
.in-news-inner h3 { font-family: "Fraunces", serif; font-weight: 400; font-size: 40px; line-height: 1.1; margin-bottom: 14px; }
.in-news-inner p { font-size: 17px; line-height: 1.55; color: rgba(248,242,234,.72); max-width: 480px; margin: 0 auto 30px; }
.in-news-form { display: flex !important; gap: 12px !important; justify-content: center !important; }
.in-news-form input { background: rgba(248,242,234,.08); border: 1px solid rgba(248,242,234,.24); border-radius: 100px; padding: 15px 24px; color: var(--bg); font-family: inherit; font-size: 15px; min-width: 300px; outline: none; }
.in-news-form input::placeholder { color: rgba(248,242,234,.5); }
.in-news-form .btn { background: var(--bg); color: var(--ink); white-space: nowrap !important; }

