@import"https://fonts.googleapis.com/css2?family=Public+Sans:wght@400;500;600;700;800&family=Sora:wght@400;600;700;800&display=swap";:root{--bg: #ffffff;--bg-muted: #f5f5f3;--bg-strong: #ededea;--panel: rgba(255, 255, 255, .96);--panel-muted: #fafaf8;--panel-dark: #101010;--ink: #111111;--ink-soft: #5d5d5d;--ink-faint: #777777;--ink-inverse: #f7f7f4;--accent: #c1121f;--accent-strong: #900b15;--accent-soft: rgba(193, 18, 31, .08);--line: rgba(17, 17, 17, .12);--line-strong: rgba(17, 17, 17, .24);--shadow: 0 18px 44px rgba(0, 0, 0, .06);--shadow-strong: 0 24px 56px rgba(0, 0, 0, .14);--radius-xl: 28px;--radius-lg: 22px;--radius-md: 16px;--radius-sm: 12px;--container: min(1120px, calc(100vw - 2rem) )}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:radial-gradient(circle at top right,rgba(193,18,31,.07),transparent 32%),linear-gradient(180deg,#fff,#f4f4f2);color:var(--ink);font-family:Public Sans,sans-serif;line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 85%,rgba(17,17,17,.03),transparent 26%),linear-gradient(180deg,#fff0,#ffffff2e)}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}main{position:relative;flex:1 0 auto}.site-shell{min-height:100vh;display:flex;flex-direction:column}.container{width:var(--container);margin:0 auto}.section{padding:4.75rem 0}.section-muted{background:linear-gradient(180deg,#11111104,#1111110a);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-dark{background:radial-gradient(circle at top right,rgba(193,18,31,.08),transparent 30%),linear-gradient(180deg,#fbf7f7,#f5f3f1);color:var(--ink);border-top:1px solid rgba(193,18,31,.08);border-bottom:1px solid var(--line)}.section-dark p{color:var(--ink-soft)}.section-dark .eyebrow{color:var(--accent)}.eyebrow{margin:0 0 .9rem;text-transform:uppercase;letter-spacing:.22em;font-size:.74rem;font-weight:800;color:var(--accent)}h1,h2,h3,h4{margin:0;color:inherit;font-family:Sora,sans-serif;line-height:.98;letter-spacing:-.04em;font-weight:700;text-wrap:balance}h1{font-size:clamp(3.1rem,7vw,5.8rem)}h2{font-size:clamp(2.15rem,4vw,3.45rem)}h3{font-size:clamp(1.45rem,2.2vw,1.95rem)}h4{font-size:1.15rem}p{margin:0;color:var(--ink-soft);text-wrap:pretty}ul{margin:0;padding:0;list-style:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(193,18,31,.55);outline-offset:2px}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3rem;padding:0 1.25rem;border-radius:999px;background:var(--accent);color:var(--ink-inverse);border:1px solid var(--accent);font-weight:700;letter-spacing:-.01em;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.button:hover{transform:translateY(-1px);background:var(--accent-strong);border-color:var(--accent-strong);box-shadow:0 12px 28px #c1121f3d}.button:disabled{cursor:wait;opacity:.68;transform:none;box-shadow:none}.button-secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}.button-secondary:hover{background:var(--accent-soft);border-color:#c1121f52;color:var(--ink);box-shadow:none}.text-link{display:inline-flex;gap:.4rem;align-items:center;color:var(--accent);font-weight:700;transition:gap .16s ease,color .16s ease}.text-link:hover{gap:.55rem;color:var(--accent-strong)}.text-link:after{content:"->";font-size:.9em}.site-header{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe0;border-bottom:1px solid var(--line)}.announcement-bar{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;padding:.75rem 1rem;background:#c1121f0f;color:var(--ink-soft);font-size:.82rem;border-bottom:1px solid rgba(193,18,31,.08)}.announcement-bar span{position:relative}.announcement-bar span+span:before{content:"";position:absolute;top:50%;left:-.65rem;width:.28rem;height:.28rem;border-radius:999px;background:var(--accent);transform:translateY(-50%)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 0}.brand{display:inline-flex;align-items:center;min-width:0;line-height:0}.brand-logo{width:auto;max-width:100%;height:clamp(2.8rem,5vw,4rem);object-fit:contain}.site-nav{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.nav-link{padding:.66rem .96rem;border-radius:999px;color:var(--ink-soft);border:1px solid transparent;font-weight:700;transition:color .16s ease,border-color .16s ease,background .16s ease}.nav-link:hover{color:var(--accent);border-color:#c1121f2e;background:#c1121f0a}.nav-link-active{background:var(--accent);color:var(--ink-inverse);border-color:var(--accent)}.hero-section{padding:3rem 0 2rem}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch}.hero-copy,.page-hero-inner,.course-card,.value-card,.contact-panel,.contact-form,.rich-panel,.terms-section,.schedule-shell,.empty-state,.contact-cta,.inline-callout{position:relative;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow)}.hero-copy{max-width:70rem;padding:clamp(2rem,4vw,3rem);background:radial-gradient(circle at top right,rgba(193,18,31,.16),transparent 34%),linear-gradient(135deg,#c1121f0f,#c1121f06 28%,#fff 62%,#f7f7f4);border-color:#c1121f24;color:var(--ink);box-shadow:inset 0 3px 0 var(--accent),var(--shadow);overflow:hidden}.hero-copy:after{content:"";position:absolute;inset:1rem;border-radius:calc(var(--radius-lg) - 10px);border:1px solid rgba(193,18,31,.08);pointer-events:none}.hero-copy .eyebrow{color:var(--accent)}.hero-copy h1{max-width:12ch}.hero-copy p{color:var(--ink-soft)}.hero-intro{max-width:43rem;margin-top:1.25rem;font-size:1.08rem}.hero-actions,.stack-actions,.contact-cta-details,.form-actions,.empty-state-actions{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center}.hero-actions{margin-top:1.7rem}.hero-copy .button-secondary{color:var(--ink);border-color:#11111129}.hero-copy .button-secondary:hover{background:#c1121f0f;border-color:#c1121f33;color:var(--ink)}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2.3rem}.hero-stats div{display:grid;gap:.55rem;padding-top:1rem;border-top:1px solid rgba(17,17,17,.12)}.hero-stats dt{margin:0;color:var(--ink);font-family:Public Sans,sans-serif;font-size:1.22rem;font-weight:800;line-height:1.12}.hero-stats dd{margin:0;color:var(--ink-soft)}.section-heading{max-width:54rem;margin-bottom:2.2rem}.section-heading p:last-child{margin-top:1rem}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.course-card{display:grid;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.course-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:0 24px 54px #00000014}.course-card-body{padding:1.45rem 1.45rem 1.6rem}.course-card p:last-of-type{margin-top:0}.course-card .text-link{margin-top:1rem}.course-poster{position:relative;display:grid;align-content:start;gap:1rem;min-height:15.5rem;padding:1.2rem;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(135deg,rgba(193,18,31,.16) 0%,transparent 34%),linear-gradient(180deg,#151515,#000);color:#fff}.course-poster:before{content:"";position:absolute;inset:1rem;border-radius:16px;border:1px solid rgba(255,255,255,.08);pointer-events:none}.course-poster:after{content:"";position:absolute;right:1.2rem;bottom:1.2rem;width:4rem;height:4rem;border-top:2px solid var(--accent);border-right:2px solid var(--accent);opacity:.8}.course-poster-topline,.course-poster-footer{position:relative;z-index:1;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:700;color:#ffffffad}.course-poster-title{position:relative;z-index:1;max-width:10.5ch;font-size:clamp(2rem,2.6vw,2.7rem);line-height:.92;text-wrap:balance}.course-poster-footer{margin-top:auto;color:#ff7f8b}.value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.value-card,.contact-panel,.contact-form,.rich-panel,.terms-section{padding:1.7rem}.value-index{color:var(--accent);font-size:.82rem;font-weight:800;letter-spacing:.18em}.value-card h3{margin-top:.8rem}.value-card p:last-child{margin-top:.75rem}.page-hero{padding:3rem 0 0}.page-hero-inner{padding:2.35rem;background:linear-gradient(180deg,rgba(193,18,31,.06),transparent 65%),linear-gradient(180deg,#fff,#fafaf8)}.page-hero-copy{max-width:56rem}.page-hero-intro{margin-top:1rem;font-size:1.08rem}.page-hero-detail{margin-top:1rem;color:var(--accent);font-weight:700}.schedule-shell{padding:1.45rem}.register-shell{display:grid;gap:1.25rem}.register-toolbar{padding:1.15rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow)}.register-controls{display:grid;grid-template-columns:auto minmax(280px,1.15fr) minmax(240px,1fr);gap:.85rem;align-items:end}.register-filter,.register-search{min-width:0}.view-toggle{display:inline-flex;gap:.35rem;width:max-content;padding:.3rem;border-radius:999px;border:1px solid var(--line);background:var(--bg-muted)}.view-toggle-button{min-height:2.7rem;padding:0 1rem;border:0;border-radius:999px;background:transparent;color:var(--ink-soft);font-weight:700;transition:background .16s ease,color .16s ease}.view-toggle-button-active{background:var(--accent);color:var(--ink-inverse)}.range-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:end;padding:0 .2rem}.range-label{margin-bottom:.35rem;color:var(--accent);text-transform:uppercase;letter-spacing:.18em;font-size:.73rem;font-weight:800}.range-actions{display:flex;gap:.65rem;flex-wrap:wrap}.schedule-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.4rem}.schedule-toolbar h2{max-width:35rem}.schedule-filter{display:grid;gap:.55rem;min-width:240px}.schedule-filter span{font-size:.84rem;font-weight:600;color:var(--ink-soft)}.schedule-filter select,.schedule-filter input,.contact-form input,.contact-form textarea{width:100%;min-height:3rem;padding:0 1rem;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--ink);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.schedule-filter input::placeholder,.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--ink-faint)}.contact-form textarea{min-height:10rem;padding:.95rem 1rem;resize:vertical}.schedule-filter select:focus,.schedule-filter input:focus,.contact-form input:focus,.contact-form textarea:focus{border-color:#c1121f66;box-shadow:0 0 0 4px #c1121f14;outline:none}.schedule-groups{display:grid;gap:1rem}.schedule-group{display:grid;gap:.9rem}.schedule-group-heading{display:flex;align-items:center;gap:.75rem}.schedule-group-heading:after{content:"";flex:1;height:1px;background:var(--line)}.schedule-group-heading span{display:inline-flex;padding:.5rem .85rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.session-list{display:grid;gap:.95rem}.session-card{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:1rem;align-items:start;padding:1rem;border-radius:18px;background:var(--panel-muted);border:1px solid var(--line)}.session-card-no-action{grid-template-columns:88px minmax(0,1fr)}.session-date{display:grid;gap:.2rem;justify-items:center;padding:.9rem .5rem;border-radius:16px;background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.session-date strong{font-family:Public Sans,sans-serif;font-size:1.9rem;font-weight:800}.session-label,.session-price{color:var(--ink);font-weight:800}.session-content h3{margin-top:.35rem;font-size:clamp(1.3rem,1.8vw,1.7rem)}.session-content>p,.session-content .text-link{margin-top:.45rem}.session-detail,.session-note{color:var(--ink-soft)}.session-actions{display:grid;gap:.75rem;justify-items:end}.empty-state{padding:2rem}.empty-state h3{color:var(--ink)}.empty-state p{max-width:46rem;margin-top:.7rem}.empty-state-actions{margin-top:1.2rem}.catalog-header,.inline-callout{margin-bottom:1.6rem}.catalog-header-row{display:flex;justify-content:space-between;gap:1rem;align-items:end}.inline-callout{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.3rem 1.4rem;background:linear-gradient(180deg,#fff,#fafaf8)}.course-detail-grid,.contact-grid{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:1.25rem}.course-detail-sticky{display:grid;gap:1rem;align-self:start;position:sticky;top:8.5rem}.course-detail-meta{padding:1.2rem;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.course-detail-body{display:grid;gap:1rem}.rich-panel{display:grid;gap:.85rem}.rich-panel-accent{background:linear-gradient(180deg,rgba(193,18,31,.07),transparent 72%),#fff}.detail-list{display:grid;gap:.75rem}.detail-list li{position:relative;padding-left:1.15rem;color:var(--ink-soft)}.detail-list li:before{content:"";position:absolute;top:.72rem;left:0;width:.42rem;height:.42rem;border-radius:999px;background:var(--accent)}.contact-list{display:grid;gap:1rem;margin-top:1rem}.contact-list li{display:grid;gap:.2rem}.contact-list span{text-transform:uppercase;font-size:.73rem;letter-spacing:.15em;color:var(--accent);font-weight:800}.contact-panel strong{color:var(--ink)}.contact-form{display:grid;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem}.contact-form label{display:grid;gap:.45rem;color:var(--ink);font-weight:700}.form-message{padding:.95rem 1rem;border-radius:16px;border:1px solid transparent;font-weight:600}.form-message-success{background:#16824e14;border-color:#16824e29;color:#176341}.form-message-error{background:#c1121f14;border-color:#c1121f2e;color:var(--accent-strong)}.contact-cta{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:2rem;background:radial-gradient(circle at top right,rgba(193,18,31,.18),transparent 38%),linear-gradient(180deg,#141414,#090909);border-color:#ffffff14;color:var(--ink-inverse);box-shadow:inset 0 3px 0 var(--accent),var(--shadow-strong)}.contact-cta p{color:#f7f7f4b8}.contact-cta h2{max-width:14ch}.contact-cta .button{background:#fff;color:var(--ink);border-color:#fff}.contact-cta .button:hover{color:#fff;border-color:var(--accent)}.contact-cta .button-secondary{background:transparent;color:var(--ink-inverse);border-color:#ffffff38}.contact-cta .button-secondary:hover{background:#ffffff14;border-color:#ffffff4d;color:var(--ink-inverse)}.contact-cta-details{justify-content:flex-end}.contact-cta-details a:not(.button){color:#f7f7f4b8}.calendar-month-wrap{display:grid;gap:.75rem}.calendar-month-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem;padding:0 .2rem}.calendar-month-head span{text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:800;color:var(--ink-soft)}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.75rem}.calendar-day{display:grid;gap:.6rem;align-content:start;min-height:10.8rem;padding:.85rem;border-radius:18px;border:1px solid var(--line);background:var(--panel)}.calendar-day-muted{opacity:.48}.calendar-day-today{border-color:#c1121f47;box-shadow:inset 0 0 0 1px #c1121f29}.calendar-day-number{color:var(--ink);font-family:Public Sans,sans-serif;font-size:1.15rem;font-weight:800}.calendar-day-events{display:grid;gap:.45rem}.calendar-chip{display:grid;gap:.2rem;padding:.6rem;border-radius:12px;border:1px solid var(--line);background:var(--panel-muted);transition:transform .16s ease,border-color .16s ease}.calendar-chip:hover{transform:translateY(-1px);border-color:var(--line-strong)}.calendar-chip span{font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.calendar-chip strong{color:var(--ink);font-size:.82rem;line-height:1.3}.calendar-chip-more{font-size:.8rem;color:var(--ink-soft)}.register-empty-state,.register-support{margin-top:0}.terms-shell{display:grid;gap:1rem}.terms-section{display:grid;gap:.75rem}.site-footer{background:#0d0d0d;color:var(--ink-inverse);border-top:1px solid rgba(255,255,255,.08)}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:1.4rem;padding:4.5rem 0 2rem}.footer-kicker{color:#ff7a86;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:800}.footer-brand h2{margin-top:.8rem;color:#fff}.footer-brand p:last-child{margin-top:.9rem}.site-footer p,.site-footer a,.site-footer span{color:#ffffffb8}.site-footer h3{color:#fff;font-family:Public Sans,sans-serif;font-size:.92rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em}.footer-list{display:grid;gap:.72rem;margin-top:1rem}.footer-list a:hover{color:#fff}.footer-meta{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0 2rem;color:#ffffff94;font-size:.92rem;border-top:1px solid rgba(255,255,255,.08)}.section-dark .schedule-shell{background:#ffffffb8;border-color:#c1121f14;box-shadow:var(--shadow)}.section-dark .schedule-toolbar h2,.section-dark .session-label,.section-dark .session-content h3,.section-dark .session-price,.section-dark .empty-state h3{color:var(--ink)}.section-dark .schedule-group-heading:after{background:var(--line)}.section-dark .schedule-group-heading span{background:#c1121f1a;color:var(--accent)}.section-dark .session-card,.section-dark .empty-state{background:#ffffffc7;border-color:var(--line)}.section-dark .session-date{background:var(--accent);color:#fff}.section-dark .session-detail,.section-dark .session-note,.section-dark .empty-state p{color:var(--ink-soft)}.section-dark .button-secondary{background:var(--accent);color:#fff;border-color:var(--accent)}.section-dark .button-secondary:hover{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 12px 28px #c1121f38}.section-dark .text-link{color:var(--accent)}.section-dark .text-link:hover{color:var(--accent-strong)}@media(max-width:1080px){.course-detail-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.course-grid,.value-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.register-controls{grid-template-columns:1fr}.catalog-header-row,.range-toolbar,.schedule-toolbar{align-items:stretch;flex-direction:column}.calendar-month-wrap{overflow-x:auto;padding-bottom:.2rem}.calendar-month-head,.calendar-month-grid{min-width:760px}.course-detail-sticky{position:static}}@media(max-width:760px){:root{--container: min(100vw - 1.25rem, 100%)}body:before{background:radial-gradient(circle at top right,rgba(193,18,31,.08),transparent 42%),linear-gradient(180deg,#fff0,#fff3)}.announcement-bar,.header-inner,.footer-meta,.contact-cta,.inline-callout{flex-direction:column}.announcement-bar span+span:before{content:none}.header-inner{align-items:flex-start}.site-nav,.contact-cta-details{width:100%;justify-content:flex-start}.hero-stats,.form-grid,.course-grid,.value-grid{grid-template-columns:1fr}.page-hero-inner,.hero-copy,.register-toolbar,.schedule-shell,.contact-panel,.contact-form,.rich-panel,.terms-section,.value-card,.course-card-body,.contact-cta,.inline-callout,.empty-state{padding:1.25rem}.hero-copy h1{max-width:none}.session-card,.session-card-no-action{grid-template-columns:1fr}.session-actions{width:100%;justify-items:stretch}.session-actions .button,.contact-cta-details .button,.schedule-filter,.register-filter,.register-search,.view-toggle{width:100%}.view-toggle-button{flex:1 1 0}.calendar-month-head,.calendar-month-grid{min-width:680px}}
