@font-face {
 font-family: 'Constant Montserrat';
 src: url('assets/fonts/Montserrat-Variable.ttf') format('truetype');
 font-style: normal;
 font-weight: 100 900;
 font-display: swap;
}
:root{--brand-purple:#1a0943;--brand-orange:#ffc896;--brand-font:'Constant Montserrat',Montserrat,Arial,sans-serif}
body,button,input,textarea,select,h1,h2,h3,h4,h5,h6,.brand,.page-banner h1,.hero-copy h1,.original-content h2,.original-content h3{font-family:var(--brand-font)}
body{font-weight:400;font-synthesis:none}
p,li{line-height:1.9}
h1,h2,h3,h4{font-weight:500;letter-spacing:-.025em}
.page-banner h1,.original-content h2,.original-content h3,.service h3,.section-heading h2,.home-about-grid h2{font-weight:500;text-transform:uppercase;letter-spacing:.015em;line-height:1.45;overflow-wrap:break-word}
.page-banner h1{font-size:clamp(30px,4vw,48px)}
.original-content h2{font-size:clamp(22px,2.2vw,29px)}
.original-content h3,.original-services .service h3{font-size:20px}
.original-courses h2{font-size:15px;line-height:1.65;letter-spacing:.015em;font-weight:500}
.hero-copy h1{font-weight:500;letter-spacing:-.035em;text-transform:lowercase;line-height:1.18;font-size:clamp(43px,5vw,70px)}
.hero-note,.art-caption,.footer-main>.brand-slot p{text-transform:lowercase;font-weight:500}
.header nav{font-weight:500;font-size:12px;gap:20px}
.eyebrow,.footer-label{font-weight:500;letter-spacing:.11em}
/* Logo hierarchy: white uppercase name, orange lowercase slogan, orange rule. */
.button,.service>a,.sidebar-contact,.contact-circle{
 background:var(--brand-purple);color:#fff!important;border:1px solid var(--brand-purple);border-bottom:4px solid var(--brand-orange);border-radius:2px;
 font-family:var(--brand-font);font-size:12px;font-weight:500;letter-spacing:.055em;text-transform:uppercase;text-decoration:none!important;
 min-height:52px;padding:16px 22px;line-height:1.5;transition:background .18s,color .18s,box-shadow .18s;
}
.button span,.service>a span,.contact-circle b{color:var(--brand-orange)}
.button:hover,.service>a:hover,.sidebar-contact:hover,.contact-circle:hover{background:#2a1558;transform:none;box-shadow:0 4px 0 #ffc89620}
.service>a{margin:16px 0 22px;align-items:center;gap:18px}
.sidebar-contact{font-size:11px;letter-spacing:.035em;display:block}
.text-link{
 display:inline-flex;align-items:center;gap:14px;background:var(--brand-purple);color:var(--brand-orange);border:1px solid var(--brand-purple);border-bottom:3px solid var(--brand-orange);
 padding:14px 19px;border-radius:2px;font-family:var(--brand-font);font-size:12px;font-weight:500;letter-spacing:.01em;text-transform:lowercase;line-height:1.5;
}
.text-link:hover{background:#2a1558}
.original-content a.text-link{color:var(--brand-orange);text-decoration:none}
.text-link span{margin-left:0}
.contact-circle{width:185px;height:104px;gap:8px;justify-content:center;align-items:flex-start;padding:19px 25px;flex-shrink:0}
.contact-circle span{font-size:14px}.contact-circle b{font-size:27px;align-self:flex-end}
.contact-form .button{border:1px solid var(--brand-purple);border-bottom:4px solid var(--brand-orange)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--brand-orange);outline-offset:4px}
@media(max-width:1100px) and (min-width:761px){.header nav{gap:12px;font-size:11px}.header .original-brand img{width:225px;height:78px}.header{gap:16px}}
@media(max-width:760px){.header nav{font-size:14px;gap:22px}.hero-copy h1{font-size:clamp(40px,9.5vw,61px)}.hero-actions{flex-wrap:wrap;gap:15px}.original-courses h2{font-size:14px}.original-services .service h3{font-size:19px}.contact-circle{width:180px;height:100px}.section-heading h2{font-size:26px}.button,.service>a{font-size:11px;letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){.button,.service>a,.sidebar-contact,.contact-circle{transition:none}}
