/* A quieter editorial rhythm, with a few cinematic pauses. */
:root{--paper:#f4f5ef;--white:#fbfbf7;--mist:#e6ece7;--ink:#1c342e;--soft:#51675e;--line:#c1cec5;--accent:#55786e}
body{background:var(--paper)}
::selection{background:#b9d2c5;color:#17332a}
.reading-progress{position:fixed;z-index:80;top:0;left:0;width:100%;height:2px;background:#b9d7c4;transform:scaleX(0);transform-origin:left;pointer-events:none}
.site-header{background:#18332d;color:#f5f5ed;border-bottom-color:rgba(255,255,255,.14);transition:background .4s,color .4s,border-color .4s}
.site-header.is-scrolled{background:rgba(244,245,239,.94);color:var(--ink);border-bottom-color:rgba(28,52,46,.14)}
.site-header:not(.is-scrolled) .brand span{color:#bdd5c9}
.site-header:not(.is-scrolled) .menu-toggle span{background:#f5f5ed}
.desktop-nav a{position:relative}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.desktop-nav a:hover::after{transform:scaleX(1)}
.hero{position:relative;isolation:isolate;display:block;max-width:none;min-height:calc(100svh - 76px);padding:0;overflow:hidden;background:#18332d;color:#f4f5ee}
.hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#18332d 0%,#18332d 28%,rgba(24,51,45,.88) 42%,rgba(24,51,45,.2) 76%,rgba(24,51,45,.02) 100%)}
.hero-visual{position:absolute;z-index:-2;inset:0 0 0 37%;min-height:0;overflow:hidden;animation:heroImage 1.5s .1s both}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:saturate(.78) contrast(1.03);transform:translate3d(0,var(--hero-drift,0px),0) scale(1.04);transition:none}
.hero-visual:hover img{transform:translate3d(0,var(--hero-drift,0px),0) scale(1.04)}
.hero-copy{position:relative;z-index:2;max-width:1600px;width:100%;margin:auto;min-height:calc(100svh - 76px);padding:clamp(45px,6vh,90px) clamp(20px,5vw,88px) 64px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero-name{color:#c3d8ca;margin-bottom:20px}
.hero h1{font-size:clamp(5.6rem,10vw,10rem);max-width:9ch;line-height:.91;letter-spacing:-.075em;text-wrap:balance}
.hero h1 em{color:#b5d2c5}
.hero-deck{max-width:37ch;margin-top:28px;font-size:clamp(1.13rem,1.55vw,1.48rem);line-height:1.52;color:#edf4ec}
.hero-specialties{max-width:48ch;color:#bcd0c5;font-size:.72rem;margin-top:18px}
.primary-link{background:#f0f2e9;color:#19362e;margin-top:18px;min-width:290px;padding:17px 20px;border:1px solid #f0f2e9}
.primary-link:hover{background:transparent;color:#f0f2e9;transform:translateY(-3px)}
.hero-foot{position:absolute;z-index:2;bottom:24px;left:clamp(20px,5vw,88px);right:clamp(20px,5vw,88px);margin:0;border-color:rgba(245,245,237,.35);color:#c2d5c7}
@keyframes heroImage{from{opacity:0;clip-path:inset(0 0 0 18%)}to{opacity:1;clip-path:inset(0)}}

.story-section{position:relative;overflow:hidden}
.story-section .section-inner{max-width:1500px}
.story-section .section-copy{position:relative;z-index:2}
.story-section .section-copy h2{margin-bottom:48px}
.story-section .section-copy p{max-width:54ch}
.eyebrow{color:#597a6d}
.photo{position:relative}
.photo::after{content:"";position:absolute;inset:auto 0 0;height:26%;background:linear-gradient(transparent,rgba(10,30,22,.09));pointer-events:none}
.photo.reveal{clip-path:inset(0 0 12% 0);opacity:0;transform:translateY(32px);transition:clip-path 1.15s cubic-bezier(.2,.7,.2,1),opacity .85s ease,transform 1.15s cubic-bezier(.2,.7,.2,1)}
.photo.reveal.visible{clip-path:inset(0);opacity:1;transform:none}
.section-copy.reveal.visible h2,.requests-heading.reveal.visible h2,.formats-heading.reveal.visible h2,.section-heading.reveal.visible h2,.contact-copy.reveal.visible h2{animation:headingReveal .75s .12s both}
@keyframes headingReveal{from{opacity:.25;transform:translateY(18px)}to{opacity:1;transform:none}}
#inside{padding-top:clamp(110px,15vw,230px);padding-bottom:clamp(110px,15vw,230px);background:#e8eee8}
#inside .section-inner{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(50px,9vw,160px)}
#inside .photo{height:clamp(610px,68vw,880px)}
#inside .section-copy h2{max-width:12ch;font-size:clamp(3.8rem,6.1vw,7.8rem)}
#inside .section-copy p:first-of-type{font-family:var(--serif);font-size:1.45rem;line-height:1.5;color:var(--ink)}
#inside .section-copy p:last-of-type strong{font-family:var(--serif);font-size:1.3rem;font-weight:400}
#about{background:#fafbf7}
#about .section-inner{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);align-items:start;gap:clamp(50px,9vw,150px)}
#about .photo{height:680px;margin-top:110px}
#about .section-copy h2{max-width:9ch;font-size:clamp(4.4rem,7vw,8.5rem)}
#about .section-copy p:nth-of-type(1){font-family:var(--serif);font-size:1.4rem}
#answers{background:#e0e8e7}
#answers .section-inner{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
#answers .section-copy h2{max-width:11ch}
#answers .photo{height:670px}
#answers .photo img{object-position:52% 45%}
.requests-section{padding-top:clamp(120px,16vw,230px);padding-bottom:clamp(120px,16vw,230px)}
.requests-top{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.requests-heading h2{max-width:10ch;font-size:clamp(4.2rem,6.5vw,8.4rem)}
.requests-top .photo{height:650px;margin-top:110px}
.topics{display:block;margin-top:120px;border-top:1px solid var(--line)}
.topic{position:relative;display:grid;grid-template-columns:75px minmax(220px,.8fr) minmax(0,1.2fr);gap:30px;align-items:baseline;padding:38px 16px 42px;border:0}
.topic::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform .8s ease}
.topic.visible::after{transform:scaleX(1)}
.topic h3{margin:0;min-height:0;font-size:clamp(1.8rem,2.5vw,2.65rem)}
.topic p{max-width:56ch;font-size:1.02rem}
.topic-num{color:#78968a}
#approach{background:#1c3a33;color:#f0f4ea;padding-top:clamp(110px,12vw,180px);padding-bottom:clamp(110px,12vw,180px)}
#approach .section-inner{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(55px,9vw,155px)}
#approach .section-copy h2{font-size:clamp(3.6rem,5.5vw,6.5rem);max-width:12ch;color:#f7f6ef}
#approach .section-copy p,#approach .section-copy strong{color:#e1eae0}
#approach .section-copy blockquote{border-color:#a3c6b4;color:#f8f5ed}
#approach .eyebrow{color:#bed4c4}
#approach .photo{height:770px}
#approach .photo img{filter:saturate(.75)}
#higher-self{background:#f9faf5;padding-top:clamp(130px,17vw,260px);padding-bottom:clamp(130px,17vw,260px)}
#higher-self .section-inner{grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr)}
#higher-self .section-copy h2{font-size:clamp(5rem,9vw,10rem)}
#higher-self .photo{height:750px}

.formats-section{background:#e9efe9;padding-top:clamp(120px,15vw,220px);padding-bottom:clamp(110px,14vw,200px)}
.formats-heading h2{font-size:clamp(4.3rem,6vw,7.4rem);max-width:11ch}
.formats-heading p{font-family:var(--serif);font-size:clamp(1.25rem,1.8vw,1.75rem);line-height:1.45}
.formats-grid{display:block;margin-top:95px;border-top:1px solid #b8c9bb}
.format-card,.format-card:nth-child(-n+2){position:relative;display:grid;grid-template-columns:minmax(230px,.9fr) minmax(0,1.45fr) minmax(220px,.42fr);gap:clamp(25px,4vw,70px);align-items:start;min-height:0;grid-column:auto;padding:45px 22px 48px;border:0;border-bottom:1px solid #b8c9bb;background:transparent;transition:background .4s ease,padding .4s ease}
.format-card:hover{transform:none;background:#f4f7f1;padding-left:34px}
.format-card h3{margin-top:23px;max-width:13ch;font-size:clamp(2.2rem,3.4vw,3.8rem)}
.format-top{min-width:0;max-width:100%}
.format-card h3{overflow-wrap:break-word;hyphens:auto}
.format-index{color:#738e81}
.format-price{font-size:1.32rem;margin-top:24px}
.format-description{padding:0;max-width:650px}
.format-description p{font-size:1.03rem;line-height:1.7;color:#43564d}
.format-card .text-link{white-space:nowrap;margin:3px 0 0 auto;padding:0 0 5px;align-self:end;justify-self:end}
.format-end{border:0;background:#f6f8f2;margin-top:85px;padding:52px;align-items:start}
.format-end h3{font-size:clamp(2rem,3.2vw,3.3rem)}
.format-end p{font-size:1.05rem;line-height:1.7}

#academy{background:#f8f9f4}
#academy .section-inner{display:block}
#academy .section-copy{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:0 clamp(50px,8vw,145px);max-width:none;margin-bottom:80px}
#academy .section-copy .eyebrow{grid-column:1/-1}
#academy .section-copy h2{grid-column:1;grid-row:2/span 8;max-width:9ch;font-size:clamp(4rem,6vw,7rem)}
#academy .section-copy p{grid-column:2;max-width:60ch;margin-top:0;margin-bottom:20px}
#academy .photo{height:clamp(500px,55vw,780px)}
#academy .photo img{object-position:center 44%}
.quote-section{min-height:760px}
.quote-photo img{filter:brightness(.46) saturate(.8);transform:scale(1.07);transition:transform 2s ease}
.quote-section:has(.quote-content.visible) .quote-photo img{transform:scale(1)}
.quote-content{padding:120px 40px;text-align:left;width:min(100%,1500px)}
.quote-content p{font-size:clamp(3.5rem,6.3vw,7.5rem);line-height:1.05;max-width:15ch;margin:0}
#no-ready-answers{background:#f6f8f2}
#no-ready-answers .section-inner{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
#no-ready-answers .section-copy h2{font-size:clamp(3.8rem,5.8vw,6.8rem);max-width:11ch}
#no-ready-answers .photo{height:710px}

.reviews-section{max-width:none;background:#e4ebe5}
.reviews-section>.section-heading,.reviews-section>.reviews-grid{max-width:1456px;margin-left:auto;margin-right:auto}
.reviews-section>.more-button{margin-top:55px}
.reviews-section .section-heading h2{font-size:clamp(5rem,8vw,9rem)}
.review-image{background:#f5f7f3;padding:18px;box-shadow:0 8px 26px rgba(21,50,35,.06)}
.review-image:nth-child(2),.review-image:nth-child(5){margin-top:45px}
.review-image:hover{box-shadow:0 20px 40px rgba(21,50,35,.13)}
.music-section{max-width:none;background:#f7f8f3}
.music-section>.section-heading,.music-section>.music-content{max-width:1456px;margin-left:auto;margin-right:auto}
.music-section .section-heading h2{font-size:clamp(5rem,8vw,9rem)}
.music-content{gap:0}
.youtube-shell{aspect-ratio:16/9}
.channel-card{background:#e5ece6;border:0;padding:clamp(35px,5vw,70px)}
.channel-card h3{font-size:clamp(2.6rem,4vw,5rem);max-width:9ch}
.channel-card h3{overflow-wrap:break-word}
.play-icon{width:92px;height:92px;background:rgba(255,255,255,.08);backdrop-filter:blur(4px)}
.contact-section{background:#1d3b33;color:#f1f4e9;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:clamp(55px,8vw,140px);padding-top:clamp(100px,12vw,180px);padding-bottom:clamp(100px,12vw,180px)}
.contact-copy{max-width:720px}
.contact-copy .eyebrow{color:#aecbb8}
.contact-copy h2{font-size:clamp(4rem,6vw,7.4rem);max-width:11ch}
.contact-copy p{color:#d0e0d3}
.contact-photo{height:680px}
.contact-links{border-color:#587c69}
.contact-links a{border-color:#587c69;font-size:clamp(1.8rem,2.5vw,2.9rem)}
.contact-links a:hover{color:#bbd3c0}
.site-footer{padding-top:65px;padding-bottom:65px}

@media(max-width:1100px){
  .hero h1{font-size:clamp(5.4rem,10vw,8rem)}
  .format-card,.format-card:nth-child(-n+2){grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr);gap:24px 45px}
  .format-card .text-link{grid-column:1;grid-row:2;justify-self:start;margin:0}
  .format-description{grid-column:2;grid-row:1/span 2}
  #academy .section-copy h2{overflow-wrap:break-word;hyphens:auto}
}
@media(max-width:760px){
  .site-header{background:#18332d}
  .site-header .mobile-nav:not([hidden]){background:#18332d;color:#f5f5ed;border-color:#557365}
  .site-header.is-scrolled .mobile-nav:not([hidden]){background:#f4f5ef;color:var(--ink);border-color:var(--line)}
  .hero{min-height:0;display:flex;flex-direction:column;padding:0}
  .hero::before{display:none}
  .hero-copy{min-height:0;padding:75px 20px 48px;display:block}
  .hero h1{font-size:clamp(4.1rem,14vw,6.8rem);line-height:.98;letter-spacing:-.065em}
  .hero-deck{margin-top:34px;font-size:1.13rem}
  .hero-specialties{margin-top:24px}
  .hero-visual{position:relative;inset:auto;width:100%;height:clamp(450px,122vw,720px);min-height:0;margin:0;order:2}
  .hero-visual img{object-position:center 23%;transform:none}
  .hero-foot{position:relative;left:auto;right:auto;bottom:auto;order:3;margin:0 20px;padding:20px 0;border-top:0}
  .story-section,#inside,#higher-self{padding:100px 20px}
  .story-section .section-inner,#inside .section-inner,#about .section-inner,#answers .section-inner,#approach .section-inner,#higher-self .section-inner,#no-ready-answers .section-inner{display:flex;flex-direction:column;gap:50px;align-items:stretch}
  .story-section .section-copy h2,#inside .section-copy h2,#about .section-copy h2,#answers .section-copy h2,#approach .section-copy h2,#higher-self .section-copy h2,#no-ready-answers .section-copy h2{font-size:clamp(3.05rem,10.5vw,5rem);max-width:14ch;margin-bottom:30px}
  .story-section .photo,#inside .photo,#about .photo,#answers .photo,#approach .photo,#higher-self .photo,#no-ready-answers .photo{height:clamp(400px,105vw,680px);margin:0}
  #inside .photo,#answers .photo,#higher-self .photo,#no-ready-answers .photo{order:2}
  #inside .section-copy,#answers .section-copy,#higher-self .section-copy,#no-ready-answers .section-copy{order:1}
  #inside .section-copy p:first-of-type{font-size:1.25rem}
  .requests-section{padding:100px 20px}
  .requests-top{display:flex;flex-direction:column;gap:45px}
  .requests-heading h2{font-size:clamp(3.4rem,11vw,5.5rem)}
  .requests-top .photo{height:420px;margin:0}
  .topics{margin-top:65px}
  .topic{grid-template-columns:40px 1fr;gap:8px 15px;padding:25px 0}
  .topic h3{font-size:1.95rem}
  .topic p{grid-column:2}
  .formats-section{padding:100px 20px}
  .formats-heading{display:block}
  .formats-heading h2{font-size:clamp(2.05rem,10.3vw,4.3rem);max-width:none;overflow-wrap:normal;hyphens:none}
  .formats-heading p{font-size:1.22rem;margin-top:30px}
  .formats-grid{margin-top:60px}
  .format-card,.format-card:nth-child(-n+2){display:flex;flex-direction:column;gap:0;padding:32px 0 38px;background:transparent}
  .format-card:hover{padding-left:0;background:transparent}
  .format-card h3{font-size:clamp(2.45rem,8vw,3.6rem);margin-top:18px}
  .format-price{margin-top:10px}
  .format-description{padding:24px 0 0}
  .format-card .text-link{margin:5px 0 0;padding:8px 0 4px}
  .format-end{padding:32px;margin-top:60px}
  #academy .section-copy{display:block;margin-bottom:45px}
  #academy .section-copy h2{font-size:clamp(3.5rem,10.5vw,5rem)}
  #academy .section-copy p{margin-top:17px}
  #academy .photo{height:440px}
  .quote-section{min-height:560px}
  .quote-content{padding:90px 20px}
  .quote-content p{font-size:clamp(3rem,10vw,5.4rem)}
  .reviews-section,.music-section{padding:100px 20px}
  .reviews-section .section-heading h2,.music-section .section-heading h2{font-size:clamp(4.1rem,13vw,6rem)}
  .reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-image:nth-child(2),.review-image:nth-child(5){margin-top:0}
  .music-content{display:block}
  .channel-card{margin:0;min-height:300px}
  .contact-section{display:flex;flex-direction:column;gap:55px;padding:100px 20px}
  .contact-copy h2{font-size:clamp(3.3rem,10vw,5.4rem)}
  .contact-photo{height:550px}
}
@media(max-width:520px){
  .hero h1{font-size:clamp(3.25rem,14vw,4.6rem)}
  .hero-copy{padding-top:60px}
  .hero-visual{height:450px}
  .hero-foot span:first-child{display:none}
  .story-section .section-copy h2,#inside .section-copy h2,#about .section-copy h2,#answers .section-copy h2,#approach .section-copy h2,#higher-self .section-copy h2,#no-ready-answers .section-copy h2{font-size:clamp(2.8rem,10.5vw,3.8rem);overflow-wrap:break-word;hyphens:auto}
  .requests-heading h2{font-size:clamp(3rem,11vw,4rem);overflow-wrap:break-word;hyphens:auto}
  .formats-heading h2{font-size:10.3vw;overflow-wrap:normal;hyphens:none}
  .reviews-grid{grid-template-columns:1fr}
  .review-image{padding:12px}
  .quote-content p{font-size:clamp(2.65rem,10vw,4rem)}
  .contact-copy h2{font-size:clamp(3rem,10vw,4rem);overflow-wrap:break-word;hyphens:auto}
}
@media(prefers-reduced-motion:reduce){.reading-progress{display:none}.hero-visual{animation:none}.hero-visual img{transform:none!important}.photo.reveal,.photo.reveal.visible{opacity:1;transform:none;clip-path:none}.section-copy.reveal.visible h2,.requests-heading.reveal.visible h2,.formats-heading.reveal.visible h2,.section-heading.reveal.visible h2,.contact-copy.reveal.visible h2{animation:none}.quote-photo img{transform:none!important}}
