:root{color-scheme:light;--color-ink:#0e0b0c;--color-cream:#faf6f1;--color-coffee:#754b36;--color-gold:#c8a46a;--color-powder:#f3dfe0;--color-muted:#6e6762;--font-serif:Georgia,"Times New Roman",serif;--font-sans:"Avenir Next","Segoe UI",Arial,sans-serif;--page-gutter:clamp(1.25rem,6vw,5.75rem);--page-width:75rem}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body,html{background:var(--color-cream)}body{min-width:20rem;margin:0;color:var(--color-ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:.25em}img,svg{display:block;max-width:100%}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400}:focus-visible{outline:2px solid currentColor;outline-offset:4px}.skip-link{position:fixed;z-index:100;inset:0 auto auto 1rem;padding:.75rem 1rem;background:var(--color-cream);color:var(--color-ink);transform:translateY(-130%)}.skip-link:focus{transform:translateY(.75rem)}.scroll-progress{position:fixed;z-index:50;inset:0 0 auto;height:2px;pointer-events:none}.scroll-progress span{display:block;width:100%;height:100%;background:var(--color-gold);transform:scaleX(0);transform-origin:left center}.site-header{position:sticky;z-index:20;top:0;border-bottom:1px solid rgb(14 11 12/8%);background:rgb(250 246 241/92%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.site-footer__inner,.site-header__inner{width:min(100% - 2 * var(--page-gutter),var(--page-width));margin-inline:auto}.site-header__inner{display:flex;min-height:5.2rem;align-items:center;justify-content:space-between;gap:2rem}.brand-logo{display:inline-flex;width:clamp(11rem,21vw,14.375rem);flex:0 0 auto;align-items:center;text-decoration:none}.brand-logo img{width:100%;height:auto}.site-navigation{display:flex;align-items:center;gap:clamp(1rem,2.8vw,2.5rem)}.site-navigation a{color:var(--color-ink);font-size:.68rem;font-weight:600;letter-spacing:.13em;text-decoration:none;text-transform:uppercase;transition:color .18s ease}.site-navigation a:hover,.site-navigation a[aria-current=page]{color:var(--color-coffee)}.site-navigation .site-navigation__contact{padding:.8rem 1.1rem;border:1px solid rgb(117 75 54/48%);border-radius:999px}.menu-toggle{display:none}.site-footer{padding-block:2rem;background:var(--color-ink);color:var(--color-cream)}.site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.site-footer__name{display:inline-block;margin-bottom:.5rem;font-family:var(--font-serif);font-size:1.25rem;text-decoration:none}.site-footer p{margin-bottom:0;color:rgb(250 246 241/70%);font-size:.78rem}.site-footer__top{font-size:.72rem;letter-spacing:.08em;text-decoration:none}.site-footer__top span{margin-left:.4rem;color:var(--color-gold)}.page-shell{width:min(100% - 2 * var(--page-gutter),var(--page-width));margin-inline:auto}.section-pad{padding-block:clamp(5.5rem,11vw,9.5rem)}.eyebrow,.section-label{margin-bottom:1.25rem;color:var(--color-coffee);font-size:.66rem;font-weight:700;letter-spacing:.21em;line-height:1.5;text-transform:uppercase}.home-hero{display:flex;min-height:min(48rem,calc(100svh - 5.2rem));overflow:hidden;background:var(--color-ink);color:var(--color-cream)}.home-hero,.home-hero__inner{position:relative;align-items:center}.home-hero__inner{z-index:1;display:grid;min-height:inherit;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.8fr);gap:clamp(2.5rem,7vw,7rem);padding-block:clamp(4rem,8vw,7rem)}.home-hero__copy{position:relative;z-index:2;padding-block:1.5rem 3rem;animation:hero-enter .75s both}.home-hero .eyebrow{color:var(--color-gold)}.home-hero h1{max-width:10ch;margin-bottom:1.5rem;color:var(--color-cream);font-size:clamp(3.55rem,7.4vw,6.75rem);line-height:.98;letter-spacing:-.055em}.home-hero h1 em{color:var(--color-gold);font-weight:400}.home-hero__description{max-width:31rem;margin-bottom:1.5rem;color:rgb(250 246 241/76%);font-size:clamp(.95rem,1.4vw,1.1rem);line-height:1.85}.button{display:inline-flex;min-height:3.3rem;align-items:center;justify-content:center;gap:1.6rem;padding:.9rem 1.3rem;border:1px solid transparent;font-size:.68rem;font-weight:700;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;transition:transform .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease}.button:hover{transform:translateY(-3px)}.button--gold{background:var(--color-gold);color:var(--color-ink)}.button--gold:hover{background:#dfc38d}.home-hero__portrait-column{width:min(100%,29rem);justify-self:end}.home-hero__portrait-frame{position:relative;width:100%;aspect-ratio:.75;justify-self:end;overflow:hidden;border:1px solid rgb(200 164 106/54%);border-radius:48% 48% .5rem .5rem;background:linear-gradient(145deg,#292526,#53443c);box-shadow:1.4rem 1.4rem 0 rgb(200 164 106/8%)}.home-hero__portrait-frame:after{position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgb(14 11 12/36%));content:"";pointer-events:none}.home-hero__portrait{object-fit:cover;object-position:center 24%}.home-hero__portrait-caption{display:block;margin-top:1rem;color:var(--color-gold);font:italic clamp(1rem,1.6vw,1.2rem) var(--font-serif);text-align:right}.home-hero__orb{position:absolute;top:50%;right:-19rem;width:44rem;aspect-ratio:1;border:1px solid rgb(200 164 106/17%);border-radius:50%;box-shadow:0 0 0 2rem rgb(200 164 106/3%),0 0 0 5rem rgb(200 164 106/2%);transform:translateY(-50%);pointer-events:none}[data-reveal]{opacity:1;transform:none}[data-reveal][data-ready=true]:not([data-visible=true]){opacity:0;transform:translate3d(0,1.1rem,0)}[data-reveal][data-ready=true]{transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.course-reveal{height:100%}@keyframes hero-enter{0%{opacity:0;transform:translate3d(0,1rem,0)}to{opacity:1;transform:translateZ(0)}}.scroll-cue{position:absolute;bottom:1.2rem;left:50%;display:flex;align-items:center;gap:.8rem;color:rgb(250 246 241/64%);font-size:.62rem;letter-spacing:.16em;text-decoration:none;text-transform:uppercase;transform:translateX(-50%)}.scroll-cue span{color:var(--color-gold);font-size:1rem}.home-intro{background:var(--color-cream)}.home-intro__grid{display:grid;grid-template-columns:minmax(10rem,.55fr) minmax(0,1.45fr);gap:clamp(2rem,7vw,7rem)}.home-intro__content h2{max-width:17ch;margin-bottom:2rem;font-size:clamp(2.5rem,5.3vw,4.75rem);line-height:1.08;letter-spacing:-.045em}.text-link{display:inline-flex;align-items:center;gap:.9rem;padding-bottom:.45rem;border-bottom:1px solid var(--color-gold);color:var(--color-ink);font-size:.66rem;font-weight:700;letter-spacing:.15em;text-decoration:none;text-transform:uppercase;transition:gap .18s ease,color .18s ease}.text-link:hover{gap:1.25rem;color:var(--color-coffee)}.text-link span{color:var(--color-coffee);font-size:1rem}.home-courses{background:#f0e9e0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3rem}.catalogue-page h1,.contact-page h1,.not-found h1,.section-heading h2{margin-bottom:0;font-size:clamp(2.7rem,5.2vw,4.5rem);line-height:1.04;letter-spacing:-.045em}.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.course-card{display:flex;min-width:0;flex-direction:column;background:var(--color-cream);box-shadow:0 1.2rem 3rem rgb(45 32 24/7%)}.course-grid--featured .course-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.course-card__media{position:relative;min-height:18rem;overflow:hidden;background:linear-gradient(140deg,#332522,#725441 58%,#b99371);color:var(--color-cream)}.course-card__media img{object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.course-card:hover .course-card__media img{transform:scale(1.045)}.course-card__art{position:absolute;inset:12%;display:grid;place-items:center;border:1px solid rgb(250 246 241/45%);border-radius:50%;color:var(--color-cream);font:italic clamp(4rem,8vw,6rem) var(--font-serif)}.course-card__media-label{position:absolute;z-index:1;right:1rem;bottom:1rem;left:1rem;color:rgb(250 246 241/83%);font-size:.58rem;letter-spacing:.17em;text-transform:uppercase}.course-card__content{display:flex;flex:1 1;flex-direction:column;align-items:flex-start;padding:clamp(1.5rem,4vw,3.5rem)}.course-card__content h3{margin-bottom:.9rem;font-size:clamp(1.6rem,2.7vw,2.35rem);line-height:1.12;letter-spacing:-.035em}.course-card__content h3 a{text-decoration:none}.course-card__content .eyebrow{margin-bottom:.25rem}.course-card__excerpt,.course-detail__lede{color:var(--color-muted);font-size:.9rem;line-height:1.8}.course-card__excerpt p:last-child,.course-detail__lede p:last-child{margin-bottom:0}.course-card__content .text-link{margin-top:auto;padding-top:1.8rem}.status-panel{padding:clamp(2rem,6vw,4rem);border:1px solid rgb(117 75 54/18%);background:rgb(250 246 241/68%)}.status-panel__spark{display:inline-block;margin-bottom:1rem;color:var(--color-gold);font-size:1.25rem}.status-panel h3{margin-bottom:.7rem;font-size:clamp(1.7rem,3vw,2.5rem)}.status-panel p{margin-bottom:0;color:var(--color-muted);font-size:.9rem;line-height:1.75}.catalogue-page h1,.contact-page h1,.not-found h1{margin-bottom:1.3rem}.page-lede{max-width:38rem;margin-bottom:3.5rem;color:var(--color-muted);font-size:1rem;line-height:1.8}.catalogue-page .course-grid{margin-top:3rem}.course-detail__hero{background:#f0e9e0}.course-detail__hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr);align-items:center;gap:clamp(2rem,7vw,7rem)}.course-detail__hero h1{max-width:14ch;margin-bottom:1.25rem;font-size:clamp(2.8rem,6vw,5.5rem);line-height:1.04;letter-spacing:-.045em}.course-detail__image{position:relative;min-height:22rem;aspect-ratio:.8;overflow:hidden;border:1px solid rgb(117 75 54/25%);background:var(--color-coffee)}.course-detail__image img{object-fit:cover}.availability-note{display:inline-block;margin-top:1.5rem;padding:.85rem 1rem;border-left:2px solid var(--color-gold);background:rgb(255 255 255/45%);color:var(--color-coffee);font-size:.78rem;line-height:1.6}.course-detail__body{max-width:52rem;padding-block:clamp(4rem,8vw,7rem)}.course-content{margin-bottom:3rem;font-size:1rem;line-height:1.9}.course-content h2{margin-top:3rem;margin-bottom:1rem;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.15}.course-content h3{margin-top:2rem;margin-bottom:.5rem;color:var(--color-coffee);font-size:1.35rem;line-height:1.3}.course-content img{height:auto;margin-block:2rem}.course-content blockquote{margin-inline:0;padding:1rem 1.5rem;border-left:2px solid var(--color-gold);color:var(--color-coffee);font-family:var(--font-serif);font-size:1.25rem}.about-page__grid{display:grid;grid-template-columns:minmax(16rem,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(2.5rem,8vw,8rem)}.about-page__portrait{position:relative;min-height:25rem;aspect-ratio:.75;overflow:hidden;border:1px solid rgb(117 75 54/24%);border-radius:48% 48% .5rem .5rem;background:#413b39}.about-page__portrait img{object-fit:cover;object-position:center 24%}.about-page__content h1{margin-bottom:1.5rem;font-size:clamp(2.8rem,6vw,5rem);letter-spacing:-.045em}.about-page__content .page-lede{margin-bottom:0;color:var(--color-ink);font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.3}.contact-page .status-panel{max-width:46rem;margin-top:3rem}.member-preview{background:#f0e9e0}.member-preview>.page-shell>h1{max-width:18ch;margin-bottom:1.5rem;font-size:clamp(2.8rem,6vw,5rem);line-height:1.06}.member-preview__notice{max-width:60rem;margin-bottom:3.5rem;padding:1.1rem 1.25rem;border-left:2px solid var(--color-coffee);background:var(--color-powder);color:var(--color-ink);font-size:.85rem;line-height:1.7}.member-preview__grid{display:grid;grid-template-columns:minmax(15rem,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,5rem)}.member-preview__grid h2{margin-bottom:1.5rem;font-size:clamp(1.5rem,3vw,2.35rem);line-height:1.15}.member-preview__lesson-list ol{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.member-preview__lesson-list li{padding:.9rem 1rem;border:1px solid rgb(117 75 54/16%);background:var(--color-cream)}.member-preview__lesson-list li span{display:block;margin-bottom:.35rem;color:var(--color-coffee);font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.member-preview__lesson-list li p{margin:0;font-family:var(--font-serif);font-size:1rem;line-height:1.4}.member-preview__lesson-label{color:var(--color-coffee);font-size:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.member-preview__video{display:grid;min-height:19rem;margin-bottom:2rem;place-items:center;background:var(--color-ink);color:var(--color-cream);font-family:var(--font-serif);font-size:1.2rem}.member-preview__lesson>p:last-child{color:var(--color-muted)}.not-found .text-link{margin-top:1.5rem}@media (max-width:48rem){.home-hero{min-height:auto}.home-hero__inner{grid-template-columns:1fr;gap:1.75rem;padding-block:4rem 5rem}.home-hero__copy{padding-block:0}.home-hero h1{max-width:11ch;font-size:clamp(3.25rem,13.5vw,5.5rem)}.home-hero__portrait-column{width:min(84%,25rem);justify-self:center;margin-bottom:1rem}.home-hero__orb{top:59%;right:-23rem}.scroll-cue{bottom:1.15rem;width:max-content}.about-page__grid,.course-detail__hero-grid,.home-intro__grid,.member-preview__grid{grid-template-columns:1fr;gap:2rem}.home-intro__content h2{font-size:clamp(2.45rem,10vw,3.5rem)}.section-heading{align-items:flex-start;flex-direction:column}.course-grid,.course-grid--featured .course-card{grid-template-columns:1fr}.course-card__media{min-height:18rem}.course-detail__hero h1{font-size:clamp(2.8rem,11vw,4rem)}.about-page__portrait,.course-detail__image{width:min(100%,25rem);justify-self:center}.site-header__inner{min-height:4.5rem}.menu-toggle{display:grid;width:2.75rem;height:2.75rem;align-content:center;justify-items:end;gap:.4rem;padding:.6rem;border:1px solid rgb(117 75 54/35%);border-radius:50%;background:transparent;color:var(--color-coffee);cursor:pointer}.menu-toggle span{width:1rem;height:1px;background:currentColor;transition:width .18s ease,transform .18s ease}.menu-toggle span:last-child{width:.7rem}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(.25rem) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{width:1rem;transform:translateY(-.25rem) rotate(-45deg)}.site-navigation{position:absolute;inset:100% 0 auto;display:grid;gap:0;padding:0 var(--page-gutter);overflow:clip;border-bottom:1px solid transparent;background:var(--color-cream);opacity:0;pointer-events:none;transform:translateY(-.5rem);visibility:hidden;transition:opacity .18s ease,transform .18s ease,border-color .18s ease,visibility .18s ease}.site-navigation.is-open{padding-bottom:.9rem;border-color:rgb(14 11 12/8%);opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.site-navigation .site-navigation__contact,.site-navigation a{padding:1rem 0;border:0;border-radius:0}.site-footer__inner{align-items:flex-start;flex-direction:column;gap:1.25rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal][data-ready=true]:not([data-visible=true]){opacity:1;transform:none}.home-hero__copy{animation:none}}.account-page,.auth-page{min-height:min(76vh,58rem);background:#f0e9e0}.auth-page__shell{max-width:60rem}.account-page>.page-shell>h1,.auth-page h1{max-width:14ch;margin-bottom:1rem;font-size:clamp(3rem,7vw,5.6rem);line-height:1;letter-spacing:-.05em}.auth-card{width:min(100%,34rem);margin-top:clamp(2rem,4vw,3.5rem);padding:clamp(1.4rem,5vw,3rem);border:1px solid rgb(117 75 54/16%);background:var(--color-cream);box-shadow:0 1.5rem 4rem rgb(45 32 24/7%)}.auth-form{display:grid;gap:1.25rem}.auth-form>label:not(.auth-form__consent){display:grid;gap:.55rem;color:var(--color-coffee);font-size:.72rem;font-weight:700;letter-spacing:.08em}.auth-form input:not([type=checkbox]){width:100%;min-height:3.25rem;padding:.75rem .9rem;border:1px solid rgb(117 75 54/28%);border-radius:.2rem;background:#fffdfa;color:var(--color-ink);font-size:1rem;letter-spacing:0;transition:border-color .18s ease,box-shadow .18s ease}.auth-form input:not([type=checkbox]):focus{border-color:var(--color-coffee);box-shadow:0 0 0 3px rgb(117 75 54/12%);outline:none}.auth-form input:disabled{cursor:not-allowed;opacity:.72}.auth-form__consent{display:flex;align-items:flex-start;gap:.7rem;color:var(--color-muted);font-size:.8rem;line-height:1.6}.auth-form__consent input{width:1rem;height:1rem;flex:0 0 auto;margin-top:.15rem;accent-color:var(--color-coffee)}.auth-form__alternate a,.auth-form__consent a{color:var(--color-coffee);text-decoration-color:var(--color-gold);text-underline-offset:.2em}.auth-form__message,.auth-form__notice{margin:0;padding:.9rem 1rem;border-left:2px solid var(--color-gold);background:#f4ede5;color:var(--color-muted);font-size:.82rem;line-height:1.6}.auth-form__submit{justify-content:center;width:100%;margin-top:.25rem}.auth-form__submit:disabled{cursor:not-allowed;opacity:.65}.auth-form__alternate{margin:0;color:var(--color-muted);font-size:.82rem;text-align:center}.member-account{max-width:60rem;margin-top:1rem}.member-account__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-block:2rem 3rem}.member-account__heading h2{margin-bottom:0;font-size:clamp(2.2rem,5vw,3.5rem)}.auth-signout{padding:0 0 .45rem;border:0;background:transparent;cursor:pointer}.auth-signout:disabled{opacity:.6;cursor:wait}.member-account>.text-link{margin-top:1.5rem}@media (max-width:48rem){.member-account__heading{align-items:flex-start;flex-direction:column;gap:1rem}.home-hero__portrait-caption{margin-top:.8rem}}