/* ═══════════════════════════════════════════════════════════════
   DESIGN SYSTEM v3
═══════════════════════════════════════════════════════════════ */
:root{
  /* Colors — bolder, richer */
  --cream: #f5efe0;
  --cream-2: #ede4cd;
  --paper: #fbf7ec;
  --ink: #17201a;
  --ink-2: #2a332a;
  --forest: #1e2a24;
  --forest-2: #2f4436;
  --moss: #4d6349;
  --sage: #a9b993;
  --sage-light: #cad6b0;
  --lime: #c9d962;       /* softer, natural lime */
  --lime-bright: #b8d15a;
  --ochre: #cd7d3d;
  --ochre-deep: #a05a26;
  --terracotta: #b85a3a;
  --clay: #dcac6f;
  --line: #d0c5a8;
  --line-soft: #dfd6be;
  --muted: #6b6650;

  /* Type */
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, monospace;

  --nav-h: 84px;
  --radius-lg: 32px;
  --radius-md: 20px;
}
*,*::before,*::after{ box-sizing: border-box; }
html,body{ margin: 0; padding: 0; scroll-behavior: smooth; }
body{
  background: var(--cream);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img{ max-width: 100%; display: block; }
a{ color: inherit; text-decoration: none; }
button{ font-family: inherit; }

.wrap{
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 40px;
}
@media (max-width: 900px){ .wrap{ padding: 0 24px; } }
@media (max-width: 520px){ .wrap{ padding: 0 20px; } }

/* ═══════════════════════════════════════════════════════════════
   TYPOGRAPHY
═══════════════════════════════════════════════════════════════ */
/* Headings — all Cormorant serif for cohesion, italic accents only for short mini-phrases */
.h-hero{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(52px, 8.5vw, 132px);
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0;
}
.h-hero em{
  font-style: italic;
  font-weight: 400;
  color: var(--forest-2);
}

.h-section{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 5vw, 72px);
  line-height: 1;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink);
}
.h-section em{
  font-style: italic;
  font-weight: 400;
  color: var(--forest-2);
}

.h-block{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3.2vw, 42px);
  line-height: 1.05;
  letter-spacing: -0.015em;
  margin: 0;
}
.h-block em{
  font-style: italic;
  font-weight: 400;
  color: var(--forest-2);
}

.mono{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
}
.section-tag{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 10px 20px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  font-weight: 500;
}
.section-tag .dot{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--ochre);
}
.lead{
  font-size: 20px;
  line-height: 1.5;
  color: var(--ink-2);
  max-width: 62ch;
  font-weight: 400;
}
.body{
  color: var(--ink-2);
  max-width: 65ch;
  font-size: 17px;
  line-height: 1.6;
}

/* ═══════════════════════════════════════════════════════════════
   BUTTONS — bigger, bolder pills
═══════════════════════════════════════════════════════════════ */
.btn{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 20px 32px;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.005em;
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: all .3s cubic-bezier(.2,.7,.3,1);
  border-radius: 999px;
  background: transparent;
  white-space: nowrap;
}
.btn-lg{ padding: 24px 40px; font-size: 16px; }
.btn-xl{
  padding: 28px 48px;
  font-size: 17px;
  border-radius: 999px;
}
.btn-primary{
  background: var(--forest);
  color: var(--cream);
}
.btn-primary:hover{ background: var(--ink); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(30,42,36,0.25); }
.btn-ghost{
  border-color: var(--ink);
  color: var(--ink);
}
.btn-ghost:hover{ background: var(--ink); color: var(--cream); }
.btn-ochre{ background: var(--ochre); color: var(--paper); }
.btn-ochre:hover{ background: var(--ochre-deep); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(205,125,61,0.35); }
.btn-lime{ background: var(--lime); color: var(--forest); }
.btn-lime:hover{ background: var(--lime-bright); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(184,209,90,0.4); }
.btn-cream{ background: var(--cream); color: var(--ink); }
.btn-cream:hover{ background: var(--paper); }

.btn .arr{
  width: 22px; height: 22px;
  border-radius: 50%;
  background: currentColor;
  display: inline-grid;
  place-items: center;
  transition: transform .3s;
  position: relative;
}
.btn .arr::before{
  content: "↗";
  color: var(--forest);
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
}
.btn-primary .arr::before, .btn-ochre .arr::before{ color: var(--cream); }
.btn-primary .arr, .btn-ochre .arr{ background: rgba(255,255,255,0.2); }
.btn-primary:hover .arr, .btn-ochre:hover .arr{ background: rgba(255,255,255,0.35); transform: rotate(45deg); }
.btn-lime .arr, .btn-ghost .arr, .btn-cream .arr{ background: rgba(30,42,36,0.15); }
.btn-ghost:hover .arr{ background: rgba(245,239,224,0.25); }
.btn-ghost:hover .arr::before{ color: var(--cream); }
.btn:hover .arr{ transform: rotate(45deg); }

/* ═══════════════════════════════════════════════════════════════
   NAV
═══════════════════════════════════════════════════════════════ */
.nav{
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(245, 239, 224, 0.9);
  backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid var(--line-soft);
  height: var(--nav-h);
}
.nav-inner{
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.logo{
  display: flex;
  align-items: center;
  gap: 14px;
}
.logo-mark{
  width: 52px; height: 52px;
  background: var(--forest);
  color: var(--lime);
  border-radius: 50%;
  display: grid; place-items: center;
  position: relative;
  flex-shrink: 0;
}
.logo-mark svg{ width: 26px; height: 26px; }
.logo-txt{
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: -0.005em;
  line-height: 1.05;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 0.32em;
}
.logo-txt em{
  font-style: italic;
  font-weight: 400;
  color: var(--forest-2);
}
.logo-txt small{ display: none; }
.nav-programs-btn{
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 12px 22px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all .2s;
  color: var(--ink);
}
.nav-programs-btn:hover{ background: var(--cream-2); }
.nav-programs-btn .plus{
  width: 18px; height: 18px;
  background: var(--forest);
  color: var(--cream);
  border-radius: 50%;
  display: grid; place-items: center;
  font-size: 14px;
  line-height: 1;
  font-weight: 300;
}
.nav-links{
  display: flex;
  gap: 32px;
  align-items: center;
}
.nav-links a{
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-2);
  transition: color .2s;
}
.nav-links a:hover{ color: var(--forest); }
.nav-actions{
  display: flex;
  align-items: center;
  gap: 14px;
}
.nav-cta{
  padding: 12px 22px;
  font-size: 13px;
}
@media (max-width: 1200px){
  .nav-links{ display: none; }
}
@media (max-width: 720px){
  .nav-programs-btn span{ display: none; }
  .logo-txt{ font-size: 18px; }
}

/* ═══════════════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════════════ */
.hero{
  padding: 60px 0 100px;
  position: relative;
  overflow: hidden;
}
.hero-decor{
  position: absolute;
  top: 80px;
  right: -100px;
  width: 480px;
  opacity: 0.9;
  pointer-events: none;
  z-index: 0;
}
.hero-decor svg{ width: 100%; height: auto; }

.hero-title{
  position: relative;
  z-index: 2;
}

.hero-lower{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px;
  align-items: end;
  margin-top: 48px;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){
  .hero-lower{ grid-template-columns: 1fr; gap: 32px; }
}
.hero-lead{
  font-size: 20px;
  line-height: 1.5;
  color: var(--ink-2);
  max-width: 44ch;
  font-weight: 400;
}
.hero-cta{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

/* Hero bento widgets */
.hero-bento{
  margin-top: 80px;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 160px;
  gap: 12px;
  position: relative;
  z-index: 2;
}
.bento-tile{
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-md);
  padding: 24px 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  overflow: hidden;
  position: relative;
  transition: transform .35s cubic-bezier(.2,.7,.3,1);
}
.bento-tile:hover{ transform: translateY(-3px); }
.bento-photo{
  grid-column: span 3;
  grid-row: span 2;
  padding: 0;
  background: var(--forest);
}
.bento-photo img{ width: 100%; height: 100%; object-fit: cover; }
.bento-stat{
  grid-column: span 3;
  grid-row: span 1;
}
.bento-lbl{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  line-height: 1.5;
}
.bento-lbl small{
  display: block;
  font-size: 10px;
  letter-spacing: 0.16em;
  color: var(--muted);
  opacity: 0.7;
}
.bento-lbl-bottom{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.bento-num{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(52px, 5vw, 76px);
  line-height: 0.85;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.bento-num em{ font-style: italic; color: var(--ochre); }
.bento-num-md{
  font-size: clamp(30px, 3vw, 44px);
}
.bento-num-md em{
  font-style: italic;
  color: var(--ochre);
}
.bento-badge{
  grid-column: span 3;
  grid-row: span 1;
  background: var(--lime);
  color: var(--forest);
  border-color: var(--lime);
  align-items: flex-start;
  justify-content: space-between;
}
.bento-badge-dot{
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--forest);
  animation: pulse 1.8s infinite;
}
@keyframes pulse{
  0%,100%{ opacity: 1; }
  50%{ opacity: 0.35; }
}
.bento-badge-txt{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1.4;
}
.bento-quote{
  grid-column: span 3;
  grid-row: span 1;
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
  padding: 22px 26px;
  justify-content: center;
}
.bento-quote-txt{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.25;
  color: var(--cream);
}
.bento-quote-txt em{ font-style: italic; color: var(--lime); }
.bento-map{
  grid-column: span 3;
  grid-row: span 1;
  background: var(--sage);
  color: var(--forest);
  border-color: var(--sage);
  padding: 20px 22px;
}
.bento-map svg{ width: 100%; height: 100%; }
@media (max-width: 900px){
  .hero-bento{ grid-template-columns: repeat(6, 1fr); grid-auto-rows: 140px; }
  .bento-photo{ grid-column: span 6; grid-row: span 1; }
  .bento-stat, .bento-badge, .bento-quote, .bento-map{ grid-column: span 3; }
}
@media (max-width: 520px){
  .hero-bento{ grid-template-columns: repeat(2, 1fr); }
  .bento-photo{ grid-column: span 2; }
  .bento-stat, .bento-badge, .bento-map{ grid-column: span 1; }
  .bento-quote{ grid-column: span 2; }
}

/* ═══════════════════════════════════════════════════════════════
   SECTIONS
═══════════════════════════════════════════════════════════════ */
section{ padding: 120px 0; position: relative; }
@media (max-width: 720px){ section{ padding: 80px 0; } }

.sec-head{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 80px;
  margin-bottom: 60px;
  align-items: end;
}
@media (max-width: 900px){
  .sec-head{ grid-template-columns: 1fr; gap: 20px; margin-bottom: 40px; }
}
.sec-head-lead{
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 46ch;
  padding: 0 0 12px 32px;
  border-left: 2px solid var(--ochre);
}
@media (max-width: 900px){
  .sec-head-lead{ padding: 0 0 4px 20px; }
}
/* Empty lead — hide the border so it doesn't show as a lonely orange bar */
.sec-head-lead:empty{ border-left: none; padding-left: 0; }

/* ═══════════════════════════════════════════════════════════════
   ABOUT — big lime banner
═══════════════════════════════════════════════════════════════ */
.about{
  padding: 60px 0 120px;
}
.about-banner{
  background: var(--lime);
  color: var(--forest);
  border-radius: var(--radius-lg);
  padding: 80px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
@media (max-width: 900px){
  .about-banner{ padding: 48px 32px; grid-template-columns: 1fr; gap: 32px; }
}
.about-banner-decor{
  position: absolute;
  right: -60px;
  top: -60px;
  width: 400px;
  opacity: 0.6;
  pointer-events: none;
}
.about-quote{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(26px, 2.8vw, 40px);
  line-height: 1.2;
  letter-spacing: -0.015em;
  color: var(--forest);
  position: relative;
  z-index: 2;
}
.about-quote em{
  font-style: italic;
  color: var(--forest-2);
}
.about-photo{
  aspect-ratio: 4/5;
  border-radius: var(--radius-md);
  overflow: hidden;
  position: relative;
  z-index: 2;
}
.about-photo img{ width: 100%; height: 100%; object-fit: cover; }

.about-cards{
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px){ .about-cards{ grid-template-columns: 1fr; } }
.about-card{
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-md);
  padding: 32px;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  transition: transform .3s, border-color .3s;
}
.about-card:hover{ transform: translateY(-4px); border-color: var(--forest); }
.about-card .n{
  width: 44px; height: 44px;
  background: var(--forest);
  color: var(--lime);
  border-radius: 50%;
  display: grid; place-items: center;
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 20px;
  flex-shrink: 0;
}
.about-card h5{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 20px;
  margin: 0 0 8px;
  line-height: 1.15;
  letter-spacing: -0.005em;
  color: var(--ink);
}
.about-card p{
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
}

/* ═══════════════════════════════════════════════════════════════
   WHAT WE DO — round medallions like UOM
═══════════════════════════════════════════════════════════════ */
.what-medallions{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  margin-top: 40px;
}
@media (max-width: 900px){
  .what-medallions{ grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 520px){
  .what-medallions{ grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
.medallion{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  text-align: center;
  cursor: pointer;
  transition: transform .3s;
}
.medallion:hover{ transform: translateY(-6px); }
.medallion-circle{
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--cream-2);
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.medallion-circle::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid var(--line);
  pointer-events: none;
}
.medallion:hover .medallion-circle{ background: var(--sage-light); }
.medallion-circle.photo img{
  width: 100%; height: 100%; object-fit: cover;
}
.medallion-circle.forest{ background: var(--forest); color: var(--lime); }
.medallion:hover .medallion-circle.forest{ background: var(--ink); }
.medallion-circle.ochre{ background: var(--ochre); color: var(--paper); }
.medallion:hover .medallion-circle.ochre{ background: var(--ochre-deep); }
.medallion-circle.lime{ background: var(--lime); color: var(--forest); }
.medallion:hover .medallion-circle.lime{ background: var(--lime-bright); }
.medallion-circle.sage{ background: var(--sage-light); color: var(--forest); }
.medallion-circle.clay{ background: var(--clay); color: var(--forest); }
.medallion:hover .medallion-circle.clay{ background: var(--terracotta); color: var(--paper); }
.medallion-circle svg{
  width: 55%;
  height: 55%;
  stroke-width: 1.2;
}
.medallion-label{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.15;
  color: var(--ink);
  letter-spacing: -0.005em;
  max-width: 16ch;
}
.medallion-num{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--muted);
}

/* ═══════════════════════════════════════════════════════════════
   WHO IS COACH — big split
═══════════════════════════════════════════════════════════════ */
.who{
  background: var(--paper);
  padding: 120px 0;
}
.who-inner{
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 80px;
  align-items: center;
}
@media (max-width: 900px){ .who-inner{ grid-template-columns: 1fr; gap: 40px; } }

.who-visual-group{
  position: relative;
  aspect-ratio: 1/1;
}
.who-photo-main{
  position: absolute;
  top: 0; right: 0;
  width: 70%;
  aspect-ratio: 3/4;
  border-radius: var(--radius-md);
  overflow: hidden;
}
.who-photo-main img{ width: 100%; height: 100%; object-fit: cover; }
.who-photo-small{
  position: absolute;
  bottom: 0; left: 0;
  width: 45%;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  border: 8px solid var(--paper);
  z-index: 2;
}
.who-photo-small img{ width: 100%; height: 100%; object-fit: cover; }
.who-photo-badge{
  position: absolute;
  top: 12%;
  left: 4%;
  background: var(--lime);
  color: var(--forest);
  padding: 14px 22px;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  z-index: 3;
  transform: rotate(-6deg);
  box-shadow: 0 8px 24px rgba(30,42,36,0.15);
}

.who-copy{
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.who-quote{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.who-quote em{
  font-style: italic;
  color: var(--forest-2);
}
.who-desc{
  color: var(--ink-2);
  font-size: 17px;
  line-height: 1.6;
  max-width: 52ch;
}
.who-desc em{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  color: var(--forest);
}

/* ═══════════════════════════════════════════════════════════════
   COURSES — big colored cards
═══════════════════════════════════════════════════════════════ */
.course-list{
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.course-row{
  display: grid;
  grid-template-columns: 140px 1fr 260px 200px;
  gap: 40px;
  padding: 40px;
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg);
  align-items: center;
  transition: all .35s cubic-bezier(.2,.7,.3,1);
  color: var(--ink);
}
.course-row:hover{
  background: var(--cream-2);
  border-color: var(--forest);
  transform: translateX(4px);
}
@media (max-width: 1200px){
  .course-row{ grid-template-columns: 110px 1fr 220px; gap: 28px; padding: 32px; }
  .course-cta-col{ display: none; }
}
@media (max-width: 900px){
  .course-row{ grid-template-columns: 90px 1fr; }
  .course-meta-col{ display: none; }
}
@media (max-width: 520px){
  .course-row{ grid-template-columns: 1fr; gap: 16px; padding: 28px 24px; }
}

.course-num-big{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 300;
  font-size: 96px;
  line-height: 0.85;
  color: var(--ochre);
  letter-spacing: -0.02em;
}
@media (max-width: 520px){ .course-num-big{ font-size: 68px; } }
.course-body{
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.course-badges{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.course-badge-inline{
  padding: 6px 14px;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  background: var(--lime);
  color: var(--forest);
}
.course-badge-inline.soft{
  background: transparent;
  color: var(--muted);
  border: 1px solid var(--line);
}
.course-badge-inline.ochre{
  background: var(--ochre);
  color: var(--paper);
}
.course-row h3{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 3.6vw, 48px);
  line-height: 0.95;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink);
}
.course-row p{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 60ch;
}
.course-meta-col{
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-left: 1px solid var(--line);
  padding-left: 28px;
}
.course-meta-row{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line-soft);
}
.course-meta-row:last-child{ border-bottom: none; padding-bottom: 0; }
.course-meta-row .k{
  font-family: var(--mono);
  font-size: 10px;
  color: var(--muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 500;
}
.course-meta-row .v{
  font-family: var(--serif);
  font-size: 16px;
  color: var(--ink);
  font-weight: 500;
}
.course-cta-col{
  display: flex;
  justify-content: flex-end;
}
.course-cta-col .btn{ padding: 16px 26px; font-size: 14px; }

/* Mini-course full-width */
.course-mini{
  margin-top: 20px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: var(--radius-lg);
  padding: 40px 48px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
@media (max-width: 720px){
  .course-mini{ grid-template-columns: 1fr; padding: 28px 22px; gap: 20px; }
  .course-mini-badge{ position: static !important; display: inline-block; margin-bottom: 12px; }
  .course-mini h3{ font-size: 24px !important; line-height: 1.15 !important; }
  .course-mini p{ font-size: 14px !important; }
}
.course-mini h3{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(26px, 2.8vw, 36px);
  line-height: 1;
  letter-spacing: -0.01em;
  margin: 0 0 12px;
  color: var(--paper);
}
.course-mini h3 em{
  font-style: italic;
}
.course-mini p{
  margin: 0;
  color: rgba(255,255,255,0.85);
  font-size: 15px;
  line-height: 1.5;
  max-width: 60ch;
}
.course-mini-badge{
  position: absolute;
  top: 24px; right: 24px;
  background: var(--paper);
  color: var(--ochre-deep);
  padding: 8px 14px;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  font-weight: 600;
}
.course-mini-features{
  display: flex;
  gap: 20px;
  margin-top: 12px;
  flex-wrap: wrap;
}
.course-mini-features li{
  list-style: none;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  padding: 6px 14px;
  background: rgba(255,255,255,0.15);
  border-radius: 999px;
  color: var(--paper);
}

/* ═══════════════════════════════════════════════════════════════
   APPROACH — Three big spheres
═══════════════════════════════════════════════════════════════ */
.approach{
  background: var(--cream-2);
}
.approach-inner{
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 80px;
  align-items: center;
}
@media (max-width: 900px){ .approach-inner{ grid-template-columns: 1fr; gap: 50px; } }
.approach-copy{
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.approach-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.approach-tag{
  padding: 12px 20px;
  border-radius: 999px;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  color: var(--forest);
  background: var(--paper);
  border: 1px solid var(--line);
  transition: all .2s;
}
.approach-tag:hover{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}
.approach-highlight{
  font-family: var(--serif);
  font-style: italic;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.4;
  color: var(--forest);
  padding: 20px 0 0;
  border-top: 1px solid var(--line);
  margin-top: 12px;
}

.spheres{
  aspect-ratio: 1;
  position: relative;
  max-width: 560px;
  margin: 0 auto;
  width: 100%;
}
.sphere{
  position: absolute;
  width: 62%;
  height: 62%;
  border-radius: 50%;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.sphere-shape{
  position: absolute;
  inset: 0;
  border-radius: 50%;
  mix-blend-mode: multiply;
}
.sphere:hover{ transform: scale(1.04); z-index: 5; }
.sphere-1{ top: 0; left: 50%; transform: translateX(-50%); }
.sphere-1:hover{ transform: translateX(-50%) scale(1.04); z-index: 5; }
.sphere-1 .sphere-shape{ background: var(--sage); }
.sphere-2{ bottom: 0; left: 0; }
.sphere-2 .sphere-shape{ background: var(--ochre); }
.sphere-3{ bottom: 0; right: 0; }
.sphere-3 .sphere-shape{ background: var(--lime); }

.sphere-content{
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 3;
  pointer-events: none;
}
.sphere-1 .sphere-content{
  align-items: center;
  justify-content: flex-start;
  padding-top: 14%;
  text-align: center;
  color: var(--forest);
}
.sphere-2 .sphere-content{
  align-items: flex-start;
  justify-content: center;
  padding-left: 8%;
  padding-right: 45%;
  text-align: left;
  color: var(--paper);
}
.sphere-3 .sphere-content{
  align-items: flex-end;
  justify-content: center;
  padding-right: 8%;
  padding-left: 45%;
  text-align: right;
  color: var(--forest);
}
.sphere-n{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.75;
  font-weight: 600;
}
.sphere h4{
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(18px, 1.9vw, 24px);
  line-height: 1;
  margin: 0;
  letter-spacing: -0.01em;
}
.sphere p{
  margin: 4px 0 0;
  font-size: 12px;
  line-height: 1.35;
  max-width: 14ch;
  opacity: 0.9;
}
.spheres-center{
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--serif);
  font-style: italic;
  font-size: clamp(22px, 2.6vw, 32px);
  color: var(--forest);
  font-weight: 500;
  z-index: 10;
  pointer-events: none;
  background: var(--cream);
  padding: 6px 20px;
  border-radius: 999px;
  box-shadow: 0 8px 30px rgba(30,42,36,0.2);
}

/* ═══════════════════════════════════════════════════════════════
   AUDIENCE — colorful icons
═══════════════════════════════════════════════════════════════ */
.audience-grid{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}
@media (max-width: 1080px){ .audience-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px){ .audience-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 400px){ .audience-grid{ grid-template-columns: 1fr; } }

.aud-card{
  padding: 32px 20px;
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  transition: all .3s cubic-bezier(.2,.7,.3,1);
  min-height: 220px;
  text-align: left;
  cursor: pointer;
}
.aud-card:hover{
  transform: translateY(-6px);
  border-color: transparent;
  box-shadow: 0 20px 40px rgba(30,42,36,0.1);
}
.aud-icon-wrap{
  width: 68px; height: 68px;
  border-radius: 50%;
  display: grid; place-items: center;
  transition: transform .3s;
}
.aud-card:hover .aud-icon-wrap{ transform: rotate(-8deg) scale(1.08); }
.aud-icon-wrap svg{ width: 32px; height: 32px; stroke-width: 1.4; }

.aud-card:nth-child(1) .aud-icon-wrap{ background: var(--lime); color: var(--forest); }
.aud-card:nth-child(2) .aud-icon-wrap{ background: var(--sage-light); color: var(--forest); }
.aud-card:nth-child(3) .aud-icon-wrap{ background: var(--ochre); color: var(--paper); }
.aud-card:nth-child(4) .aud-icon-wrap{ background: var(--clay); color: var(--forest); }
.aud-card:nth-child(5) .aud-icon-wrap{ background: var(--terracotta); color: var(--paper); }
.aud-card:nth-child(6) .aud-icon-wrap{ background: var(--forest); color: var(--lime); }

.aud-card h5{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 20px;
  margin: 0 0 4px;
  letter-spacing: -0.005em;
  line-height: 1.15;
  color: var(--ink);
}
.aud-card p{
  margin: 0;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
}
.aud-card-cta{
  margin-top: auto;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--forest);
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: gap .3s;
}
.aud-card:hover .aud-card-cta{ gap: 14px; }

.audience-cta{
  margin-top: 40px;
  background: var(--forest);
  color: var(--cream);
  border-radius: var(--radius-lg);
  padding: 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}
.audience-cta h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--cream);
  max-width: 24ch;
}
.audience-cta h4 em{
  font-style: italic;
  color: var(--lime);
}

/* ═══════════════════════════════════════════════════════════════
   EDITORIAL — Why now
═══════════════════════════════════════════════════════════════ */
.editorial{
  background: var(--paper);
}
.editorial-header{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-bottom: 40px;
  margin-bottom: 60px;
  border-bottom: 1px solid var(--line);
  gap: 20px;
  flex-wrap: wrap;
}
.editorial-meta{
  font-family: var(--mono);
  font-size: 11px;
  color: var(--muted);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.editorial-body{
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 80px;
  align-items: start;
}
@media (max-width: 900px){ .editorial-body{ grid-template-columns: 1fr; gap: 40px; } }
.editorial-main{
  font-size: 18px;
  line-height: 1.65;
  color: var(--ink-2);
}
.editorial-main p{ margin: 0 0 20px; }
.editorial-main p:first-child::first-letter{
  font-family: var(--serif);
  font-size: 82px;
  float: left;
  line-height: 0.85;
  margin: 8px 14px 0 0;
  color: var(--ochre);
  font-weight: 400;
  font-style: italic;
}
.editorial-main strong{
  color: var(--ink);
  font-weight: 600;
}
.editorial-aside{
  padding: 40px 32px;
  background: var(--cream-2);
  border-radius: var(--radius-md);
  position: sticky;
  top: calc(var(--nav-h) + 20px);
}
.editorial-aside .badge{
  display: inline-block;
  padding: 6px 14px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  font-weight: 600;
  margin-bottom: 20px;
}
.editorial-aside h4{
  font-family: var(--sans);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.2;
  margin: 0 0 20px;
  letter-spacing: -0.02em;
}
.editorial-aside ul{
  margin: 0; padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.editorial-aside li{
  padding: 14px 18px;
  background: var(--paper);
  border-radius: 12px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-2);
  display: flex;
  align-items: center;
  gap: 12px;
}
.editorial-aside li::before{
  content: "";
  width: 8px; height: 8px;
  background: var(--ochre);
  border-radius: 50%;
  flex-shrink: 0;
}
.editorial-aside .quote{
  margin-top: 24px;
  font-family: var(--serif);
  font-style: italic;
  font-size: 18px;
  line-height: 1.4;
  color: var(--ink-2);
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

/* ═══════════════════════════════════════════════════════════════
   COMPARISON — big row of cards
═══════════════════════════════════════════════════════════════ */
.compare{
  padding: 60px 0 120px;
  background: var(--paper);
}
.compare-header{
  margin-bottom: 60px;
}
.compare-table{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
@media (max-width: 900px){
  .compare-table{ grid-template-columns: 1fr 1fr; }
  .compare-col.highlight{ grid-column: span 2; }
}
@media (max-width: 520px){
  .compare-table{ grid-template-columns: 1fr; }
  .compare-col.highlight{ grid-column: span 1; }
}

.compare-col{
  padding: 32px 24px;
  border-radius: var(--radius-md);
  min-height: 260px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform .3s;
  background: var(--cream-2);
  border: 1px solid var(--line-soft);
}
.compare-col:hover{ transform: translateY(-4px); }
.compare-col.highlight{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}
.compare-col.highlight .compare-role{ color: var(--lime); }
.compare-col.highlight .compare-desc{ color: rgba(245,239,224,0.85); }
.compare-icon{
  width: 56px; height: 56px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: var(--paper);
  color: var(--forest);
}
.compare-col.highlight .compare-icon{ background: var(--lime); color: var(--forest); }
.compare-icon svg{ width: 26px; height: 26px; stroke-width: 1.4; }
.compare-role{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
}
.compare-col h5{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 24px;
  line-height: 1.05;
  margin: 0;
  letter-spacing: -0.01em;
}
.compare-col h5 em{
  font-style: italic;
  font-weight: 400;
}
.compare-desc{
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink-2);
  margin-top: auto;
}

/* ═══════════════════════════════════════════════════════════════
   FEATURES — big grid with lime highlight
═══════════════════════════════════════════════════════════════ */
.features{
  background: var(--forest);
  color: var(--cream);
}
.features .h-section{ color: var(--cream); }
.features .h-section em{ color: var(--lime); }
.features .section-tag{ background: transparent; border-color: rgba(245,239,224,0.2); color: var(--sage-light); }
.features .sec-head-lead{ color: rgba(245,239,224,0.75); }

.features-grid{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
  grid-auto-rows: minmax(180px, auto);
}

.f-tile{
  background: rgba(245,239,224,0.06);
  border: 1px solid rgba(245,239,224,0.1);
  border-radius: var(--radius-md);
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  transition: all .3s;
  overflow: hidden;
  position: relative;
}
.f-tile:hover{
  background: rgba(245,239,224,0.1);
  border-color: rgba(184,209,90,0.4);
  transform: translateY(-4px);
}
.f-tile .num{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: var(--lime);
  font-weight: 600;
}
.f-tile h5{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.15;
  margin: 0;
  color: var(--cream);
  letter-spacing: -0.01em;
}
.f-tile p{
  margin: 0;
  font-size: 13px;
  color: rgba(245,239,224,0.65);
  line-height: 1.5;
}
.f-tile .icon-lg{
  width: 48px; height: 48px;
  border-radius: 50%;
  background: rgba(184,209,90,0.15);
  color: var(--lime);
  display: grid; place-items: center;
}
.f-tile .icon-lg svg{ width: 24px; height: 24px; stroke-width: 1.4; }

.f-tile.hero-tile{
  grid-column: span 6;
  grid-row: span 2;
  background: var(--lime);
  color: var(--forest);
  padding: 40px;
}
.f-tile.hero-tile:hover{ background: var(--lime-bright); }
.f-tile.hero-tile h5{ color: var(--forest); font-size: 32px; }
.f-tile.hero-tile .num{ color: var(--forest-2); }
.f-tile.hero-tile p{ color: rgba(30,42,36,0.75); font-size: 15px; }
.f-tile.hero-tile .icon-lg{ background: var(--forest); color: var(--lime); width: 64px; height: 64px; }
.f-tile.hero-tile .big{
  font-family: var(--serif);
  font-size: 140px;
  line-height: 0.85;
  font-weight: 400;
  letter-spacing: -0.03em;
  color: var(--forest);
}
.f-tile.hero-tile .big em{
  font-style: italic;
}

.f-tile.med{ grid-column: span 3; }
.f-tile.sm{ grid-column: span 3; }
.f-tile.wide{ grid-column: span 6; }
.f-tile.ochre-tile{
  grid-column: span 6;
  background: var(--ochre);
  color: var(--paper);
  border-color: var(--ochre);
}
.f-tile.ochre-tile:hover{ background: var(--ochre-deep); }
.f-tile.ochre-tile h5{ color: var(--paper); font-size: 24px; }
.f-tile.ochre-tile .num{ color: rgba(255,255,255,0.7); }
.f-tile.ochre-tile p{ color: rgba(255,255,255,0.8); }
.f-tile.ochre-tile .icon-lg{ background: rgba(255,255,255,0.2); color: var(--paper); }

@media (max-width: 900px){
  .features-grid{ grid-template-columns: repeat(6, 1fr); }
  .f-tile.hero-tile, .f-tile.wide, .f-tile.ochre-tile{ grid-column: span 6; }
  .f-tile.med, .f-tile.sm{ grid-column: span 3; }
}
@media (max-width: 520px){
  .features-grid{ grid-template-columns: 1fr; }
  .f-tile.hero-tile, .f-tile.wide, .f-tile.ochre-tile,
  .f-tile.med, .f-tile.sm{ grid-column: span 1; }
}

/* ═══════════════════════════════════════════════════════════════
   MINI-COURSE CTA — image bg
═══════════════════════════════════════════════════════════════ */
.mini-cta{
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.mini-cta::before{
  content: "";
  position: absolute;
  inset: 0;
  background: url('../images/hero-forest.jpg') center/cover;
  filter: brightness(0.5) saturate(1.1);
}
.mini-cta-inner{
  position: relative;
  z-index: 2;
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
  color: var(--cream);
}
.mini-cta .section-tag{ background: rgba(245,239,224,0.1); border-color: rgba(245,239,224,0.2); color: var(--sage-light); }
.mini-cta h2{
  color: var(--cream);
  margin-top: 24px;
}
.mini-cta h2 em{ color: var(--lime); }
.mini-cta p{
  color: rgba(245,239,224,0.85);
  font-size: 18px;
  line-height: 1.55;
  margin: 24px auto 32px;
  max-width: 56ch;
}

/* ═══════════════════════════════════════════════════════════════
   OUTCOMES — big numbered list
═══════════════════════════════════════════════════════════════ */
.outcomes-list{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (max-width: 720px){ .outcomes-list{ grid-template-columns: 1fr; } }

.outcome{
  padding: 32px;
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-md);
  display: flex;
  gap: 24px;
  align-items: center;
  transition: all .3s;
  cursor: pointer;
}
.outcome:hover{
  background: var(--cream-2);
  transform: translateX(4px);
  border-color: var(--forest);
}
.outcome:hover .outcome-num{ background: var(--forest); color: var(--lime); }
.outcome-num{
  width: 56px; height: 56px;
  border-radius: 50%;
  background: var(--cream-2);
  border: 1px solid var(--line);
  color: var(--forest);
  display: grid; place-items: center;
  font-family: var(--serif);
  font-style: italic;
  font-size: 22px;
  font-weight: 400;
  flex-shrink: 0;
  transition: all .3s;
}
.outcome h4{
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.15;
  margin: 0;
  letter-spacing: -0.01em;
  color: var(--ink);
}

/* ═══════════════════════════════════════════════════════════════
   CERTIFICATE
═══════════════════════════════════════════════════════════════ */
.cert{
  background: var(--cream-2);
}
.cert-inner{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
@media (max-width: 900px){ .cert-inner{ grid-template-columns: 1fr; gap: 50px; } }

.cert-visual{
  position: relative;
}
.cert-doc-wrap{
  position: relative;
  transform: rotate(-2deg);
  transition: transform .4s cubic-bezier(.2,.7,.3,1);
  box-shadow: 0 24px 60px rgba(30,42,36,0.2);
  border-radius: 8px;
  overflow: hidden;
  background: var(--paper);
}
.cert-doc-wrap:hover{ transform: rotate(-0.5deg) scale(1.02); }
.cert-doc-img{
  width: 100%;
  height: auto;
  display: block;
}
.cert-notice{
  margin-top: 32px;
  padding: 20px 24px;
  background: var(--paper);
  border: 1px solid var(--ochre);
  border-left: 4px solid var(--ochre);
  border-radius: 12px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
}
.cert-notice-icon{
  width: 32px; height: 32px;
  min-width: 32px;
  border-radius: 50%;
  background: var(--ochre);
  color: var(--paper);
  display: grid; place-items: center;
}
.cert-notice-icon svg{ width: 18px; height: 18px; }
.cert-notice-txt{
  font-family: var(--mono);
  font-size: 11px;
  line-height: 1.6;
  color: var(--ink);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 500;
}

/* ═══════════════════════════════════════════════════════════════
   REVIEWS — real screenshot slider
═══════════════════════════════════════════════════════════════ */
.reviews-slider{
  position: relative;
  max-width: 640px;
  margin: 0 auto;
}
.reviews-track-wrap{
  overflow: hidden;
  border-radius: 18px;
}
.reviews-track{
  display: flex;
  transition: transform .45s cubic-bezier(.5,.05,.2,1);
  will-change: transform;
}
.review-slide{
  flex: 0 0 100%;
  min-width: 0;
  padding: 18px 18px 14px;
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: 18px;
  box-shadow: 0 4px 20px rgba(30,42,36,.06);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.review-slide-image{
  height: 480px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--cream);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  cursor: zoom-in;
}
.review-slide-image img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center top;
  display: block;
}
.review-slide-meta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 6px 4px;
}
.review-slide-meta .who{
  font-family: var(--sans);
  font-weight: 500;
  font-size: 13px;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.review-slide-meta .src{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.review-slide-meta .src::before{
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: currentColor;
  opacity: .5;
}
.review-slide-meta .src[data-src="tg"]::before{ background: #229ED9; opacity: 1; }
.review-slide-meta .src[data-src="platform"]::before{ background: var(--lime); opacity: 1; }

/* Slider arrows */
.reviews-nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--forest);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: all .2s;
  z-index: 3;
  box-shadow: 0 4px 16px rgba(30,42,36,.08);
}
.reviews-nav:hover{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
  transform: translateY(-50%) scale(1.05);
}
.reviews-nav.prev{ left: -70px; }
.reviews-nav.next{ right: -70px; }
.reviews-nav:disabled{ opacity: .3; cursor: default; transform: translateY(-50%); }
.reviews-nav:disabled:hover{ background: var(--paper); color: var(--forest); border-color: var(--line); }
.reviews-nav svg{ width: 22px; height: 22px; }

/* Slider controls */
.reviews-controls{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 28px;
}
.reviews-dots{
  display: flex;
  gap: 8px;
}
.reviews-dot{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 0;
  background: var(--line);
  cursor: pointer;
  padding: 0;
  transition: all .2s;
}
.reviews-dot:hover{ background: var(--sage); }
.reviews-dot.is-active{
  background: var(--forest);
  width: 24px;
  border-radius: 4px;
}
.reviews-counter{
  font-family: var(--mono);
  font-size: 12px;
  color: var(--muted);
  letter-spacing: 0.1em;
  min-width: 50px;
}

@media (max-width: 900px){
  .reviews-nav.prev{ left: 8px; }
  .reviews-nav.next{ right: 8px; }
  .reviews-nav{ width: 44px; height: 44px; background: rgba(251,247,236,.92); backdrop-filter: blur(8px); }
  .review-slide-image{ height: 420px; }
}
@media (max-width: 520px){
  .review-slide-image{ height: 360px; }
  .reviews-nav{ width: 40px; height: 40px; }
  .review-slide-meta .who{ font-size: 12px; }
  .review-slide-meta .src{ font-size: 9px; }
}

.reviews-note{
  margin: 32px auto 0;
  padding: 16px 22px;
  background: var(--cream);
  border-left: 3px solid var(--ochre);
  border-radius: 4px;
  font-size: 13px;
  color: var(--ink-2);
  line-height: 1.5;
  max-width: 640px;
}
.reviews-note strong{ color: var(--forest); font-weight: 600; }

/* Lightbox */
.rv-lightbox{
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(23,32,26,.88);
  backdrop-filter: blur(8px);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
  opacity: 0;
  transition: opacity .25s;
}
.rv-lightbox.is-open{ display: flex; opacity: 1; }
.rv-lightbox img{
  max-width: min(720px, 100%);
  max-height: 100%;
  border-radius: 12px;
  box-shadow: 0 40px 100px rgba(0,0,0,.5);
  cursor: zoom-out;
}
.rv-lightbox-close{
  position: absolute;
  top: 20px; right: 24px;
  width: 44px; height: 44px;
  background: rgba(255,255,255,.1);
  border: 0;
  border-radius: 50%;
  color: white;
  cursor: pointer;
  display: grid; place-items: center;
  transition: background .15s;
}
.rv-lightbox-close:hover{ background: rgba(255,255,255,.2); }
.rv-lightbox-close svg{ width: 20px; height: 20px; }

/* ═══════════════════════════════════════════════════════════════
   FAQ
═══════════════════════════════════════════════════════════════ */
.faq-wrap{
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  max-width: 900px;
  margin: 0 auto;
}
.faq-item{
  border: 1px solid var(--line-soft);
  border-radius: 14px;
  background: var(--paper);
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
}
.faq-item[open]{
  border-color: var(--forest);
  box-shadow: 0 4px 16px rgba(30,42,36,.05);
}
.faq-item summary{
  list-style: none;
  cursor: pointer;
  padding: 24px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.25;
  color: var(--forest);
  letter-spacing: -0.01em;
  transition: color .15s;
}
.faq-item summary::-webkit-details-marker{ display: none; }
.faq-item summary:hover{ color: var(--ochre); }
.faq-icon{
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--cream);
  color: var(--forest);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: transform .3s, background .2s;
  font-size: 18px;
  line-height: 1;
  font-weight: 300;
}
.faq-item[open] .faq-icon{
  transform: rotate(45deg);
  background: var(--forest);
  color: var(--cream);
}
.faq-answer{
  padding: 0 28px 26px;
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.65;
  color: var(--ink-2);
  max-width: 720px;
}
.faq-answer p{ margin: 0 0 12px; }
.faq-answer p:last-child{ margin-bottom: 0; }
.faq-answer a{
  color: var(--forest);
  text-decoration: underline;
  text-decoration-color: rgba(30,42,36,.3);
  text-underline-offset: 3px;
  font-weight: 500;
  transition: text-decoration-color .15s;
}
.faq-answer a:hover{ text-decoration-color: var(--ochre); }
.faq-cta{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  margin-top: 4px;
  background: var(--cream);
  border-radius: 999px;
  color: var(--forest) !important;
  font-size: 13px;
  text-decoration: none !important;
  font-weight: 500;
  transition: background .15s;
}
.faq-cta:hover{ background: var(--lime); }
.faq-cta::after{ content: '→'; opacity: .6; }
@media (max-width: 640px){
  .faq-item summary{ padding: 20px 22px; font-size: 17px; }
  .faq-answer{ padding: 0 22px 22px; font-size: 14px; }
}

/* ═══════════════════════════════════════════════════════════════
   FINAL CTA
═══════════════════════════════════════════════════════════════ */
.final{
  background: var(--forest);
  color: var(--cream);
  padding: 140px 0;
  position: relative;
  overflow: hidden;
}
.final-decor{
  position: absolute;
  color: var(--lime);
  opacity: 0.1;
  pointer-events: none;
  z-index: 0;
}
.final-decor-star{
  top: 10%; left: 5%;
  width: 300px;
}
.final-decor-leaf{
  bottom: 5%; right: 5%;
  width: 280px;
  transform: rotate(30deg);
}
.final-inner{
  max-width: 920px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 2;
}
.final .section-tag{ background: transparent; border-color: rgba(245,239,224,0.2); color: var(--sage-light); }
.final h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(48px, 7vw, 104px);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--cream);
  margin: 24px 0 0;
}
.final h2 em{
  font-style: italic;
  color: var(--lime);
}
.final p{
  color: rgba(245,239,224,0.8);
  font-size: 18px;
  line-height: 1.6;
  max-width: 56ch;
  margin: 32px auto 40px;
}
.final-actions{
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}
.final .btn-ghost{ border-color: var(--cream); color: var(--cream); }
.final .btn-ghost:hover{ background: var(--cream); color: var(--forest); }
.final .btn-ghost .arr::before{ color: var(--cream); }
.final .btn-ghost:hover .arr::before{ color: var(--forest); }

/* ═══════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════ */
footer{
  background: var(--ink);
  color: var(--cream);
  padding: 80px 0 40px;
}
.foot-top{
  display: grid;
  grid-template-columns: 1fr 1fr 1.15fr 1fr 1.9fr;
  gap: 48px;
  padding-bottom: 60px;
  border-bottom: 1px solid rgba(245,239,224,0.12);
}
.foot-brand{ order: 5; }
@media (max-width: 1200px){ .foot-top{ grid-template-columns: 1fr 1fr 1fr 1fr; gap: 40px; } .foot-brand{ grid-column: 1 / -1; order: -1; margin-bottom: 12px; } }
@media (max-width: 700px){ .foot-top{ grid-template-columns: 1fr 1fr; gap: 36px; } }
@media (max-width: 480px){ .foot-top{ grid-template-columns: 1fr; } }
.foot-brand h3{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 32px;
  line-height: 1;
  margin: 0 0 16px;
  letter-spacing: -0.01em;
  color: var(--cream);
}
.foot-brand h3 em{
  font-style: italic;
  color: var(--sage);
}
.foot-brand p{
  color: rgba(245,239,224,0.6);
  font-size: 14px;
  line-height: 1.6;
  max-width: 420px;
  margin: 0 0 24px;
}
@media (max-width: 1200px){ .foot-brand p{ max-width: 640px; } }
.foot-socials{
  display: flex;
  gap: 10px;
}
.foot-social{
  width: 42px; height: 42px;
  border: 1px solid rgba(245,239,224,0.2);
  border-radius: 50%;
  display: grid; place-items: center;
  color: var(--cream);
  transition: all .2s;
}
.foot-social:hover{ background: var(--lime); color: var(--forest); border-color: var(--lime); }
.foot-social svg{ width: 18px; height: 18px; }
.foot-col h5{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--sage);
  margin: 0 0 20px;
  font-weight: 600;
}
.foot-col ul{
  margin: 0; padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.foot-col a{
  color: rgba(245,239,224,0.75);
  font-size: 14px;
  transition: color .2s;
}
.foot-col a:hover{ color: var(--lime); }
.foot-bottom{
  padding-top: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  font-family: var(--mono);
  font-size: 11px;
  color: rgba(245,239,224,0.4);
  letter-spacing: 0.06em;
}

/* ─── SUB-NAV (page anchors) ─── */
.subnav{
  position: sticky;
  top: var(--nav-h, 76px);
  z-index: 90;
  background: rgba(251, 247, 236, 0.92);
  backdrop-filter: blur(12px) saturate(140%);
  border-bottom: 1px solid var(--line-soft);
}
.subnav-inner{
  display: flex;
  align-items: center;
  gap: 28px;
  height: 44px;
  overflow-x: auto;
  scrollbar-width: none;
}
.subnav-inner::-webkit-scrollbar{ display: none; }
.subnav-label{
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-2);
  opacity: .55;
  white-space: nowrap;
  padding-right: 4px;
  border-right: 1px solid var(--line-soft);
  margin-right: 4px;
}
.subnav a{
  font-size: 13px;
  color: var(--ink-2);
  white-space: nowrap;
  padding: 4px 0;
  border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
  text-decoration: none;
}
.subnav a:hover{
  color: var(--forest);
  border-bottom-color: var(--ochre);
}
@media (max-width: 720px){
  .subnav-label{ display: none; }
  .subnav-inner{ gap: 20px; height: 40px; }
}

/* ─── OPEN-LESSON MODAL ─── */
.ol-modal{ position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(23,32,26,.6); backdrop-filter: blur(6px); opacity: 0; transition: opacity .25s ease; }
.ol-modal.is-open{ display: flex; opacity: 1; }
.ol-modal-card{ background: var(--paper); border-radius: 20px; max-width: 520px; width: 100%; max-height: calc(100vh - 40px); overflow-y: auto; padding: 44px 44px 36px; position: relative; box-shadow: 0 40px 100px rgba(23,32,26,.35); transform: translateY(20px); transition: transform .3s ease; }
.ol-modal.is-open .ol-modal-card{ transform: translateY(0); }
.ol-modal-close{ position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: transparent; cursor: pointer; display: grid; place-items: center; color: var(--ink-2); transition: background .15s; }
.ol-modal-close:hover{ background: var(--cream); color: var(--forest); }
.ol-modal-close svg{ width: 20px; height: 20px; }
.ol-modal-tag{ display: inline-block; padding: 6px 14px; background: var(--lime); color: var(--forest); font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; border-radius: 999px; margin-bottom: 20px; }
.ol-modal h3{ font-family: var(--serif); font-weight: 500; font-size: 32px; line-height: 1.1; letter-spacing: -0.01em; color: var(--forest); margin: 0 0 12px; }
.ol-modal h3 em{ font-style: italic; color: var(--ochre); font-weight: 400; }
.ol-modal-lead{ font-size: 15px; line-height: 1.55; color: var(--ink-2); margin: 0 0 24px; }
.ol-modal form{ display: flex; flex-direction: column; gap: 12px; }
.ol-modal input[type="text"], .ol-modal input[type="tel"], .ol-modal input[type="email"]{ width: 100%; padding: 14px 18px; border: 1px solid var(--line); border-radius: 10px; font-size: 15px; font-family: inherit; color: var(--ink); background: white; transition: border-color .15s, box-shadow .15s; }
.ol-modal input:focus{ outline: none; border-color: var(--forest); box-shadow: 0 0 0 3px rgba(30,42,36,.08); }
.ol-modal .form-check{ display: flex; gap: 10px; align-items: flex-start; font-size: 12px; line-height: 1.45; color: var(--ink-2); margin-top: 6px; cursor: pointer; }
.ol-modal .form-check input{ appearance: none; -webkit-appearance: none; width: 18px; height: 18px; border: 1.5px solid var(--line); border-radius: 4px; flex-shrink: 0; margin-top: 1px; cursor: pointer; position: relative; background: white; transition: all .15s; }
.ol-modal .form-check input:checked{ background: var(--forest); border-color: var(--forest); }
.ol-modal .form-check input:checked::after{ content: ''; position: absolute; left: 4px; top: 1px; width: 6px; height: 10px; border: solid var(--cream); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.ol-modal .form-check a{ color: var(--forest); text-decoration: underline; text-decoration-color: rgba(30,42,36,.3); text-underline-offset: 2px; }
.ol-modal button[type="submit"]{ margin-top: 8px; padding: 15px 24px; border-radius: 10px; border: 0; background: var(--ochre); color: var(--paper); font-size: 15px; font-weight: 500; font-family: inherit; cursor: pointer; transition: background .15s, transform .1s; }
.ol-modal button[type="submit"]:hover{ background: #b8571f; }
.ol-modal button[type="submit"]:active{ transform: scale(0.98); }
.ol-modal-success{ text-align: center; padding: 20px 0; }
.ol-modal-success svg{ width: 56px; height: 56px; color: var(--forest); margin-bottom: 16px; }
.ol-modal-success h4{ font-family: var(--serif); font-size: 24px; color: var(--forest); margin: 0 0 8px; }
.ol-modal-success p{ color: var(--ink-2); font-size: 14px; margin: 0; }
@media (max-width: 520px){ .ol-modal-card{ padding: 36px 24px 28px; } .ol-modal h3{ font-size: 26px; } }
/* Nav button (make button look like link CTA) */
button.nav-cta{ border: 0; cursor: pointer; font-family: inherit; }

/* ═══════════════════════════════════════════════════════════════
   MOBILE — smartphones (320-720px)
═══════════════════════════════════════════════════════════════ */
.nav-burger{ display: none; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; padding: 0; position: relative; z-index: 1002; }
.nav-burger span{ position: absolute; left: 12px; right: 12px; height: 2px; background: var(--forest); border-radius: 2px; transition: transform .3s, opacity .2s, top .3s; }
.nav-burger span:nth-child(1){ top: 15px; }
.nav-burger span:nth-child(2){ top: 21px; }
.nav-burger span:nth-child(3){ top: 27px; }
.nav-burger.is-open span:nth-child(1){ top: 21px; transform: rotate(45deg); }
.nav-burger.is-open span:nth-child(2){ opacity: 0; }
.nav-burger.is-open span:nth-child(3){ top: 21px; transform: rotate(-45deg); }

.mobile-drawer{ position: fixed; inset: 0; z-index: 1001; background: var(--cream); display: none; flex-direction: column; padding: 90px 24px 32px; overflow-y: auto; transform: translateY(-100%); transition: transform .35s cubic-bezier(.5,.05,.2,1); }
.mobile-drawer.is-open{ display: flex; transform: translateY(0); }
.mobile-drawer-close{ position: absolute; top: 16px; right: 20px; width: 44px !important; height: 44px !important; min-width: 44px; max-width: 44px !important; border: 0; background: rgba(30,42,36,0.06); border-radius: 50%; cursor: pointer; display: grid; place-items: center; color: var(--forest); transition: background .15s, transform .1s; z-index: 10; padding: 0; flex-shrink: 0; }
.mobile-drawer-close:hover{ background: rgba(30,42,36,0.12); }
.mobile-drawer-close:active{ transform: scale(0.94); }
.mobile-drawer-close svg{ width: 22px !important; height: 22px !important; max-width: 22px !important; display: block; flex-shrink: 0; }
.mobile-drawer nav{ display: flex; flex-direction: column; gap: 4px; margin-bottom: 32px; }
.mobile-drawer nav a{ padding: 18px 4px; font-family: var(--serif); font-weight: 500; font-size: 28px; line-height: 1.1; color: var(--forest); text-decoration: none; border-bottom: 1px solid rgba(30,42,36,.08); transition: color .15s, padding-left .2s; }
.mobile-drawer nav a:active, .mobile-drawer nav a:hover{ color: var(--ochre); padding-left: 12px; }
.mobile-drawer nav a small{ display: block; font-family: var(--sans); font-size: 12px; font-weight: 500; color: var(--muted); text-transform: uppercase; letter-spacing: 0.14em; margin-top: 4px; }
.mobile-drawer-cta{ display: block; text-align: center; padding: 18px 24px; background: var(--ochre); color: var(--paper); border-radius: 999px; font-family: var(--sans); font-weight: 500; font-size: 16px; text-decoration: none; border: 0; cursor: pointer; width: 100%; margin-bottom: 24px; }
.mobile-drawer-cta:active{ background: #b8571f; }
.mobile-drawer-footer{ margin-top: auto; padding-top: 32px; font-family: var(--sans); font-size: 13px; color: var(--muted); }
.mobile-drawer-footer > a{ color: var(--ink-2); text-decoration: none; margin-right: 16px; }
.mobile-drawer-socials{ display: flex; gap: 12px; margin-top: 16px; }
.mobile-drawer-socials a{ width: 40px; height: 40px; border-radius: 50%; background: var(--paper); border: 1px solid rgba(30,42,36,.1); display: grid; place-items: center; color: var(--forest); }
.mobile-drawer-socials svg{ width: 18px; height: 18px; }

@media (max-width: 720px){
  html{ font-size: 16px; overflow-x: hidden; }
  body{ font-size: 16px; line-height: 1.55; overflow-x: hidden; max-width: 100vw; }
  img, svg, video{ max-width: 100%; height: auto; }
  * { max-width: 100vw; }
  section, header, footer, .wrap { max-width: 100%; }

  /* NAV — only logo icon, no text on mobile */
  .nav{ height: 64px; }
  .nav-inner{ gap: 12px; }
  .nav-links{ display: none !important; }
  .nav-programs-btn{ display: none !important; }
  .nav-burger{ display: block; }
  .nav-cta{ padding: 10px 18px; font-size: 12px; }
  button.nav-cta{ white-space: nowrap; }
  .logo-mark{ width: 42px; height: 42px; }
  .logo-mark svg{ width: 22px; height: 22px; }
  .logo-txt{ display: none !important; }

  /* Sub-nav hidden */
  .subnav{ display: none; }

  /* Wrap */
  .wrap{ padding-left: 20px; padding-right: 20px; }

  /* Section headers */
  .sec-head{ grid-template-columns: 1fr !important; gap: 20px !important; margin-bottom: 40px !important; }
  .h-section, .h-hero, .h-block{ font-size: clamp(32px, 8vw, 44px) !important; line-height: 1.05 !important; }
  .sec-head-lead{ font-size: 16px !important; max-width: none !important; }
  .section-tag{ font-size: 10px !important; letter-spacing: 0.16em !important; }

  /* Hero */
  .hero{ padding: 40px 0 !important; }
  .hero-inner{ display: block !important; padding: 0 !important; }
  .hero-title{ font-size: clamp(36px, 10vw, 56px) !important; line-height: 1.02 !important; margin-bottom: 24px !important; }
  .hero-lead{ font-size: 17px !important; max-width: none !important; margin-bottom: 32px !important; }
  .hero-cta{ flex-direction: column; align-items: stretch; gap: 12px; }
  .hero-cta .btn{ width: 100%; justify-content: center; text-align: center; }
  .hero-media, .hero-decor{ display: none !important; }
  .hero-bento{ grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; margin-top: 32px !important; }
  .hero-bento .bento{ padding: 20px 16px !important; }
  .hero-bento .bento .num{ font-size: 28px !important; }
  .hero-bento .bento .label{ font-size: 11px !important; }

  /* Common grids */
  .cards-grid, .grid-2, .grid-3, .grid-4, .what-medallions{ grid-template-columns: 1fr !important; gap: 16px !important; }
  .what-medallions{ grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .medallion{ padding: 20px 12px !important; }
  .medallion-circle{ width: 60px !important; height: 60px !important; }

  /* Outcomes grid — force 1 column, kill inline span */
  .outcomes-list{ grid-template-columns: 1fr !important; gap: 12px !important; }
  .outcome{ grid-column: span 1 !important; padding: 20px !important; gap: 16px !important; }
  .outcome h4{ font-size: 17px !important; line-height: 1.25 !important; }
  .outcome-num{ width: 44px !important; height: 44px !important; font-size: 18px !important; }

  /* Decorative SVGs that overflow — hide */
  .hero-decor, .final-decor, .about-decor, .course-hero-decor,
  svg.decor, svg.big-decor, .section-decor{
    display: none !important;
  }

  /* Bento layouts general */
  .bento-grid, .about-cards{ grid-template-columns: 1fr !important; gap: 16px !important; }

  /* Buttons */
  .btn{ padding: 12px 22px; font-size: 14px; }
  .btn-xl{ padding: 16px 28px !important; font-size: 15px !important; }
  .final-actions{ flex-direction: column !important; gap: 12px !important; }
  .final-actions .btn{ width: 100%; text-align: center; justify-content: center; }

  /* FOOTER accordion */
  footer{ padding: 60px 0 32px !important; }
  .foot-top{ display: block !important; padding-bottom: 32px !important; }
  .foot-brand{ margin-bottom: 32px !important; order: initial !important; grid-column: initial !important; }
  .foot-brand h3{ font-size: 26px !important; }
  .foot-brand p{ font-size: 14px !important; max-width: none !important; margin-bottom: 20px !important; }
  .foot-col{ border-bottom: 1px solid rgba(245,239,224,0.12); padding: 0; }
  .foot-col h5{ padding: 20px 0 !important; margin: 0 !important; cursor: pointer; display: flex; align-items: center; justify-content: space-between; font-size: 15px !important; position: relative; }
  .foot-col h5::after{ content: '+'; font-family: var(--sans); font-weight: 300; font-size: 22px; line-height: 1; color: var(--cream); opacity: .6; transition: transform .3s; }
  .foot-col.is-open h5::after{ transform: rotate(45deg); }
  .foot-col ul{ max-height: 0; overflow: hidden; padding: 0; margin: 0; transition: max-height .35s cubic-bezier(.5,.05,.2,1), padding .3s; }
  .foot-col.is-open ul{ max-height: 400px; padding: 0 0 20px; }
  .foot-col li{ padding: 8px 0; }
  .foot-bottom{ flex-direction: column !important; gap: 8px !important; text-align: center; padding-top: 24px !important; font-size: 12px !important; }

  /* Modal */
  .ol-modal-card{ max-width: 100% !important; padding: 32px 22px 24px !important; border-radius: 16px !important; }
  .ol-modal h3{ font-size: 24px !important; }
  .ol-modal-lead{ font-size: 14px !important; }
  .ol-modal input[type="text"], .ol-modal input[type="tel"], .ol-modal input[type="email"]{ padding: 13px 15px !important; font-size: 16px !important; }

  /* Reviews slider */
  .reviews-nav{ display: none !important; }
  .reviews-slider{ max-width: 100% !important; }
  .review-slide{ padding: 12px 12px 8px !important; border-radius: 14px !important; }
  .review-slide-image{ height: 380px !important; border-radius: 8px !important; }
  .reviews-controls{ margin-top: 20px !important; gap: 16px !important; }
  .reviews-counter{ font-size: 11px !important; }

  /* FAQ */
  .faq-item summary{ padding: 18px 20px !important; font-size: 16px !important; line-height: 1.3 !important; }
  .faq-answer{ padding: 0 20px 20px !important; font-size: 14px !important; }
  .faq-icon{ width: 28px !important; height: 28px !important; font-size: 16px !important; }
  .faq-cta{ font-size: 12px !important; padding: 5px 10px !important; }

  /* Forms */
  .form-inline{ display: flex !important; flex-direction: column !important; gap: 12px !important; }
  .form-inline input{ font-size: 16px !important; padding: 14px 16px !important; }
  .form-inline button{ font-size: 16px !important; padding: 14px 24px !important; }

  /* Final section */
  .final{ padding: 60px 0 !important; }
  .final h2{ font-size: clamp(32px, 9vw, 48px) !important; }
  .final-decor{ display: none !important; }
}

@media (max-width: 380px){
  .wrap{ padding-left: 16px; padding-right: 16px; }
  .nav-cta{ padding: 8px 14px; font-size: 11px; }
  .review-slide-image{ height: 340px !important; }
  .h-section, .h-hero{ font-size: clamp(28px, 8vw, 36px) !important; }
}


/* WordPress integration and accessibility */
.skip-link{position:fixed;left:20px;top:-100px;z-index:2000;background:var(--paper);padding:12px 18px;border-radius:8px}.skip-link:focus{top:20px}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav-links .menu{display:flex;align-items:center;gap:34px;list-style:none;margin:0;padding:0}.nav-links .current-menu-item>a{border-bottom-color:var(--ochre)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--ochre);outline-offset:4px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.ol-modal form label:not(.form-check){display:block;font-size:12px;font-weight:600;margin-bottom:10px}.ol-form-status{padding:12px 16px;border-radius:12px;background:var(--cream-2);font-size:13px}.foot-social{font-family:var(--mono);font-size:10px}.nav-burger{display:none}@media(max-width:720px){.nav-burger{display:flex}}


/* Desktop-only proportional viewport scaling.
   Approved visual baseline: keep the handoff's internal proportions intact
   and render desktop at 85%. Mobile/tablet stay 100%. */
@media (min-width: 1100px){
  html{
    zoom: .85;
  }

  /* Keep the profession lead aligned with the visual column after viewport zoom. */
  .who .sec-head{
    grid-template-columns: 1fr 1.1fr;
    gap: 80px;
  }

  /* Footer was already well-sized before the desktop zoom; compensate only its contents. */
  footer > .wrap{
    zoom: 1.1764705882;
  }
}


/* ===== Wellness course page (ported from approved handoff) ===== */
/* ═══════════════════════════════════════════════════════════════
   COURSE PAGE — additions
═══════════════════════════════════════════════════════════════ */

/* Hero specific to course page */
.course-hero{
  padding: 50px 0 90px;
  position: relative;
  overflow: hidden;
}
.course-hero-decor{
  position: absolute;
  top: 40px;
  right: -80px;
  width: 360px;
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
.course-hero-inner{
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 48px;
  align-items: end;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .course-hero-inner{ grid-template-columns: 1fr; gap: 32px; } }
.course-hero-meta{
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.course-hero-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(42px, 5.5vw, 88px);
  line-height: 0.98;
  letter-spacing: -0.02em;
  margin: 0 0 32px;
  max-width: 15ch;
  color: var(--ink);
}
.course-hero-title em{
  font-style: italic;
  font-weight: 400;
  color: var(--forest-2);
}

/* Hero photo — horizontal, sitting above the sidebar */
.course-hero-photo{
  position: relative;
  aspect-ratio: 16/9;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--forest);
  margin-bottom: 12px;
}
.course-hero-photo img{
  width: 100%; height: 100%;
  object-fit: cover;
  filter: saturate(0.95);
}
.course-hero-photo-tag{
  position: absolute;
  bottom: 18px;
  left: 18px;
  padding: 10px 16px;
  background: rgba(30,42,36,0.85);
  backdrop-filter: blur(10px);
  color: var(--cream);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.course-hero-photo-tag-dot{
  width: 7px; height: 7px;
  background: var(--lime);
  border-radius: 50%;
  flex-shrink: 0;
}
.course-hero-leads{
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 58ch;
  margin-bottom: 40px;
}
.course-hero-leads p{
  margin: 0;
  font-size: 19px;
  line-height: 1.55;
  color: var(--ink-2);
}
.course-hero-cta{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.course-hero-side-wrap{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.course-hero-side{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.course-hero-side-card{
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-md);
  padding: 20px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.course-hero-side-num{
  font-family: var(--serif);
  font-size: 52px;
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--ink);
  flex-shrink: 0;
}
.course-hero-side-num em{
  font-style: italic;
  color: var(--forest-2);
}
.course-hero-side-label{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.4;
  font-weight: 500;
}
.course-hero-side-cert{
  background: var(--forest);
  color: var(--cream);
  padding: 28px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  gap: 22px;
}
.course-hero-side-cert-icon{
  width: 60px;
  height: 60px;
  background: var(--lime);
  color: var(--forest);
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.course-hero-side-cert-icon svg{ width: 30px; height: 30px; }
.course-hero-side-cert h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.1;
  margin: 0 0 4px;
  color: var(--cream);
}
.course-hero-side-cert h4 em{ font-style: italic; color: var(--lime); }
.course-hero-side-cert p{
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(245,239,224,0.75);
}

/* Intersection — profession at the crossroads */
.crossroads{
  background: var(--paper);
}
.crossroads-inner{
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 60px;
  align-items: center;
}
@media (max-width: 900px){ .crossroads-inner{ grid-template-columns: 1fr; gap: 40px; } }
.crossroads-copy p{
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 0 0 20px;
}
.crossroads-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.crossroads-tag{
  padding: 12px 22px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.crossroads-tag.accent{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}
.crossroads-tag.lime{
  background: var(--lime);
  color: var(--forest);
  border-color: var(--lime);
}
.crossroads-tag.ochre{
  background: var(--ochre);
  color: var(--paper);
  border-color: var(--ochre);
}
.crossroads-diagram{
  position: relative;
  aspect-ratio: 1;
  max-width: 640px;
  margin: 0 auto;
  width: 100%;
}
.crossroads-diagram svg{ width: 100%; height: 100%; display: block; }

/* Context section — dark, structured, bold stats */
.context{
  background: var(--forest);
  color: var(--cream);
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.context-decor{
  position: absolute;
  bottom: -80px; left: -80px;
  width: 380px;
  opacity: 0.08;
  color: var(--lime);
  pointer-events: none;
}
.context-decor-2{
  position: absolute;
  top: -60px; right: -60px;
  width: 300px;
  opacity: 0.06;
  color: var(--sage);
  pointer-events: none;
}
.context .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
}
.context .section-tag .dot{ background: var(--lime); }
.context-header{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: end;
  margin-bottom: 80px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(245,239,224,0.14);
}
@media (max-width: 720px){ .context-header{ grid-template-columns: 1fr; } }
.context-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -0.015em;
  color: var(--cream);
  margin: 24px 0 0;
  max-width: 20ch;
}
.context-title em{ font-style: italic; color: var(--lime); }
.context-meta{
  font-family: var(--mono);
  font-size: 11px;
  color: rgba(245,239,224,0.55);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: right;
}
@media (max-width: 720px){ .context-meta{ text-align: left; } }

.context-body{
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 80px;
  align-items: start;
}
@media (max-width: 900px){ .context-body{ grid-template-columns: 1fr; gap: 60px; } }

.context-quote{
  font-family: var(--serif);
  font-weight: 300;
  font-style: italic;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  color: var(--cream);
  letter-spacing: -0.005em;
  margin: 0 0 40px;
  position: relative;
  padding-left: 40px;
}
.context-quote::before{
  content: "";
  position: absolute;
  left: 0; top: 12px;
  width: 24px;
  height: 3px;
  background: var(--lime);
}
.context-quote em{ font-style: italic; color: var(--lime); }
.context-quote-attr{
  font-family: var(--mono);
  font-size: 11px;
  color: rgba(245,239,224,0.55);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-top: 24px;
  padding-left: 40px;
}

.context-copy p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 18px;
  line-height: 1.65;
  color: rgba(245,239,224,0.85);
  margin: 0 0 20px;
}
/* no dropcap on context copy */
.context-copy strong{
  color: var(--cream);
  font-weight: 600;
}
.context-copy em.hl-ochre{
  font-style: italic;
  color: var(--lime);
  opacity: 0.95;
}

/* Stats row — big numbers below quote/text */
.context-stats{
  margin-top: 80px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(245,239,224,0.14);
  border-bottom: 1px solid rgba(245,239,224,0.14);
}
@media (max-width: 900px){ .context-stats{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px){ .context-stats{ grid-template-columns: 1fr; } }
.context-stat{
  padding: 40px 24px 36px;
  border-right: 1px solid rgba(245,239,224,0.14);
  transition: background .3s;
}
.context-stat:last-child{ border-right: none; }
@media (max-width: 900px){
  .context-stat:nth-child(2){ border-right: none; }
  .context-stat:nth-child(1), .context-stat:nth-child(2){ border-bottom: 1px solid rgba(245,239,224,0.14); }
}
.context-stat:hover{ background: rgba(245,239,224,0.04); }
.context-stat-num{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(48px, 5vw, 72px);
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--cream);
  margin-bottom: 16px;
}
.context-stat-num em{ font-style: italic; color: var(--lime); }
.context-stat-num small{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--lime);
  margin-left: 6px;
  vertical-align: baseline;
}
.context-stat-label{
  font-size: 14px;
  line-height: 1.4;
  color: rgba(245,239,224,0.7);
  font-weight: 300;
}
.context-stat-tag{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lime);
  font-weight: 600;
  margin-bottom: 20px;
  opacity: 0.65;
}

/* For whom — 4-column grid with varied palette */
.for-whom{
  padding: 120px 0;
  background: var(--paper);
}
.for-whom-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 60px;
}
@media (max-width: 900px){ .for-whom-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px){ .for-whom-grid{ grid-template-columns: 1fr; } }
.fw-card{
  border-radius: var(--radius-md);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-height: 280px;
  transition: transform .3s;
}
.fw-card:hover{ transform: translateY(-4px); }
.fw-card-num{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
  opacity: 0.65;
}
.fw-card-icon{
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.fw-card-icon svg{ width: 26px; height: 26px; }
.fw-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.15;
  margin: auto 0 0;
  letter-spacing: -0.005em;
}
.fw-card h4 em{ font-style: italic; }

/* Varied color palette per card */
.fw-card:nth-child(1){ background: var(--cream); color: var(--ink); }
.fw-card:nth-child(1) .fw-card-icon{ background: var(--sage); color: var(--forest); }
.fw-card:nth-child(1) h4 em{ color: var(--forest-2); }

.fw-card:nth-child(2){ background: var(--forest); color: var(--cream); }
.fw-card:nth-child(2) .fw-card-icon{ background: var(--lime); color: var(--forest); }
.fw-card:nth-child(2) .fw-card-num{ color: rgba(245,239,224,0.6); }
.fw-card:nth-child(2) h4{ color: var(--cream); }
.fw-card:nth-child(2) h4 em{ color: var(--lime); }

.fw-card:nth-child(3){ background: var(--ochre); color: var(--paper); }
.fw-card:nth-child(3) .fw-card-icon{ background: rgba(251,247,236,0.2); color: var(--paper); }
.fw-card:nth-child(3) .fw-card-num{ color: rgba(251,247,236,0.7); }
.fw-card:nth-child(3) h4{ color: var(--paper); }
.fw-card:nth-child(3) h4 em{ color: var(--cream); font-style: italic; opacity: 0.9; }

.fw-card:nth-child(4){ background: var(--lime); color: var(--forest); }
.fw-card:nth-child(4) .fw-card-icon{ background: var(--forest); color: var(--lime); }
.fw-card:nth-child(4) .fw-card-num{ color: rgba(30,42,36,0.5); }
.fw-card:nth-child(4) h4 em{ color: var(--forest-2); }

/* Teacher — feature block after audience */
.teacher{
  padding: 120px 0;
  background: var(--paper);
  position: relative;
  overflow: hidden;
}
.teacher-decor{
  position: absolute;
  top: -80px; right: -100px;
  width: 380px;
  opacity: 0.08;
  color: var(--forest);
  pointer-events: none;
}
.teacher-inner{
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 60px;
  align-items: stretch;
  margin-top: 60px;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .teacher-inner{ grid-template-columns: 1fr; gap: 40px; } }

.teacher-photo{
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--forest);
  aspect-ratio: 4/5;
  min-height: 520px;
}
.teacher-photo img{
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
}
.teacher-photo-badge{
  position: absolute;
  top: 20px; left: 20px;
  padding: 10px 18px;
  background: var(--lime);
  color: var(--forest);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  z-index: 2;
}
.teacher-photo-caption{
  position: absolute;
  bottom: 20px; left: 20px; right: 20px;
  padding: 18px 22px;
  background: rgba(30,42,36,0.85);
  backdrop-filter: blur(10px);
  color: var(--cream);
  border-radius: 18px;
  z-index: 2;
}
.teacher-photo-caption-name{
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.05;
  letter-spacing: -0.005em;
  margin: 0 0 6px;
  color: var(--cream);
}
.teacher-photo-caption-name em{ font-style: italic; color: var(--lime); }
.teacher-photo-caption-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(245,239,224,0.7);
  font-weight: 500;
}

.teacher-copy{
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-top: 8px;
}
.teacher-role-label{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ochre);
  font-weight: 600;
}
.teacher-quote{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
  max-width: 32ch;
}
.teacher-quote em{ font-style: italic; color: var(--forest-2); }

.teacher-name{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(30px, 3.4vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
}
.teacher-name em{ font-style: italic; color: var(--forest-2); }

.teacher-credentials{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
.teacher-cred{
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 18px;
  align-items: start;
  padding: 10px 0;
}
.teacher-cred-icon{
  width: 44px; height: 44px;
  border-radius: 50%;
  display: grid; place-items: center;
  flex-shrink: 0;
}
.teacher-cred-icon svg{ width: 22px; height: 22px; }
.teacher-cred:nth-child(1) .teacher-cred-icon{ background: var(--forest); color: var(--lime); }
.teacher-cred:nth-child(2) .teacher-cred-icon{ background: var(--ochre); color: var(--paper); }
.teacher-cred:nth-child(3) .teacher-cred-icon{ background: var(--sage); color: var(--forest); }
.teacher-cred-body h5{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.2;
  margin: 0 0 4px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.teacher-cred-body p{
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted);
}

/* Skills — 6 cards + big image feature */
.skills{
  background: var(--cream);
  padding: 120px 0;
}
.skills-layout{
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 24px;
  margin-top: 60px;
  align-items: start;
}
@media (max-width: 900px){ .skills-layout{ grid-template-columns: 1fr; } }
.skills-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (max-width: 520px){ .skills-grid{ grid-template-columns: 1fr; } }
.skill-row{
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 18px;
  padding: 24px 26px;
  background: var(--paper);
  border-radius: var(--radius-md);
  align-items: start;
  transition: transform .3s;
}
.skill-row:hover{ transform: translateY(-3px); }
.skill-n{
  font-family: var(--serif);
  font-style: italic;
  font-size: 34px;
  line-height: 1;
  color: var(--ochre);
  font-weight: 400;
}
.skill-row h5{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  margin: 0 0 6px;
  color: var(--ink);
}
.skill-row p{
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink-2);
}

/* Feature photo card in skills */
.skills-feature{
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 4/5;
  background: var(--forest);
  min-height: 500px;
}
.skills-feature img{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: saturate(0.9);
}
.skills-feature::after{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(30,42,36,0.75) 100%);
}
.skills-feature-tag{
  position: absolute;
  top: 24px; left: 24px;
  padding: 8px 16px;
  background: rgba(251,247,236,0.9);
  color: var(--forest);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  z-index: 2;
}
.skills-feature-quote{
  position: absolute;
  bottom: 32px; left: 28px; right: 28px;
  color: var(--cream);
  z-index: 2;
}
.skills-feature-quote h3{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 30px;
  line-height: 1.15;
  margin: 0 0 12px;
  letter-spacing: -0.005em;
}
.skills-feature-quote h3 em{ font-style: italic; color: var(--lime); }
.skills-feature-quote p{
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(245,239,224,0.85);
  max-width: 30ch;
}

/* Journey — dark section with photo + timeline */
.journey{
  padding: 120px 0;
  background: var(--forest);
  color: var(--cream);
  position: relative;
  overflow: hidden;
}
.journey-decor{
  position: absolute;
  top: -50px; right: -120px;
  width: 480px;
  opacity: 0.08;
  color: var(--lime);
  pointer-events: none;
}
.journey .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
}
.journey .section-tag .dot{ background: var(--lime); }
.journey h2{ color: var(--cream); }
.journey h2 em{ color: var(--lime); }
.journey .sec-head-lead{ color: rgba(245,239,224,0.75); }
.journey-timeline{
  margin-top: 60px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.journey-step{
  display: grid;
  grid-template-columns: 160px 1fr auto;
  gap: 40px;
  padding: 32px 0;
  border-top: 1px solid rgba(245,239,224,0.14);
  position: relative;
  align-items: center;
  transition: padding .3s;
}
.journey-step:last-child{ border-bottom: 1px solid rgba(245,239,224,0.14); }
@media (max-width: 720px){
  .journey-step{ grid-template-columns: 80px 1fr; gap: 20px; }
  .journey-step-dot{ display: none; }
}
.journey-step:hover{ padding-left: 12px; }
.journey-step:hover .journey-num{ color: var(--lime); }
.journey-num{
  font-family: var(--serif);
  font-size: clamp(48px, 5.5vw, 82px);
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--cream);
  transition: color .3s;
}
.journey-num em{ font-style: italic; color: var(--lime); opacity: 0.85; }
.journey-body h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 10px;
  color: var(--cream);
}
.journey-body h4 em{ font-style: italic; color: var(--lime); }
.journey-body p{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(245,239,224,0.72);
  max-width: 60ch;
}
.journey-step-dot{
  width: 10px; height: 10px;
  background: var(--lime);
  border-radius: 50%;
  justify-self: end;
  opacity: 0.35;
  transition: opacity .3s, transform .3s;
}
.journey-step:hover .journey-step-dot{ opacity: 1; transform: scale(1.4); }
.journey-cta{
  margin-top: 60px;
  display: flex;
  justify-content: center;
}
.journey-cta .btn-primary{
  background: var(--lime);
  color: var(--forest);
}
.journey-cta .btn-primary:hover{ background: var(--lime-bright); }
.journey-cta .btn-primary .arr::before{ color: var(--forest); }
.journey-cta .btn-primary .arr{ background: rgba(30,42,36,0.15); }

/* What you get */
.you-get{
  background: var(--forest);
  color: var(--cream);
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.you-get .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
}
.you-get .section-tag .dot{ background: var(--lime); }
.you-get h2{ color: var(--cream); }
.you-get h2 em{ color: var(--lime); }
.you-get-lead{
  font-size: 20px;
  line-height: 1.55;
  color: rgba(245,239,224,0.85);
  max-width: 60ch;
  margin: 40px 0 0;
}
.you-get-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 60px;
}
@media (max-width: 900px){ .you-get-grid{ grid-template-columns: 1fr; } }
.you-get-card{
  background: rgba(245,239,224,0.06);
  border: 1px solid rgba(245,239,224,0.14);
  border-radius: var(--radius-md);
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-height: 240px;
}
.you-get-card-icon{
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--lime);
  color: var(--forest);
  display: grid;
  place-items: center;
}
.you-get-card-icon svg{ width: 26px; height: 26px; }
.you-get-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.15;
  margin: auto 0 0;
  color: var(--cream);
}
.you-get-card h4 em{ font-style: italic; color: var(--lime); }

/* Approach on this page — reuse existing */
.course-approach{
  padding: 120px 0;
}
.course-approach-inner{
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  gap: 40px;
  margin-top: 60px;
  align-items: start;
}
@media (max-width: 900px){ .course-approach-inner{ grid-template-columns: 1fr; } }
.course-approach-visual{
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.course-approach-photo{
  position: relative;
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--forest);
}
.course-approach-photo img{
  width: 100%; height: 100%;
  object-fit: cover;
}
.course-approach-badge{
  position: absolute;
  top: 20px; left: 20px;
  z-index: 2;
  padding: 10px 18px;
  background: var(--lime);
  color: var(--forest);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
}
.course-approach-copy p{
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 0 0 20px;
}
.course-approach-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 24px;
}
.course-approach-list-item{
  padding: 20px 24px;
  background: var(--paper);
  border-radius: var(--radius-md);
  border-left: 3px solid var(--ochre);
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-2);
  font-weight: 500;
}
.course-approach-list-item:nth-child(1){ border-left-color: var(--forest); }
.course-approach-list-item:nth-child(2){ border-left-color: var(--ochre); }
.course-approach-list-item:nth-child(3){ border-left-color: var(--sage); }
.course-approach-list-item:nth-child(4){ border-left-color: var(--terracotta); }
.course-approach-list-item:nth-child(5){ border-left-color: var(--lime); background: var(--forest); color: rgba(245,239,224,0.85); }
.course-approach-list-item:nth-child(5) strong{ color: var(--lime); }
.course-approach-list-item strong{
  display: block;
  font-family: var(--serif);
  font-weight: 500;
  font-size: 20px;
  color: var(--ink);
  margin-bottom: 6px;
  letter-spacing: -0.005em;
}

/* Format — bento grid like on the home page */
.format{
  background: var(--paper);
  padding: 120px 0;
}
.format-bento{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 170px;
  gap: 12px;
  margin-top: 60px;
}
@media (max-width: 900px){
  .format-bento{ grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; }
  .fmt-a, .fmt-b, .fmt-c, .fmt-d, .fmt-e, .fmt-f, .fmt-g, .fmt-h{
    grid-column: span 1 !important;
    grid-row: span 1 !important;
  }
}
@media (max-width: 720px){
  /* Course hero — fit into 375px */
  .course-hero{ padding: 40px 0 !important; }
  .course-hero-title{ font-size: clamp(30px, 8vw, 40px) !important; line-height: 1.05 !important; }
  .course-hero-photo{ margin-top: 24px !important; }
  .course-hero-photo img{ width: 100% !important; height: auto !important; }
  .course-hero-side-wrap{ margin-top: 24px !important; }
  .course-hero-side-cert{ padding: 18px !important; gap: 14px !important; }
  .course-hero-side-cert-icon{ width: 44px !important; height: 44px !important; }
  .course-hero-side-cert-icon svg{ width: 22px !important; height: 22px !important; }
  .course-hero-side-cert h4{ font-size: 16px !important; }
  .course-hero-side-cert p{ font-size: 12px !important; }
  .course-hero-side-card{ padding: 16px 18px !important; gap: 14px !important; }
  .course-hero-side-num{ font-size: 40px !important; }
  .course-hero-side-label{ font-size: 10px !important; letter-spacing: 0.1em !important; }
  .course-hero-leads p{ font-size: 15px !important; }

  /* Format bento */
  .format-bento{ grid-template-columns: repeat(2, 1fr) !important; grid-auto-rows: auto !important; gap: 10px !important; margin-top: 32px !important; }
  .fmt-tile{ padding: 16px 14px !important; min-height: 150px !important; }
  .fmt-tile h5{ font-size: 15px !important; line-height: 1.2 !important; text-wrap: pretty; }
  .fmt-tile.stat h5{ font-size: 30px !important; }
  .fmt-tile.stat .fmt-sublabel{ font-size: 9px !important; letter-spacing: 0.1em !important; }
  .fmt-tile .fmt-num{ font-size: 10px !important; letter-spacing: 0.12em !important; }
  .fmt-tile.photo{ grid-column: span 2 !important; min-height: 220px !important; }
  .fmt-icon{ width: 32px !important; height: 32px !important; margin-bottom: 8px !important; }
  .fmt-icon svg{ width: 16px !important; height: 16px !important; }
}
.fmt-tile{
  border-radius: var(--radius-md);
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  overflow: hidden;
  background: var(--cream);
  color: var(--ink);
}
.fmt-tile .fmt-num{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.fmt-tile h5{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.15;
  margin: auto 0 0;
  color: inherit;
  letter-spacing: -0.005em;
}
.fmt-tile h5 em{ font-style: italic; }

/* Bento cell sizing */
.fmt-a{ grid-column: span 4; grid-row: span 2; }   /* photo — coach */
.fmt-b{ grid-column: span 4; grid-row: span 1; }   /* big lime */
.fmt-c{ grid-column: span 4; grid-row: span 1; }   /* stat forest */
.fmt-d{ grid-column: span 3; grid-row: span 1; }
.fmt-e{ grid-column: span 3; grid-row: span 1; }
.fmt-f{ grid-column: span 2; grid-row: span 1; }   /* ochre small */
.fmt-g{ grid-column: span 5; grid-row: span 1; }   /* long dark */
.fmt-h{ grid-column: span 3; grid-row: span 1; }   /* sage */

/* Variants */
.fmt-tile.forest{ background: var(--forest); color: var(--cream); }
.fmt-tile.forest .fmt-num{ color: var(--lime); opacity: 0.85; }
.fmt-tile.ochre{ background: var(--ochre); color: var(--paper); }
.fmt-tile.ochre .fmt-num{ color: rgba(251,247,236,0.7); }
.fmt-tile.lime{ background: var(--lime); color: var(--forest); }
.fmt-tile.lime .fmt-num{ color: var(--forest); opacity: 0.55; }
.fmt-tile.sage{ background: var(--sage); color: var(--forest); }
.fmt-tile.sage .fmt-num{ color: var(--forest); opacity: 0.55; }

/* Photo tile */
.fmt-tile.photo{
  padding: 0;
  color: var(--cream);
}
.fmt-tile.photo img{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.fmt-tile.photo::after{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(23,32,26,0.88) 100%);
}
.fmt-tile.photo .fmt-content{
  position: absolute;
  bottom: 22px; left: 22px; right: 22px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fmt-tile.photo .fmt-num{ color: rgba(245,239,224,0.75); }
.fmt-tile.photo h5{ color: var(--cream); }
.fmt-tile.photo h5 em{ color: var(--lime); }

/* Icon-illustrated tiles */
.fmt-icon{
  width: 40px; height: 40px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(30,42,36,0.08);
  color: var(--forest);
  flex-shrink: 0;
}
.fmt-tile.forest .fmt-icon{ background: rgba(245,239,224,0.12); color: var(--lime); }
.fmt-tile.ochre .fmt-icon{ background: rgba(251,247,236,0.2); color: var(--paper); }
.fmt-tile.lime .fmt-icon{ background: rgba(30,42,36,0.12); color: var(--forest); }
.fmt-tile.sage .fmt-icon{ background: rgba(30,42,36,0.15); color: var(--forest); }
.fmt-icon svg{ width: 20px; height: 20px; }

/* Stat-style tile */
.fmt-tile.stat h5{
  font-size: 44px;
  line-height: 0.9;
  letter-spacing: -0.02em;
}
.fmt-tile.stat h5 em{ font-style: italic; }
.fmt-tile.stat .fmt-sublabel{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: inherit;
  opacity: 0.65;
  margin-top: 6px;
  font-weight: 500;
}

/* Pricing / tariffs */
.pricing{
  padding: 120px 0;
}
.pricing-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 60px;
}
@media (max-width: 1100px){ .pricing-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px){ .pricing-grid{ grid-template-columns: 1fr; } }
.tariff{
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: 28px;
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
}
.tariff.featured{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
  transform: scale(1.02);
  z-index: 2;
}
.tariff.premium{
  background: var(--ochre);
  color: var(--paper);
  border-color: var(--ochre);
}
.tariff-badge{
  position: absolute;
  top: -12px;
  left: 30px;
  background: var(--lime);
  color: var(--forest);
  padding: 6px 14px;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
}
.tariff-head h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 30px;
  line-height: 1.05;
  margin: 0;
  letter-spacing: -0.01em;
  color: inherit;
}
.tariff-head h4 em{
  font-style: italic;
  color: var(--forest-2);
}
.tariff.featured .tariff-head h4 em{ color: var(--lime); }
.tariff.premium .tariff-head h4 em{ color: var(--cream); }
.tariff-price{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 38px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: inherit;
}
.tariff-price small{
  display: block;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: 6px;
  font-weight: 500;
}
.tariff.featured .tariff-price small{ color: rgba(245,239,224,0.6); }
.tariff.premium .tariff-price small{ color: rgba(255,255,255,0.7); }
.tariff-features{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.tariff-features li{
  font-size: 14px;
  line-height: 1.45;
  color: inherit;
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: start;
}
.tariff.featured .tariff-features li{ color: rgba(245,239,224,0.9); }
.tariff.premium .tariff-features li{ color: rgba(255,255,255,0.92); }
.tariff-features li::before{
  content: "✓";
  color: var(--forest);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.4;
}
.tariff.featured .tariff-features li::before{ color: var(--lime); }
.tariff.premium .tariff-features li::before{ color: var(--paper); }
.tariff-features li.crossed{
  color: var(--muted);
  text-decoration: line-through;
  opacity: 0.55;
}
.tariff-features li.crossed::before{ content: "—"; color: var(--muted); text-decoration: none; }
.tariff-features li strong{
  font-weight: 700;
  color: var(--ink);
}
.tariff.featured .tariff-features li strong{ color: var(--cream); }
.tariff.premium .tariff-features li strong{ color: var(--paper); }
.tariff-cta{
  margin-top: auto;
}
.tariff-cta .btn{ width: 100%; justify-content: center; }
.tariff.featured .btn-primary{
  background: var(--lime);
  color: var(--forest);
}
.tariff.featured .btn-primary:hover{ background: var(--lime-bright); }
.tariff.featured .btn-primary .arr::before{ color: var(--forest); }
.tariff.featured .btn-primary .arr{ background: rgba(30,42,36,0.15); }

.pricing-note{
  margin-top: 40px;
  padding: 24px 28px;
  background: var(--paper);
  border-radius: var(--radius-md);
  display: flex;
  gap: 18px;
  align-items: center;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.5;
}
.pricing-note-icon{
  width: 36px;
  height: 36px;
  background: var(--cream-2);
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--forest);
}

/* Final form CTA */
.final-form{
  background: var(--forest);
  color: var(--cream);
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.final-form-decor{
  position: absolute;
  top: -60px;
  right: -80px;
  width: 400px;
  opacity: 0.15;
  color: var(--lime);
  pointer-events: none;
}
.final-form-inner{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .final-form-inner{ grid-template-columns: 1fr; gap: 40px; } }
.final-form-copy .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
  margin-bottom: 32px;
}
.final-form-copy .section-tag .dot{ background: var(--lime); }
.final-form-copy h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -0.015em;
  margin: 0 0 24px;
  color: var(--cream);
}
.final-form-copy h2 em{ font-style: italic; color: var(--lime); }
.final-form-copy p{
  font-size: 18px;
  line-height: 1.55;
  color: rgba(245,239,224,0.8);
  max-width: 44ch;
  margin: 0;
}
.final-form-box{
  background: var(--paper);
  color: var(--ink);
  border-radius: 28px;
  padding: 40px;
}
.final-form-box h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.15;
  margin: 0 0 8px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.final-form-box h4 em{ font-style: italic; color: var(--forest-2); }
.final-form-box .form-lead{
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0 0 28px;
}
.form-row{
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 20px;
}
.form-field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-field label{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.form-field input{
  padding: 16px 20px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 14px;
  font-family: var(--sans);
  font-size: 15px;
  color: var(--ink);
  transition: border-color .2s;
  outline: none;
}
.form-field input:focus{ border-color: var(--forest); }
.form-consent{
  font-size: 12px;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 20px;
}
.form-consent a{ color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.final-form-box .btn{ width: 100%; justify-content: center; }

/* Blog widgets */
section.blog{
  padding: 120px 0;
}
.blog-head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 60px;
}
.blog-head-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink);
}
.blog-head-title em{ font-style: italic; color: var(--forest-2); }
.blog-head-link{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap .3s;
}
.blog-head-link:hover{ gap: 16px; }
.blog-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px){ .blog-grid{ grid-template-columns: 1fr; } }
.blog-card{
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: transform .35s;
}
.blog-card:hover{ transform: translateY(-4px); }
.blog-card-image{
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--cream-2);
  position: relative;
}
.blog-card-image img{ width: 100%; height: 100%; object-fit: cover; }
.blog-card-meta{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  display: flex;
  gap: 14px;
}
.blog-card-meta .dot{
  width: 4px;
  height: 4px;
  background: var(--muted);
  border-radius: 50%;
  align-self: center;
}
.blog-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.15;
  margin: 0;
  letter-spacing: -0.005em;
  color: var(--ink);
}
.blog-card p{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-2);
}



/* ===== Neurocoaching course page (ported from approved handoff) ===== */
/* ═══════════════════════════════════════════════════════════════
   COURSE PAGE — additions
═══════════════════════════════════════════════════════════════ */

/* Hero specific to course page */
.course-hero{
  padding: 50px 0 90px;
  position: relative;
  overflow: hidden;
}
.course-hero-decor{
  position: absolute;
  top: 40px;
  right: -80px;
  width: 360px;
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
.course-hero-inner{
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 48px;
  align-items: end;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .course-hero-inner{ grid-template-columns: 1fr; gap: 32px; } }
.course-hero-meta{
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.course-hero-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(42px, 5.5vw, 88px);
  line-height: 0.98;
  letter-spacing: -0.02em;
  margin: 0 0 32px;
  max-width: 15ch;
  color: var(--ink);
}
.course-hero-title em{
  font-style: italic;
  font-weight: 400;
  color: var(--forest-2);
}

/* Hero photo — horizontal, sitting above the sidebar */
.course-hero-photo{
  position: relative;
  aspect-ratio: 16/9;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--forest);
  margin-bottom: 12px;
}
.course-hero-photo img{
  width: 100%; height: 100%;
  object-fit: cover;
  filter: saturate(0.95);
}
.course-hero-photo-tag{
  position: absolute;
  bottom: 18px;
  left: 18px;
  padding: 10px 16px;
  background: rgba(30,42,36,0.85);
  backdrop-filter: blur(10px);
  color: var(--cream);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.course-hero-photo-tag-dot{
  width: 7px; height: 7px;
  background: var(--lime);
  border-radius: 50%;
  flex-shrink: 0;
}
.course-hero-leads{
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 58ch;
  margin-bottom: 40px;
}
.course-hero-leads p{
  margin: 0;
  font-size: 19px;
  line-height: 1.55;
  color: var(--ink-2);
}
.course-hero-cta{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.course-hero-side-wrap{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.course-hero-side{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.course-hero-side-card{
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-md);
  padding: 20px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.course-hero-side-num{
  font-family: var(--serif);
  font-size: 52px;
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--ink);
  flex-shrink: 0;
}
.course-hero-side-num em{
  font-style: italic;
  color: var(--forest-2);
}
.course-hero-side-label{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.4;
  font-weight: 500;
}
.course-hero-side-cert{
  background: var(--forest);
  color: var(--cream);
  padding: 28px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  gap: 22px;
}
.course-hero-side-cert-icon{
  width: 60px;
  height: 60px;
  background: var(--lime);
  color: var(--forest);
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.course-hero-side-cert-icon svg{ width: 30px; height: 30px; }
.course-hero-side-cert h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.1;
  margin: 0 0 4px;
  color: var(--cream);
}
.course-hero-side-cert h4 em{ font-style: italic; color: var(--lime); }
.course-hero-side-cert p{
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(245,239,224,0.75);
}

/* Intersection — profession at the crossroads */
.crossroads{
  background: var(--paper);
}
.crossroads-inner{
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 60px;
  align-items: center;
}
@media (max-width: 900px){ .crossroads-inner{ grid-template-columns: 1fr; gap: 40px; } }
.crossroads-copy p{
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 0 0 20px;
}
.crossroads-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.crossroads-tag{
  padding: 12px 22px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.crossroads-tag.accent{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}
.crossroads-tag.lime{
  background: var(--lime);
  color: var(--forest);
  border-color: var(--lime);
}
.crossroads-tag.ochre{
  background: var(--ochre);
  color: var(--paper);
  border-color: var(--ochre);
}
.crossroads-diagram{
  position: relative;
  aspect-ratio: 1;
  max-width: 640px;
  margin: 0 auto;
  width: 100%;
}
.crossroads-diagram svg{ width: 100%; height: 100%; display: block; }

/* Context section — dark, structured, bold stats */
.context{
  background: var(--forest);
  color: var(--cream);
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.context-decor{
  position: absolute;
  bottom: -80px; left: -80px;
  width: 380px;
  opacity: 0.08;
  color: var(--lime);
  pointer-events: none;
}
.context-decor-2{
  position: absolute;
  top: -60px; right: -60px;
  width: 300px;
  opacity: 0.06;
  color: var(--sage);
  pointer-events: none;
}
.context .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
}
.context .section-tag .dot{ background: var(--lime); }
.context-header{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: end;
  margin-bottom: 80px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(245,239,224,0.14);
}
@media (max-width: 720px){ .context-header{ grid-template-columns: 1fr; } }
.context-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -0.015em;
  color: var(--cream);
  margin: 24px 0 0;
  max-width: 20ch;
}
.context-title em{ font-style: italic; color: var(--lime); }
.context-meta{
  font-family: var(--mono);
  font-size: 11px;
  color: rgba(245,239,224,0.55);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: right;
}
@media (max-width: 720px){ .context-meta{ text-align: left; } }

.context-body{
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 80px;
  align-items: start;
}
@media (max-width: 900px){ .context-body{ grid-template-columns: 1fr; gap: 60px; } }

.context-quote{
  font-family: var(--serif);
  font-weight: 300;
  font-style: italic;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  color: var(--cream);
  letter-spacing: -0.005em;
  margin: 0 0 40px;
  position: relative;
  padding-left: 40px;
}
.context-quote::before{
  content: "";
  position: absolute;
  left: 0; top: 12px;
  width: 24px;
  height: 3px;
  background: var(--lime);
}
.context-quote em{ font-style: italic; color: var(--lime); }
.context-quote-attr{
  font-family: var(--mono);
  font-size: 11px;
  color: rgba(245,239,224,0.55);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-top: 24px;
  padding-left: 40px;
}

.context-copy p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 18px;
  line-height: 1.65;
  color: rgba(245,239,224,0.85);
  margin: 0 0 20px;
}
/* no dropcap on context copy */
.context-copy strong{
  color: var(--cream);
  font-weight: 600;
}
.context-copy em.hl-ochre{
  font-style: italic;
  color: var(--lime);
  opacity: 0.95;
}

/* Stats row — big numbers below quote/text */
.context-stats{
  margin-top: 80px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(245,239,224,0.14);
  border-bottom: 1px solid rgba(245,239,224,0.14);
}
@media (max-width: 900px){ .context-stats{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px){ .context-stats{ grid-template-columns: 1fr; } }
.context-stat{
  padding: 40px 24px 36px;
  border-right: 1px solid rgba(245,239,224,0.14);
  transition: background .3s;
}
.context-stat:last-child{ border-right: none; }
@media (max-width: 900px){
  .context-stat:nth-child(2){ border-right: none; }
  .context-stat:nth-child(1), .context-stat:nth-child(2){ border-bottom: 1px solid rgba(245,239,224,0.14); }
}
.context-stat:hover{ background: rgba(245,239,224,0.04); }
.context-stat-num{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(48px, 5vw, 72px);
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--cream);
  margin-bottom: 16px;
}
.context-stat-num em{ font-style: italic; color: var(--lime); }
.context-stat-num small{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--lime);
  margin-left: 6px;
  vertical-align: baseline;
}
.context-stat-label{
  font-size: 14px;
  line-height: 1.4;
  color: rgba(245,239,224,0.7);
  font-weight: 300;
}
.context-stat-tag{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lime);
  font-weight: 600;
  margin-bottom: 20px;
  opacity: 0.65;
}

/* For whom — 4-column grid with varied palette */
.for-whom{
  padding: 120px 0;
  background: var(--paper);
}
.for-whom-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 60px;
}
@media (max-width: 900px){ .for-whom-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px){ .for-whom-grid{ grid-template-columns: 1fr; } }
.fw-card{
  border-radius: var(--radius-md);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-height: 280px;
  transition: transform .3s;
}
.fw-card:hover{ transform: translateY(-4px); }
.fw-card-num{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
  opacity: 0.65;
}
.fw-card-icon{
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.fw-card-icon svg{ width: 26px; height: 26px; }
.fw-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.15;
  margin: auto 0 0;
  letter-spacing: -0.005em;
}
.fw-card h4 em{ font-style: italic; }

/* Varied color palette per card */
.fw-card:nth-child(1){ background: var(--cream); color: var(--ink); }
.fw-card:nth-child(1) .fw-card-icon{ background: var(--sage); color: var(--forest); }
.fw-card:nth-child(1) h4 em{ color: var(--forest-2); }

.fw-card:nth-child(2){ background: var(--forest); color: var(--cream); }
.fw-card:nth-child(2) .fw-card-icon{ background: var(--lime); color: var(--forest); }
.fw-card:nth-child(2) .fw-card-num{ color: rgba(245,239,224,0.6); }
.fw-card:nth-child(2) h4{ color: var(--cream); }
.fw-card:nth-child(2) h4 em{ color: var(--lime); }

.fw-card:nth-child(3){ background: var(--ochre); color: var(--paper); }
.fw-card:nth-child(3) .fw-card-icon{ background: rgba(251,247,236,0.2); color: var(--paper); }
.fw-card:nth-child(3) .fw-card-num{ color: rgba(251,247,236,0.7); }
.fw-card:nth-child(3) h4{ color: var(--paper); }
.fw-card:nth-child(3) h4 em{ color: var(--cream); font-style: italic; opacity: 0.9; }

.fw-card:nth-child(4){ background: var(--lime); color: var(--forest); }
.fw-card:nth-child(4) .fw-card-icon{ background: var(--forest); color: var(--lime); }
.fw-card:nth-child(4) .fw-card-num{ color: rgba(30,42,36,0.5); }
.fw-card:nth-child(4) h4 em{ color: var(--forest-2); }

/* Teacher — feature block after audience */
.teacher{
  padding: 120px 0;
  background: var(--paper);
  position: relative;
  overflow: hidden;
}
.teacher-decor{
  position: absolute;
  top: -80px; right: -100px;
  width: 380px;
  opacity: 0.08;
  color: var(--forest);
  pointer-events: none;
}
.teacher-inner{
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 60px;
  align-items: stretch;
  margin-top: 60px;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .teacher-inner{ grid-template-columns: 1fr; gap: 40px; } }

.teacher-photo{
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--forest);
  aspect-ratio: 4/5;
  min-height: 520px;
}
.teacher-photo img{
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
}
.teacher-photo-badge{
  position: absolute;
  top: 20px; left: 20px;
  padding: 10px 18px;
  background: var(--lime);
  color: var(--forest);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  z-index: 2;
}
.teacher-photo-caption{
  position: absolute;
  bottom: 20px; left: 20px; right: 20px;
  padding: 18px 22px;
  background: rgba(30,42,36,0.85);
  backdrop-filter: blur(10px);
  color: var(--cream);
  border-radius: 18px;
  z-index: 2;
}
.teacher-photo-caption-name{
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.05;
  letter-spacing: -0.005em;
  margin: 0 0 6px;
  color: var(--cream);
}
.teacher-photo-caption-name em{ font-style: italic; color: var(--lime); }
.teacher-photo-caption-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(245,239,224,0.7);
  font-weight: 500;
}

.teacher-copy{
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-top: 8px;
}
.teacher-role-label{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ochre);
  font-weight: 600;
}
.teacher-quote{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
  max-width: 32ch;
}
.teacher-quote em{ font-style: italic; color: var(--forest-2); }

.teacher-name{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(30px, 3.4vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
}
.teacher-name em{ font-style: italic; color: var(--forest-2); }

.teacher-credentials{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
.teacher-cred{
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 18px;
  align-items: start;
  padding: 10px 0;
}
.teacher-cred-icon{
  width: 44px; height: 44px;
  border-radius: 50%;
  display: grid; place-items: center;
  flex-shrink: 0;
}
.teacher-cred-icon svg{ width: 22px; height: 22px; }
.teacher-cred:nth-child(1) .teacher-cred-icon{ background: var(--forest); color: var(--lime); }
.teacher-cred:nth-child(2) .teacher-cred-icon{ background: var(--ochre); color: var(--paper); }
.teacher-cred:nth-child(3) .teacher-cred-icon{ background: var(--sage); color: var(--forest); }
.teacher-cred-body h5{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.2;
  margin: 0 0 4px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.teacher-cred-body p{
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted);
}

/* Skills — 6 cards + big image feature */
.skills{
  background: var(--cream);
  padding: 120px 0;
}
.skills-layout{
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 24px;
  margin-top: 60px;
  align-items: start;
}
@media (max-width: 900px){ .skills-layout{ grid-template-columns: 1fr; } }
.skills-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (max-width: 520px){ .skills-grid{ grid-template-columns: 1fr; } }
.skill-row{
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 18px;
  padding: 24px 26px;
  background: var(--paper);
  border-radius: var(--radius-md);
  align-items: start;
  transition: transform .3s;
}
.skill-row:hover{ transform: translateY(-3px); }
.skill-n{
  font-family: var(--serif);
  font-style: italic;
  font-size: 34px;
  line-height: 1;
  color: var(--ochre);
  font-weight: 400;
}
.skill-row h5{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  margin: 0 0 6px;
  color: var(--ink);
}
.skill-row p{
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink-2);
}

/* Feature photo card in skills */
.skills-feature{
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 4/5;
  background: var(--forest);
  min-height: 500px;
}
.skills-feature img{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: saturate(0.9);
}
.skills-feature::after{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(30,42,36,0.75) 100%);
}
.skills-feature-tag{
  position: absolute;
  top: 24px; left: 24px;
  padding: 8px 16px;
  background: rgba(251,247,236,0.9);
  color: var(--forest);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  z-index: 2;
}
.skills-feature-quote{
  position: absolute;
  bottom: 32px; left: 28px; right: 28px;
  color: var(--cream);
  z-index: 2;
}
.skills-feature-quote h3{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 30px;
  line-height: 1.15;
  margin: 0 0 12px;
  letter-spacing: -0.005em;
}
.skills-feature-quote h3 em{ font-style: italic; color: var(--lime); }
.skills-feature-quote p{
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(245,239,224,0.85);
  max-width: 30ch;
}

/* Journey — dark section with photo + timeline */
.journey{
  padding: 120px 0;
  background: var(--forest);
  color: var(--cream);
  position: relative;
  overflow: hidden;
}
.journey-decor{
  position: absolute;
  top: -50px; right: -120px;
  width: 480px;
  opacity: 0.08;
  color: var(--lime);
  pointer-events: none;
}
.journey .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
}
.journey .section-tag .dot{ background: var(--lime); }
.journey h2{ color: var(--cream); }
.journey h2 em{ color: var(--lime); }
.journey .sec-head-lead{ color: rgba(245,239,224,0.75); }
.journey-timeline{
  margin-top: 60px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.journey-step{
  display: grid;
  grid-template-columns: 160px 1fr auto;
  gap: 40px;
  padding: 32px 0;
  border-top: 1px solid rgba(245,239,224,0.14);
  position: relative;
  align-items: center;
  transition: padding .3s;
}
.journey-step:last-child{ border-bottom: 1px solid rgba(245,239,224,0.14); }
@media (max-width: 720px){
  .journey-step{ grid-template-columns: 80px 1fr; gap: 20px; }
  .journey-step-dot{ display: none; }
}
.journey-step:hover{ padding-left: 12px; }
.journey-step:hover .journey-num{ color: var(--lime); }
.journey-num{
  font-family: var(--serif);
  font-size: clamp(48px, 5.5vw, 82px);
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--cream);
  transition: color .3s;
}
.journey-num em{ font-style: italic; color: var(--lime); opacity: 0.85; }
.journey-body h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 10px;
  color: var(--cream);
}
.journey-body h4 em{ font-style: italic; color: var(--lime); }
.journey-body p{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(245,239,224,0.72);
  max-width: 60ch;
}
.journey-step-dot{
  width: 10px; height: 10px;
  background: var(--lime);
  border-radius: 50%;
  justify-self: end;
  opacity: 0.35;
  transition: opacity .3s, transform .3s;
}
.journey-step:hover .journey-step-dot{ opacity: 1; transform: scale(1.4); }
.journey-cta{
  margin-top: 60px;
  display: flex;
  justify-content: center;
}
.journey-cta .btn-primary{
  background: var(--lime);
  color: var(--forest);
}
.journey-cta .btn-primary:hover{ background: var(--lime-bright); }
.journey-cta .btn-primary .arr::before{ color: var(--forest); }
.journey-cta .btn-primary .arr{ background: rgba(30,42,36,0.15); }

/* What you get */
.you-get{
  background: var(--forest);
  color: var(--cream);
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.you-get .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
}
.you-get .section-tag .dot{ background: var(--lime); }
.you-get h2{ color: var(--cream); }
.you-get h2 em{ color: var(--lime); }
.you-get-lead{
  font-size: 20px;
  line-height: 1.55;
  color: rgba(245,239,224,0.85);
  max-width: 60ch;
  margin: 40px 0 0;
}
.you-get-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 60px;
}
@media (max-width: 900px){ .you-get-grid{ grid-template-columns: 1fr; } }
.you-get-card{
  background: rgba(245,239,224,0.06);
  border: 1px solid rgba(245,239,224,0.14);
  border-radius: var(--radius-md);
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-height: 240px;
}
.you-get-card-icon{
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--lime);
  color: var(--forest);
  display: grid;
  place-items: center;
}
.you-get-card-icon svg{ width: 26px; height: 26px; }
.you-get-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.15;
  margin: auto 0 0;
  color: var(--cream);
}
.you-get-card h4 em{ font-style: italic; color: var(--lime); }

/* Approach on this page — reuse existing */
.course-approach{
  padding: 120px 0;
}
.course-approach-inner{
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  gap: 40px;
  margin-top: 60px;
  align-items: start;
}
@media (max-width: 900px){ .course-approach-inner{ grid-template-columns: 1fr; } }
.course-approach-visual{
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.course-approach-photo{
  position: relative;
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--forest);
}
.course-approach-photo img{
  width: 100%; height: 100%;
  object-fit: cover;
}
.course-approach-badge{
  position: absolute;
  top: 20px; left: 20px;
  z-index: 2;
  padding: 10px 18px;
  background: var(--lime);
  color: var(--forest);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
}
.course-approach-copy p{
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 0 0 20px;
}
.course-approach-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 24px;
}
.course-approach-list-item{
  padding: 20px 24px;
  background: var(--paper);
  border-radius: var(--radius-md);
  border-left: 3px solid var(--ochre);
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-2);
  font-weight: 500;
}
.course-approach-list-item:nth-child(1){ border-left-color: var(--forest); }
.course-approach-list-item:nth-child(2){ border-left-color: var(--ochre); }
.course-approach-list-item:nth-child(3){ border-left-color: var(--sage); }
.course-approach-list-item:nth-child(4){ border-left-color: var(--terracotta); }
.course-approach-list-item:nth-child(5){ border-left-color: var(--lime); background: var(--forest); color: rgba(245,239,224,0.85); }
.course-approach-list-item:nth-child(5) strong{ color: var(--lime); }
.course-approach-list-item strong{
  display: block;
  font-family: var(--serif);
  font-weight: 500;
  font-size: 20px;
  color: var(--ink);
  margin-bottom: 6px;
  letter-spacing: -0.005em;
}

/* Format — bento grid like on the home page */
.format{
  background: var(--paper);
  padding: 120px 0;
}
.format-bento{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 170px;
  gap: 12px;
  margin-top: 60px;
}
@media (max-width: 900px){
  .format-bento{ grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; }
  .fmt-a, .fmt-b, .fmt-c, .fmt-d, .fmt-e, .fmt-f, .fmt-g, .fmt-h{
    grid-column: span 1 !important;
    grid-row: span 1 !important;
  }
}
@media (max-width: 720px){
  /* Course hero — fit into 375px */
  .course-hero{ padding: 40px 0 !important; }
  .course-hero-title{ font-size: clamp(30px, 8vw, 40px) !important; line-height: 1.05 !important; }
  .course-hero-photo{ margin-top: 24px !important; }
  .course-hero-photo img{ width: 100% !important; height: auto !important; }
  .course-hero-side-wrap{ margin-top: 24px !important; }
  .course-hero-side-cert{ padding: 18px !important; gap: 14px !important; }
  .course-hero-side-cert-icon{ width: 44px !important; height: 44px !important; }
  .course-hero-side-cert-icon svg{ width: 22px !important; height: 22px !important; }
  .course-hero-side-cert h4{ font-size: 16px !important; }
  .course-hero-side-cert p{ font-size: 12px !important; }
  .course-hero-side-card{ padding: 16px 18px !important; gap: 14px !important; }
  .course-hero-side-num{ font-size: 40px !important; }
  .course-hero-side-label{ font-size: 10px !important; letter-spacing: 0.1em !important; }
  .course-hero-leads p{ font-size: 15px !important; }

  /* Format bento */
  .format-bento{ grid-template-columns: repeat(2, 1fr) !important; grid-auto-rows: auto !important; gap: 10px !important; margin-top: 32px !important; }
  .fmt-tile{ padding: 16px 14px !important; min-height: 150px !important; }
  .fmt-tile h5{ font-size: 15px !important; line-height: 1.2 !important; text-wrap: pretty; }
  .fmt-tile.stat h5{ font-size: 30px !important; }
  .fmt-tile.stat .fmt-sublabel{ font-size: 9px !important; letter-spacing: 0.1em !important; }
  .fmt-tile .fmt-num{ font-size: 10px !important; letter-spacing: 0.12em !important; }
  .fmt-tile.photo{ grid-column: span 2 !important; min-height: 220px !important; }
  .fmt-icon{ width: 32px !important; height: 32px !important; margin-bottom: 8px !important; }
  .fmt-icon svg{ width: 16px !important; height: 16px !important; }
}
.fmt-tile{
  border-radius: var(--radius-md);
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  overflow: hidden;
  background: var(--cream);
  color: var(--ink);
}
.fmt-tile .fmt-num{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.fmt-tile h5{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.15;
  margin: auto 0 0;
  color: inherit;
  letter-spacing: -0.005em;
}
.fmt-tile h5 em{ font-style: italic; }

/* Bento cell sizing */
.fmt-a{ grid-column: span 4; grid-row: span 2; }   /* photo — coach */
.fmt-b{ grid-column: span 4; grid-row: span 1; }   /* big lime */
.fmt-c{ grid-column: span 4; grid-row: span 1; }   /* stat forest */
.fmt-d{ grid-column: span 3; grid-row: span 1; }
.fmt-e{ grid-column: span 3; grid-row: span 1; }
.fmt-f{ grid-column: span 2; grid-row: span 1; }   /* ochre small */
.fmt-g{ grid-column: span 5; grid-row: span 1; }   /* long dark */
.fmt-h{ grid-column: span 3; grid-row: span 1; }   /* sage */

/* Variants */
.fmt-tile.forest{ background: var(--forest); color: var(--cream); }
.fmt-tile.forest .fmt-num{ color: var(--lime); opacity: 0.85; }
.fmt-tile.ochre{ background: var(--ochre); color: var(--paper); }
.fmt-tile.ochre .fmt-num{ color: rgba(251,247,236,0.7); }
.fmt-tile.lime{ background: var(--lime); color: var(--forest); }
.fmt-tile.lime .fmt-num{ color: var(--forest); opacity: 0.55; }
.fmt-tile.sage{ background: var(--sage); color: var(--forest); }
.fmt-tile.sage .fmt-num{ color: var(--forest); opacity: 0.55; }

/* Photo tile */
.fmt-tile.photo{
  padding: 0;
  color: var(--cream);
}
.fmt-tile.photo img{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.fmt-tile.photo::after{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(23,32,26,0.88) 100%);
}
.fmt-tile.photo .fmt-content{
  position: absolute;
  bottom: 22px; left: 22px; right: 22px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fmt-tile.photo .fmt-num{ color: rgba(245,239,224,0.75); }
.fmt-tile.photo h5{ color: var(--cream); }
.fmt-tile.photo h5 em{ color: var(--lime); }

/* Icon-illustrated tiles */
.fmt-icon{
  width: 40px; height: 40px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(30,42,36,0.08);
  color: var(--forest);
  flex-shrink: 0;
}
.fmt-tile.forest .fmt-icon{ background: rgba(245,239,224,0.12); color: var(--lime); }
.fmt-tile.ochre .fmt-icon{ background: rgba(251,247,236,0.2); color: var(--paper); }
.fmt-tile.lime .fmt-icon{ background: rgba(30,42,36,0.12); color: var(--forest); }
.fmt-tile.sage .fmt-icon{ background: rgba(30,42,36,0.15); color: var(--forest); }
.fmt-icon svg{ width: 20px; height: 20px; }

/* Stat-style tile */
.fmt-tile.stat h5{
  font-size: 44px;
  line-height: 0.9;
  letter-spacing: -0.02em;
}
.fmt-tile.stat h5 em{ font-style: italic; }
.fmt-tile.stat .fmt-sublabel{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: inherit;
  opacity: 0.65;
  margin-top: 6px;
  font-weight: 500;
}

/* Pricing / tariffs */
.pricing{
  padding: 120px 0;
}
.pricing-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 60px;
}
@media (max-width: 1100px){ .pricing-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px){ .pricing-grid{ grid-template-columns: 1fr; } }
.tariff{
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: 28px;
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
}
.tariff.featured{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
  transform: scale(1.02);
  z-index: 2;
}
.tariff.premium{
  background: var(--ochre);
  color: var(--paper);
  border-color: var(--ochre);
}
.tariff-badge{
  position: absolute;
  top: -12px;
  left: 30px;
  background: var(--lime);
  color: var(--forest);
  padding: 6px 14px;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
}
.tariff-head h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 30px;
  line-height: 1.05;
  margin: 0;
  letter-spacing: -0.01em;
  color: inherit;
}
.tariff-head h4 em{
  font-style: italic;
  color: var(--forest-2);
}
.tariff.featured .tariff-head h4 em{ color: var(--lime); }
.tariff.premium .tariff-head h4 em{ color: var(--cream); }
.tariff-price{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 38px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: inherit;
}
.tariff-price small{
  display: block;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: 6px;
  font-weight: 500;
}
.tariff.featured .tariff-price small{ color: rgba(245,239,224,0.6); }
.tariff.premium .tariff-price small{ color: rgba(255,255,255,0.7); }
.tariff-features{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.tariff-features li{
  font-size: 14px;
  line-height: 1.45;
  color: inherit;
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: start;
}
.tariff.featured .tariff-features li{ color: rgba(245,239,224,0.9); }
.tariff.premium .tariff-features li{ color: rgba(255,255,255,0.92); }
.tariff-features li::before{
  content: "✓";
  color: var(--forest);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.4;
}
.tariff.featured .tariff-features li::before{ color: var(--lime); }
.tariff.premium .tariff-features li::before{ color: var(--paper); }
.tariff-features li.crossed{
  color: var(--muted);
  text-decoration: line-through;
  opacity: 0.55;
}
.tariff-features li.crossed::before{ content: "—"; color: var(--muted); text-decoration: none; }
.tariff-features li strong{
  font-weight: 700;
  color: var(--ink);
}
.tariff.featured .tariff-features li strong{ color: var(--cream); }
.tariff.premium .tariff-features li strong{ color: var(--paper); }
.tariff-cta{
  margin-top: auto;
}
.tariff-cta .btn{ width: 100%; justify-content: center; }
.tariff.featured .btn-primary{
  background: var(--lime);
  color: var(--forest);
}
.tariff.featured .btn-primary:hover{ background: var(--lime-bright); }
.tariff.featured .btn-primary .arr::before{ color: var(--forest); }
.tariff.featured .btn-primary .arr{ background: rgba(30,42,36,0.15); }

.pricing-note{
  margin-top: 40px;
  padding: 24px 28px;
  background: var(--paper);
  border-radius: var(--radius-md);
  display: flex;
  gap: 18px;
  align-items: center;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.5;
}
.pricing-note-icon{
  width: 36px;
  height: 36px;
  background: var(--cream-2);
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--forest);
}

/* Final form CTA */
.final-form{
  background: var(--forest);
  color: var(--cream);
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.final-form-decor{
  position: absolute;
  top: -60px;
  right: -80px;
  width: 400px;
  opacity: 0.15;
  color: var(--lime);
  pointer-events: none;
}
.final-form-inner{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .final-form-inner{ grid-template-columns: 1fr; gap: 40px; } }
.final-form-copy .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
  margin-bottom: 32px;
}
.final-form-copy .section-tag .dot{ background: var(--lime); }
.final-form-copy h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -0.015em;
  margin: 0 0 24px;
  color: var(--cream);
}
.final-form-copy h2 em{ font-style: italic; color: var(--lime); }
.final-form-copy p{
  font-size: 18px;
  line-height: 1.55;
  color: rgba(245,239,224,0.8);
  max-width: 44ch;
  margin: 0;
}
.final-form-box{
  background: var(--paper);
  color: var(--ink);
  border-radius: 28px;
  padding: 40px;
}
.final-form-box h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.15;
  margin: 0 0 8px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.final-form-box h4 em{ font-style: italic; color: var(--forest-2); }
.final-form-box .form-lead{
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0 0 28px;
}
.form-row{
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 20px;
}
.form-field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-field label{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.form-field input{
  padding: 16px 20px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 14px;
  font-family: var(--sans);
  font-size: 15px;
  color: var(--ink);
  transition: border-color .2s;
  outline: none;
}
.form-field input:focus{ border-color: var(--forest); }
.form-consent{
  font-size: 12px;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 20px;
}
.form-consent a{ color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.final-form-box .btn{ width: 100%; justify-content: center; }

/* Blog widgets */
section.blog{
  padding: 120px 0;
}
.blog-head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 60px;
}
.blog-head-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink);
}
.blog-head-title em{ font-style: italic; color: var(--forest-2); }
.blog-head-link{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap .3s;
}
.blog-head-link:hover{ gap: 16px; }
.blog-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px){ .blog-grid{ grid-template-columns: 1fr; } }
.blog-card{
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: transform .35s;
}
.blog-card:hover{ transform: translateY(-4px); }
.blog-card-image{
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--cream-2);
  position: relative;
}
.blog-card-image img{ width: 100%; height: 100%; object-fit: cover; }
.blog-card-meta{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  display: flex;
  gap: 14px;
}
.blog-card-meta .dot{
  width: 4px;
  height: 4px;
  background: var(--muted);
  border-radius: 50%;
  align-self: center;
}
.blog-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.15;
  margin: 0;
  letter-spacing: -0.005em;
  color: var(--ink);
}
.blog-card p{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-2);
}


/* Course crossroads: tighten the relationship between heading, lead, copy and diagram
   without changing the shared homepage section rhythm. */
@media (min-width: 901px){
  .course-page .crossroads .sec-head{
    margin-bottom: 24px;
    align-items: center;
  }
  .course-page .crossroads .sec-head-lead{
    align-self: center;
  }
  .course-page .crossroads-inner{
    align-items: start;
  }
  .course-page .crossroads-copy{
    padding-top: 24px;
  }
  .course-page .crossroads-diagram{
    transform: translateY(-28px);
  }
}

/* Footer accents: use the same bright lime as the rest of the design system. */
footer .foot-brand h3 em,
footer .foot-col h5{
  color: var(--lime);
}
footer .foot-social{
  color: var(--lime);
  border-color: rgba(201,217,98,.38);
}


/* ===== Wellness program page (ported from approved handoff) ===== */
/* ═══════════════════════════════════════════════════════════════
   PROGRAM PAGE — additions
═══════════════════════════════════════════════════════════════ */

/* Hero */
.program-hero{
  padding: 60px 0 80px;
  position: relative;
}
.program-hero-meta{
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.program-hero-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(48px, 7vw, 108px);
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 40px;
  max-width: 20ch;
}
.program-hero-title em{ font-style: italic; color: var(--forest-2); }
.program-hero-lower{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px;
  align-items: end;
}
@media (max-width: 900px){ .program-hero-lower{ grid-template-columns: 1fr; gap: 32px; } }
.program-hero-lead{
  font-size: 20px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 52ch;
  margin: 0;
}
.program-hero-stats{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.program-hero-stat{
  padding: 18px 20px;
  background: var(--paper);
  border-radius: 20px;
  border: 1px solid var(--line-soft);
}
.program-hero-stat .k{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  margin-bottom: 4px;
}
.program-hero-stat .v{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.program-hero-stat .v em{ font-style: italic; color: var(--forest-2); }

/* Modules overview — index list */
.modules-overview{
  background: var(--paper);
  padding: 80px 0;
}
.modules-overview-head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.modules-overview-head h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--ink);
}
.modules-overview-head h2 em{ font-style: italic; color: var(--forest-2); }
.modules-overview-list{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--line);
}
.mo-row{
  display: grid;
  grid-template-columns: 90px 1fr 200px 40px;
  gap: 24px;
  padding: 24px 4px;
  border-bottom: 1px solid var(--line);
  align-items: center;
  color: var(--ink);
  transition: background .2s;
}
.mo-row:hover{ background: rgba(255,255,255,0.4); }
.mo-row .mo-num{
  font-family: var(--serif);
  font-size: 42px;
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.mo-row .mo-num em{ font-style: italic; color: var(--forest-2); }
.mo-row .mo-name{
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(20px, 2vw, 26px);
  letter-spacing: -0.005em;
  line-height: 1.15;
}
.mo-row .mo-count{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.mo-row .mo-arrow{
  font-family: var(--serif);
  font-size: 24px;
  color: var(--forest);
  text-align: right;
}
@media (max-width: 720px){
  .mo-row{ grid-template-columns: 60px 1fr 30px; }
  .mo-row .mo-count{ display: none; }
  .mo-row .mo-num{ font-size: 30px; }
}

/* Module blocks */
.module{
  padding: 100px 0;
  border-top: 1px solid var(--line-soft);
}
.module:first-of-type{ border-top: none; }
.module-header{
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 40px;
  margin-bottom: 60px;
  align-items: start;
}
@media (max-width: 720px){ .module-header{ grid-template-columns: 1fr; gap: 20px; } }
.module-num-big{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(80px, 10vw, 160px);
  line-height: 0.85;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.module-num-big em{ font-style: italic; color: var(--forest-2); }
.module-header-side{
  padding-top: 8px;
}
.module-header-tag{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  margin-bottom: 14px;
}
.module-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0 0 20px;
  color: var(--ink);
}
.module-title em{ font-style: italic; color: var(--forest-2); }
.module-summary{
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 60ch;
  margin: 0;
}

/* Lesson grid */
.lessons{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (max-width: 720px){ .lessons{ grid-template-columns: 1fr; } }
.lesson{
  background: var(--paper);
  border-radius: var(--radius-md);
  padding: 30px 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  border: 1px solid var(--line-soft);
}
.lesson.wide{ grid-column: 1 / -1; }
.lesson-head{
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 4px;
}
.lesson-num{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ochre);
  font-weight: 600;
}
.lesson h4{
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.15;
  letter-spacing: -0.005em;
  margin: 0 0 4px;
  color: var(--ink);
}
.lesson h4 em{ font-style: italic; color: var(--forest-2); }
.lesson-topics{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.lesson-topics li{
  padding-left: 20px;
  position: relative;
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-2);
}
.lesson-topics li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 1.5px;
  background: var(--ochre);
}
.lesson-topics-group{
  margin-top: 12px;
}
.lesson-topics-group-title{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
  margin-bottom: 8px;
}

/* Appendices */
.appendices{
  margin-top: 40px;
  padding: 32px 36px;
  background: var(--cream-2);
  border-radius: var(--radius-md);
}
.appendices-title{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
  margin-bottom: 20px;
}
.appendices-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 32px;
}
@media (max-width: 720px){ .appendices-grid{ grid-template-columns: 1fr; } }
.appendix{
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  align-items: start;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}
.appendix:first-child, .appendix:nth-child(2){ border-top: none; }
.appendix-n{
  font-family: var(--serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1;
  color: var(--ochre);
  font-weight: 400;
  padding-top: 4px;
}
.appendix-body h5{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 17px;
  line-height: 1.2;
  margin: 0 0 6px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.appendix-body ul{
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}
.appendix-body li{
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
  position: relative;
  padding-right: 12px;
}
.appendix-body li:not(:last-child)::after{
  content: "·";
  position: absolute;
  right: 0;
  color: var(--line);
}

/* Extras block for each module */
.module-extras{
  margin-top: 30px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.module-extra{
  padding: 10px 18px;
  background: var(--forest);
  color: var(--cream);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 500;
}
.module-extra.lime{ background: var(--lime); color: var(--forest); }
.module-extra.ochre{ background: var(--ochre); color: var(--paper); }
.module-extra.sage{ background: var(--sage); color: var(--forest); }

/* Final module — completion */
.completion{
  padding: 120px 0;
  background: var(--forest);
  color: var(--cream);
  position: relative;
  overflow: hidden;
}
.completion .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
  margin-bottom: 36px;
}
.completion .section-tag .dot{ background: var(--lime); }
.completion h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(40px, 5vw, 72px);
  line-height: 1;
  letter-spacing: -0.015em;
  color: var(--cream);
  margin: 0 0 60px;
}
.completion h2 em{ font-style: italic; color: var(--lime); }
.completion-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 900px){ .completion-grid{ grid-template-columns: 1fr; } }
.completion-card{
  background: rgba(245,239,224,0.06);
  border: 1px solid rgba(245,239,224,0.14);
  border-radius: var(--radius-md);
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-height: 280px;
}
.completion-card-n{
  font-family: var(--serif);
  font-size: 44px;
  line-height: 0.9;
  color: var(--lime);
  font-style: italic;
}
.completion-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.15;
  margin: 0 0 8px;
  color: var(--cream);
  letter-spacing: -0.005em;
}
.completion-card p{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(245,239,224,0.8);
}

/* CTA to course */
.program-cta{
  padding: 120px 0;
}
.program-cta-inner{
  background: var(--paper);
  border-radius: 32px;
  padding: 80px 60px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 60px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
@media (max-width: 900px){ .program-cta-inner{ grid-template-columns: 1fr; padding: 48px 32px; gap: 32px; } }
.program-cta-inner h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0 0 20px;
  color: var(--ink);
}
.program-cta-inner h2 em{ font-style: italic; color: var(--forest-2); }
.program-cta-inner p{
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 52ch;
}

/* Sticky sidebar / TOC hint */
.toc-strip{
  position: sticky;
  top: var(--nav-h);
  z-index: 50;
  background: rgba(245,239,224,0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line-soft);
  padding: 12px 0;
  display: none;
}
.toc-strip-inner{
  display: flex;
  gap: 8px;
  overflow-x: auto;
  align-items: center;
  scrollbar-width: none;
}
.toc-strip-inner::-webkit-scrollbar{ display: none; }
.toc-strip a{
  padding: 8px 14px;
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
  white-space: nowrap;
  transition: all .2s;
}
.toc-strip a:hover, .toc-strip a.active{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}
@media (min-width: 1000px){ .toc-strip{ display: block; } }


/* Final course crossroads polish: lift the visual and trim the section after it. */
@media (min-width: 901px){
  .course-page .crossroads{
    padding-bottom: 72px;
  }
  .course-page .crossroads-diagram{
    transform: translateY(-72px);
    margin-bottom: -48px;
  }
}


/* ===== Neurocoaching program page (ported from approved handoff) ===== */
/* ═══════════════════════════════════════════════════════════════
   PROGRAM PAGE — additions
═══════════════════════════════════════════════════════════════ */

/* Hero */
.program-hero{
  padding: 60px 0 80px;
  position: relative;
}
.program-hero-meta{
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.program-hero-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(48px, 7vw, 108px);
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 40px;
  max-width: 20ch;
}
.program-hero-title em{ font-style: italic; color: var(--forest-2); }
.program-hero-lower{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px;
  align-items: end;
}
@media (max-width: 900px){ .program-hero-lower{ grid-template-columns: 1fr; gap: 32px; } }
.program-hero-lead{
  font-size: 20px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 52ch;
  margin: 0;
}
.program-hero-stats{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.program-hero-stat{
  padding: 18px 20px;
  background: var(--paper);
  border-radius: 20px;
  border: 1px solid var(--line-soft);
}
.program-hero-stat .k{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  margin-bottom: 4px;
}
.program-hero-stat .v{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 30px;
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--ink);
}
.program-hero-stat .v em{ font-style: italic; color: var(--forest-2); }

/* Modules overview — index list */
.modules-overview{
  background: var(--paper);
  padding: 80px 0;
}
.modules-overview-head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.modules-overview-head h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--ink);
}
.modules-overview-head h2 em{ font-style: italic; color: var(--forest-2); }
.modules-overview-list{
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid var(--line);
}
.mo-row{
  display: grid;
  grid-template-columns: 90px 1fr 200px 40px;
  gap: 24px;
  padding: 24px 4px;
  border-bottom: 1px solid var(--line);
  align-items: center;
  color: var(--ink);
  transition: background .2s;
}
.mo-row:hover{ background: rgba(255,255,255,0.4); }
.mo-row .mo-num{
  font-family: var(--serif);
  font-size: 42px;
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.mo-row .mo-num em{ font-style: italic; color: var(--forest-2); }
.mo-row .mo-name{
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(20px, 2vw, 26px);
  letter-spacing: -0.005em;
  line-height: 1.15;
}
.mo-row .mo-count{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.mo-row .mo-arrow{
  font-family: var(--serif);
  font-size: 24px;
  color: var(--forest);
  text-align: right;
}
@media (max-width: 720px){
  .mo-row{ grid-template-columns: 60px 1fr 30px; }
  .mo-row .mo-count{ display: none; }
  .mo-row .mo-num{ font-size: 30px; }
}

/* Module blocks */
.module{
  padding: 100px 0;
  border-top: 1px solid var(--line-soft);
}
.module:first-of-type{ border-top: none; }
.module-header{
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 40px;
  margin-bottom: 60px;
  align-items: start;
}
@media (max-width: 720px){ .module-header{ grid-template-columns: 1fr; gap: 20px; } }
.module-num-big{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(80px, 10vw, 160px);
  line-height: 0.85;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.module-num-big em{ font-style: italic; color: var(--forest-2); }
.module-header-side{
  padding-top: 8px;
}
.module-header-tag{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  margin-bottom: 14px;
}
.module-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0 0 20px;
  color: var(--ink);
}
.module-title em{ font-style: italic; color: var(--forest-2); }
.module-summary{
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 60ch;
  margin: 0;
}

/* Lesson grid */
.lessons{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (max-width: 720px){ .lessons{ grid-template-columns: 1fr; } }
.lesson{
  background: var(--paper);
  border-radius: var(--radius-md);
  padding: 30px 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  border: 1px solid var(--line-soft);
}
.lesson.wide{ grid-column: 1 / -1; }
.lesson-head{
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 4px;
}
.lesson-num{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ochre);
  font-weight: 600;
}
.lesson h4{
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(20px, 2.2vw, 26px);
  line-height: 1.15;
  letter-spacing: -0.005em;
  margin: 0 0 4px;
  color: var(--ink);
}
.lesson h4 em{ font-style: italic; color: var(--forest-2); }
.lesson-topics{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.lesson-topics li{
  padding-left: 20px;
  position: relative;
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-2);
}
.lesson-topics li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 1.5px;
  background: var(--ochre);
}
.lesson-topics-group{
  margin-top: 12px;
}
.lesson-topics-group-title{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
  margin-bottom: 8px;
}

/* Appendices */
.appendices{
  margin-top: 40px;
  padding: 32px 36px;
  background: var(--cream-2);
  border-radius: var(--radius-md);
}
.appendices-title{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
  margin-bottom: 20px;
}
.appendices-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 32px;
}
@media (max-width: 720px){ .appendices-grid{ grid-template-columns: 1fr; } }
.appendix{
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  align-items: start;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}
.appendix:first-child, .appendix:nth-child(2){ border-top: none; }
.appendix-n{
  font-family: var(--serif);
  font-style: italic;
  font-size: 22px;
  line-height: 1;
  color: var(--ochre);
  font-weight: 400;
  padding-top: 4px;
}
.appendix-body h5{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 17px;
  line-height: 1.2;
  margin: 0 0 6px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.appendix-body ul{
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
}
.appendix-body li{
  font-size: 13px;
  color: var(--muted);
  line-height: 1.4;
  position: relative;
  padding-right: 12px;
}
.appendix-body li:not(:last-child)::after{
  content: "·";
  position: absolute;
  right: 0;
  color: var(--line);
}

/* Extras block for each module */
.module-extras{
  margin-top: 30px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.module-extra{
  padding: 10px 18px;
  background: var(--forest);
  color: var(--cream);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 500;
}
.module-extra.lime{ background: var(--lime); color: var(--forest); }
.module-extra.ochre{ background: var(--ochre); color: var(--paper); }
.module-extra.sage{ background: var(--sage); color: var(--forest); }

/* Final module — completion */
.completion{
  padding: 120px 0;
  background: var(--forest);
  color: var(--cream);
  position: relative;
  overflow: hidden;
}
.completion .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
  margin-bottom: 36px;
}
.completion .section-tag .dot{ background: var(--lime); }
.completion h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(40px, 5vw, 72px);
  line-height: 1;
  letter-spacing: -0.015em;
  color: var(--cream);
  margin: 0 0 60px;
}
.completion h2 em{ font-style: italic; color: var(--lime); }
.completion-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 900px){ .completion-grid{ grid-template-columns: 1fr; } }
.completion-card{
  background: rgba(245,239,224,0.06);
  border: 1px solid rgba(245,239,224,0.14);
  border-radius: var(--radius-md);
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  min-height: 280px;
}
.completion-card-n{
  font-family: var(--serif);
  font-size: 44px;
  line-height: 0.9;
  color: var(--lime);
  font-style: italic;
}
.completion-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.15;
  margin: 0 0 8px;
  color: var(--cream);
  letter-spacing: -0.005em;
}
.completion-card p{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(245,239,224,0.8);
}

/* CTA to course */
.program-cta{
  padding: 120px 0;
}
.program-cta-inner{
  background: var(--paper);
  border-radius: 32px;
  padding: 80px 60px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 60px;
  align-items: center;
  position: relative;
  overflow: hidden;
}
@media (max-width: 900px){ .program-cta-inner{ grid-template-columns: 1fr; padding: 48px 32px; gap: 32px; } }
.program-cta-inner h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0 0 20px;
  color: var(--ink);
}
.program-cta-inner h2 em{ font-style: italic; color: var(--forest-2); }
.program-cta-inner p{
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 52ch;
}

/* Sticky sidebar / TOC hint */
.toc-strip{
  position: sticky;
  top: var(--nav-h);
  z-index: 50;
  background: rgba(245,239,224,0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line-soft);
  padding: 12px 0;
  display: none;
}
.toc-strip-inner{
  display: flex;
  gap: 8px;
  overflow-x: auto;
  align-items: center;
  scrollbar-width: none;
}
.toc-strip-inner::-webkit-scrollbar{ display: none; }
.toc-strip a{
  padding: 8px 14px;
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
  white-space: nowrap;
  transition: all .2s;
}
.toc-strip a:hover, .toc-strip a.active{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}
@media (min-width: 1000px){ .toc-strip{ display: block; } }


/* Program TOC edge cleanup: keep horizontal overflow available without showing
   a clipped fragment of the next pill at the right edge. */
@media (min-width: 1000px){
  .program-page-neuro .toc-strip-inner{
    padding-right: 24px;
  }
  .program-page-neuro .toc-strip{
    overflow: hidden;
  }
}


/* ===== Free mini-course page (ported from approved handoff) ===== */
/* ═══════════════════════════════════════════════════════════════
   COURSE PAGE — additions
═══════════════════════════════════════════════════════════════ */

/* Hero specific to course page */
.course-hero{
  padding: 50px 0 90px;
  position: relative;
  overflow: hidden;
}
.course-hero-decor{
  position: absolute;
  top: 40px;
  right: -80px;
  width: 360px;
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
}
.course-hero-inner{
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 48px;
  align-items: end;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .course-hero-inner{ grid-template-columns: 1fr; gap: 32px; } }
.course-hero-meta{
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.course-hero-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(42px, 5.5vw, 88px);
  line-height: 0.98;
  letter-spacing: -0.02em;
  margin: 0 0 32px;
  max-width: 15ch;
  color: var(--ink);
}
.course-hero-title em{
  font-style: italic;
  font-weight: 400;
  color: var(--forest-2);
}
.hero-subtitle{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.25;
  letter-spacing: -0.005em;
  color: var(--forest-2);
  margin: 0 0 32px;
  max-width: 26ch;
}
.section-tag.mini-free{
  background: var(--lime);
  color: var(--forest);
  border-color: var(--lime);
  font-weight: 600;
}
.section-tag.mini-free .dot{ background: var(--forest); }

/* You-get list — inside dark context section */
.you-get-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.you-get-list li{
  padding: 16px 0 16px 42px;
  border-top: 1px solid rgba(245,239,224,0.14);
  font-size: 17px;
  line-height: 1.5;
  color: rgba(245,239,224,0.85);
  position: relative;
}
.you-get-list li:last-child{ border-bottom: 1px solid rgba(245,239,224,0.14); }
.you-get-list li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 24px;
  width: 24px;
  height: 2px;
  background: var(--lime);
}
.you-get-list li strong{ color: var(--cream); font-weight: 600; }
.you-get-list li em.hl-ochre{
  font-style: italic;
  color: var(--lime);
  opacity: 0.95;
}

/* FAQ */
.faq{
  padding: 120px 0;
  background: var(--paper);
}
.faq-list{
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 900px;
}
.faq-item{
  background: var(--cream);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: background .2s;
}
.faq-item[open]{ background: var(--paper); border: 1px solid var(--line-soft); }
.faq-item summary{
  cursor: pointer;
  padding: 26px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(19px, 2vw, 24px);
  line-height: 1.2;
  letter-spacing: -0.005em;
  color: var(--ink);
  list-style: none;
  transition: color .2s;
}
.faq-item summary::-webkit-details-marker{ display: none; }
.faq-item summary:hover{ color: var(--forest-2); }
.faq-toggle{
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--forest);
  color: var(--cream);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: transform .3s cubic-bezier(.2,.7,.3,1), background .2s;
}
.faq-toggle svg{ width: 16px; height: 16px; }
.faq-item[open] .faq-toggle{
  transform: rotate(180deg);
  background: var(--ochre);
}
.faq-answer{
  padding: 0 32px 30px;
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink-2);
  max-width: 68ch;
}
.faq-answer p{ margin: 0; }
@media (max-width: 720px){
  .faq-item summary{ padding: 22px 24px; gap: 16px; }
  .faq-answer{ padding: 0 24px 24px; }
}

/* Hero photo — horizontal, sitting above the sidebar */
.course-hero-photo{
  position: relative;
  aspect-ratio: 16/9;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--forest);
  margin-bottom: 12px;
}
.course-hero-photo img{
  width: 100%; height: 100%;
  object-fit: cover;
  filter: saturate(0.95);
}
.course-hero-photo-tag{
  position: absolute;
  bottom: 18px;
  left: 18px;
  padding: 10px 16px;
  background: rgba(30,42,36,0.85);
  backdrop-filter: blur(10px);
  color: var(--cream);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.course-hero-photo-tag-dot{
  width: 7px; height: 7px;
  background: var(--lime);
  border-radius: 50%;
  flex-shrink: 0;
}
.course-hero-leads{
  display: flex;
  flex-direction: column;
  gap: 18px;
  max-width: 58ch;
  margin-bottom: 40px;
}
.course-hero-leads p{
  margin: 0;
  font-size: 19px;
  line-height: 1.55;
  color: var(--ink-2);
}
.course-hero-cta{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.course-hero-side-wrap{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.course-hero-side{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.course-hero-side-card{
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-md);
  padding: 20px 22px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.course-hero-side-num{
  font-family: var(--serif);
  font-size: 52px;
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--ink);
  flex-shrink: 0;
}
.course-hero-side-num em{
  font-style: italic;
  color: var(--forest-2);
}
.course-hero-side-label{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  line-height: 1.4;
  font-weight: 500;
}
.course-hero-side-cert{
  background: var(--forest);
  color: var(--cream);
  padding: 28px;
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  gap: 22px;
}
.course-hero-side-cert-icon{
  width: 60px;
  height: 60px;
  background: var(--lime);
  color: var(--forest);
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.course-hero-side-cert-icon svg{ width: 30px; height: 30px; }
.course-hero-side-cert h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.1;
  margin: 0 0 4px;
  color: var(--cream);
}
.course-hero-side-cert h4 em{ font-style: italic; color: var(--lime); }
.course-hero-side-cert p{
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(245,239,224,0.75);
}

/* Intersection — profession at the crossroads */
.crossroads{
  background: var(--paper);
}
.crossroads-inner{
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 60px;
  align-items: center;
}
@media (max-width: 900px){ .crossroads-inner{ grid-template-columns: 1fr; gap: 40px; } }
.crossroads-copy p{
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 0 0 20px;
}
.crossroads-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.crossroads-tag{
  padding: 12px 22px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.crossroads-tag.accent{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}
.crossroads-tag.lime{
  background: var(--lime);
  color: var(--forest);
  border-color: var(--lime);
}
.crossroads-tag.ochre{
  background: var(--ochre);
  color: var(--paper);
  border-color: var(--ochre);
}
.crossroads-diagram{
  position: relative;
  aspect-ratio: 1;
  max-width: 640px;
  margin: 0 auto;
  width: 100%;
}
.crossroads-diagram svg{ width: 100%; height: 100%; display: block; }

/* Context section — dark, structured, bold stats */
.context{
  background: var(--forest);
  color: var(--cream);
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.context-decor{
  position: absolute;
  bottom: -80px; left: -80px;
  width: 380px;
  opacity: 0.08;
  color: var(--lime);
  pointer-events: none;
}
.context-decor-2{
  position: absolute;
  top: -60px; right: -60px;
  width: 300px;
  opacity: 0.06;
  color: var(--sage);
  pointer-events: none;
}
.context .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
}
.context .section-tag .dot{ background: var(--lime); }
.context-header{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: end;
  margin-bottom: 80px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(245,239,224,0.14);
}
@media (max-width: 720px){ .context-header{ grid-template-columns: 1fr; } }
.context-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -0.015em;
  color: var(--cream);
  margin: 24px 0 0;
  max-width: 20ch;
}
.context-title em{ font-style: italic; color: var(--lime); }
.context-meta{
  font-family: var(--mono);
  font-size: 11px;
  color: rgba(245,239,224,0.55);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-align: right;
}
@media (max-width: 720px){ .context-meta{ text-align: left; } }

.context-body{
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 80px;
  align-items: start;
}
@media (max-width: 900px){ .context-body{ grid-template-columns: 1fr; gap: 60px; } }

.context-quote{
  font-family: var(--serif);
  font-weight: 300;
  font-style: italic;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.15;
  color: var(--cream);
  letter-spacing: -0.005em;
  margin: 0 0 40px;
  position: relative;
  padding-left: 40px;
}
.context-quote::before{
  content: "";
  position: absolute;
  left: 0; top: 12px;
  width: 24px;
  height: 3px;
  background: var(--lime);
}
.context-quote em{ font-style: italic; color: var(--lime); }
.context-quote-attr{
  font-family: var(--mono);
  font-size: 11px;
  color: rgba(245,239,224,0.55);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-top: 24px;
  padding-left: 40px;
}

.context-copy p{
  font-family: var(--sans);
  font-weight: 300;
  font-size: 18px;
  line-height: 1.65;
  color: rgba(245,239,224,0.85);
  margin: 0 0 20px;
}
/* no dropcap on context copy */
.context-copy strong{
  color: var(--cream);
  font-weight: 600;
}
.context-copy em.hl-ochre{
  font-style: italic;
  color: var(--lime);
  opacity: 0.95;
}

/* Stats row — big numbers below quote/text */
.context-stats{
  margin-top: 80px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(245,239,224,0.14);
  border-bottom: 1px solid rgba(245,239,224,0.14);
}
@media (max-width: 900px){ .context-stats{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px){ .context-stats{ grid-template-columns: 1fr; } }
.context-stat{
  padding: 40px 24px 36px;
  border-right: 1px solid rgba(245,239,224,0.14);
  transition: background .3s;
}
.context-stat:last-child{ border-right: none; }
@media (max-width: 900px){
  .context-stat:nth-child(2){ border-right: none; }
  .context-stat:nth-child(1), .context-stat:nth-child(2){ border-bottom: 1px solid rgba(245,239,224,0.14); }
}
.context-stat:hover{ background: rgba(245,239,224,0.04); }
.context-stat-num{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(48px, 5vw, 72px);
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--cream);
  margin-bottom: 16px;
}
.context-stat-num em{ font-style: italic; color: var(--lime); }
.context-stat-num small{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--lime);
  margin-left: 6px;
  vertical-align: baseline;
}
.context-stat-label{
  font-size: 14px;
  line-height: 1.4;
  color: rgba(245,239,224,0.7);
  font-weight: 300;
}
.context-stat-tag{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lime);
  font-weight: 600;
  margin-bottom: 20px;
  opacity: 0.65;
}

/* For whom — 4-column grid with varied palette */
.for-whom{
  padding: 120px 0;
  background: var(--paper);
}
.for-whom-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 60px;
}
.for-whom-grid .fw-card:nth-child(7){
  grid-column: span 2;
}
@media (max-width: 900px){
  .for-whom-grid{ grid-template-columns: repeat(2, 1fr); }
  .for-whom-grid .fw-card:nth-child(7){ grid-column: span 2; }
}
@media (max-width: 520px){
  .for-whom-grid{ grid-template-columns: 1fr; }
  .for-whom-grid .fw-card:nth-child(7){ grid-column: span 1; }
}
.fw-card{
  border-radius: var(--radius-md);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-height: 280px;
  transition: transform .3s;
}
.fw-card:hover{ transform: translateY(-4px); }
.fw-card-num{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
  opacity: 0.65;
}
.fw-card-icon{
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}
.fw-card-icon svg{ width: 26px; height: 26px; }
.fw-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.15;
  margin: auto 0 0;
  letter-spacing: -0.005em;
}
.fw-card h4 em{ font-style: italic; }

/* Varied color palette per card */
.fw-card:nth-child(1){ background: var(--cream); color: var(--ink); }
.fw-card:nth-child(1) .fw-card-icon{ background: var(--sage); color: var(--forest); }
.fw-card:nth-child(1) h4 em{ color: var(--forest-2); }

.fw-card:nth-child(2){ background: var(--forest); color: var(--cream); }
.fw-card:nth-child(2) .fw-card-icon{ background: var(--lime); color: var(--forest); }
.fw-card:nth-child(2) .fw-card-num{ color: rgba(245,239,224,0.6); }
.fw-card:nth-child(2) h4{ color: var(--cream); }
.fw-card:nth-child(2) h4 em{ color: var(--lime); }

.fw-card:nth-child(3){ background: var(--ochre); color: var(--paper); }
.fw-card:nth-child(3) .fw-card-icon{ background: rgba(251,247,236,0.2); color: var(--paper); }
.fw-card:nth-child(3) .fw-card-num{ color: rgba(251,247,236,0.7); }
.fw-card:nth-child(3) h4{ color: var(--paper); }
.fw-card:nth-child(3) h4 em{ color: var(--cream); font-style: italic; opacity: 0.9; }

.fw-card:nth-child(4){ background: var(--lime); color: var(--forest); }
.fw-card:nth-child(4) .fw-card-icon{ background: var(--forest); color: var(--lime); }
.fw-card:nth-child(4) .fw-card-num{ color: rgba(30,42,36,0.5); }
.fw-card:nth-child(4) h4 em{ color: var(--forest-2); }

.fw-card:nth-child(5){ background: var(--paper); color: var(--ink); border: 1px solid var(--line-soft); }
.fw-card:nth-child(5) .fw-card-icon{ background: var(--terracotta); color: var(--paper); }
.fw-card:nth-child(5) h4 em{ color: var(--terracotta); }

.fw-card:nth-child(6){ background: var(--sage); color: var(--forest); }
.fw-card:nth-child(6) .fw-card-icon{ background: var(--forest); color: var(--sage); }
.fw-card:nth-child(6) .fw-card-num{ color: rgba(30,42,36,0.5); }
.fw-card:nth-child(6) h4 em{ color: var(--forest-2); }

.fw-card:nth-child(7){ background: var(--clay); color: var(--forest); }
.fw-card:nth-child(7) .fw-card-icon{ background: var(--forest); color: var(--clay); }
.fw-card:nth-child(7) .fw-card-num{ color: rgba(30,42,36,0.5); }
.fw-card:nth-child(7) h4 em{ color: var(--forest-2); }

/* Teacher — feature block after audience */
.teacher{
  padding: 120px 0;
  background: var(--paper);
  position: relative;
  overflow: hidden;
}
.teacher-decor{
  position: absolute;
  top: -80px; right: -100px;
  width: 380px;
  opacity: 0.08;
  color: var(--forest);
  pointer-events: none;
}
.teacher-inner{
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 60px;
  align-items: stretch;
  margin-top: 60px;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .teacher-inner{ grid-template-columns: 1fr; gap: 40px; } }

.teacher-photo{
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--forest);
  aspect-ratio: 4/5;
  min-height: 520px;
}
.teacher-photo img{
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
}
.teacher-photo-badge{
  position: absolute;
  top: 20px; left: 20px;
  padding: 10px 18px;
  background: var(--lime);
  color: var(--forest);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  z-index: 2;
}
.teacher-photo-caption{
  position: absolute;
  bottom: 20px; left: 20px; right: 20px;
  padding: 18px 22px;
  background: rgba(30,42,36,0.85);
  backdrop-filter: blur(10px);
  color: var(--cream);
  border-radius: 18px;
  z-index: 2;
}
.teacher-photo-caption-name{
  font-family: var(--serif);
  font-size: 24px;
  line-height: 1.05;
  letter-spacing: -0.005em;
  margin: 0 0 6px;
  color: var(--cream);
}
.teacher-photo-caption-name em{ font-style: italic; color: var(--lime); }
.teacher-photo-caption-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(245,239,224,0.7);
  font-weight: 500;
}

.teacher-copy{
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-top: 8px;
}
.teacher-role-label{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ochre);
  font-weight: 600;
}
.teacher-quote{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin: 0;
  max-width: 32ch;
}
.teacher-quote em{ font-style: italic; color: var(--forest-2); }

.teacher-name{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(30px, 3.4vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
}
.teacher-name em{ font-style: italic; color: var(--forest-2); }

.teacher-credentials{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
.teacher-cred{
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 18px;
  align-items: start;
  padding: 10px 0;
}
.teacher-cred-icon{
  width: 44px; height: 44px;
  border-radius: 50%;
  display: grid; place-items: center;
  flex-shrink: 0;
}
.teacher-cred-icon svg{ width: 22px; height: 22px; }
.teacher-cred:nth-child(1) .teacher-cred-icon{ background: var(--forest); color: var(--lime); }
.teacher-cred:nth-child(2) .teacher-cred-icon{ background: var(--ochre); color: var(--paper); }
.teacher-cred:nth-child(3) .teacher-cred-icon{ background: var(--sage); color: var(--forest); }
.teacher-cred-body h5{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.2;
  margin: 0 0 4px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.teacher-cred-body p{
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  color: var(--muted);
}

/* Skills — 6 cards + big image feature */
.skills{
  background: var(--cream);
  padding: 120px 0;
}
.skills-layout{
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 24px;
  margin-top: 60px;
  align-items: start;
}
@media (max-width: 900px){ .skills-layout{ grid-template-columns: 1fr; } }
.skills-grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
@media (max-width: 520px){ .skills-grid{ grid-template-columns: 1fr; } }
.skill-row{
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 18px;
  padding: 24px 26px;
  background: var(--paper);
  border-radius: var(--radius-md);
  align-items: start;
  transition: transform .3s;
}
.skill-row:hover{ transform: translateY(-3px); }
.skill-n{
  font-family: var(--serif);
  font-style: italic;
  font-size: 34px;
  line-height: 1;
  color: var(--ochre);
  font-weight: 400;
}
.skill-row h5{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  margin: 0 0 6px;
  color: var(--ink);
}
.skill-row p{
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink-2);
}

/* Feature photo card in skills */
.skills-feature{
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 4/5;
  background: var(--forest);
  min-height: 500px;
}
.skills-feature img{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  filter: saturate(0.9);
}
.skills-feature::after{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(30,42,36,0.75) 100%);
}
.skills-feature-tag{
  position: absolute;
  top: 24px; left: 24px;
  padding: 8px 16px;
  background: rgba(251,247,236,0.9);
  color: var(--forest);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  z-index: 2;
}
.skills-feature-quote{
  position: absolute;
  bottom: 32px; left: 28px; right: 28px;
  color: var(--cream);
  z-index: 2;
}
.skills-feature-quote h3{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 30px;
  line-height: 1.15;
  margin: 0 0 12px;
  letter-spacing: -0.005em;
}
.skills-feature-quote h3 em{ font-style: italic; color: var(--lime); }
.skills-feature-quote p{
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: rgba(245,239,224,0.85);
  max-width: 30ch;
}

/* Journey — dark section with photo + timeline */
.journey{
  padding: 120px 0;
  background: var(--forest);
  color: var(--cream);
  position: relative;
  overflow: hidden;
}
.journey-decor{
  position: absolute;
  top: -50px; right: -120px;
  width: 480px;
  opacity: 0.08;
  color: var(--lime);
  pointer-events: none;
}
.journey .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
}
.journey .section-tag .dot{ background: var(--lime); }
.journey h2{ color: var(--cream); }
.journey h2 em{ color: var(--lime); }
.journey .sec-head-lead{ color: rgba(245,239,224,0.75); }
.journey-timeline{
  margin-top: 60px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.journey-step{
  display: grid;
  grid-template-columns: 160px 1fr auto;
  gap: 40px;
  padding: 32px 0;
  border-top: 1px solid rgba(245,239,224,0.14);
  position: relative;
  align-items: center;
  transition: padding .3s;
}
.journey-step:last-child{ border-bottom: 1px solid rgba(245,239,224,0.14); }
@media (max-width: 720px){
  .journey-step{ grid-template-columns: 80px 1fr; gap: 20px; }
  .journey-step-dot{ display: none; }
}
.journey-step:hover{ padding-left: 12px; }
.journey-step:hover .journey-num{ color: var(--lime); }
.journey-num{
  font-family: var(--serif);
  font-size: clamp(48px, 5.5vw, 82px);
  line-height: 0.9;
  letter-spacing: -0.02em;
  color: var(--cream);
  transition: color .3s;
}
.journey-num em{ font-style: italic; color: var(--lime); opacity: 0.85; }
.journey-body h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin: 0 0 10px;
  color: var(--cream);
}
.journey-body h4 em{ font-style: italic; color: var(--lime); }
.journey-body p{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(245,239,224,0.72);
  max-width: 60ch;
}
.journey-step-dot{
  width: 10px; height: 10px;
  background: var(--lime);
  border-radius: 50%;
  justify-self: end;
  opacity: 0.35;
  transition: opacity .3s, transform .3s;
}
.journey-step:hover .journey-step-dot{ opacity: 1; transform: scale(1.4); }
.journey-cta{
  margin-top: 60px;
  display: flex;
  justify-content: center;
}
.journey-cta .btn-primary{
  background: var(--lime);
  color: var(--forest);
}
.journey-cta .btn-primary:hover{ background: var(--lime-bright); }
.journey-cta .btn-primary .arr::before{ color: var(--forest); }
.journey-cta .btn-primary .arr{ background: rgba(30,42,36,0.15); }

/* What you get */
.you-get{
  background: var(--forest);
  color: var(--cream);
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.you-get .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
}
.you-get .section-tag .dot{ background: var(--lime); }
.you-get h2{ color: var(--cream); }
.you-get h2 em{ color: var(--lime); }
.you-get-lead{
  font-size: 20px;
  line-height: 1.55;
  color: rgba(245,239,224,0.85);
  max-width: 60ch;
  margin: 40px 0 0;
}
.you-get-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 60px;
}
@media (max-width: 900px){ .you-get-grid{ grid-template-columns: 1fr; } }
.you-get-card{
  background: rgba(245,239,224,0.06);
  border: 1px solid rgba(245,239,224,0.14);
  border-radius: var(--radius-md);
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-height: 240px;
}
.you-get-card-icon{
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--lime);
  color: var(--forest);
  display: grid;
  place-items: center;
}
.you-get-card-icon svg{ width: 26px; height: 26px; }
.you-get-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.15;
  margin: auto 0 0;
  color: var(--cream);
}
.you-get-card h4 em{ font-style: italic; color: var(--lime); }

/* Approach on this page — reuse existing */
.course-approach{
  padding: 120px 0;
}
.course-approach-inner{
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  gap: 40px;
  margin-top: 60px;
  align-items: start;
}
@media (max-width: 900px){ .course-approach-inner{ grid-template-columns: 1fr; } }
.course-approach-visual{
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.course-approach-photo{
  position: relative;
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--forest);
}
.course-approach-photo img{
  width: 100%; height: 100%;
  object-fit: cover;
}
.course-approach-badge{
  position: absolute;
  top: 20px; left: 20px;
  z-index: 2;
  padding: 10px 18px;
  background: var(--lime);
  color: var(--forest);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
}
.course-approach-copy p{
  font-size: 18px;
  line-height: 1.6;
  color: var(--ink-2);
  margin: 0 0 20px;
}
.course-approach-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 24px;
}
.course-approach-list-item{
  padding: 20px 24px;
  background: var(--paper);
  border-radius: var(--radius-md);
  border-left: 3px solid var(--ochre);
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-2);
  font-weight: 500;
}
.course-approach-list-item:nth-child(1){ border-left-color: var(--forest); }
.course-approach-list-item:nth-child(2){ border-left-color: var(--ochre); }
.course-approach-list-item:nth-child(3){ border-left-color: var(--sage); }
.course-approach-list-item:nth-child(4){ border-left-color: var(--terracotta); }
.course-approach-list-item:nth-child(5){ border-left-color: var(--lime); background: var(--forest); color: rgba(245,239,224,0.85); }
.course-approach-list-item:nth-child(5) strong{ color: var(--lime); }
.course-approach-list-item strong{
  display: block;
  font-family: var(--serif);
  font-weight: 500;
  font-size: 20px;
  color: var(--ink);
  margin-bottom: 6px;
  letter-spacing: -0.005em;
}

/* Format — bento grid like on the home page */
.format{
  background: var(--paper);
  padding: 120px 0;
}
.format-bento{
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 170px;
  gap: 12px;
  margin-top: 60px;
}
@media (max-width: 900px){
  .format-bento{ grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; }
  .fmt-a, .fmt-b, .fmt-c, .fmt-d, .fmt-e, .fmt-f, .fmt-g, .fmt-h{
    grid-column: span 1 !important;
    grid-row: span 1 !important;
  }
}
.fmt-tile{
  border-radius: var(--radius-md);
  padding: 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  overflow: hidden;
  background: var(--cream);
  color: var(--ink);
}
.fmt-tile .fmt-num{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.fmt-tile h5{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.15;
  margin: auto 0 0;
  color: inherit;
  letter-spacing: -0.005em;
}
.fmt-tile h5 em{ font-style: italic; }

/* Bento cell sizing */
.fmt-a{ grid-column: span 4; grid-row: span 2; }   /* photo — coach */
.fmt-b{ grid-column: span 4; grid-row: span 1; }   /* big lime */
.fmt-c{ grid-column: span 4; grid-row: span 1; }   /* stat forest */
.fmt-d{ grid-column: span 3; grid-row: span 1; }
.fmt-e{ grid-column: span 3; grid-row: span 1; }
.fmt-f{ grid-column: span 2; grid-row: span 1; }   /* ochre small */
.fmt-g{ grid-column: span 5; grid-row: span 1; }   /* long dark */
.fmt-h{ grid-column: span 3; grid-row: span 1; }   /* sage */

/* Variants */
.fmt-tile.forest{ background: var(--forest); color: var(--cream); }
.fmt-tile.forest .fmt-num{ color: var(--lime); opacity: 0.85; }
.fmt-tile.ochre{ background: var(--ochre); color: var(--paper); }
.fmt-tile.ochre .fmt-num{ color: rgba(251,247,236,0.7); }
.fmt-tile.lime{ background: var(--lime); color: var(--forest); }
.fmt-tile.lime .fmt-num{ color: var(--forest); opacity: 0.55; }
.fmt-tile.sage{ background: var(--sage); color: var(--forest); }
.fmt-tile.sage .fmt-num{ color: var(--forest); opacity: 0.55; }

/* Photo tile */
.fmt-tile.photo{
  padding: 0;
  color: var(--cream);
}
.fmt-tile.photo img{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
.fmt-tile.photo::after{
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(23,32,26,0.88) 100%);
}
.fmt-tile.photo .fmt-content{
  position: absolute;
  bottom: 22px; left: 22px; right: 22px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.fmt-tile.photo .fmt-num{ color: rgba(245,239,224,0.75); }
.fmt-tile.photo h5{ color: var(--cream); }
.fmt-tile.photo h5 em{ color: var(--lime); }

/* Icon-illustrated tiles */
.fmt-icon{
  width: 40px; height: 40px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: rgba(30,42,36,0.08);
  color: var(--forest);
  flex-shrink: 0;
}
.fmt-tile.forest .fmt-icon{ background: rgba(245,239,224,0.12); color: var(--lime); }
.fmt-tile.ochre .fmt-icon{ background: rgba(251,247,236,0.2); color: var(--paper); }
.fmt-tile.lime .fmt-icon{ background: rgba(30,42,36,0.12); color: var(--forest); }
.fmt-tile.sage .fmt-icon{ background: rgba(30,42,36,0.15); color: var(--forest); }
.fmt-icon svg{ width: 20px; height: 20px; }

/* Stat-style tile */
.fmt-tile.stat h5{
  font-size: 44px;
  line-height: 0.9;
  letter-spacing: -0.02em;
}
.fmt-tile.stat h5 em{ font-style: italic; }
.fmt-tile.stat .fmt-sublabel{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: inherit;
  opacity: 0.65;
  margin-top: 6px;
  font-weight: 500;
}

/* Pricing / tariffs */
.pricing{
  padding: 120px 0;
}
.pricing-grid{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 60px;
}
@media (max-width: 1100px){ .pricing-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px){ .pricing-grid{ grid-template-columns: 1fr; } }
.tariff{
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: 28px;
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  position: relative;
}
.tariff.featured{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
  transform: scale(1.02);
  z-index: 2;
}
.tariff.premium{
  background: var(--ochre);
  color: var(--paper);
  border-color: var(--ochre);
}
.tariff-badge{
  position: absolute;
  top: -12px;
  left: 30px;
  background: var(--lime);
  color: var(--forest);
  padding: 6px 14px;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
}
.tariff-head h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 30px;
  line-height: 1.05;
  margin: 0;
  letter-spacing: -0.01em;
  color: inherit;
}
.tariff-head h4 em{
  font-style: italic;
  color: var(--forest-2);
}
.tariff.featured .tariff-head h4 em{ color: var(--lime); }
.tariff.premium .tariff-head h4 em{ color: var(--cream); }
.tariff-price{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 38px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: inherit;
}
.tariff-price small{
  display: block;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: 6px;
  font-weight: 500;
}
.tariff.featured .tariff-price small{ color: rgba(245,239,224,0.6); }
.tariff.premium .tariff-price small{ color: rgba(255,255,255,0.7); }
.tariff-features{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.tariff-features li{
  font-size: 14px;
  line-height: 1.45;
  color: inherit;
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  align-items: start;
}
.tariff.featured .tariff-features li{ color: rgba(245,239,224,0.9); }
.tariff.premium .tariff-features li{ color: rgba(255,255,255,0.92); }
.tariff-features li::before{
  content: "✓";
  color: var(--forest);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.4;
}
.tariff.featured .tariff-features li::before{ color: var(--lime); }
.tariff.premium .tariff-features li::before{ color: var(--paper); }
.tariff-features li.crossed{
  color: var(--muted);
  text-decoration: line-through;
  opacity: 0.55;
}
.tariff-features li.crossed::before{ content: "—"; color: var(--muted); text-decoration: none; }
.tariff-features li strong{
  font-weight: 700;
  color: var(--ink);
}
.tariff.featured .tariff-features li strong{ color: var(--cream); }
.tariff.premium .tariff-features li strong{ color: var(--paper); }
.tariff-cta{
  margin-top: auto;
}
.tariff-cta .btn{ width: 100%; justify-content: center; }
.tariff.featured .btn-primary{
  background: var(--lime);
  color: var(--forest);
}
.tariff.featured .btn-primary:hover{ background: var(--lime-bright); }
.tariff.featured .btn-primary .arr::before{ color: var(--forest); }
.tariff.featured .btn-primary .arr{ background: rgba(30,42,36,0.15); }

.pricing-note{
  margin-top: 40px;
  padding: 24px 28px;
  background: var(--paper);
  border-radius: var(--radius-md);
  display: flex;
  gap: 18px;
  align-items: center;
  font-size: 14px;
  color: var(--muted);
  line-height: 1.5;
}
.pricing-note-icon{
  width: 36px;
  height: 36px;
  background: var(--cream-2);
  border-radius: 50%;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  color: var(--forest);
}

/* Final form CTA */
.final-form{
  background: var(--forest);
  color: var(--cream);
  padding: 120px 0;
  position: relative;
  overflow: hidden;
}
.final-form-decor{
  position: absolute;
  top: -60px;
  right: -80px;
  width: 400px;
  opacity: 0.15;
  color: var(--lime);
  pointer-events: none;
}
.final-form-inner{
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 80px;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .final-form-inner{ grid-template-columns: 1fr; gap: 40px; } }
.final-form-copy .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
  margin-bottom: 32px;
}
.final-form-copy .section-tag .dot{ background: var(--lime); }
.final-form-copy h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -0.015em;
  margin: 0 0 24px;
  color: var(--cream);
}
.final-form-copy h2 em{ font-style: italic; color: var(--lime); }
.final-form-copy p{
  font-size: 18px;
  line-height: 1.55;
  color: rgba(245,239,224,0.8);
  max-width: 44ch;
  margin: 0;
}
.final-form-box{
  background: var(--paper);
  color: var(--ink);
  border-radius: 28px;
  padding: 40px;
}
.final-form-box h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.15;
  margin: 0 0 8px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.final-form-box h4 em{ font-style: italic; color: var(--forest-2); }
.final-form-box .form-lead{
  font-size: 14px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0 0 28px;
}
.form-row{
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 20px;
}
.form-field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.form-field label{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.form-field input{
  padding: 16px 20px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 14px;
  font-family: var(--sans);
  font-size: 15px;
  color: var(--ink);
  transition: border-color .2s;
  outline: none;
}
.form-field input:focus{ border-color: var(--forest); }
.form-consent{
  font-size: 12px;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 20px;
}
.form-consent a{ color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.final-form-box .btn{ width: 100%; justify-content: center; }

/* Blog widgets */
section.blog{
  padding: 120px 0;
}
.blog-head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 60px;
}
.blog-head-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink);
}
.blog-head-title em{ font-style: italic; color: var(--forest-2); }
.blog-head-link{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap .3s;
}
.blog-head-link:hover{ gap: 16px; }
.blog-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px){ .blog-grid{ grid-template-columns: 1fr; } }
.blog-card{
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: transform .35s;
}
.blog-card:hover{ transform: translateY(-4px); }
.blog-card-image{
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--cream-2);
  position: relative;
}
.blog-card-image img{ width: 100%; height: 100%; object-fit: cover; }
.blog-card-meta{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  display: flex;
  gap: 14px;
}
.blog-card-meta .dot{
  width: 4px;
  height: 4px;
  background: var(--muted);
  border-radius: 50%;
  align-self: center;
}
.blog-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 26px;
  line-height: 1.15;
  margin: 0;
  letter-spacing: -0.005em;
  color: var(--ink);
}
.blog-card p{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-2);
}


/* Neuro program desktop TOC: show only complete pills.
   The inner row remains horizontally scrollable, but its viewport ends inside
   the page gutter so a partial next pill cannot peek out at the right edge. */
@media (min-width: 1000px){
  .program-page-neuro .toc-strip{
    overflow: hidden;
  }
  .program-page-neuro .toc-strip-inner{
    max-width: calc(100% - 64px);
    margin-left: 0;
    margin-right: auto;
    padding-right: 0;
    overscroll-behavior-x: contain;
  }
}


/* ===== Blog index page (ported from approved handoff) ===== */
/* ═══════════════════════════════════════════════════════════════
   BLOG INDEX PAGE
═══════════════════════════════════════════════════════════════ */

.blog-page{
  padding: 60px 0 100px;
}

/* Breadcrumb */
.breadcrumb{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 40px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}
.breadcrumb a{ color: var(--forest); transition: color .2s; }
.breadcrumb a:hover{ color: var(--ochre); }
.breadcrumb .sep{ color: var(--line); }

/* Blog header */
.blog-header{
  max-width: 900px;
  margin: 0 0 60px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--line);
}
.blog-header-tag{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
  margin-bottom: 20px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.blog-header-tag::before{
  content: "";
  width: 8px; height: 8px;
  background: var(--ochre);
  border-radius: 50%;
  display: inline-block;
}
.blog-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(44px, 6vw, 88px);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 24px;
  max-width: 18ch;
}
.blog-title em{ font-style: italic; color: var(--forest-2); }
.blog-lead{
  font-family: var(--sans);
  font-weight: 300;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.5;
  color: var(--ink-2);
  margin: 0;
  max-width: 62ch;
  padding-left: 32px;
  border-left: 2px solid var(--ochre);
}
.blog-lead em{ font-style: italic; color: var(--forest-2); }

/* Filter (categories) */
.blog-filter{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.blog-filter-btn{
  padding: 10px 20px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink);
  font-weight: 600;
  cursor: pointer;
  transition: all .2s;
}
.blog-filter-btn:hover{ background: var(--cream-2); }
.blog-filter-btn.active{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}

/* Featured hero card */
.blog-featured{
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  margin-bottom: 60px;
  padding: 40px;
  background: var(--paper);
  border-radius: var(--radius-lg);
  align-items: center;
  transition: transform .3s;
}
.blog-featured:hover{ transform: translateY(-4px); }
@media (max-width: 900px){
  .blog-featured{ grid-template-columns: 1fr; gap: 28px; padding: 28px; }
}
.blog-featured-image{
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--cream-2);
}
.blog-featured-image img{
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.blog-featured:hover .blog-featured-image img{ transform: scale(1.03); }
.blog-featured-content{
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.blog-featured-badge{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  align-self: flex-start;
}
.blog-featured-meta{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  display: flex;
  gap: 14px;
  align-items: center;
}
.blog-featured-meta .dot{
  width: 4px; height: 4px;
  background: var(--muted);
  border-radius: 50%;
  opacity: 0.5;
}
.blog-featured h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink);
}
.blog-featured h2 em{ font-style: italic; color: var(--forest-2); }
.blog-featured p{
  margin: 0;
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 52ch;
}
.blog-featured-link{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  align-self: flex-start;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 600;
  transition: gap .3s;
}
.blog-featured:hover .blog-featured-link{ gap: 18px; }

/* Grid of regular cards */
.blog-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 80px;
}
@media (max-width: 900px){ .blog-grid{ grid-template-columns: repeat(2, 1fr); gap: 24px; } }
@media (max-width: 640px){ .blog-grid{ grid-template-columns: 1fr; } }

.blog-item{
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: transform .3s;
}
.blog-item:hover{ transform: translateY(-6px); }
.blog-item-image{
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--cream-2);
}
.blog-item-image img{
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.2,.7,.3,1);
}
.blog-item:hover .blog-item-image img{ transform: scale(1.04); }
.blog-item-meta{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  display: flex;
  gap: 12px;
  align-items: center;
}
.blog-item-meta .cat{
  color: var(--ochre);
  font-weight: 600;
}
.blog-item-meta .dot{
  width: 4px; height: 4px;
  background: var(--muted);
  border-radius: 50%;
  opacity: 0.5;
}
.blog-item h3{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(22px, 2.2vw, 28px);
  line-height: 1.15;
  letter-spacing: -0.005em;
  margin: 0;
  color: var(--ink);
}
.blog-item h3 em{ font-style: italic; color: var(--forest-2); }
.blog-item p{
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-2);
}

/* Final form section — reused */
.final-form{
  background: var(--forest);
  color: var(--cream);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}
.final-form-decor{
  position: absolute;
  top: -60px;
  right: -80px;
  width: 400px;
  opacity: 0.15;
  color: var(--lime);
  pointer-events: none;
}
.final-form-inner{
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .final-form-inner{ grid-template-columns: 1fr; gap: 40px; } }
.final-form-copy .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
  margin-bottom: 32px;
}
.final-form-copy .section-tag .dot{ background: var(--lime); }
.final-form-copy h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0 0 20px;
  color: var(--cream);
}
.final-form-copy h2 em{ font-style: italic; color: var(--lime); }
.final-form-copy p{
  font-size: 17px;
  line-height: 1.55;
  color: rgba(245,239,224,0.8);
  max-width: 44ch;
  margin: 0;
}
.final-form-box{
  background: var(--paper);
  color: var(--ink);
  border-radius: 24px;
  padding: 36px;
}
.final-form-box h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 6px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.final-form-box h4 em{ font-style: italic; color: var(--forest-2); }
.final-form-box .form-lead{
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0 0 24px;
}
.form-row{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 18px;
}
.form-field{ display: flex; flex-direction: column; gap: 6px; }
.form-field label{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.form-field input{
  padding: 14px 18px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 12px;
  font-family: var(--sans);
  font-size: 14px;
  color: var(--ink);
  transition: border-color .2s;
  outline: none;
}
.form-field input:focus{ border-color: var(--forest); }
.form-consent{
  font-size: 11px;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 18px;
}
.form-consent a{ color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.final-form-box .btn{ width: 100%; justify-content: center; }


/* Desktop primary navigation readability after the approved 85% page scale. */
@media (min-width: 1201px){
  .nav-links a{
    font-size: 16px;
  }
  .nav-cta{
    font-size: 15px;
    padding: 13px 24px;
  }
}


/* ===== Certificate article page (ported from approved handoff) ===== */
/* ═══════════════════════════════════════════════════════════════
   ARTICLE PAGE — editorial reading experience
═══════════════════════════════════════════════════════════════ */

/* Article container — narrow readable column */
.article{
  padding: 60px 0 80px;
}
.article-wrap{
  max-width: 780px;
  margin: 0 auto;
  padding: 0 24px;
}
.article-wrap.wide{
  max-width: 1080px;
}

/* Breadcrumb */
.breadcrumb{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}
.breadcrumb a{ color: var(--forest); transition: color .2s; }
.breadcrumb a:hover{ color: var(--ochre); }
.breadcrumb .sep{ color: var(--line); }

/* Article meta bar */
.article-meta{
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding-bottom: 20px;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.article-meta-tag{
  padding: 6px 14px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: 999px;
  font-weight: 600;
}
.article-meta-row{ display: flex; align-items: center; gap: 10px; }
.article-meta .dot{
  width: 4px; height: 4px;
  background: var(--muted);
  border-radius: 50%;
  align-self: center;
  opacity: 0.5;
}

/* H1 */
.article-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(38px, 5.5vw, 68px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 32px;
}
.article-title em{ font-style: italic; color: var(--forest-2); }

/* Deck (subtitle beneath H1) */
.article-deck{
  font-family: var(--serif);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.35;
  color: var(--forest-2);
  margin: 0 0 40px;
  max-width: 60ch;
}

/* Author byline */
.article-byline{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 0;
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  margin-bottom: 48px;
}
.article-byline-avatar{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--sage);
  display: grid; place-items: center;
  color: var(--forest);
  font-family: var(--serif);
  font-size: 20px;
  flex-shrink: 0;
}
.article-byline-info{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.article-byline-name{
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}
.article-byline-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

/* Cover image */
.article-cover{
  margin: 0 0 48px;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--forest);
}
.article-cover--tall{ aspect-ratio: 4/3; }
.article-cover img{
  width: 100%; height: 100%;
  object-fit: cover;
}
/* Natural-aspect variants for article images */
.article-image--square{ aspect-ratio: 1/1 !important; max-width: 640px; margin-left: auto !important; margin-right: auto !important; }
.article-image--tall{ aspect-ratio: 4/3 !important; }

/* Compare grid — three professions side by side */
.compare-grid{
  margin: 40px -40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 900px){ .compare-grid{ margin: 40px 0; grid-template-columns: 1fr; } }
.compare-card{
  padding: 32px 26px;
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  overflow: hidden;
  transition: transform .3s;
  min-height: 380px;
}
.compare-card:hover{ transform: translateY(-4px); }
.compare-card-num{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  opacity: 0.65;
}
.compare-card-icon{
  width: 48px; height: 48px;
  border-radius: 50%;
  display: grid; place-items: center;
  flex-shrink: 0;
}
.compare-card-icon svg{ width: 24px; height: 24px; }
.compare-card-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 28px;
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin: 0;
}
.compare-card-title em{ font-style: italic; }
.compare-card-focus{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
  opacity: 0.7;
  margin-top: -8px;
}
.compare-card-focus b{ font-weight: 700; opacity: 1; }
.compare-card ul{
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.compare-card ul li{
  font-size: 14px;
  line-height: 1.45;
  padding-left: 22px;
  position: relative;
  opacity: 0.9;
}
.compare-card ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 14px;
  height: 1.5px;
  background: currentColor;
  opacity: 0.5;
}
.compare-card-tag{
  margin-top: auto;
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(0,0,0,0.15);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  align-self: flex-start;
}

/* Card variants */
.compare-card.nutrition{ background: var(--sage); color: var(--forest); }
.compare-card.nutrition .compare-card-icon{ background: var(--forest); color: var(--sage); }
.compare-card.nutrition .compare-card-title em{ color: var(--forest-2); }
.compare-card.nutrition .compare-card-tag{ background: rgba(30,42,36,0.15); color: var(--forest); }

.compare-card.health{ background: var(--ochre); color: var(--paper); }
.compare-card.health .compare-card-icon{ background: rgba(251,247,236,0.2); color: var(--paper); }
.compare-card.health .compare-card-title em{ color: var(--cream); }
.compare-card.health .compare-card-tag{ background: rgba(251,247,236,0.2); color: var(--paper); }

.compare-card.wellness{
  background: var(--forest);
  color: var(--cream);
  transform: scale(1.02);
  box-shadow: 0 20px 48px -20px rgba(30,42,36,0.4);
}
.compare-card.wellness:hover{ transform: scale(1.02) translateY(-4px); }
.compare-card.wellness .compare-card-icon{ background: var(--lime); color: var(--forest); }
.compare-card.wellness .compare-card-title em{ color: var(--lime); }
.compare-card.wellness .compare-card-tag{ background: var(--lime); color: var(--forest); }
.compare-card.wellness .compare-card-num{ color: var(--lime); opacity: 0.85; }
@media (max-width: 900px){
  .compare-card.wellness, .compare-card.wellness:hover{ transform: none; }
}

/* Country income grid — for salary section */
.country-grid{
  margin: 40px -40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (max-width: 900px){ .country-grid{ margin: 40px 0; } }
@media (max-width: 520px){ .country-grid{ grid-template-columns: 1fr; } }
.country-card{
  padding: 28px 30px;
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 220px;
  position: relative;
  overflow: hidden;
  transition: transform .3s;
}
.country-card:hover{ transform: translateY(-3px); }
.country-card-head{
  display: flex;
  align-items: center;
  gap: 14px;
}
.country-badge{
  width: 44px; height: 44px;
  border-radius: 50%;
  display: grid; place-items: center;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  flex-shrink: 0;
}
.country-name{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -0.005em;
  line-height: 1.1;
}
.country-income{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin: auto 0 0;
}
.country-income em{ font-style: italic; }
.country-income small{
  display: block;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.65;
  margin-top: 8px;
  font-weight: 500;
}
.country-desc{
  font-size: 14px;
  line-height: 1.5;
  opacity: 0.85;
  margin: 0;
}

/* Card color variants */
.country-card.ru{ background: var(--forest); color: var(--cream); }
.country-card.ru .country-badge{ background: var(--lime); color: var(--forest); }
.country-card.ru .country-income em{ color: var(--lime); }

.country-card.au{ background: var(--ochre); color: var(--paper); }
.country-card.au .country-badge{ background: rgba(251,247,236,0.2); color: var(--paper); }
.country-card.au .country-income em{ color: var(--cream); }

.country-card.eu{ background: var(--sage); color: var(--forest); }
.country-card.eu .country-badge{ background: var(--forest); color: var(--sage); }
.country-card.eu .country-income em{ color: var(--forest-2); }

.country-card.us{ background: var(--lime); color: var(--forest); }
.country-card.us .country-badge{ background: var(--forest); color: var(--lime); }
.country-card.us .country-income em{ color: var(--forest-2); }

/* Certificate showcase — real AWA cert with elegant frame */
.cert-showcase{
  margin: 48px -40px;
  padding: 40px;
  background: linear-gradient(135deg, var(--cream-2) 0%, var(--cream) 100%);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}
@media (max-width: 900px){ .cert-showcase{ margin: 40px 0; padding: 28px 20px; } }
.cert-showcase-frame{
  max-width: 620px;
  width: 100%;
  padding: 12px;
  background: var(--paper);
  border-radius: 12px;
  box-shadow: 0 24px 48px -20px rgba(30,42,36,0.3), 0 6px 12px rgba(30,42,36,0.08);
  transform: rotate(-0.6deg);
  transition: transform .35s cubic-bezier(.2,.7,.3,1);
}
.cert-showcase-frame:hover{ transform: rotate(0deg) scale(1.02); }
.cert-showcase-frame img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}
.cert-showcase-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  text-align: center;
  max-width: 60ch;
  line-height: 1.5;
}
.cert-showcase-caption em{
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--forest-2);
  font-weight: 400;
}
.article-cover-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  margin-top: 12px;
  padding-left: 16px;
  border-left: 2px solid var(--ochre);
}

/* Body typography */
.article-body{
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.75;
  color: var(--ink-2);
}
.article-body p{ margin: 0 0 24px; }
.article-body > p:first-of-type::first-letter{
  font-family: var(--serif);
  font-size: 76px;
  float: left;
  line-height: 0.85;
  margin: 8px 14px -4px 0;
  color: var(--ochre);
  font-weight: 400;
  font-style: italic;
}
.article-body strong{ color: var(--ink); font-weight: 600; }
.article-body em{ color: var(--forest-2); font-style: italic; }
.article-body a{
  color: var(--forest);
  text-decoration: underline;
  text-decoration-color: var(--ochre);
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
  transition: color .2s;
}
.article-body a:hover{ color: var(--ochre); }

/* H2 subheadings */
.article-body h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 56px 0 24px;
  max-width: 22ch;
}
.article-body h2 em{ font-style: italic; color: var(--forest-2); }

/* H3 subheadings — smaller than H2, mono-styled label */
.article-body h3.article-sub{
  font-family: var(--mono);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ochre);
  margin: 32px 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
  max-width: 100%;
}

/* Lists */
.article-body ul{
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}
.article-body ul li{
  padding: 8px 0 8px 32px;
  position: relative;
  line-height: 1.65;
}
.article-body ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  width: 18px;
  height: 2px;
  background: var(--ochre);
}
.article-body ul.checklist li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 22px;
  height: 22px;
  background: var(--sage);
  border-radius: 50%;
  color: var(--forest);
  display: inline-block;
}
.article-body ul.checklist li{
  padding-left: 38px;
}
.article-body ul.checklist li::after{
  content: "✓";
  position: absolute;
  left: 4px;
  top: 12px;
  width: 22px;
  height: 22px;
  color: var(--forest);
  font-weight: 700;
  font-size: 13px;
  line-height: 22px;
  text-align: center;
}

/* Inline image (between paragraphs) */
.article-image{
  margin: 40px -40px 40px;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--cream-2);
}
@media (max-width: 900px){ .article-image{ margin: 40px 0; } }
.article-image img{
  width: 100%; height: 100%;
  object-fit: cover;
}
.article-image-block{
  margin: 40px -40px 40px;
}
@media (max-width: 900px){ .article-image-block{ margin: 40px 0; } }
.article-image-block .article-image{ margin: 0 0 12px; }
.article-image-block .article-image-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  padding-left: 16px;
  border-left: 2px solid var(--ochre);
  max-width: 60ch;
}

/* Pull quote */
.pullquote{
  margin: 60px -40px;
  padding: 48px 60px;
  background: var(--cream-2);
  border-radius: var(--radius-md);
  position: relative;
}
@media (max-width: 900px){ .pullquote{ margin: 48px 0; padding: 40px 32px; } }
.pullquote::before{
  content: """;
  position: absolute;
  top: 12px;
  left: 32px;
  font-family: var(--serif);
  font-size: 100px;
  line-height: 1;
  color: var(--ochre);
  opacity: 0.35;
}
.pullquote-text{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.3;
  color: var(--ink);
  letter-spacing: -0.005em;
  margin: 0 0 20px;
  position: relative;
  z-index: 1;
}
.pullquote-text em{ font-style: italic; color: var(--forest-2); }
.pullquote-attr{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

/* Highlighted callout (green result box) */
.callout{
  margin: 48px -40px;
  padding: 32px 40px;
  background: var(--forest);
  color: var(--cream);
  border-radius: var(--radius-md);
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
@media (max-width: 900px){ .callout{ margin: 40px 0; padding: 32px; } }
.callout-icon{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--lime);
  color: var(--forest);
  display: grid; place-items: center;
  flex-shrink: 0;
  font-size: 22px;
  font-weight: 700;
}
.callout-text{
  font-family: var(--sans);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.55;
  color: var(--cream);
  margin: 0;
  padding-top: 6px;
}
.callout-text strong{ color: var(--lime); font-weight: 700; }
.callout-text em{ font-style: italic; color: var(--lime); }

/* Inline CTA (course promo) */
.article-cta{
  margin: 60px -40px;
  padding: 48px 44px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
}
@media (max-width: 900px){
  .article-cta{ margin: 48px 0; padding: 36px 28px; }
}
.article-cta .btn{ align-self: flex-start; }
.article-cta h3{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.15;
  letter-spacing: -0.005em;
  margin: 0 0 8px;
  color: var(--paper);
}
.article-cta h3 em{ font-style: italic; color: var(--cream); }
.article-cta p{
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(251,247,236,0.85);
  max-width: 52ch;
}
.article-cta .btn{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}
.article-cta .btn:hover{ background: var(--ink); }
.article-cta .btn .arr::before{ color: var(--cream); }

/* ═══════════════════════════════════════════════════════════════
   TESTIMONIALS CAROUSEL — Perkson + Tatyana
═══════════════════════════════════════════════════════════════ */
.testimonials{
  padding: 100px 0;
  background: var(--paper);
  position: relative;
}
.testimonials-inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
}
.testi-slider{
  position: relative;
  overflow: hidden;
}
.testi-track{
  display: flex;
  transition: transform .55s cubic-bezier(.2,.7,.3,1);
}
.testi-slide{
  flex: 0 0 100%;
  padding: 20px 40px;
  text-align: center;
  min-height: 480px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 720px){ .testi-slide{ padding: 20px 16px; } }
.testi-avatar{
  width: 96px; height: 96px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 32px;
  border: 2px solid var(--line-soft);
  flex-shrink: 0;
  background: var(--cream);
}
.testi-avatar img{ width: 100%; height: 100%; object-fit: cover; }
.testi-quote{
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink-2);
  max-width: 62ch;
  margin: 0 0 32px;
}
.testi-quote strong{ color: var(--ink); font-weight: 600; }
.testi-name{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  color: var(--ink);
  letter-spacing: -0.005em;
  margin: 0 0 6px;
}
.testi-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.testi-controls{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-top: 24px;
}
.testi-btn{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--cream);
  border: 1px solid var(--line);
  color: var(--forest);
  display: grid; place-items: center;
  cursor: pointer;
  transition: all .2s;
  font-family: inherit;
}
.testi-btn:hover{ background: var(--forest); color: var(--cream); border-color: var(--forest); }
.testi-btn svg{ width: 18px; height: 18px; }
.testi-dots{
  display: flex;
  gap: 8px;
}
.testi-dot{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--line);
  border: none;
  cursor: pointer;
  transition: background .2s, width .3s;
  padding: 0;
}
.testi-dot.active{
  background: var(--forest);
  width: 24px;
  border-radius: 4px;
}

/* Final form section — reused */
.final-form{
  background: var(--forest);
  color: var(--cream);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}
.final-form-decor{
  position: absolute;
  top: -60px;
  right: -80px;
  width: 400px;
  opacity: 0.15;
  color: var(--lime);
  pointer-events: none;
}
.final-form-inner{
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .final-form-inner{ grid-template-columns: 1fr; gap: 40px; } }
.final-form-copy .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
  margin-bottom: 32px;
}
.final-form-copy .section-tag .dot{ background: var(--lime); }
.final-form-copy h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0 0 20px;
  color: var(--cream);
}
.final-form-copy h2 em{ font-style: italic; color: var(--lime); }
.final-form-copy p{
  font-size: 17px;
  line-height: 1.55;
  color: rgba(245,239,224,0.8);
  max-width: 44ch;
  margin: 0;
}
.final-form-box{
  background: var(--paper);
  color: var(--ink);
  border-radius: 24px;
  padding: 36px;
}
.final-form-box h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 6px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.final-form-box h4 em{ font-style: italic; color: var(--forest-2); }
.final-form-box .form-lead{
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0 0 24px;
}
.form-row{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 18px;
}
.form-field{ display: flex; flex-direction: column; gap: 6px; }
.form-field label{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.form-field input{
  padding: 14px 18px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 12px;
  font-family: var(--sans);
  font-size: 14px;
  color: var(--ink);
  transition: border-color .2s;
  outline: none;
}
.form-field input:focus{ border-color: var(--forest); }
.form-consent{
  font-size: 11px;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 18px;
}
.form-consent a{ color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.final-form-box .btn{ width: 100%; justify-content: center; }

/* FAQ */
.faq{
  padding: 100px 0;
  background: var(--cream);
}
.faq-inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
}
.faq-header{
  margin-bottom: 48px;
}
.faq-header .section-tag{ margin-bottom: 20px; }
.faq-header h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
  max-width: 20ch;
}
.faq-header h2 em{ font-style: italic; color: var(--forest-2); }
.faq-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.faq-item{
  background: var(--paper);
  border-radius: 20px;
  overflow: hidden;
  transition: background .2s;
  border: 1px solid transparent;
}
.faq-item[open]{ background: var(--paper); border-color: var(--line-soft); }
.faq-item summary{
  cursor: pointer;
  padding: 22px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.2;
  letter-spacing: -0.005em;
  color: var(--ink);
  list-style: none;
  transition: color .2s;
}
.faq-item summary::-webkit-details-marker{ display: none; }
.faq-item summary:hover{ color: var(--forest-2); }
.faq-toggle{
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--forest);
  color: var(--cream);
  display: grid; place-items: center;
  flex-shrink: 0;
  transition: transform .3s cubic-bezier(.2,.7,.3,1), background .2s;
}
.faq-toggle svg{ width: 15px; height: 15px; }
.faq-item[open] .faq-toggle{
  transform: rotate(180deg);
  background: var(--ochre);
}
.faq-answer{
  padding: 0 28px 26px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-2);
  max-width: 68ch;
}
.faq-answer p{ margin: 0; }

/* Related articles */
.related{
  padding: 100px 0;
}
.related-inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}
.related-head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.related-head-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink);
}
.related-head-title em{ font-style: italic; color: var(--forest-2); }
.related-head-link{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap .3s;
}
.related-head-link:hover{ gap: 16px; }
.related-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px){ .related-grid{ grid-template-columns: 1fr; } }
.related-card{
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform .3s;
}
.related-card:hover{ transform: translateY(-4px); }
.related-card-image{
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--cream-2);
}
.related-card-image img{ width: 100%; height: 100%; object-fit: cover; }
.related-card-meta{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  display: flex;
  gap: 12px;
  align-items: center;
}
.related-card-meta .dot{
  width: 4px; height: 4px;
  background: var(--muted);
  border-radius: 50%;
  opacity: 0.5;
}
.related-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.2;
  margin: 0;
  letter-spacing: -0.005em;
  color: var(--ink);
}
.related-card p{
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-2);
}


/* ===== Income article page (ported from approved handoff) ===== */
/* ═══════════════════════════════════════════════════════════════
   ARTICLE PAGE — editorial reading experience
═══════════════════════════════════════════════════════════════ */

/* Article container — narrow readable column */
.article{
  padding: 60px 0 80px;
}
.article-wrap{
  max-width: 780px;
  margin: 0 auto;
  padding: 0 24px;
}
.article-wrap.wide{
  max-width: 1080px;
}

/* Breadcrumb */
.breadcrumb{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}
.breadcrumb a{ color: var(--forest); transition: color .2s; }
.breadcrumb a:hover{ color: var(--ochre); }
.breadcrumb .sep{ color: var(--line); }

/* Article meta bar */
.article-meta{
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding-bottom: 20px;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.article-meta-tag{
  padding: 6px 14px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: 999px;
  font-weight: 600;
}
.article-meta-row{ display: flex; align-items: center; gap: 10px; }
.article-meta .dot{
  width: 4px; height: 4px;
  background: var(--muted);
  border-radius: 50%;
  align-self: center;
  opacity: 0.5;
}

/* H1 */
.article-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(38px, 5.5vw, 68px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 32px;
}
.article-title em{ font-style: italic; color: var(--forest-2); }

/* Deck (subtitle beneath H1) */
.article-deck{
  font-family: var(--serif);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.35;
  color: var(--forest-2);
  margin: 0 0 40px;
  max-width: 60ch;
}

/* Author byline */
.article-byline{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 0;
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  margin-bottom: 48px;
}
.article-byline-avatar{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--sage);
  display: grid; place-items: center;
  color: var(--forest);
  font-family: var(--serif);
  font-size: 20px;
  flex-shrink: 0;
}
.article-byline-info{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.article-byline-name{
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}
.article-byline-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

/* Cover image */
.article-cover{
  margin: 0 0 48px;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--forest);
}
.article-cover--tall{ aspect-ratio: 4/3; }
.article-cover img{
  width: 100%; height: 100%;
  object-fit: cover;
}
/* Natural-aspect variants for article images */
.article-image--square{ aspect-ratio: 1/1 !important; max-width: 640px; margin-left: auto !important; margin-right: auto !important; }
.article-image--tall{ aspect-ratio: 4/3 !important; }

/* Country income grid — for salary section */
.country-grid{
  margin: 40px -40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (max-width: 900px){ .country-grid{ margin: 40px 0; } }
@media (max-width: 520px){ .country-grid{ grid-template-columns: 1fr; } }
.country-card{
  padding: 28px 30px;
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 220px;
  position: relative;
  overflow: hidden;
  transition: transform .3s;
}
.country-card:hover{ transform: translateY(-3px); }
.country-card-head{
  display: flex;
  align-items: center;
  gap: 14px;
}
.country-badge{
  width: 44px; height: 44px;
  border-radius: 50%;
  display: grid; place-items: center;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  flex-shrink: 0;
}
.country-name{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -0.005em;
  line-height: 1.1;
}
.country-income{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin: auto 0 0;
}
.country-income em{ font-style: italic; }
.country-income small{
  display: block;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.65;
  margin-top: 8px;
  font-weight: 500;
}
.country-desc{
  font-size: 14px;
  line-height: 1.5;
  opacity: 0.85;
  margin: 0;
}

/* Card color variants */
.country-card.ru{ background: var(--forest); color: var(--cream); }
.country-card.ru .country-badge{ background: var(--lime); color: var(--forest); }
.country-card.ru .country-income em{ color: var(--lime); }

.country-card.au{ background: var(--ochre); color: var(--paper); }
.country-card.au .country-badge{ background: rgba(251,247,236,0.2); color: var(--paper); }
.country-card.au .country-income em{ color: var(--cream); }

.country-card.eu{ background: var(--sage); color: var(--forest); }
.country-card.eu .country-badge{ background: var(--forest); color: var(--sage); }
.country-card.eu .country-income em{ color: var(--forest-2); }

.country-card.us{ background: var(--lime); color: var(--forest); }
.country-card.us .country-badge{ background: var(--forest); color: var(--lime); }
.country-card.us .country-income em{ color: var(--forest-2); }

/* Certificate showcase — real AWA cert with elegant frame */
.cert-showcase{
  margin: 48px -40px;
  padding: 40px;
  background: linear-gradient(135deg, var(--cream-2) 0%, var(--cream) 100%);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}
@media (max-width: 900px){ .cert-showcase{ margin: 40px 0; padding: 28px 20px; } }
.cert-showcase-frame{
  max-width: 620px;
  width: 100%;
  padding: 12px;
  background: var(--paper);
  border-radius: 12px;
  box-shadow: 0 24px 48px -20px rgba(30,42,36,0.3), 0 6px 12px rgba(30,42,36,0.08);
  transform: rotate(-0.6deg);
  transition: transform .35s cubic-bezier(.2,.7,.3,1);
}
.cert-showcase-frame:hover{ transform: rotate(0deg) scale(1.02); }
.cert-showcase-frame img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}
.cert-showcase-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  text-align: center;
  max-width: 60ch;
  line-height: 1.5;
}
.cert-showcase-caption em{
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--forest-2);
  font-weight: 400;
}
.article-cover-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  margin-top: 12px;
  padding-left: 16px;
  border-left: 2px solid var(--ochre);
}

/* Body typography */
.article-body{
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.75;
  color: var(--ink-2);
}
.article-body p{ margin: 0 0 24px; }
.article-body > p:first-of-type::first-letter{
  font-family: var(--serif);
  font-size: 76px;
  float: left;
  line-height: 0.85;
  margin: 8px 14px -4px 0;
  color: var(--ochre);
  font-weight: 400;
  font-style: italic;
}
.article-body strong{ color: var(--ink); font-weight: 600; }
.article-body em{ color: var(--forest-2); font-style: italic; }
.article-body a{
  color: var(--forest);
  text-decoration: underline;
  text-decoration-color: var(--ochre);
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
  transition: color .2s;
}
.article-body a:hover{ color: var(--ochre); }

/* H2 subheadings */
.article-body h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 56px 0 24px;
  max-width: 22ch;
}
.article-body h2 em{ font-style: italic; color: var(--forest-2); }

/* H3 subheadings — smaller than H2, mono-styled label */
.article-body h3.article-sub{
  font-family: var(--mono);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ochre);
  margin: 32px 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
  max-width: 100%;
}

/* Lists */
.article-body ul{
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}
.article-body ul li{
  padding: 8px 0 8px 32px;
  position: relative;
  line-height: 1.65;
}
.article-body ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  width: 18px;
  height: 2px;
  background: var(--ochre);
}
.article-body ul.checklist li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 22px;
  height: 22px;
  background: var(--sage);
  border-radius: 50%;
  color: var(--forest);
  display: inline-block;
}
.article-body ul.checklist li{
  padding-left: 38px;
}
.article-body ul.checklist li::after{
  content: "✓";
  position: absolute;
  left: 4px;
  top: 12px;
  width: 22px;
  height: 22px;
  color: var(--forest);
  font-weight: 700;
  font-size: 13px;
  line-height: 22px;
  text-align: center;
}

/* Inline image (between paragraphs) */
.article-image{
  margin: 40px -40px 40px;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--cream-2);
}
@media (max-width: 900px){ .article-image{ margin: 40px 0; } }
.article-image img{
  width: 100%; height: 100%;
  object-fit: cover;
}
.article-image-block{
  margin: 40px -40px 40px;
}
@media (max-width: 900px){ .article-image-block{ margin: 40px 0; } }
.article-image-block .article-image{ margin: 0 0 12px; }
.article-image-block .article-image-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  padding-left: 16px;
  border-left: 2px solid var(--ochre);
  max-width: 60ch;
}

/* Pull quote */
.pullquote{
  margin: 60px -40px;
  padding: 48px 60px;
  background: var(--cream-2);
  border-radius: var(--radius-md);
  position: relative;
}
@media (max-width: 900px){ .pullquote{ margin: 48px 0; padding: 40px 32px; } }
.pullquote::before{
  content: """;
  position: absolute;
  top: 12px;
  left: 32px;
  font-family: var(--serif);
  font-size: 100px;
  line-height: 1;
  color: var(--ochre);
  opacity: 0.35;
}
.pullquote-text{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.3;
  color: var(--ink);
  letter-spacing: -0.005em;
  margin: 0 0 20px;
  position: relative;
  z-index: 1;
}
.pullquote-text em{ font-style: italic; color: var(--forest-2); }
.pullquote-attr{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

/* Highlighted callout (green result box) */
.callout{
  margin: 48px -40px;
  padding: 32px 40px;
  background: var(--forest);
  color: var(--cream);
  border-radius: var(--radius-md);
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
@media (max-width: 900px){ .callout{ margin: 40px 0; padding: 32px; } }
.callout-icon{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--lime);
  color: var(--forest);
  display: grid; place-items: center;
  flex-shrink: 0;
  font-size: 22px;
  font-weight: 700;
}
.callout-text{
  font-family: var(--sans);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.55;
  color: var(--cream);
  margin: 0;
  padding-top: 6px;
}
.callout-text strong{ color: var(--lime); font-weight: 700; }
.callout-text em{ font-style: italic; color: var(--lime); }

/* Inline CTA (course promo) */
.article-cta{
  margin: 60px -40px;
  padding: 48px 44px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
}
@media (max-width: 900px){
  .article-cta{ margin: 48px 0; padding: 36px 28px; }
}
.article-cta .btn{ align-self: flex-start; }
.article-cta h3{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.15;
  letter-spacing: -0.005em;
  margin: 0 0 8px;
  color: var(--paper);
}
.article-cta h3 em{ font-style: italic; color: var(--cream); }
.article-cta p{
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(251,247,236,0.85);
  max-width: 52ch;
}
.article-cta .btn{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}
.article-cta .btn:hover{ background: var(--ink); }
.article-cta .btn .arr::before{ color: var(--cream); }

/* ═══════════════════════════════════════════════════════════════
   TESTIMONIALS CAROUSEL — Perkson + Tatyana
═══════════════════════════════════════════════════════════════ */
.testimonials{
  padding: 100px 0;
  background: var(--paper);
  position: relative;
}
.testimonials-inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
}
.testi-slider{
  position: relative;
  overflow: hidden;
}
.testi-track{
  display: flex;
  transition: transform .55s cubic-bezier(.2,.7,.3,1);
}
.testi-slide{
  flex: 0 0 100%;
  padding: 20px 40px;
  text-align: center;
  min-height: 480px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 720px){ .testi-slide{ padding: 20px 16px; } }
.testi-avatar{
  width: 96px; height: 96px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 32px;
  border: 2px solid var(--line-soft);
  flex-shrink: 0;
  background: var(--cream);
}
.testi-avatar img{ width: 100%; height: 100%; object-fit: cover; }
.testi-quote{
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink-2);
  max-width: 62ch;
  margin: 0 0 32px;
}
.testi-quote strong{ color: var(--ink); font-weight: 600; }
.testi-name{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  color: var(--ink);
  letter-spacing: -0.005em;
  margin: 0 0 6px;
}
.testi-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.testi-controls{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-top: 24px;
}
.testi-btn{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--cream);
  border: 1px solid var(--line);
  color: var(--forest);
  display: grid; place-items: center;
  cursor: pointer;
  transition: all .2s;
  font-family: inherit;
}
.testi-btn:hover{ background: var(--forest); color: var(--cream); border-color: var(--forest); }
.testi-btn svg{ width: 18px; height: 18px; }
.testi-dots{
  display: flex;
  gap: 8px;
}
.testi-dot{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--line);
  border: none;
  cursor: pointer;
  transition: background .2s, width .3s;
  padding: 0;
}
.testi-dot.active{
  background: var(--forest);
  width: 24px;
  border-radius: 4px;
}

/* Final form section — reused */
.final-form{
  background: var(--forest);
  color: var(--cream);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}
.final-form-decor{
  position: absolute;
  top: -60px;
  right: -80px;
  width: 400px;
  opacity: 0.15;
  color: var(--lime);
  pointer-events: none;
}
.final-form-inner{
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .final-form-inner{ grid-template-columns: 1fr; gap: 40px; } }
.final-form-copy .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
  margin-bottom: 32px;
}
.final-form-copy .section-tag .dot{ background: var(--lime); }
.final-form-copy h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0 0 20px;
  color: var(--cream);
}
.final-form-copy h2 em{ font-style: italic; color: var(--lime); }
.final-form-copy p{
  font-size: 17px;
  line-height: 1.55;
  color: rgba(245,239,224,0.8);
  max-width: 44ch;
  margin: 0;
}
.final-form-box{
  background: var(--paper);
  color: var(--ink);
  border-radius: 24px;
  padding: 36px;
}
.final-form-box h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 6px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.final-form-box h4 em{ font-style: italic; color: var(--forest-2); }
.final-form-box .form-lead{
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0 0 24px;
}
.form-row{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 18px;
}
.form-field{ display: flex; flex-direction: column; gap: 6px; }
.form-field label{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.form-field input{
  padding: 14px 18px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 12px;
  font-family: var(--sans);
  font-size: 14px;
  color: var(--ink);
  transition: border-color .2s;
  outline: none;
}
.form-field input:focus{ border-color: var(--forest); }
.form-consent{
  font-size: 11px;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 18px;
}
.form-consent a{ color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.final-form-box .btn{ width: 100%; justify-content: center; }

/* FAQ */
.faq{
  padding: 100px 0;
  background: var(--cream);
}
.faq-inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
}
.faq-header{
  margin-bottom: 48px;
}
.faq-header .section-tag{ margin-bottom: 20px; }
.faq-header h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
  max-width: 20ch;
}
.faq-header h2 em{ font-style: italic; color: var(--forest-2); }
.faq-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.faq-item{
  background: var(--paper);
  border-radius: 20px;
  overflow: hidden;
  transition: background .2s;
  border: 1px solid transparent;
}
.faq-item[open]{ background: var(--paper); border-color: var(--line-soft); }
.faq-item summary{
  cursor: pointer;
  padding: 22px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.2;
  letter-spacing: -0.005em;
  color: var(--ink);
  list-style: none;
  transition: color .2s;
}
.faq-item summary::-webkit-details-marker{ display: none; }
.faq-item summary:hover{ color: var(--forest-2); }
.faq-toggle{
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--forest);
  color: var(--cream);
  display: grid; place-items: center;
  flex-shrink: 0;
  transition: transform .3s cubic-bezier(.2,.7,.3,1), background .2s;
}
.faq-toggle svg{ width: 15px; height: 15px; }
.faq-item[open] .faq-toggle{
  transform: rotate(180deg);
  background: var(--ochre);
}
.faq-answer{
  padding: 0 28px 26px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-2);
  max-width: 68ch;
}
.faq-answer p{ margin: 0; }

/* Related articles */
.related{
  padding: 100px 0;
}
.related-inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}
.related-head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.related-head-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink);
}
.related-head-title em{ font-style: italic; color: var(--forest-2); }
.related-head-link{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap .3s;
}
.related-head-link:hover{ gap: 16px; }
.related-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px){ .related-grid{ grid-template-columns: 1fr; } }
.related-card{
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform .3s;
}
.related-card:hover{ transform: translateY(-4px); }
.related-card-image{
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--cream-2);
}
.related-card-image img{ width: 100%; height: 100%; object-fit: cover; }
.related-card-meta{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  display: flex;
  gap: 12px;
  align-items: center;
}
.related-card-meta .dot{
  width: 4px; height: 4px;
  background: var(--muted);
  border-radius: 50%;
  opacity: 0.5;
}
.related-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.2;
  margin: 0;
  letter-spacing: -0.005em;
  color: var(--ink);
}
.related-card p{
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-2);
}




/* ===== Profession article page (ported from approved handoff) ===== */
/* ═══════════════════════════════════════════════════════════════
   ARTICLE PAGE — editorial reading experience
═══════════════════════════════════════════════════════════════ */

/* Article container — narrow readable column */
.article{
  padding: 60px 0 80px;
}
.article-wrap{
  max-width: 780px;
  margin: 0 auto;
  padding: 0 24px;
}
.article-wrap.wide{
  max-width: 1080px;
}

/* Breadcrumb */
.breadcrumb{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}
.breadcrumb a{ color: var(--forest); transition: color .2s; }
.breadcrumb a:hover{ color: var(--ochre); }
.breadcrumb .sep{ color: var(--line); }

/* Article meta bar */
.article-meta{
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding-bottom: 20px;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.article-meta-tag{
  padding: 6px 14px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: 999px;
  font-weight: 600;
}
.article-meta-row{ display: flex; align-items: center; gap: 10px; }
.article-meta .dot{
  width: 4px; height: 4px;
  background: var(--muted);
  border-radius: 50%;
  align-self: center;
  opacity: 0.5;
}

/* H1 */
.article-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(38px, 5.5vw, 68px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 32px;
}
.article-title em{ font-style: italic; color: var(--forest-2); }

/* Deck (subtitle beneath H1) */
.article-deck{
  font-family: var(--serif);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.35;
  color: var(--forest-2);
  margin: 0 0 40px;
  max-width: 60ch;
}

/* Author byline */
.article-byline{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 0;
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  margin-bottom: 48px;
}
.article-byline-avatar{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--sage);
  display: grid; place-items: center;
  color: var(--forest);
  font-family: var(--serif);
  font-size: 20px;
  flex-shrink: 0;
}
.article-byline-info{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.article-byline-name{
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}
.article-byline-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

/* Cover image */
.article-cover{
  margin: 0 0 48px;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--forest);
}
.article-cover img{
  width: 100%; height: 100%;
  object-fit: cover;
}
.article-cover-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  margin-top: 12px;
  padding-left: 16px;
  border-left: 2px solid var(--ochre);
}

/* Body typography */
.article-body{
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.75;
  color: var(--ink-2);
}
.article-body p{ margin: 0 0 24px; }
.article-body > p:first-of-type::first-letter{
  font-family: var(--serif);
  font-size: 76px;
  float: left;
  line-height: 0.85;
  margin: 8px 14px -4px 0;
  color: var(--ochre);
  font-weight: 400;
  font-style: italic;
}
.article-body strong{ color: var(--ink); font-weight: 600; }
.article-body em{ color: var(--forest-2); font-style: italic; }
.article-body a{
  color: var(--forest);
  text-decoration: underline;
  text-decoration-color: var(--ochre);
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
  transition: color .2s;
}
.article-body a:hover{ color: var(--ochre); }

/* H2 subheadings */
.article-body h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 56px 0 24px;
  max-width: 22ch;
}
.article-body h2 em{ font-style: italic; color: var(--forest-2); }

/* Lists */
.article-body ul{
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}
.article-body ul li{
  padding: 8px 0 8px 32px;
  position: relative;
  line-height: 1.65;
}
.article-body ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  width: 18px;
  height: 2px;
  background: var(--ochre);
}
.article-body ul.checklist li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 22px;
  height: 22px;
  background: var(--sage);
  border-radius: 50%;
  color: var(--forest);
  display: inline-block;
}
.article-body ul.checklist li{
  padding-left: 38px;
}
.article-body ul.checklist li::after{
  content: "✓";
  position: absolute;
  left: 4px;
  top: 12px;
  width: 22px;
  height: 22px;
  color: var(--forest);
  font-weight: 700;
  font-size: 13px;
  line-height: 22px;
  text-align: center;
}

/* Inline image (between paragraphs) */
.article-image{
  margin: 40px -40px 40px;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--cream-2);
}
@media (max-width: 900px){ .article-image{ margin: 40px 0; } }
.article-image img{
  width: 100%; height: 100%;
  object-fit: cover;
}
.article-image-block{
  margin: 40px -40px 40px;
}
@media (max-width: 900px){ .article-image-block{ margin: 40px 0; } }
.article-image-block .article-image{ margin: 0 0 12px; }
.article-image-block .article-image-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  padding-left: 16px;
  border-left: 2px solid var(--ochre);
  max-width: 60ch;
}

/* Pull quote */
.pullquote{
  margin: 60px -40px;
  padding: 48px 60px;
  background: var(--cream-2);
  border-radius: var(--radius-md);
  position: relative;
}
@media (max-width: 900px){ .pullquote{ margin: 48px 0; padding: 40px 32px; } }
.pullquote::before{
  content: """;
  position: absolute;
  top: 12px;
  left: 32px;
  font-family: var(--serif);
  font-size: 100px;
  line-height: 1;
  color: var(--ochre);
  opacity: 0.35;
}
.pullquote-text{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.3;
  color: var(--ink);
  letter-spacing: -0.005em;
  margin: 0 0 20px;
  position: relative;
  z-index: 1;
}
.pullquote-text em{ font-style: italic; color: var(--forest-2); }
.pullquote-attr{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

/* Highlighted callout (green result box) */
.callout{
  margin: 48px -40px;
  padding: 32px 40px;
  background: var(--forest);
  color: var(--cream);
  border-radius: var(--radius-md);
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
@media (max-width: 900px){ .callout{ margin: 40px 0; padding: 32px; } }
.callout-icon{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--lime);
  color: var(--forest);
  display: grid; place-items: center;
  flex-shrink: 0;
  font-size: 22px;
  font-weight: 700;
}
.callout-text{
  font-family: var(--sans);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.55;
  color: var(--cream);
  margin: 0;
  padding-top: 6px;
}
.callout-text strong{ color: var(--lime); font-weight: 700; }
.callout-text em{ font-style: italic; color: var(--lime); }

/* Inline CTA (course promo) */
.article-cta{
  margin: 60px -40px;
  padding: 48px 44px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
}
@media (max-width: 900px){
  .article-cta{ margin: 48px 0; padding: 36px 28px; }
}
.article-cta .btn{ align-self: flex-start; }
.article-cta h3{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.15;
  letter-spacing: -0.005em;
  margin: 0 0 8px;
  color: var(--paper);
}
.article-cta h3 em{ font-style: italic; color: var(--cream); }
.article-cta p{
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(251,247,236,0.85);
  max-width: 52ch;
}
.article-cta .btn{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}
.article-cta .btn:hover{ background: var(--ink); }
.article-cta .btn .arr::before{ color: var(--cream); }

/* ═══════════════════════════════════════════════════════════════
   TESTIMONIALS CAROUSEL — Perkson + Tatyana
═══════════════════════════════════════════════════════════════ */
.testimonials{
  padding: 100px 0;
  background: var(--paper);
  position: relative;
}
.testimonials-inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
}
.testi-slider{
  position: relative;
  overflow: hidden;
}
.testi-track{
  display: flex;
  transition: transform .55s cubic-bezier(.2,.7,.3,1);
}
.testi-slide{
  flex: 0 0 100%;
  padding: 20px 40px;
  text-align: center;
  min-height: 480px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 720px){ .testi-slide{ padding: 20px 16px; } }
.testi-avatar{
  width: 96px; height: 96px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 32px;
  border: 2px solid var(--line-soft);
  flex-shrink: 0;
  background: var(--cream);
}
.testi-avatar img{ width: 100%; height: 100%; object-fit: cover; }
.testi-quote{
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink-2);
  max-width: 62ch;
  margin: 0 0 32px;
}
.testi-quote strong{ color: var(--ink); font-weight: 600; }
.testi-name{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  color: var(--ink);
  letter-spacing: -0.005em;
  margin: 0 0 6px;
}
.testi-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.testi-controls{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-top: 24px;
}
.testi-btn{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--cream);
  border: 1px solid var(--line);
  color: var(--forest);
  display: grid; place-items: center;
  cursor: pointer;
  transition: all .2s;
  font-family: inherit;
}
.testi-btn:hover{ background: var(--forest); color: var(--cream); border-color: var(--forest); }
.testi-btn svg{ width: 18px; height: 18px; }
.testi-dots{
  display: flex;
  gap: 8px;
}
.testi-dot{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--line);
  border: none;
  cursor: pointer;
  transition: background .2s, width .3s;
  padding: 0;
}
.testi-dot.active{
  background: var(--forest);
  width: 24px;
  border-radius: 4px;
}

/* Final form section — reused */
.final-form{
  background: var(--forest);
  color: var(--cream);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}
.final-form-decor{
  position: absolute;
  top: -60px;
  right: -80px;
  width: 400px;
  opacity: 0.15;
  color: var(--lime);
  pointer-events: none;
}
.final-form-inner{
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .final-form-inner{ grid-template-columns: 1fr; gap: 40px; } }
.final-form-copy .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
  margin-bottom: 32px;
}
.final-form-copy .section-tag .dot{ background: var(--lime); }
.final-form-copy h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0 0 20px;
  color: var(--cream);
}
.final-form-copy h2 em{ font-style: italic; color: var(--lime); }
.final-form-copy p{
  font-size: 17px;
  line-height: 1.55;
  color: rgba(245,239,224,0.8);
  max-width: 44ch;
  margin: 0;
}
.final-form-box{
  background: var(--paper);
  color: var(--ink);
  border-radius: 24px;
  padding: 36px;
}
.final-form-box h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 6px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.final-form-box h4 em{ font-style: italic; color: var(--forest-2); }
.final-form-box .form-lead{
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0 0 24px;
}
.form-row{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 18px;
}
.form-field{ display: flex; flex-direction: column; gap: 6px; }
.form-field label{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.form-field input{
  padding: 14px 18px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 12px;
  font-family: var(--sans);
  font-size: 14px;
  color: var(--ink);
  transition: border-color .2s;
  outline: none;
}
.form-field input:focus{ border-color: var(--forest); }
.form-consent{
  font-size: 11px;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 18px;
}
.form-consent a{ color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.final-form-box .btn{ width: 100%; justify-content: center; }

/* FAQ */
.faq{
  padding: 100px 0;
  background: var(--cream);
}
.faq-inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
}
.faq-header{
  margin-bottom: 48px;
}
.faq-header .section-tag{ margin-bottom: 20px; }
.faq-header h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
  max-width: 20ch;
}
.faq-header h2 em{ font-style: italic; color: var(--forest-2); }
.faq-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.faq-item{
  background: var(--paper);
  border-radius: 20px;
  overflow: hidden;
  transition: background .2s;
  border: 1px solid transparent;
}
.faq-item[open]{ background: var(--paper); border-color: var(--line-soft); }
.faq-item summary{
  cursor: pointer;
  padding: 22px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.2;
  letter-spacing: -0.005em;
  color: var(--ink);
  list-style: none;
  transition: color .2s;
}
.faq-item summary::-webkit-details-marker{ display: none; }
.faq-item summary:hover{ color: var(--forest-2); }
.faq-toggle{
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--forest);
  color: var(--cream);
  display: grid; place-items: center;
  flex-shrink: 0;
  transition: transform .3s cubic-bezier(.2,.7,.3,1), background .2s;
}
.faq-toggle svg{ width: 15px; height: 15px; }
.faq-item[open] .faq-toggle{
  transform: rotate(180deg);
  background: var(--ochre);
}
.faq-answer{
  padding: 0 28px 26px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-2);
  max-width: 68ch;
}
.faq-answer p{ margin: 0; }

/* Related articles */
.related{
  padding: 100px 0;
}
.related-inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}
.related-head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.related-head-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink);
}
.related-head-title em{ font-style: italic; color: var(--forest-2); }
.related-head-link{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap .3s;
}
.related-head-link:hover{ gap: 16px; }
.related-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px){ .related-grid{ grid-template-columns: 1fr; } }
.related-card{
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform .3s;
}
.related-card:hover{ transform: translateY(-4px); }
.related-card-image{
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--cream-2);
}
.related-card-image img{ width: 100%; height: 100%; object-fit: cover; }
.related-card-meta{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  display: flex;
  gap: 12px;
  align-items: center;
}
.related-card-meta .dot{
  width: 4px; height: 4px;
  background: var(--muted);
  border-radius: 50%;
  opacity: 0.5;
}
.related-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.2;
  margin: 0;
  letter-spacing: -0.005em;
  color: var(--ink);
}
.related-card p{
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-2);
}


/* ===== How-to article page (ported from approved handoff) ===== */
/* ═══════════════════════════════════════════════════════════════
   ARTICLE PAGE — editorial reading experience
═══════════════════════════════════════════════════════════════ */

/* Article container — narrow readable column */
.article{
  padding: 60px 0 80px;
}
.article-wrap{
  max-width: 780px;
  margin: 0 auto;
  padding: 0 24px;
}
.article-wrap.wide{
  max-width: 1080px;
}

/* Breadcrumb */
.breadcrumb{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}
.breadcrumb a{ color: var(--forest); transition: color .2s; }
.breadcrumb a:hover{ color: var(--ochre); }
.breadcrumb .sep{ color: var(--line); }

/* Article meta bar */
.article-meta{
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding-bottom: 20px;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.article-meta-tag{
  padding: 6px 14px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: 999px;
  font-weight: 600;
}
.article-meta-row{ display: flex; align-items: center; gap: 10px; }
.article-meta .dot{
  width: 4px; height: 4px;
  background: var(--muted);
  border-radius: 50%;
  align-self: center;
  opacity: 0.5;
}

/* H1 */
.article-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(38px, 5.5vw, 68px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 32px;
}
.article-title em{ font-style: italic; color: var(--forest-2); }

/* Deck (subtitle beneath H1) */
.article-deck{
  font-family: var(--serif);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.35;
  color: var(--forest-2);
  margin: 0 0 40px;
  max-width: 60ch;
}

/* Author byline */
.article-byline{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 0;
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  margin-bottom: 48px;
}
.article-byline-avatar{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--sage);
  display: grid; place-items: center;
  color: var(--forest);
  font-family: var(--serif);
  font-size: 20px;
  flex-shrink: 0;
}
.article-byline-info{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.article-byline-name{
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}
.article-byline-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

/* Cover image */
.article-cover{
  margin: 0 0 48px;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--forest);
}
.article-cover--tall{ aspect-ratio: 4/3; }
.article-cover img{
  width: 100%; height: 100%;
  object-fit: cover;
}
/* Natural-aspect variants for article images */
.article-image--square{ aspect-ratio: 1/1 !important; max-width: 640px; margin-left: auto !important; margin-right: auto !important; }
.article-image--tall{ aspect-ratio: 4/3 !important; }

/* Certificate showcase — real AWA cert with elegant frame */
.cert-showcase{
  margin: 48px -40px;
  padding: 40px;
  background: linear-gradient(135deg, var(--cream-2) 0%, var(--cream) 100%);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}
@media (max-width: 900px){ .cert-showcase{ margin: 40px 0; padding: 28px 20px; } }
.cert-showcase-frame{
  max-width: 620px;
  width: 100%;
  padding: 12px;
  background: var(--paper);
  border-radius: 12px;
  box-shadow: 0 24px 48px -20px rgba(30,42,36,0.3), 0 6px 12px rgba(30,42,36,0.08);
  transform: rotate(-0.6deg);
  transition: transform .35s cubic-bezier(.2,.7,.3,1);
}
.cert-showcase-frame:hover{ transform: rotate(0deg) scale(1.02); }
.cert-showcase-frame img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}
.cert-showcase-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  text-align: center;
  max-width: 60ch;
  line-height: 1.5;
}
.cert-showcase-caption em{
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--forest-2);
  font-weight: 400;
}
.article-cover-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  margin-top: 12px;
  padding-left: 16px;
  border-left: 2px solid var(--ochre);
}

/* Body typography */
.article-body{
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.75;
  color: var(--ink-2);
}
.article-body p{ margin: 0 0 24px; }
.article-body > p:first-of-type::first-letter{
  font-family: var(--serif);
  font-size: 76px;
  float: left;
  line-height: 0.85;
  margin: 8px 14px -4px 0;
  color: var(--ochre);
  font-weight: 400;
  font-style: italic;
}
.article-body strong{ color: var(--ink); font-weight: 600; }
.article-body em{ color: var(--forest-2); font-style: italic; }
.article-body a{
  color: var(--forest);
  text-decoration: underline;
  text-decoration-color: var(--ochre);
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
  transition: color .2s;
}
.article-body a:hover{ color: var(--ochre); }

/* H2 subheadings */
.article-body h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 56px 0 24px;
  max-width: 22ch;
}
.article-body h2 em{ font-style: italic; color: var(--forest-2); }

/* Lists */
.article-body ul{
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}
.article-body ul li{
  padding: 8px 0 8px 32px;
  position: relative;
  line-height: 1.65;
}
.article-body ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  width: 18px;
  height: 2px;
  background: var(--ochre);
}
.article-body ul.checklist li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 22px;
  height: 22px;
  background: var(--sage);
  border-radius: 50%;
  color: var(--forest);
  display: inline-block;
}
.article-body ul.checklist li{
  padding-left: 38px;
}
.article-body ul.checklist li::after{
  content: "✓";
  position: absolute;
  left: 4px;
  top: 12px;
  width: 22px;
  height: 22px;
  color: var(--forest);
  font-weight: 700;
  font-size: 13px;
  line-height: 22px;
  text-align: center;
}

/* Inline image (between paragraphs) */
.article-image{
  margin: 40px -40px 40px;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--cream-2);
}
@media (max-width: 900px){ .article-image{ margin: 40px 0; } }
.article-image img{
  width: 100%; height: 100%;
  object-fit: cover;
}
.article-image-block{
  margin: 40px -40px 40px;
}
@media (max-width: 900px){ .article-image-block{ margin: 40px 0; } }
.article-image-block .article-image{ margin: 0 0 12px; }
.article-image-block .article-image-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  padding-left: 16px;
  border-left: 2px solid var(--ochre);
  max-width: 60ch;
}

/* Pull quote */
.pullquote{
  margin: 60px -40px;
  padding: 48px 60px;
  background: var(--cream-2);
  border-radius: var(--radius-md);
  position: relative;
}
@media (max-width: 900px){ .pullquote{ margin: 48px 0; padding: 40px 32px; } }
.pullquote::before{
  content: """;
  position: absolute;
  top: 12px;
  left: 32px;
  font-family: var(--serif);
  font-size: 100px;
  line-height: 1;
  color: var(--ochre);
  opacity: 0.35;
}
.pullquote-text{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.3;
  color: var(--ink);
  letter-spacing: -0.005em;
  margin: 0 0 20px;
  position: relative;
  z-index: 1;
}
.pullquote-text em{ font-style: italic; color: var(--forest-2); }
.pullquote-attr{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

/* Highlighted callout (green result box) */
.callout{
  margin: 48px -40px;
  padding: 32px 40px;
  background: var(--forest);
  color: var(--cream);
  border-radius: var(--radius-md);
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
@media (max-width: 900px){ .callout{ margin: 40px 0; padding: 32px; } }
.callout-icon{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--lime);
  color: var(--forest);
  display: grid; place-items: center;
  flex-shrink: 0;
  font-size: 22px;
  font-weight: 700;
}
.callout-text{
  font-family: var(--sans);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.55;
  color: var(--cream);
  margin: 0;
  padding-top: 6px;
}
.callout-text strong{ color: var(--lime); font-weight: 700; }
.callout-text em{ font-style: italic; color: var(--lime); }

/* Inline CTA (course promo) */
.article-cta{
  margin: 60px -40px;
  padding: 48px 44px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
}
@media (max-width: 900px){
  .article-cta{ margin: 48px 0; padding: 36px 28px; }
}
.article-cta .btn{ align-self: flex-start; }
.article-cta h3{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.15;
  letter-spacing: -0.005em;
  margin: 0 0 8px;
  color: var(--paper);
}
.article-cta h3 em{ font-style: italic; color: var(--cream); }
.article-cta p{
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(251,247,236,0.85);
  max-width: 52ch;
}
.article-cta .btn{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}
.article-cta .btn:hover{ background: var(--ink); }
.article-cta .btn .arr::before{ color: var(--cream); }

/* ═══════════════════════════════════════════════════════════════
   TESTIMONIALS CAROUSEL — Perkson + Tatyana
═══════════════════════════════════════════════════════════════ */
.testimonials{
  padding: 100px 0;
  background: var(--paper);
  position: relative;
}
.testimonials-inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
}
.testi-slider{
  position: relative;
  overflow: hidden;
}
.testi-track{
  display: flex;
  transition: transform .55s cubic-bezier(.2,.7,.3,1);
}
.testi-slide{
  flex: 0 0 100%;
  padding: 20px 40px;
  text-align: center;
  min-height: 480px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 720px){ .testi-slide{ padding: 20px 16px; } }
.testi-avatar{
  width: 96px; height: 96px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 32px;
  border: 2px solid var(--line-soft);
  flex-shrink: 0;
  background: var(--cream);
}
.testi-avatar img{ width: 100%; height: 100%; object-fit: cover; }
.testi-quote{
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink-2);
  max-width: 62ch;
  margin: 0 0 32px;
}
.testi-quote strong{ color: var(--ink); font-weight: 600; }
.testi-name{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  color: var(--ink);
  letter-spacing: -0.005em;
  margin: 0 0 6px;
}
.testi-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.testi-controls{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-top: 24px;
}
.testi-btn{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--cream);
  border: 1px solid var(--line);
  color: var(--forest);
  display: grid; place-items: center;
  cursor: pointer;
  transition: all .2s;
  font-family: inherit;
}
.testi-btn:hover{ background: var(--forest); color: var(--cream); border-color: var(--forest); }
.testi-btn svg{ width: 18px; height: 18px; }
.testi-dots{
  display: flex;
  gap: 8px;
}
.testi-dot{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--line);
  border: none;
  cursor: pointer;
  transition: background .2s, width .3s;
  padding: 0;
}
.testi-dot.active{
  background: var(--forest);
  width: 24px;
  border-radius: 4px;
}

/* Final form section — reused */
.final-form{
  background: var(--forest);
  color: var(--cream);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}
.final-form-decor{
  position: absolute;
  top: -60px;
  right: -80px;
  width: 400px;
  opacity: 0.15;
  color: var(--lime);
  pointer-events: none;
}
.final-form-inner{
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .final-form-inner{ grid-template-columns: 1fr; gap: 40px; } }
.final-form-copy .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
  margin-bottom: 32px;
}
.final-form-copy .section-tag .dot{ background: var(--lime); }
.final-form-copy h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0 0 20px;
  color: var(--cream);
}
.final-form-copy h2 em{ font-style: italic; color: var(--lime); }
.final-form-copy p{
  font-size: 17px;
  line-height: 1.55;
  color: rgba(245,239,224,0.8);
  max-width: 44ch;
  margin: 0;
}
.final-form-box{
  background: var(--paper);
  color: var(--ink);
  border-radius: 24px;
  padding: 36px;
}
.final-form-box h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 6px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.final-form-box h4 em{ font-style: italic; color: var(--forest-2); }
.final-form-box .form-lead{
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0 0 24px;
}
.form-row{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 18px;
}
.form-field{ display: flex; flex-direction: column; gap: 6px; }
.form-field label{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.form-field input{
  padding: 14px 18px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 12px;
  font-family: var(--sans);
  font-size: 14px;
  color: var(--ink);
  transition: border-color .2s;
  outline: none;
}
.form-field input:focus{ border-color: var(--forest); }
.form-consent{
  font-size: 11px;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 18px;
}
.form-consent a{ color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.final-form-box .btn{ width: 100%; justify-content: center; }

/* FAQ */
.faq{
  padding: 100px 0;
  background: var(--cream);
}
.faq-inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
}
.faq-header{
  margin-bottom: 48px;
}
.faq-header .section-tag{ margin-bottom: 20px; }
.faq-header h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
  max-width: 20ch;
}
.faq-header h2 em{ font-style: italic; color: var(--forest-2); }
.faq-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.faq-item{
  background: var(--paper);
  border-radius: 20px;
  overflow: hidden;
  transition: background .2s;
  border: 1px solid transparent;
}
.faq-item[open]{ background: var(--paper); border-color: var(--line-soft); }
.faq-item summary{
  cursor: pointer;
  padding: 22px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.2;
  letter-spacing: -0.005em;
  color: var(--ink);
  list-style: none;
  transition: color .2s;
}
.faq-item summary::-webkit-details-marker{ display: none; }
.faq-item summary:hover{ color: var(--forest-2); }
.faq-toggle{
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--forest);
  color: var(--cream);
  display: grid; place-items: center;
  flex-shrink: 0;
  transition: transform .3s cubic-bezier(.2,.7,.3,1), background .2s;
}
.faq-toggle svg{ width: 15px; height: 15px; }
.faq-item[open] .faq-toggle{
  transform: rotate(180deg);
  background: var(--ochre);
}
.faq-answer{
  padding: 0 28px 26px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-2);
  max-width: 68ch;
}
.faq-answer p{ margin: 0; }

/* Related articles */
.related{
  padding: 100px 0;
}
.related-inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}
.related-head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.related-head-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink);
}
.related-head-title em{ font-style: italic; color: var(--forest-2); }
.related-head-link{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap .3s;
}
.related-head-link:hover{ gap: 16px; }
.related-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px){ .related-grid{ grid-template-columns: 1fr; } }
.related-card{
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform .3s;
}
.related-card:hover{ transform: translateY(-4px); }
.related-card-image{
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--cream-2);
}
.related-card-image img{ width: 100%; height: 100%; object-fit: cover; }
.related-card-meta{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  display: flex;
  gap: 12px;
  align-items: center;
}
.related-card-meta .dot{
  width: 4px; height: 4px;
  background: var(--muted);
  border-radius: 50%;
  opacity: 0.5;
}
.related-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.2;
  margin: 0;
  letter-spacing: -0.005em;
  color: var(--ink);
}
.related-card p{
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-2);
}


/* ===== Comparison article page (ported from approved handoff) ===== */
/* ═══════════════════════════════════════════════════════════════
   ARTICLE PAGE — editorial reading experience
═══════════════════════════════════════════════════════════════ */

/* Article container — narrow readable column */
.article{
  padding: 60px 0 80px;
}
.article-wrap{
  max-width: 780px;
  margin: 0 auto;
  padding: 0 24px;
}
.article-wrap.wide{
  max-width: 1080px;
}

/* Breadcrumb */
.breadcrumb{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 500;
}
.breadcrumb a{ color: var(--forest); transition: color .2s; }
.breadcrumb a:hover{ color: var(--ochre); }
.breadcrumb .sep{ color: var(--line); }

/* Article meta bar */
.article-meta{
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding-bottom: 20px;
  margin-bottom: 32px;
  border-bottom: 1px solid var(--line);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.article-meta-tag{
  padding: 6px 14px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: 999px;
  font-weight: 600;
}
.article-meta-row{ display: flex; align-items: center; gap: 10px; }
.article-meta .dot{
  width: 4px; height: 4px;
  background: var(--muted);
  border-radius: 50%;
  align-self: center;
  opacity: 0.5;
}

/* H1 */
.article-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(38px, 5.5vw, 68px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0 0 32px;
}
.article-title em{ font-style: italic; color: var(--forest-2); }

/* Deck (subtitle beneath H1) */
.article-deck{
  font-family: var(--serif);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(20px, 2vw, 24px);
  line-height: 1.35;
  color: var(--forest-2);
  margin: 0 0 40px;
  max-width: 60ch;
}

/* Author byline */
.article-byline{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 0;
  border-top: 1px solid var(--line-soft);
  border-bottom: 1px solid var(--line-soft);
  margin-bottom: 48px;
}
.article-byline-avatar{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--sage);
  display: grid; place-items: center;
  color: var(--forest);
  font-family: var(--serif);
  font-size: 20px;
  flex-shrink: 0;
}
.article-byline-info{
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.article-byline-name{
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}
.article-byline-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

/* Cover image */
.article-cover{
  margin: 0 0 48px;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--forest);
}
.article-cover--tall{ aspect-ratio: 4/3; }
.article-cover img{
  width: 100%; height: 100%;
  object-fit: cover;
}
/* Natural-aspect variants for article images */
.article-image--square{ aspect-ratio: 1/1 !important; max-width: 640px; margin-left: auto !important; margin-right: auto !important; }
.article-image--tall{ aspect-ratio: 4/3 !important; }

/* Compare grid — three professions side by side */
.compare-grid{
  margin: 40px -40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 900px){ .compare-grid{ margin: 40px 0; grid-template-columns: 1fr; } }
.compare-card{
  padding: 32px 26px;
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  overflow: hidden;
  transition: transform .3s;
  min-height: 380px;
}
.compare-card:hover{ transform: translateY(-4px); }
.compare-card-num{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  opacity: 0.65;
}
.compare-card-icon{
  width: 48px; height: 48px;
  border-radius: 50%;
  display: grid; place-items: center;
  flex-shrink: 0;
}
.compare-card-icon svg{ width: 24px; height: 24px; }
.compare-card-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 28px;
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin: 0;
}
.compare-card-title em{ font-style: italic; }
.compare-card-focus{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 500;
  opacity: 0.7;
  margin-top: -8px;
}
.compare-card-focus b{ font-weight: 700; opacity: 1; }
.compare-card ul{
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.compare-card ul li{
  font-size: 14px;
  line-height: 1.45;
  padding-left: 22px;
  position: relative;
  opacity: 0.9;
}
.compare-card ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 14px;
  height: 1.5px;
  background: currentColor;
  opacity: 0.5;
}
.compare-card-tag{
  margin-top: auto;
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(0,0,0,0.15);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  align-self: flex-start;
}

/* Card variants */
.compare-card.nutrition{ background: var(--sage); color: var(--forest); }
.compare-card.nutrition .compare-card-icon{ background: var(--forest); color: var(--sage); }
.compare-card.nutrition .compare-card-title em{ color: var(--forest-2); }
.compare-card.nutrition .compare-card-tag{ background: rgba(30,42,36,0.15); color: var(--forest); }

.compare-card.health{ background: var(--ochre); color: var(--paper); }
.compare-card.health .compare-card-icon{ background: rgba(251,247,236,0.2); color: var(--paper); }
.compare-card.health .compare-card-title em{ color: var(--cream); }
.compare-card.health .compare-card-tag{ background: rgba(251,247,236,0.2); color: var(--paper); }

.compare-card.wellness{
  background: var(--forest);
  color: var(--cream);
  transform: scale(1.02);
  box-shadow: 0 20px 48px -20px rgba(30,42,36,0.4);
}
.compare-card.wellness:hover{ transform: scale(1.02) translateY(-4px); }
.compare-card.wellness .compare-card-icon{ background: var(--lime); color: var(--forest); }
.compare-card.wellness .compare-card-title em{ color: var(--lime); }
.compare-card.wellness .compare-card-tag{ background: var(--lime); color: var(--forest); }
.compare-card.wellness .compare-card-num{ color: var(--lime); opacity: 0.85; }
@media (max-width: 900px){
  .compare-card.wellness, .compare-card.wellness:hover{ transform: none; }
}

/* Country income grid — for salary section */
.country-grid{
  margin: 40px -40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
@media (max-width: 900px){ .country-grid{ margin: 40px 0; } }
@media (max-width: 520px){ .country-grid{ grid-template-columns: 1fr; } }
.country-card{
  padding: 28px 30px;
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 220px;
  position: relative;
  overflow: hidden;
  transition: transform .3s;
}
.country-card:hover{ transform: translateY(-3px); }
.country-card-head{
  display: flex;
  align-items: center;
  gap: 14px;
}
.country-badge{
  width: 44px; height: 44px;
  border-radius: 50%;
  display: grid; place-items: center;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  flex-shrink: 0;
}
.country-name{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  letter-spacing: -0.005em;
  line-height: 1.1;
}
.country-income{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin: auto 0 0;
}
.country-income em{ font-style: italic; }
.country-income small{
  display: block;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.65;
  margin-top: 8px;
  font-weight: 500;
}
.country-desc{
  font-size: 14px;
  line-height: 1.5;
  opacity: 0.85;
  margin: 0;
}

/* Card color variants */
.country-card.ru{ background: var(--forest); color: var(--cream); }
.country-card.ru .country-badge{ background: var(--lime); color: var(--forest); }
.country-card.ru .country-income em{ color: var(--lime); }

.country-card.au{ background: var(--ochre); color: var(--paper); }
.country-card.au .country-badge{ background: rgba(251,247,236,0.2); color: var(--paper); }
.country-card.au .country-income em{ color: var(--cream); }

.country-card.eu{ background: var(--sage); color: var(--forest); }
.country-card.eu .country-badge{ background: var(--forest); color: var(--sage); }
.country-card.eu .country-income em{ color: var(--forest-2); }

.country-card.us{ background: var(--lime); color: var(--forest); }
.country-card.us .country-badge{ background: var(--forest); color: var(--lime); }
.country-card.us .country-income em{ color: var(--forest-2); }

/* Certificate showcase — real AWA cert with elegant frame */
.cert-showcase{
  margin: 48px -40px;
  padding: 40px;
  background: linear-gradient(135deg, var(--cream-2) 0%, var(--cream) 100%);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}
@media (max-width: 900px){ .cert-showcase{ margin: 40px 0; padding: 28px 20px; } }
.cert-showcase-frame{
  max-width: 620px;
  width: 100%;
  padding: 12px;
  background: var(--paper);
  border-radius: 12px;
  box-shadow: 0 24px 48px -20px rgba(30,42,36,0.3), 0 6px 12px rgba(30,42,36,0.08);
  transform: rotate(-0.6deg);
  transition: transform .35s cubic-bezier(.2,.7,.3,1);
}
.cert-showcase-frame:hover{ transform: rotate(0deg) scale(1.02); }
.cert-showcase-frame img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}
.cert-showcase-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  text-align: center;
  max-width: 60ch;
  line-height: 1.5;
}
.cert-showcase-caption em{
  font-family: var(--serif);
  font-style: italic;
  font-size: 15px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--forest-2);
  font-weight: 400;
}
.article-cover-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  margin-top: 12px;
  padding-left: 16px;
  border-left: 2px solid var(--ochre);
}

/* Body typography */
.article-body{
  font-family: var(--sans);
  font-size: 18px;
  line-height: 1.75;
  color: var(--ink-2);
}
.article-body p{ margin: 0 0 24px; }
.article-body > p:first-of-type::first-letter{
  font-family: var(--serif);
  font-size: 76px;
  float: left;
  line-height: 0.85;
  margin: 8px 14px -4px 0;
  color: var(--ochre);
  font-weight: 400;
  font-style: italic;
}
.article-body strong{ color: var(--ink); font-weight: 600; }
.article-body em{ color: var(--forest-2); font-style: italic; }
.article-body a{
  color: var(--forest);
  text-decoration: underline;
  text-decoration-color: var(--ochre);
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
  transition: color .2s;
}
.article-body a:hover{ color: var(--ochre); }

/* H2 subheadings */
.article-body h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 56px 0 24px;
  max-width: 22ch;
}
.article-body h2 em{ font-style: italic; color: var(--forest-2); }

/* H3 subheadings — smaller than H2, mono-styled label */
.article-body h3.article-sub{
  font-family: var(--mono);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ochre);
  margin: 32px 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
  max-width: 100%;
}

/* Lists */
.article-body ul{
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}
.article-body ul li{
  padding: 8px 0 8px 32px;
  position: relative;
  line-height: 1.65;
}
.article-body ul li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 20px;
  width: 18px;
  height: 2px;
  background: var(--ochre);
}
.article-body ul.checklist li::before{
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 22px;
  height: 22px;
  background: var(--sage);
  border-radius: 50%;
  color: var(--forest);
  display: inline-block;
}
.article-body ul.checklist li{
  padding-left: 38px;
}
.article-body ul.checklist li::after{
  content: "✓";
  position: absolute;
  left: 4px;
  top: 12px;
  width: 22px;
  height: 22px;
  color: var(--forest);
  font-weight: 700;
  font-size: 13px;
  line-height: 22px;
  text-align: center;
}

/* Inline image (between paragraphs) */
.article-image{
  margin: 40px -40px 40px;
  border-radius: var(--radius-md);
  overflow: hidden;
  aspect-ratio: 16/9;
  background: var(--cream-2);
}
@media (max-width: 900px){ .article-image{ margin: 40px 0; } }
.article-image img{
  width: 100%; height: 100%;
  object-fit: cover;
}
.article-image-block{
  margin: 40px -40px 40px;
}
@media (max-width: 900px){ .article-image-block{ margin: 40px 0; } }
.article-image-block .article-image{ margin: 0 0 12px; }
.article-image-block .article-image-caption{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  padding-left: 16px;
  border-left: 2px solid var(--ochre);
  max-width: 60ch;
}

/* Pull quote */
.pullquote{
  margin: 60px -40px;
  padding: 48px 60px;
  background: var(--cream-2);
  border-radius: var(--radius-md);
  position: relative;
}
@media (max-width: 900px){ .pullquote{ margin: 48px 0; padding: 40px 32px; } }
.pullquote::before{
  content: """;
  position: absolute;
  top: 12px;
  left: 32px;
  font-family: var(--serif);
  font-size: 100px;
  line-height: 1;
  color: var(--ochre);
  opacity: 0.35;
}
.pullquote-text{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(22px, 2.5vw, 30px);
  line-height: 1.3;
  color: var(--ink);
  letter-spacing: -0.005em;
  margin: 0 0 20px;
  position: relative;
  z-index: 1;
}
.pullquote-text em{ font-style: italic; color: var(--forest-2); }
.pullquote-attr{
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

/* Highlighted callout (green result box) */
.callout{
  margin: 48px -40px;
  padding: 32px 40px;
  background: var(--forest);
  color: var(--cream);
  border-radius: var(--radius-md);
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
@media (max-width: 900px){ .callout{ margin: 40px 0; padding: 32px; } }
.callout-icon{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--lime);
  color: var(--forest);
  display: grid; place-items: center;
  flex-shrink: 0;
  font-size: 22px;
  font-weight: 700;
}
.callout-text{
  font-family: var(--sans);
  font-weight: 500;
  font-size: 18px;
  line-height: 1.55;
  color: var(--cream);
  margin: 0;
  padding-top: 6px;
}
.callout-text strong{ color: var(--lime); font-weight: 700; }
.callout-text em{ font-style: italic; color: var(--lime); }

/* Inline CTA (course promo) */
.article-cta{
  margin: 60px -40px;
  padding: 48px 44px;
  background: var(--ochre);
  color: var(--paper);
  border-radius: var(--radius-md);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 28px;
}
@media (max-width: 900px){
  .article-cta{ margin: 48px 0; padding: 36px 28px; }
}
.article-cta .btn{ align-self: flex-start; }
.article-cta h3{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.15;
  letter-spacing: -0.005em;
  margin: 0 0 8px;
  color: var(--paper);
}
.article-cta h3 em{ font-style: italic; color: var(--cream); }
.article-cta p{
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(251,247,236,0.85);
  max-width: 52ch;
}
.article-cta .btn{
  background: var(--forest);
  color: var(--cream);
  border-color: var(--forest);
}
.article-cta .btn:hover{ background: var(--ink); }
.article-cta .btn .arr::before{ color: var(--cream); }

/* ═══════════════════════════════════════════════════════════════
   TESTIMONIALS CAROUSEL — Perkson + Tatyana
═══════════════════════════════════════════════════════════════ */
.testimonials{
  padding: 100px 0;
  background: var(--paper);
  position: relative;
}
.testimonials-inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
}
.testi-slider{
  position: relative;
  overflow: hidden;
}
.testi-track{
  display: flex;
  transition: transform .55s cubic-bezier(.2,.7,.3,1);
}
.testi-slide{
  flex: 0 0 100%;
  padding: 20px 40px;
  text-align: center;
  min-height: 480px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 720px){ .testi-slide{ padding: 20px 16px; } }
.testi-avatar{
  width: 96px; height: 96px;
  border-radius: 50%;
  overflow: hidden;
  margin-bottom: 32px;
  border: 2px solid var(--line-soft);
  flex-shrink: 0;
  background: var(--cream);
}
.testi-avatar img{ width: 100%; height: 100%; object-fit: cover; }
.testi-quote{
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink-2);
  max-width: 62ch;
  margin: 0 0 32px;
}
.testi-quote strong{ color: var(--ink); font-weight: 600; }
.testi-name{
  font-family: var(--serif);
  font-weight: 500;
  font-size: 22px;
  color: var(--ink);
  letter-spacing: -0.005em;
  margin: 0 0 6px;
}
.testi-role{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.testi-controls{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin-top: 24px;
}
.testi-btn{
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--cream);
  border: 1px solid var(--line);
  color: var(--forest);
  display: grid; place-items: center;
  cursor: pointer;
  transition: all .2s;
  font-family: inherit;
}
.testi-btn:hover{ background: var(--forest); color: var(--cream); border-color: var(--forest); }
.testi-btn svg{ width: 18px; height: 18px; }
.testi-dots{
  display: flex;
  gap: 8px;
}
.testi-dot{
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--line);
  border: none;
  cursor: pointer;
  transition: background .2s, width .3s;
  padding: 0;
}
.testi-dot.active{
  background: var(--forest);
  width: 24px;
  border-radius: 4px;
}

/* Final form section — reused */
.final-form{
  background: var(--forest);
  color: var(--cream);
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}
.final-form-decor{
  position: absolute;
  top: -60px;
  right: -80px;
  width: 400px;
  opacity: 0.15;
  color: var(--lime);
  pointer-events: none;
}
.final-form-inner{
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 60px;
  align-items: center;
  position: relative;
  z-index: 2;
}
@media (max-width: 900px){ .final-form-inner{ grid-template-columns: 1fr; gap: 40px; } }
.final-form-copy .section-tag{
  background: rgba(245,239,224,0.08);
  border-color: rgba(245,239,224,0.15);
  color: var(--cream);
  margin-bottom: 32px;
}
.final-form-copy .section-tag .dot{ background: var(--lime); }
.final-form-copy h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(36px, 4.5vw, 60px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0 0 20px;
  color: var(--cream);
}
.final-form-copy h2 em{ font-style: italic; color: var(--lime); }
.final-form-copy p{
  font-size: 17px;
  line-height: 1.55;
  color: rgba(245,239,224,0.8);
  max-width: 44ch;
  margin: 0;
}
.final-form-box{
  background: var(--paper);
  color: var(--ink);
  border-radius: 24px;
  padding: 36px;
}
.final-form-box h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 24px;
  line-height: 1.15;
  margin: 0 0 6px;
  color: var(--ink);
  letter-spacing: -0.005em;
}
.final-form-box h4 em{ font-style: italic; color: var(--forest-2); }
.final-form-box .form-lead{
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0 0 24px;
}
.form-row{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 18px;
}
.form-field{ display: flex; flex-direction: column; gap: 6px; }
.form-field label{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}
.form-field input{
  padding: 14px 18px;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 12px;
  font-family: var(--sans);
  font-size: 14px;
  color: var(--ink);
  transition: border-color .2s;
  outline: none;
}
.form-field input:focus{ border-color: var(--forest); }
.form-consent{
  font-size: 11px;
  line-height: 1.4;
  color: var(--muted);
  margin: 0 0 18px;
}
.form-consent a{ color: var(--forest); text-decoration: underline; text-underline-offset: 3px; }
.final-form-box .btn{ width: 100%; justify-content: center; }

/* FAQ */
.faq{
  padding: 100px 0;
  background: var(--cream);
}
.faq-inner{
  max-width: 900px;
  margin: 0 auto;
  padding: 0 24px;
}
.faq-header{
  margin-bottom: 48px;
}
.faq-header .section-tag{ margin-bottom: 20px; }
.faq-header h2{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  color: var(--ink);
  margin: 0;
  max-width: 20ch;
}
.faq-header h2 em{ font-style: italic; color: var(--forest-2); }
.faq-list{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.faq-item{
  background: var(--paper);
  border-radius: 20px;
  overflow: hidden;
  transition: background .2s;
  border: 1px solid transparent;
}
.faq-item[open]{ background: var(--paper); border-color: var(--line-soft); }
.faq-item summary{
  cursor: pointer;
  padding: 22px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-family: var(--serif);
  font-weight: 500;
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.2;
  letter-spacing: -0.005em;
  color: var(--ink);
  list-style: none;
  transition: color .2s;
}
.faq-item summary::-webkit-details-marker{ display: none; }
.faq-item summary:hover{ color: var(--forest-2); }
.faq-toggle{
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--forest);
  color: var(--cream);
  display: grid; place-items: center;
  flex-shrink: 0;
  transition: transform .3s cubic-bezier(.2,.7,.3,1), background .2s;
}
.faq-toggle svg{ width: 15px; height: 15px; }
.faq-item[open] .faq-toggle{
  transform: rotate(180deg);
  background: var(--ochre);
}
.faq-answer{
  padding: 0 28px 26px;
  font-size: 15px;
  line-height: 1.6;
  color: var(--ink-2);
  max-width: 68ch;
}
.faq-answer p{ margin: 0; }

/* Related articles */
.related{
  padding: 100px 0;
}
.related-inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}
.related-head{
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.related-head-title{
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.02;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--ink);
}
.related-head-title em{ font-style: italic; color: var(--forest-2); }
.related-head-link{
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--forest);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: gap .3s;
}
.related-head-link:hover{ gap: 16px; }
.related-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 900px){ .related-grid{ grid-template-columns: 1fr; } }
.related-card{
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform .3s;
}
.related-card:hover{ transform: translateY(-4px); }
.related-card-image{
  aspect-ratio: 4/3;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--cream-2);
}
.related-card-image img{ width: 100%; height: 100%; object-fit: cover; }
.related-card-meta{
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
  display: flex;
  gap: 12px;
  align-items: center;
}
.related-card-meta .dot{
  width: 4px; height: 4px;
  background: var(--muted);
  border-radius: 50%;
  opacity: 0.5;
}
.related-card h4{
  font-family: var(--serif);
  font-weight: 400;
  font-size: 22px;
  line-height: 1.2;
  margin: 0;
  letter-spacing: -0.005em;
  color: var(--ink);
}
.related-card p{
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-2);
}


/* ===== Official representation page (ported from approved handoff) ===== */
.cert-hero{
    background: var(--cream);
    padding: 140px 0 60px;
    border-bottom: 1px solid rgba(30,42,36,.08);
  }
  .cert-hero .crumb{
    font-size:12px; letter-spacing:.18em; text-transform:uppercase;
    color: var(--forest); opacity:.6; margin-bottom:18px;
  }
  .cert-hero .crumb a{ color:inherit; text-decoration:none; }
  .cert-hero .crumb a:hover{ opacity:1; text-decoration:underline; }
  .cert-hero h1{
    font-family: 'Fraunces', serif;
    font-size: clamp(38px, 5.2vw, 68px);
    font-weight: 500;
    line-height: 1.02;
    letter-spacing: -0.02em;
    color: var(--forest);
    margin: 0 0 24px;
    max-width: 900px;
  }
  .cert-hero h1 em{
    font-style: italic;
    color: var(--ochre);
    font-weight: 400;
  }
  .cert-hero .lead{
    font-size: 19px;
    line-height: 1.55;
    color: var(--ink-2);
    max-width: 720px;
    margin: 0 0 32px;
  }
  .cert-badges{
    display:flex; flex-wrap:wrap; gap:10px;
  }
  .cert-badge{
    display:inline-flex; align-items:center; gap:8px;
    padding: 8px 14px;
    background: var(--paper);
    border: 1px solid rgba(30,42,36,.12);
    border-radius: 999px;
    font-size: 13px;
    color: var(--forest);
    font-weight: 500;
  }
  .cert-badge .dot{
    width:6px; height:6px; border-radius:50%;
    background: var(--lime);
  }

  .cert-doc{
    background: var(--paper);
    padding: 80px 0 100px;
  }
  .cert-doc-wrap{
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
  }
  .cert-frame{
    background: white;
    padding: 40px;
    border-radius: 8px;
    box-shadow:
      0 1px 3px rgba(30,42,36,.08),
      0 20px 60px rgba(30,42,36,.14),
      0 40px 100px rgba(30,42,36,.10);
    position: relative;
  }
  .cert-frame::before{
    content:'';
    position:absolute; inset:-8px;
    border: 1px solid rgba(30,42,36,.06);
    border-radius: 12px;
    pointer-events:none;
  }
  .cert-frame img{
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
  }

  .cert-actions{
    display:flex; flex-wrap:wrap; gap:14px; justify-content:center;
    margin-top: 40px;
  }
  .cert-actions .btn svg{
    width:16px; height:16px;
    margin-right:8px; vertical-align:-3px;
  }

  .cert-meta{
    max-width: 900px;
    margin: 60px auto 0;
    padding: 32px 36px;
    background: var(--cream);
    border-left: 3px solid var(--ochre);
    border-radius: 4px;
  }
  .cert-meta h3{
    font-family:'Fraunces', serif;
    font-size: 22px;
    font-weight: 500;
    color: var(--forest);
    margin: 0 0 12px;
  }
  .cert-meta p{
    font-size: 15px;
    line-height: 1.6;
    color: var(--ink-2);
    margin: 0 0 10px;
  }
  .cert-meta p:last-child{ margin-bottom:0; }
  .cert-meta strong{ color: var(--forest); font-weight: 600; }


/* ===== Legal pages — approved Design Handoff ===== */
/* Legal documents (oferta, politika) — shared styles */

.legal-hero{
  background: var(--cream);
  padding: 130px 0 50px;
  border-bottom: 1px solid rgba(30,42,36,.08);
}
.legal-hero .crumb{
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--forest);
  opacity: .6;
  margin-bottom: 20px;
}
.legal-hero .crumb a{ color: inherit; text-decoration: none; }
.legal-hero .crumb a:hover{ opacity: 1; text-decoration: underline; }
.legal-hero h1{
  font-family: 'Fraunces', serif;
  font-weight: 500;
  font-size: clamp(34px, 4.6vw, 58px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--forest);
  margin: 0 0 20px;
  max-width: 900px;
}
.legal-hero h1 em{
  font-style: italic;
  color: var(--ochre);
  font-weight: 400;
}
.legal-hero .lead{
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 720px;
  margin: 0 0 24px;
}
.legal-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  font-size: 13px;
  color: var(--ink-2);
}
.legal-meta span{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.legal-meta span::before{
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--lime);
}

.legal-body{
  background: var(--paper);
  padding: 70px 0 110px;
}
.legal-layout{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 60px;
  align-items: start;
}
@media (max-width: 900px){
  .legal-layout{
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

.legal-toc{
  position: sticky;
  top: 100px;
  font-size: 13px;
  line-height: 1.5;
  padding: 24px 20px;
  background: var(--cream);
  border-radius: 6px;
  border-left: 3px solid var(--ochre);
}
.legal-toc h4{
  font-family: 'Fraunces', serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--forest);
  opacity: .7;
  margin: 0 0 14px;
}
.legal-toc ol{
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: toc;
}
.legal-toc li{
  counter-increment: toc;
  margin-bottom: 8px;
}
.legal-toc a{
  color: var(--ink-2);
  text-decoration: none;
  display: block;
  padding-left: 20px;
  position: relative;
  transition: color .15s ease;
}
.legal-toc a::before{
  content: counter(toc) '.';
  position: absolute;
  left: 0;
  color: var(--ochre);
  font-weight: 500;
}
.legal-toc a:hover{ color: var(--forest); }
@media (max-width: 900px){
  .legal-toc{ position: static; }
}

.legal-doc{
  font-size: 16px;
  line-height: 1.75;
  color: var(--ink-2);
  max-width: 780px;
}
.legal-doc h2{
  font-family: 'Fraunces', serif;
  font-weight: 500;
  font-size: 28px;
  line-height: 1.2;
  color: var(--forest);
  margin: 56px 0 18px;
  scroll-margin-top: 100px;
}
.legal-doc h2:first-child{ margin-top: 0; }
.legal-doc h3{
  font-family: 'Fraunces', serif;
  font-weight: 500;
  font-size: 20px;
  color: var(--forest);
  margin: 32px 0 10px;
}
.legal-doc p{
  margin: 0 0 14px;
  text-wrap: pretty;
}
.legal-doc ul{
  margin: 0 0 18px;
  padding-left: 24px;
}
.legal-doc ul li{
  margin-bottom: 6px;
  padding-left: 4px;
}
.legal-doc ul li::marker{ color: var(--ochre); }
.legal-doc strong{ color: var(--forest); font-weight: 600; }
.legal-doc a{ color: var(--forest); text-decoration: underline; text-decoration-color: rgba(30,42,36,.3); text-underline-offset: 2px; }
.legal-doc a:hover{ text-decoration-color: var(--ochre); }

.legal-intro{
  padding: 20px 24px;
  background: var(--cream);
  border-left: 3px solid var(--forest);
  border-radius: 4px;
  margin: 0 0 32px;
  font-size: 15px;
}
.legal-intro p{ margin-bottom: 8px; }
.legal-intro p:last-child{ margin-bottom: 0; }

.legal-req{
  margin-top: 40px;
  padding: 28px 32px;
  background: white;
  border: 1px solid rgba(30,42,36,.1);
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.7;
}
.legal-req h3{
  margin-top: 0;
  margin-bottom: 12px;
  font-size: 18px;
}
.legal-req .req-row{
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 12px;
  padding: 6px 0;
  border-bottom: 1px dashed rgba(30,42,36,.08);
}
.legal-req .req-row:last-child{ border-bottom: 0; }
.legal-req .req-row .k{
  color: var(--ink-2);
  opacity: .7;
  font-size: 13px;
}
.legal-req .req-row .v{
  color: var(--forest);
  font-weight: 500;
}
@media (max-width: 640px){
  .legal-req .req-row{ grid-template-columns: 1fr; gap: 2px; }
}



/* ===== Privacy policy page (ported from approved handoff) ===== */
YPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Политика обработки персональных данных — Australian Wellness Academy</title>
<meta name="description" content="Политика обработки персональных данных пользователей сайта Australian Wellness Academy. Порядок обработки, хранения и защиты данных клиентов, учеников и подписчиков. Редакция от 16.09.2026.">
<meta name="robots" content="index, follow">
<link rel="stylesheet" href="assets/site.css">
<link rel="stylesheet" href="assets/legal.css">
<script defer src="assets/open-lesson.js"></script>
<script defer src="assets/mobile-nav.js"></script>
</head>
<body>

<!-- NAV -->
<nav class="nav">
  <div class="wrap nav-inner">
    <a href="/" class="logo">
      <div class="logo-mark">
        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6">
          <path d="M12 3 Q7 8 7 13 Q7 18 12 21 Q17 18 17 13 Q17 8 12 3 Z"/>
          <line x1="12" y1="7" x2="12" y2="21"/>
          <path d="M12 11 Q9 12 8 14"/>
          <path d="M12 14 Q15 15 16 17"/>
        </svg>
      </div>
      <div class="logo-txt">Australian Wellness <em>Academy</em></div>
    </a>
    <div class="nav-links">
      <a href="wellness-coaching.html">Wellness-коучинг</a>
      <a href="neurocoaching.html">Нейрокоучинг</a>
      <a href="sam-sebe-wellness-coach.html">Мини-курс</a>
      <a href="blog.html">Блог</a>
    </div>
    <div class="nav-actions">
      <button type="button" data-open-lesson class="btn btn-ochre nav-cta">Открытый урок</button>
    </div>
  </div>
</nav>

<!-- HERO -->
<section class="legal-hero">
  <div class="wrap">
    <div class="crumb"><a href="/">Академия</a> / Персональные данные</div>
    <h1>Политика обработки <em>персональных данных</em></h1>
    <p class="lead">Настоящая Политика определяет порядок обработки и защиты персональных данных пользователей сайта, клиентов, учеников, подписчиков и иных лиц, чьи данные обрабатывает Оператор.</p>
    <div class="legal-meta">
      <span>Редакция от 16 сентября 2026</span>
      <span>ИП Федулова Т. О.</span>
      <span>152-ФЗ «О персональных данных»</span>
    </div>
  </div>
</section>

<!-- DOCUMENT -->
<section class="legal-body">
  <div class="legal-layout">

    <!-- TOC -->
    <aside class="legal-toc">
      <h4>Содержание</h4>
      <ol>
        <li><a href="#s1">Общие положения</a></li>
        <li><a href="#s2">Основные понятия</a></li>
        <li><a href="#s3">Сведения об Операторе</a></li>
        <li><a href="#s4">Категории субъектов и данных</a></li>
        <li><a href="#s5">Цели обработки</a></li>
        <li><a href="#s6">Правовые основания</a></li>
        <li><a href="#s7">Порядок и условия обработки</a></li>
        <li><a href="#s8">Передача третьим лицам</a></li>
        <li><a href="#s9">Cookie и веб-аналитика</a></li>
        <li><a href="#s10">Сроки хранения</a></li>
        <li><a href="#s11">Права субъекта</a></li>
        <li><a href="#s12">Порядок обращения</a></li>
        <li><a href="#s13">Конфиденциальность и защита</a></li>
        <li><a href="#s14">Особенности рассылок</a></li>
        <li><a href="#s15">Изменение Политики</a></li>
        <li><a href="#s16">Контакты Оператора</a></li>
      </ol>
    </aside>

    <!-- DOCUMENT BODY -->
    <div class="legal-doc">

      <div class="legal-intro">
        <p>Настоящая Политика обработки персональных данных определяет порядок обработки и защиты персональных данных пользователей сайта <a href="https://auwellness.ru">https://auwellness.ru</a>, клиентов, учеников, подписчиков и иных лиц, чьи персональные данные обрабатываются Индивидуальным предпринимателем Федуловой Татьяной Олеговной, ОГРНИП <strong>324508100315058</strong>, ИНН <strong>503234056625</strong>, далее — «<strong>Оператор</strong>».</p>
      </div>

      <h2 id="s1">1. Общие положения</h2>
      <p>1.1. Настоящая Политика применяется ко всей информации, которую Оператор может получить о субъекте персональных данных:</p>
      <ul>
        <li>при использовании сайта <a href="https://auwellness.ru">https://auwellness.ru</a>;</li>
        <li>при оформлении заявок;</li>
        <li>при покупке онлайн-курсов и иных услуг;</li>
        <li>при регистрации на платформе обучения;</li>
        <li>при подписке на рассылку;</li>
        <li>при обращении через формы, мессенджеры, электронную почту, социальные сети и иные каналы связи;</li>
        <li>при участии в вебинарах, созвонах, онлайн-встречах и иных мероприятиях Оператора.</li>
      </ul>
      <p>1.2. Использование сайта и/или направление данных Оператору означает ознакомление субъекта персональных данных с настоящей Политикой.</p>
      <p>1.3. В случаях, когда для конкретной обработки требуется отдельное согласие, Оператор запрашивает его отдельно.</p>

      <h2 id="s2">2. Основные понятия</h2>
      <p><strong>2.1. Персональные данные</strong> — любая информация, относящаяся прямо или косвенно к определенному или определяемому физическому лицу.</p>
      <p><strong>2.2. Оператор</strong> — лицо, самостоятельно или совместно с другими лицами организующее и/или осуществляющее обработку персональных данных.</p>
      <p><strong>2.3. Обработка персональных данных</strong> — любое действие (операция) или совокупность действий с персональными данными, включая сбор, запись, систематизацию, накопление, хранение, уточнение, использование, передачу, обезличивание, блокирование, удаление, уничтожение.</p>
      <p><strong>2.4. Субъект персональных данных</strong> — пользователь сайта, заказчик, клиент, ученик, подписчик, представитель контрагента, участник вебинара или иное физическое лицо, чьи данные обрабатывает Оператор.</p>

      <h2 id="s3">3. Сведения об Операторе</h2>
      <div class="legal-req">
        <h3>Индивидуальный предприниматель<br>Федулова Татьяна Олеговна</h3>
        <div class="req-row"><span class="k">ОГРНИП</span><span class="v">324508100315058</span></div>
        <div class="req-row"><span class="k">ИНН</span><span class="v">503234056625</span></div>
        <div class="req-row"><span class="k">Адрес регистрации</span><span class="v">Московская обл., Одинцовский г.о., пгт. ВНИИССОК</span></div>
        <div class="req-row"><span class="k">Телефон</span><span class="v">+7 (916) 553-73-07</span></div>
        <div class="req-row"><span class="k">E-mail по ПД</span><span class="v"><a href="/cdn-cgi/l/email-protection#7415015a031118181a1107075a1517151011190d341319151d185a171b19"><span class="__cf_email__" data-cfemail="c8a9bde6bfada4a4a6adbbbbe6a9aba9acada5b188afa5a9a1a4e6aba7a5">[email&#160;protected]</span></a></span></div>
        <div class="req-row"><span class="k">Сайт</span><span class="v"><a href="https://auwellness.ru">https://auwellness.ru</a></span></div>
      </div>

      <h2 id="s4">4. Категории субъектов и состав обрабатываемых данных</h2>

      <h3>4.1. Пользователи сайта</h3>
      <p>Оператор может обрабатывать:</p>
      <ul>
        <li>имя;</li>
        <li>номер телефона;</li>
        <li>адрес электронной почты;</li>
        <li>IP-адрес;</li>
        <li>cookie-файлы;</li>
        <li>сведения о браузере, устройстве, операционной системе;</li>
        <li>технические данные о посещении сайта;</li>
        <li>источник перехода на сайт;</li>
        <li>сведения о действиях на сайте.</li>
      </ul>

      <h3>4.2. Заказчики, ученики, участники курсов</h3>
      <p>Оператор может обрабатывать:</p>
      <ul>
        <li>фамилию, имя, отчество;</li>
        <li>номер телефона;</li>
        <li>адрес электронной почты;</li>
        <li>аккаунты/ники в мессенджерах и социальных сетях, если они используются для связи;</li>
        <li>логин и иные данные Личного кабинета;</li>
        <li>сведения о заказах, оплатах, возвратах;</li>
        <li>историю предоставления доступа к материалам;</li>
        <li>информацию о прохождении курса, выполнении заданий, участии в вебинарах;</li>
        <li>обращения в службу поддержки;</li>
        <li>сведения, которые субъект добровольно указывает в анкетах, опросниках, домашних заданиях, отзывах и заявках.</li>
      </ul>

      <h3>4.3. Подписчики рассылок</h3>
      <p>Оператор может обрабатывать:</p>
      <ul>
        <li>имя;</li>
        <li>адрес электронной почты;</li>
        <li>номер телефона;</li>
        <li>сведения о согласии/отзыве согласия на рассылку;</li>
        <li>статистику взаимодействия с письмами и сообщениями.</li>
      </ul>

      <h3>4.4. Контрагенты и их представители</h3>
      <p>Оператор может обрабатывать:</p>
      <ul>
        <li>Ф.И.О.;</li>
        <li>должность;</li>
        <li>номер телефона;</li>
        <li>e-mail;</li>
        <li>реквизиты, необходимые для взаимодействия и исполнения обязательств.</li>
      </ul>

      <p>4.5. Оператор не ставит целью сбор и обработку специальных категорий персональных данных, касающихся состояния здоровья, интимной жизни, религиозных или философских убеждений, политических взглядов и т.п.</p>
      <p>4.6. Если субъект персональных данных добровольно сообщает такие сведения в рамках анкет, домашних заданий, консультационных форм, заявок или иных материалов, Оператор обрабатывает их только в объеме, необходимом для исполнения запроса субъекта и/или оказания соответствующей услуги, а при необходимости — на основании отдельного согласия субъекта.</p>

      <h2 id="s5">5. Цели обработки персональных данных</h2>
      <p>Оператор обрабатывает персональные данные в следующих целях:</p>
      <p>5.1. обработка заявок, запросов и обращений;</p>
      <p>5.2. заключение, исполнение, изменение и прекращение договоров с субъектами персональных данных;</p>
      <p>5.3. предоставление доступа к онлайн-курсам, личному кабинету, платформе обучения и иным сервисам;</p>
      <p>5.4. идентификация ученика/клиента в рамках оказания услуг;</p>
      <p>5.5. прием и обработка платежей, оформление возвратов, ведение бухгалтерского и налогового учета;</p>
      <p>5.6. направление сервисных уведомлений, связанных с оказанием услуг: подтверждение заказа, инструкции по входу, уведомления о начале обучения, изменении расписания, технических работах, завершении доступа и т.п.;</p>
      <p>5.7. предоставление обратной связи, клиентской поддержки, кураторского сопровождения;</p>
      <p>5.8. проведение вебинаров, прямых эфиров, онлайн-встреч, разборов и иных мероприятий;</p>
      <p>5.9. улучшение работы сайта, аналитика посещаемости, тестирование и развитие сервисов;</p>
      <p>5.10. направление рекламных и информационных материалов о продуктах, курсах, акциях и событиях Оператора — только при наличии отдельного согласия, когда такое согласие требуется;</p>
      <p>5.11. публикация отзывов, кейсов, результатов и материалов с участием субъекта — только с учетом объема предоставленного согласия и/или в обезличенной форме;</p>
      <p>5.12. соблюдение требований законодательства Российской Федерации.</p>

      <h2 id="s6">6. Правовые основания обработки</h2>
      <p>Правовыми основаниями обработки персональных данных являются:</p>
      <p>6.1. Конституция Российской Федерации, Гражданский кодекс Российской Федерации, Федеральный закон № 152-ФЗ «О персональных данных», иные применимые нормативные акты Российской Федерации;</p>
      <p>6.2. договоры, заключаемые между Оператором и субъектом персональных данных;</p>
      <p>6.3. согласие субъекта персональных данных на обработку персональных данных;</p>
      <p>6.4. необходимость обработки для исполнения обязанностей, возложенных на Оператора законодательством Российской Федерации;</p>
      <p>6.5. законные интересы Оператора при условии, что при этом не нарушаются права и свободы субъекта персональных данных.</p>

      <h2 id="s7">7. Порядок и условия обработки персональных данных</h2>
      <p>7.1. Оператор осуществляет обработку персональных данных как с использованием средств автоматизации, так и без их использования.</p>
      <p>7.2. Обработка персональных данных включает, в зависимости от цели обработки: сбор, запись, систематизацию, накопление, хранение, уточнение, извлечение, использование, передачу, обезличивание, блокирование, удаление и уничтожение.</p>
      <p>7.3. Оператор принимает необходимые правовые, организационные и технические меры для защиты персональных данных от неправомерного доступа, изменения, раскрытия, уничтожения и иных неправомерных действий.</p>
      <p>7.4. Оператор обеспечивает запись, систематизацию, накопление, хранение, уточнение и извлечение персональных данных граждан Российской Федерации с использованием баз данных, находящихся на территории Российской Федерации, в случаях, когда это требуется законодательством Российской Федерации.</p>
      <p>7.5. Персональные данные обрабатываются не дольше, чем этого требуют цели обработки, если более длительный срок не установлен законом или договором.</p>

      <h2 id="s8">8. Передача персональных данных третьим лицам</h2>
      <p>8.1. Оператор вправе передавать персональные данные третьим лицам в объеме, необходимом для достижения целей обработки и исполнения обязательств перед субъектом персональных данных.</p>
      <p>8.2. К лицам, которым Оператор может передавать персональные данные в объеме, необходимом для достижения целей обработки, относятся:</p>
      <ul>
        <li><strong>GetCourse</strong> — для ведения базы клиентов, регистрации пользователей, предоставления доступа к личному кабинету и учебным материалам, отправки служебных и email-уведомлений, приема оплаты через платежный модуль платформы;</li>
        <li><strong>платежный модуль GetCourse</strong> — для обработки платежей и возвратов;</li>
        <li><strong>Telegram</strong> — в объеме, необходимом для работы бота и коммуникации с пользователями, которые самостоятельно активировали такого бота или инициировали коммуникацию;</li>
        <li><strong>Яндекс.Метрика</strong> — для веб-аналитики и анализа посещаемости сайта;</li>
        <li><strong>VK Pixel / инструменты VK</strong> — для аналитики, оценки эффективности рекламы и взаимодействия пользователей с сайтом;</li>
        <li><strong>хостинг-провайдеры и технические подрядчики</strong>, обеспечивающие размещение сайта и техническую инфраструктуру;</li>
        <li><strong>уполномоченные государственные органы</strong> — в случаях, прямо предусмотренных законодательством Российской Федерации.</li>
      </ul>
      <p>8.3. Оператор использует сайт <a href="https://auwellness.ru">https://auwellness.ru</a> и платформу GetCourse для оказания услуг, коммуникации с пользователями, направления уведомлений и организации доступа к онлайн-курсам.</p>
      <p>8.4. Оператор не продает и не передает персональные данные субъектов третьим лицам для самостоятельного использования ими в маркетинговых целях без отдельного законного основания.</p>

      <h2 id="s9">9. Cookie-файлы и веб-аналитика</h2>
      <p>9.1. На сайте могут использоваться cookie-файлы и иные аналогичные технологии для обеспечения корректной работы сайта, сохранения пользовательских настроек, анализа поведения посетителей и повышения удобства использования сайта.</p>
      <p>9.2. Оператор может использовать инструменты веб-аналитики, в том числе Яндекс.Метрику и VK Pixel, которые могут собирать технические данные о посещении сайта, включая IP-адрес, cookie, сведения об устройстве, браузере, действиях пользователя на сайте, источнике перехода и иные технические сведения.</p>
      <p>9.3. Продолжая использование сайта, пользователь соглашается на использование cookie-файлов в соответствии с настоящей Политикой, если иное не установлено настройками его браузера.</p>
      <p>9.4. Пользователь вправе отключить cookie в настройках своего браузера, однако это может повлиять на корректную работу отдельных функций сайта.</p>

      <h2 id="s10">10. Сроки хранения персональных данных</h2>
      <p>10.1. Персональные данные хранятся:</p>
      <ul>
        <li>до достижения целей обработки;</li>
        <li>в течение срока действия договора и срока доступа к Курсу;</li>
        <li>в течение срока, необходимого для рассмотрения обращений, претензий и споров;</li>
        <li>в течение сроков, установленных налоговым, бухгалтерским и иным обязательным законодательством;</li>
        <li>до отзыва согласия субъектом персональных данных, если иное не предусмотрено законом или не требуется для исполнения договора/обязанностей Оператора.</li>
      </ul>
      <p>10.2. По достижении целей обработки или при утрате необходимости в их достижении персональные данные подлежат удалению или уничтожению, если иное не предусмотрено законодательством Российской Федерации.</p>

      <h2 id="s11">11. Права субъекта персональных данных</h2>
      <p>Субъект персональных данных вправе:</p>
      <p>11.1. получать сведения, касающиеся обработки его персональных данных;</p>
      <p>11.2. требовать уточнения, блокирования или уничтожения персональных данных, если они являются неполными, устаревшими, неточными, незаконно полученными или не являются необходимыми для заявленной цели обработки;</p>
      <p>11.3. отзывать согласие на обработку персональных данных в случаях, когда обработка основана на согласии;</p>
      <p>11.4. отказаться от получения рекламных рассылок в любой момент путем перехода по ссылке отписки в письме, направления сообщения Оператору или иным указанным способом;</p>
      <p>11.5. обжаловать действия или бездействие Оператора в уполномоченный орган по защите прав субъектов персональных данных или в судебном порядке;</p>
      <p>11.6. осуществлять иные права, предусмотренные законодательством Российской Федерации.</p>

      <h2 id="s12">12. Порядок обращения субъекта персональных данных</h2>
      <p>12.1. Для реализации своих прав субъект персональных данных может направить Оператору обращение на e-mail: <a href="/cdn-cgi/l/email-protection#fc9d89d28b99909092998f8fd29d9f9d98999185bc9b919d9590d29f9391"><span class="__cf_email__" data-cfemail="69081c471e0c0505070c1a1a47080a080d0c0410290e04080005470a0604">[email&#160;protected]</span></a>.</p>
      <p>12.2. Обращение должно содержать:</p>
      <ul>
        <li>Ф.И.О. субъекта;</li>
        <li>контактные данные для обратной связи;</li>
        <li>описание сути обращения;</li>
        <li>сведения, позволяющие идентифицировать субъекта в системе Оператора.</li>
      </ul>
      <p>12.3. Оператор рассматривает обращение в срок, установленный законодательством Российской Федерации.</p>

      <h2 id="s13">13. Конфиденциальность и защита данных</h2>
      <p>13.1. Оператор принимает разумные и достаточные меры для защиты персональных данных, включая:</p>
      <ul>
        <li>ограничение доступа к данным;</li>
        <li>использование паролей, средств аутентификации и иных мер защиты;</li>
        <li>применение антивирусной защиты и средств защиты инфраструктуры;</li>
        <li>организацию внутреннего порядка доступа к данным;</li>
        <li>выбор надежных подрядчиков и сервисов.</li>
      </ul>
      <p>13.2. Персональные данные не раскрываются третьим лицам, за исключением случаев, предусмотренных настоящей Политикой, договором с субъектом, отдельным согласием субъекта или требованиями закона.</p>

      <h2 id="s14">14. Особенности рассылок</h2>
      <p>14.1. Оператор может направлять субъекту:</p>
      <ul>
        <li>сервисные уведомления, необходимые для исполнения договора;</li>
        <li>рекламные и информационные рассылки о курсах, программах, акциях, вебинарах и иных продуктах Оператора — при наличии соответствующего согласия, когда оно требуется.</li>
      </ul>
      <p>14.2. Отказ от рекламной рассылки не влияет на возможность получения сервисных уведомлений, необходимых для исполнения договора.</p>

      <h2 id="s15">15. Изменение Политики</h2>
      <p>15.1. Оператор вправе вносить изменения в настоящую Политику.</p>
      <p>15.2. Новая редакция Политики вступает в силу с момента ее публикации на сайте, если иное не предусмотрено новой редакцией.</p>
      <p>15.3. Актуальная версия Политики должна быть постоянно доступна на Сайте Оператора.</p>

      <h2 id="s16">16. Контакты Оператора</h2>
      <div class="legal-req">
        <h3>Индивидуальный предприниматель<br>Федулова Татьяна Олеговна</h3>
        <div class="req-row"><span class="k">ОГРНИП</span><span class="v">324508100315058</span></div>
        <div class="req-row"><span class="k">ИНН</span><span class="v">503234056625</span></div>
        <div class="req-row"><span class="k">Адрес регистрации</span><span class="v">Московская обл., Одинцовский г.о., пгт. ВНИИССОК</span></div>
        <div class="req-row"><span class="k">Телефон</span><span class="v">+7 (916) 553-73-07</span></div>
        <div class="req-row"><span class="k">E-mail</span><span class="v"><a href="/cdn-cgi/l/email-protection#39584c174e5c5555575c4a4a17585a585d5c5440795e54585055175a5654"><span class="__cf_email__" data-cfemail="98f9edb6effdf4f4f6fdebebb6f9fbf9fcfdf5e1d8fff5f9f1f4b6fbf7f5">[email&#160;protected]</span></a></span></div>
        <div class="req-row"><span class="k">Сайт</span><span class="v"><a href="https://auwellness.ru">https://auwellness.ru</a></span></div>
      </div>

    </div>
  </div>
</section>

<!-- FOOTER (unified) -->
<footer>
  <div class="wrap">
    <div class="foot-top">
      <div class="foot-brand">
        <h3>Australian Wellness <em>Academy</em></h3>
        <p>Международная онлайн-академия wellness-коучинга. Российское представительство образовательной платформы из штата Квинсленд, Австралия.</p>
      </div>
      <div class="foot-col">
        <h5>Программы</h5>
        <ul>
          <li><a href="wellness-coaching.html">Wellness-коучинг</a></li>
          <li><a href="neurocoaching.html">Нейрокоучинг</a></li>
          <li><a href="sam-sebe-wellness-coach.html">Мини-курс</a></li>
        </ul>
      </div>
      <div class="foot-col">
        <h5>Академия</h5>
        <ul>
          <li><a href="/#about">О школе</a></li>
          <li><a href="/#approach">Наш подход</a></li>
          <li><a href="blog.html">Блог</a></li>
        </ul>
      </div>
      <div class="foot-col">
        <h5>Партнёры</h5>
        <ul>
          <li><a href="https://www.australianwellnessacademy.com.au/" target="_blank" rel="noopener">Филиал в Австралии <span aria-hidden="true">↗</span></a></li>
          <li><a href="https://auwellnesscoach.ru/home" target="_blank" rel="noopener">Сайт Татьяны Федуловой <span aria-hidden="true">↗</span></a></li>
          <li><a href="polnomochiya.html">Свидетельство о полномочиях</a></li>
        </ul>
      </div>
      <div class="foot-col">
        <h5>Контакты</h5>
        <ul>
          <li><a href="/cdn-cgi/l/email-protection#3f565159507f5e4a485a5353515a4c4c114d4a"><span class="__cf_email__" data-cfemail="b9d0d7dfd6f9d8cccedcd5d5d7dccaca97cbcc">[email&#160;protected]</span></a></li>
          <li><a href="https://t.me/AWAcademybot" target="_blank" rel="noopener">Telegram-бот</a></li>
          <li><a href="oferta.html">Договор оферты</a></li>
          <li><a href="politika.html">Персональные данные</a></li>
        </ul>
      </div>
    </div>
    <div class="foot-bottom">
      <div>© 2026 Australian Wellness Academy</div>
      <div>Gold Coast · Moscow · Онлайн</div>
    </div>
  </div>
</footer>

<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
  document.querySelectorAll('a[href^="#"]').forEach(a => {
    a.addEventListener('click', e => {
      const id = a.getAttribute('href');
      if (id.length > 1) {
        const t = document.querySelector(id);
        if (t) { e.preventDefault(); t.scrollIntoView({behavior: 'smooth', block: 'start'}); }
      }
    });
  });
</script>

</body>
</html>


/* ===== Native WordPress blog publishing ===== */
.blog-grid-dynamic{margin-bottom:72px}
.blog-grid-dynamic + .blog-grid-legacy{padding-top:64px;border-top:1px solid rgba(24,45,35,.14)}
.blog-item-wp .blog-item-image img{width:100%;height:100%;object-fit:cover;display:block}
.blog-item-placeholder{width:100%;height:100%;min-height:260px;display:grid;place-items:center;background:linear-gradient(135deg,#182d23,#2e493b);color:#cbe54e;font-family:"Cormorant Garamond",Georgia,serif;font-size:42px;font-style:italic}
.awa-wp-article{background:#f7f1df;color:#182d23;padding:92px 0 120px}
.awa-wp-article .wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.awa-article-breadcrumb{display:flex;gap:12px;align-items:center;margin-bottom:58px;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.awa-article-breadcrumb a{color:inherit;text-decoration:none}
.awa-wp-article-header{max-width:980px;margin-bottom:56px}
.awa-wp-article-meta{display:flex;align-items:center;gap:12px;margin-bottom:22px;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#6d705f}
.awa-wp-article-meta .dot{width:6px;height:6px;border-radius:50%;background:#d67b31}
.awa-wp-article-header h1{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:clamp(52px,6.2vw,92px);line-height:.94;letter-spacing:-.035em}
.awa-wp-article-lead{max-width:760px;margin:34px 0 0;font-size:20px;line-height:1.6;color:#4d584f}
.awa-wp-article-hero{margin:0 0 72px}
.awa-wp-article-hero img{display:block;width:100%;max-height:680px;object-fit:cover;border-radius:2px}
.awa-wp-article-layout{max-width:820px;margin:0 auto}
.awa-wp-article-content{font-size:18px;line-height:1.8}
.awa-wp-article-content p{margin:0 0 1.5em}
.awa-wp-article-content h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:46px;line-height:1.05;margin:1.65em 0 .6em}
.awa-wp-article-content h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:32px;line-height:1.15;margin:1.5em 0 .55em}
.awa-wp-article-content blockquote{margin:42px 0;padding:24px 30px;border-left:2px solid #d67b31;background:rgba(255,255,255,.25);font-family:"Cormorant Garamond",Georgia,serif;font-size:27px;line-height:1.35}
.awa-wp-article-content img{max-width:100%;height:auto}
.awa-wp-article-content a{color:#182d23;text-decoration-color:#d67b31;text-underline-offset:4px}
.awa-wp-article-back{max-width:820px;margin:72px auto 0;padding-top:30px;border-top:1px solid rgba(24,45,35,.15)}
.awa-wp-article-back a{color:#182d23;text-decoration:none;font-weight:700}
@media(max-width:760px){
 .awa-wp-article{padding:58px 0 80px}
 .awa-wp-article .wrap{padding:0 20px}
 .awa-article-breadcrumb{margin-bottom:38px}
 .awa-wp-article-header h1{font-size:48px}
 .awa-wp-article-lead{font-size:18px}
 .awa-wp-article-hero{margin-bottom:48px}
 .awa-wp-article-content{font-size:17px}
 .awa-wp-article-content h2{font-size:36px}
 .awa-wp-article-content h3{font-size:28px}
 .blog-grid-dynamic + .blog-grid-legacy{padding-top:44px}
}


/* ===== Mobile QA fixes — 2026-09-21 ===== */
@media (max-width: 720px){
  /* Drawer: match the approved prototype — clean serif links, no list bullets. */
  .mobile-drawer nav ul,
  .mobile-drawer nav .menu{
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .mobile-drawer nav li{
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .mobile-drawer nav li::marker{ content: ""; }
  .mobile-drawer nav a{
    display: block;
    width: fit-content;
    max-width: 100%;
    font-family: var(--serif);
    font-size: clamp(38px, 11vw, 58px);
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -0.015em;
    border-bottom: 1px solid var(--line-soft);
  }
  .mobile-drawer-cta{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-decoration: none;
  }

  /* Course open-lesson cards/buttons must stay inside the viewport. */
  .course-page .final-form,
  .course-page .final-form-inner,
  .course-page .final-form-box{
    min-width: 0;
    max-width: 100%;
  }
  .course-page .final-form-box{
    padding: 32px 24px;
  }
  .course-page .final-form-box .btn{
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 18px 20px;
    white-space: normal;
    text-align: center;
    line-height: 1.25;
    justify-content: center;
  }

  /* Home bento photo: preserve a useful portrait crop instead of slicing the face. */
  .home .bento-photo{
    min-height: 280px;
    grid-row: span 2;
  }
  .home .bento-photo img{
    object-position: center 28%;
  }

  /* Article conversion cards: long CTA labels wrap inside the card. */
  .article-cta{
    min-width: 0;
    overflow: hidden;
  }
  .article-cta .btn{
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    text-align: center;
    line-height: 1.25;
    justify-content: center;
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Native WordPress editorial polish */
.awa-wp-article-reading{margin-top:20px;font-family:"JetBrains Mono",monospace;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#6d705f}
.awa-wp-article-content ul,.awa-wp-article-content ol{margin:0 0 1.7em;padding-left:1.4em}
.awa-wp-article-content li{margin:.55em 0}
.awa-wp-article-content figure{margin:42px 0}
.awa-wp-article-content figcaption{margin-top:10px;font-size:13px;line-height:1.5;color:#6d705f}
.awa-wp-article-content .wp-block-image img{display:block;width:100%;border-radius:2px}
.awa-wp-article-content .wp-block-pullquote{border-top:1px solid rgba(24,45,35,.18);border-bottom:1px solid rgba(24,45,35,.18);padding:34px 0}


/* GetCourse-connected forms shown inside AWA conversion cards. */
.awa-gc-form{
  display: grid;
  gap: 14px;
}
.awa-gc-form > label:not(.awa-gc-consent){
  display: grid;
  gap: 6px;
  color: var(--forest);
  font-size: 13px;
  font-weight: 700;
}
.awa-gc-form input[type="text"],
.awa-gc-form input[type="tel"],
.awa-gc-form input[type="email"]{
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(22,52,42,.22);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  padding: 11px 14px;
}
.awa-gc-form input:focus{
  outline: 2px solid var(--lime);
  outline-offset: 2px;
  border-color: var(--forest);
}
.awa-gc-consent{
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 9px;
  align-items: start;
  color: rgba(22,52,42,.78);
  font-size: 12px;
  line-height: 1.45;
}
.awa-gc-consent input{
  margin: 2px 0 0;
}
.awa-gc-consent a{
  color: var(--forest);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.awa-gc-form .btn{
  margin-top: 4px;
}
