:root {
  --ink: #183a33;
  --ink-deep: #102722;
  --cream: #f4efe4;
  --paper: #fffdf8;
  --gold: #bd8d45;
  --mist: #dce5e0;
  --muted: #586863;
  --line: rgba(24, 58, 51, .18);
  --white: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink-deep);
  background: var(--paper);
  font-family: "DM Sans", system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
}
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.section-shell, .site-header, footer { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.site-header {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border-bottom: 1px solid var(--line);
}
.brand { display: inline-flex; align-items: center; gap: 13px; text-decoration: none; line-height: 1.1; }
.brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  font-family: "Newsreader", serif;
  font-size: 1.15rem;
  color: var(--gold);
}
.brand strong { display: block; font-family: "Newsreader", serif; font-size: 1.22rem; font-weight: 600; }
.brand small { display: block; margin-top: 4px; color: var(--muted); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
nav { display: flex; align-items: center; gap: 25px; }
nav a { font-size: .9rem; text-decoration: none; font-weight: 500; }
.nav-cta { border: 1px solid var(--ink); padding: 9px 17px; border-radius: 999px; }
.mobile-menu { display: none; position: relative; }
.mobile-menu summary {
  padding: 9px 15px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary::after { margin-left: 8px; content: "↓"; color: var(--gold); }
.mobile-menu[open] summary::after { content: "↑"; }
.mobile-menu nav {
  width: min(290px, calc(100vw - 28px));
  padding: 12px;
  position: absolute;
  z-index: 20;
  top: calc(100% + 10px);
  right: 0;
  display: grid;
  gap: 0;
  border: 1px solid var(--line);
  background: var(--paper);
  box-shadow: 0 18px 45px rgba(16,39,34,.16);
}
.mobile-menu nav a { padding: 11px 12px; border-bottom: 1px solid var(--line); }
.mobile-menu nav a:last-child { border-bottom: 0; color: var(--gold); }

.hero {
  min-height: 650px;
  padding-block: 78px 88px;
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: clamp(56px, 8vw, 120px);
  align-items: center;
}
.eyebrow { margin: 0 0 17px; color: var(--gold); font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
h1, h2, h3 { font-family: "Newsreader", Georgia, serif; font-weight: 500; line-height: 1.07; margin-top: 0; }
h1 { max-width: 820px; margin-bottom: 27px; font-size: clamp(3.2rem, 6.4vw, 6rem); letter-spacing: -.04em; }
h2 { margin-bottom: 23px; font-size: clamp(2.35rem, 4.2vw, 4rem); letter-spacing: -.025em; }
h3 { margin-bottom: 17px; font-size: clamp(1.75rem, 2.5vw, 2.15rem); }
.lead { max-width: 720px; margin: 0; color: var(--muted); font-size: clamp(1.1rem, 1.8vw, 1.34rem); }
.hero-credentials { margin: 20px 0 0; color: var(--ink); font-size: .87rem; font-weight: 600; letter-spacing: .025em; }
.hero-credentials span { margin-inline: 7px; color: var(--gold); }
.hero-actions { margin-top: 38px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.reader-link { display: inline-block; margin-top: 22px; color: var(--ink); font-size: .92rem; font-weight: 600; text-underline-offset: 5px; }
.button {
  display: inline-block;
  padding: 13px 20px;
  border: 1px solid transparent;
  border-radius: 3px;
  text-decoration: none;
  font-size: .94rem;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}
.primary { background: var(--ink); color: var(--white); }
.secondary { background: var(--cream); color: var(--ink-deep); }
.outline { background: transparent; border-color: var(--ink); color: var(--ink); }
.full { width: 100%; }

.book-teaser {
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: var(--cream);
  box-shadow: 18px 18px 0 var(--mist);
}
.book-teaser img { width: 100%; height: auto; display: block; }
.coming-soon { display: block; margin: 0; padding: 13px 24px; background: var(--gold); color: white; font-size: .76rem; font-weight: 600; letter-spacing: .08em; text-align: center; text-decoration: none; text-transform: uppercase; }

.professional-proof { padding-block: 72px; border-top: 1px solid var(--line); background: var(--cream); }
.proof-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(48px, 8vw, 110px); align-items: center; }
.proof-intro h2 { max-width: 670px; margin-bottom: 20px; font-size: clamp(2.15rem, 3.6vw, 3.45rem); }
.proof-intro > p:not(.eyebrow) { max-width: 650px; margin: 0; color: var(--muted); }
.proof-facts { margin: 0; border-top: 1px solid var(--line); }
.proof-facts div { padding: 22px 0; border-bottom: 1px solid var(--line); }
.proof-facts dt { font-family: "Newsreader", Georgia, serif; font-size: clamp(1.65rem, 2.5vw, 2.25rem); line-height: 1.12; color: var(--ink); }
.proof-facts dd { margin: 5px 0 0; color: var(--muted); font-size: .9rem; }

.path-strip { border-block: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, 1fr); }
.path-strip a {
  min-height: 150px;
  padding: 28px clamp(22px, 3vw, 52px);
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: center;
  column-gap: 28px;
  text-decoration: none;
}
.path-strip a:first-child { padding-left: max(30px, calc((100vw - 1180px) / 2)); }
.path-strip a:not(:last-child) { border-right: 1px solid var(--line); }
.path-strip a:last-child { padding-right: max(30px, calc((100vw - 1180px) / 2)); }
.path-strip span { grid-column: 1; color: var(--gold); font-size: .76rem; letter-spacing: .13em; text-transform: uppercase; }
.path-strip strong { grid-column: 1; margin-top: 7px; font-family: "Newsreader", serif; font-size: 1.35rem; font-weight: 500; line-height: 1.25; }
.path-strip b { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--gold); font-size: 1.5rem; font-weight: 400; }

.situations, .resources, .services, .about { padding-block: 112px; }
.after-book { padding-block: 112px; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(55px, 9vw, 130px); align-items: start; }
.after-book-intro { position: sticky; top: 30px; }
.after-book-intro > p:last-child { max-width: 520px; color: var(--muted); font-size: 1.06rem; }
.after-book-grid { border-top: 1px solid var(--line); }
.after-book-grid article { padding: 31px 0; border-bottom: 1px solid var(--line); }
.after-book-grid h3 { margin: 8px 0 11px; font-size: clamp(1.65rem, 2.5vw, 2.15rem); }
.after-book-grid p { margin: 0 0 15px; color: var(--muted); }
.step-number { color: var(--gold); font-size: .76rem; font-weight: 600; letter-spacing: .12em; }
.text-link { padding: 0; border: 0; background: transparent; color: var(--ink); font: inherit; font-size: .9rem; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; cursor: pointer; }
.section-intro { max-width: 780px; margin-bottom: 58px; }
.split-intro { max-width: none; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(45px, 8vw, 110px); align-items: end; }
.split-intro > p { margin: 0 0 27px; color: var(--muted); font-size: 1.06rem; }
.situation-grid { border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(2, 1fr); }
.situation-grid article { min-height: 190px; padding: 34px 42px 34px 0; display: grid; grid-template-columns: 45px 1fr; border-bottom: 1px solid var(--line); }
.situation-grid article:nth-child(odd) { border-right: 1px solid var(--line); }
.situation-grid article:nth-child(even) { padding-left: 42px; }
.situation-grid span { color: var(--gold); font-size: .8rem; }
.situation-grid p { max-width: 430px; margin: 0; font-family: "Newsreader", serif; font-size: 1.55rem; line-height: 1.28; }

.approach { padding-block: 105px; background: var(--ink); color: white; }
.approach-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 9vw, 140px); }
.section-intro.light { margin: 0; align-self: start; position: sticky; top: 30px; }
.section-intro.light > p:last-child { color: rgba(255,255,255,.68); }
.principles p { margin: 0; padding: 24px 0; border-bottom: 1px solid rgba(255,255,255,.16); font-family: "Newsreader", serif; font-size: clamp(1.4rem, 2.3vw, 2rem); line-height: 1.25; }
.principles p:first-child { padding-top: 0; }

.experience-section { padding-block: 112px; background: var(--cream); }
.experience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.experience-grid article { padding: 32px; border-top: 3px solid var(--gold); background: var(--paper); }
.experience-grid h3 { margin-bottom: 16px; font-size: clamp(1.7rem, 2.4vw, 2.12rem); }
.experience-grid article > p:last-child { margin: 0; color: var(--muted); }
.experience-place { margin: 0 0 25px; color: var(--gold); font-size: .75rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }

.resources { background: var(--paper); }
.resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.resource-card { padding: 32px; display: flex; flex-direction: column; border: 1px solid var(--line); background: white; }
.resource-card p { color: var(--muted); }
.resource-card .button { margin-top: auto; }
.resource-top { margin-bottom: 33px; display: flex; justify-content: space-between; gap: 20px; color: var(--gold); font-size: .77rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.resource-top small { color: var(--muted); font-size: .75rem; letter-spacing: normal; }
.paid-card { background: var(--ink); color: white; }
.paid-card p { color: rgba(255,255,255,.7); }
.paid-card ul { margin: 10px 0 30px; padding-left: 19px; color: rgba(255,255,255,.84); font-size: .92rem; }
.paid-card li { margin-bottom: 6px; }
.paid-card .resource-top small { color: rgba(255,255,255,.58); }
.product-card { grid-column: 1 / -1; padding: 0; display: grid; grid-template-columns: minmax(480px, .96fr) 1.04fr; }
.product-cover {
  min-height: 520px;
  padding: clamp(14px, 1.6vw, 24px);
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #123a32;
}
.product-cover img {
  width: 100%;
  height: auto;
  max-height: 760px;
  display: block;
  object-fit: contain;
  box-shadow: 0 18px 42px rgba(8,25,22,.26);
}
.product-copy { padding: clamp(32px, 5vw, 58px); display: flex; flex-direction: column; }
.product-copy h3 { font-size: clamp(2.1rem, 4vw, 3.4rem); }
.product-copy > p { max-width: 700px; }
.product-audience {
  margin: 0 0 28px;
  padding: 18px 20px;
  border-left: 2px solid var(--gold);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.83) !important;
  font-size: .9rem;
}
.product-offer { margin: auto 0 24px; padding-top: 20px; display: flex; align-items: baseline; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.18); }
.product-offer strong { font-family: "Newsreader", serif; font-size: 2.2rem; font-weight: 500; color: white; }
.product-offer span { color: rgba(255,255,255,.62); font-size: .8rem; }
.purchase-note { margin: 13px 0 0; font-size: .78rem; line-height: 1.45; }
.purchase-steps {
  margin: 17px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  list-style: none;
}
.purchase-steps li {
  margin: 0;
  display: flex;
  gap: 8px;
  align-items: flex-start;
  color: rgba(255,255,255,.66);
  font-size: .74rem;
  line-height: 1.4;
}
.purchase-steps span {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 50%;
  color: white;
  font-size: .67rem;
}
.resource-note, .price-note { margin: 20px 0 0; color: var(--muted); font-size: .84rem; }

.mentoring-card {
  margin-top: 24px;
  padding: clamp(32px, 5vw, 58px);
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(42px, 8vw, 105px);
  align-items: start;
  background: var(--ink);
  color: white;
}
.mentoring-copy h3 { max-width: 620px; font-size: clamp(2rem, 3.6vw, 3.25rem); }
.mentoring-copy > p:not(.eyebrow) { color: rgba(255,255,255,.74); }
.mentoring-boundary { margin-top: 28px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.18); font-size: .84rem; }
.mentoring-details .service-facts { margin-top: 0; border-color: rgba(255,255,255,.18); }
.mentoring-details .service-facts div { border-color: rgba(255,255,255,.18); }
.mentoring-details .service-facts dt { color: rgba(255,255,255,.58); }
.mentoring-details ul { margin: 26px 0 30px; padding-left: 20px; color: rgba(255,255,255,.86); }
.mentoring-details li { margin-bottom: 8px; padding-left: 5px; }
.booking-note { margin: 14px 0 0; color: rgba(255,255,255,.62); font-size: .8rem; line-height: 1.5; }

.book-section { padding-block: 108px; background: var(--cream); }
.book-layout { display: grid; grid-template-columns: .7fr 1.3fr; align-items: center; gap: clamp(60px, 10vw, 150px); }
.book-cover-image {
  width: 100%;
  max-width: 390px;
  height: auto;
  display: block;
  box-shadow: 18px 18px 0 rgba(24,51,46,.13);
}
.book-copy { max-width: 650px; }
.lead-sm { font-family: "Newsreader", serif; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.28; }
.book-copy > p:not(.eyebrow):not(.lead-sm) { color: var(--muted); }
.book-copy .availability { margin: 28px 0; padding-left: 16px; border-left: 3px solid var(--gold); color: var(--ink-deep) !important; font-weight: 500; }
.book-actions { display: flex; gap: 12px; flex-wrap: wrap; }

.service-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.service-card { padding: clamp(30px, 4.8vw, 56px); display: flex; flex-direction: column; border: 1px solid var(--line); background: white; }
.service-card.featured { background: var(--ink); color: white; }
.service-number { margin: 0 0 35px; color: var(--gold); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; }
.service-card > p:not(.service-number) { color: var(--muted); }
.service-card.featured > p:not(.service-number) { color: rgba(255,255,255,.7); }
.service-facts { margin: 25px 0 10px; border-top: 1px solid var(--line); }
.service-card.featured .service-facts { border-color: rgba(255,255,255,.18); }
.service-facts div { padding: 10px 0; display: grid; grid-template-columns: 1fr auto; gap: 20px; border-bottom: 1px solid var(--line); }
.service-card.featured .service-facts div { border-color: rgba(255,255,255,.18); }
.service-facts dt { color: var(--muted); font-size: .82rem; }
.service-card.featured .service-facts dt { color: rgba(255,255,255,.56); }
.service-facts dd { margin: 0; font-weight: 600; }
.service-card ul { margin: 24px 0 32px; padding-left: 20px; }
.service-card li { margin-bottom: 8px; padding-left: 5px; }
.service-card .button { margin-top: auto; }

.about { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(55px, 9vw, 125px); align-items: center; }
.identity-card {
  margin: 0;
  min-height: 440px;
  position: relative;
  overflow: hidden;
  display: flex;
  background: var(--ink);
  color: white;
  box-shadow: 18px 18px 0 var(--mist);
}
.identity-card img { width: 100%; min-height: 440px; object-fit: cover; object-position: center top; display: block; }
.identity-card figcaption { padding: 22px 24px; position: absolute; inset: auto 0 0; background: linear-gradient(transparent, rgba(16,39,34,.92)); }
.identity-card figcaption strong { display: block; font-family: "Newsreader", serif; font-size: 1.65rem; font-weight: 500; }
.identity-card figcaption span { display: block; margin-top: 4px; color: rgba(255,255,255,.8); font-size: .75rem; letter-spacing: .05em; }
.about-copy h2 { font-size: clamp(2.5rem, 4.3vw, 4.15rem); }
.about-copy > p:not(.eyebrow) { color: var(--muted); font-size: 1.06rem; }
.linkedin-link { display: inline-block; margin-top: 18px; color: var(--ink); font-weight: 600; text-underline-offset: 5px; }
.institutions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 8px; }
.institutions span { padding: 6px 10px; border: 1px solid var(--line); color: var(--muted); font-size: .73rem; line-height: 1.3; }

.newsletter-section { padding-block: 80px; background: var(--mist); }
.newsletter-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px, 8vw, 110px); align-items: center; }
.newsletter-layout h2 { margin-bottom: 17px; font-size: clamp(2.3rem, 4vw, 3.65rem); }
.newsletter-layout > div > p:last-child { max-width: 560px; color: var(--muted); }
.newsletter-embed { padding: 20px 20px 14px; background: var(--paper); box-shadow: 0 16px 45px rgba(24,58,51,.08); }
.newsletter-embed iframe { width: 100%; height: 330px; display: block; border: 0; background: var(--paper); }
.newsletter-embed .form-note { margin: 10px 4px 0; }

.contact-section { padding-block: 95px; background: var(--gold); color: white; }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(55px, 8vw, 110px); align-items: start; }
.contact-copy .eyebrow { color: var(--ink-deep); }
.contact-copy h2 { font-size: clamp(2.5rem, 4.5vw, 4.2rem); }
.contact-copy > p:last-child { max-width: 500px; }
.direct-email { margin-top: 24px; }
.direct-email a { font-weight: 600; text-underline-offset: 4px; }
.contact-form { padding: 34px; display: grid; gap: 18px; background: var(--paper); color: var(--ink-deep); }
.tally-contact { min-height: 720px; }
.tally-contact iframe { width: 100%; display: block; border: 0; background: transparent; }
.tally-contact noscript p { margin: 0; }
.tally-contact noscript a { font-weight: 600; text-underline-offset: 4px; }
.contact-form label { display: grid; gap: 6px; font-size: .84rem; font-weight: 600; }
.contact-form input, .contact-form select, .contact-form textarea {
  width: 100%;
  padding: 12px 13px;
  border: 1px solid rgba(24,58,51,.3);
  border-radius: 2px;
  background: white;
  color: var(--ink-deep);
  font-size: .95rem;
}
.contact-form textarea { resize: vertical; min-height: 125px; }
.light-button { background: var(--ink); color: white; }
.form-note { margin: -4px 0 0; color: var(--muted); font-size: .78rem; font-weight: 400; line-height: 1.45; }
.form-note a, .check-label a { text-underline-offset: 3px; }
.check-label { grid-template-columns: auto 1fr !important; align-items: start; gap: 9px !important; font-weight: 400 !important; line-height: 1.45; }
.check-label input { width: 17px !important; height: 17px; margin: 3px 0 0; }
.optional-check { color: var(--muted); }
.form-status { min-height: 1.4em; margin: 0; color: var(--ink); font-size: .82rem; font-weight: 600; }
.trap-field { width: 1px !important; height: 1px !important; position: absolute !important; left: -10000px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }

.lead-dialog { width: min(590px, calc(100% - 28px)); padding: 0; border: 0; background: transparent; color: var(--ink-deep); }
.lead-dialog::backdrop { background: rgba(16,39,34,.72); backdrop-filter: blur(3px); }
.lead-dialog form { padding: clamp(28px, 5vw, 48px); position: relative; display: grid; gap: 17px; background: var(--paper); box-shadow: 0 24px 70px rgba(16,39,34,.28); }
.lead-dialog h2 { margin-bottom: 0; font-size: clamp(2.2rem, 5vw, 3.3rem); }
.lead-dialog .eyebrow { margin-bottom: 0; }
.lead-dialog .dialog-intro { margin: -6px 0 5px; color: var(--muted); }
.lead-dialog label:not(.check-label) { display: grid; gap: 6px; font-size: .84rem; font-weight: 600; }
.lead-dialog input[type="text"], .lead-dialog input[type="email"], .lead-dialog label:not(.check-label) input { width: 100%; padding: 12px 13px; border: 1px solid rgba(24,58,51,.3); background: white; }
.dialog-close { width: 40px; height: 40px; position: absolute; top: 15px; right: 15px; border: 0; background: transparent; color: var(--muted); font-size: 1.8rem; line-height: 1; }

.cookie-banner { width: min(1080px, calc(100% - 28px)); padding: 22px 24px; position: fixed; z-index: 100; right: 14px; bottom: 14px; left: 14px; margin-inline: auto; display: grid; grid-template-columns: 1fr auto; gap: 28px; align-items: center; border: 1px solid rgba(255,255,255,.18); background: var(--ink-deep); color: white; box-shadow: 0 18px 55px rgba(0,0,0,.3); }
.cookie-banner[hidden] { display: none; }
.cookie-banner strong { font-family: "Newsreader", serif; font-size: 1.45rem; font-weight: 500; }
.cookie-banner p { max-width: 660px; margin: 4px 0 0; color: rgba(255,255,255,.72); font-size: .86rem; line-height: 1.5; }
.cookie-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 9px; }
.cookie-actions .outline { border-color: white; background: white; color: var(--ink-deep); }
.cookie-actions .primary { background: var(--gold); }
.cookie-actions > a { margin-left: 4px; color: rgba(255,255,255,.78); font-size: .76rem; text-underline-offset: 3px; }

.footer-links { display: flex; flex-wrap: wrap; gap: 14px; }
.footer-links button { padding: 0; border: 0; background: transparent; color: inherit; font-size: inherit; text-decoration: underline; }

.simple-page { min-height: 100vh; display: grid; place-items: center; padding: 28px; background: var(--cream); }
.simple-card { width: min(760px, 100%); padding: clamp(34px, 7vw, 80px); background: var(--paper); box-shadow: 18px 18px 0 var(--mist); }
.simple-card .brand { margin-bottom: 70px; }
.simple-card h1 { font-size: clamp(3rem, 8vw, 5.5rem); }
.simple-card .lead { margin-bottom: 30px; }
.simple-card .reader-link { display: block; }

.legal-content { padding-block: 85px 110px; max-width: 900px; }
.legal-content > h1 { font-size: clamp(3.1rem, 7vw, 5.8rem); }
.legal-updated { margin: -12px 0 65px; color: var(--muted); }
.legal-content section { padding: 31px 0; border-top: 1px solid var(--line); }
.legal-content section h2 { margin-bottom: 15px; font-size: clamp(1.85rem, 3vw, 2.6rem); }
.legal-content section p { color: var(--muted); }
.legal-page footer { grid-template-columns: 1fr auto; }

footer { padding-block: 42px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 35px; border-top: 1px solid var(--line); color: var(--muted); font-size: .8rem; }
.footer-brand { color: var(--ink-deep); }

a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.button:hover, .nav-cta:hover, .path-strip a:hover b { transform: translateY(-2px); }
.button, .nav-cta, .path-strip b { transition: transform .18s ease, opacity .18s ease; }

@media (max-width: 930px) {
  .site-header { min-height: 82px; padding-block: 16px; align-items: center; }
  .desktop-nav { display: none; }
  .mobile-menu { display: block; }
  .hero { min-height: auto; padding-block: 70px 90px; grid-template-columns: 1fr; }
  .book-teaser { width: min(430px, 92%); justify-self: center; }
  .product-card { grid-template-columns: minmax(320px, .8fr) 1.2fr; }
  .product-cover { min-height: 470px; }
  .path-strip, .proof-layout, .split-intro, .approach-grid, .book-layout, .about, .contact-grid, .mentoring-card, .after-book, .newsletter-layout { grid-template-columns: 1fr; }
  .path-strip a:not(:last-child) { border-right: 0; border-bottom: 1px solid var(--line); }
  .section-intro.light { position: static; }
  .after-book-intro { position: static; }
  .resource-grid { grid-template-columns: repeat(2, 1fr); }
  .paid-card { grid-column: 1 / -1; }
  .book-cover-image { width: min(370px, 88%); justify-self: center; }
  .identity-card { width: min(430px, 92%); min-height: 390px; justify-self: center; }
  footer { grid-template-columns: 1fr; gap: 17px; }
  .experience-grid { grid-template-columns: 1fr; }
  .cookie-banner { grid-template-columns: 1fr; gap: 16px; }
  .cookie-actions { justify-content: flex-start; }
}

@media (max-width: 650px) {
  .section-shell, .site-header, footer { width: min(100% - 28px, 1180px); }
  .site-header .brand small { max-width: 130px; }
  .nav-cta { padding: 9px 13px; }
  h1 { font-size: 3.05rem; }
  .situations, .resources, .services, .about { padding-block: 78px; }
  .situation-grid, .resource-grid, .service-grid { grid-template-columns: 1fr; }
  .paid-card { grid-column: auto; }
  .product-card { grid-template-columns: 1fr; }
  .product-cover { min-height: 0; max-height: none; padding: 22px; }
  .product-cover img { width: min(100%, 420px); height: auto; max-height: none; }
  .product-offer { align-items: flex-start; flex-direction: column; gap: 2px; }
  .purchase-steps { grid-template-columns: 1fr; }
  .situation-grid article, .situation-grid article:nth-child(even) { min-height: 0; padding: 28px 0; border-right: 0; }
  .path-strip a { padding-inline: 22px; }
  .contact-form { padding: 24px 20px; }
  .service-facts div { grid-template-columns: 1fr; gap: 2px; }
  .newsletter-embed { padding: 8px 8px 12px; }
  .newsletter-embed iframe { height: 365px; }
  .cookie-actions .button { width: 100%; }
  .cookie-actions > a { margin: 4px 0 0; }
  .legal-page footer { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

/* Acceso destacado a consulta y recursos */
.desktop-nav .resources-nav{background:#e4ebdf;color:#183e35;padding:10px 14px;border-radius:6px;font-weight:700}
.mobile-menu .resources-nav{background:#e4ebdf;color:#183e35;padding:12px;border-radius:6px;font-weight:700}
.resource-hub{background:#eef2e9;border-block:1px solid #dbe3d5;padding:55px 0}
.resource-hub h2{margin:8px 0 16px}.resource-intro{max-width:760px;font-size:1.15rem}
.resource-feature{margin-top:28px;background:#fffdf8;border:1px solid #d7dfd0;border-radius:12px;padding:30px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.resource-feature h3{font-family:Georgia,serif;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.2;margin:12px 0 18px;font-weight:400}
.resource-feature p{max-width:740px}.resource-note{font-size:.92rem;color:#536354}.resource-feature .button{white-space:normal;text-align:center}
@media(max-width:760px){.resource-hub{padding:35px 0}.resource-feature{grid-template-columns:1fr;padding:23px;gap:14px}.resource-feature .button{width:100%}}

/* Portada centrada en necesidades y recorridos */
.home-hero{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:50px}.home-hero h1{font-size:clamp(2.3rem,4.2vw,4.2rem)}
.entry-panel{background:#eaf0e4;border:1px solid #d6dfce;border-radius:12px;padding:30px}.entry-panel ul{padding-left:20px}.entry-panel li{margin:18px 0}
.team-intro{max-width:850px;font-size:1.1rem}.work-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:35px 0}.work-steps article{border-top:1px solid #8fa69a;padding-top:20px}.work-steps span{color:#e2c48d}.work-steps h3{font-size:1.5rem;line-height:1.3}.approach h2{max-width:850px}.approach .secondary{display:inline-flex;margin-top:20px}
.resource-hub .resources{padding-top:35px;padding-bottom:25px}.resource-hub .newsletter-section{margin-top:25px}.experience-compact{padding-top:55px}.experience-compact h2{max-width:850px}.about{padding-top:25px}.bio-details{border-top:1px solid #d6ddcf;margin-top:25px;padding-top:18px}.bio-details summary{cursor:pointer;font-weight:600}.bio-details p{margin-top:18px}
@media(max-width:760px){.home-hero,.work-steps{grid-template-columns:1fr}.home-hero{gap:25px}.entry-panel{padding:23px}.work-steps{gap:18px}}

/* Accesos por destinatario */
.home-hero .hero-actions{display:flex;flex-wrap:wrap;gap:12px}.home-hero .hero-actions .button{white-space:normal;text-align:center;line-height:1.4}.desktop-nav{flex-wrap:wrap}#familias,#profesorado{scroll-margin-top:110px}@media(max-width:640px){.home-hero .hero-actions{flex-direction:column;align-items:stretch}.home-hero .hero-actions .button{width:100%}}

.student-section{padding:64px 0;background:#f2f4ee}.audience-choice{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 42px}.orientation-process{max-width:850px;margin:30px 0;padding:26px;background:#fff;border:1px solid #d6ded6;border-radius:8px}.orientation-process li{margin-bottom:16px}#alumnos,#orientacion-familias{scroll-margin-top:120px}.student-section .work-steps article>span{font-size:1rem}#orientacion-familias>h3{font-size:1.8rem}@media(max-width:650px){.audience-choice{flex-direction:column}.audience-choice .button{white-space:normal;text-align:center}.student-section{padding:40px 0}.orientation-process{padding:20px}}

.consultation-options{padding-top:48px;padding-bottom:56px}.consultation-options .resource-grid{margin-top:28px}.consultation-options .button{white-space:normal}

.home-hero{grid-template-columns:1fr}.home-hero .hero-copy{max-width:none}.home-hero h1{max-width:900px}.home-hero .lead{max-width:860px}.audience-accesses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:32px}.audience-access{padding:24px;border:1px solid #d6ded6;border-radius:8px;background:#fff}.audience-access .button{width:100%;white-space:normal;text-align:center;line-height:1.4}.audience-access p{margin:18px 0 0;line-height:1.65}@media(max-width:650px){.audience-accesses{grid-template-columns:1fr;gap:14px}.audience-access{padding:20px}}

/* Revisión de legibilidad, jerarquía y navegación */
:root{--gold:#886322}
html{scroll-padding-top:24px}
body{overflow-wrap:break-word}
.site-header{gap:24px;min-height:88px}.brand{flex-shrink:0}.desktop-nav{gap:20px;flex-wrap:nowrap}.desktop-nav a{padding-block:12px}.desktop-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.home-hero{min-height:auto;padding-block:48px 52px;gap:0}.home-hero h1{font-size:clamp(2.35rem,4.1vw,3.8rem);max-width:900px;line-height:1.12;margin-bottom:20px}.home-hero .lead{font-size:clamp(1.1rem,1.6vw,1.25rem);max-width:810px}.hero-copy>p:not(.eyebrow):not(.hero-credentials){max-width:850px}
.audience-accesses{gap:16px;margin-top:28px}.audience-access{padding:22px 24px;border-radius:10px;background:var(--white);border-color:#c7d2cb}.audience-access .button{display:flex;align-items:center;justify-content:center;min-height:48px;background:#edf2ee;border-color:transparent;color:var(--ink-deep);font-size:1rem}.audience-access .button:hover{background:#dce8df;transform:none}.audience-access p{margin-top:14px;color:#40564d;font-size:1rem;line-height:1.65}
.approach,.student-section,.resource-hub{padding-block:64px}.approach h2,.student-section h2,.resource-hub h2,.consultation-options h2,.experience-compact h2{font-size:clamp(2rem,3.1vw,2.9rem);line-height:1.16;max-width:850px}.team-intro{font-size:1.05rem;line-height:1.75;max-width:800px}.work-steps{gap:28px;margin-block:28px}.work-steps h3{line-height:1.3}.work-steps p{line-height:1.7}.work-steps span{color:#655025;font-weight:700}.approach .work-steps span,.approach .eyebrow{color:#edce97}.approach .button{background:#fffdf8;color:#183a33;border-color:#fffdf8}.approach .resource-note{color:#dce5e0}
.resource-top{color:#765619}.contact-section{background:#e9e2d2;color:var(--ink-deep)}.cookie-actions .primary{background:#ead4a8;color:#102722}.mobile-menu nav a:last-child{color:var(--ink-deep)}
.resource-card{border-radius:10px}.consultation-options{border-top:1px solid var(--line)}.resource-hub .newsletter-section{margin-top:38px}.newsletter-section{padding-block:48px}.newsletter-layout{gap:36px}.about,.book-section{padding-block:64px}.experience-compact{padding-top:52px}.experience-compact+.about{padding-top:24px}.contact-section{padding-block:64px}.contact-grid{gap:40px}.contact-copy h2{font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.15}
.skip-link{position:absolute;top:8px;left:16px;z-index:200;transform:translateY(-160%);padding:12px 18px;background:#fff;color:#102722;border:2px solid #183a33}.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #896322;outline-offset:4px}.approach a:focus-visible,.cookie-banner a:focus-visible,.cookie-banner button:focus-visible{outline-color:#ffe0a7}.button,summary{min-height:44px}.footer-links button{min-height:44px}.resource-note,.form-note{font-size:.9rem;line-height:1.6}img{max-width:100%}
@media(max-width:1050px){.desktop-nav{display:none}.mobile-menu{display:block}.site-header{min-height:80px;padding-block:14px}.mobile-menu nav{max-height:75vh;overflow-y:auto}}
@media(max-width:650px){.home-hero{padding-block:32px 40px}.home-hero h1{font-size:clamp(2rem,8.8vw,2.8rem)}.audience-accesses{grid-template-columns:1fr}.audience-access{padding:18px}.approach,.student-section,.resource-hub,.about,.book-section,.contact-section{padding-block:42px}.team-intro{font-size:1rem}.work-steps{gap:22px}.cookie-banner{padding:16px;gap:12px;max-height:70vh;overflow:auto}.cookie-banner p{font-size:.85rem}.cookie-actions{gap:8px}.cookie-actions .button{width:auto;flex:1 1 130px}.contact-form{padding:22px 18px}.orientation-process ol{padding-left:22px}.brand strong{font-size:1.08rem}.brand small{font-size:.67rem}.section-shell,.site-header,footer{width:calc(100% - 32px)}}
/* Presentación personal y páginas por destinatario */
.personal-intro{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:64px;align-items:center}.personal-intro h1{font-size:clamp(2.8rem,5vw,4.6rem);margin-bottom:8px}.professional-role{font-size:1.15rem;margin:0 0 22px;color:#52645b}.hero-message{font-family:Newsreader,Georgia,serif;font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.25;margin:0 0 18px;max-width:650px}.hero-portrait{margin:0}.hero-portrait img{display:block;width:260px;height:310px;object-fit:cover;object-position:center top;border-radius:12px}.hero-portrait figcaption{font-size:.87rem;line-height:1.5;color:#52645b;margin-top:12px}.audience-heading{font-size:1.8rem;margin:42px 0 0}.audience-accesses{margin-top:20px}.breadcrumb{padding-block:22px;font-size:.9rem}.breadcrumb a{text-underline-offset:4px}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0}.offer-card{padding:28px;border:1px solid #c7d2cb;border-radius:10px;background:#fffdf8;color:#102722;display:flex;flex-direction:column;align-items:flex-start}.offer-card h3{font-size:1.7rem;line-height:1.2}.offer-label{font-size:.78rem;font-weight:700;color:#765619;letter-spacing:.06em;text-transform:uppercase;margin:0 0 18px}.offer-card .button{background:#183a33;color:white;border-color:#183a33;margin-top:12px}.offer-card .resource-note{color:#536354}.offer-card p{line-height:1.65}.resource-disclosure{width:100%}.resource-disclosure summary,.service-details>summary{cursor:pointer;padding:14px 0;min-height:48px;font-weight:600;line-height:1.5}.resource-disclosure li{margin-bottom:14px}.resource-disclosure ol{padding-left:23px}.service-details{border-top:1px solid currentColor;margin-top:24px;padding-top:8px}.service-details[open]>summary{margin-bottom:22px}.service-details>summary{font-size:1.05rem}.premium-book{margin-top:36px;padding-top:28px;border-top:1px solid #b9c8b9}.resource-hub h1,.approach h1,.student-section h1{font-size:clamp(2rem,3.3vw,3rem);line-height:1.17;max-width:900px}.resource-hub .offer-grid{margin-bottom:46px}.approach .offer-card .button{background:#183a33;color:#fff;border-color:#183a33}.approach .offer-card .offer-label{color:#765619}.approach .offer-card .resource-note{color:#536354}.resource-disclosure summary:focus-visible,.service-details summary:focus-visible{outline:3px solid #a67c35;outline-offset:4px}
@media(max-width:800px){.personal-intro{grid-template-columns:minmax(0,1fr) 180px;gap:28px}.hero-portrait img{width:180px;height:230px}.offer-grid{grid-template-columns:1fr}}
@media(max-width:580px){.personal-intro{grid-template-columns:1fr;gap:24px}.hero-portrait{display:grid;grid-template-columns:100px 1fr;align-items:center;gap:18px}.hero-portrait img{width:100px;height:120px;border-radius:8px}.hero-portrait figcaption{margin:0}.personal-intro h1{font-size:2.7rem}.offer-card{padding:22px}.audience-heading{margin-top:32px}.resource-hub h1,.approach h1,.student-section h1{font-size:2rem}}
/* Color y relieve de las tarjetas */
.audience-access{--card-accent:#3d7160;--card-tint:#eef5ef;border:1px solid #d1ddd3;border-top:4px solid var(--card-accent);background:linear-gradient(145deg,#fffdf8 5%,var(--card-tint) 100%);box-shadow:0 5px 9px rgba(24,58,51,.04),0 14px 30px rgba(24,58,51,.07);border-radius:12px;transition:box-shadow .2s ease,border-color .2s ease}.audience-access:has(a[href="alumnos.html"]){--card-accent:#477880;--card-tint:#edf4f5}.audience-access:has(a[href="centros.html"]){--card-accent:#96733d;--card-tint:#f7f0e2}.audience-access:has(a[href="docentes.html"]){--card-accent:#786789;--card-tint:#f3eff6}.audience-access .button{background:rgba(255,255,255,.65);border:1px solid var(--card-accent);color:#183a33;box-shadow:0 2px 4px rgba(24,58,51,.04)}.audience-access .button:hover{background:#fffdf8}.audience-access:focus-within{box-shadow:0 8px 26px rgba(24,58,51,.15)}
.offer-card{border-top:4px solid #547b64;background:linear-gradient(145deg,#fffdf8,#eef5ef);box-shadow:0 6px 10px rgba(16,39,34,.04),0 16px 30px rgba(16,39,34,.09);border-radius:12px}.offer-card:nth-child(2){border-top-color:#a27d3d;background:linear-gradient(145deg,#fffdf8,#f7efdf)}.resource-card{border-top:3px solid #7a9880;box-shadow:0 8px 24px rgba(24,58,51,.07);background:linear-gradient(155deg,#fff,#f1f5ee)}.resource-feature{box-shadow:0 8px 24px rgba(24,58,51,.08);border-left:4px solid #547b64}.orientation-process{box-shadow:0 6px 22px rgba(24,58,51,.06);border-left:4px solid #477880}.hero-portrait img{box-shadow:0 12px 30px rgba(24,58,51,.14);border:4px solid #fffdf8}.premium-book{border-radius:10px;background:#e5ecdf;padding:26px;margin-top:36px}
@media(hover:hover){.audience-access:hover{box-shadow:0 8px 14px rgba(24,58,51,.05),0 20px 35px rgba(24,58,51,.11);border-inline-color:#b6c9ba}}
@media(prefers-reduced-motion:reduce){.audience-access{transition:none}}

nav a[aria-current="page"] { font-weight: 700; text-decoration: underline; text-underline-offset: 5px; }

.reflections-home, .reflections-index { padding-block: clamp(40px, 7vw, 84px); }
.reflections-index .lead { max-width: 62ch; }
.reflection-card { max-width: 780px; margin-top: 24px; padding: clamp(22px, 4vw, 42px); background: var(--cream); border: 1px solid var(--line); border-radius: 8px; }
.reflection-card :is(h2,h3) { font-family: "Newsreader", Georgia, serif; font-size: clamp(1.65rem, 3vw, 2.3rem); line-height: 1.15; margin: 0 0 14px; }
.reflection-card :is(h2,h3) a { text-decoration: none; }
.reflection-card :is(h2,h3) a:hover { text-decoration: underline; text-underline-offset: .15em; }
.reflection-card p { max-width: 62ch; }
.reflection-card .reader-link { margin-top: 8px; }
.reflection-essay { margin-bottom: clamp(40px, 7vw, 84px); }
.reflection-essay > header { background: var(--mist); border-radius: 8px; padding: clamp(22px, 5vw, 64px); }
.reflection-essay .kicker, .reflection-essay .byline { color: var(--ink); font-size: .9rem; }
.reflection-essay .kicker { text-transform: uppercase; letter-spacing: .12em; }
.reflection-essay h1 { max-width: 22ch; font-size: clamp(2.2rem, 6vw, 4.5rem); }
.reflection-essay .deck { max-width: 56ch; font-size: clamp(1.1rem, 2vw, 1.35rem); }
.reflection-essay .byline { margin-bottom: 0; }
.reflection-essay .essay { max-width: 67ch; margin: clamp(30px, 5vw, 58px) auto 0; font: clamp(1.08rem, 2vw, 1.2rem)/1.75 Georgia, serif; }
.reflection-essay h2 { margin: 1.6em 0 .5em; font-size: clamp(1.5rem, 3vw, 2rem); }
.reflection-essay blockquote { margin: 1.5em 0; padding-left: 1em; border-left: 2px solid var(--gold); font-style: italic; }
.reflection-essay sup { font: .68em system-ui, sans-serif; vertical-align: super; }
.reflection-essay .sources { margin-top: 2.5em; padding-top: 1em; border-top: 1px solid var(--line); font: .9rem/1.6 "DM Sans", system-ui, sans-serif; }
.reflection-essay .sources li { margin-bottom: .5em; overflow-wrap: anywhere; }
.reflection-essay .sources li:target { background: var(--mist); }

.publication-section { margin-top: clamp(32px, 6vw, 56px); }
.publication-section .reflection-card { margin-top: 14px; }
.publication-book { display: grid; grid-template-columns: minmax(112px, 160px) minmax(0, 1fr); align-items: start; gap: clamp(18px, 4vw, 34px); }
.publication-book img { display: block; width: 100%; height: auto; border-radius: 4px; }
@media (max-width: 540px) {
  .publication-book { grid-template-columns: 1fr; }
  .publication-book img { max-width: 140px; }
}

/* Publications index: compact headings, with full-size reading text. */
.reflections-index { width: min(900px, calc(100% - 32px)); padding-block: clamp(28px, 4vw, 56px); }
.reflections-index > h1 { font-size: clamp(2.25rem, 4.4vw, 3.5rem); margin-bottom: 12px; }
.reflections-index .publication-section { margin-top: clamp(24px, 3vw, 36px); }
.publication-section > h2 { font-size: clamp(1.4rem, 2.4vw, 1.75rem); margin-bottom: 12px; letter-spacing: -.015em; }
.publication-section .reflection-card { max-width: none; margin-top: 0; padding: clamp(18px, 3vw, 28px); }
.publication-section .reflection-card h3 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); margin-bottom: 10px; }
.publication-section .reflection-card p { margin-block: 0 10px; }
