:root{--paper:#fcfaf4;--ink:#233c33;--green:#254b3e;--muted:#59685e;--sage:#eaf0df;--line:#d8dece;--accent:#b65b3e;--white:#fffef9;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}
button{font:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
svg{display:block}
.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:20px;z-index:20;background:var(--green);color:var(--paper);padding:12px 20px}
.skip-link:focus{top:12px}
.site-header{background:var(--paper);border-bottom:1px solid var(--line)}
.nav-wrap{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:21px;line-height:1.25;letter-spacing:-.5px;white-space:nowrap}
.brand-icon{width:44px;height:44px;color:var(--green);flex-shrink:0}
.brand strong{font-weight:750}
.brand small{display:block;font-size:10px;letter-spacing:.8px;margin-top:6px;font-weight:500;color:var(--muted)}
nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}
nav>a:not(.button){text-decoration:none}
nav>a:not(.button):hover{color:var(--accent)}
.menu-toggle{display:none}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 24px;background:var(--green);color:var(--white);text-decoration:none;border:1px solid var(--green);border-radius:5px;font-weight:600;font-size:14px;transition:background .2s,transform .2s}
.button:hover{background:#18392e;transform:translateY(-2px)}
.button-small{padding:12px 18px;gap:24px}
.button span,.text-link span{font-size:20px;line-height:1}
.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:56px;align-items:center;padding-top:76px;padding-bottom:74px}
.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.9px;margin:0 0 24px;display:flex;align-items:center;gap:10px}
.dot{width:7px;height:7px;display:inline-block;flex-shrink:0;background:var(--accent);border-radius:50%}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-2.8px;line-height:1.08}
h1{font-size:clamp(48px,5vw,70px);margin-bottom:27px}
em{font-weight:400;color:var(--accent)}
.hero h1 em{font-size:.91em;white-space:nowrap}
.hero-intro{max-width:470px;color:var(--muted);font-size:17px;line-height:1.8;margin-bottom:30px}
.button-row{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:650;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:4px}
.text-link:hover{color:var(--accent);border-color:var(--accent)}
.hero-note{font-size:11px;color:var(--muted);margin:22px 0 0}
.hero-art{background:#f0f0e3;border-radius:140px 140px 8px 8px;min-height:515px;position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:34px 12px 23px}
.art-label{font-size:9px;letter-spacing:1.8px;text-align:center;font-weight:650;margin-bottom:-9px}
.learning-art{width:100%;height:auto}
.art-caption{font-size:11px;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:-5px}
.art-caption span{font-size:25px;color:var(--accent)}
.values-strip{border-block:1px solid var(--line);background:#f0f2e8}
.values-strip .container{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:21px;font-size:12px;font-weight:600}
.values-strip span:nth-child(even){font-size:22px;font-weight:400;color:var(--accent)}
.section{padding-block:98px}
h2{font-size:clamp(34px,3.4vw,46px);margin-bottom:26px;letter-spacing:-1.5px;line-height:1.18}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.about-grid h2{max-width:460px}
.about-copy{padding-top:33px;color:var(--muted);font-size:15px}
.lead{font-size:21px;color:var(--ink);line-height:1.55;margin-bottom:18px}
.about-copy .text-link{color:var(--ink);margin-top:7px}
.learning-section{background:var(--sage);padding-block:80px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:38px}
.section-heading h2{margin:0}
.section-heading>p{max-width:330px;font-size:14px;color:var(--muted);margin-bottom:4px}
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.program{padding:29px;background:var(--paper);border:1px solid #d5ddc8;border-radius:6px;display:flex;flex-direction:column}
.program-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}
.program-number{font-size:12px;color:var(--muted);font-family:var(--serif);font-style:italic}
.program-top svg{width:40px;height:40px}
h3{font-family:var(--serif);font-size:26px;font-weight:400;letter-spacing:-.5px;margin-bottom:13px}
.program>p{font-size:14px;color:var(--muted);margin-bottom:25px}
.program .text-link{margin-top:auto;align-self:flex-start}
.program-note{font-size:11px;color:var(--muted);margin:23px 0 0}
.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.section-description{font-size:15px;color:var(--muted);max-width:355px;line-height:1.8}
.small-note{color:var(--muted);font-size:11px;margin-top:25px}
.practice-card{border:1px solid var(--line);padding:30px;background:#fffefb;border-radius:8px;box-shadow:0 14px 34px #254b3e08}
.practice-top{display:flex;align-items:center;justify-content:space-between}
.practice-top .eyebrow{margin:0}
.practice-top>span:last-child{font-size:30px;color:var(--accent)}
.topic-buttons{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap}
.topic-buttons button{border:1px solid var(--line);color:var(--ink);background:transparent;border-radius:30px;font-size:12px;padding:7px 14px}
.topic-buttons button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--paper)}
.topic-buttons button:hover{border-color:var(--green)}
.dialogue{padding-block:25px 16px;min-height:226px}
.dialogue-label{font-size:11px;color:var(--muted);margin-bottom:19px}
.speech{font-size:16px;max-width:92%;padding:16px 19px;margin-bottom:12px;line-height:1.5}
.speech-one{background:var(--sage);border-radius:15px 15px 15px 0;margin-right:auto}
.speech-two{background:#f6e7d9;border-radius:15px 15px 0 15px;margin-left:auto}
.practice-tip{border-top:1px solid var(--line);padding-top:17px;margin-bottom:0;font-size:12px;color:var(--muted)}
.facts-section{background:#f0f0e6;padding-block:65px}
.facts-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.facts-grid h2{margin:0}
.facts>div{border-bottom:1px solid #ced6c5;padding:14px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.facts span{font-size:12px;color:var(--muted)}
.facts strong{font-size:14px;font-weight:600}
.facts .profile-links{flex-wrap:wrap;border-bottom:0;gap:16px;justify-content:flex-start}
.profile-links>span{flex:1}
.profile-links a{font-size:12px;white-space:nowrap}
.faq-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:110px}
.faq-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;position:relative;font-size:15px;font-weight:600;padding:24px 35px 24px 0}
summary::-webkit-details-marker{display:none}
summary:after{content:'+';position:absolute;right:4px;top:20px;font-size:24px;font-weight:300;color:var(--accent)}
details[open] summary:after{content:'-'}
details p{font-size:14px;color:var(--muted);padding-right:25px;margin-bottom:24px}
.contact-section{background:var(--green);color:var(--paper);padding-block:77px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.contact-section .eyebrow{color:#d0dbc4}
.contact-section h2{font-size:45px;line-height:1.15;margin-bottom:22px}
.contact-section em{color:#f0c88f}
.contact-section p:not(.eyebrow){max-width:395px;color:#d0dbc4;font-size:14px}
.contact-box{border-block:1px solid #527162;padding-block:30px}
.contact-label{font-size:11px!important;text-transform:uppercase;letter-spacing:1.3px;margin-bottom:10px}
.email-link{font-family:var(--serif);font-size:clamp(20px,2.2vw,29px);text-decoration:none;letter-spacing:-.5px;display:flex;justify-content:space-between;align-items:center;gap:10px;overflow-wrap:anywhere}
.email-link:hover{text-decoration:underline}
.email-link span{color:#f0c88f}
.contact-actions{display:flex;gap:23px;align-items:center;margin-top:26px}
.button-light{background:var(--paper);border-color:var(--paper);color:var(--green)}
.button-light:hover{background:#e3ebcc}
.copy-button{color:var(--paper);background:transparent;border:0;border-bottom:1px solid #7e9787;padding:3px 0;font-size:12px}
.contact-hint{font-size:11px!important;margin:15px 0 0}
.footer{padding-block:36px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-name{font-size:17px;font-weight:650;text-decoration:none}
.footer-name span{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:4px}
.footer>div{display:flex;align-items:center;gap:24px;font-size:11px;color:var(--muted)}
.footer>div a{text-decoration:none}
.footer>div a:hover{text-decoration:underline}
.prose{max-width:780px;padding-block:75px 100px;min-height:70vh}
.prose h1{font-size:50px}
.prose h2{font-family:var(--sans);font-size:21px;font-weight:600;letter-spacing:0;margin-top:35px}
.prose p{color:var(--muted)}
@media(min-width:1500px){.hero{padding-block:95px}.hero-art{min-height:545px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.hero{gap:25px}.hero h1{font-size:54px}.hero-art{min-height:450px}.brand{font-size:18px}nav{gap:21px}.about-grid,.practice-grid,.facts-grid,.contact-grid{gap:55px}.faq-grid{gap:60px}.program{padding:24px}.program h3{font-size:24px}.art-label{font-size:8px;letter-spacing:1px}.button-row{gap:20px}.hero .text-link{font-size:12px}.section-heading{gap:40px}.footer>div{gap:17px}}
@media(max-width:850px){.nav-wrap{min-height:84px}.brand{font-size:20px}.menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:7px 12px;border-radius:4px;font-size:13px}.menu-toggle span{font-size:20px}nav{display:none}nav.is-open{display:flex;position:absolute;top:84px;left:0;right:0;z-index:10;padding:25px 32px;background:var(--paper);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:center}.hero{padding-block:50px;gap:30px;grid-template-columns:1.1fr 1fr}.hero h1{font-size:43px;letter-spacing:-2px}.hero-intro{font-size:15px}.hero-art{min-height:365px;padding-top:26px}.art-label{max-width:180px;margin-inline:auto;line-height:1.8}.art-caption{font-size:9px}.hero .eyebrow{font-size:9px;letter-spacing:1px}.hero-note{font-size:10px}.values-strip .container{font-size:10px;gap:10px}.values-strip span:nth-child(even){font-size:17px}.section{padding-block:70px}.about-grid,.practice-grid,.facts-grid,.faq-grid,.contact-grid{gap:35px}.about-copy{padding-top:0}.section-heading>p{max-width:260px}.program-grid{gap:12px}.program{padding:22px 18px}.program h3{font-size:22px}.program p{font-size:13px}.program .text-link{font-size:11px;gap:6px}.practice-card{padding:23px}.contact-section h2{font-size:38px}.contact-grid{grid-template-columns:1fr 1.1fr}.footer{align-items:flex-start}.footer>div{flex-wrap:wrap;justify-content:flex-end;max-width:310px}}
@media(max-width:650px){html{scroll-padding-top:25px}.container{width:calc(100% - 40px)}.brand{font-size:18px;gap:10px}.brand small{font-size:8px;letter-spacing:.6px}.brand-icon{width:38px;height:38px}.nav-wrap{min-height:78px}.menu-toggle{font-size:12px;padding:6px 10px}nav.is-open{top:78px;gap:20px;padding:22px 20px}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px;gap:38px}.hero h1{font-size:clamp(43px,10.7vw,64px);letter-spacing:-2px;margin-bottom:23px}.hero .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:22px}.hero-intro{font-size:16px;margin-bottom:25px;max-width:440px}.hero-art{min-height:0;max-width:450px;width:100%;margin-inline:auto;border-radius:100px 100px 6px 6px;padding:28px 8px 17px}.learning-art{max-height:365px}.art-label{font-size:8px;letter-spacing:1.5px;max-width:none;margin-bottom:0}.art-caption{font-size:10px;margin-top:-10px}.hero-note{font-size:10px}.button{padding:15px 20px;gap:22px}.hero .text-link{font-size:12px}.values-strip .container{display:grid;grid-template-columns:1fr 1fr;gap:12px 15px;padding-block:19px;font-size:11px;text-align:center}.values-strip span:nth-child(even){display:none}.section{padding-block:57px}h2{font-size:36px;letter-spacing:-1.3px}.eyebrow{font-size:10px;letter-spacing:1.5px;margin-bottom:19px}.about-grid,.practice-grid,.facts-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:27px}.about-grid h2{margin-bottom:0}.about-copy{font-size:15px}.lead{font-size:20px}.learning-section{padding-block:56px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:100%;margin-top:22px;font-size:14px}.program-grid{grid-template-columns:1fr;gap:16px}.program{padding:27px}.program-top{margin-bottom:22px}.program h3{font-size:27px}.program p{font-size:15px;max-width:350px;margin-bottom:20px}.program .text-link{font-size:13px}.program-note{font-size:11px;line-height:1.8}.section-description{max-width:none}.small-note{margin-top:15px;margin-bottom:0}.practice-card{padding:25px 20px}.practice-top .eyebrow{font-size:10px}.topic-buttons{gap:7px}.topic-buttons button{font-size:12px;padding:7px 12px}.speech{font-size:15px}.facts-section{padding-block:50px}.facts-grid{gap:20px}.facts strong{font-size:13px}.facts span{font-size:11px}.facts .profile-links{gap:14px}.faq-grid{gap:25px}.faq-grid .section-description{margin-bottom:0}summary{font-size:14px;padding-block:23px}.contact-section{padding-block:55px}.contact-section h2{font-size:40px}.contact-grid{gap:20px}.contact-section p:not(.eyebrow){max-width:none}.email-link{font-size:clamp(19px,6.1vw,28px)}.footer{padding-block:28px;display:block}.footer>div{justify-content:flex-start;max-width:none;margin-top:23px;font-size:10px;gap:15px}.prose{padding-block:50px 70px}.prose h1{font-size:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
