/* ROFF — the woodland story continues beyond the first screen. */
:root{--ink:#223e31;--ivory:#f8f3e5;--ivory-2:#eae9d5;--gold:#8a692f;--gold-soft:#ddc996;--taupe:#58614e;--line:#9b96604f;--line-dark:#dac58b55}
html{scroll-padding-top:100px}
body{background:#233f31;font-size:1rem;font-weight:400;line-height:1.95}
h1,h2,h3,h4{font-weight:400;line-height:1.65;letter-spacing:.025em;line-break:strict;word-break:normal;text-wrap:balance;overflow-wrap:break-word}
p,li{line-break:strict;word-break:normal;overflow-wrap:break-word;text-wrap:pretty}
.heading-line,.copy-line{display:block}
.phrase{display:inline-block;white-space:nowrap}
.heading-line{max-width:100%}
header{background:rgba(24,49,37,.96);color:#f8f0d9;border-bottom:1px solid #bca56777;box-shadow:0 5px 25px #13271b22}
.nav{max-width:1400px;padding:15px 32px;gap:20px}
.nav .logo{font-size:2rem;font-weight:400;white-space:nowrap;color:#f5ebce;letter-spacing:.2em}
.logo span{color:#d9bc7a}
header nav ul{gap:24px}
header nav a{font-size:.875rem;letter-spacing:.04em}
.nav-cta{color:#f8efd6;border-color:#cdb77b;padding:10px 22px;border-radius:2px}
.nav-cta:hover{background:#d8c28a;color:#193a2a}
.burger span{background:#e9d7a4}
header nav ul.is-open{background:#1e3c2d;border:1px solid #c4ad6c;position:fixed;top:76px;right:20px;left:20px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:15px 24px;box-shadow:0 16px 45px #0c211977}
header nav ul.is-open a{display:block;padding:12px 0}
.hero{min-height:94svh;padding:150px 0 95px;background-image:linear-gradient(90deg,rgba(9,30,22,.85),rgba(9,30,22,.45) 44%,rgba(9,30,22,.05)),url('forest.webp');background-position:center;background-size:cover}
.hero:after{background:none;inset:24px;border:1px solid #e5d4a44d;z-index:0}
.hero .wrap{width:100%;max-width:1280px;position:relative;z-index:2}
.hero-copy{width:62%;max-width:710px}
.hero h1{font-size:clamp(2rem,4.1vw,3.55rem);line-height:1.52;max-width:none;margin:0;text-wrap:initial}
.hero-prelude{display:block;font-size:.49em;letter-spacing:.055em;margin:0 0 20px;white-space:nowrap}
.hero-title-line{display:block;white-space:nowrap}
.hero h1 em{color:#f0d59c;font-style:normal}
.hero .lead{font-size:1rem;line-height:1.9;margin-top:28px}
.hero .mission{padding-top:22px;margin-top:30px;max-width:445px}
.hero .mission p{font-size:.9375rem;margin-top:12px;line-height:1.95;color:#f3eedc}
.hero .eyebrow{font-size:.875rem;letter-spacing:.2em}
.hero-frame{display:none}
main>section:not(.hero){position:relative;isolation:isolate;padding:110px 0;background-color:#f7f1df;background-image:url('elf-border.webp');background-repeat:repeat-y;background-size:100% auto;background-position:center top;border-top:1px solid #91834c44;overflow:clip}
main>section:not(.hero):nth-of-type(2n){background-position:center bottom}
main>section:not(.hero):before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#ebe2c31a,transparent 25%,transparent 75%,#c9c4a433);z-index:-1;pointer-events:none}
main>section:not(.hero)>.wrap{position:relative;z-index:1;width:84%;max-width:1160px;padding:0 34px}
.split{gap:64px;align-items:center;grid-template-columns:1fr 1fr}
.split-copy{background:#faf5e3c9;padding:30px 24px;border-radius:4px;box-shadow:0 0 42px 20px #faf5e3a6}
.split-copy .eyebrow,.section-head .eyebrow{color:#715624;letter-spacing:.14em;margin-bottom:20px}
.eyebrow:before{background:#9e8349;width:38px}
.split-copy h2{font-size:clamp(1.625rem,2.5vw,2.2rem);line-height:1.7;margin-bottom:24px}
.split-copy p,.section-head p,.about-copy p,.message-copy p{font-size:1rem;line-height:2;color:#3d4937;margin-bottom:18px}
.split-copy p[style*='margin-top']{margin-top:18px!important;padding-top:18px;border-top:1px solid #a9955e55}
.split-img{position:relative;padding:14px;border:1px solid #9a814b;border-radius:220px 220px 9px 9px;background:#f3ebd3;box-shadow:0 15px 40px #213b3233,inset 0 0 0 5px #e5d8ac}
.split-img img{border-radius:210px 210px 3px 3px;outline:none;width:100%;height:420px;object-fit:cover}
.section-head{max-width:720px;padding:25px 25px 10px;background:#fbf5e4cc;box-shadow:0 0 35px 20px #fbf5e47d;margin-bottom:44px}
.section-head h2{font-size:clamp(1.625rem,2.6vw,2.3rem)}
.section-head p{margin-top:22px;margin-bottom:0;max-width:620px}
.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:48px;background:none}
.feature,.service-card{background:linear-gradient(130deg,#fff9eae8,#eee5cced)!important;border:1px solid #ad9867;padding:32px 28px;box-shadow:inset 0 0 0 6px #fbf5e4,0 12px 24px #2b39271a;border-radius:3px}
.feature h4{font-size:1.125rem;margin-bottom:13px;color:#284631}
.feature p,.service-card p{font-size:1rem;line-height:1.95;color:#46513b}
.services-grid{gap:22px;background:none}
.service-card{border-radius:65px 65px 4px 4px;padding:40px 26px 30px}
.service-card h3{font-size:1.15rem}
.service-card .s-cat{color:#776032;font-size:.875rem;letter-spacing:.1em}
.service-card a,.course-card a.link{font-size:.9375rem;display:inline-block;color:#294f36;margin-top:12px;border-color:#9e8349}
.price-row{gap:13px 20px;margin-top:28px;padding-top:20px}
.price-row .p-label,.price-row .p-note{font-size:.875rem;color:#526044}
.price-row .p-value{font-size:1.55rem;white-space:nowrap}
.btn,.line-btn,.submit-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;max-width:100%;padding:15px 27px;font-size:.9375rem;line-height:1.65;letter-spacing:.04em;border:1px solid #b89e62;border-radius:4px;background:linear-gradient(125deg,#31563e,#1d3c2a);color:#fff5d9;box-shadow:inset 0 0 0 3px #ffffff0d,0 7px 16px #254a2d1a;transition:background .25s,transform .25s;text-align:center}
.btn:hover,.line-btn:hover,.submit-btn:hover{background:#466b4b;color:#fff5d9;transform:translateY(-2px)}
.course-grid{gap:28px;margin-top:40px}
.course-card{background:linear-gradient(145deg,#faf5e8f7,#eee3c7f7);border:1px solid #9d834b;box-shadow:inset 0 0 0 7px #ffffff52,0 15px 30px #203b3226;border-radius:85px 85px 5px 5px;padding:54px 32px 35px}
.course-card .c-tag{font-size:.875rem;color:#756032}
.course-card h3{font-size:1.25rem;line-height:1.85}
.course-card p{font-size:1rem;color:#46513b;line-height:1.95}
.course-meta{gap:20px;flex-wrap:wrap}
.course-meta div span,.stat span{font-size:.875rem;color:#596347}
.course-meta div b{font-weight:400;font-size:1.125rem}
.stat-wrap{gap:45px}.stat b{color:#80612d;font-weight:400}
main>section.dark,main>section#contact{background-image:linear-gradient(90deg,#0d302bd9,#244832d9),url('forest.webp');background-position:center;background-repeat:no-repeat;background-size:cover;color:#f4efd9}
main>section.dark:before,main>section#contact:before{inset:22px;border:1px solid #d8c28a66;background:none;z-index:0}
.dark .split-copy,.dark .section-head,#contact .section-head{background:none;box-shadow:none}
.dark .split-copy p,.dark p.lead,#contact .section-head p{color:#f0e7cf}
.dark h2,#contact h2{color:#f8edd0}
.dark .eyebrow,#contact .eyebrow{color:#e0c98e}
.dark .split-copy p[style*='margin-top']{border-color:#d8c28a66}
.dark .btn{background:#e2cf9c;color:#233f31;border-color:#e2cf9c}
#contact .section-head{max-width:680px;margin:0 auto 36px;text-align:center;padding:0 20px}
#contact .section-head p{max-width:580px;margin:18px auto 0}
.contact-box{width:min(780px,100%);margin:0 auto;background-image:linear-gradient(#f9f1daee,#f9f1daee),url('elf-border.webp');background-position:center;background-size:cover;border:1px solid #d7c18a;padding:48px 52px;color:#263f2c;border-radius:75px 75px 5px 5px;box-shadow:inset 0 0 0 7px #f6edd68c,0 20px 55px #09261d44}
label{font-size:.9375rem;color:#465336}input,select,textarea{font-size:1rem;background:#fffdf447;border-color:#97845688;padding:12px 10px;color:#223e31}input:focus,select:focus,textarea:focus{outline:2px solid #8d7437;outline-offset:2px}
.timeline{background:#faf5e4ed;box-shadow:0 0 35px #faf5e4a6;border:1px solid #a9955e;margin-top:35px}
.t-row{padding:28px 32px;border-color:#a9955e66;gap:30px;grid-template-columns:100px 1fr}
.t-row:nth-child(even){background:#dce3cb66}.t-num{font-size:1.125rem;color:#785c27}.t-body ul li{font-size:1rem;color:#46513b}.t-body h4{font-size:1.125rem}
.special,.about-copy,.message-copy{background:#fcf7e6e6;padding:32px;border:1px solid #b6a06b;border-radius:4px}.special p,.mission-box p,.note-row div{font-size:1rem;color:#46513b}
.about-wrap{gap:50px}.about-img img{outline:1px solid #a89155;outline-offset:10px;border-radius:160px 160px 4px 4px}.p-list{border-color:#b49a58}.p-row{background:#244532;padding:25px}.p-row p{font-size:1rem;color:#ede4ce}.p-num{color:#e1c788}
table.info{background:#fbf5e5ef;border:1px solid #bba574}table.info th,table.info td{font-size:1rem;padding:23px 25px}table.info th{color:#67714e}.map-frame{border:1px solid #bba574}.addr-line{background:#faf5e5d9;padding:15px}
footer{background:linear-gradient(#153428ed,#153428ed),url('forest.webp') center bottom/cover;color:#e4dec7;padding:65px 0 30px;border-top:1px solid #d4bd804d}
.foot-grid p,.foot-grid ul li,footer a{font-size:.9375rem}.foot-grid h5{font-size:.875rem;color:#e1c992}.foot-logo{font-family:'Cormorant Garamond',serif;font-size:2.75rem;font-weight:400;letter-spacing:.2em}.foot-bottom{color:#c5c5ad}
.forest-nav{background:#142e23;color:#f0e7cb;padding:35px 24px 45px;border-top:1px solid #d4bd804d}.forest-nav p{font-family:'Cormorant Garamond',serif;font-size:1.75rem;letter-spacing:.16em}.forest-nav div{gap:12px 30px}.forest-nav a{color:#e4dbbc;min-height:44px;font-size:.875rem}
.forest-motes{z-index:0}.forest-motes i{animation-play-state:paused}.is-in-view>.forest-motes i{animation-play-state:running}.forest-motes i{background:#ffe9b1;box-shadow:0 0 9px 4px #cfb45880;width:3px;height:3px}.forest-motes i:nth-child(3n){width:5px;height:5px}
.is-in-view .split-img{animation:photo-appear .7s ease both}@keyframes photo-appear{from{opacity:.5;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero-card{background:#173c2dc9;backdrop-filter:blur(5px);border-color:#ddc69099}.hero-card .h-price{color:#f3e3ba}.hero-card a{font-size:.9375rem}.hero-card .h-tag{font-size:.875rem}.hero-card .h-sub{font-size:.875rem;color:#e6dfcb}
@media(min-width:1600px){main>section:not(.hero){background-size:1600px auto}}
@media(max-width:1100px){.hero-copy{width:68%}.split{gap:35px}.split-copy{padding:20px 10px}.split-img img{height:370px}main>section:not(.hero)>.wrap{width:90%;padding:0 25px}.heading-line{display:block}.feature,.service-card{padding:30px 24px}}
@media(max-width:920px){header nav ul{display:none}.nav-cta{display:none}.burger{display:flex;padding:12px}.split{grid-template-columns:1fr}.split.reverse .split-img{order:0}.split-img{max-width:500px;width:100%;margin:0 auto}.split-copy{padding:26px 20px}.split-copy h2{font-size:1.9rem}.hero-copy{width:80%}.hero h1{font-size:3rem}.hero-prelude{font-size:.5em}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-grid{grid-template-columns:1fr}.course-card{max-width:620px;width:100%;margin:0 auto}.about-wrap{grid-template-columns:1fr}.about-img{width:min(500px,100%);margin:0 auto}.hero-ctas{display:grid;grid-template-columns:1fr 1fr}.hero-card{max-width:none;width:100%}}
@media(max-width:600px){.nav{padding:12px 18px}.logo{font-size:1.55rem}.hero{min-height:90svh;padding:125px 0 75px;background-position:62% center;background-image:linear-gradient(90deg,#102c23e6,#102c2382),url('forest.webp')}.hero:after{inset:12px}.hero .wrap{padding:0 27px}.hero-copy{width:100%}.hero h1{font-size:clamp(1.8rem,8.4vw,2.75rem);letter-spacing:.01em}.hero-prelude{font-size:clamp(.9375rem,4.4vw,1.3125rem);letter-spacing:0;margin-bottom:18px}.hero .lead{font-size:1rem}.hero .mission{max-width:100%}.hero .mission p{font-size:.9375rem}.hero .eyebrow{margin-bottom:20px}main>section:not(.hero){padding:75px 0;background-size:100% auto;background-repeat:repeat-y}main>section:not(.hero)>.wrap{width:94%;padding:0 17px}.split{gap:32px}.split-copy{padding:26px 16px;background:#faf5e5eb;box-shadow:0 0 18px 10px #faf5e5b8}.split-copy h2,.section-head h2{font-size:clamp(1.35rem,5.9vw,1.8rem);letter-spacing:0}.section-head{padding:20px 12px;background:#faf5e5ed;margin-bottom:32px;box-shadow:none}.split-img{padding:10px;width:93%;border-radius:170px 170px 5px 5px}.split-img img{height:350px;border-radius:160px 160px 3px 3px}.feature-grid,.services-grid{grid-template-columns:1fr;gap:20px}.feature{padding:28px 25px}.service-card{padding:42px 28px 30px;border-radius:60px 60px 4px 4px}.course-card{padding:45px 25px 30px;border-radius:65px 65px 4px 4px}.course-card h3{font-size:1.12rem}.course-meta{gap:18px}.btn{padding:14px 22px}.price-row{gap:8px 15px}.stat b{font-size:2.5rem}.stat-wrap{gap:38px}.contact-box{padding:42px 24px 30px;border-radius:55px 55px 4px 4px}.form-row{grid-template-columns:1fr}main>section.dark,main>section#contact{background-size:auto 100%;background-repeat:no-repeat}main>section.dark:before,main>section#contact:before{inset:12px}.dark .split-copy{background:#163c2a8c;box-shadow:none}.hero-ctas{grid-template-columns:1fr;gap:16px;margin-top:30px}.hero-card{border-radius:25px;padding:25px}.t-row{grid-template-columns:1fr;gap:8px;padding:24px}.t-body ul{gap:8px 18px}.about-copy,.message-copy{padding:26px 20px}.about-img img{height:350px;outline-offset:5px}.message-wrap{grid-template-columns:1fr}.p-row{grid-template-columns:35px 1fr;gap:15px}table.info th,table.info td{font-size:.9375rem;padding:18px 12px}table.info th{width:90px}.foot-grid{grid-template-columns:1fr 1fr;gap:30px}.foot-grid>div:first-child{grid-column:1/-1}.foot-grid p{max-width:100%}.forest-nav div{gap:8px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.forest-motes{display:none}}
@media(max-width:600px){.nav .logo{font-size:1.55rem}}
.split.text-only,.about-wrap.text-only{display:block}
.text-only>.split-copy,.text-only>.about-copy{width:100%;max-width:800px;margin-inline:auto;padding:36px 40px}
@media(max-width:600px){.text-only>.split-copy,.text-only>.about-copy{padding:28px 20px}}
