:root{color-scheme:light;--ink:#193c40;--green:#173b3e;--green-deep:#102d30;--cream:#f8f7f1;--gold:#e6b86d;--muted:#77847d;--line:#e8e8df;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;background:var(--cream);color:var(--ink)}
a{color:inherit}
.skip-link{position:absolute;left:16px;top:-60px;z-index:30;padding:12px 16px;background:white;border-radius:5px}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;height:92px;padding:0 max(7vw,32px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(248,247,241,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.brand,.footer-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{border-radius:14px}
.brand-copy{display:grid;gap:2px}
.brand-kicker{font-size:9px;font-weight:700;letter-spacing:2px;color:#7c8a7d}
.brand-copy strong{font-family:Georgia,"Times New Roman",serif;font-size:21px;font-weight:500;letter-spacing:-.7px}
.brand-copy strong span{color:#c3934e}
.site-nav{display:flex;align-items:center;gap:clamp(13px,2vw,27px);font-size:11px;white-space:nowrap}
.site-nav-toggle{display:none}
.site-nav a{text-decoration:none}
.site-nav a:not(.nav-login):hover,.site-footer>a:hover{color:#9c713c}
.nav-login{padding:12px 18px;border:1px solid #cbd2ca;border-radius:3px;font-weight:600}
.nav-login span,.button span,.site-footer>a span{margin-left:12px;color:#c3934e}
.hero{position:relative;min-height:560px;padding:88px max(11vw,44px) 76px;display:grid;grid-template-columns:1fr .85fr;align-items:center;overflow:hidden;background:var(--cream)}
.hero-copy{position:relative;z-index:1;max-width:590px}
.eyebrow,.section-label{font-size:9px;font-weight:700;letter-spacing:1.7px;color:#8b927e}
.eyebrow{display:flex;align-items:center;gap:10px}
.eyebrow>span{width:22px;height:1px;background:#c29351}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-1.8px}
.hero h1{font-size:clamp(48px,6.2vw,82px);line-height:1.02;margin:29px 0 22px}
h1 em,h2 em{font-weight:400;color:#a7773d}
.hero-description{max-width:420px;font-size:14px;line-height:1.9;color:#6e7b73}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;text-decoration:none;font-size:11px;font-weight:650;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{padding:0 19px;background:var(--green);color:white;border-radius:3px}
.button-primary span{color:var(--gold)}
.button-text{color:var(--ink)}
.hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 21px;margin-top:37px;color:#6e7b73;font-size:10px;letter-spacing:.25px}
.hero-year{display:flex;align-items:center;gap:8px}
.hero-motto{padding-left:20px;border-left:1px solid #d9ddd2;font-family:Georgia,"Times New Roman",serif;font-size:12px;font-style:italic}
.year-mark{color:#bc8b4a;font-size:16px}
.hero-art{position:relative;justify-self:end;width:min(36vw,410px);aspect-ratio:1;border-radius:50%;background:#e9eddf;overflow:hidden;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .35s ease,box-shadow .35s ease;box-shadow:0 22px 52px rgba(25,60,64,.08)}
.hero-art:before{content:"";position:absolute;width:68%;height:68%;top:16%;left:16%;border:1px solid rgba(25,60,64,.13);border-radius:50%}
.art-sun{position:absolute;width:27%;aspect-ratio:1;right:17%;top:15%;border-radius:50%;background:#e6b86d}
.art-orbit{position:absolute;border:1px solid rgba(25,60,64,.25);border-radius:50%;transform:rotate(-34deg)}
.orbit-one{width:108%;height:48%;left:-6%;top:29%}
.orbit-two{width:74%;height:121%;left:12%;top:-9%;transform:rotate(27deg)}
.art-book{position:absolute;z-index:1;width:52%;height:35%;left:24%;top:37%;display:flex;justify-content:center;align-items:center;filter:drop-shadow(0 15px 13px rgba(25,60,64,.11));animation:book-float 5s ease-in-out infinite;transform-style:preserve-3d}
.art-book span{width:47%;height:86%;background:#fbfaf3;border:1px solid #d0d8cb}
.art-book span:first-child{border-radius:70% 8px 8px 8px;transform:skewY(8deg);border-right:0}
.art-book span:nth-child(2){border-radius:8px 70% 8px 8px;transform:skewY(-8deg);border-left:0}
.art-book i{position:absolute;height:88%;width:2px;left:50%;background:#c39a63}
.art-caption{position:absolute;z-index:2;left:50%;bottom:11%;display:grid;gap:4px;text-align:center;transform:translateX(-50%);color:#53685d}
.art-caption span{font-size:8px;letter-spacing:2px}
.art-caption strong{font-family:Georgia,serif;font-size:20px;font-weight:400}
.art-star{position:absolute;color:#b98a4c}
.star-one{left:17%;top:22%;font-size:23px}
.star-two{right:21%;bottom:24%;font-size:16px}
.art-orbit{animation:orbit-drift 20s linear infinite}
.art-sun{box-shadow:0 0 34px rgba(230,184,109,.25);animation:sun-glow 4s ease-in-out infinite}
.hero-art:after{content:"";position:absolute;inset:10%;border-radius:50%;background:linear-gradient(145deg,rgba(255,255,255,.3),transparent 48%);pointer-events:none}
@keyframes book-float{0%,100%{transform:translateY(0) rotateZ(-1deg)}50%{transform:translateY(-9px) rotateZ(1deg)}}
@keyframes orbit-drift{to{rotate:360deg}}
@keyframes sun-glow{0%,100%{box-shadow:0 0 24px rgba(230,184,109,.18)}50%{box-shadow:0 0 40px rgba(230,184,109,.46)}}
.motion-ready .motion-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.motion-ready .motion-reveal.is-visible{opacity:1;transform:translateY(0)}
.hero-index{position:absolute;right:7%;bottom:34px;display:flex;align-items:center;gap:9px;color:#8b927e;font-size:9px}
.hero-index span:first-child{color:var(--ink)}
.hero-index i{width:36px;height:1px;background:#bdc6b9}
.section-wrap{padding-left:max(11vw,44px);padding-right:max(11vw,44px)}
.intro{padding-top:78px;padding-bottom:82px;border-top:1px solid var(--line)}
.section-label{display:flex;gap:14px;align-items:center}
.section-label span{color:#b18753}
.intro-content{display:grid;grid-template-columns:1fr .8fr;gap:10%;margin-top:35px}
.intro h2,.access-content h2{font-size:clamp(38px,4.3vw,58px);line-height:1.09;margin:0}
.intro-text{padding-top:5px;max-width:470px;color:#6e7b73;font-size:13px;line-height:1.95}
.contact-list{display:grid;gap:9px;margin-top:20px}
.contact-list p{display:flex;align-items:flex-start;gap:11px;margin:0}
.contact-list a{text-decoration:none}
.vitrine-icon{width:19px;height:19px;flex:none;color:#b18753;stroke-width:1.7}
.contact-pending{font-size:11px;color:#8a9188;border-left:2px solid #d9c39f;padding-left:13px}
.enrollment-note{margin:18px 0 0;padding-left:13px;border-left:2px solid #d9c39f;color:#77847d;font-size:10px;line-height:1.7}
.enrollment-documents{margin-top:32px;padding:24px 26px;background:rgba(255,255,255,.62);border:1px solid #dfe2d8}
.enrollment-documents h3{margin:0 0 15px;font-family:Georgia,"Times New Roman",serif;font-size:19px;font-weight:400}
.enrollment-documents ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:0;padding:0;list-style:none}
.enrollment-documents li{position:relative;padding-left:20px;color:#53685d;font-size:12px;line-height:1.6}
.enrollment-documents li:before{content:"";position:absolute;top:.62em;left:2px;width:7px;height:7px;border:1px solid #b18753;border-radius:50%}
.enrollment-documents .enrollment-note{margin-bottom:0}
.level-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:36px}
.level-list>article{display:flex;align-items:center;gap:14px;padding:21px;border:1px solid #dfe2d8;background:rgba(255,255,255,.5)}
.level-icon{width:22px;height:22px}
.level-list strong{font-family:Georgia,serif;font-size:19px;font-weight:400}
.inline-link{display:inline-flex;gap:12px;align-items:center;margin-top:11px;color:var(--ink);font-size:11px;font-weight:650;text-decoration:none}
.inline-link span{color:#b18753}
.public-section{border-top:1px solid var(--line)}
.public-inner{padding-top:76px;padding-bottom:84px}
.public-heading{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:end;margin-top:31px}
.public-heading h2,.practical-content h2,.contact-content h2{font-size:clamp(38px,4.3vw,58px);line-height:1.09;margin:0}
.public-heading>p,.practical-copy>p{max-width:470px;margin:0 0 4px;color:#6e7b73;font-size:13px;line-height:1.9}
.teaching-section{background:#f0f1e8}
.info-panel{display:flex;align-items:center;gap:19px;margin-top:37px;padding:22px 24px;border:1px solid #dfe4d8;background:rgba(255,255,255,.55)}
.info-symbol{flex:none;color:#b18753;font-size:20px}
.info-panel>div{flex:1}
.info-panel strong{font-family:Georgia,serif;font-size:17px;font-weight:400}
.info-panel p{margin:5px 0 0;color:#6e7b73;font-size:11px;line-height:1.7}
.info-panel>a{flex:none;color:var(--ink);font-size:10px;font-weight:650;text-decoration:none}
.info-panel>a span{margin-left:8px;color:#b18753}
.enrollment-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:39px;border-top:1px solid #dfe2d8;border-bottom:1px solid #dfe2d8}
.enrollment-steps article{padding:23px 24px 24px 0}
.enrollment-steps article+article{padding-left:24px;border-left:1px solid #dfe2d8}
.step-heading{display:flex;align-items:center;gap:12px}
.step-number{color:#b18753;font-size:10px;letter-spacing:1px}
.enrollment-steps h3{margin:14px 0 8px;font-family:Georgia,serif;font-weight:400;font-size:19px}
.enrollment-steps p{max-width:260px;margin:0;color:#6e7b73;font-size:11px;line-height:1.8}
.practical-section{background:#f0f1e8}
.practical-inner{padding-top:70px;padding-bottom:75px}
.practical-content{display:grid;grid-template-columns:1fr .8fr;gap:10%;align-items:center;margin-top:30px}
.practical-copy{max-width:480px}
.practical-address{display:flex;gap:12px;align-items:flex-start;margin-top:17px!important;color:var(--ink)!important}
.practical-address>span{flex:1}
.contact-section{background:var(--green);color:white}
.contact-inner{padding-top:58px;padding-bottom:61px}
.contact-content{display:grid;grid-template-columns:.8fr .7fr 1.15fr;gap:5%;align-items:start;padding-top:32px}
.eyebrow-light{margin:0 0 15px}
.contact-content h2 em{color:var(--gold)}
.contact-description{max-width:430px;margin:17px 0 0;color:#c2d0c7;font-size:12px;line-height:1.85}
.contact-details{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.2)}
.contact-details>a,.contact-details>div{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.2);text-decoration:none}
.contact-details .vitrine-icon{margin-top:2px;color:var(--gold)}
.contact-detail-copy{display:grid;gap:6px;min-width:0}
.contact-detail-copy>span{color:#b8c9bd;font-size:9px;letter-spacing:1px;text-transform:uppercase}
.contact-detail-copy strong{color:white;font-size:12px;font-weight:500;overflow-wrap:anywhere}
.contact-detail-copy strong>span{color:var(--gold);margin-left:5px}
.contact-form-card{padding:24px;background:#f8f7f1;color:var(--ink);border-radius:4px}
.contact-form-card h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:400}
.contact-form-card>p{margin:8px 0 19px;color:#6e7b73;font-size:11px;line-height:1.7}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}
.contact-form>label{display:grid;gap:6px;color:#53685d;font-size:10px;font-weight:650}
.contact-form>label span{color:#a7773d}
.contact-form>label small{display:inline;color:#77847d;font-size:9px;font-weight:400}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:41px;padding:10px 11px;border:1px solid #dfe2d8;border-radius:3px;background:white;color:var(--ink);font:inherit;font-size:11px}
.contact-form textarea{min-height:96px;resize:vertical;line-height:1.6}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid #a7b9aa;outline-offset:1px}
.contact-form .form-span{grid-column:1/-1}
.contact-form .button-light{border:0;cursor:pointer}
.contact-feedback{margin:12px 0;padding:10px 12px;border-left:3px solid #6f957a;background:#edf4ed;color:#365b40;font-size:11px;line-height:1.6}
.contact-feedback-note{border-color:#b18753;background:#f6f0e6;color:#67502e}
.contact-feedback-error{border-color:#a4473c;background:#f9eeec;color:#7a2d27}
.contact-feedback ul{margin:6px 0 0;padding-left:18px}
.honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.contact-pending-light{color:#d1ddd5;border-color:#c5a36f}
.access-section{background:var(--green);color:white}
.access-inner{padding-top:58px;padding-bottom:36px}
.section-label-light,.eyebrow-light{color:#b8c9bd}
.access-content{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:38px 0 51px}
.eyebrow-light{margin:0 0 15px}
.access-content h2{font-size:clamp(38px,4.3vw,58px)}
.access-content h2 em{color:var(--gold)}
.access-description{max-width:460px;margin:18px 0 0;color:#c2d0c7;font-size:12px;line-height:1.85}
.button-light{flex:none;padding:0 20px;background:#f8f7f1;color:var(--green);border-radius:3px}
.access-foot{display:flex;align-items:center;gap:13px;border-top:1px solid rgba(255,255,255,.16);padding-top:21px;color:#c2d0c7;font-size:9px;letter-spacing:.25px}
.access-separator{width:3px;height:3px;background:var(--gold);border-radius:50%}
.site-footer{min-height:84px;padding:18px max(7vw,32px);display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--green-deep);color:#c2d0c7;font-size:10px}
.footer-brand{color:white}
.footer-brand img{border-radius:9px}
.footer-brand strong{font-family:Georgia,serif;font-weight:400}
.site-footer>a:last-child{text-decoration:none}
@media(max-width:1050px){.site-header{padding-left:4vw;padding-right:4vw}.site-nav{gap:12px;font-size:10px}.nav-login{padding:10px 12px}}
@media(max-width:1050px){.contact-content{grid-template-columns:1fr 1fr;gap:30px}.contact-form-card{grid-column:1/-1}.contact-details{align-self:center}}
@media(max-width:800px){.site-header{height:76px;padding:0 25px}.site-nav{max-width:68vw;overflow-x:auto;scrollbar-width:none;gap:17px}.site-nav::-webkit-scrollbar{display:none}.hero{grid-template-columns:1fr .7fr;padding:72px 7vw 70px}.hero-art{width:min(37vw,310px)}.hero h1{font-size:clamp(45px,7vw,65px)}.hero-description{font-size:13px}.intro-content,.practical-content{gap:6%}.contact-content{gap:25px}.public-heading{gap:6%}.section-wrap{padding-left:7vw;padding-right:7vw}}
@media(max-width:600px){.site-header{height:auto;min-height:70px;padding:12px 19px;align-items:flex-start;gap:10px;flex-direction:column}.brand img{width:38px;height:38px}.brand-copy strong{font-size:18px}.site-nav{max-width:100%;width:100%;overflow:visible;flex-wrap:wrap;white-space:normal;gap:8px 15px;padding:7px 0 3px;font-size:10px}.site-nav a{flex:none}.nav-login{padding:8px 11px}.hero{display:flex;min-height:0;padding:56px 25px 55px}.hero-copy{max-width:none}.hero h1{font-size:clamp(48px,13vw,68px);margin-top:25px}.hero-description{max-width:390px}.hero-art{position:absolute;width:37vw;right:-12vw;top:48px;opacity:.32}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.hero-meta{align-items:flex-start;flex-direction:column;gap:8px;margin-top:29px}.hero-motto{padding-left:0;border-left:0}.hero-index{right:25px;bottom:17px}.intro{padding-top:57px;padding-bottom:65px}.section-wrap{padding-left:25px;padding-right:25px}.intro-content,.public-heading,.practical-content,.contact-content{grid-template-columns:1fr;gap:23px;margin-top:25px}.intro h2,.public-heading h2,.practical-content h2,.contact-content h2,.access-content h2{font-size:43px}.public-inner{padding-top:54px;padding-bottom:59px}.info-panel{align-items:flex-start;flex-wrap:wrap;padding:18px;margin-top:27px}.info-panel>div{flex:1 1 calc(100% - 45px)}.info-panel>a{margin-left:39px}.level-list{grid-template-columns:1fr;gap:10px;margin-top:25px}.level-list>article{padding:17px}.level-list strong{font-size:17px}.enrollment-steps{grid-template-columns:1fr;margin-top:26px}.enrollment-steps article,.enrollment-steps article+article{padding:18px 0;border-left:0}.enrollment-steps article+article{border-top:1px solid #dfe2d8}.enrollment-steps h3{margin:9px 0 6px}.enrollment-documents{margin-top:24px;padding:19px}.enrollment-documents ul{grid-template-columns:1fr;gap:9px}.practical-content{margin-top:25px}.contact-inner{padding-top:45px;padding-bottom:47px}.contact-content{padding-top:25px}.access-inner{padding-top:43px;padding-bottom:25px}.access-content{align-items:flex-start;flex-direction:column;padding:32px 0}.access-description{max-width:380px}.site-footer{padding:22px 20px;flex-wrap:wrap}.site-footer>span{order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
@media(prefers-reduced-motion:reduce){.art-book,.art-orbit,.art-sun{animation:none!important}.motion-ready .motion-reveal{opacity:1;transform:none}}
@media(max-width:1050px){
    html{scroll-padding-top:88px}
    .site-header{height:auto;min-height:76px;padding:12px 25px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px}
    .site-nav-toggle{width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #cbd2ca;border-radius:4px;background:transparent;color:var(--ink);cursor:pointer}
    .site-nav-toggle span{width:18px;height:1px;background:currentColor;transition:transform .18s,opacity .18s}
    .site-nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}
    .site-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
    .site-nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6px) rotate(-45deg)}
    .site-nav{grid-column:1/-1;display:none;width:100%;max-width:none;overflow:visible;flex-direction:column;align-items:stretch;gap:2px;padding:7px 0 3px;white-space:normal;font-size:13px}
    .site-nav-toggle[aria-expanded="true"]+.site-nav{display:flex}
    .site-nav>a{min-height:44px;display:flex;align-items:center;padding:8px 12px;border-radius:3px}
    .site-nav>a:not(.nav-login):hover{background:#f0f1e8}
    .site-nav .nav-login{justify-content:center;margin-top:5px;padding:11px 14px}
    .site-nav-toggle:focus-visible,.site-nav>a:focus-visible{outline:3px solid #c3934e;outline-offset:2px}
}
@media(max-width:600px){
    .site-header{padding:12px 19px;align-items:center}
    .brand{min-width:0}
    .brand-copy strong{font-size:18px}
    .site-nav{gap:1px;font-size:13px}
    .site-nav .nav-login{align-self:stretch}
    .hero{overflow:hidden}
    .contact-form-card{padding:20px}
    .contact-form input,.contact-form select,.contact-form textarea{font-size:16px}
    .site-footer{align-items:flex-start}
    .site-footer>a{min-height:36px;display:inline-flex;align-items:center}
}
@media(prefers-reduced-motion:reduce){.site-nav-toggle span{transition:none}}
