@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#244f42;--cream:#fffdf7;--muted:#56665b;--orange:#ed8220;--line:#dfe4d9;--green:#315d47}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:'Fraunces',Georgia,serif;font-weight:500;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(48px,5.5vw,79px)}h2{font-size:clamp(36px,4vw,55px)}h3{font-size:20px;line-height:1.3}em{font-weight:400;color:#b95420}p{color:var(--muted)}.wrap{max-width:1240px;padding:0 40px;margin:auto}.review{background:#ecf0e6;text-align:center;font-size:11px;padding:7px 14px;letter-spacing:.07em}.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:99}.skip:focus{top:0}:focus-visible{outline:3px solid #1665a5;outline-offset:5px}header{max-width:1320px;margin:auto;padding:10px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{width:134px}.brand img{width:134px;height:94px;object-fit:contain}nav{display:flex;align-items:center;gap:30px}nav a{text-decoration:none;font-size:14px;font-weight:600}nav a:hover,.text-link:hover{text-decoration:underline}.button{background:var(--ink);color:#fff;text-decoration:none;border:0;border-radius:7px;padding:16px 24px;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:24px;transition:transform .2s,background .2s}.button:hover{background:#173a2e;transform:translateY(-2px)}.button.small{padding:13px 20px}.menu{display:none}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--ink);margin-bottom:22px}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:50px;padding-top:50px;padding-bottom:85px;align-items:center}.sun{font-size:27px;color:#b8581d;vertical-align:middle;margin-right:8px}.hero .lead{max-width:435px;font-size:17px;margin:25px 0 28px}.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.text-link{background:none;border:none;padding:0;display:inline-flex;gap:12px;align-items:center;font-size:13px;font-weight:700;text-underline-offset:5px}.hero .text-link{max-width:180px}.hero-facts{display:flex;gap:24px;border-top:1px solid var(--line);margin-top:36px;padding-top:22px}.hero-facts span{font-size:9px;letter-spacing:.12em}.hero-facts b{display:block;font-size:12px;letter-spacing:0;margin-top:3px}.hero-art{position:relative;padding:15px 0 20px}.arch{border-radius:240px 240px 24px 24px;height:520px;overflow:hidden;background:#e9efe2}.arch img{height:100%;width:100%;object-fit:cover;object-position:35% center}.floating-note{position:absolute;bottom:44px;left:-27px;background:#fffdf7;box-shadow:0 10px 40px #1e38241a;padding:17px 24px;border-radius:9px;transform:rotate(-5deg);font-size:15px;line-height:1.4}.floating-note i{float:left;font-size:37px;color:var(--orange);margin-right:16px}.flower{position:absolute;right:-28px;top:8px;color:#d97a2b;font-size:105px;line-height:1;animation:turn 25s linear infinite}.blocks{position:absolute;right:-20px;bottom:-8px;display:flex;gap:5px}.blocks b{font-family:'Fraunces',serif;font-size:30px;background:#f6d98d;padding:2px 17px;border-radius:7px;transform:rotate(8deg)}.blocks b:nth-child(2){background:#b5d8da;transform:rotate(-10deg)}.blocks b:nth-child(3){background:#d1dfb7}.ribbon{display:flex;justify-content:center;gap:44px;align-items:center;background:#f2ecd9;padding:19px 20px;color:#956039;font-size:17px;font-family:'Fraunces',serif}.video-section{padding-top:92px;padding-bottom:80px}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:90px;margin-bottom:40px}.section-heading>p,.section-heading>div>p:not(.eyebrow){max-width:385px;font-size:15px}.video-frame{position:relative;border-radius:18px;overflow:hidden;background:#142e24;aspect-ratio:16/8.3}.video-frame video{width:100%;height:100%;object-fit:contain;display:block}.video-frame video[poster]{object-fit:cover}.play-overlay{position:absolute;inset:0;width:100%;border:0;background:linear-gradient(0deg,#132b2477,#132b2422);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;font-size:16px}.play-circle{background:var(--cream);color:var(--ink);width:76px;height:76px;display:grid;place-items:center;font-size:24px;border-radius:50%;box-shadow:0 0 0 12px #ffffff30}.video-caption{display:flex;justify-content:space-between;gap:15px;padding-top:16px;font-size:10px;letter-spacing:.12em}.program-section{background:#f2f4eb;padding:80px 0}.pills{display:flex;gap:10px;margin-top:18px}.pills span{border:1px solid #b9c6ae;padding:4px 13px;border-radius:50px;font-size:12px}.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.program{padding:25px 22px 23px;border-radius:13px;display:flex;flex-direction:column}.peach{background:#fae6d7}.sage{background:#e0e9cf}.blue{background:#dcecee}.yellow{background:#f7edc8}.program-icon{font-family:'Fraunces',serif;position:relative;font-size:84px;line-height:1.1;margin-bottom:27px}.program-icon span{position:absolute;font-size:50px;left:65px;top:13px;opacity:.55}.program .eyebrow{font-size:9px;margin-bottom:10px}.program h3{font-size:18px;min-height:48px}.program p:not(.eyebrow){font-size:13px;margin:16px 0 30px}.program button{margin-top:auto;width:100%;justify-content:space-between;border-top:1px solid #244f4230;padding-top:18px}.why{display:grid;grid-template-columns:1fr 1fr;gap:78px;padding-top:100px;padding-bottom:90px;align-items:center}.why-photo{position:relative}.why-photo img{height:530px;width:100%;object-fit:cover;border-radius:150px 150px 14px 14px}.photo-label{position:absolute;bottom:25px;left:24px;background:var(--cream);padding:10px 17px;border-radius:6px;font-family:'Fraunces',serif;font-size:18px;transform:rotate(-3deg)}.reason{display:flex;gap:20px;margin-top:28px}.reason>span{font-family:'Fraunces',serif;font-size:26px;color:#b95420}.reason h3{font-size:17px;margin-bottom:7px}.reason p{font-size:14px}.gallery-section{padding-bottom:90px}.gallery{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.gallery img{aspect-ratio:16/10;width:100%;object-fit:cover;border-radius:10px}.gallery figcaption{font-size:13px;padding-top:9px}.tour-section{background:var(--ink);color:var(--cream);padding:80px 0}.tour-inner{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.tour-inner .eyebrow,.tour-inner p{color:#e0e6db}.tour-inner>div>p:not(.eyebrow){max-width:390px;margin-top:22px}.tour-location{font-size:14px}.booking-card{background:var(--cream);color:var(--ink);padding:34px;border-radius:14px}.booking-card p{color:var(--muted);font-size:14px;margin:16px 0 24px}.calendar-icon{font-size:43px;display:block;color:#b95420;margin-bottom:15px}.booking-card .fine{font-size:11px;margin-bottom:0}.inquiry-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-top:95px;padding-bottom:90px}.inquiry-intro>p:not(.eyebrow){margin-top:24px;max-width:320px;font-size:15px}.inquiry-note{margin:35px 0;display:flex;align-items:center;gap:18px}.inquiry-note span{font-size:47px;color:var(--orange)}.inquiry-note p{font-family:'Fraunces',serif;font-size:23px;color:var(--ink);line-height:1.4}.inquiry-intro .fine{font-size:12px}.inquiry-intro .text-link{margin-top:26px}form{background:#fff;padding:32px;border:1px solid var(--line);border-radius:15px;box-shadow:0 10px 30px #244f4205}.form-status{font-size:12px;padding:12px;background:#fff4dc;border-left:3px solid #b66f19;margin-bottom:18px}.fine{font-size:12px;color:var(--muted)}fieldset{border:0;margin:20px 0 26px;padding:0}legend{font-family:'Fraunces',serif;font-size:23px;padding:0;margin-bottom:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid .full{grid-column:1/-1}label{font-size:12px;font-weight:600;display:block}input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;margin-top:6px;padding:11px 12px;border:1px solid #c7d0c4;border-radius:5px;color:var(--ink);background:#fff;font-size:14px}textarea{resize:vertical}.field-help{font-size:11px;font-weight:400;display:block;margin-top:5px}.checkbox{display:flex;align-items:flex-start;gap:10px;margin:22px 0;font-weight:400;line-height:1.6}.checkbox input{width:17px;height:17px;flex-shrink:0;margin-top:2px;accent-color:var(--ink)}.submit{width:100%;margin:6px 0 15px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-result:not(:empty){padding:13px;background:#fff0e8;color:#8b361a;margin-bottom:10px;font-size:13px}.faq-section{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-top:80px;padding-bottom:80px}.faq-section>div>p:not(.eyebrow){margin:20px 0}.faqs details{border-bottom:1px solid var(--line);padding:21px 0}.faqs details:first-child{padding-top:0}.faqs summary{cursor:pointer;font-size:15px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px}.faqs summary:after{content:'+';font-size:22px;line-height:1}.faqs details[open] summary:after{content:'−'}.faqs p{font-size:14px;margin-top:14px}.location{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-top:50px;padding-bottom:85px}.location address{font-style:normal;margin:25px 0 16px}.location p{font-size:14px;margin-bottom:18px}.location iframe{border:0;border-radius:14px;width:100%;height:400px;background:#e4e8dd}.final-cta{background:#f4ebd4;text-align:center;padding:65px 20px}.final-cta>span{font-size:50px;color:#b95420;line-height:1}.final-cta .eyebrow{margin:20px 0}.final-cta .actions{justify-content:center;margin-top:30px}footer{display:grid;grid-template-columns:1fr 1.3fr .8fr;gap:50px;padding-top:45px!important;padding-bottom:25px!important;font-size:12px}footer strong{font-size:13px}.footer-brand img{width:105px;height:85px;object-fit:contain}.footer-brand p{margin-top:10px}footer p{line-height:2;margin-top:12px}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:10px}.privacy{max-width:800px;margin:60px auto;padding:0 25px}.privacy h2{font-size:27px;margin:30px 0 12px}.privacy p{margin-bottom:18px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s,transform .65s}.reveal.visible{opacity:1;transform:none}@keyframes turn{to{transform:rotate(360deg)}}
@media(min-width:1500px){.hero{padding-top:65px}}@media(max-width:1000px){.wrap{padding-left:26px;padding-right:26px}.hero{gap:30px}.hero-art .arch{height:470px}.hero-facts{gap:14px}.section-heading,.why,.tour-inner,.inquiry-section,.faq-section,.location{gap:40px}.program-grid{grid-template-columns:repeat(2,1fr)}.program h3{min-height:0}.ribbon{gap:22px;font-size:15px}.flower{right:-8px}}
@media(max-width:700px){html{scroll-padding-top:25px}.review{font-size:9px}header{padding:8px 20px;position:relative;gap:15px}.brand,.brand img{width:112px;height:77px}.menu{display:flex;gap:10px;align-items:center;border:1px solid #c5cec2;border-radius:5px;background:transparent;padding:9px 13px;font-size:13px}nav{display:none;position:absolute;left:20px;right:20px;top:90px;z-index:20;background:var(--cream);padding:25px;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #244f4220}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:20px}.wrap{padding-left:22px;padding-right:22px}.hero{grid-template-columns:1fr;padding-top:25px;padding-bottom:40px;gap:28px}.hero .eyebrow{font-size:9px;margin-bottom:17px}.hero h1{font-size:49px}.hero .lead{font-size:15px;margin:20px 0 23px}.hero .actions{gap:18px}.hero .text-link{font-size:12px;max-width:150px}.button{padding:14px 18px;font-size:13px;gap:15px}.hero-facts{margin-top:26px;justify-content:space-between}.hero-facts b{font-size:11px}.hero-art{padding:5px 10px 20px}.hero-art .arch{height:330px;border-radius:160px 160px 14px 14px}.floating-note{bottom:32px;left:0;font-size:13px;padding:12px 18px}.flower{font-size:72px;right:0}.blocks{right:0;bottom:0}.blocks b{font-size:22px;padding:3px 12px}.ribbon{gap:16px;font-size:13px;overflow:hidden;white-space:nowrap;justify-content:flex-start}.ribbon span:last-child{display:none}.video-section{padding-top:50px;padding-bottom:45px}.section-heading{grid-template-columns:1fr;gap:18px;margin-bottom:25px}.eyebrow{font-size:10px;margin-bottom:15px}h2{font-size:37px}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:14px}.video-frame{aspect-ratio:16/10;border-radius:10px}.play-circle{width:53px;height:53px;font-size:18px}.play-overlay{font-size:12px;gap:18px}.video-caption{font-size:8px;align-items:center}.video-caption .text-link{font-size:10px}.program-section{padding:47px 0}.program-grid{gap:12px}.program{padding:18px 15px}.program h3{font-size:16px}.program .eyebrow{font-size:8px;letter-spacing:.08em}.program-icon{font-size:64px;margin-bottom:19px}.program-icon span{font-size:38px;left:49px}.program p:not(.eyebrow){font-size:12px;margin:12px 0 20px}.program .text-link{font-size:11px;gap:5px}.why{grid-template-columns:1fr;padding-top:50px;padding-bottom:50px;gap:32px}.why-photo img{height:340px}.reason{margin-top:21px}.gallery-section{padding-bottom:48px}.gallery{gap:15px 12px;grid-template-columns:1fr 1fr}.gallery img{aspect-ratio:1/1}.gallery figcaption{font-size:11px}.tour-section{padding:48px 0}.tour-inner{grid-template-columns:1fr;gap:28px}.booking-card{padding:25px}.inquiry-section{grid-template-columns:1fr;padding-top:50px;padding-bottom:50px;gap:30px}.inquiry-intro>p:not(.eyebrow){max-width:none}.inquiry-note{margin:24px 0}.inquiry-intro .text-link{margin-top:18px}form{padding:20px 17px}.form-grid{grid-template-columns:1fr;gap:16px}legend{font-size:21px}.faq-section{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:28px}.location{grid-template-columns:1fr;gap:25px;padding-top:20px;padding-bottom:45px}.location iframe{height:300px}.final-cta{padding:45px 20px}.final-cta h2{font-size:35px}.final-cta .actions{flex-direction:column;gap:20px}footer{grid-template-columns:1fr;gap:24px;padding-top:30px!important}.footer-brand{display:flex;align-items:center;gap:20px}.footer-bottom{flex-direction:column;gap:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(min-width:1001px){h1{font-size:clamp(54px,4.7vw,65px)}}

.program-icon span{opacity:1}.stars span{color:#bf6128}.stars i{position:absolute;left:107px;top:0;font-size:21px;font-style:normal;color:#ae5b23}.stars small{position:absolute;left:109px;top:54px;font-size:29px;color:#ae5b23}.program h3{font-size:18px;min-height:50px}@media(max-width:700px){.program h3{font-size:16px;min-height:48px}.stars i{left:83px;font-size:18px}.stars small{left:83px;top:44px;font-size:22px}}

.program-illustration{height:175px;display:flex;align-items:center;justify-content:center;margin:-6px -6px 20px}.program-illustration svg{width:100%;max-width:240px;height:175px;overflow:visible}.program h3{min-height:50px}@media(max-width:700px){.program-illustration{height:130px;margin:0 -9px 20px}.program-illustration svg{height:130px;max-width:190px}}

.tuition-button{display:flex;align-items:center;gap:14px;background:#f5ecd2;border:1px solid #dfcc9c;border-radius:12px;padding:16px 18px;margin-top:28px;text-decoration:none;transition:background .2s,transform .2s}.tuition-button:hover{background:#eee0b9;transform:translateY(-2px)}.tuition-mark{font-size:33px;color:#b95420}.tuition-button strong{display:block;font-size:14px;line-height:1.35}.tuition-button small{display:block;font-size:10px;line-height:1.5;margin-top:4px;color:#56665b}.tuition-price{margin-left:auto;border-left:1px solid #d6c597;padding-left:17px;white-space:nowrap}.tuition-price b{font-family:Fraunces,Georgia,serif;font-size:33px;line-height:1}.tuition-price small{font-size:11px}.hero-facts{margin-top:23px}@media(max-width:700px){.tuition-button{padding:13px 12px;gap:9px;margin-top:23px}.tuition-mark{font-size:26px}.tuition-button strong{font-size:12px}.tuition-button small{font-size:9px}.tuition-price{padding-left:12px}.tuition-price b{font-size:29px}.tuition-price small{font-size:10px}}

.contact-card{padding:35px;background:#fff;border:1px solid #dfe4d9;border-radius:15px}.contact-card p{margin:20px 0}.contact-card h3{font-family:Fraunces,Georgia,serif;font-size:28px}.contact-card .actions{margin:25px 0}.contact-card .fine{font-size:12px}.program button{min-height:44px}.privacy a,.faqs a{color:#244f42}.video-caption span{color:#425649}

.program>a.text-link{margin-top:auto;width:100%;justify-content:space-between;border-top:1px solid #244f4230;padding-top:18px;min-height:44px}.program a:focus-visible{outline:3px solid #1665a5;outline-offset:5px}
