/* SECTION:fonts */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-500.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-600.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/inter-700.woff2') format('woff2');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/outfit-400.woff2') format('woff2');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/outfit-500.woff2') format('woff2');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/outfit-600.woff2') format('woff2');}
@font-face{font-family:'Outfit';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/outfit-700.woff2') format('woff2');}
/* SECTION:design-tokens -------------------------------------------------------------------- */
:root{--color-orange:#EF7722;--color-orange-hover:#d9661b;--color-orange-soft:#FFF2E7;--color-orange-grad-end:#F9A335;--color-blue:#0CA6DF;--color-blue-hover:#0995c9;--color-blue-soft:#EFF8FD;--color-blue-grad-end:#7ACEEE;--color-bg:#FCFBF8;--color-bg-input:#FAFAF8;--color-pill:#F5F5F2;--color-pill-alt:#F4F4F1;--color-white:#ffffff;--color-text:#060606;--color-body:#2b2b2b;--color-status-ok:#1a7f37;--color-status-error:#B3261E;--font-sans:'Inter',ui-sans-serif,system-ui,sans-serif;--font-display:'Outfit',sans-serif;--tracking-tight:-0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em;--leading-tight:1.25;--leading-relaxed:1.625;--leading-body:1.6;--radius-card:28px;--radius-card-lg:32px;--radius-pill:9999px;--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-orange:0 20px 25px -5px rgba(239,119,34,.2),0 8px 10px -6px rgba(239,119,34,.2);--max-w:80rem;}
/* SECTION:base */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
::selection{background:rgba(239,119,34,.1);color:var(--color-orange);}
.container{max-width:var(--max-w);margin-inline:auto;padding-inline:1rem;}
@media (min-width:640px){.container{padding-inline:1.5rem;}}
@media (min-width:1024px){.container{padding-inline:2rem;}}
.container--narrow{max-width:64rem;}
/* SECTION:typography utilities */
.h-display{font-family:var(--font-display);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);}
.accent-orange{color:var(--color-orange);font-weight:800;}
.u-orange{text-decoration:underline;text-decoration-color:rgba(239,119,34,.3);text-underline-offset:4px;}
.eyebrow{display:inline-flex;border-radius:var(--radius-pill);padding:0.25rem 0.75rem;font-size:0.75rem;font-weight:500;}
@media (min-width:640px){.eyebrow{font-size:0.875rem;}}
.eyebrow--blue{background:var(--color-blue-soft);color:var(--color-blue);box-shadow:inset 0 0 0 1px rgba(12,166,223,.1);}
.eyebrow--orange{background:var(--color-orange-soft);color:var(--color-orange);box-shadow:inset 0 0 0 1px rgba(239,119,34,.1);}
.eyebrow--neutral{background:var(--color-white);color:rgba(0,0,0,.6);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);}
/* SECTION:badges */
.badge{display:inline-flex;border-radius:var(--radius-pill);padding:0.375rem 0.75rem;font-size:10px;font-weight:700;letter-spacing:var(--tracking-wider);}
@media (min-width:640px){.badge{font-size:0.75rem;}}
.badge--level{background:rgba(12,166,223,.1);color:var(--color-blue);text-transform:uppercase;}
.badge--meta{background:rgba(239,119,34,.1);color:var(--color-orange);}
/* SECTION:buttons */
.btn{display:inline-block;border:0;border-radius:var(--radius-pill);cursor:pointer;text-align:center;font-weight:700;white-space:nowrap;min-height:44px;font-family:var(--font-sans);transition:all .15s cubic-bezier(.4,0,.2,1);}
.btn:active{transform:scale(.95);}
.btn--primary{background:var(--color-orange);color:var(--color-white);padding:1rem 2rem;font-size:1rem;box-shadow:var(--shadow-orange);}
.btn--primary:hover{background:var(--color-orange-hover);transform:scale(1.05);}
.btn--inverse{background:var(--color-white);color:var(--color-orange);padding:1rem 2rem;font-size:1rem;box-shadow:var(--shadow-xl);}
.btn--inverse:hover{background:var(--color-orange-soft);transform:scale(1.05);}
.btn--members{background:var(--color-blue);color:var(--color-white);padding:0.5rem 1.25rem;font-size:0.875rem;font-weight:600;box-shadow:var(--shadow-md);min-height:0;}
.btn--members:hover{background:var(--color-blue-hover);box-shadow:var(--shadow-lg);}
.site-header__links > a.btn--members{color:var(--color-white);}
.site-header__links > a.btn--members:hover{color:var(--color-white);}
.btn--sm{padding:0.625rem 1.25rem;font-size:0.875rem;}
/* SECTION:cards */
.card{background:var(--color-white);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);}
.card--lg{border-radius:var(--radius-card-lg);}
/* SECTION:header (root replica) */
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(0,0,0,.05);background:rgba(252,251,248,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}
.site-header__nav{display:flex;align-items:center;justify-content:space-between;padding-block:0.75rem;}
@media (min-width:768px){.site-header__nav{padding-block:1rem;}}
.site-header__logo img{height:2.5rem;width:auto;}
@media (min-width:640px){.site-header__logo img{height:3rem;}}
.site-header__links{display:none;align-items:center;gap:1.5rem;}
@media (min-width:768px){.site-header__links{display:flex;}}
.site-header__links > a{font-size:0.875rem;font-weight:500;color:rgba(0,0,0,.7);transition:color .15s;}
.site-header__links > a:hover{color:var(--color-text);}
.site-header__lang{border-radius:var(--radius-pill);border:1px solid rgba(0,0,0,.1);background:var(--color-white);padding:0.5rem 0.75rem;font-size:0.875rem;font-family:var(--font-sans);box-shadow:var(--shadow-sm);cursor:pointer;transition:background .15s;}
.site-header__lang:hover{background:rgba(0,0,0,.05);}
.site-header__burger{display:flex;border:0;border-radius:0.5rem;padding:0.75rem;background:transparent;color:rgba(0,0,0,.7);cursor:pointer;transition:background .15s;}
.site-header__burger:hover{background:rgba(0,0,0,.05);}
@media (min-width:768px){.site-header__burger{display:none;}}
.site-header__mobile{display:flex;flex-direction:column;gap:0.25rem;padding:0.5rem 1rem 1rem;border-top:1px solid rgba(0,0,0,.05);}
.site-header__mobile[hidden]{display:none;}
.site-header__mobile > a{padding:0.75rem 0.5rem;font-size:0.9375rem;font-weight:500;color:rgba(0,0,0,.75);border-radius:0.75rem;}
.site-header__mobile > a:active{background:rgba(0,0,0,.05);}
.site-header__mobile .btn--members{margin-top:0.5rem;text-align:center;}
.site-header__mobile .site-header__lang{margin-top:0.5rem;align-self:center;}
@media (min-width:768px){.site-header__mobile{display:none !important;}}
/* SECTION:pattern overlay (triangle grid,light on color bands) */
.section--pattern-orange{position:relative;overflow:hidden;}
.section--pattern-orange > .container{position:relative;z-index:1;}
.section--pattern-orange::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='83.14'%3E%3Cpath d='M0 .5h48M0 42.07h48M0 0l48 83.14M48 0L0 83.14' stroke='%23EF7722' stroke-opacity='.09' fill='none'/%3E%3C/svg%3E");-webkit-mask-image:radial-gradient(ellipse 85% 75% at 50% 50%,transparent 15%,#000 70%);mask-image:radial-gradient(ellipse 85% 75% at 50% 50%,transparent 15%,#000 70%);}
.section--pattern-light{position:relative;overflow:hidden;}
.section--pattern-light > .container{position:relative;z-index:1;}
.section--pattern-light::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='83.14'%3E%3Cpath d='M0 .5h48M0 42.07h48M0 0l48 83.14M48 0L0 83.14' stroke='%23FFFFFF' stroke-opacity='.10' fill='none'/%3E%3C/svg%3E");-webkit-mask-image:radial-gradient(ellipse 85% 75% at 50% 50%,transparent 15%,#000 70%);mask-image:radial-gradient(ellipse 85% 75% at 50% 50%,transparent 15%,#000 70%);}
/* SECTION:hero (light bg,mosaic art grid) */
.hero--home{background:var(--color-bg);padding-block:3rem 3.5rem;}
@media (min-width:768px){.hero--home{padding-block:4.5rem 5rem;}}
.hero__grid{display:grid;gap:2.5rem;}
@media (min-width:768px){.hero__grid{grid-template-columns:1.05fr 0.95fr;align-items:center;}}
.hero__content .eyebrow{margin-bottom:1.25rem;}
.hero--home h1{font-size:2.25rem;max-width:40rem;color:var(--color-text);}
@media (min-width:640px){.hero--home h1{font-size:3rem;}}
@media (min-width:1024px){.hero--home h1{font-size:3.5rem;}}
.hero__sub{margin-top:1.25rem;max-width:32rem;font-size:1rem;line-height:var(--leading-relaxed);color:rgba(0,0,0,.6);}
@media (min-width:640px){.hero__sub{font-size:1.125rem;}}
.hero__cta-row{margin-top:2rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;}
.hero__media{position:relative;}
.hero-mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(12,1fr);gap:0.5rem;aspect-ratio:1 / 1;width:100%;max-width:34rem;margin-inline:auto;}
@media (min-width:640px){.hero-mosaic{gap:0.75rem;}}
@media (min-width:768px){.hero-mosaic{margin-inline:0 auto;max-width:none;}}
.hero-mosaic a{display:block;overflow:hidden;border-radius:14px;background:var(--color-white);box-shadow:var(--shadow-sm);}
@media (min-width:640px){.hero-mosaic a{border-radius:20px;}}
.hero-mosaic img{width:100%;height:100%;object-fit:cover;}
.hm-6{grid-column:span 6;grid-row:span 6;}
.hm-3{grid-column:span 3;grid-row:span 3;}
.hm-3x6{grid-column:span 3;grid-row:span 6;}
/* SECTION:sections & layout */
.section{padding-block:4rem;}
@media (min-width:640px){.section{padding-block:5.5rem;}}
.section--compact{padding-block:2.5rem;}
@media (min-width:640px){.section--compact{padding-block:3.5rem;}}
.section--orange{background:var(--color-orange-soft);}
.section__head{text-align:center;margin-bottom:3rem;}
.section__head h2{font-size:1.875rem;}
@media (min-width:640px){.section__head h2{font-size:2.25rem;}}
@media (min-width:1024px){.section__head h2{font-size:3rem;}}
.section__head .eyebrow{margin-bottom:1rem;}
.section__lead{margin:1rem auto 0;max-width:42rem;font-size:1.125rem;color:rgba(0,0,0,.6);line-height:var(--leading-relaxed);}
.grid-3{display:grid;gap:1.5rem;}
@media (min-width:640px){.grid-3{grid-template-columns:repeat(2,1fr);}}
@media (min-width:1024px){.grid-3{grid-template-columns:repeat(3,1fr);}}
@media (min-width:1024px){#courses .grid-3{grid-template-columns:repeat(2,1fr);}}
/* SECTION:instructor (The School) */
.instructor__grid{display:grid;gap:3rem;align-items:center;}
@media (min-width:768px){.instructor__grid{grid-template-columns:0.8fr 1.2fr;}}
.instructor__photo{background:var(--color-white);border:1px solid rgba(0,0,0,.05);border-radius:40px;padding:10px;box-shadow:var(--shadow-xl);width:fit-content;margin-inline:auto;max-width:24rem;}
@media (min-width:640px){.instructor__photo{padding:15px;}}
@media (min-width:768px){.instructor__photo{margin-inline:0;max-width:none;}}
.instructor__photo img{border-radius:28px;}
.instructor__body h2{font-size:1.875rem;margin-top:1rem;}
@media (min-width:640px){.instructor__body h2{font-size:2.25rem;}}
.instructor__bio{margin-top:1.5rem;font-size:18px;line-height:var(--leading-body);color:var(--color-body);max-width:56rem;}
.instructor__bio p + p{margin-top:1.25rem;}
.instructor__bio strong{font-weight:700;color:rgba(0,0,0,.95);}
.instructor__bio em{font-style:italic;color:rgba(0,0,0,.85);}
.instructor__pills{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:0.5rem;}
.instructor__pills span{border-radius:var(--radius-pill);background:var(--color-pill-alt);padding:0.5rem 1rem;font-size:0.75rem;font-weight:500;color:rgba(0,0,0,.55);box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);}
@media (min-width:640px){.instructor__pills span{font-size:0.875rem;}}
/* SECTION:courses */
.course-card{position:relative;display:flex;flex-direction:column;overflow:hidden;}
.course-card__ribbon{position:absolute;top:1rem;right:1rem;z-index:2;background:var(--color-blue);color:var(--color-white);border-radius:var(--radius-pill);padding:0.375rem 0.875rem;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:var(--tracking-widest);box-shadow:var(--shadow-md);}
.course-card__media img{width:100%;aspect-ratio:8 / 5;object-fit:cover;}
.course-card__media img.img-focus-right{object-position:right center;}
.course-card__body{display:flex;flex-direction:column;flex:1;padding:1.5rem;}
.course-card__badges{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1rem;}
.course-card h3{font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:var(--tracking-tight);}
.course-card__body > p{margin-top:0.625rem;font-size:0.9375rem;line-height:var(--leading-relaxed);color:rgba(0,0,0,.6);}
.course-card__foot{margin-top:auto;padding-top:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.course-card__price{font-size:1.5rem;font-weight:700;color:var(--color-orange);line-height:1;}
.courses__note{margin-top:2rem;text-align:center;font-size:0.875rem;color:rgba(0,0,0,.5);}
/* SECTION:mentorship (featured dark band,centered banner) */
.mship-billboard{position:relative;background:#0B0D0C;color:var(--color-white);overflow:hidden;padding-block:4rem;}
@media (min-width:640px){.mship-billboard{padding-block:5.5rem;}}
.mship-billboard__inner{position:relative;z-index:1;}
.mship-billboard__content{max-width:56rem;margin-inline:auto;text-align:center;}
.mship-billboard__brand{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0.3em;color:var(--color-orange);margin-bottom:1.5rem;}
.mship-billboard__art{margin:0 auto 2rem;border-radius:var(--radius-card-lg);overflow:hidden;box-shadow:var(--shadow-xl);border:1px solid rgba(255,255,255,.08);}
@media (min-width:640px){.mship-billboard__art{margin-bottom:2.5rem;}}
.mship-billboard__art img{width:100%;aspect-ratio:16 / 9;object-fit:cover;}
@media (min-width:640px){.mship-billboard__art img{aspect-ratio:21 / 9;}}
.mship-billboard__badges{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem;margin-bottom:1.25rem;}
.badge--season{background:var(--color-orange);color:var(--color-white);text-transform:uppercase;}
.badge--dark{background:rgba(255,255,255,.1);color:rgba(255,255,255,.85);text-transform:uppercase;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);}
.mship-billboard h2{font-size:2.25rem;}
@media (min-width:640px){.mship-billboard h2{font-size:3rem;}}
@media (min-width:1024px){.mship-billboard h2{font-size:3.75rem;}}
.mship-billboard__lead{margin:1.25rem auto 0;max-width:42rem;font-size:1.125rem;line-height:var(--leading-relaxed);color:rgba(255,255,255,.85);}
.mship-billboard__lead strong{color:var(--color-white);font-weight:700;}
.mship-billboard__text{margin:1rem auto 0;max-width:44rem;font-size:1rem;line-height:var(--leading-relaxed);color:rgba(255,255,255,.6);}
.mship-billboard__tag{margin-top:1.25rem;font-family:var(--font-display);font-weight:600;font-size:1.125rem;color:var(--color-blue-grad-end);}
.mship-billboard__foot{margin-top:2rem;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;}
.mship-billboard__price{display:flex;flex-direction:column;align-items:flex-start;text-align:left;}
.mship-billboard__price span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:var(--tracking-widest);color:rgba(255,255,255,.4);line-height:1;margin-bottom:0.25rem;}
.mship-billboard__price strong{font-size:1.75rem;font-weight:700;color:var(--color-orange-grad-end);line-height:1;}
.hero__price-note{font-size:0.75rem;color:rgba(0,0,0,.45);margin-top:0.25rem;}
.mship-billboard__price span.hero__price-note{font-size:0.75rem;font-weight:400;text-transform:none;letter-spacing:normal;line-height:1.2;color:rgba(255,255,255,.45);margin-bottom:0;}
/* SECTION:testimonials (editorial cards) */
.tstm__row{display:grid;gap:1.5rem;}
@media (min-width:768px){.tstm__row{grid-template-columns:repeat(2,1fr);}
.tstm-card:nth-child(even){transform:translateY(1.5rem);}}
.tstm-card{position:relative;display:flex;flex-direction:column;background:var(--color-white);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius-card-lg);padding:2rem;box-shadow:var(--shadow-sm);overflow:hidden;}
.tstm-card--blue{background:var(--color-blue-soft);border-color:rgba(12,166,223,.12);}
.tstm-card--orange{background:var(--color-orange-soft);border-color:rgba(239,119,34,.12);}
.tstm-card__head{display:flex;align-items:center;gap:0.875rem;margin-bottom:1.25rem;}
.tstm-card__avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:3rem;height:3rem;border-radius:var(--radius-pill);font-family:var(--font-display);font-size:0.9375rem;font-weight:700;color:var(--color-white);box-shadow:var(--shadow-md);}
.tstm-card__avatar--orange{background:linear-gradient(135deg,var(--color-orange),var(--color-orange-grad-end));}
.tstm-card__avatar--blue{background:linear-gradient(135deg,var(--color-blue),var(--color-blue-grad-end));}
.tstm-card__who{display:flex;flex-direction:column;}
.tstm-card__who strong{font-weight:600;color:var(--color-text);}
.tstm-card__who span{margin-top:0.125rem;font-size:0.75rem;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:rgba(0,0,0,.4);}
.tstm-card blockquote{position:relative;z-index:1;font-size:1rem;line-height:var(--leading-relaxed);color:rgba(0,0,0,.7);font-style:italic;flex:1;}
.tstm-card .hl{font-style:normal;font-weight:600;color:var(--color-text);background:linear-gradient(transparent 62%,rgba(239,119,34,.28) 62%);}
.tstm-card--blue .hl{background:linear-gradient(transparent 62%,rgba(12,166,223,.25) 62%);}
.tstm-card__mark{position:absolute;right:1.25rem;bottom:0.25rem;font-family:Georgia,serif;font-size:6rem;line-height:1;color:rgba(12,166,223,.12);pointer-events:none;}
.tstm-card--orange .tstm-card__mark{color:rgba(239,119,34,.14);}
/* SECTION:faq */
.faq__list{display:flex;flex-direction:column;gap:1rem;}
.faq-item{background:var(--color-white);border:1px solid rgba(0,0,0,.05);border-radius:var(--radius-card);padding:1.25rem 1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s;}
.faq-item[open]{box-shadow:var(--shadow-md);}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;font-weight:600;color:rgba(0,0,0,.8);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2rem;height:2rem;border-radius:var(--radius-pill);background:rgba(0,0,0,.05);font-size:1.25rem;font-weight:300;color:var(--color-text);transition:transform .2s;}
.faq-item[open] .faq-item__icon{transform:rotate(45deg);}
.faq-item__body{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(0,0,0,.05);}
.faq-item__body p{font-size:1rem;line-height:var(--leading-relaxed);color:rgba(0,0,0,.6);}
/* SECTION:contact */
.contact-card{max-width:44rem;margin-inline:auto;padding:2rem;}
@media (min-width:640px){.contact-card{padding:3rem;}}
.form-field{margin-bottom:1.25rem;}
.form-field label{display:block;font-size:0.875rem;font-weight:600;margin-bottom:0.5rem;color:rgba(0,0,0,.8);}
.form-field input,
.form-field textarea{width:100%;background:var(--color-bg-input);border:1px solid rgba(0,0,0,.1);border-radius:16px;padding:0.875rem 1.125rem;font-family:var(--font-sans);font-size:1rem;color:var(--color-text);transition:border-color .15s,box-shadow .15s;}
.form-field input::placeholder,
.form-field textarea::placeholder{color:rgba(0,0,0,.35);}
.form-field input:focus,
.form-field textarea:focus{outline:none;border-color:var(--color-blue);box-shadow:0 0 0 3px rgba(12,166,223,.15);}
.form-field textarea{resize:vertical;min-height:8rem;}
#contact-form .btn--primary{width:100%;}
#contact-form .btn--primary:hover{transform:translateY(-2px);}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.form-status{margin-top:1rem;text-align:center;font-size:0.9375rem;min-height:1.25rem;}
.form-status--ok{color:var(--color-status-ok);font-weight:600;}
.form-status--error{color:var(--color-status-error);font-weight:600;}
/* SECTION:footer (root replica) */
.site-footer{padding-top:2rem;padding-bottom:4rem;font-size:0.875rem;color:rgba(0,0,0,.5);}
.site-footer__inner{border-top:1px solid rgba(0,0,0,.05);padding-top:2rem;display:flex;flex-direction:column;align-items:center;text-align:center;}
.site-footer__logo{height:3.5rem;width:auto;margin-bottom:2rem;}
.site-footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2rem;margin-bottom:2.5rem;color:rgba(0,0,0,.8);font-weight:500;}
.site-footer__links a{transition:color .15s;}
.site-footer__links a:hover{color:var(--color-orange);}
.site-footer__social{display:flex;align-items:center;gap:2rem;margin-bottom:3rem;color:rgba(0,0,0,.4);}
.site-footer__social a{transition:color .15s,transform .15s;}
.site-footer__social a:hover{color:var(--color-blue);transform:scale(1.1);}
.site-footer__tagline{font-size:11px;text-transform:uppercase;letter-spacing:0.2em;color:rgba(0,0,0,.3);margin-bottom:1rem;}
.site-footer__copy{font-size:10px;color:rgba(0,0,0,.2);}
/* SECTION:hover-interactivity (pointer devices only) ------------------------------------------------------------ */
@media (hover:hover){.card{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);}
.course-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);}
.instructor__pills span{transition:background .2s,color .2s,box-shadow .2s;}
.instructor__pills span:hover{background:var(--color-orange-soft);color:var(--color-orange);box-shadow:inset 0 0 0 1px rgba(239,119,34,.2);}
.hero-mosaic a{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);}
.hero-mosaic a:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.hero-mosaic img{transition:transform .5s cubic-bezier(.4,0,.2,1);}
.hero-mosaic a:hover img{transform:scale(1.06);}
.instructor__photo{transition:transform .3s cubic-bezier(.4,0,.2,1);}
.instructor__photo:hover{transform:rotate(1deg) scale(1.01);}
.tstm-card{transition:box-shadow .3s cubic-bezier(.4,0,.2,1);}
.tstm-card:hover{box-shadow:var(--shadow-md);}}
.card:active{transform:scale(.99);}
/* SECTION:reveal-animation ---------------------------------------------------------------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);}
.reveal.is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}
.reveal{opacity:1;transform:none;transition:none;}
.btn,.btn:hover,.btn:active{transform:none;}
.card,.card:hover,.course-card:hover,.hero-mosaic a:hover,.hero-mosaic a:hover img,
.instructor__photo:hover{transform:none;transition:none;}}
/* SECTION:focus-visible -------------------------------------------------------------------------------------- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-blue);outline-offset:2px;border-radius:8px;}

/* SECTION: structural hooks */
.hero,.instructor,.tstm,.faq{}
/* SECTION: discord (school community banner) */
.discord-banner{background:linear-gradient(150deg,var(--color-blue) 30%,var(--color-blue-hover));color:var(--color-white);}
.discord-banner__inner{display:grid;gap:1.5rem;justify-items:center;text-align:center;}
@media (min-width:768px){.discord-banner__inner{grid-template-columns:auto 1fr auto;align-items:center;justify-items:start;text-align:left;gap:2rem;}}
.discord-banner__badge{width:5.5rem;height:5.5rem;border-radius:50%;background:var(--color-white);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);}
.discord-banner__badge img{width:3.25rem;height:auto;display:block;}
.discord-banner__body h2{color:var(--color-white);font-size:1.875rem;}
.discord-banner__body p{margin-top:0.5rem;max-width:34rem;color:rgba(255,255,255,.8);line-height:var(--leading-relaxed);}
#discord .btn--inverse{color:var(--color-blue);}
#discord .btn--inverse:hover{background:var(--color-blue-soft);}
