/* ============================================
   THE MIND MASTERING — design tokens v3
   Palette pulled from The Root Cause Reset tool
   Display: Playfair Display / Body: DM Sans
   ============================================ */

:root{
  --cream:      #F5F0EA;   /* primary light background */
  --lavender:   #EDE8F5;   /* secondary light tint */
  --ink:        #0A0E13;   /* tool navy, dark section bg */
  --panel:      #10161D;   /* tool panel, gradient partner */
  --border-dk:  #1D262F;
  --text-dk:    #EDE7DB;   /* text on dark, matches tool */
  --muted-dk:   #8B94A0;   /* muted text on dark, matches tool */
  --gold:       #B8935A;   /* matches tool gold exactly */
  --gold-bright:#E0C089;   /* matches tool gold-bright exactly */
  --teal:       #1F4A4E;   /* diagnostic accent, Offer page */
  --purple:     #4A1E8C;   /* brand mark, used sparingly */
  --ink-text:   #201B27;   /* headline text on light bg */
  --muted-on-light:#63606B;
  --line-on-dark: rgba(237,231,219,0.14);
  --line-on-light: rgba(32,27,39,0.12);
  --max: 1120px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--cream);
  color:var(--ink-text);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 28px}
section{padding:96px 0}
@media(max-width:720px){section{padding:64px 0}}

h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:700;line-height:1.15;letter-spacing:-0.01em}
h1{font-size:clamp(38px,6vw,68px)}
h2{font-size:clamp(28px,4vw,44px)}
h3{font-size:clamp(20px,2.4vw,26px)}
.eyebrow{
  font-family:'DM Sans',sans-serif;
  font-size:12.5px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--gold);
  margin-bottom:18px;
  display:inline-block;
}
.lede{font-size:clamp(17px,1.8vw,20px);max-width:620px;color:var(--muted-on-light)}
.dark .lede{color:var(--muted-dk)}
.serif-italic{font-family:'Playfair Display',serif;font-style:italic;font-weight:500}

/* ---------- backgrounds ---------- */
.bg-cream{background:var(--cream);color:var(--ink-text)}
.bg-lavender{background:var(--lavender);color:var(--ink-text)}
.bg-ink{background:linear-gradient(180deg,var(--ink) 0%,var(--panel) 100%);color:var(--text-dk)}
.bg-ink .eyebrow{color:var(--gold-bright)}
.bg-purple{background:linear-gradient(180deg,var(--ink) 0%,var(--panel) 100%);color:var(--text-dk)}
.bg-purple .eyebrow{color:var(--gold-bright)}
.bg-lux{background:var(--cream);color:var(--ink-text)}
.bg-teal{background:linear-gradient(160deg,var(--ink) 0%,var(--teal) 100%);color:#DCEFEC}
.bg-teal .eyebrow{color:#7FBFB8}

/* ---------- nav ---------- */
header.site{
  position:sticky;top:0;z-index:50;
  background:rgba(245,240,234,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-on-light);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:var(--max);margin:0 auto}
.nav-logo{display:flex;align-items:center;gap:10px;font-family:'Playfair Display',serif;font-weight:700;font-size:19px;color:var(--purple)}
.nav-logo img{height:38px;width:auto}
.nav-links{display:flex;gap:34px;align-items:center;font-size:14.5px;font-weight:500}
.nav-links a{position:relative;padding:4px 0;color:var(--ink-text)}
.nav-links a.active,.nav-links a:hover{color:var(--gold)}
.nav-links a.active::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--gold)}
.nav-cta{
  background:var(--gold);color:var(--ink);
  padding:11px 22px;border-radius:2px;font-size:13.5px;font-weight:600;
  letter-spacing:0.02em;transition:background 0.2s;
}
.nav-cta:hover{background:var(--gold-bright)}
.nav-toggle{display:none}
@media(max-width:820px){
  .nav-links{display:none}
  .nav-toggle{display:block;font-size:24px;background:none;border:none;color:var(--gold);cursor:pointer}
}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;padding:16px 32px;font-size:15px;font-weight:600;
  border-radius:2px;letter-spacing:0.02em;transition:all 0.2s;border:1px solid transparent;
  cursor:pointer;
}
.btn-gold{background:var(--gold);color:var(--ink)}
.btn-gold:hover{background:var(--gold-bright)}
.btn-outline-dark{border-color:var(--ink-text);color:var(--ink-text)}
.btn-outline-dark:hover{background:var(--ink-text);color:var(--cream)}
.btn-outline-light{border-color:var(--gold-bright);color:var(--text-dk)}
.btn-outline-light:hover{background:var(--gold-bright);color:var(--ink)}
.btn-teal{background:#7FBFB8;color:#0D1717}
.btn-teal:hover{background:#9FD4CE}

/* ---------- signature motif: the open loop ---------- */
.loop-divider{width:100%;display:flex;justify-content:center;padding:6px 0}
.loop-divider svg{width:64px;height:64px;opacity:0.9}

/* ---------- hero ---------- */
.hero{padding:120px 0 90px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
.hero-photo{position:relative}
.hero-photo img{border-radius:2px;width:100%;object-fit:cover;aspect-ratio:4/5;box-shadow:0 24px 50px -18px rgba(10,14,19,0.25)}
.hero-photo::before{
  content:'';position:absolute;inset:-14px -14px auto auto;width:70%;height:70%;
  border:1.5px solid var(--gold);z-index:-1;
}

/* ---------- positioning banner ---------- */
.positioning-banner{
  border-top:1px solid var(--line-on-dark);
  border-bottom:1px solid var(--line-on-dark);
  padding:44px 0;
}
.positioning-banner p{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-weight:500;
  font-size:clamp(19px,2.4vw,27px);
  text-align:center;
  max-width:880px;
  margin:0 auto;
  line-height:1.5;
  color:var(--text-dk);
}
.positioning-banner p .gold-word{color:var(--gold-bright);font-style:normal;font-weight:700}

/* ---------- grids / cards ---------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:820px){.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.grid-2col{grid-template-columns:1fr}}
.card{padding:34px 30px;border:1px solid var(--line-on-light);background:rgba(255,255,255,0.5);transition:transform 0.2s, box-shadow 0.2s}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 32px -18px rgba(184,147,90,0.35)}
.dark .card{border-color:var(--line-on-dark);background:rgba(255,255,255,0.03)}
.dark .card:hover{box-shadow:0 16px 32px -16px rgba(224,192,128,0.2)}
.card .num{font-family:'Playfair Display',serif;font-style:italic;color:var(--gold);font-size:15px;margin-bottom:10px;display:block}
.dark .card .num{color:var(--gold-bright)}

/* ---------- footer ---------- */
footer.site{background:var(--ink);color:var(--muted-dk);padding:64px 0 32px;border-top:1px solid var(--border-dk)}
.footer-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:40px;margin-bottom:32px}
.footer-logo{font-family:'Playfair Display',serif;font-size:20px;color:var(--gold-bright);margin-bottom:10px}
.footer-links{display:flex;gap:28px;font-size:14px}
.footer-links a:hover{color:var(--gold-bright)}
.footer-venture{
  border-top:1px solid var(--border-dk);border-bottom:1px solid var(--border-dk);
  padding:22px 0;margin-bottom:24px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  font-size:13.5px;color:var(--muted-dk);
}
.footer-venture a{color:var(--gold-bright);font-weight:600}
.footer-venture a:hover{color:var(--text-dk)}
.footer-bottom{padding-top:8px;font-size:12.5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:#6B7280}

/* ---------- misc ---------- */
.tag-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.tag{border:1px solid var(--line-on-light);padding:7px 14px;font-size:12.5px;letter-spacing:0.03em;border-radius:20px;color:var(--muted-on-light)}
.dark .tag{border-color:var(--line-on-dark);color:var(--muted-dk)}
.center{text-align:center}
.section-head{max-width:640px;margin:0 auto 56px}
.section-head.left{margin:0 0 56px}
.mb-sm{margin-bottom:14px}
.photo-frame{position:relative}
.photo-frame img{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:2px;box-shadow:0 20px 44px -16px rgba(10,14,19,0.2)}

/* ---------- testimonials ---------- */
.testimonial{
  padding:32px 30px;border:1px solid var(--line-on-dark);background:rgba(255,255,255,0.03);
  display:flex;flex-direction:column;height:100%;
}
.testimonial .quote-mark{font-family:'Playfair Display',serif;font-size:44px;color:var(--gold);line-height:0.6;margin-bottom:10px;display:block}
.testimonial p{font-size:15px;line-height:1.75;color:var(--muted-dk);flex-grow:1}
.testimonial .name{margin-top:18px;font-size:13.5px;font-weight:600;letter-spacing:0.03em;color:var(--gold-bright)}
.venture-block{
  border:1px solid var(--line-on-dark);
  padding:44px;
  display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center;
  background:rgba(255,255,255,0.02);
}
@media(max-width:720px){.venture-block{grid-template-columns:1fr;text-align:center}}
.venture-mark{
  width:96px;height:96px;border:1.5px solid var(--gold-bright);border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  font-family:'Playfair Display',serif;font-weight:700;font-size:15px;color:var(--gold-bright);
  text-align:center;line-height:1.2;margin:0 auto;
}
