:root {
  --navy: #082c62;
  --blue: #1b8dfa;
  --mid-blue: #3a85dc;
  --light-blue: #eaf4ff;
  --lighter-blue: #f5faff;
  --ink: #18324f;
  --muted: #5b6e84;
  --line: #d9e7f5;
  --white: #ffffff;
  --warm: #fbfaf8;
  --max: 1180px;
  --shadow: 0 18px 50px rgba(8,44,98,.10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--navy); text-decoration: none; }
a:hover { color: var(--blue); }
img { max-width: 100%; display: block; }
button, input, textarea { font: inherit; }
.container { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }
.skip-link { position:absolute; left:-9999px; top:auto; }
.skip-link:focus { left:20px; top:20px; background:#fff; padding:10px 14px; z-index:999; border-radius:8px; box-shadow:var(--shadow); }

.site-header {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid #e8eef5;
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(10px);
}
.header-inner { min-height: 88px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:flex; align-items:center; gap:13px; color:var(--navy); font-weight:400; font-size:1.08rem; letter-spacing:.005em; }
.brand img { width:56px; height:56px; object-fit:contain; }
.nav { display:flex; align-items:center; gap:34px; font-size:1rem; }
.nav a { color:var(--navy); }
.nav a:hover, .nav a[aria-current="page"] { color:var(--blue); }
.button, .nav .button {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; padding:0 26px; border-radius:999px;
  background:var(--blue); color:#fff; font-weight:700;
  box-shadow:0 10px 22px rgba(27,141,250,.18);
  border:1px solid var(--blue);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.button:hover, .nav .button:hover { color:#fff; background:#087de8; transform:translateY(-1px); box-shadow:0 13px 26px rgba(27,141,250,.24); }
.button.secondary { background:#fff; color:var(--blue); box-shadow:none; }
.button.secondary:hover { background:var(--lighter-blue); color:var(--navy); }
.menu-toggle { display:none; border:0; background:transparent; color:var(--navy); font-size:1.6rem; padding:8px; }

.hero { background:linear-gradient(90deg,#fff 0%,#fff 54%,#f3f8fd 54%,#f3f8fd 100%); }
.hero-grid { display:grid; grid-template-columns: 54% 46%; min-height:620px; }
.hero-copy { padding:78px 60px 70px max(24px, calc((100vw - var(--max))/2)); display:flex; flex-direction:column; justify-content:center; }
.hero-media { min-height:620px; overflow:hidden; position:relative; background:linear-gradient(160deg,#f7fbff 0%,#eef5fb 100%); }
.hero-mark-bg { position:absolute; width:min(78%,520px); left:3%; top:8%; opacity:.13; z-index:0; }
.hero-portrait-frame { position:absolute; right:6%; bottom:0; width:78%; height:92%; overflow:hidden; border-radius:28px 28px 0 0; box-shadow:0 24px 55px rgba(8,44,98,.13); z-index:1; background:#d9dde1; }
.hero-portrait-frame img { width:100%; height:100%; object-fit:cover; object-position:50% 13%; }
.eyebrow { color:var(--blue); font-size:.95rem; letter-spacing:.18em; text-transform:uppercase; font-weight:700; margin:0 0 22px; }
h1, h2, h3 { color:var(--navy); line-height:1.12; margin-top:0; letter-spacing:-.025em; font-weight:600; }
h1 { font-size:clamp(2.55rem, 4.2vw, 4.35rem); margin-bottom:22px; }
.hero h1 { max-width:720px; }
.hero-lede { font-size:clamp(1.08rem,1.45vw,1.28rem); line-height:1.5; max-width:700px; margin:0 0 18px; color:#24496f; }
.personality-line { margin:5px 0 30px; color:var(--navy); font-size:clamp(1.22rem,1.65vw,1.42rem); line-height:1.35; font-weight:600; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }

.section { padding:78px 0; }
.section.soft { background:var(--lighter-blue); }
.section.warm { background:var(--warm); }
.section h2 { font-size:clamp(1.8rem,2.65vw,2.55rem); margin-bottom:20px; }
.section-intro { max-width:760px; font-size:1.15rem; color:#385a7c; }
.two-col { display:grid; grid-template-columns:1.04fr .96fr; gap:60px; align-items:center; }
.two-col.reverse { grid-template-columns:.92fr 1.08fr; }
.two-col.reverse .media-card { order:1; }
.two-col.reverse .copy-block { order:2; }
.copy-block p { font-size:1.08rem; margin:0 0 22px; }
.media-card { border-radius:18px; overflow:hidden; box-shadow:var(--shadow); background:#fff; }
.media-card img { width:100%; aspect-ratio: 4 / 3; object-fit:cover; }
.media-card.facilitation img { object-position:center; }

.podcast-panel { display:grid; grid-template-columns: .82fr 1.18fr; gap:54px; align-items:center; }
.podcast-art { width:min(100%,430px); margin:0 auto; border-radius:18px; box-shadow:var(--shadow); overflow:hidden; }
.podcast-copy p { font-size:1.08rem; }
.text-link { display:inline-flex; gap:8px; align-items:center; font-weight:700; font-size:1.08rem; color:var(--blue); margin-top:10px; }
.text-link:hover { color:var(--navy); }

.cta-band { background:var(--navy); color:#fff; text-align:center; padding:68px 24px; }
.cta-band h2 { color:#fff; font-size:clamp(2rem,3vw,2.9rem); margin-bottom:24px; }
.cta-band .button { background:#fff; color:var(--navy); border-color:#fff; box-shadow:none; }
.cta-band .button:hover { background:#eaf4ff; color:var(--navy); }

.page-hero { padding:76px 0 58px; background:linear-gradient(180deg,#f5faff 0%,#fff 100%); }
.page-hero h1 { max-width:900px; font-size:clamp(2.35rem,4vw,3.75rem); }
.page-hero p { max-width:820px; font-size:1.18rem; line-height:1.55; color:#3c5c7b; margin:0; }
.quote-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-top:32px; }
.quote-card { padding:28px 30px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 10px 25px rgba(8,44,98,.05); font-size:1.2rem; color:var(--navy); }
.three-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:30px; }
.info-card { padding:28px; border-radius:16px; background:#fff; border:1px solid var(--line); }
.info-card h3 { font-size:1.3rem; margin-bottom:12px; }
.testimonials { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:30px; }
.testimonial { background:#fff; border:1px solid var(--line); border-radius:18px; padding:34px; box-shadow:0 12px 28px rgba(8,44,98,.06); }
.testimonial blockquote { margin:0 0 22px; font-size:1.1rem; color:#294a6b; }
.testimonial cite { color:var(--navy); font-style:normal; font-weight:700; }

.show-block { display:grid; grid-template-columns:340px 1fr; gap:54px; align-items:center; }
.show-block + .show-block { margin-top:72px; }
.show-art { border-radius:18px; overflow:hidden; box-shadow:var(--shadow); }
.show-placeholder { aspect-ratio:1/1; border-radius:18px; padding:34px; background:linear-gradient(145deg,var(--navy),#244f85); color:#fff; display:flex; flex-direction:column; justify-content:flex-end; box-shadow:var(--shadow); }
.show-placeholder small { text-transform:uppercase; letter-spacing:.16em; color:#a9d5ff; }
.show-placeholder strong { font-size:2.3rem; line-height:1.02; margin-top:8px; }
.kicker { color:var(--blue); font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:.85rem; }
.coming { display:inline-block; background:#e8f3ff; color:var(--navy); border-radius:999px; padding:7px 12px; font-size:.9rem; font-weight:700; }

.about-story { max-width:850px; }
.about-story p { font-size:1.12rem; margin:0 0 24px; }
.about-story .standalone { font-size:1.55rem; color:var(--navy); font-weight:800; margin:38px 0 16px; }
.about-layout { display:grid; grid-template-columns:1fr 340px; gap:58px; align-items:start; }
.about-photo { border-radius:18px; overflow:hidden; box-shadow:var(--shadow); position:sticky; top:120px; }
.about-photo img { width:100%; aspect-ratio:3/4; object-fit:cover; object-position:center 20%; }

.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:58px; align-items:start; }
.form-card { background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); border-radius:20px; padding:36px; }
.field { margin-bottom:22px; }
label { display:block; margin-bottom:7px; font-weight:700; color:var(--navy); }
input, textarea { width:100%; border:1px solid #bdd2e6; border-radius:10px; padding:13px 14px; color:var(--ink); background:#fff; }
input:focus, textarea:focus { outline:3px solid rgba(27,141,250,.16); border-color:var(--blue); }
textarea { min-height:180px; resize:vertical; }
.contact-note { margin-top:24px; color:var(--muted); }

.legal { max-width:860px; }
.legal h2 { font-size:1.6rem; margin-top:44px; margin-bottom:12px; }
.legal p, .legal li { font-size:1.04rem; }
.legal ul { padding-left:22px; }
.effective { color:var(--muted); font-size:.95rem; }

.site-footer { background:#f4f8fc; border-top:1px solid #dce7f2; padding:38px 0; }
.footer-inner { display:grid; grid-template-columns:1.15fr .85fr; gap:40px; align-items:start; }
.footer-brand { color:var(--navy); font-weight:700; margin-bottom:8px; }
.footer-desc { max-width:650px; color:var(--muted); font-size:.96rem; margin:0; }
.footer-links { display:flex; flex-wrap:wrap; gap:10px 18px; justify-content:flex-end; }
.footer-links a { font-size:.95rem; }
.copyright { margin-top:28px; color:#75869a; font-size:.9rem; }

@media (max-width: 920px) {
  .header-inner { min-height:74px; }
  .brand img { width:46px; height:46px; }
  .brand span { font-size:.96rem; }
  .menu-toggle { display:block; }
  .nav { display:none; position:absolute; top:74px; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); padding:20px 24px 26px; flex-direction:column; align-items:stretch; gap:12px; }
  .nav.open { display:flex; }
  .nav .button { margin-top:6px; }
  .hero { background:#fff; }
  .hero-grid { grid-template-columns:1fr; min-height:0; }
  .hero-copy { padding:70px 24px 54px; }
  .hero-media { min-height:500px; }
  .hero-mark-bg { width:min(70%,430px); left:3%; top:7%; }
  .hero-portrait-frame { width:min(72%,470px); right:8%; height:92%; }
  .hero-portrait-frame img { object-position:50% 12%; }
  .two-col, .two-col.reverse, .podcast-panel, .show-block, .contact-grid, .about-layout { grid-template-columns:1fr; gap:38px; }
  .two-col.reverse .media-card, .two-col.reverse .copy-block { order:initial; }
  .quote-grid, .testimonials, .three-grid { grid-template-columns:1fr; }
  .about-photo { position:static; width:min(360px,100%); }
  .footer-inner { grid-template-columns:1fr; }
  .footer-links { justify-content:flex-start; }
}
@media (max-width: 600px) {
  .container { width:min(100% - 30px, var(--max)); }
  .brand span { display:none; }
  .section { padding:62px 0; }
  .hero-copy { padding:60px 18px 48px; }
  .hero-media { min-height:420px; }
  .hero-actions .button { width:100%; }
  .page-hero { padding:60px 0 48px; }
  .form-card { padding:24px; }
  .show-block { gap:28px; }
  .show-art, .show-placeholder { max-width:360px; }
}

/* V2 rhythm and alignment refinements */
.section > .container,
.page-hero > .container { position:relative; }
.copy-block, .podcast-copy { max-width:720px; }
.section-intro { max-width:800px; }
.footer-brand { font-weight:500; }
@media (max-width: 920px) {
  .hero-copy { padding:64px 24px 48px; }
}
@media (max-width: 600px) {
  .hero-portrait-frame { width:82%; right:3%; height:93%; }
  .hero-mark-bg { width:72%; left:0; top:10%; }
  .personality-line { margin-bottom:26px; }
}

/* V3 homepage refinements */
.hero-grid {
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto;
  grid-template-columns: 53% 47%;
  min-height: 600px;
}
.hero-copy {
  padding: 72px 46px 66px 0;
}
.hero-media {
  min-height: 600px;
  background: transparent;
}
.hero-portrait-frame {
  right: 0;
  bottom: 0;
  width: 100%;
  height: 92%;
  border-radius: 28px 28px 0 0;
  background: #eef5fb;
}
.hero-portrait-frame img {
  object-position: 50% 22%;
}
.hero h1 {
  max-width: 640px;
  font-size: clamp(2.35rem, 3.35vw, 3.55rem);
  line-height: 1.08;
}
.hero-lede {
  max-width: 640px;
}
.hero-divider {
  width: 86px;
  height: 3px;
  margin: 8px 0 15px;
  border-radius: 999px;
  background: var(--light-blue);
  box-shadow: inset 0 0 0 1px rgba(58,133,220,.08);
}
.personality-line {
  margin: 0 0 30px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.26rem, 1.55vw, 1.42rem);
  line-height: 1.35;
  font-style: italic;
  font-weight: 400;
  color: var(--navy);
}
.desktop-break { display: initial; }

@media (max-width: 920px) {
  .hero-grid { width: 100%; grid-template-columns: 1fr; min-height: 0; }
  .hero-copy { padding: 64px 24px 48px; }
  .hero-media { min-height: 500px; }
  .hero-portrait-frame { width: min(78%, 520px); right: 7%; height: 92%; }
}
@media (max-width: 600px) {
  .hero-grid { width: 100%; }
  .hero-copy { padding: 60px 18px 48px; }
  .hero-portrait-frame { width: 86%; right: 2%; }
  .desktop-break { display: none; }
}


/* V4 homepage final-pass refinements */
.hero h1 {
  max-width: 660px;
  font-size: clamp(2.2rem, 3vw, 3.2rem);
  line-height: 1.09;
}
.hero h1 .headline-line { display:block; }
.media-card.facilitation img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center 48%;
}
@media (max-width: 920px) {
  .hero h1 .headline-line { display:inline; }
}


/* V5 homepage headline refinement */
.hero h1 {
  max-width: 690px;
  font-size: clamp(2.05rem, 2.55vw, 2.45rem);
  line-height: 1.10;
}


/* V6 Coaching page refinements */
.thought-grid {
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  column-gap:42px;
  row-gap:30px;
  margin-top:34px;
}
.thought-statement {
  position:relative;
  padding:22px 6px 4px 0;
  font-size:1.2rem;
  line-height:1.48;
  color:var(--navy);
}
.thought-statement::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:58px;
  height:3px;
  border-radius:999px;
  background:#b8dcff;
}
.testimonials-three {
  grid-template-columns:repeat(3, 1fr);
}
@media (max-width: 920px) {
  .thought-grid,
  .testimonials-three {
    grid-template-columns:1fr;
  }
  .footer-desktop-break {
    display:none;
  }
}

/* V7 Coaching approach width refinement */
.coaching-approach-intro {
  max-width: none;
}
.coaching-approach-intro p {
  max-width: 100%;
}


/* V8 Podcasts page refinements */
.podcast-closing {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}


/* V9 About page refinements */
.about-page-hero {
  padding-bottom: 35px;
}
.about-main-section {
  padding-top: 35px;
}
.about-story h2 {
  font-size: clamp(1.45rem, 2vw, 1.85rem);
  margin-top: 44px;
  margin-bottom: 14px;
}
.about-story .monjoba-story p {
  margin-bottom: 18px;
}
.about-story .monjoba-story p:last-child {
  margin-bottom: 0;
}
@media (max-width: 600px) {
  .about-page-hero {
    padding-bottom: 29px;
  }
  .about-main-section {
    padding-top: 29px;
  }
  .about-story h2 {
    margin-top: 38px;
  }
}


/* V10 Contact and legal page refinements */
.contact-page-hero {
  padding-bottom: 40px;
}
.contact-main-section {
  padding-top: 54px;
}
.legal-page-hero {
  padding-bottom: 42px;
}
.legal-main-section {
  padding-top: 58px;
}
.thanks-main {
  min-height: 62vh;
  display: flex;
  align-items: center;
}
.thanks-actions {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 30px;
}
@media (max-width: 600px) {
  .contact-page-hero {
    padding-bottom: 34px;
  }
  .contact-main-section {
    padding-top: 44px;
  }
  .legal-page-hero {
    padding-bottom: 38px;
  }
  .legal-main-section {
    padding-top: 46px;
  }
}
