/*! Mantraa Academy — theme.css | design tokens transcribed from the approved design */
:root{
--ink:#06231c;--ink-2:#021e13;--ink-3:#173327;--forest:#003724;
--body:#414845;--body-2:#424844;--muted:#727975;--muted-2:#605e58;
--gold:#c2a061;--gold-2:#c9a574;--gold-3:#c09447;--gold-4:#d4a843;
--cream:#faf7f2;--cream-2:#fcf9f4;--sand:#f6f3ee;--sand-2:#f0ede6;--white:#fff;
--line:#c1c8c4;--line-2:#e2ddd4;--line-3:#eae8e7;--field:#f0ede9;
--ok-bg:#e8f5e9;--ok:#2e7d32;
--serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;
--sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
--display:"Cormorant Garamond",Georgia,serif;
--shell:1312px;--wide:1200px;--text:920px;
--r-sm:8px;--r:12px;--r-lg:20px;--r-xl:32px;--pill:9999px;
--e1:0 1px 2px rgba(0,0,0,.05);--e2:0 4px 4px rgba(0,55,36,.08);
--e3:0 10px 30px rgba(6,35,28,.05);--e4:0 16px 32px rgba(6,35,28,.1);
--e5:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);
--t:.25s cubic-bezier(.2,.6,.2,1);
--header-h:80px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream-2);color:var(--body);font:400 16px/24px var(--sans);text-wrap:pretty}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration:none;transition:color var(--t)}
a:hover{color:var(--gold)}
.site-header a,.site-nav__list a,.mobile-nav a,.site-footer a,.card a,.course-card a,.channel a,.breadcrumbs a,.pagination a,.post-nav a{color:var(--ink)}
.site-header a:hover,.site-nav__list a:hover,.mobile-nav a:hover,.site-footer a:hover,.card a:hover,.course-card a:hover,.channel a:hover,.breadcrumbs a:hover,.post-nav a:hover{color:var(--gold)}
.site-header--overlay:not(.is-stuck) .mobile-nav a{color:var(--ink)}
.button,.button:hover,.button:visited{text-decoration:none}
.link-arrow,.link-arrow:visited{color:var(--gold)}
.author-card__link,.prose a{color:var(--gold)}
h1,h2,h3,h4{margin:0;font-family:var(--serif);font-weight:400;color:var(--ink);line-height:1.25}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
em{font-style:italic}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:8px;left:8px;z-index:200;padding:12px 20px;background:var(--ink);color:var(--cream);border-radius:var(--pill)}
.skip-link:focus{clip:auto;width:auto;height:auto;margin:0;color:var(--cream)}
[hidden]{display:none!important}

/* ---------- primitives ---------- */
.eyebrow{font-size:14px;line-height:17px;letter-spacing:2.8px;text-transform:uppercase;color:var(--gold)}
.eyebrow--gold{color:var(--gold)}
.eyebrow--center{text-align:center}
.badge{display:inline-block;border-radius:var(--pill);padding:6px 14px;font-size:10px;line-height:15px;letter-spacing:.5px;text-transform:uppercase}
.badge--dark{background:var(--ink);color:var(--cream)}
.badge--gold{background:var(--gold-2);color:#000;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.6px;padding:10px 12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:14px 32px;border:0;border-radius:var(--pill);font:400 16px/24px var(--sans);cursor:pointer;text-align:center;transition:transform var(--t),filter var(--t),background var(--t),color var(--t),box-shadow var(--t)}
.button:hover{transform:translateY(-1px)}
.button:active{transform:translateY(0)}
.button--primary{background:var(--forest);color:var(--cream)}
.site-header .button--primary,.site-header .button--primary:hover{color:var(--cream)}
.site-header .button--gold{color:var(--ink)}
.button--primary:hover{background:#062d20;color:var(--cream)}
.button--gold{background:var(--gold-3);color:var(--ink);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.button--gold:hover{filter:brightness(1.06);color:var(--ink)}
.button--dark{background:var(--ink);color:var(--cream)}
.button--dark:hover{filter:brightness(1.2);color:var(--cream)}
.button--ghost{box-shadow:inset 0 0 0 1px rgba(250,247,242,.3);color:var(--cream)}
.button--ghost:hover{background:rgba(250,247,242,.08);box-shadow:inset 0 0 0 1px rgba(250,247,242,.7);color:var(--cream)}
.button--outline{box-shadow:inset 0 0 0 1px var(--ink);color:var(--ink)}
.button--outline:hover{background:var(--ink);color:var(--cream)}
.button--block{width:100%}
.button[disabled],.button[aria-disabled=true]{opacity:.6;cursor:not-allowed;transform:none}
.button-row{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;align-items:center}
.input{height:56px;width:100%;border:0;border-radius:var(--r);background:var(--white);box-shadow:inset 0 0 0 1px var(--line-2);padding:0 24px;font:400 15px/24px var(--sans);color:var(--ink);transition:box-shadow var(--t)}
.input--pill{border-radius:var(--pill)}
.input:focus{outline:0;box-shadow:inset 0 0 0 2px var(--gold)}
.icon{display:block;width:auto;height:20px;fill:currentColor;flex-shrink:0}
.button .icon{height:17px}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;background:none;cursor:pointer;color:var(--ink)}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-size:14px;line-height:20px;color:var(--gold)}
.link-arrow:hover{color:var(--ink)}
.link-arrow .icon{height:9px}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(250,247,242,.92);backdrop-filter:blur(12px);box-shadow:var(--e3);transition:background var(--t),box-shadow var(--t)}
.site-header--overlay{position:sticky;top:0;background:linear-gradient(rgba(6,35,28,.5),rgba(6,35,28,0));backdrop-filter:none;box-shadow:none}
.site-header--overlay+.site-main>.hero{margin-top:calc(var(--header-h) * -1)}
.site-header--overlay :is(.brand__name,.site-nav__list a,.site-header__login){color:var(--cream)}
.site-header--overlay .brand__badge{color:var(--cream);border-color:rgba(250,247,242,.4)}
.site-header--overlay :is(.icon-button,.nav-toggle__bars){color:var(--cream)}
.site-header--overlay.is-stuck{background:rgba(250,247,242,.92);backdrop-filter:blur(12px);box-shadow:var(--e3)}
.site-header--overlay.is-stuck :is(.brand__name,.site-nav__list a,.site-header__login,.icon-button,.nav-toggle__bars){color:var(--ink)}
.site-header--overlay.is-stuck .brand__badge{color:#1c1c19;border-color:var(--line)}
.site-header__inner{max-width:var(--shell);margin:0 auto;min-height:var(--header-h);padding:0 64px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-flex;align-items:center;gap:8px}
.brand__name{font:700 16px/24px var(--serif);letter-spacing:-.4px;color:var(--ink)}
.brand__badge{border:1px solid var(--line);padding:0 12px;font-size:16px;line-height:22px;letter-spacing:1.6px;text-transform:uppercase;color:#1c1c19}
.custom-logo{max-height:48px;width:auto}
.site-nav__list{display:flex;align-items:center;gap:32px}
.site-nav__list a{position:relative;font-size:16px;line-height:24px}
.site-nav__list a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--t)}
.site-nav__list a:hover::after,.site-nav__list .current-menu-item>a::after{transform:scaleX(1)}
.site-header__actions{display:flex;align-items:center;gap:24px}
.site-header__login{font-size:16px}
.nav-toggle{display:none;width:44px;height:44px;border:0;background:none;cursor:pointer}
.nav-toggle__bars,.nav-toggle__bars::before,.nav-toggle__bars::after{display:block;width:22px;height:2px;background:currentColor;transition:transform var(--t),opacity var(--t)}
.nav-toggle__bars{position:relative;margin:0 auto;color:var(--ink)}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:absolute;left:0}
.nav-toggle__bars::before{top:-7px}
.nav-toggle__bars::after{top:7px}
[aria-expanded=true] .nav-toggle__bars{background:transparent}
[aria-expanded=true] .nav-toggle__bars::before{transform:translateY(7px) rotate(45deg)}
[aria-expanded=true] .nav-toggle__bars::after{transform:translateY(-7px) rotate(-45deg)}
.header-search{background:var(--cream);border-top:1px solid var(--line-2);padding:20px 64px}
.header-search .search-form{max-width:var(--wide);margin:0 auto;display:flex;gap:12px}
.mobile-nav{background:var(--cream);border-top:1px solid var(--line-2);padding:24px 24px 32px;flex-direction:column;gap:20px}
@media(min-width:901px){.mobile-nav{display:none!important}}
.mobile-nav:not([hidden]){display:flex}
.mobile-nav__list{display:flex;flex-direction:column;gap:4px}
.mobile-nav__list a{display:block;padding:14px 4px;min-height:44px;font-size:17px;border-bottom:1px solid rgba(193,200,196,.4)}

/* ---------- hero ---------- */
.hero{position:relative;display:flex;align-items:center;overflow:hidden;isolation:isolate}
@media(min-width:901px){.hero{min-height:785px}}
.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scaleX(-1)}
.hero__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(6,35,28,.55),rgba(6,35,28,.05) 62%)}
.hero__inner{width:100%;max-width:var(--wide);margin:0 auto;padding:120px 64px;display:flex;flex-direction:column;align-items:flex-start;gap:23px}
.hero__title{max-width:672px;font-size:clamp(34px,4.6vw,52px);color:var(--cream)}
.hero__title-accent{font-style:italic;color:var(--gold)}
.hero__lede{max-width:520px;font-size:16px;line-height:26px;color:rgba(250,247,242,.85)}
.hero .button-row{justify-content:flex-start;padding:9px 0}
.hero__stats{display:flex;flex-wrap:wrap;gap:48px;margin:8px 0 0;padding:32px 0 0;border-top:1px solid rgba(250,247,242,.15)}
.hero__stat-value{font:400 16px/24px var(--serif);color:var(--gold)}
.hero__stat-value--icon{display:flex;align-items:center;height:24px}
.hero__stat-value--icon .icon{height:19px;fill:var(--gold)}
.hero__stat-label{margin:0;font-size:16px;line-height:24px;color:rgba(250,247,242,.6)}

/* ---------- ticker ---------- */
.ticker{overflow:hidden;background:var(--forest);border-top:1px solid rgba(194,160,97,.2);border-bottom:1px solid rgba(194,160,97,.2);padding:24px 0}
.ticker__track{display:flex;gap:32px;width:max-content;animation:mantraa-marquee 40s linear infinite}
.ticker__item{white-space:nowrap;font:italic 400 19px/31px var(--serif);color:var(--cream)}
@keyframes mantraa-marquee{from{transform:translateX(0)}to{transform:translateX(-33.333%)}}

/* ---------- sections ---------- */
.section{padding:104px 40px}
.section--dark{background:var(--forest)}
.section--sand{background:var(--cream)}
.section--muted{background:var(--sand-2)}
.section__inner{max-width:var(--wide);margin:0 auto;display:flex;flex-direction:column;gap:64px}
.section__inner--narrow{max-width:var(--text)}
.section__head{display:flex;flex-direction:column;gap:16px}
.section__head--center,.section--dark .section__inner,.section--sand .section__inner{align-items:center;text-align:center}
.section--dark .section__inner>*,.section--sand .section__inner>*{width:100%}
.section__title{font-size:32px}
.section__title--light{color:var(--cream)}
.section__lede{font-size:16px;line-height:24px;color:#4a5e56}
.page-header{padding:96px 40px 56px}
.page-header__inner{max-width:var(--wide);margin:0 auto;display:flex;flex-direction:column;gap:16px}
.page-header__title{font-size:clamp(30px,4vw,48px);line-height:1.25}
.page-header__lede{max-width:640px;font-size:16px;line-height:26px}
.page-header__search{max-width:520px}
.page-shell{max-width:var(--wide);margin:0 auto;padding:56px 40px 96px}
.page-shell--muted{max-width:none;background:var(--sand-2);padding:56px 40px 96px}
.page-shell--muted>*{max-width:var(--wide);margin-inline:auto}
.page-shell--center{text-align:center;display:flex;flex-direction:column;gap:24px;align-items:center;padding-block:120px}
.page-shell__search,.empty-state__search{width:min(520px,100%)}
.results-count{padding-bottom:24px;font-weight:500;font-size:14px;letter-spacing:.7px;text-transform:uppercase;color:var(--body)}

/* ---------- steps + features ---------- */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;position:relative}
.steps::before{content:"";position:absolute;left:16%;right:16%;top:48px;border-top:2px dashed rgba(194,160,97,.3)}
.steps__item{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.steps__medallion{width:96px;height:96px;margin-bottom:16px;border-radius:var(--pill);background:var(--gold);box-shadow:0 10px 15px -3px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;transition:transform var(--t)}
.steps__item:hover .steps__medallion{transform:scale(1.06)}
.steps__medallion .icon{height:22px;fill:var(--ink)}
.steps__title{font-size:16px;line-height:24px;color:var(--cream)}
.steps__text{max-width:200px;font-size:16px;line-height:24px;color:rgba(250,247,242,.6)}
.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;text-align:left}
.feature{background:var(--white);border-radius:var(--r);box-shadow:inset 0 0 0 1px rgba(193,200,196,.2),var(--e1);padding:40px;display:flex;flex-direction:column;gap:16px;transition:transform var(--t),box-shadow var(--t)}
.feature:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px rgba(193,200,196,.4),var(--e4)}
.feature__icon .icon{height:28px;fill:var(--gold)}
.feature__title{font-size:16px;line-height:20px}
.feature__text{font-size:16px;line-height:24px;color:var(--body)}

/* ---------- cards ---------- */
.card-grid{display:grid;gap:28px}
.card-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{display:flex;flex-direction:column;background:var(--white);border-radius:var(--r);box-shadow:var(--e1);overflow:hidden;transition:transform var(--t),box-shadow var(--t)}
.card:hover{transform:translateY(-4px);box-shadow:var(--e4)}
.card__media{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:var(--sand)}
.card__image{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card__image{transform:scale(1.05)}
.card__badge{position:absolute;left:16px;top:16px}
.card__body{padding:32px;display:flex;flex-direction:column;gap:12px;flex:1}
.post-meta{font-size:12px;line-height:18px;color:var(--muted)}
.card__title{font-size:19px;line-height:28px}
.card__excerpt{font-size:14px;line-height:22px;color:var(--body)}
.card__body .link-arrow{margin-top:auto;padding-top:12px}
.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:57px}
.course-card{display:flex;flex-direction:column;background:var(--white);border-radius:var(--r-xl);box-shadow:inset 0 0 0 1px var(--line),var(--e2);padding:20px;text-align:left;transition:transform var(--t),box-shadow var(--t)}
.course-card:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--line),0 20px 40px rgba(0,55,36,.12)}
.course-card__media{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg) var(--r-lg) 0 0;overflow:hidden;background:var(--sand)}
.course-card__image{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.course-card:hover .course-card__image{transform:scale(1.04)}
.course-card__badge{position:absolute;left:24px;top:24px}
.course-card__body{padding:32px;display:flex;flex-direction:column;gap:16px;flex:1}
.course-card__title{font-size:clamp(22px,2.2vw,32px);line-height:1.25;color:#000}
.course-card__excerpt{font-size:16px;line-height:24px;color:var(--muted-2)}
.course-card__footer{margin-top:auto;padding-top:21px;border-top:1px solid var(--line-3)}
.empty-state{display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;padding:64px 0}
.empty-state__title{font-size:24px}

/* ---------- article ---------- */
.article__hero{position:relative;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.article__hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.article__hero-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.6))}
.article__hero-inner{width:100%;max-width:1048px;margin:0 auto;padding:0 64px 64px;display:flex;flex-direction:column;gap:24px}
.article__title{max-width:920px;font-size:clamp(30px,4vw,48px);color:var(--cream)}
.article__byline{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:16px;color:rgba(250,247,242,.75)}
.article__author{color:var(--cream)}
.article__byline .avatar{width:44px;height:44px;border-radius:var(--pill)}
.article__body{max-width:1048px;margin:0 auto;padding:80px 64px}
.prose{font-family:var(--serif);font-size:19px;line-height:35.15px;color:var(--ink)}
.prose>*+*{margin-top:32px}
.prose h2{margin-top:48px;font-size:28px;line-height:44.8px}
.prose h3{margin-top:32px;font-size:22px;line-height:34px}
.prose :is(ul,ol){padding-left:24px;list-style:disc}
.prose ol{list-style:decimal}
.prose li+li{margin-top:8px}
.prose blockquote{margin:48px 0;padding-left:32px;border-left:2px solid var(--gold);font-style:italic}
.prose :is(img,figure){border-radius:var(--r-sm);overflow:hidden}
.prose figcaption{padding-top:15px;font:400 14px/20px var(--sans);color:var(--muted);text-align:center}
.prose a{color:var(--gold);text-decoration:underline}
.prose a:hover{color:var(--ink)}
.article__share{margin-top:48px;padding:24px 0;border-top:1px solid rgba(193,200,196,.5);border-bottom:1px solid rgba(193,200,196,.5);display:flex;justify-content:space-between;align-items:center;gap:16px}
.article__share-label{font-size:16px;color:var(--ink)}
.social-links{display:flex;gap:12px}
.social-links__link{width:40px;height:40px;border-radius:var(--pill);box-shadow:inset 0 0 0 1px var(--line);display:flex;align-items:center;justify-content:center;transition:box-shadow var(--t)}
.social-links__link:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.social-links .icon{height:19px;fill:#1c1c19}
.author-card{margin:48px 0;background:var(--cream);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line-2);padding:48px;display:flex;gap:32px;align-items:center}
.author-card__avatar{width:128px;height:128px;border-radius:var(--pill);box-shadow:inset 0 0 0 4px var(--white),0 4px 6px -1px rgba(0,0,0,.1);flex-shrink:0}
.author-card__body{display:flex;flex-direction:column;gap:8px}
.author-card__name{font-size:24px;line-height:31.2px}
.author-card__bio{font-family:var(--serif);font-size:19px;line-height:35.15px;color:var(--body)}
.author-card__link{color:var(--gold);text-decoration:underline}
.post-nav{padding-top:48px;display:flex;justify-content:space-between;gap:16px}
.post-nav a{font-size:16px;color:var(--body)}
.post-nav a:hover{color:var(--ink)}
.page-links{padding-top:32px;display:flex;gap:12px}

/* ---------- breadcrumbs, pagination ---------- */
.breadcrumbs{padding-bottom:32px}
.breadcrumbs__list{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;letter-spacing:.8px;text-transform:uppercase;color:var(--body-2)}
.breadcrumbs__item+.breadcrumbs__item::before{content:"›";padding-right:8px;color:var(--muted)}
.breadcrumbs [aria-current=page]{color:var(--ink-2)}
.pagination{padding-top:64px}
.pagination__list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pagination :is(a,span){display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 14px;border-radius:var(--pill);box-shadow:inset 0 0 0 1px var(--line);font-size:15px;transition:background var(--t),color var(--t)}
.pagination a:hover{background:var(--ink);color:var(--cream)}
.pagination .current{background:var(--gold);box-shadow:none;color:var(--ink)}

/* ---------- CTA + footer ---------- */
.cta-banner{background:var(--ink);padding:96px 40px}
.cta-banner__inner{max-width:928px;margin:0 auto;display:flex;flex-direction:column;gap:32px;align-items:center;text-align:center}
.cta-banner__title{font-size:clamp(30px,4vw,48px);line-height:1.4;color:var(--cream)}
.cta-banner__lede{font-size:16px;line-height:24px;color:rgba(250,247,242,.7)}
.cta-banner__form{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;width:100%}
.cta-banner__form .input{width:min(360px,100%);height:64px;background:transparent;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--white)}
.cta-banner__form .input::placeholder{color:rgba(250,247,242,.6)}
.cta-banner__form .button{height:64px;padding-inline:48px;background:var(--gold);color:var(--ink);box-shadow:var(--e5)}
.cta-banner__notice{border-radius:var(--r);background:var(--ok-bg);padding:14px 22px;color:var(--ok);font-size:15px}
.cta-banner__proof{font-size:12px;line-height:18px;letter-spacing:1.2px;text-transform:uppercase;color:rgba(250,247,242,.5)}
.site-footer{background:var(--sand);border-top:1px solid rgba(193,200,196,.3);padding:96px 40px 48px}
.site-footer__inner{max-width:1183px;margin:0 auto;display:flex;flex-direction:column;gap:80px}
.site-footer__columns{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}
.site-footer__about{display:flex;flex-direction:column;gap:24px}
.site-footer__about .brand__badge{border:0;padding:0 8px;color:var(--gold)}
.site-footer__blurb{max-width:280px;font-size:16px;line-height:24px;color:var(--body)}
.site-footer__column{display:flex;flex-direction:column;gap:32px}
.site-footer__heading{font:400 16px/24px var(--sans);letter-spacing:1.6px;text-transform:uppercase;color:var(--ink)}
.site-footer__list{display:flex;flex-direction:column;gap:16px}
.site-footer__list a{font-size:16px;line-height:24px;color:var(--body)}
.site-footer__list a:hover{color:var(--ink)}
.site-footer__bar{border-top:1px solid rgba(193,200,196,.4);padding-top:48px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
.site-footer__copy{font-size:16px;line-height:24px;color:rgba(65,72,69,.6)}
.site-footer__signals{display:flex;flex-wrap:wrap;gap:32px;font-size:16px;line-height:24px;color:rgba(65,72,69,.4)}
.widget__title{font:400 16px/24px var(--sans);letter-spacing:1.6px;text-transform:uppercase}

/* ---------- responsive ---------- */
@media(max-width:1280px){
.site-header__inner,.header-search{padding-inline:40px}
.hero__inner,.article__hero-inner,.article__body{padding-inline:40px}
.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1024px){
.section{padding:80px 32px}
.section__inner{gap:48px}
.card-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
.course-grid{gap:32px}
.site-footer__columns{grid-template-columns:1fr 1fr}
.page-shell,.page-shell--muted,.page-header{padding-inline:32px}
.author-card{padding:32px}
}
@media(max-width:900px){
.site-nav,.site-header__login,.site-header__cta{display:none}
.nav-toggle{display:inline-flex}
.site-header__inner{padding-inline:24px;gap:16px}
.hero__inner{padding:calc(var(--header-h) + 48px) 24px 72px}
.hero__stats{gap:28px}
.steps{grid-template-columns:1fr;gap:48px}
.steps::before{display:none}
.article__hero{min-height:400px}
.article__hero-inner,.article__body{padding-inline:24px}
.article__body{padding-block:56px}
.prose{font-size:18px;line-height:32px}
.author-card{flex-direction:column;align-items:flex-start;text-align:left}
}
@media(max-width:768px){
.section{padding:64px 24px}
.card-grid--3,.feature-grid{grid-template-columns:1fr}
.page-shell,.page-shell--muted,.page-header{padding-inline:24px}
.cta-banner{padding:72px 24px}
.site-footer{padding:64px 24px 40px}
.site-footer__inner{gap:56px}
.article__share{flex-direction:column;align-items:flex-start}
}
@media(max-width:520px){
.hero__inner{padding:calc(var(--header-h) + 32px) 20px 56px}
.hero .button-row,.cta-banner__form{flex-direction:column;align-items:stretch;width:100%}
.hero .button,.cta-banner__form .button,.cta-banner__form .input{width:100%}
.hero__stats{flex-direction:column;gap:20px}
.course-card,.card__body,.course-card__body,.feature{padding:24px}
.site-footer__columns{grid-template-columns:1fr;gap:40px}
.site-footer__bar,.site-footer__signals{flex-direction:column;align-items:flex-start;gap:12px}
.post-nav{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
.ticker__track{animation:none}
}
@media print{
.site-header,.mobile-nav,.header-search,.cta-banner,.site-footer,.pagination,.post-nav,.article__share{display:none}
body{background:#fff}
}

/* ---------- page hero (About, featured-image pages) ---------- */
.page-hero{position:relative;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.page-hero--tall{min-height:738px}
.page-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.5))}
.page-hero__inner{width:100%;max-width:var(--wide);margin:0 auto;padding:0 64px 96px;display:flex;flex-direction:column;gap:16px}
.page-hero__title{font-size:clamp(30px,4vw,48px);color:var(--cream)}
.page-hero__lede{max-width:640px;font-size:16px;line-height:26px;color:rgba(250,247,242,.85)}
.page-header--center .page-header__inner{align-items:center;text-align:center}

/* ---------- values strip (About) ---------- */
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px;text-align:left}
.values__title{font-size:20px;line-height:28px;color:var(--gold)}
.values__text{margin-top:12px;font-size:16px;line-height:26px;color:rgba(250,247,242,.7)}

/* ---------- channel cards (Contact) ---------- */
.channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:left}
.channel{display:flex;flex-direction:column;gap:16px;background:var(--white);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line-2);padding:32px;transition:transform var(--t),box-shadow var(--t)}
.channel:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--gold),var(--e4)}
.channel__icon{width:48px;height:48px;border-radius:var(--pill);background:rgba(194,160,97,.12);display:flex;align-items:center;justify-content:center}
.channel__icon .icon{height:22px;fill:var(--gold)}
.channel__title{font-size:16px;line-height:24px}
.channel__text{font-size:16px;line-height:24px;color:var(--body)}
.channel__note{margin-top:auto;font-size:14px;line-height:21px;color:var(--muted)}

@media(max-width:1024px){
.values,.channel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.page-hero__inner{padding-inline:32px}
}
@media(max-width:900px){
.page-hero,.page-hero--tall{min-height:420px}
.page-hero__inner{padding:0 24px 64px}
}
@media(max-width:768px){
.values,.channel-grid{grid-template-columns:1fr}
}

/* ---------- fidelity: course card meta, testimonials, faq ---------- */
.section--cream{background:rgb(252,249,244)}
.section--white{background:#fff}
.section__head--split{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;width:100%}
.section__head--split .section__title{text-align:left}
.section__inner--faq{max-width:901px}

.course-card__actions{position:absolute;right:24px;top:24px;display:flex;gap:8px}
.course-card__action{width:40px;height:40px;border:0;border-radius:var(--pill);background:rgba(251,249,248,.9);backdrop-filter:blur(24px);box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--t)}
.course-card__action:hover{transform:scale(1.08)}
.course-card__action .icon{height:16px;fill:#000}
.course-card__body{gap:0}
.course-card__meta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:24px}
.course-card__instructor{display:flex;gap:12px;align-items:center}
.course-card__avatar{width:40px;height:40px;border-radius:var(--pill);box-shadow:inset 0 0 0 1px rgb(194,200,194);object-fit:cover}
.course-card__instructor-name{font-weight:500;font-size:14px;line-height:20px;letter-spacing:.28px;color:rgb(27,28,28)}
.course-card__rating{display:flex;gap:6px;align-items:center}
.course-card__stars{color:rgb(212,168,67);font-size:14px;letter-spacing:1px}
.course-card__reviews{font-weight:500;font-size:14px;line-height:17px;letter-spacing:.7px;color:var(--body)}
.course-card__title{font-size:clamp(22px,2.2vw,32px);line-height:1.25;color:#000;margin:0 0 16px}
.course-card__excerpt{font-size:16px;line-height:24px;color:var(--muted-2);margin:0 0 32px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.course-card__tags{display:flex;gap:12px;padding-bottom:32px}
.course-card__tag{display:inline-flex;gap:8px;align-items:center;border-radius:var(--pill);background:rgb(250,246,242);padding:8px 16px;font-weight:700;font-size:12px;line-height:16px;letter-spacing:.6px;color:var(--ink)}
.course-card__tag--gold{background:rgba(201,165,116,.1);color:#000}
.course-card__tag .icon{height:13px;fill:currentColor}
.course-card__price{display:flex;align-items:baseline;gap:12px;padding-bottom:16px}
.course-card__price-now{font-family:var(--serif);font-weight:700;font-size:24px;line-height:32px;color:#000}
.course-card__price-was{font-size:12px;line-height:18px;letter-spacing:1.2px;color:rgba(65,72,69,.6);text-transform:uppercase}

.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.testimonial{position:relative;margin:0;border-radius:var(--r);background:rgba(228,221,231,.3);padding:40px;display:flex;flex-direction:column;gap:32px;justify-content:space-between}
.testimonial__rating{position:absolute;right:24px;top:17px;border-radius:var(--pill);background:var(--gold);box-shadow:0 10px 15px -3px rgba(0,0,0,.1);padding:4px 12px;font-size:10px;line-height:15px;letter-spacing:.5px;color:var(--ink);text-transform:uppercase}
.testimonial__quote{margin:0;font-family:var(--display);font-style:italic;font-size:24px;line-height:39px;color:rgba(6,35,28,.8)}
.testimonial__author{display:flex;gap:16px;align-items:center}
.testimonial__avatar{width:48px;height:48px;border-radius:var(--pill);object-fit:cover}
.testimonial__meta{display:flex;flex-direction:column}
.testimonial__name{font-size:16px;line-height:24px;color:var(--ink)}
.testimonial__role{font-size:12px;line-height:18px;color:var(--body)}

.faq{display:flex;flex-direction:column;gap:16px;width:100%}
.faq__item{border-bottom:1px solid rgba(193,200,196,.5);padding-bottom:16px}
.faq__q{width:100%;border:0;background:transparent;padding:16px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left;gap:16px;font-family:var(--serif);font-size:19px;line-height:28px;color:var(--ink)}
.faq__icon{position:relative;flex-shrink:0;width:13px;height:13px}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;background:var(--gold);transition:transform var(--t)}
.faq__icon::before{left:0;top:5.75px;width:13px;height:1.5px}
.faq__icon::after{left:5.75px;top:0;width:1.5px;height:13px}
.faq__q[aria-expanded=true] .faq__icon::after{transform:scaleY(0)}
.faq__a{padding:0 40px 8px 0}
.faq__a p{margin:0;font-size:16px;line-height:26px;color:var(--body)}

@media(max-width:1024px){.testimonial-grid{grid-template-columns:1fr 1fr}.section__inner--faq{max-width:none}}
@media(max-width:768px){.testimonial-grid{grid-template-columns:1fr}.course-card__title{font-size:24px}.course-card__meta{flex-wrap:wrap}.section__head--split{flex-direction:column;align-items:flex-start}}

.site-footer__social{display:flex;gap:16px}
.site-footer__social-link{width:40px;height:40px;border-radius:var(--pill);box-shadow:inset 0 0 0 1px var(--line);display:flex;align-items:center;justify-content:center;transition:box-shadow var(--t)}
.site-footer__social-link:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.site-footer__social-link .icon{height:19px;fill:#1c1c19}

/* ---------- About page ---------- */
.page-hero--bottom{align-items:flex-end}
.page-hero--bottom .page-hero__inner{padding-bottom:96px;gap:15px}
.section__title--left{text-align:left}

.about-story{max-width:1232px;margin:0 auto;padding:128px 40px}
.about-story__inner{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:start}
.about-story__body{display:flex;flex-direction:column;gap:32px}
.prose--story{font-family:var(--sans);font-size:16px;line-height:26px;color:var(--body)}
.prose--story>*+*{margin-top:20px}
.prose--story h2,.prose--story h3{font-family:var(--serif);color:var(--ink)}
.about-story__aside{position:sticky;top:104px}
.about-portrait{margin:0;border-radius:var(--r);overflow:hidden;box-shadow:var(--e3)}
.about-portrait img{width:100%;height:600px;object-fit:cover;display:block}
.about-badge{margin:-48px 0 0 -32px;width:135px;border-radius:var(--r);background:var(--gold);box-shadow:var(--e3);padding:32px;display:flex;flex-direction:column;gap:7px;position:relative}
.about-badge__value{font-family:var(--serif);font-size:48px;line-height:48px;letter-spacing:-.96px;color:var(--ink)}
.about-badge__label{font-weight:500;font-size:14px;line-height:17px;letter-spacing:.7px;color:var(--ink);text-transform:uppercase}

.about-academy__inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:center}
.about-academy__figure{margin:0;border-radius:var(--r);box-shadow:inset 0 0 0 12px #fff,var(--e3);overflow:hidden}
.about-academy__figure img{width:100%;height:500px;object-fit:cover;display:block;margin:12px;width:calc(100% - 24px);height:476px;border-radius:4px}
.about-academy__body{display:flex;flex-direction:column;gap:32px}
.about-academy__copy{display:flex;flex-direction:column;gap:24px}
.about-academy__copy p{margin:0;font-size:16px;line-height:26px;color:var(--body);text-wrap:pretty}

.about-values__title{margin:0;font-family:var(--serif);font-weight:400;font-style:italic;font-size:36px;line-height:52.8px;letter-spacing:-.96px;color:var(--cream);text-align:center}
.about-values .values{margin-top:80px}

@media(max-width:1024px){
.about-story{padding:96px 32px}
.about-story__inner{grid-template-columns:1fr;gap:48px}
.about-story__aside{position:static;max-width:520px}
.about-academy__inner{grid-template-columns:1fr;gap:40px}
.about-academy__figure{order:-1}
}
@media(max-width:768px){
.about-story{padding:64px 24px}
.about-portrait img{height:auto;aspect-ratio:4/5}
.about-academy__figure img{height:auto;aspect-ratio:5/4}
.about-values__title{font-size:28px;line-height:40px}
.about-values .values{margin-top:48px}
}

/* ---------- Contact page ---------- */
.contact-channels{max-width:1072px;margin:0 auto;padding:0 40px 64px}
.contact-channels__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.channel{display:flex;flex-direction:column;gap:24px;background:#fff;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line-2);padding:32px;transition:transform var(--t),box-shadow var(--t)}
.channel:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--gold),0 16px 32px rgba(6,35,28,.08)}
.channel__icon{width:48px;height:48px;border-radius:var(--pill);background:rgba(194,160,97,.12);display:flex;align-items:center;justify-content:center}
.channel__icon .icon{height:22px;fill:var(--gold)}
.channel__head{display:flex;flex-direction:column;gap:8px}
.channel__title{font-family:var(--serif);font-weight:400;font-size:16px;line-height:24px;color:var(--ink)}
.channel__text{margin:0;font-size:16px;line-height:24px;color:var(--body)}
.channel__foot{margin-top:auto;display:flex;flex-direction:column;gap:9px}
.channel__cta{font-weight:700;font-size:16px;line-height:24px;color:var(--gold)}
.channel__cta .icon{height:9px}
.channel__note{font-size:14px;line-height:21px;color:var(--muted)}

.contact-main{max-width:1072px;margin:0 auto;padding:0 40px 96px}
.contact-main__grid{display:grid;grid-template-columns:1fr 454px;gap:64px;align-items:start}
.contact-form__heading{margin:0 0 31.5px;font-family:var(--serif);font-weight:400;font-size:24px;line-height:36px;color:var(--ink)}
.contact-form{display:flex;flex-direction:column;gap:24px}
.contact-form__row{display:flex;gap:24px}
.field{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.field__label{padding:0 16px;font-weight:700;font-size:12px;line-height:18px;letter-spacing:.6px;color:var(--muted);text-transform:uppercase}
.field__input{height:56px;border:0;border-radius:var(--pill);background:rgb(240,237,233);padding:0 24px;font-family:var(--sans);font-size:16px;color:rgb(28,28,25);outline:none;box-sizing:border-box;transition:box-shadow var(--t);width:100%}
.field__input:focus{box-shadow:inset 0 0 0 2px var(--gold)}
.field__input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--err,#c0392b)}
.field__select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23606058' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 24px center}
.field__textarea{height:auto;min-height:140px;border-radius:20px;padding:20px 24px;line-height:24px;resize:vertical}
.field__error{padding:0 16px;font-size:13px;line-height:18px;color:#c0392b}
.contact-form__submit{margin-top:0}
.form-notice{margin-bottom:24px;border-radius:var(--r);background:var(--ok-bg);padding:16px 24px;font-size:16px;line-height:24px;color:var(--ok)}

.contact-qa{display:flex;flex-direction:column;gap:31.5px}
.qa{display:flex;flex-direction:column;gap:16px}
.qa__item{border-radius:var(--r);background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);overflow:hidden}
.qa__q{width:100%;border:0;background:transparent;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left;gap:16px;font-size:16px;line-height:24px;color:var(--ink)}
.qa__a{padding:0 20px 16px}
.qa__a p{margin:0;font-size:16px;line-height:26px;color:var(--body)}
.contact-qa__more{font-weight:700;font-size:16px;line-height:24px;color:var(--gold)}
.contact-qa__more .icon{height:9px}

.contact-cta{background:var(--ink);padding:80px 20px}
.contact-cta__inner{max-width:1072px;margin:0 auto;display:flex;flex-direction:column;gap:40px;align-items:center}
.contact-cta__title{margin:0;font-family:var(--serif);font-weight:400;font-size:36px;line-height:45px;color:var(--cream);text-align:center}
.contact-cta .button{min-width:200px}

.contact-map{position:relative;height:360px;background:rgb(235,232,227);overflow:hidden}
.contact-map__texture{position:absolute;inset:0;opacity:.4;mix-blend-mode:multiply;background-repeat:repeat;background-size:512px 279px;background-position:top left}
.contact-map__tint{position:absolute;inset:0;background:rgba(6,35,28,.05)}
.contact-map__card{position:absolute;left:64px;top:77px;width:284px;border-radius:var(--r);background:var(--cream);box-shadow:inset 0 0 0 1px var(--line-2),var(--e5);padding:32px;box-sizing:border-box;display:flex;flex-direction:column;gap:16px}
.contact-map__row{display:flex;gap:16px;align-items:flex-start}
.contact-map__icon{height:18px;fill:var(--gold);flex-shrink:0;margin-top:2px}
.contact-map__stack{display:flex;flex-direction:column}
.contact-map__strong{font-weight:700;font-size:16px;line-height:24px;color:var(--ink)}
.contact-map__muted{font-size:14px;line-height:21px;color:var(--body)}

@media(max-width:1024px){
.contact-main__grid{grid-template-columns:1fr;gap:48px}
.contact-channels,.contact-main{padding-inline:32px}
}
@media(max-width:768px){
.contact-channels__grid{grid-template-columns:1fr}
.contact-form__row{flex-direction:column;gap:24px}
.contact-channels,.contact-main{padding-inline:24px}
.contact-map__card{left:16px;right:16px;top:16px;width:auto}
.contact-cta__title{font-size:28px;line-height:38px}
}

/* ---------- Blog detail: inline course CTA ---------- */
.article-cta{margin:48px 0;position:relative;border-radius:var(--r);background:var(--ink);padding:63px 64px;display:flex;flex-direction:column;gap:16px;align-items:center;text-align:center;overflow:hidden}
.article-cta__title{margin:0;font-family:var(--serif);font-weight:400;font-size:36px;line-height:38.4px;color:var(--cream)}
.article-cta__text{margin:0;max-width:448px;font-family:var(--serif);font-size:19px;line-height:35.15px;color:rgb(111,140,130)}
.article-cta .button{margin-top:8px}
@media(max-width:768px){.article-cta{padding:40px 24px}.article-cta__title{font-size:28px;line-height:34px}}

/* ---------- comments ---------- */
.comments{max-width:1048px;margin:0 auto;padding:0 64px 96px}
.comments__title{margin:0 0 24px;font-family:var(--serif);font-weight:400;font-size:24px;line-height:31.2px;color:var(--ink)}
.comments__list{list-style:none;margin:0 0 48px;padding:0;display:flex;flex-direction:column;gap:24px}
.comments__list .children{list-style:none;margin:16px 0 0;padding-left:32px;display:flex;flex-direction:column;gap:16px}
.comments__list .comment-body{background:#fff;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line-2);padding:24px}
.comments__list .comment-author{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink)}
.comments__list .comment-author .avatar{border-radius:var(--pill)}
.comments__list .comment-meta{padding:6px 0;font-size:12px;color:var(--muted)}
.comments__list .comment-meta a{color:var(--muted)}
.comments__list .comment-content{font-size:16px;line-height:26px;color:var(--body)}
.comments__list .comment-content p{margin:0 0 12px}
.comments__list .reply a{font-size:13px;letter-spacing:.5px;text-transform:uppercase;color:var(--gold)}
.comment-respond{background:var(--cream);border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line-2);padding:40px}
.comment-form{display:flex;flex-direction:column;gap:20px}
.comment-form p{margin:0;display:flex;flex-direction:column;gap:8px}
.comment-form label{font-weight:700;font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;box-sizing:border-box;border:0;border-radius:var(--r);background:rgb(240,237,233);padding:14px 20px;font-family:var(--sans);font-size:16px;color:var(--ink);outline:none;transition:box-shadow var(--t)}
.comment-form textarea{min-height:140px;resize:vertical}
.comment-form input:focus,.comment-form textarea:focus{box-shadow:inset 0 0 0 2px var(--gold)}
.comment-form .form-submit .submit{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 32px;border:0;border-radius:var(--pill);background:var(--ink);color:var(--cream);font:400 16px/24px var(--sans);cursor:pointer;transition:filter var(--t),transform var(--t)}
.comment-form .form-submit .submit:hover{filter:brightness(1.2);transform:translateY(-1px)}
.comment-form .comment-notes,.comment-form .logged-in-as{font-size:14px;line-height:22px;color:var(--muted)}
.comment-form .comment-notes .required{color:var(--gold)}
@media(max-width:768px){.comments{padding-inline:24px}.comment-respond{padding:24px}}
