/* ── TOKENS ── */
:root{
  --white:#fff;
  --cream:#f7f2ea;
  --cream-2:#fbf8f3;
  --rule:#ded6ca;
  --text:#171612;
  --muted:#6f6a62;
  --orange:#f07820;
  --orange-deep:#b94f08;
  --charcoal:#171612;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{
  scroll-behavior:smooth;
  background-color:#ffffff;
  background-image:linear-gradient(108deg, #ffffff 0%, #ffffff 10%, var(--cream-2) 75%, var(--cream) 100%);
  background-attachment:fixed;
  min-height:100%;
}
body{
  background:transparent;
  min-height:100vh;
  color:#0d0d0b;
  font-family:'DM Sans',system-ui,sans-serif;
  font-weight:300;font-size:16px;line-height:1.75;letter-spacing:-.01em;
}
img{max-width:100%;display:block}
a{color:inherit}

/* ── NAV ── */
nav{
  position:sticky;top:0;z-index:100;
  display:grid;grid-template-columns:auto 1fr auto;
  align-items:center;gap:2rem;
  padding:0 54px;min-height:78px;
  background:rgba(255,255,255,.87);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:none;
}
.nav-brand{
  display:flex;align-items:center;gap:14px;
  text-decoration:none;cursor:pointer;
}
.nav-brand img{
  width:38px;height:38px;
  object-fit:contain;border-radius:50%;flex-shrink:0;
}
.nav-brand-name{
  font-size:.75rem;font-weight:500;line-height:1.2;
  letter-spacing:.14em;text-transform:uppercase;color:#0d0d0b;
}
.nav-links{
  justify-self:center;
  display:flex;align-items:center;gap:48px;list-style:none;
}
.nav-links li{
  display:flex;align-items:center;
}
.nav-links a{
  position:relative;font-size:.85rem;letter-spacing:.13em;line-height:1.25;
  text-transform:uppercase;color:#4a4740;
  text-decoration:none;cursor:pointer;transition:color .2s;
  font-family:'Asap',sans-serif;font-weight:500;text-align:center;
  display:inline-block;
}
.nav-links a::after{
  content:"";position:absolute;left:0;right:0;bottom:-8px;
  height:1px;background:var(--orange-deep);
  transform:scaleX(0);transform-origin:center;
  transition:transform .28s ease;
}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-links a.active{color:var(--text)}
.nav-links a.active::after{transform:scaleX(1)}

/* ── LANG SWITCHER ── */
.lang-switcher{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:0;
  list-style:none;
  margin:0;
  padding:0;
}
.lang-switcher li{
  display:flex;
  align-items:center;
}
.lang-switcher li:not(:last-child)::after{
  content:"\00B7";
  margin:0 .7rem;
  color:var(--muted);
  opacity:.6;
}
.lang-switcher a{
  font-family:'Asap',sans-serif;
  font-size:.75rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  text-decoration:none;
  transition:color .2s;
}
.lang-switcher a:hover{color:var(--text)}
.lang-switcher a.active{color:var(--text)}

/* ── PAGE SYSTEM ── */
.page{display:none}
.page.active{display:block}

/* ── SHARED ── */
.two-col{
  display:grid;
  grid-template-columns:minmax(260px,.82fr) minmax(0,2fr);
}
.col-label{
  padding:6.8rem 4.8rem;
  
  background:transparent;
}
.col-content{padding:6.8rem 7vw}
.section-label{
  display:block;color:var(--orange-deep);
  font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
  font-weight:500;margin-bottom:1.2rem;
}
h1,h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:300;letter-spacing:-.04em;line-height:1.0;
}
h1{font-size:clamp(3.4rem,6vw,7rem);margin-bottom:2.8rem}
h2{font-size:clamp(2rem,3.2vw,4rem)}
h2 em,h1 em{font-style:italic;color:var(--orange-deep)}
.cta-btn{
  display:inline-flex;align-items:center;
  min-height:50px;padding:0 26px;
  background:var(--charcoal);color:var(--white);
  text-decoration:none;font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;
  font-weight:400;border:none;cursor:pointer;
  transition:background .2s;
}
.cta-btn:hover{background:var(--orange-deep)}
.btn-outline{
  display:inline-flex;align-items:center;
  min-height:48px;padding:0 22px;
  border:1px solid var(--text);color:var(--text);
  text-decoration:none;font-size:.68rem;
  letter-spacing:.12em;text-transform:uppercase;
  transition:background .2s,color .2s;background:transparent;
  cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:300;
}
.btn-outline:hover{background:var(--text);color:var(--white)}



/* ── ABOUT (HOME) ── */
.hero{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  border-bottom:none;
  background:transparent;
}
.hero h1{font-size:clamp(2.4rem,4.5vw,5.5rem);margin-bottom:1.8rem}
h1 em{white-space:nowrap}
@media (max-width:700px){
  h1 em{white-space:normal}
}
.hero-left{
  display:flex;flex-direction:column;justify-content:flex-start;
  padding:3rem 6vw 2rem 5.5vw;
  position:relative;
}

.hero-tagline{
  font-family:'DM Sans',sans-serif;
  font-size:1.25rem;font-weight:400;
  color:#3f3c35;line-height:1.5;
  max-width:580px;
  margin:0 0 2.2rem;
}
.hero-body{
  max-width:580px;color:#3f3c35;
  font-size:1.08rem;line-height:1.88;
  margin:0 0 3rem;
}
.hero-right{
  display:flex;align-items:flex-start;justify-content:flex-start;
  padding:3rem 3rem 1rem 0;
  background:transparent;
}
.hero-stats{
  margin:2.5rem auto 4rem;
  max-width:560px;
  width:100%;
  list-style:none;
  padding:0;
}
:lang(fr) .hero-stats{max-width:680px}
.hero-stats li{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:0 1.4rem;
  align-items:baseline;
  font-size:1.08rem;
  line-height:1.7;
  color:#3f3c35;
  padding:.35rem 0;
}
.hero-stats .stat-pre{text-align:right}
.hero-stats .stat-n{
  text-align:center;
  font-weight:600;
  color:var(--text);
  white-space:nowrap;
}
.hero-stats .stat-l{text-align:left}
/* ── PHOTO PAIR ── */
.photo-pair{
  display:flex;align-items:center;
  justify-content:center;gap:0;
}
.photo-wrap{
  display:flex;flex-direction:column;align-items:center;
}
.photo-after{margin-left:-3rem}
.photo-before img,
.photo-after img{
  width:clamp(240px,26vw,380px);height:auto;
  border:1px solid rgba(23,22,18,.12);display:block;
  box-shadow:0 12px 40px rgba(23,22,18,.18);
}
:lang(fr) .photo-before img,
:lang(fr) .photo-after img,
:lang(es) .photo-before img,
:lang(es) .photo-after img{
  width:clamp(340px,38vw,620px);
}
:lang(fr) .hero,
:lang(es) .hero{grid-template-columns:0.9fr 1.1fr}
:lang(fr) .hero-right,
:lang(es) .hero-right{padding-right:1rem}
.photo-before{transform:rotate(-4deg)}
.photo-after{transform:rotate(3.5deg)}
.photo-placeholder{
  width:clamp(160px,15vw,220px);
  height:clamp(213px,20vw,293px);
  background:rgba(255,255,255,.8);
  border:1px dashed rgba(23,22,18,.2);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 32px rgba(23,22,18,.08);
}
.photo-placeholder span{
  font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(23,22,18,.32);text-align:center;line-height:1.8;
}
.photo-caption{
  font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
}
.photo-arrow{
  font-size:1.8rem;color:var(--orange-deep);
  margin-bottom:3rem;flex-shrink:0;
}

/* ── WORKSHOPS ── */
.page-header{
  padding:3rem 5.5vw 2rem;
  border-bottom:1px solid var(--rule);
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.page-header h1{text-align:center}
.page-header .intro-text{margin:1.8rem auto 0;text-align:left}
.page-header h1{font-size:clamp(2.4rem,4.5vw,5.5rem);margin-bottom:1.8rem}
.intro-text{color:#3f3c35;font-size:1.08rem;line-height:1.88;max-width:640px}
.checklist{list-style:none;margin:1.2rem 0 2.5rem}
.checklist li{
  padding:.5rem 0;
  font-size:.95rem;color:var(--muted);
  display:flex;align-items:baseline;gap:1rem;
}
.checklist li::before{content:"\2022";color:var(--orange-deep);font-size:1.1rem;line-height:1;flex-shrink:0}
.outcomes-list{list-style:none;margin:1rem 0 2.5rem}
.outcomes-list li{
  padding:.55rem 0 .55rem 1.4rem;
  font-family:'DM Sans',sans-serif;
  font-size:1.08rem;color:#3f3c35;position:relative;
}
.outcomes-list li::before{
  content:"";position:absolute;left:0;top:1.1rem;
  width:6px;height:6px;border-radius:50%;background:var(--orange-deep);
}
.wl-h{
  font-family:'DM Sans',sans-serif;
  font-size:1.08rem;font-weight:400;letter-spacing:.01em;
  color:#3f3c35;margin:3rem 0 .8rem;
}
.langs-note{
  margin-top:3rem;padding-top:1.5rem;
  font-size:.82rem;color:var(--muted);letter-spacing:.04em;
}

/* Workshops page — no horizontal rules + single-column body */
.page-workshops .page-header{border-bottom:none;padding-bottom:0}
.page-workshops .intro-text{color:#3f3c35;font-size:1.08rem;line-height:1.88}
.page-workshops .workshops-body{padding-top:.5rem}
.page-workshops .outcomes-list{margin-top:0}
.workshops-body{padding:3rem 7vw 0;max-width:900px;margin:0 auto}
.workshops-body .wl-h:first-child{margin-top:0}
.workshops-body .langs-note{font-size:.95rem}
.offering{
  margin:3rem auto 5.5rem;
  text-align:center;
  padding:3.5rem 3rem 2.5rem;
  border:1px solid var(--rule);
  background:rgba(255,255,255,.5);
  max-width:780px;
  box-shadow:0 12px 40px rgba(23,22,18,.08);
}
.offering-heading{
  font-family:'DM Sans',sans-serif;
  font-weight:400;
  font-size:1.08rem;
  color:#3f3c35;
  letter-spacing:0;
  margin-bottom:1rem;
}
.offering-note{
  font-family:'DM Sans',sans-serif;
  font-weight:400;
  font-size:1.08rem;
  color:#3f3c35;
  line-height:1.88;
  margin:0 auto 2.5rem;
}
.offering > *:last-child{margin-bottom:0}
.offering-label{
  font-family:'DM Sans',sans-serif;
  font-size:1.08rem;
  letter-spacing:0;
  text-transform:none;
  color:#3f3c35;
  font-weight:400;
  line-height:1.4;
  margin:2rem 0 0;
}
.offering-label:first-child{margin-top:0}
.offering-where{
  display:inline;
  font-family:'DM Sans',sans-serif;
  font-style:normal;
  font-weight:400;
  font-size:1.08rem;
  text-transform:none;
  letter-spacing:0;
  color:#3f3c35;
  margin-left:.25rem;
}
.offering-formats{
  list-style:none;
  margin:0;
  padding:0;
  font-family:'DM Sans',sans-serif;
  font-weight:400;
  font-size:1.08rem;
  color:#3f3c35;
  line-height:1.7;
}
.offering-formats li{
  padding:.15rem 0;
}
.offering-formats a{
  position:relative;
  text-decoration:none;
  color:inherit;
  display:inline-block;
  padding:.1rem .2rem;
  transition:color .2s;
}
.offering-formats a::after{
  content:"";
  position:absolute;
  left:.2rem;right:.2rem;bottom:0;
  height:1px;
  background:var(--orange-deep);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .28s ease;
}
.offering-formats a:hover{color:var(--orange-deep)}
.offering-formats a:hover::after{transform:scaleX(1)}
.offering-prose{
  font-family:'DM Sans',sans-serif;
  font-size:1.08rem;
  font-weight:400;
  line-height:1.88;
  color:#3f3c35;
  margin:0 0 1.5rem;
}
.offering-prose:last-child{margin-bottom:0}
.offering-prose a{
  text-decoration:underline;
  text-decoration-color:var(--orange-deep);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  color:inherit;
  transition:color .2s;
}
.offering-prose a:hover{color:var(--orange-deep)}
.offering-langs{
  margin-top:2.6rem;
  font-size:1.05rem;
  color:var(--text);
}
.offering-pricing{
  font-family:'DM Sans',sans-serif;
  font-weight:400;
  font-size:1.08rem;
  color:#3f3c35;
  line-height:1.88;
  margin:0;
}
@media(max-width:700px){
  .offering{padding:2.5rem 1.5rem}
}
.testimonials{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2.8rem;
  margin:2.5rem 0 3rem;
  padding:2rem 0;
}
.testimonials blockquote{
  margin:0;
  max-width:640px;
  text-align:center;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.25rem;
  font-weight:300;
  line-height:1.65;
  font-style:italic;
  color:#3f3c35;
}
.testimonials blockquote p{margin:0 0 1rem}
.testimonials blockquote footer{
  font-family:'DM Sans',sans-serif;
  font-style:normal;
  font-size:1.08rem;
  letter-spacing:0;
  color:#3f3c35;
}
.testimonials blockquote footer strong{
  font-weight:400;
  color:#3f3c35;
}
.testimonials blockquote footer .role{color:var(--muted)}
@media (max-width:700px){
  .testimonials{grid-template-columns:1fr;gap:2.5rem}
}

/* ── WORK ── */
.article-list{list-style:none;border-top:1px solid var(--rule)}
.article-item{
  display:grid;grid-template-columns:180px 1fr;
  gap:2.5rem;padding:2rem 0;
  border-bottom:1px solid var(--rule);align-items:start;
}
.a-tag{
  color:var(--orange-deep);font-size:.63rem;
  letter-spacing:.18em;text-transform:uppercase;
  font-weight:500;padding-top:.3rem;
}
.a-title{
  display:block;color:var(--text);text-decoration:none;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.6rem;line-height:1.1;font-weight:400;
  margin-bottom:.5rem;transition:color .2s;
}
.a-title:hover{color:var(--orange-deep)}
.a-desc{color:var(--muted);font-size:.92rem;line-height:1.75}
.app-strip{
  margin-top:3.5rem;padding:2rem 2.2rem;
  border:1px solid var(--rule);background:var(--cream-2);
  display:grid;grid-template-columns:1fr auto;
  align-items:center;gap:2rem;
}
.app-strip p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.7}
.app-strip strong{color:var(--text);font-weight:400}

/* ── CONTACT ── */
.contact-side p{color:var(--muted);font-size:.92rem;line-height:1.8;margin-top:.8rem}
.direct-methods{list-style:none;margin-top:3rem;border-top:1px solid var(--rule)}
.dm-item{
  display:grid;grid-template-columns:90px 1fr;
  gap:1rem;align-items:baseline;
  padding:1.3rem 0;border-bottom:1px solid var(--rule);
}
.dm-label{font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.dm-value{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.3rem;color:var(--text);text-decoration:none;transition:color .2s;
}
.dm-value:hover{color:var(--orange-deep)}
.form-group{display:grid;gap:.6rem;margin-bottom:1.8rem}
.form-group label{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:.9rem 1rem;
  border:1px solid var(--rule);background:rgba(255,255,255,.5);
  color:var(--text);font-family:'DM Sans',sans-serif;
  font-size:.95rem;font-weight:300;
  appearance:none;transition:border-color .2s;resize:vertical;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  outline:none;border-color:var(--orange);
}
.form-note{font-size:.8rem;color:var(--muted);margin-top:2rem;line-height:1.7}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}

/* ── HAMBURGER (hidden on desktop) ── */
.nav-toggle{display:none}
.mobile-menu{display:none}

/* ── TABLET: hero stacks early — photos don't fit alongside text below ~1000px ── */
@media(max-width:999px){
  .hero,
  :lang(fr) .hero,
  :lang(es) .hero{grid-template-columns:1fr;min-height:auto}
  .hero-left{
    padding:8vw 5vw .5rem;
    align-items:center;text-align:center;
  }
  .hero-left h1{text-align:left}
  .hero-body{margin-left:auto;margin-right:auto;text-align:left}
  .hero-right,
  :lang(fr) .hero-right,
  :lang(es) .hero-right{
    padding:1rem 5vw 1.5rem;
    justify-content:center;
  }
}

/* ── MOBILE ── */
@media(max-width:900px){
  nav{
    padding:16px 22px;
    grid-template-columns:auto 1fr;
    grid-template-rows:auto;
    gap:0 1rem;
    align-items:center;
  }
  .nav-brand{grid-row:1;grid-column:1;justify-self:start}

  /* Hide menu items by default on mobile — hamburger reveals them */
  .nav-links,.lang-switcher{display:none}

  /* Hamburger button */
  .nav-toggle{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:6px;
    width:44px;height:44px;
    background:transparent;
    border:none;
    cursor:pointer;
    padding:0;
    grid-row:1;grid-column:2;
    justify-self:end;
    z-index:200;
    position:relative;
  }
  .nav-toggle span{
    display:block;
    width:24px;height:1.5px;
    background:var(--text);
    transition:transform .3s ease, opacity .25s ease;
    transform-origin:center;
  }
  body.menu-open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}
  body.menu-open .nav-toggle span:nth-child(2){opacity:0}
  body.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* Lock body scroll when menu open */
  body.menu-open{overflow:hidden}

  /* Mobile menu overlay (created by JS as body child to escape nav's backdrop-filter containing block) */
  .mobile-menu{
    display:none;
    position:fixed;
    inset:0;
    z-index:150;
    background:#ffffff;
    background-image:linear-gradient(108deg, #ffffff 0%, #ffffff 10%, var(--cream-2) 75%, var(--cream) 100%);
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:0 2rem;
    animation:menu-fade .25s ease-out;
  }
  body.menu-open .mobile-menu{display:flex}

  .mobile-menu .nav-links{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2.5rem;
    list-style:none;
    padding:0;
    margin:0;
  }
  .mobile-menu .nav-links a{
    font-size:1rem;
    letter-spacing:.16em;
  }

  .mobile-menu .lang-switcher{
    display:flex;
    position:absolute;
    bottom:3rem;
    left:0;right:0;
    width:100%;
    justify-content:center;
    margin:0;
    padding:0;
  }

  @keyframes menu-fade{from{opacity:0}to{opacity:1}}

  /* Close button inside mobile menu — aligned to match hamburger position */
  .mobile-menu-close{
    position:absolute;
    top:17px;right:22px;
    width:44px;height:44px;
    background:transparent;border:none;
    cursor:pointer;padding:0;
    display:flex;align-items:center;justify-content:center;
  }
  .mobile-menu-close span{
    position:absolute;
    width:24px;height:1.5px;
    background:var(--text);
  }
  .mobile-menu-close span:nth-child(1){transform:rotate(45deg)}
  .mobile-menu-close span:nth-child(2){transform:rotate(-45deg)}

  .nav-brand-name{display:none}

  .two-col{grid-template-columns:1fr}
  .col-label{padding:3rem 1.5rem;border-right:0;border-bottom:1px solid var(--rule)}
  .col-content{padding:3rem 1.5rem}
  .page-header{padding:4rem 1.5rem 3rem}
  .page-header h1{font-size:clamp(1.85rem,7.5vw,2.4rem)}
  .hero-tagline{font-size:1.1rem;margin-bottom:1.8rem}
  .article-item{grid-template-columns:1fr;gap:.4rem}
  .app-strip{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  footer{flex-direction:column;align-items:flex-start;padding:1.5rem}
}


.notebook-img{
  position:relative;
  border-bottom:1px solid var(--rule);
  overflow:hidden;
  max-height:240px;
}
.notebook-img img{
  width:100%;
  height:240px;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.notebook-caption{
  position:absolute;
  bottom:1.5rem;right:2rem;
  font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.75);
  text-shadow:0 1px 8px rgba(0,0,0,.4);
}

.contact-body{
  max-width:600px;
  margin:0 auto;
  padding:2.5rem 2rem 2.5rem;
}
.page-contact .page-header{border-bottom:none;padding-bottom:0}
.page-contact .page-header h1{margin-bottom:0}
.whatsapp-note{
  font-family:'DM Sans',sans-serif;
  font-size:1.08rem;font-weight:400;color:#3f3c35;
  text-align:right;margin-top:2.5rem;line-height:1.88;
  overflow-wrap:anywhere;
}
@media(max-width:700px){
  .contact-body{padding-left:1.25rem;padding-right:1.25rem}
  .whatsapp-note{font-size:.98rem}
  .site-footer{padding-left:1rem;padding-right:1rem}
  .site-footer .footer-sep{margin:0 .35rem}
  .site-footer .footer-row{font-size:.78rem}
}
.whatsapp-note a{color:var(--orange-deep);text-decoration:none}
.hp{position:absolute;left:-10000px;width:1px;height:1px;opacity:0;pointer-events:none}
.form-success{
  text-align:center;
  padding:2rem 0;
  animation:fade-in .5s ease-out;
}
.form-success-headline{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(1.8rem,3vw,2.4rem);
  font-weight:300;
  font-style:italic;
  color:var(--text);
  margin-bottom:1rem;
  letter-spacing:-.02em;
}
.form-success-body{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.15rem;
  font-weight:300;
  font-style:italic;
  color:var(--muted);
  line-height:1.6;
}
@keyframes fade-in{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.field-error{
  display:block;
  max-height:0;
  overflow:hidden;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:300;
  font-size:1rem;
  line-height:1.4;
  color:var(--orange-deep);
  opacity:0;
  transition:max-height .25s ease, padding .25s ease, opacity .25s ease;
  padding:0 .2rem;
}
.field-error.visible{
  max-height:3rem;
  padding:.4rem .2rem 0;
  opacity:1;
}
.form-group.has-error input,
.form-group.has-error textarea{
  border-color:var(--orange-deep);
}
.contact-whatsapp{
  display:flex;
  flex-direction:column;
  gap:.6rem;
  margin-bottom:3rem;
  padding-bottom:3rem;
  border-bottom:1px solid var(--rule);
}

.work-stats{
  padding:3rem 5.5vw;
  border-bottom:1px solid var(--rule);
  max-width:600px;
}

.work-buttons{
  max-width:680px;
  margin:3rem auto 5.5rem;
  padding:3.5rem 3rem 2.5rem;
  background:rgba(255,255,255,.5);
  border:1px solid var(--rule);
  box-shadow:0 12px 40px rgba(23,22,18,.08);
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1rem;
  text-align:center;
}
.work-intro{
  font-family:'DM Sans',sans-serif;
  color:#3f3c35;
  font-size:1.08rem;
  line-height:1.88;
  max-width:640px;
  margin:0 auto;
  text-align:center;
}
.substack-embed + .work-intro{margin-top:3.5rem}
.substack-embed{
  display:block;
  width:100%;
  max-width:480px;
  height:320px;
  border:none;
  background:transparent;
}

/* What I Teach page — left-align page header, no borders around the notebook */
.page-work .page-header{border-bottom:none;padding-bottom:0}
.page-work .page-header h1{margin-bottom:0}
.page-work .notebook-img{border-bottom:none}
.self-care-summary{padding:2.5rem 5.5vw 0}
.practices-list{
  list-style:none;
  margin:0 auto;
  padding:0;
  max-width:640px;
}
.practices-list li{
  font-family:'DM Sans',sans-serif;
  font-size:1.08rem;
  font-weight:400;
  color:#3f3c35;
  padding:.65rem 0 .65rem 1.5rem;
  position:relative;
  line-height:1.7;
}
.practices-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:1.25rem;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--orange-deep);
}
.practices-list .practice-desc{color:var(--muted)}

.notebook-img{
  position:relative;
}
.notebook-img::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 75% 85% at center, rgba(255,255,255,1) 0%, rgba(255,255,255,.98) 40%, rgba(255,255,255,.7) 70%, transparent 95%);
  z-index:1;
  pointer-events:none;
}
.notebook-stats-overlay{
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%);
  z-index:2;
  padding:3rem 4rem;
  width:max-content;
}
.notebook-stats-overlay .stat-row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:0 1.4rem;
  align-items:baseline;
  font-family:'DM Sans',sans-serif;
  font-size:1.08rem;
  line-height:1.7;
  color:#3f3c35;
  padding:.35rem 0;
}
.notebook-stats-overlay .stat-pre{text-align:right}
.notebook-stats-overlay .stat-n{
  text-align:center;
  font-weight:600;
  color:var(--text);
  white-space:nowrap;
}
.notebook-stats-overlay .stat-l{text-align:left}
.notebook-stats-overlay .notebook-tagline{
  font-family:'DM Sans',sans-serif;
  font-size:1.08rem;
  font-weight:400;
  color:#3f3c35;
  text-align:center;
  margin-top:1.5rem;
  line-height:1.88;
}

/* ── HOMEPAGE CONTINUE BLOCK ── */
.hero-continue{
  max-width:560px;
  margin:5rem auto 6rem;
  padding:0 5.5vw;
  text-align:center;
}
.hero-continue-label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.25rem;
  font-family:'DM Sans',sans-serif;
  font-size:.78rem;
  font-weight:400;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 1.25rem;
}
.hero-continue-label::before,
.hero-continue-label::after{
  content:"";
  flex:0 1 80px;
  height:1px;
  background:var(--rule);
  opacity:.6;
}
.hero-continue-links{
  list-style:none;
  padding:0;
  margin:0;
}
.hero-continue-links li{
  padding:.5rem 0;
}
.hero-continue-links a{
  font-family:'DM Sans',sans-serif;
  font-size:1.08rem;
  font-weight:400;
  color:#3f3c35;
  text-decoration:none;
  transition:color .15s ease;
}
.hero-continue-links a:hover{
  color:var(--orange-deep);
  text-decoration:underline;
  text-decoration-color:var(--orange-deep);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

/* ── SITE FOOTER ── */
.site-footer{
  margin-top:3.5rem;
  border-top:1px solid rgba(222,214,202,.55);
  padding:1.5rem 5.5vw 1.75rem;
  text-align:center;
  font-family:'DM Sans',sans-serif;
  font-size:.82rem;
  font-weight:400;
  letter-spacing:.02em;
  color:var(--muted);
}
.site-footer .footer-row{margin:.25rem 0;line-height:1.7}
.site-footer a{
  color:var(--muted);
  text-decoration:none;
  transition:color .15s ease;
}
.site-footer a:hover{
  color:var(--orange-deep);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.site-footer .footer-sep{
  margin:0 .6rem;
  color:var(--muted);
  opacity:.55;
}

/* ── LEGAL PAGE ── */
.page-legal .page-header{border-bottom:none;padding-bottom:0}
.page-legal .page-header h1{margin-bottom:0}
.page-404 .page-header{border-bottom:none;padding-bottom:0}
.page-404 .page-header .intro-text{text-align:center}
.legal-body{
  max-width:680px;
  margin:0 auto;
  padding:2.5rem 5.5vw 2.5rem;
}
.legal-body section{margin-bottom:2.5rem}
.legal-body section:last-child{margin-bottom:0}
.legal-body h2{
  font-family:'DM Sans',sans-serif;
  font-size:.78rem;
  font-weight:400;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--muted);
  margin:0 0 1rem;
}
.legal-body p{
  font-family:'DM Sans',sans-serif;
  font-size:1rem;
  font-weight:400;
  color:#3f3c35;
  line-height:1.8;
  margin:0 0 .8rem;
}
.legal-body a{
  color:#3f3c35;
  text-decoration:underline;
  text-decoration-color:var(--orange-deep);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.legal-body .legal-placeholder{color:var(--muted);font-style:italic}
.legal-body .legal-meta{margin-top:4rem;padding-top:1.5rem;border-top:1px solid var(--rule)}
.legal-body .legal-meta p{font-size:.85rem;color:var(--muted);margin:0}
