:root{--color-bg-dark: #101010;--color-bg-surface: #1a1a1a;--color-bg-card: #2e2e2e;--color-bg-card-alt: #404040;--color-bg-light: #f4f4f4;--color-bg-light-grey: #c8c8c8;--color-bg-page: var(--color-bg-dark);--color-text-primary: #d8d8d8;--color-text-secondary: #9a9a9a;--color-text-dark: #1a1a1a;--color-text-muted: #555555;--color-blue: #1B4F9E;--color-blue-hover: #2563c8;--color-blue-light: #dbe9ff;--color-blue-tint: #b8d0ee;--color-red: #B22234;--color-red-hover: #cc2a3e;--color-red-dark: #6e0d1a;--color-red-dark-hover: #8a1122;--color-red-tint: #f0bec4;--color-white: #ffffff;--footer-bg: var(--color-blue);--footer-tint: var(--color-blue-tint);--font-primary: "geom-graphic", sans-serif;--font-alt: "geom-graphic", sans-serif;--font-quantico: "Quantico", sans-serif;--heading-transform: uppercase;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--site-headline-fs-mobile: 1rem;--site-headline-fs-sm: 1.425rem;--site-headline-fs-tablet: 1.925rem;--site-headline-fs-desktop: 2.825rem;--font-normal: 400;--font-medium: 500;--font-light: 300;--font-semibold: 600;--font-bold: 700;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--container-max-width: 1280px;--container-padding: 1.5rem;--navbar-height-tablet: 130px;--navbar-height-desktop: 160px;--mobile-header-height: 60px;--sidenav-width: 280px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.18), 0 1px 2px rgba(0,0,0,.12);--shadow-md: 0 4px 12px rgba(0,0,0,.22);--shadow-lg: 0 10px 28px rgba(0,0,0,.28);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}@media(min-width:576px){:root{--container-padding: 2.5rem}}@media(min-width:1280px){:root{--container-padding: 4rem}}body.theme-contact{--footer-bg: var(--color-red);--footer-tint: var(--color-red-tint)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden;background-color:var(--color-bg-dark)}body{font-family:var(--font-primary);font-size:var(--text-base);line-height:1.6;color:var(--color-text-dark);background-color:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.menu-open{overflow:hidden}img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:none;border:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:var(--font-bold);line-height:1.2}h1{font-size:var(--text-4xl);font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:var(--heading-transform)}h2{font-size:var(--text-3xl);font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:var(--heading-transform)}h3{font-size:var(--text-2xl);font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:var(--heading-transform)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}@media(max-width:991px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}}@media(max-width:767px){h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}}.container{width:100%;max-width:var(--container-max-width);margin-inline:auto;padding-inline:var(--container-padding)}.icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1}.icon svg{width:100%;height:100%;fill:currentColor}.btn{--btn-px: var(--spacing-6);--btn-py: var(--spacing-3);--btn-fs: var(--text-sm);--btn-cut: 8px;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--btn-py) var(--btn-px);font-family:var(--font-quantico);font-size:var(--btn-fs);font-weight:var(--font-bold);text-transform:var(--heading-transform);letter-spacing:.04em;line-height:1;white-space:nowrap;cursor:pointer;border:none;filter:drop-shadow(0 1px 4px rgba(0,0,0,.18));transition:background-color var(--transition-fast),color var(--transition-fast),filter var(--transition-fast),transform var(--transition-fast);clip-path:polygon(var(--btn-cut) 0%,100% 0%,100% calc(100% - var(--btn-cut)),calc(100% - var(--btn-cut)) 100%,0% 100%,0% var(--btn-cut))}.btn:hover{filter:drop-shadow(0 2px 7px rgba(0,0,0,.28))}.btn:active{transform:translateY(3px);filter:drop-shadow(0 0 2px rgba(0,0,0,.15))}.btn--sm{--btn-px: var(--spacing-4);--btn-py: calc(var(--spacing-2) + 1px);--btn-fs: var(--text-xs);--btn-cut: 5px}.btn--lg{--btn-px: var(--spacing-8);--btn-py: var(--spacing-4);--btn-fs: var(--text-base);--btn-cut: 10px}@media(min-width:768px){.btn--lg{--btn-px: var(--spacing-10);--btn-py: var(--spacing-5);--btn-fs: var(--text-lg);--btn-cut: 12px}}.btn--rounded{clip-path:none;border-radius:var(--radius-full)}.btn--primary{background-color:var(--color-blue);color:var(--color-white)}.btn--primary:hover{background-color:var(--color-blue-hover)}.btn--accent{background-color:var(--color-red);color:var(--color-white)}.btn--accent:hover{background-color:var(--color-red-hover)}.btn--outline{background-color:var(--color-white);color:var(--color-bg-dark)}.btn--outline:hover{background-color:#ffffffe0}.btn--dark-red{background-color:var(--color-red-dark);color:var(--color-white)}.btn--dark-red:hover{background-color:var(--color-red-dark-hover)}.sidenav{position:fixed;top:0;left:0;width:var(--sidenav-width);height:100vh;height:100dvh;background-color:var(--color-bg-dark);z-index:90;transform:translate(calc(-1 * var(--sidenav-width)));transition:transform var(--transition-slow);overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;padding-top:max(var(--spacing-4),env(safe-area-inset-top));padding-left:max(var(--spacing-4),env(safe-area-inset-left));padding-right:var(--spacing-4);padding-bottom:max(var(--spacing-4),env(safe-area-inset-bottom))}.sidenav--open{transform:translate(0)}.sidenav__nav{display:flex;flex-direction:column;flex:1;padding:var(--spacing-4) 0}.sidenav__link{display:block;padding:var(--spacing-4) var(--spacing-6);font-size:var(--text-base);font-weight:500;color:#ffffff80;letter-spacing:.01em;transition:color var(--transition-fast)}.sidenav__link:hover{color:var(--color-white)}.sidenav__link--active{color:var(--color-white);font-weight:var(--font-bold)}.sidenav__social{display:flex;align-items:center;gap:var(--spacing-5);padding:var(--spacing-6)}.sidenav__social-link{color:var(--color-white);font-size:1.35rem;transition:color var(--transition-fast)}.sidenav__social-link:hover,.sidenav__social-link:active{color:#ffffff80}.app-content{position:relative;z-index:95;background-color:var(--color-bg-page);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;transition:transform var(--transition-slow);padding-top:var(--mobile-header-height);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}body.menu-open .app-content{transform:translate(var(--sidenav-width))}.mobile-header{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--mobile-header-height);background-color:transparent;display:flex;align-items:center;justify-content:space-between;padding-left:max(var(--spacing-2),env(safe-area-inset-left));padding-right:max(var(--spacing-2),env(safe-area-inset-right))}.mobile-header__hamburger{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--color-text-primary);font-size:1.25rem;transition:color var(--transition-fast);flex-shrink:0}.mobile-header__hamburger:hover{color:var(--color-white)}.mobile-header__logo-link{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center}.mobile-header__right{width:40px;height:40px;flex-shrink:0}.nav-logo{height:clamp(52px,8.5vw,84px);width:auto;object-fit:contain;display:block}.nav-logo--wide{height:clamp(44px,7vw,84px);width:auto}.mobile-header .nav-logo,.mobile-header .nav-logo-text{display:none}.mobile-logo{display:flex;justify-content:center;align-items:center;padding:var(--spacing-4) var(--spacing-4);background-color:var(--color-bg-dark)}.mobile-logo__img{height:164px;width:auto;object-fit:contain}.mobile-logo__text{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-white);letter-spacing:.01em}.nav-logo-text{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-white);letter-spacing:.01em;white-space:nowrap}.navbar-desktop{display:none;background-color:var(--color-bg-dark);position:sticky;top:0;z-index:100}@media(min-width:768px)and (max-width:991px){.navbar-desktop{height:var(--navbar-height-tablet)}}@media(min-width:992px){.navbar-desktop{height:var(--navbar-height-desktop)}}.navbar-desktop__inner{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max-width);margin-inline:auto;padding-inline:.75rem}@media(min-width:576px){.navbar-desktop__inner{padding-inline:1.25rem}}@media(min-width:1280px){.navbar-desktop__inner{padding-inline:2rem}}.navbar-desktop__logo-link{display:flex;align-items:center;flex-shrink:0}.navbar-desktop__nav{display:flex;align-items:center;gap:var(--spacing-1)}.navbar-desktop__link{position:relative;padding:var(--spacing-2) var(--spacing-4);font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);letter-spacing:.02em;transition:color var(--transition-fast);border-radius:var(--radius-sm)}.navbar-desktop__link:after{content:"";position:absolute;bottom:3px;left:var(--spacing-4);right:var(--spacing-4);height:2px;background-color:var(--color-blue);transform:scaleX(0);transition:transform var(--transition-fast);transform-origin:center}.navbar-desktop__link:hover{color:var(--color-white)}.navbar-desktop__link:hover:after{transform:scaleX(1)}.navbar-desktop__link--active{color:var(--color-white)}.navbar-desktop__link--active:after{transform:scaleX(1)}@media(min-width:768px){.navbar-desktop{display:block}.mobile-header,.mobile-logo,.sidenav{display:none}body.menu-open .app-content{transform:none}body.menu-open{overflow:auto}.app-content{padding-top:0}.navbar-desktop__link{font-size:var(--text-sm)}}@media(min-width:1024px){.navbar-desktop__link{font-size:var(--text-base)}}@media(min-width:1280px){.navbar-desktop__link{font-size:var(--text-lg)}}body.layout-overlay{--overlay-nav-height: 208px}@media(min-width:992px){body.layout-overlay{--overlay-nav-height: 248px}}body.layout-overlay .app-content{position:relative}@media(min-width:768px){body.layout-overlay .navbar-desktop{position:absolute;top:0;left:0;right:0;background:transparent;height:auto;z-index:100}body.layout-overlay .navbar-desktop__inner{flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-6);padding-top:var(--spacing-5);padding-bottom:var(--spacing-4);max-width:100%}body.layout-overlay .navbar-desktop__nav{order:1;justify-content:center}body.layout-overlay .navbar-desktop__logo-link{order:2}body.layout-overlay .navbar-desktop__link{color:var(--color-white)}body.layout-overlay .navbar-desktop__link:after,body.layout-overlay .navbar-desktop__link--active:after,body.layout-overlay .navbar-desktop__link:hover:after{background-color:var(--color-white)}body.layout-overlay .contact-page__hero-content{padding-top:calc(var(--overlay-nav-height) + var(--spacing-6))}}@media(min-width:992px){body.layout-overlay .contact-page__hero-content{padding-top:calc(var(--overlay-nav-height) + var(--spacing-8))}body.layout-overlay .contact-page__hero{height:580px}}@media(min-width:992px){body.layout-overlay .contact-page__hero{height:700px}}@media(min-width:1400px){body.layout-overlay .contact-page__hero{height:800px}}@media(max-width:767px){body.layout-overlay{--mobile-overlay-nav-height: 256px}body.layout-overlay .app-content{padding-top:0}body.layout-overlay .mobile-logo{position:absolute;top:var(--mobile-header-height);left:0;right:0;background:transparent;z-index:99}body.layout-overlay .mobile-logo .mobile-logo__img{height:164px}body.layout-overlay .site-headline-spacer{margin-top:var(--mobile-overlay-nav-height);padding-top:calc(var(--spacing-8) / 2)}body.layout-overlay .contact-page__hero{height:520px}body.layout-overlay .contact-page__hero-content{padding-top:calc(var(--mobile-overlay-nav-height) + var(--spacing-4))}}@media(min-width:768px){body.layout-overlay .site-headline-spacer{margin-top:var(--overlay-nav-height);padding-top:calc(var(--spacing-12) / 2)}}@media(min-width:768px){body.layout-overlay .navbar-desktop__logo-link .nav-logo{height:124px}}@media(min-width:1024px){body.layout-overlay .navbar-desktop__logo-link .nav-logo{height:164px}}body.layout-overlay .navbar-desktop__logo-link .nav-logo--wide{height:clamp(82px,8.5vw,112px)}.badges-section{background-color:var(--color-bg-dark);padding-top:var(--spacing-8);padding-bottom:var(--spacing-20)}.badges-section__heading{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;font-size:var(--text-xl);color:var(--color-white);text-align:center;margin-bottom:var(--spacing-6)}.badges-section__row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-6);align-items:center;justify-items:center}@media(min-width:576px){.badges-section__row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}.badges-section__item{display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .2s}.badges-section__item:hover{opacity:.75}.badges-section__img{max-height:130px;width:auto;max-width:100%;object-fit:contain}@media(min-width:1280px){.badges-section__img{max-height:160px}}.testimonials-section{background:var(--color-bg-surface);padding-block:var(--spacing-16);overflow:hidden}.testimonials-section__heading{font-family:var(--font-quantico);font-weight:700;font-size:var(--text-2xl);color:var(--color-white);text-transform:uppercase;letter-spacing:.04em;text-align:center;margin:0 0 var(--spacing-10)}.testimonials-section__outer{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-inline:var(--spacing-6);scrollbar-width:none;-webkit-overflow-scrolling:touch}.testimonials-section__outer::-webkit-scrollbar{display:none}.testimonials-section__track{display:flex;gap:var(--spacing-5)}.testimonials-section__dots{display:flex;justify-content:center;gap:var(--spacing-2);margin-top:var(--spacing-8)}.testimonials-section__dot{width:10px;height:10px;border-radius:50%;border:none;background:#fff3;cursor:pointer;padding:0;transition:background .25s,transform .25s;flex-shrink:0}.testimonials-section__dot:hover{background:#fff6}.testimonials-section__dot--active{background:var(--color-blue);transform:scale(1.25)}.testimonial-card{flex:0 0 100%;scroll-snap-align:start;background:var(--color-bg-card);clip-path:polygon(14px 0%,100% 0%,100% calc(100% - 14px),calc(100% - 14px) 100%,0% 100%,0% 14px);padding:var(--spacing-6);display:flex;flex-direction:column;gap:var(--spacing-4)}.testimonial-card__quote-mark{font-family:Georgia,serif;font-size:4.5rem;line-height:1;color:var(--color-red-dark-hover);display:block;margin-bottom:calc(var(--spacing-2) * -1);-webkit-user-select:none;user-select:none}.testimonial-card__quote{color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.65;margin:0;flex:1}.testimonial-card__footer{display:flex;flex-direction:column;gap:var(--spacing-1);border-top:1px solid rgba(255,255,255,.08);padding-top:var(--spacing-4);margin-top:var(--spacing-2)}.testimonial-card__name{font-family:var(--font-quantico);font-weight:700;font-size:var(--text-base);color:var(--color-white);text-transform:uppercase;letter-spacing:.03em}.testimonial-card__context{font-size:var(--text-sm);color:var(--color-text-secondary)}@media(min-width:768px){.testimonial-card{flex:0 0 calc(50% - var(--spacing-5) / 2)}}@media(min-width:1024px){.testimonial-card{flex:0 0 calc(33.333% - var(--spacing-5) * 2 / 3)}}@media(min-width:1280px){.testimonial-card{flex:0 0 calc(25% - var(--spacing-5) * 3 / 4)}}.footer{background-color:var(--footer-bg);color:var(--footer-tint);padding-block:var(--spacing-12) var(--spacing-8);padding-bottom:calc(var(--spacing-8) + env(safe-area-inset-bottom));margin-top:auto}.footer__inner{max-width:var(--container-max-width);margin-inline:auto;padding-inline:var(--container-padding);display:grid;grid-template-columns:1fr;gap:var(--spacing-10)}.footer__logo{height:94px;width:auto;margin-bottom:var(--spacing-4)}.footer__logo-text{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-white);letter-spacing:.01em;margin-bottom:var(--spacing-3)}.footer__tagline{font-size:var(--text-sm);line-height:1.6}.footer__contact-heading{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:var(--heading-transform);font-size:var(--text-base);color:var(--color-white);letter-spacing:.01em;margin-bottom:var(--spacing-4)}.footer__contact-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.footer__contact-item{font-size:var(--text-sm)}.footer__contact-item--icon{display:flex;align-items:center;gap:var(--spacing-2)}.footer__contact-icon{width:14px;height:14px;flex-shrink:0}.footer__contact-item--address{display:flex;flex-direction:row;align-items:flex-start;gap:var(--spacing-2);line-height:1.4;margin-top:var(--spacing-4)}.footer__contact-item--address>div{display:flex;flex-direction:column}.footer__contact-icon--address{margin-top:2px}.footer__contact-item a{color:var(--color-white);transition:color var(--transition-fast)}.footer__contact-item a:hover{color:var(--footer-tint)}.footer__social{display:flex;align-items:center;gap:var(--spacing-5);margin-top:26px}.footer__social-link{color:var(--color-white);font-size:1.6rem;transition:color var(--transition-fast)}.footer__social-link:hover{color:var(--footer-tint)}.footer__bottom{max-width:var(--container-max-width);margin-inline:auto;padding-inline:var(--container-padding);padding-top:40px;display:flex;align-items:center;justify-content:center}.footer__copyright{font-size:var(--text-xs);text-align:center}@media(min-width:640px){.footer__inner{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.footer__inner{grid-template-columns:2fr 1fr 1fr;gap:var(--spacing-16)}}.site-main{flex:1}.details-section{background-color:var(--color-blue);padding-block:var(--spacing-16) var(--spacing-20)}.details-section__header{background-color:var(--color-blue);text-align:center;padding-bottom:var(--spacing-12)}.details-section__heading{font-family:var(--font-quantico);color:var(--color-white);font-size:var(--text-3xl);font-weight:900;letter-spacing:.01em}@media(max-width:767px){.details-section__heading{padding-inline:20px}}.details-section__grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-8)}.details-section__item{background-color:#00000014;clip-path:polygon(12px 0%,100% 0%,100% calc(100% - 12px),calc(100% - 12px) 100%,0% 100%,0% 12px);padding:var(--spacing-8)}.details-section__item-title-row{display:flex;align-items:flex-start;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.details-section__item-icon{flex-shrink:0;color:var(--color-white);width:1.375rem;height:1.375rem;margin-top:.15em}.details-section__item-title{color:var(--color-white);font-size:var(--text-xl);font-weight:900;margin:0}.details-section__item-desc{color:#ffffffd9;font-size:var(--text-base);line-height:1.4}.details-section__bullets{display:flex;flex-direction:column;gap:var(--spacing-4);margin-top:var(--spacing-2)}.details-section__bullet{color:#ffffffd9;font-size:var(--text-base);line-height:1.4;display:flex;align-items:flex-start;gap:var(--spacing-3)}.details-section__bullet-icon{flex-shrink:0;width:.6em;height:.6em;color:#fff9;margin-top:.45em}.details-section__bullet-icon svg{width:100%;height:100%;fill:currentColor}@media(min-width:640px){.details-section__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.details-section__grid{grid-template-columns:repeat(3,1fr)}.details-section__heading{font-size:var(--text-4xl)}}.courses-section{padding-block:var(--spacing-8) var(--spacing-16)}.courses-section__header{text-align:center;padding-bottom:var(--spacing-12)}.courses-section__heading{font-family:var(--font-quantico);color:var(--color-white);font-size:var(--text-3xl);font-weight:900;letter-spacing:.01em}@media(max-width:767px){.courses-section__heading{padding-inline:20px}}@media(min-width:1024px){.courses-section__heading{font-size:var(--text-4xl)}}.courses-section__group{margin-bottom:var(--spacing-16)}.courses-section__group:last-child{margin-bottom:0}.courses-section__group-heading{color:var(--color-white);font-size:var(--text-xl);font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:var(--heading-transform);margin-bottom:var(--spacing-6)}@media(min-width:768px){.courses-section__group-heading{font-size:var(--text-2xl)}}.courses-section__grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-6)}@media(min-width:576px){.courses-section__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:992px){.courses-section__grid{display:flex;flex-wrap:wrap;justify-content:center}.courses-section__grid>.course-card{flex:0 0 calc(33.333% - 16px)}}.highlight-callouts{background-color:var(--color-bg-dark);padding:var(--spacing-24) var(--spacing-20) var(--spacing-16)}.highlight-callouts__grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-4);padding-inline:0}@media(max-width:991px){.highlight-callouts{padding-inline:var(--container-padding)}}@media(min-width:992px){.highlight-callouts__grid{grid-template-columns:repeat(2,1fr)}.highlight-callout{align-items:stretch;justify-content:flex-start}.highlight-callout .highlight-callout__header{min-height:130px;align-items:flex-end}.highlight-callout .highlight-callout__subtext{flex:1}.highlight-callouts__grid--odd-first:has(>.highlight-callout:nth-child(odd):last-child)>.highlight-callout:first-child{grid-column:1 / -1;align-items:center;justify-content:center}.highlight-callouts__grid--odd-first:has(>.highlight-callout:nth-child(odd):last-child)>.highlight-callout:first-child .highlight-callout__header{min-height:unset;align-items:center}.highlight-callouts__grid--odd-first:has(>.highlight-callout:nth-child(odd):last-child)>.highlight-callout:first-child .highlight-callout__subtext{flex:0 0 auto}.highlight-callouts__grid--odd-last:has(>.highlight-callout:nth-child(odd):last-child)>.highlight-callout:last-child{grid-column:1 / -1;align-items:center;justify-content:center}.highlight-callouts__grid--odd-last:has(>.highlight-callout:nth-child(odd):last-child)>.highlight-callout:last-child .highlight-callout__header{min-height:unset;align-items:center}.highlight-callouts__grid--odd-last:has(>.highlight-callout:nth-child(odd):last-child)>.highlight-callout:last-child .highlight-callout__subtext{flex:0 0 auto}}.highlight-callout{position:relative;overflow:hidden;clip-path:polygon(12px 0%,100% 0%,100% calc(100% - 12px),calc(100% - 12px) 100%,0% 100%,0% 12px);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:280px;background-color:var(--color-bg-card-alt)}@media(min-width:768px){.highlight-callout{min-height:320px}}.highlight-callout__bg-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}.highlight-callout__tint{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000007b;pointer-events:none}.highlight-callout__header{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-8) var(--spacing-8) var(--spacing-3)}.highlight-callout__title{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;font-size:1.75rem;line-height:1.1;color:var(--color-white);margin:0;text-shadow:0 1px 6px rgba(0,0,0,.4)}@media(min-width:768px){.highlight-callout__title{font-size:2rem}}@media(min-width:992px){.highlight-callout__title{font-size:2.25rem}}.highlight-callout__subtext{position:relative;z-index:1;color:var(--color-white);font-weight:var(--font-light);font-size:var(--text-base);line-height:1.4;margin:0;padding:0 var(--spacing-8) var(--spacing-3);text-align:center;text-shadow:0 1px 6px rgba(0,0,0,.4)}@media(min-width:768px){.highlight-callout__subtext{font-size:var(--text-lg)}}.highlight-callout__footer{position:relative;z-index:1;display:flex;justify-content:center;padding:var(--spacing-2) var(--spacing-8) var(--spacing-8)}.highlight-callout__btn{--btn-px: var(--spacing-5);--btn-py: calc(var(--spacing-2) + 2px);--btn-fs: var(--text-xs);--btn-cut: 6px;text-shadow:none}@media(min-width:768px){.highlight-callout__btn{--btn-px: var(--spacing-6);--btn-py: var(--spacing-3);--btn-fs: var(--text-sm);--btn-cut: 8px}}.highlight-callout--light .highlight-callout__title,.highlight-callout--light .highlight-callout__subtext{color:var(--color-bg-dark);text-shadow:none}.highlight-callout--light .highlight-callout__btn{background-color:var(--color-bg-dark);color:var(--color-white)}.highlight-callout--light .highlight-callout__btn:hover{background-color:var(--color-bg-surface)}.course-detail{padding-block:var(--spacing-14) var(--spacing-20)}.course-detail__inner{display:flex;flex-direction:column;gap:var(--spacing-8)}@media(min-width:768px){.course-detail__inner{display:grid;grid-template-columns:1fr 300px;align-items:start;gap:var(--spacing-4);padding-inline:calc(var(--container-padding) / 2)}}@media(min-width:992px){.course-detail__inner{grid-template-columns:1fr 451px;align-items:stretch;gap:var(--spacing-5)}}.course-detail__content{display:flex;flex-direction:column;gap:var(--spacing-4);order:2;background-color:var(--color-bg-card);clip-path:polygon(12px 0%,100% 0%,100% calc(100% - 12px),calc(100% - 12px) 100%,0% 100%,0% 12px);padding:var(--spacing-6) 0}.course-detail__content>*{padding-inline:var(--spacing-5)}@media(min-width:768px){.course-detail__content{order:0}}.course-detail__img-wrap{order:1;clip-path:polygon(16px 0%,100% 0%,100% calc(100% - 16px),calc(100% - 16px) 100%,0% 100%,0% 16px);overflow:hidden;flex-shrink:0}@media(min-width:768px){.course-detail__img-wrap{order:0}}@media(min-width:992px){.course-detail__img-wrap{height:100%}}.course-detail__img{display:block;width:100%;aspect-ratio:3 / 4;object-fit:cover;object-position:center}@media(min-width:992px){.course-detail__img{height:100%;aspect-ratio:unset}}.course-detail__title{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;font-size:var(--text-4xl);line-height:1.1;color:var(--color-white);margin:0}@media(min-width:768px){.course-detail__title{font-size:var(--text-5xl)}}.course-detail__info-box{display:flex;flex-direction:column;gap:var(--spacing-4);background-color:var(--color-bg-card-alt);clip-path:polygon(10px 0%,100% 0%,100% calc(100% - 10px),calc(100% - 10px) 100%,0% 100%,0% 10px);padding:var(--spacing-4) var(--spacing-5);align-self:flex-start;margin-left:var(--spacing-5)}.course-detail__meta-grid{display:grid;grid-template-columns:auto 1fr;column-gap:var(--spacing-6);row-gap:var(--spacing-2);margin:0}.course-detail__meta-label{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;font-size:calc(var(--text-sm) + .25rem);color:#fff9;letter-spacing:.04em}.course-detail__meta-value{font-size:calc(var(--text-sm) + .25rem);font-weight:var(--font-light);color:var(--color-white);margin:0}.course-detail__price{font-family:var(--font-quantico);font-weight:var(--font-bold);font-size:var(--text-3xl);color:var(--color-white);margin:0}@media(min-width:768px){.course-detail__price{font-size:var(--text-4xl)}}.course-detail__description-box{background-color:transparent;padding:var(--spacing-4) var(--spacing-5)}.richtext{display:flex;flex-direction:column;gap:var(--spacing-3)}.richtext__p{font-weight:var(--font-light);color:var(--color-white);font-size:var(--text-base);line-height:1.6;margin:0}.richtext__link{color:var(--color-blue-tint);text-decoration:underline;text-underline-offset:3px}.richtext__link:hover{color:var(--color-white)}.richtext__list{list-style:disc;padding-left:var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-2);margin:0}.richtext__listitem{font-weight:var(--font-light);color:var(--color-white);font-size:var(--text-base);line-height:1.6}.course-detail__summary-box{background-color:transparent;padding:var(--spacing-4) var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-4)}.course-detail__summary-heading{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;font-size:var(--text-lg);color:var(--color-white);margin:0}.course-detail__bullets{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-3)}.course-detail__bullet{display:flex;align-items:center;gap:var(--spacing-3);font-weight:var(--font-light);color:var(--color-white);font-size:var(--text-base);line-height:1.5}.course-detail__bullet-icon{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;flex-shrink:0;color:var(--color-white)}.course-detail__bullet-icon svg{width:100%;height:100%;fill:currentColor}.course-detail__actions{display:flex;align-items:center;gap:var(--spacing-6);flex-wrap:wrap}.course-detail__actions .btn{--btn-px: 18px;--btn-py: 14px}.course-detail__back-link{font-size:var(--text-sm);font-weight:var(--font-light);color:#ffffff80;text-decoration:none;transition:color .2s}.course-detail__back-link:hover{color:var(--color-white)}.course-card{background-color:var(--color-bg-card);clip-path:polygon(12px 0%,100% 0%,100% calc(100% - 12px),calc(100% - 12px) 100%,0% 100%,0% 12px);display:flex;flex-direction:column;overflow:hidden}.course-card__media{position:relative;aspect-ratio:3 / 4;perspective:1000px;cursor:pointer;flex-shrink:0}.course-card__media-inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.45,0,.55,1)}.course-card__media-inner--flipped{transform:rotateY(180deg)}.course-card__face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.course-card__face--front{overflow:hidden}.course-card__image{width:100%;height:100%;object-fit:cover}.course-card__face--back{transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:flex-start;gap:var(--spacing-5);padding:var(--spacing-12) var(--spacing-5) var(--spacing-5) var(--spacing-5);background-color:var(--color-bg-card-alt);overflow-y:auto}.course-card__bullets{display:flex;flex-direction:column;gap:var(--spacing-3);list-style:none;padding:0;margin:0}.course-card__summary-heading{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:var(--heading-transform);font-size:var(--text-lg);color:var(--color-white);margin:0;line-height:1.2}.course-card__bullet{display:flex;align-items:flex-start;gap:var(--spacing-3);color:#ffffffd9;font-size:var(--text-base);line-height:1.4}.course-card__bullet-icon{flex-shrink:0;width:.6em;height:.6em;color:#fff9;margin-top:.45em}.course-card__bullet-icon svg{width:100%;height:100%;fill:currentColor}.course-card__flip-icon{position:absolute;bottom:var(--spacing-3);right:var(--spacing-3);width:28px;height:28px;color:var(--color-white);pointer-events:none;transition:color .2s}.course-card__flip-icon svg{width:100%;height:100%;fill:currentColor}.course-card__media:hover .course-card__flip-icon{color:#ffffff80}.course-card__details-btn{--btn-px: 22px;--btn-py: 14px;align-self:flex-start;background-color:var(--color-bg-card-alt);color:#fff}.course-card__details-btn:hover{background-color:color-mix(in srgb,var(--color-bg-card-alt) 85%,#fff);color:#fff}.course-card__body{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-4);flex:1}.course-card__title{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:var(--heading-transform);font-size:var(--text-2xl);color:var(--color-white);margin:0;line-height:1.2}@media(min-width:576px){.course-card__title{font-size:var(--text-xl)}}@media(min-width:768px){.course-card__title{font-size:var(--text-2xl)}}.course-card__meta-grid{display:grid;grid-template-columns:auto 1fr;column-gap:var(--spacing-4);row-gap:var(--spacing-1);margin:0}.course-card__meta-label{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;font-size:var(--text-xs);color:#ffffff80;letter-spacing:.04em}.course-card__meta-value{font-size:var(--text-xs);font-weight:var(--font-light);color:#fffc;margin:0}.course-card__price{font-family:var(--font-quantico);font-weight:var(--font-bold);font-size:var(--text-xl);color:var(--color-white);margin:0}.course-card__title-link{text-decoration:none;color:inherit}.course-card__title-link:hover .course-card__title{color:var(--color-blue-tint)}.course-card__card-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-3);margin-top:var(--spacing-4)}.course-card__signup-btn,.course-card__details-btn{--btn-px: 18px;--btn-py: 14px;flex:1 1 0;text-align:center;justify-content:center}.schedule-page{background:var(--color-bg-dark);min-height:60vh;padding-block:var(--spacing-10) var(--spacing-16)}.schedule-page__inner{display:flex;flex-direction:column;gap:var(--spacing-8)}@media(min-width:768px){.schedule-page__inner{flex-direction:row;align-items:flex-start;gap:var(--spacing-8)}}.schedule-page__course-card{display:flex;flex-direction:column;gap:var(--spacing-4);flex-shrink:0;width:100%}@media(min-width:768px){.schedule-page__course-card{width:320px;position:sticky;top:var(--spacing-8)}}@media(min-width:992px){.schedule-page__course-card{width:380px}}.schedule-page__img-wrap{position:relative;width:100%;overflow:hidden;clip-path:polygon(12px 0%,100% 0%,100% calc(100% - 12px),calc(100% - 12px) 100%,0% 100%,0% 12px)}.schedule-page__img{width:100%;height:auto;display:block;aspect-ratio:3 / 4;object-fit:cover;object-position:center}@media(min-width:768px){.schedule-page__img{aspect-ratio:unset;height:420px}}@media(min-width:992px){.schedule-page__img{height:500px}}.schedule-page__img-tint{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000007b;pointer-events:none}.schedule-page__img-overlay{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-5);z-index:1}.schedule-page__title{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;font-size:var(--text-2xl);color:var(--color-white);margin:0 0 var(--spacing-2);line-height:1.15}@media(min-width:992px){.schedule-page__title{font-size:var(--text-3xl)}}.schedule-page__meta{display:flex;flex-wrap:wrap;gap:var(--spacing-2) var(--spacing-4);align-items:baseline}.schedule-page__meta-item{font-size:var(--text-sm);color:#ffffffbf;font-weight:var(--font-light)}.schedule-page__meta-price{font-family:var(--font-quantico);font-weight:var(--font-bold);font-size:var(--text-xl);color:var(--color-white)}.schedule-page__back-link{font-size:var(--text-sm);color:var(--color-white);text-decoration:none;transition:color .2s;align-self:flex-start}.schedule-page__back-link:hover{color:#ffffff80}.schedule-page__slots-col{flex:1;min-width:0}.schedule-page__heading{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;font-size:var(--text-2xl);color:var(--color-white);margin:0 0 var(--spacing-6)}.schedule-page__empty{color:#ffffff80;font-size:var(--text-base)}.schedule-page__slots{display:grid;grid-template-columns:1fr;gap:var(--spacing-4)}@media(min-width:576px){.schedule-page__slots{grid-template-columns:repeat(2,1fr)}}.schedule-slot{background:var(--color-bg-card);padding:var(--spacing-5);display:flex;flex-direction:column;gap:var(--spacing-3);clip-path:polygon(12px 0%,100% 0%,100% calc(100% - 12px),calc(100% - 12px) 100%,0% 100%,0% 12px)}.schedule-slot--full{opacity:.65}.schedule-slot__label{font-size:var(--text-base);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.08em;color:#ffffff8c;margin:0}.schedule-slot__instructor{font-size:var(--text-sm);color:#ffffffb3;margin:var(--spacing-3) 0}.schedule-slot__instructor-label{font-weight:var(--font-bold);color:#ffffff73;text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.06em;margin-right:4px}.schedule-slot__sessions{display:flex;flex-direction:column;gap:var(--spacing-2)}.schedule-slot__session{display:flex;flex-direction:column;gap:2px}.schedule-slot__day-badge{font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.06em;color:#ffffff73}.schedule-slot__date{font-size:var(--text-base);font-weight:var(--font-regular);color:var(--color-white)}.schedule-slot__time{font-size:var(--text-sm);font-weight:var(--font-light);color:#ffffffa6}.schedule-slot__seats{font-size:var(--text-sm);font-weight:var(--font-regular);color:#ffffffa6;margin:0}.schedule-slot__seats--full{color:var(--color-red-tint);font-weight:var(--font-bold)}.schedule-slot__cta{margin-top:auto;align-self:flex-start;--btn-px: 18px;--btn-py: 14px}.schedule-slot__cta:disabled,.schedule-slot__cta[aria-disabled=true]{opacity:.35;cursor:not-allowed;pointer-events:none}.mini-cal{background:var(--color-bg-card-alt);padding:var(--spacing-3);clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px)}.mini-cal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-2)}.mini-cal__nav{background:none;border:none;color:#fff9;font-size:var(--text-lg);cursor:pointer;padding:0 var(--spacing-2);line-height:1;transition:color .15s}.mini-cal__nav:hover{color:var(--color-white)}.mini-cal__nav-placeholder{width:28px;display:inline-block}.mini-cal__month-label{font-family:var(--font-quantico);font-weight:var(--font-bold);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-white)}.mini-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.mini-cal__day-label{font-size:11px;font-weight:var(--font-bold);text-transform:uppercase;color:#ffffff59;text-align:center;padding-bottom:3px}.mini-cal__cell{font-size:13px;font-weight:var(--font-regular);color:#ffffff80;text-align:center;padding:3px 2px;line-height:1.4;border-radius:2px}.mini-cal__cell--empty{color:transparent}.mini-cal__cell--highlighted{background:var(--color-red);color:var(--color-white);font-weight:var(--font-bold);border-radius:3px}.applications-page__body{padding-block:var(--spacing-14)}.applications-page__lead{max-width:800px;margin:0 auto var(--spacing-12);text-align:center}.applications-page__lead-text{font-size:var(--text-lg);line-height:1.75;color:#ffffffd9}.applications-page__context{display:grid;grid-template-columns:1fr;gap:var(--spacing-6);margin-bottom:var(--spacing-12)}@media(min-width:768px){.applications-page__context{grid-template-columns:1fr 1fr}}.applications-page__context-card{background:var(--color-bg-card);padding:var(--spacing-6);clip-path:polygon(12px 0%,100% 0%,100% calc(100% - 12px),calc(100% - 12px) 100%,0% 100%,0% 12px)}.applications-page__context-heading{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;font-size:var(--text-base);color:var(--color-white);margin-bottom:var(--spacing-3);letter-spacing:.04em}.applications-page__context-text{font-size:var(--text-sm);line-height:1.75;color:#ffffffb3}.applications-page__context-note{font-size:var(--text-sm);line-height:1.75;color:#ffffff8c;margin-top:var(--spacing-4);border-top:1px solid rgba(255,255,255,.08);padding-top:var(--spacing-4)}.applications-page__inline-link{color:var(--color-blue-tint);text-decoration:underline;transition:opacity .15s}.applications-page__inline-link:hover{opacity:.75}.applications-page__section-heading{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;font-size:var(--text-2xl);color:var(--color-white);margin-bottom:var(--spacing-2);letter-spacing:.03em}.applications-page__section-sub{font-size:var(--text-sm);color:#fff9;margin-bottom:var(--spacing-6);max-width:680px}.applications-page__eligibility{margin-bottom:var(--spacing-14)}.applications-page__bullets{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:var(--spacing-3)}@media(min-width:640px){.applications-page__bullets{grid-template-columns:1fr 1fr}}.applications-page__bullet{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--text-sm);color:#fffc;background:var(--color-bg-card);padding:var(--spacing-3) var(--spacing-4);clip-path:polygon(8px 0%,100% 0%,100% calc(100% - 8px),calc(100% - 8px) 100%,0% 100%,0% 8px)}.applications-page__bullet-icon{width:10px;height:10px;flex-shrink:0;color:#fff6}.applications-page__nyc{margin-bottom:var(--spacing-10)}.applications-page__permits{display:grid;grid-template-columns:1fr;gap:var(--spacing-6)}@media(min-width:768px){.applications-page__permits{grid-template-columns:1fr 1fr}}.applications-page__permit-card{background:var(--color-bg-card);padding:var(--spacing-6);clip-path:polygon(12px 0%,100% 0%,100% calc(100% - 12px),calc(100% - 12px) 100%,0% 100%,0% 12px);display:flex;flex-direction:column;gap:var(--spacing-4)}.applications-page__permit-title{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;font-size:var(--text-lg);color:var(--color-white);letter-spacing:.04em}.applications-page__permit-body{font-size:var(--text-sm);line-height:1.75;color:#ffffffb3}.applications-page__permit-service{background:var(--color-bg-card-alt);padding:var(--spacing-4);clip-path:polygon(6px 0%,100% 0%,100% calc(100% - 6px),calc(100% - 6px) 100%,0% 100%,0% 6px);margin-top:auto}.applications-page__permit-service-label{font-family:var(--font-quantico);font-size:var(--text-xs);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-white);display:block;margin-bottom:var(--spacing-2)}.applications-page__permit-service-text{font-size:var(--text-xs);line-height:1.7;color:#fff9}.store-page{background:var(--color-bg-dark)}.store-section__heading{font-family:var(--font-quantico);font-weight:700;font-size:var(--text-3xl);color:var(--color-white);text-transform:uppercase;letter-spacing:.04em;text-align:center;margin:0 0 var(--spacing-10)}.store-featured{padding-block:var(--spacing-16)}.store-featured__box{background:var(--color-bg-card);clip-path:polygon(24px 0%,100% 0%,100% calc(100% - 24px),calc(100% - 24px) 100%,0% 100%,0% 24px);padding:var(--spacing-10) var(--spacing-8)}@media(min-width:768px){.store-featured__box{padding:var(--spacing-12) var(--spacing-12)}}@media(min-width:1024px){.store-featured__box{padding:var(--spacing-14) var(--spacing-16)}}.store-featured__label{font-size:var(--text-2xl);letter-spacing:.06em;color:var(--color-blue-tint);margin-bottom:var(--spacing-6)}.store-featured__inner{display:flex;flex-direction:column;gap:var(--spacing-8)}@media(min-width:768px){.store-featured__inner{flex-direction:row;align-items:flex-start;gap:var(--spacing-12)}}.store-featured__img-wrap{position:relative;flex:0 0 auto;width:100%}@media(min-width:768px){.store-featured__img-wrap{width:420px}}@media(min-width:1024px){.store-featured__img-wrap{width:480px}}.store-featured__img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;clip-path:polygon(14px 0%,100% 0%,100% calc(100% - 14px),calc(100% - 14px) 100%,0% 100%,0% 14px)}.store-featured__img--placeholder{background:var(--color-bg-card)}.store-featured__details{flex:1;display:flex;flex-direction:column;gap:var(--spacing-4)}.store-featured__brand{font-size:var(--text-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;margin:0}.store-featured__name{font-family:var(--font-quantico);font-weight:700;font-size:var(--text-3xl);color:var(--color-white);text-transform:uppercase;line-height:1.1;margin:0}@media(min-width:768px){.store-featured__name{font-size:var(--text-4xl)}}.store-featured__caliber{font-size:var(--text-base);color:var(--color-text-secondary);margin:0}.store-featured__desc{font-size:var(--text-base);color:var(--color-text-primary);line-height:1.65;margin:0}.store-featured__price{font-family:var(--font-quantico);font-weight:700;font-size:var(--text-3xl);color:var(--color-white);margin:0}.store-featured__cta-wrap{display:flex;align-items:center;gap:var(--spacing-5);flex-wrap:wrap;margin-top:var(--spacing-2)}.store-featured__in-store-tag{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;display:flex;align-items:center;gap:4px}.store-featured__cta-btn{--btn-px: 18px;--btn-py: 14px}.featured-course{padding-block:var(--spacing-16)}.featured-course__box{background:var(--color-bg-card);clip-path:polygon(24px 0%,100% 0%,100% calc(100% - 24px),calc(100% - 24px) 100%,0% 100%,0% 24px);padding:var(--spacing-10) var(--spacing-8)}@media(min-width:768px){.featured-course__box{padding:var(--spacing-12) var(--spacing-12)}}@media(min-width:1024px){.featured-course__box{padding:var(--spacing-14) var(--spacing-16)}}.featured-course__eyebrow{font-family:var(--font-quantico);font-weight:700;font-size:var(--text-2xl);color:var(--color-blue-tint);text-transform:uppercase;letter-spacing:.06em;text-align:center;margin:0 0 var(--spacing-6) 0}.featured-course__inner{display:flex;flex-direction:column;gap:var(--spacing-8)}@media(min-width:768px){.featured-course__inner{flex-direction:row;align-items:flex-start;gap:var(--spacing-12)}}.featured-course__img-wrap{position:relative;flex:0 0 auto;width:100%}@media(min-width:768px){.featured-course__img-wrap{width:420px}}@media(min-width:1024px){.featured-course__img-wrap{width:480px}}.featured-course__img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block;clip-path:polygon(14px 0%,100% 0%,100% calc(100% - 14px),calc(100% - 14px) 100%,0% 100%,0% 14px)}.featured-course__img--placeholder{background:var(--color-bg-card)}.featured-course__details{flex:1;display:flex;flex-direction:column;gap:var(--spacing-4)}.featured-course__heading{font-family:var(--font-quantico);font-weight:700;font-size:var(--text-3xl);color:var(--color-white);text-transform:uppercase;line-height:1.1;margin:0}@media(min-width:768px){.featured-course__heading{font-size:var(--text-4xl)}}.featured-course__body{font-size:var(--text-base);color:var(--color-text-primary);line-height:1.65;margin:0}.featured-course__cta-wrap{display:flex;align-items:center;gap:var(--spacing-5);flex-wrap:wrap;margin-top:var(--spacing-4)}.featured-course__cta-btn{--btn-px: 18px;--btn-py: 14px}.store-section{padding-block:var(--spacing-16);background:var(--color-bg-dark)}.store-section:nth-child(2n){background:var(--color-bg-surface)}.store-section__grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-6)}@media(min-width:576px){.store-section__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:992px){.store-section__grid{grid-template-columns:repeat(3,1fr)}}.store-section__grid--accessories{grid-template-columns:repeat(2,1fr)}@media(min-width:768px){.store-section__grid--accessories{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.store-section__grid--accessories{grid-template-columns:repeat(4,1fr)}}.product-card{background:var(--color-bg-card);clip-path:polygon(12px 0%,100% 0%,100% calc(100% - 12px),calc(100% - 12px) 100%,0% 100%,0% 12px);display:flex;flex-direction:column;overflow:hidden}.product-card__img-wrap{position:relative;width:100%}.product-card__img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.product-card__img--placeholder{background:var(--color-bg-card-alt)}.product-badge{position:absolute;top:var(--spacing-3);right:var(--spacing-3);background:var(--color-red);color:var(--color-white);font-family:var(--font-quantico);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:5px 12px;clip-path:polygon(4px 0%,100% 0%,100% calc(100% - 4px),calc(100% - 4px) 100%,0% 100%,0% 4px);z-index:1}.product-card__body{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-4);flex:1}.product-card__brand{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.08em;margin:0}.product-card__name{font-family:var(--font-quantico);font-weight:700;font-size:var(--text-lg);color:var(--color-white);text-transform:uppercase;line-height:1.2;margin:0}.product-card__caliber{font-size:var(--text-xs);color:var(--color-text-secondary);margin:0}.product-card__desc{font-size:var(--text-sm);color:var(--color-text-primary);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-card__footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-2);margin-top:auto;padding-top:var(--spacing-3);border-top:1px solid rgba(255,255,255,.07)}.product-card__price{font-family:var(--font-quantico);font-weight:700;font-size:var(--text-xl);color:var(--color-white);margin:0}.product-card__in-store{font-size:var(--text-xs);color:var(--color-text-secondary);display:flex;align-items:center;gap:4px;text-transform:uppercase;letter-spacing:.06em}.store-visit-cta{background:transparent;padding-block:var(--spacing-20);position:relative;overflow:hidden}.store-visit-cta__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-6);position:relative;z-index:1}.store-visit-cta__accent{width:56px;height:4px;background:var(--color-blue);clip-path:polygon(4px 0%,100% 0%,calc(100% - 4px) 100%,0% 100%)}.store-visit-cta .btn--accent{background-color:var(--color-blue)}.store-visit-cta .btn--accent:hover{background-color:var(--color-blue-hover)}.store-visit-cta__heading{font-family:var(--font-quantico);font-weight:700;font-size:var(--text-3xl);color:var(--color-white);text-transform:uppercase;letter-spacing:.04em;margin:0;line-height:1.15}@media(min-width:768px){.store-visit-cta__heading{font-size:var(--text-4xl)}}.store-visit-cta__subtext{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.65;margin:0;max-width:560px}.store-visit-cta__btn{--btn-px: 22px;--btn-py: 14px}.store-visit-cta__note{font-size:var(--text-xs);color:var(--color-text-muted);margin:0;max-width:480px;line-height:1.6}.placeholder-page{padding:var(--spacing-16) var(--spacing-6);background:var(--color-bg-dark);min-height:60vh}.placeholder-page h1{color:var(--color-text-primary)}.site-headline-spacer{background:var(--color-bg-dark);padding-top:var(--spacing-20)}.site-headline{padding:0 var(--spacing-6) var(--spacing-10);text-align:center}.site-headline__text{font-family:var(--font-quantico);font-size:var(--site-headline-fs-desktop);font-weight:var(--font-bold);color:var(--color-white);line-height:1.1;margin:0}@media(max-width:991px){.site-headline__text{font-size:var(--site-headline-fs-tablet)}}@media(min-width:576px)and (max-width:767px){.site-headline__text{font-size:var(--site-headline-fs-sm)}}@media(max-width:767px){.site-headline-spacer{padding-top:var(--spacing-8)}.site-headline__text{font-size:var(--site-headline-fs-mobile)}}.featured-carousel{position:relative;width:100%;background-color:var(--color-bg-dark)}.featured-carousel__inner{position:relative;width:100%;aspect-ratio:3 / 2;max-height:740px;z-index:0;overflow:hidden}@media(min-width:1400px){.featured-carousel__inner{max-height:940px}}@media(max-width:767px){.featured-carousel__inner{aspect-ratio:16 / 9}.featured-carousel__inner.has-active-vertical{aspect-ratio:9 / 16}}.featured-carousel__slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;transition:opacity .4s ease}.featured-carousel__slide.is-active{opacity:1;pointer-events:auto}.featured-carousel__media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.featured-carousel__media img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:767px){.featured-carousel__slide.has-vertical .featured-carousel__media--wide{display:none}.featured-carousel__slide.has-vertical .featured-carousel__media--vertical{display:block}}@media(min-width:768px){.featured-carousel__media--vertical{display:none}}.featured-carousel__controls{display:flex;justify-content:center;align-items:center;background:var(--color-bg-dark);padding:var(--spacing-3) var(--spacing-2);min-height:64px;margin-bottom:20px}.featured-carousel__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-white);cursor:pointer;padding:var(--spacing-2);filter:drop-shadow(0 2px 8px rgba(0,0,0,.6));transition:filter var(--transition-fast)}.featured-carousel__nav:hover{filter:drop-shadow(0 2px 12px rgba(255,255,255,.35))}.featured-carousel__nav--prev{left:var(--spacing-4)}.featured-carousel__nav--next{right:var(--spacing-4)}.featured-carousel__nav-icon{width:34px;height:34px}@media(max-width:767px){.featured-carousel__nav-icon{width:24px;height:24px}.featured-carousel__nav--prev{left:var(--spacing-2)}.featured-carousel__nav--next{right:var(--spacing-2)}}.featured-carousel__nav-icon svg{width:100%;height:100%;fill:currentColor;pointer-events:none}.featured-carousel__dots{display:flex;gap:var(--spacing-2);justify-content:center}@media(min-width:768px){.featured-carousel__dot{width:18px;height:18px}.featured-carousel__dots{gap:10px}}.featured-carousel__dot{width:10px;height:10px;border-radius:var(--radius-full);background:#ffffff80;border:none;cursor:pointer;padding:0;transition:background var(--transition-fast)}.featured-carousel__dot:hover{background:#fffc}.featured-carousel__dot.is-active{background:var(--color-white)}.featured-video{position:relative;width:100%;height:100%;cursor:pointer;overflow:hidden}.featured-video video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.featured-video__preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1;pointer-events:none}.featured-video__play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000047;border:none;cursor:pointer;z-index:2;pointer-events:auto;transition:background .2s ease}.featured-video__play:hover{background:#0000006b}.featured-video__play-icon{width:56px;height:56px;color:var(--color-white)}@media(max-width:767px){.featured-video__play-icon{width:40px;height:40px}}.featured-video__play-icon svg{width:100%;height:100%;fill:currentColor;pointer-events:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}.featured-video__control{position:absolute;background:transparent;border:none;color:var(--color-white);cursor:pointer;padding:.35rem;display:flex;align-items:center;justify-content:center;z-index:3;pointer-events:auto;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}.featured-video__control:hover{opacity:.75}.featured-video__control--fullscreen{top:var(--spacing-2);left:var(--spacing-2)}.featured-video__control--mute{bottom:var(--spacing-2);right:var(--spacing-2)}.featured-video__control-icon{width:22px;height:22px}.featured-video__control-icon svg{width:100%;height:100%;fill:currentColor;pointer-events:none}.featured-carousel__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;justify-content:center}.featured-carousel__overlay-tint{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000007b;pointer-events:none}.featured-carousel__overlay-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;padding:var(--spacing-8) clamp(60px,12%,72px);text-shadow:0 1px 8px rgba(0,0,0,.55);max-width:780px}@media(min-width:992px){.featured-carousel__overlay-content{padding-inline:var(--spacing-10)}}.featured-carousel__overlay-heading{color:var(--color-white);font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;font-size:1.35rem;line-height:1;margin:0}.featured-carousel__overlay-subtext{color:var(--color-white);font-weight:var(--font-light);font-size:var(--text-sm);line-height:1.3;margin:0 0 var(--spacing-4)}.featured-carousel__overlay-content .btn{text-shadow:none;--btn-px: var(--spacing-5);--btn-py: calc(var(--spacing-2) + 3px);--btn-fs: var(--text-xs);--btn-cut: 7px}@media(min-width:768px){.featured-carousel__overlay-heading{font-size:2.25rem}.featured-carousel__overlay-subtext{font-size:var(--text-lg);margin-bottom:var(--spacing-6)}.featured-carousel__overlay-content .btn{--btn-px: var(--spacing-8);--btn-py: var(--spacing-4);--btn-fs: var(--text-base);--btn-cut: 10px}}@media(min-width:992px){.featured-carousel__overlay-heading{font-size:3rem}.featured-carousel__overlay-subtext{font-size:var(--text-xl)}}@media(min-width:992px){.featured-carousel__overlay-heading{font-size:4rem}}.contact-page{background-color:var(--color-red);padding-bottom:var(--spacing-20)}.contact-page__hero{position:relative;width:100%;height:300px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-12)}@media(min-width:768px){.contact-page__hero{height:480px}}@media(min-width:992px){.contact-page__hero{height:640px}}@media(min-width:1400px){.contact-page__hero{height:800px}}.contact-page__hero-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center}body.layout-overlay .contact-page__hero-img{object-position:center}.contact-page__hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000007b;pointer-events:none}.contact-page__hero-content{position:relative;z-index:1;text-align:center;padding:var(--spacing-10) var(--spacing-10) var(--spacing-8);text-shadow:0 1px 8px rgba(0,0,0,.55)}@media(min-width:768px){.contact-page__hero-content{padding:var(--spacing-12) var(--spacing-16) var(--spacing-10)}}@media(min-width:992px){.contact-page__hero-content{padding:var(--spacing-16) var(--spacing-20) var(--spacing-12)}}.contact-page__title{color:var(--color-white);font-size:2.25rem;line-height:1.1;margin:0}@media(min-width:768px){.contact-page__title{font-size:3rem}}@media(min-width:992px){.contact-page__title{font-size:4rem}}.contact-page__subtitle{color:var(--color-white);font-size:1.125rem;font-weight:var(--font-light);line-height:1.2;margin:0}@media(min-width:768px){.contact-page__subtitle{font-size:1.375rem}}@media(min-width:992px){.contact-page__subtitle{font-size:1.625rem}}body.layout-overlay .courses-page__hero{height:520px}body.layout-overlay .courses-page__hero-content{padding-top:calc(var(--mobile-overlay-nav-height) + var(--spacing-4))}@media(min-width:768px){body.layout-overlay .courses-page__hero{height:580px}body.layout-overlay .courses-page__hero-content{padding-top:calc(var(--overlay-nav-height) + var(--spacing-6))}}@media(min-width:992px){body.layout-overlay .courses-page__hero{height:700px}body.layout-overlay .courses-page__hero-content{padding-top:calc(var(--overlay-nav-height) + var(--spacing-8))}}@media(min-width:1400px){body.layout-overlay .courses-page__hero{height:800px}}.contact-page__body{display:grid;grid-template-columns:1fr;gap:var(--spacing-10);max-width:1180px;margin-inline:auto;padding:0 var(--spacing-5) var(--spacing-20)}@media(min-width:768px){.contact-page__body{grid-template-columns:1fr 1.65fr;gap:var(--spacing-14);align-items:stretch;padding:0 var(--spacing-8) var(--spacing-20)}}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-10);padding-top:var(--spacing-4)}@media(min-width:768px){.contact-info{padding-right:var(--spacing-4)}}@media(min-width:992px){.contact-info{padding-right:var(--spacing-6)}}.contact-info__item{display:flex;flex-direction:column;gap:var(--spacing-2)}.contact-info__label{font-family:var(--font-quantico);font-weight:var(--font-bold);font-size:var(--text-2xl);text-transform:uppercase;letter-spacing:.04em;color:var(--color-white);line-height:1.1}@media(min-width:768px)and (max-width:991px){.contact-info{padding-right:var(--spacing-6)}.contact-info__label{font-size:var(--text-xl)}}@media(min-width:992px){.contact-info__label{font-size:var(--text-3xl)}}.contact-info__value{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-base);color:#fffc;line-height:1.4;transition:color var(--transition-fast)}@media(min-width:768px)and (max-width:991px){.contact-info__value{font-size:var(--text-sm)}}a.contact-info__value:hover{color:var(--color-white)}.contact-info__value--address{align-items:flex-start}.contact-info__icon{width:14px;height:14px;flex-shrink:0;color:var(--color-red-tint)}@media(min-width:768px)and (max-width:991px){.contact-info__icon{width:12px;height:12px}}.contact-info__icon--top{margin-top:.2em}.contact-info__address-line{display:block}.contact-map{position:relative;width:100%;height:220px;clip-path:polygon(10px 0%,100% 0%,100% calc(100% - 10px),calc(100% - 10px) 100%,0% 100%,0% 10px);overflow:hidden}@media(min-width:768px){.contact-map{flex:1;min-height:180px}}.contact-map__iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none;filter:grayscale(1) contrast(1.05)}.contact-form-wrap{background-color:#00000014;clip-path:polygon(12px 0%,100% 0%,100% calc(100% - 12px),calc(100% - 12px) 100%,0% 100%,0% 12px);padding:calc(var(--spacing-5) + .5rem) var(--spacing-4);height:100%;box-sizing:border-box}@media(min-width:576px){.contact-form-wrap{padding:calc(var(--spacing-6) + .5rem) var(--spacing-6)}}@media(min-width:768px){.contact-form-wrap{padding:calc(var(--spacing-8) + .5rem) var(--spacing-8)}}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-6)}.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-6)}@media(max-width:575px){.contact-form__row{grid-template-columns:1fr}}.contact-form__field{display:flex;flex-direction:column;gap:var(--spacing-2)}.contact-form__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);padding-top:var(--spacing-2)}.contact-form__legend{color:var(--color-white);font-size:var(--text-xs);line-height:1.4}.contact-form__legend-star{color:var(--color-red-tint);margin-right:2px}.contact-form__label{color:var(--color-white);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.05em;text-transform:uppercase}.contact-form__required{color:var(--color-red-tint);margin-left:2px}.contact-form__input,.contact-form__select,.contact-form__textarea{background-color:var(--color-white);border:none;border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-primary);font-size:var(--text-base);padding:var(--spacing-3) var(--spacing-4);width:100%;transition:background-color var(--transition-fast)}.contact-form__input::placeholder,.contact-form__textarea::placeholder{color:#0000004d}.contact-form__input:focus,.contact-form__select:focus,.contact-form__textarea:focus{outline:none;background-color:#f5f5f5}.contact-form__input.is-error,.contact-form__select.is-error,.contact-form__textarea.is-error{background-color:#fde8ea}.contact-form__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%231a1a1a' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-4) center;background-size:16px 16px;padding-right:var(--spacing-10);cursor:pointer}.contact-form__select option{background-color:var(--color-white);color:var(--color-text)}.contact-form__textarea{resize:vertical;min-height:120px}.contact-form__field-error{color:var(--color-white);font-size:var(--text-sm);font-weight:100;line-height:1.3}.contact-form__error-banner{background-color:#0000004d;border:1px solid rgba(240,190,196,.4);border-radius:var(--radius-sm);color:var(--color-red-tint);padding:var(--spacing-3) var(--spacing-4);font-size:var(--text-sm)}.contact-form-wrap--success{background-color:transparent!important}.contact-form__success{text-align:center;padding:var(--spacing-12) var(--spacing-6);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3)}.contact-form__success-heading{font-family:var(--font-quantico);font-weight:var(--font-bold);text-transform:uppercase;color:var(--color-white);font-size:var(--text-4xl);line-height:1.1;margin:0}.contact-form__success-text{color:var(--color-white);font-weight:100;font-size:var(--text-lg);line-height:1.4;margin:0}.age-gate__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000d1;display:flex;align-items:center;justify-content:center;padding:var(--spacing-6)}.age-gate__panel{background:var(--color-bg-surface);clip-path:polygon(20px 0%,100% 0%,100% calc(100% - 20px),calc(100% - 20px) 100%,0% 100%,0% 20px);padding:var(--spacing-10) var(--spacing-8);max-width:460px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-5)}.age-gate__logo-mark{font-family:var(--font-quantico);font-size:var(--text-4xl);font-weight:700;color:var(--color-red);line-height:1;letter-spacing:.04em}.age-gate__title{font-family:var(--font-quantico);font-size:var(--text-2xl);font-weight:700;color:var(--color-white);text-transform:uppercase;letter-spacing:.04em;margin:0;line-height:1.2}.age-gate__body{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.6;margin:0}.age-gate__label{color:var(--color-text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;margin:24px 0 var(--spacing-2);font-family:var(--font-quantico)}.age-gate__inputs{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.age-gate__field{display:flex;flex-direction:column}.age-gate__field--year{flex:1.6}.age-gate__input{background-color:var(--color-white);border:none;border-radius:var(--radius-sm);color:var(--color-text-dark);font-family:var(--font-primary);font-size:var(--text-lg);font-weight:600;padding:var(--spacing-3) var(--spacing-2);text-align:center;width:3.5rem;transition:background-color var(--transition-fast)}.age-gate__field--year .age-gate__input{width:5.5rem}.age-gate__input::placeholder{color:#0000004d;font-weight:400}.age-gate__input:focus{outline:none;background-color:#f0f0f0}.age-gate__input.is-error{background-color:#fde8ea}.age-gate__sep{color:var(--color-text-secondary);font-size:var(--text-xl);font-weight:300;line-height:1;margin-top:2px}.age-gate__panel form{display:flex;flex-direction:column;align-items:center;width:100%}.age-gate__error{color:var(--color-red-tint);font-size:var(--text-sm);font-weight:100;margin:8px 0 0;line-height:1.4;text-align:center}.age-gate__btn{padding:14px 40px;font-size:var(--text-base);margin-top:24px}.age-gate__disclaimer{color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.5;margin:0}.print-page{max-width:900px;margin:0 auto;padding:16px 40px 64px;font-family:var(--font-body, system-ui, sans-serif);color:#111;background:#fff;min-height:100vh}body.layout-print .sidenav,body.layout-print .mobile-header,body.layout-print .mobile-logo,body.layout-print .navbar-desktop,body.layout-print footer{display:none!important}body.layout-print .app-content{transform:none!important}.print-only{display:none}.print-page__logo{text-align:center;margin-bottom:24px}.print-page__logo-img{width:3in;max-width:100%;height:auto;display:inline-block}.print-page__toolbar{display:flex;justify-content:flex-end;margin-bottom:24px}.print-page__btn{padding:10px 24px;background:#000;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;letter-spacing:.04em}.print-page__btn:hover{background:#2a2a4e}.print-page__header{border-bottom:2px solid #111;padding-bottom:16px;margin-bottom:28px}.print-page__course{font-size:28px;font-weight:700;margin:0 0 4px;text-transform:uppercase;letter-spacing:.04em}.print-page__session{font-size:17px;font-weight:400;font-style:italic;margin:0 0 16px;color:#444}.print-page__meta{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 24px;font-size:13px}.print-page__meta div{display:flex;gap:6px}.print-page__meta dt{font-weight:700;white-space:nowrap}.print-page__meta dd{margin:0;color:#333}.print-table{margin-bottom:36px}.print-table__heading{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid #ccc}.print-table__count{font-weight:400;color:#555}.print-table__table{width:100%;border-collapse:collapse;font-size:13px}.print-table__table th,.print-table__table td{border:1px solid #ddd;padding:7px 10px;text-align:left;vertical-align:top}.print-table__table th{background:#f4f4f4;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.print-table__table tr:nth-child(2n) td{background:#fafafa}.print-page__footer{margin-top:48px;padding-top:12px;border-top:1px solid #ccc;font-size:11px;color:#777;text-align:center}.print-table__notes-row td{border-top:none!important;padding-top:0!important;background:#fff!important}.print-table__notes-cell{padding-bottom:8px!important;color:#555;font-style:italic;font-size:12px}.print-table__notes-label{font-weight:700;font-style:normal;color:#333}@media print{.no-print{display:none!important}.site-nav,.site-header,nav,footer,.age-gate{display:none!important}html,body{margin:0!important;padding:0!important;background:#fff!important}.print-only{display:block!important}.print-page{padding:16px 24px 32px;max-width:100%;margin:0}.print-table__table{page-break-inside:auto}.print-table__table tr{page-break-inside:avoid}.print-table{page-break-before:auto}.print-table__table th{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.booking-page{min-height:100vh;background-color:var(--color-bg-dark);padding:var(--spacing-8) 0 var(--spacing-12)}.booking-page__inner{display:grid;grid-template-columns:1fr;gap:var(--spacing-6)}@media(min-width:768px){.booking-page__inner{grid-template-columns:1fr 1.2fr;align-items:start;gap:var(--spacing-10)}}.booking-summary{background:#ffffff0d;border-radius:var(--radius-md);padding:var(--spacing-8)}.booking-summary__header{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--spacing-6)}.booking-summary__course{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-white);margin:0;line-height:1.15}.booking-summary__label{font-size:var(--text-base);color:#ffffff8c;margin:0}.booking-summary__price{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-white);white-space:nowrap}.booking-summary__details{display:flex;flex-direction:column;gap:var(--spacing-3)}.booking-summary .course-detail__info-box{align-self:stretch;margin-left:0;background-color:#ffffff0d}.booking-summary__sessions{display:flex;flex-direction:column;gap:var(--spacing-3)}.booking-summary__detail-label{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c;display:block}.booking-summary__dates{display:flex;flex-direction:column;gap:var(--spacing-4)}.booking-summary__session-block{display:flex;flex-direction:column;gap:3px}.booking-summary__day-num{font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.06em;text-transform:uppercase;color:#ffffff8c}.booking-summary__date-text{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--color-white);line-height:1.3}.booking-summary__time{font-size:var(--text-sm);color:var(--color-text-primary)}.booking-summary__meta-row{display:flex;flex-direction:column;gap:var(--spacing-2);align-items:flex-start}.booking-summary__meta-item{display:flex;align-items:baseline;gap:var(--spacing-4);font-size:var(--text-sm)}.booking-summary__meta-key{color:#ffffff8c;min-width:5.5rem;flex-shrink:0}.booking-summary__meta-val{color:var(--color-text-primary)}.booking-summary__seats{font-size:var(--text-base);color:#ffffff8c;padding-top:var(--spacing-3)}.booking-summary__seats--full{color:#ffffff8c}.booking-form-wrap{background:#ffffff0a;border-radius:var(--radius-md);padding:var(--spacing-6)}.booking-form{display:flex;flex-direction:column;gap:var(--spacing-5)}.booking-form__heading{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-white);margin:0 0 var(--spacing-1)}.booking-form__subtext{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.booking-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}@media(max-width:480px){.booking-form__row{grid-template-columns:1fr}}.booking-form__field{display:flex;flex-direction:column;gap:var(--spacing-1)}.booking-form__label{font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-white)}.booking-form__required{color:var(--color-red-tint)}.booking-form__input{background:#ffffff12;border:none;border-radius:var(--radius-sm);padding:var(--spacing-3) var(--spacing-4);font-size:var(--text-base);color:var(--color-white);width:100%;box-sizing:border-box}.booking-form__input::placeholder{color:#ffffff4d}.booking-form__input:focus{outline:2px solid var(--color-red);outline-offset:0}.booking-form__input--error{outline:2px solid var(--color-red-tint);outline-offset:0}.booking-form__field-error{font-size:var(--text-xs);color:var(--color-red-tint)}.booking-form__field-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--spacing-1);display:block}.booking-form__error-banner{background:#dc262626;border:1px solid rgba(220,38,38,.4);border-radius:var(--radius-sm);padding:var(--spacing-3) var(--spacing-4);font-size:var(--text-sm);color:#fca5a5}.booking-form__summary-line{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) 0;border-top:1px solid rgba(255,255,255,.08);font-size:var(--text-sm);color:var(--color-text-muted)}.booking-form__total{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-white)}.booking-form__cc-notice{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-3) var(--spacing-4);border-left:3px solid var(--color-blue);background:#1b4f9e12;border-radius:0 4px 4px 0;margin-bottom:var(--spacing-4)}.booking-form__cc-notice-title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-blue)}.booking-form__cc-notice-body{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.5}.booking-form__summary-breakdown{display:flex;flex-direction:column}.booking-form__summary-line--sub{padding:var(--spacing-2) 0;border-top:none;font-size:var(--text-xs);color:var(--color-text-muted);opacity:.8}.booking-form__summary-line--total{border-top:1px solid rgba(255,255,255,.08);margin-top:var(--spacing-1)}.booking-form__submit{width:100%}.booking-form__secure-note{font-size:var(--text-xs);color:var(--color-text-muted);text-align:center;margin:0}.booking-form__full-notice{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-5);padding:var(--spacing-8) 0;text-align:center;color:var(--color-text-muted)}.confirmation-page{min-height:100vh;background-color:var(--color-bg-dark);padding:var(--spacing-24) 0;display:flex;align-items:flex-start}.confirmation-page__inner{max-width:560px}.confirmation-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);padding:var(--spacing-8) var(--spacing-6);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-5);text-align:center}@media(min-width:576px){.confirmation-card{padding:var(--spacing-10) var(--spacing-8)}}.confirmation-card__icon{width:64px;height:64px;color:var(--color-green, #22c55e)}.confirmation-card__icon svg{width:100%;height:100%}.confirmation-card__heading{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-white);margin:0}.confirmation-card__subtext{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;max-width:360px;line-height:1.6}.confirmation-card__details{width:100%;display:flex;flex-direction:column;gap:1px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);overflow:hidden;text-align:left}.confirmation-detail{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);background:#ffffff08;font-size:var(--text-sm)}.confirmation-detail:nth-child(2n){background:#ffffff0d}.confirmation-detail__label{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.confirmation-detail__value{color:var(--color-white);text-align:right}.confirmation-detail__value--mono{font-family:monospace;font-size:var(--text-xs);word-break:break-all}.confirmation-card__actions{display:flex;flex-direction:column;gap:var(--spacing-3);width:100%;padding-top:var(--spacing-2)}@media(min-width:400px){.confirmation-card__actions{flex-direction:row;justify-content:center}}@media print{.confirmation-card__actions,.navbar-desktop,.mobile-header,.mobile-logo,.site-footer{display:none!important}.confirmation-page{background:#fff!important;padding:0!important;min-height:unset}.confirmation-card{background:#fff!important;border:none!important;color:#000!important;padding:16px!important}.confirmation-card__heading,.confirmation-detail__value{color:#000!important}.confirmation-detail__label,.confirmation-card__subtext{color:#555!important}.confirmation-detail{background:#fff!important}.confirmation-detail:nth-child(2n){background:#f5f5f5!important}.confirmation-card__icon{color:#16a34a!important}}
