@font-face {
  font-family:'Cormorant Garamond';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/assets/fonts/cormorant-garamond-500.ttf') format('truetype')
}
@font-face {
  font-family:'Cormorant Garamond';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('/assets/fonts/cormorant-garamond-600.ttf') format('truetype')
}
@font-face {
  font-family:Inter;
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/assets/fonts/inter-400.ttf') format('truetype')
}
@font-face {
  font-family:Inter;
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/assets/fonts/inter-500.ttf') format('truetype')
}
@font-face {
  font-family:Inter;
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('/assets/fonts/inter-600.ttf') format('truetype')
}
:root {
  --paper:#fcf9f4;
  --white:#fff;
  --rose:#f0e4de;
  --burgundy:#520c09;
  --burgundy-dark:#340907;
  --muted:#756762;
  --light:#e7d4c7;
  --line:#e4d5cc;
  font-family:Inter,sans-serif;
  color:var(--muted);
  background:var(--paper);
  font-synthesis:none;
  scroll-behavior:smooth
}
* {
  box-sizing:border-box
}
body {
  margin:0
}
p,h1,h2,h3 {
  margin:0
}
a {
  color:inherit;
  text-decoration:none
}
button,a {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,summary:focus-visible {
  outline:3px solid currentColor;
  outline-offset:5px
}
section {
  scroll-margin-top:24px
}
img {
  display:block
}
h1,h2,h3 {
  font-family:'Cormorant Garamond',Georgia,serif;
  color:var(--burgundy);
  font-weight:500
}
h1 {
  font-size:76px;
  line-height:78px
}
h2 {
  font-size:52px;
  line-height:56px
}
h3 {
  font-size:30px;
  line-height:34px;
  font-weight:600
}
p {
  font-size:16px;
  line-height:26px
}
.container {
  width:calc(100% - 80px);
  max-width:1200px;
  margin-inline:auto
}
.small-label {
  font-size:11px;
  line-height:16px;
  font-weight:500;
  color:var(--burgundy);
  letter-spacing:1.5px
}
.text-link {
  font-size:14px;
  line-height:20px;
  font-weight:600;
  color:var(--burgundy)
}
.text-link:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
.section-paper {
  background:var(--paper)
}
.section-white {
  background:var(--white)
}
.section-rose {
  --muted:#71635e;
  background:var(--rose);
  color:var(--muted)
}
.skip-link {
  position:absolute;
  top:8px;
  left:8px;
  transform:translateY(-200%);
  background:var(--burgundy);
  color:var(--paper);
  padding:12px 20px;
  z-index:10
}
.skip-link:focus {
  transform:none
}
.site-header {
  padding-block:16px
}
.header-inner {
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap
}
.brand {
  height:50px;
  width:170px;
  flex:none;
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--burgundy)
}
.brand-monogram {
  flex:none
}
.brand-name {
  display:flex;
  flex-direction:column;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:36px;
  line-height:36px;
  font-weight:600
}
.brand-training {
  font-family:Inter,sans-serif;
  color:var(--muted);
  font-size:9px;
  line-height:14px;
  font-weight:500
}
.navigation {
  display:flex;
  align-items:center;
  gap:32px;
  width:512px;
  flex:none;
  font-size:13px;
  line-height:20px;
  font-weight:500
}
.navigation a:nth-child(1),.navigation a:nth-child(3),.navigation a:nth-child(4) {
  width:100px;
  flex:none
}
.navigation a:nth-child(2) {
  width:111px;
  flex:none
}
.navigation a:hover,.footer-nav a:hover {
  text-decoration:underline;
  text-underline-offset:4px
}
.contact-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:16px;
  height:52px;
  min-height:52px;
  border-radius:999px;
  min-width:0;
  background:var(--burgundy);
  color:var(--paper);
  font-size:14px;
  line-height:20px;
  font-weight:600;
  text-align:center;
  transition:background-color .15s
}
.contact-label {
  flex:1;
  min-width:0
}
.contact-link img {
  flex:none
}
.contact-link:hover,.contact-link[data-state=hover] {
  background:var(--burgundy-dark)
}
.contact-link-light {
  background:var(--paper);
  color:var(--burgundy)
}
.contact-link-light:hover,.contact-link-light[data-state=hover] {
  background:var(--rose)
}
.header-contact {
  width:226px;
  flex:none
}
.hero {
  padding-block:64px
}
.hero-grid {
  display:grid;
  grid-template-columns:minmax(0,616fr) minmax(0,520fr);
  gap:64px;
  align-items:center
}
.hero-intro {
  display:flex;
  flex-direction:column;
  gap:24px
}
.hero-description {
  max-width:560px;
  font-size:19px;
  line-height:30px
}
.hero-actions {
  display:flex;
  gap:16px;
  align-items:flex-start
}
.hero-actions .contact-link {
  width:264px
}
.hero-actions .text-link {
  width:204px;
  flex:none
}
.hero-footnote {
  color:var(--muted)
}
.hero-manifesto {
  height:540px;
  position:relative;
  overflow:hidden;
  border-radius:24px;
  padding:48px;
  display:flex;
  flex-direction:column;
  gap:16px;
  color:var(--paper)
}
.hero-photo,.photo-overlay {
  position:absolute;
  inset:0;
  width:100%;
  height:100%
}
.hero-photo {
  object-fit:cover
}
.photo-overlay {
  background:linear-gradient(180deg,rgba(52,9,7,.6) 0%,rgba(52,9,7,.05) 20%,rgba(52,9,7,.12) 48%,rgba(52,9,7,.7) 65%,rgba(52,9,7,.96) 100%)
}
.hero-manifesto>*:not(.hero-photo):not(.photo-overlay) {
  position:relative
}
.hero-manifesto .small-label,.hero-manifesto h2 {
  color:var(--paper)
}
.hero-manifesto h2 {
  font-size:44px;
  line-height:48px
}
.manifesto-spacer {
  flex:1
}
.manifesto-body {
  font-size:14px;
  line-height:22px
}
.pillars {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:48px;
  padding-top:24px;
  text-align:center
}
.pillars>div {
  display:flex;
  flex-direction:column;
  gap:8px
}
.pillars p:not(.small-label) {
  font-size:14px;
  line-height:22px
}
.mentorship,.journey,.about,.faq {
  padding-block:96px
}
.section-intro {
  display:flex;
  flex-direction:column;
  gap:16px
}
.mentorship-intro {
  max-width:800px
}
.mentorship-intro>p:last-child {
  max-width:660px
}
.mentorship-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:40px
}
.mentorship-card {
  display:flex;
  flex-direction:column;
  gap:20px;
  padding:32px;
  border:1px solid var(--line);
  border-radius:16px;
  height:356px;
  background:var(--white)
}
.card-number,.card-detail {
  letter-spacing:0
}
.journey-intro {
  max-width:840px
}
.journey-intro>p:last-child {
  max-width:680px
}
.journey-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:24px;
  list-style:none;
  padding:0;
  margin:40px 0 0
}
.journey-step {
  display:flex;
  flex-direction:column;
  gap:16px
}
.journey-step .small-label {
  letter-spacing:0
}
.about-grid {
  display:grid;
  grid-template-columns:minmax(0,440fr) minmax(0,680fr);
  gap:80px;
  align-items:center
}
.about-photo {
  width:100%;
  height:520px;
  object-fit:cover;
  border-radius:24px
}
.about-bio {
  display:flex;
  flex-direction:column;
  gap:24px
}
.about-quote {
  font-size:19px;
  line-height:30px;
  color:var(--burgundy)
}
.faq-grid {
  display:grid;
  grid-template-columns:minmax(0,440fr) minmax(0,680fr);
  gap:80px;
  align-items:start
}
.faq-intro {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:24px
}
.faq-intro .contact-link {
  width:280px
}
.faq-accordion {
  display:flex;
  flex-direction:column;
  gap:12px
}
.faq-item {
  padding:24px;
  border-radius:8px;
  background:var(--paper)
}
.faq-item[open] {
  background:var(--rose)
}
.faq-item summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  color:var(--burgundy);
  font-size:14px;
  line-height:20px;
  font-weight:600
}
.faq-item summary::-webkit-details-marker {
  display:none
}
.faq-item p {
  margin-top:12px;
  font-size:14px;
  line-height:22px
}
.faq-indicator {
  flex:none;
  width:20px;
  height:20px
}
.faq-minus {
  display:none
}
.faq-item[open] .faq-minus {
  display:block
}
.faq-item[open] .faq-plus {
  display:none
}
.final-contact {
  background:var(--burgundy);
  padding-block:72px;
  color:var(--light)
}
.final-contact h2 {
  color:var(--paper)
}
.final-contact .small-label {
  color:var(--light)
}
.contact-grid {
  display:grid;
  grid-template-columns:minmax(0,790fr) minmax(0,330fr);
  gap:80px;
  align-items:center
}
.contact-grid>.contact-link {
  width:280px
}
.site-footer {
  background:var(--burgundy-dark);
  padding-block:64px;
  color:var(--paper)
}
.site-footer .small-label {
  color:var(--light)
}
.brand-rose {
  color:var(--paper)
}
.brand-rose .brand-training {
  color:var(--light)
}
.footer-grid {
  display:grid;
  grid-template-columns:minmax(0,440fr) minmax(0,280fr) minmax(0,320fr);
  gap:80px
}
.footer-brand>p {
  margin-top:16px;
  max-width:360px;
  color:var(--light);
  font-size:14px;
  line-height:22px
}
.footer-nav {
  display:flex;
  flex-direction:column;
  gap:12px;
  font-size:14px;
  line-height:22px
}
.footer-contact {
  display:flex;
  flex-direction:column;
  gap:16px;
  font-size:14px;
  line-height:22px
}
.footer-contact>a {
  display:flex;
  gap:12px;
  align-items:center
}
.footer-contact>a img {
  flex:none
}
.footer-contact>a span {
  text-decoration:underline;
  text-underline-offset:2px
}
.footer-contact>p:last-child {
  font-size:14px;
  line-height:22px;
  color:var(--light)
}
.copyright {
  margin-top:40px;
  padding-top:32px;
  color:var(--light);
  font-size:14px;
  line-height:22px
}
@media(max-width:1199px) and (min-width:761px) {
  .header-inner {
    justify-content:space-between
  }
  .navigation {
    width:auto;
    gap:20px
  }
  .navigation a:nth-child(n) {
    width:auto
  }
  .hero-grid {
    gap:40px;
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)
  }
  h1 {
    font-size:64px;
    line-height:68px
  }
  .hero-actions .text-link {
    width:auto
  }
  .hero-actions .contact-link {
    width:240px
  }
  .hero-manifesto {
    padding:32px
  }
  .hero-manifesto h2 {
    font-size:38px;
    line-height:42px
  }
  .about-grid,.faq-grid {
    gap:48px
  }
  .mentorship-card {
    padding:24px;
    height:auto;
    min-height:356px
  }
  .journey-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:40px
  }
  .footer-grid {
    gap:32px
  }
  .contact-grid {
    gap:40px
  }
  .contact-grid h2 {
    font-size:46px;
    line-height:50px
  }
}
@media(max-width:980px) and (min-width:761px) {
  .header-inner {
    gap:20px
  }
  .header-contact {
    width:206px
  }
  .navigation {
    order:3;
    width:100%;
    justify-content:center
  }
  .hero-grid {
    grid-template-columns:1fr 1fr;
    gap:28px
  }
  h1 {
    font-size:54px;
    line-height:58px
  }
  .hero-description {
    font-size:17px;
    line-height:28px
  }
  .hero-actions {
    flex-direction:column
  }
  .hero-manifesto {
    padding:24px
  }
  .hero-manifesto h2 {
    font-size:32px;
    line-height:36px
  }
  .mentorship-grid {
    gap:16px
  }
  .mentorship-card {
    padding:20px;
    gap:16px
  }
  .mentorship-card h3 {
    font-size:28px;
    line-height:32px
  }
  .mentorship-card>p:not(.small-label) {
    font-size:15px;
    line-height:24px
  }
  .footer-grid {
    grid-template-columns:1fr 1fr
  }
  .footer-brand {
    grid-column:1/-1
  }
  .contact-grid {
    grid-template-columns:1fr
  }
  .contact-grid>.contact-link {
    margin-top:16px
  }
}
@media(max-width:760px) {
  .container {
    width:calc(100% - 48px)
  }
  h1 {
    font-size:48px;
    line-height:50px
  }
  h2 {
    font-size:38px;
    line-height:42px
  }
  .site-header {
    padding-block:16px
  }
  .header-inner {
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    column-gap:24px;
    row-gap:16px
  }
  .site-header .brand {
    width:112px;
    gap:8px
  }
  .site-header .brand-name {
    font-size:26px;
    line-height:30px
  }
  .site-header .brand-training {
    font-size:9px;
    line-height:14px
  }
  .header-contact {
    width:100%;
    grid-column:2;
    grid-row:1
  }
  .navigation {
    grid-column:1/-1;
    grid-row:2;
    width:100%;
    gap:16px;
    justify-content:flex-start
  }
  .navigation a:nth-child(1),.navigation a:nth-child(3) {
    width:98px;
    flex:none
  }
  .navigation a:nth-child(2) {
    width:108px;
    flex:none
  }
  .navigation .nav-faq {
    display:none
  }
  .hero {
    padding-block:48px
  }
  .hero-grid {
    display:flex;
    flex-direction:column;
    gap:40px;
    align-items:stretch
  }
  .hero-description {
    font-size:16px;
    line-height:26px
  }
  .hero-actions {
    flex-direction:column;
    gap:16px;
    align-items:stretch
  }
  .hero-actions .contact-link {
    width:100%
  }
  .hero-actions .text-link {
    width:100%;
    text-align:center
  }
  .hero-manifesto {
    height:460px;
    padding:24px
  }
  .hero-manifesto h2 {
    font-size:32px;
    line-height:36px
  }
  .pillars {
    grid-template-columns:1fr;
    gap:24px;
    margin-top:40px;
    padding-top:24px
  }
  .mentorship,.journey,.about,.faq {
    padding-block:64px
  }
  .mentorship-intro h2,.mentorship-intro>p:last-child {
    text-align:center
  }
  .mentorship-grid {
    grid-template-columns:1fr;
    gap:24px
  }
  .mentorship-card {
    height:356px
  }
  .mentorship-card h3 {
    text-align:center
  }
  .journey-intro h2 {
    text-align:center
  }
  .journey-grid {
    grid-template-columns:1fr;
    gap:32px
  }
  .journey-step h3,.journey-step .small-label {
    text-align:center
  }
  .about-grid {
    grid-template-columns:1fr;
    gap:40px
  }
  .about-photo {
    height:404px
  }
  .about-quote {
    font-size:19px;
    line-height:30px;
    text-align:center
  }
  .about-bio {
    gap:24px
  }
  .faq-grid {
    grid-template-columns:1fr;
    gap:32px
  }
  .faq-intro .contact-link {
    width:100%
  }
  .faq-item {
    padding:20px
  }
  .final-contact {
    padding-block:56px
  }
  .contact-grid {
    grid-template-columns:1fr;
    gap:32px
  }
  .contact-grid>.contact-link {
    width:100%
  }
  .site-footer {
    padding-block:48px
  }
  .footer-grid {
    grid-template-columns:1fr;
    gap:32px
  }
  .copyright {
    margin-top:40px
  }
  .footer-brand>p {
    max-width:none
  }
}
@media(max-width:374px) {
  .container {
    width:calc(100% - 32px)
  }
  .header-inner {
    grid-template-columns:100px minmax(0,1fr);
    gap:16px
  }
  .header-contact {
    padding-inline:12px;
    font-size:12px
  }
  .header-contact img {
    width:16px;
    height:16px
  }
  .site-header .brand {
    gap:6px;
    width:100px
  }
  .navigation {
    gap:10px;
    font-size:12px;
    justify-content:space-between
  }
  .navigation a:nth-child(n) {
    width:auto
  }
  h1 {
    font-size:44px;
    line-height:48px
  }
  .hero-footnote {
    font-size:10px;
    letter-spacing:1px
  }
  .hero-manifesto h2 {
    font-size:29px;
    line-height:34px
  }
  .mentorship-card {
    height:auto;
    min-height:356px;
    padding:28px
  }
}
@media(prefers-reduced-motion:reduce) {
  :root {
    scroll-behavior:auto
  }
  .contact-link {
    transition:none
  }
}

/* Minimal contrast correction for the rose FAQ surface (WCAG AA). */
.faq-item[open] { --muted:#71635e; color:var(--muted); }
