/* Integrated review from version 56. Shared visual language; existing lessons remain in place. */
:root { --garden-ink:#43103f; --garden-cream:#fff8e8; }
html { scroll-padding-top: 5rem; }
:is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #8a396f; outline-offset:3px; }
:is(.hair-header,.face-header,.brow-header,.library-header,.explore-header,.about-header,.lesson-header,.info-header) {
  max-width:none; min-height:68px; height:auto; margin:0;
  padding:.85rem clamp(1.25rem,4vw,4rem);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:.8rem 1.8rem; background:#fff8e8; color:#43103f;
  border-bottom:1px solid #43103f33;
}
:is(.hair-header,.face-header,.brow-header,.library-header,.explore-header,.about-header,.lesson-header,.info-header) nav {
  display:flex; flex-wrap:wrap; align-items:center; gap:.5rem clamp(.8rem,2vw,1.7rem);
}
:is(.hair-header,.face-header,.brow-header,.library-header,.explore-header,.about-header,.lesson-header,.info-header) nav a {
  display:inline-flex; align-items:center; min-height:42px; font-size:.91rem;
  font-weight:680; text-decoration:none;
}
:is(.hair-header,.face-header,.brow-header,.library-header,.explore-header,.about-header,.lesson-header,.info-header) nav a:hover,
:is(.hair-header,.face-header,.brow-header,.library-header,.explore-header,.about-header,.lesson-header,.info-header) nav a:focus-visible {
  text-decoration:underline; text-underline-offset:.28em;
}

/* Home: a personal welcome, then a clear choice with enough room around each invitation. */
.welcome-conversation .conversation-lines { max-width:800px; }
.welcome-conversation .conversation-lines p { line-height:1.72; }
.care-areas .section-heading { max-width:850px; }
.care-areas .section-heading .care-principle { margin-top:1.5rem; }
.bird-prompt { max-width:1240px; padding:0 1.25rem; margin:1.2rem auto 0; text-align:right; }
.library-invite { gap:clamp(2rem,5vw,5rem); }
.library-invite .series-invite { align-self:center; }
.garden-clearing { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:#fbf6ed; color:#43103f; }
.garden-clearing .clearing-art { position:relative; min-height:660px; overflow:hidden; }
.garden-clearing .clearing-art img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:44% center; }
.garden-clearing .clearing-copy { align-self:center; padding:clamp(3.5rem,6vw,7rem) clamp(1.5rem,5vw,5rem); }
.garden-clearing .letter-intro { max-width:650px; }
.garden-clearing h2 { margin:.2rem 0 1.3rem; font:400 clamp(3rem,5vw,5.7rem)/1.03 Georgia,serif; letter-spacing:-.05em; }
.garden-clearing h2 em { display:block; color:#79506b; }
.garden-clearing .letter-intro>p:last-child { max-width:560px; margin:0 0 2rem; font-size:1.13rem; line-height:1.7; }
.garden-clearing .letter-form { max-width:600px; padding:clamp(1.3rem,3vw,2rem); border:1px solid #6d4c6b77; border-radius:20px; background:#fffdf7; color:#43103f; }
.garden-clearing .letter-form h3 { margin:0 0 1rem; font:400 clamp(1.5rem,2.2vw,2.1rem)/1.2 Georgia,serif; }
.garden-clearing .consent-note { color:#493447; opacity:1; font-size:.85rem; line-height:1.55; }
.garden-clearing .letter-form :is(input,button,.formkit-submit) { min-height:48px; }
.garden-clearing .letter-form a { text-decoration:underline; }
.meet-intro { padding-block:clamp(5rem,9vw,8rem); }

/* The five routes use the same proportions, navigation and typography with distinct natural accents. */
.discovery-hero { position:relative; max-width:none; min-height:560px; margin:0; padding:clamp(4rem,7vw,7rem) max(1.25rem,calc((100vw - 1240px)/2));
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); align-items:center; gap:clamp(2rem,5vw,5rem);
  overflow:hidden; background:#f2eee4; color:#254836; }
.discovery-hero .discovery-hero-copy,.discovery-hero>div:first-child { position:relative; z-index:1; }
.discovery-hero h1 { max-width:770px; margin:0; font-size:clamp(3.2rem,6.5vw,6.7rem); line-height:1.01; letter-spacing:-.06em; }
.discovery-hero h1 em { display:block; font-family:Georgia,serif; font-weight:400; }
.discovery-hero .lede,.discovery-hero .hair-deck { max-width:610px; margin:1.35rem 0 0; font:400 clamp(1.1rem,1.7vw,1.35rem)/1.58 Georgia,serif; opacity:1; color:inherit; }
.discovery-hero>img { display:block; width:100%; height:clamp(340px,34vw,520px); object-fit:cover; border-radius:46% 46% 16px 16px / 32% 32% 16px 16px; box-shadow:0 24px 58px #38292b27; }
.discovery-start { display:inline-flex; align-items:center; min-height:48px; margin-top:1.7rem; padding:.65rem 1.1rem; border:1px solid currentColor; border-radius:99px; font-weight:700; text-decoration:none; }
.discovery-start:hover { background:#fff8e8; color:#43103f; }
.forest-hero { background:#e8ebdf; color:#244c37; }
.skin-garden-hero { background:#f8eade; color:#6f364d; }
.butterfly-path-hero { background:#f1e9ef; color:#613f67; }
.body-meadow-hero { background:#edf0de; color:#375744; }
.quiet-grove-hero { background:#e9efec; color:#31555c; }
.skin-garden-hero :is(.eyebrow,.discovery-start),.butterfly-path-hero :is(.eyebrow,.discovery-start),.body-meadow-hero :is(.eyebrow,.discovery-start),.quiet-grove-hero :is(.eyebrow,.discovery-start) { color:inherit; }

/* Hair: free discoveries and the existing Scalp Story precede the optional field guides. */
.hair-paths { padding-block:clamp(4rem,7vw,7rem); }
.path-door { min-height:380px; background:#244734; }
.hair-forest-map { scroll-margin-top:4rem; }
.forest-analogy { max-width:880px; margin:3rem auto 0; padding:1rem 1.25rem; border-left:3px solid #496450; font-size:.95rem; line-height:1.6; }
.field-guides { padding:clamp(5rem,8vw,8rem) max(1.25rem,calc((100vw - 1240px)/2)); background:#ebefe5; color:#244734; }
.field-guides-heading { max-width:800px; margin-bottom:2.2rem; }
.field-guides h2 { margin:0 0 1rem; font:400 clamp(2.8rem,5vw,5rem)/1.05 Georgia,serif; letter-spacing:-.045em; }
.field-guides-heading>p:not(.eyebrow) { max-width:720px; font-size:1.13rem; line-height:1.65; }
.guide-sequence { font-weight:800; letter-spacing:.1em; }
.guide-shelf { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.guide-card { min-width:0; display:flex; flex-direction:column; border:1px solid #3856408a; border-radius:18px; overflow:hidden; background:#fffaf1; }
.guide-card>img { width:100%; height:clamp(190px,21vw,275px); object-fit:contain; background:#f4eddf; }
.guide-card>div { flex:1; display:flex; flex-direction:column; padding:1.35rem; }
.guide-card .eyebrow { margin:0; font-size:.78rem; }
.guide-card h3 { margin:.45rem 0 .1rem; font-size:clamp(2rem,3vw,2.8rem); line-height:1.05; }
.guide-card p:not(.eyebrow) { line-height:1.58; }
.guide-card .guide-format { margin-top:auto; font-size:.9rem; font-weight:750; }
.guide-card a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin-top:.5rem; padding:.7rem 1rem; border-radius:99px; background:#244734; color:#fffaf1; font-weight:700; text-align:center; text-decoration:none; }
.guide-note { max-width:850px; margin:1.8rem 0 0; line-height:1.65; }

/* Library: selection and all free lessons first; compact coordinated course cards afterward. */
.library-hero { min-height:460px; padding-block:clamp(5rem,8vw,8rem); }
.library-areas { border-top:0; }
.free-learning { scroll-margin-top:3rem; }
.hair-courses { margin-top:clamp(2rem,4vw,4rem); scroll-margin-top:3rem; }
.hair-course-grid { gap:1rem; }
.hair-course-card img { object-fit:contain; background:#f4eddf; }
.hair-course-copy { flex:1; }
.hair-course-copy .hair-course-format { margin-top:auto; }
.hair-course-copy .button { min-height:48px; }

@media(max-width:900px) {
  .garden-clearing,.discovery-hero { grid-template-columns:1fr; }
  .garden-clearing .clearing-art { min-height:420px; }
  .discovery-hero { padding:4.5rem max(1.25rem,7vw); }
  .discovery-hero>img { height:400px; }
  .guide-shelf { grid-template-columns:1fr; max-width:700px; }
  .guide-card { display:grid; grid-template-columns:180px 1fr; }
  .guide-card>img { width:180px; height:100%; min-height:230px; }
}
@media(max-width:600px) {
  :is(.hair-header,.face-header,.brow-header,.library-header,.explore-header,.about-header,.lesson-header,.info-header) { gap:.3rem .8rem; padding:.7rem 1rem; }
  :is(.hair-header,.face-header,.brow-header,.library-header,.explore-header,.about-header,.lesson-header,.info-header) nav { gap:.1rem .75rem; }
  :is(.hair-header,.face-header,.brow-header,.library-header,.explore-header,.about-header,.lesson-header,.info-header) nav a { min-height:44px; font-size:.85rem; }
  .garden-clearing .clearing-art { min-height:270px; }
  .garden-clearing .clearing-copy { padding:3.5rem 1.25rem 4.5rem; }
  .garden-clearing h2 { font-size:clamp(2.7rem,11vw,3.7rem); }
  .discovery-hero { padding:3.8rem 1.25rem 4rem; gap:2rem; min-height:0; }
  .discovery-hero h1 { font-size:clamp(2.8rem,11vw,4.1rem); }
  .discovery-hero>img { height:270px; }
  .guide-card { display:flex; }
  .guide-card>img { width:100%; height:230px; min-height:0; }
  .field-guides { padding-block:4.5rem; }
  .library-hero { min-height:0; }
  .hair-course-card img { object-fit:contain; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

/* Restore the selected proposal discoveries without replacing existing lessons. */
.restored-discovery { padding:clamp(3rem,6vw,6rem) max(1.25rem,calc((100vw - 1240px)/2)); color:#244734; background:#f6f5eb; }
.restored-discovery h2 { max-width:820px; font:400 clamp(2.1rem,4vw,3.8rem)/1.13 Georgia,serif; letter-spacing:-.035em; margin:.6rem 0 1.4rem; }
.restored-discovery p { max-width:850px; line-height:1.7; }
.restored-discovery :is(.discovery-grid,.meadow-question-grid,.grove-question-grid,.butterfly-choice-grid) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:2rem 0; }
.restored-discovery details { background:#fffdf7; border:1px solid #5b625755; border-radius:12px; padding:0 1.25rem; margin:.7rem 0; }
.restored-discovery summary { display:flex; gap:1rem; align-items:center; min-height:76px; padding:1rem 0; cursor:pointer; line-height:1.4; }
.restored-discovery summary strong { font:400 1.35rem/1.4 Georgia,serif; }
.restored-discovery summary small { display:block; font-size:.8rem; margin-bottom:.3rem; }
.restored-discovery summary>b:last-child { margin-left:auto; }
.restored-discovery summary>span:first-child { font-size:.9rem; }
.restored-discovery details>div { padding-bottom:1rem; }
.restored-discovery .topic-list { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.restored-discovery .topic-list li { padding:1rem; border-top:2px solid #59765a; }
.restored-discovery .topic-list strong { display:block; }
.restored-discovery :is(.source-note,.analogy-note,.meadow-metaphor) { font-size:.9rem; }
.garden-foundations { background:#f8eade; color:#6f364d; }
.small-details,.butterfly-choices { background:#f1e9ef; color:#613f67; }
.grove-choose { background:#e9efec; color:#31555c; }
.restored-discovery .butterfly-choice { display:flex; gap:1rem; padding:1.25rem; min-height:80px; border:1px solid currentColor; border-radius:12px; text-decoration:none; }
.restored-discovery .butterfly-choice strong { display:block; }
.trail-paths { position:relative; inset:auto; padding:1rem; background:#f5f0e6; }
.trail-marker { padding:0 0 1.1rem; overflow:hidden; }
.trail-marker img { position:static; display:block; width:100%; height:110px; object-fit:cover; }
.trail-marker :is(span,strong) { margin-left:.9rem; margin-right:.9rem; }
.trail-marker .trail-number { margin-top:.9rem; }
.trail-marker strong { margin-top:.5rem; }
.trail-marker .path-description { margin-top:.8rem; font-size:.9rem; font-weight:400; line-height:1.5; }
.garden-clearing .letter-intro>p { font-size:1.1rem; line-height:1.7; }
.garden-clearing .letter-intro ul { padding-left:1.2rem; line-height:1.7; margin-bottom:2rem; }
.secondary-navigation a,.footer-navigation a { display:inline-flex; align-items:center; min-height:44px; }
.menu-toggle { min-width:44px; min-height:44px; }
@media(max-width:1000px) { .trail-paths { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) {
 .trail-paths { grid-template-columns:1fr; }
 .trail-marker img { height:150px; }
 .restored-discovery :is(.discovery-grid,.meadow-question-grid,.grove-question-grid,.butterfly-choice-grid,.topic-list) { grid-template-columns:1fr; }
}
.restored-discovery .path-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.restored-discovery .path-choice { display:flex; gap:1rem; padding:1.25rem; min-height:85px; border:1px solid #613f6766; border-radius:12px; background:#fffdf7; text-decoration:none; }
.restored-discovery .path-choice strong,.restored-discovery .path-choice small { display:block; }
.restored-discovery .detail-ornament { display:none; }
@media(max-width:600px) { .restored-discovery .path-choice-grid { grid-template-columns:1fr; } }

.one-hair-lesson{padding:48px max(24px,calc((100vw - 1000px)/2));background:#fcfaf3;color:#244734}.one-hair-lesson h2{font:400 clamp(1.8rem,3vw,2.8rem)/1.2 Georgia,serif;letter-spacing:-.025em;max-width:820px}.one-hair-lesson>p{max-width:760px;line-height:1.7}.hair-parts{margin:32px 0}.hair-parts>section{padding:24px 0;border-top:1px solid #24473433}.hair-parts h3{font:400 1.6rem/1.3 Georgia,serif;margin:6px 0 12px}.hair-parts p{max-width:760px;line-height:1.7}.part-number{font-size:.8rem;letter-spacing:.08em}.notice-line{color:#3a5144}.one-hair-takeaway{padding:20px;background:#edf0e6;border-radius:8px}.hair-safety,.hair-sources{font-size:.9rem}.path-background{margin:24px auto;max-width:1120px;padding:0 24px}.path-background>summary{min-height:48px;cursor:pointer;padding:12px 0}.path-background .explore-section,.path-background .explore-flow{padding:28px 0}.discovery-hero{min-height:0;padding-top:48px;padding-bottom:48px}.discovery-hero h1{font-size:clamp(2.2rem,4.8vw,4.5rem);line-height:1.12;letter-spacing:-.035em}.discovery-hero>img{height:300px}.discovery-hero .lede,.discovery-hero .hair-deck{font-size:1.0625rem}.restored-discovery{padding-top:40px;padding-bottom:40px}.field-guides{padding-top:48px;padding-bottom:48px}.field-guides h2{font-size:clamp(2rem,3.3vw,3.3rem)}@media(max-width:600px){.discovery-hero{padding:32px 24px;gap:24px}.discovery-hero h1{font-size:36px}.discovery-hero>img{height:180px}.one-hair-lesson{padding:32px 24px}.one-hair-lesson h2{font-size:28px}}
