
*,*::before,*::after{box-sizing:border-box}
:root{--dk:#1d3722;--dk2:#16291a;--pist:#c5d7a0;--sage:#e5edd6;--cream:#f4f7ec;--ink:#16241a;--mut:#5d6d5c;--amber:#dda23c;--r:22px}
html{scroll-behavior:smooth;overflow-x:clip}
body{overflow-x:clip}
body{margin:0;background:var(--cream);color:var(--ink);font:400 16.5px/1.72 Figtree,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:Marcellus,Georgia,serif;font-weight:400;line-height:1.14;margin:0}
.c{max-width:1180px;margin:0 auto;padding:0 22px}
.eyebrow{font:600 11px/1 Figtree,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin:0 0 12px}
.btn{white-space:nowrap;display:inline-flex;align-items:center;gap:8px;background:var(--dk);color:var(--cream);border-radius:999px;padding:12px 22px;text-decoration:none;font:500 14.5px Figtree,sans-serif;transition:background .18s}
.btn:hover{background:var(--dk2)}
.btn.pale{background:transparent;color:var(--dk);border:1px solid rgba(29,55,34,.32)}
.btn.pale:hover{background:rgba(29,55,34,.07)}
/* hero */
.hero{position:relative;margin:18px 0 0;border-radius:var(--r);overflow:hidden}
.hero>img{width:100%;height:clamp(500px,76vh,690px);object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(12,26,15,.82) 0%,rgba(12,26,15,.52) 46%,rgba(12,26,15,.24) 100%)}
.navpill{position:absolute;z-index:4;top:16px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(20,38,24,.62);backdrop-filter:blur(9px);border:1px solid rgba(197,215,160,.22);border-radius:999px;padding:9px 10px 9px 22px}
.navpill .lg{font-family:Marcellus,serif;font-size:21px;color:var(--cream);text-decoration:none}
.navpill nav{display:flex;gap:22px;font-size:14px}
.navpill nav a{color:#dbe6c8;text-decoration:none}
.navpill nav a:hover{color:#fff}
.navpill .btn{background:var(--pist);color:var(--dk);padding:9px 18px;font-size:13.5px}
.hero-copy{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:0 34px 44px;color:#fff}
.hero-copy>*{max-width:660px}
.hero-copy h1{font-size:clamp(38px,5.6vw,64px);color:#fff}
.hero-copy p{margin:18px 0 24px;font-size:16px;color:rgba(255,255,255,.86);max-width:46ch}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-cta .btn{background:var(--pist);color:var(--dk)}
.hero-cta .ln{display:inline-flex;align-items:center;color:#dbe6c8;text-decoration:none;font-size:14.5px;padding:12px 4px;border-bottom:1px solid rgba(219,230,200,.4)}
/* stats */
.stats{background:var(--dk);border-radius:0 0 var(--r) var(--r);margin-top:-1px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:26px 34px;color:var(--sage)}
.stat b{font-family:Marcellus,serif;font-size:30px;color:#fff;display:block}
.stat b i{color:var(--amber);font-style:normal}
.stat span{font-size:13px;color:rgba(229,237,214,.7)}
/* about split */
.split{display:grid;grid-template-columns:1fr 1.15fr;gap:40px;padding:76px 0 10px;align-items:start}
.split h2{font-size:clamp(28px,3.4vw,40px);color:var(--dk)}
.split .lede{color:var(--mut);margin:16px 0 0}
.split .body p{margin:0 0 16px;color:var(--mut)}
/* video card */
.vcard{position:relative;border-radius:var(--r);overflow:hidden;margin:44px 0 0}
.vcard img{width:100%;height:clamp(240px,40vh,380px);object-fit:cover}
.vcard::after{content:"";position:absolute;inset:0;background:rgba(16,30,19,.34)}
.vcard .label{position:absolute;z-index:2;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-family:Marcellus,serif;font-size:clamp(22px,3.6vw,40px);letter-spacing:.22em;text-transform:uppercase}
.vcard .play{position:absolute;z-index:3;left:22px;top:22px;width:46px;height:46px;border-radius:50%;background:var(--pist);display:grid;place-items:center;color:var(--dk);font-size:15px}
/* services */
.svc{padding:76px 0 0}
.svc-head{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:end;margin-bottom:26px}
.svc-head h2{font-size:clamp(28px,3.4vw,40px);color:var(--dk)}
.svc-head p{margin:0;color:var(--mut)}
.scards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.scard{background:var(--dk);color:var(--sage);border-radius:18px;padding:22px 20px 20px;display:flex;flex-direction:column;gap:11px;min-height:214px}
.scard .ic{width:34px;height:34px;border-radius:9px;background:rgba(197,215,160,.16);display:grid;place-items:center}
.scard b{font-family:Marcellus,serif;font-weight:400;font-size:19px;color:#fff}
.scard p{margin:0;font-size:13.6px;color:rgba(229,237,214,.72);line-height:1.6;flex:1}
.scard a{color:var(--pist);text-decoration:none;font-size:13.5px;font-weight:500}
/* why + blob */
.why{display:grid;grid-template-columns:1fr .9fr;gap:44px;align-items:center;padding:80px 0 0}
.why h2{font-size:clamp(28px,3.4vw,40px);color:var(--dk)}
.why p{color:var(--mut);margin:16px 0 22px}
.blob{border-radius:56% 44% 52% 48%/48% 52% 48% 52%;overflow:hidden;background:var(--pist)}
.blob img{width:100%;height:clamp(300px,46vh,430px);object-fit:cover}
/* journal */
.jr{padding:80px 0 0}
.jr h2{font-size:clamp(28px,3.4vw,40px);color:var(--dk);margin-bottom:6px}
.jr>p{color:var(--mut);margin:0 0 26px}
.jgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.jc{background:#fff;border:1px solid #e2e9d4;border-radius:18px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.jc:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(29,55,34,.11)}
.jc img{height:168px;width:100%;object-fit:cover}
.jc .b{padding:17px 18px 20px}
.jc .cat{font:600 10.5px/1 Figtree,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8a9a6d}
.jc h3{font-size:19.5px;margin:9px 0 7px;color:var(--dk)}
.jc p{margin:0;font-size:13.8px;color:var(--mut);line-height:1.6}
/* teachers */
.tt{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:34px 0 0}
.tt figure{position:relative;margin:0;border-radius:18px;overflow:hidden;aspect-ratio:3/4}
.tt img{width:100%;height:100%;object-fit:cover}
.tt figcaption{position:absolute;inset:auto 0 0 0;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(14,28,17,.82));color:#fff;padding:26px 16px 14px;font-size:14px}
footer{background:var(--dk2);color:#b9caa4;margin-top:84px;padding:52px 0 34px}
.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:28px}
footer h4{font:600 11px/1 Figtree,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8fa377;margin:0 0 13px}
footer a{color:#b9caa4;text-decoration:none;display:block;margin-bottom:8px;font-size:14.5px}
footer a:hover{color:#fff}
.fb{font-family:Marcellus,serif;font-size:26px;color:#fff;margin:0 0 9px}
.fn{margin-top:32px;padding-top:19px;border-top:1px solid rgba(255,255,255,.12);font-size:12.5px;color:#7f9269}
/* article */
.ahead{max-width:700px;margin:0 auto;padding:64px 0 26px;text-align:center}
.ahead .cat{font:600 11px/1 Figtree,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8a9a6d}
.ahead h1{font-size:clamp(30px,4.4vw,46px);margin:13px 0 12px;color:var(--dk)}
.ahead .dek{color:var(--mut);margin:0}
.ahead time{display:block;margin-top:12px;font-size:13px;color:var(--mut)}
.alead{border-radius:var(--r);overflow:hidden;margin:0 0 36px}
.alead img{width:100%;height:clamp(230px,36vh,410px);object-fit:cover}
.prose{max-width:660px;margin:0 auto;font-size:17px;line-height:1.82}
.prose p{margin:0 0 20px}
.tips{background:var(--sage);border-radius:16px;padding:20px 24px;margin:28px 0}
.tips ul{margin:0;padding-left:18px}
.tips li{margin:7px 0;font-size:15px;color:#41523f}
.more{max-width:660px;margin:38px auto 0;border-top:1px solid #dde5cf;padding-top:20px}
.more h4{font:600 11px/1 Figtree,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8a9a6d;margin:0 0 11px}
.more ul{margin:0;padding-left:18px}.more li{margin:8px 0}.more a{color:var(--dk)}
.abt{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding:64px 0 0;align-items:start}
.abt img{border-radius:var(--r);width:100%;height:clamp(320px,54vh,520px);object-fit:cover}
.abt h1{font-size:clamp(30px,4.2vw,44px);color:var(--dk);margin-bottom:16px}
.abt p{color:var(--mut);margin:0 0 15px}
@media(max-width:960px){
  .split,.why,.svc-head,.abt{grid-template-columns:1fr}
  .scards,.jgrid,.tt{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr;gap:18px}
  .fg{grid-template-columns:1fr 1fr}
  .navpill nav{display:none}
}
@media(max-width:600px){
  .scards,.jgrid,.tt,.fg{grid-template-columns:1fr}
  .hero-copy{padding:0 20px 32px}
  .stats{padding:22px 20px}
}
