@font-face{font-family:Manrope;src:url('assets/fonts/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--ivory:#f7f5f0;--carbon:#151515;--red:#ce202b;--gray:#686868;--line:rgba(21,21,21,.16);--intro-travel:165svh}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ivory);color:var(--carbon);font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible{outline:3px solid var(--red);outline-offset:5px}button:disabled{cursor:default}::selection{background:var(--red);color:#fff}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;padding:14px 20px;background:var(--carbon);color:white;z-index:100}.skip-link:focus{top:16px}.navigation{position:fixed;z-index:20;top:0;left:0;right:0;height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:rgba(247,245,240,.96);border-bottom:1px solid var(--line);transform:translateY(-105%);transition:transform .25s ease;gap:20px}.navigation.visible{transform:translateY(0)}.brand-link{padding:10px 0}.brand-link img{width:248px;height:auto}.languages{display:flex;gap:6px}.languages button{display:flex;align-items:center;gap:8px;min-height:44px;min-width:64px;padding:8px 10px;background:transparent;border:1px solid transparent;color:var(--gray);font-weight:700}.languages button[aria-pressed=true]{border-color:var(--line);color:var(--carbon);background:white}.languages svg{width:22px;height:15px}.intro{height:calc(100svh + var(--intro-travel));position:relative;background:var(--ivory)}.intro-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--ivory)}#intro-picture,#intro-poster,#intro-canvas{position:absolute;width:100%;height:100%;inset:0}#intro-poster{object-fit:cover}#intro-canvas{opacity:0;transition:opacity .18s;pointer-events:none}#intro-canvas.ready{opacity:1}.intro-top,.intro-bottom{position:absolute;left:4vw;right:4vw;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:2}.intro-top{top:24px}.intro-top>img{width:272px;height:auto}.skip-intro{display:flex;align-items:center;gap:16px;min-height:44px;font-weight:600;border-bottom:1px solid rgba(21,21,21,.4)}.skip-intro:hover{color:var(--red)}.intro-bottom{bottom:37px;font-weight:600;letter-spacing:.06em}.scroll-cue{display:flex;align-items:center;gap:18px}.scroll-stroke{width:1px;height:35px;background:var(--carbon);position:relative}.scroll-stroke:after{content:'';position:absolute;width:7px;height:7px;border-right:1px solid;border-bottom:1px solid;bottom:0;left:-3px;transform:rotate(45deg)}.intro-index{font-variant-numeric:tabular-nums}.intro-index span{opacity:.35;margin:0 12px}.intro-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(21,21,21,.08)}.intro-progress span{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left}.section-wrap{width:min(1240px,88vw);margin-inline:auto}.presentation{padding-top:100px;outline:0}.section-meta{display:flex;justify-content:space-between;gap:20px;letter-spacing:.11em;font-weight:700;padding-bottom:22px;border-bottom:1px solid var(--line)}.presentation-heading{display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:7%;padding:44px 0 54px}h1{font-weight:600;letter-spacing:-.065em;line-height:1.08;margin:0}.accent{color:var(--red)}p{line-height:1.8;color:var(--gray);margin:0}.presentation-heading p{max-width:400px;padding-bottom:5px}.video-shell{width:100%;aspect-ratio:16/9;background:var(--carbon);position:relative;overflow:hidden;color:white}.video-placeholder{position:absolute;inset:0;padding:32px;background:radial-gradient(ellipse at 78% 10%,#3b2022,transparent 58%),var(--carbon)}.video-placeholder>img{width:225px;height:auto}.video-placeholder-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.video-outline{font-weight:800;letter-spacing:-.085em;line-height:1.1;color:transparent;-webkit-text-stroke:1px rgba(247,245,240,.18);padding-right:.06em}.video-placeholder-center p{color:var(--ivory);font-weight:600;margin-top:18px}.video-placeholder-center>span:last-child{color:#bdbbb5;margin-top:8px}.video-corner{position:absolute;bottom:28px;right:32px;letter-spacing:.14em;color:#bdbbb5}#video-mount,#video-mount video,#video-mount iframe{position:absolute;inset:0;width:100%;height:100%;border:0}#video-mount video{object-fit:contain}.video-controls{position:absolute;bottom:16px;right:16px;display:flex;gap:8px;z-index:3}.video-controls button,.video-message button,.video-message a{min-height:44px;padding:10px 16px;border:1px solid #777;background:var(--ivory);color:var(--carbon);font-weight:700}.video-message{position:absolute;inset:0;z-index:4;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:14px;padding:24px;background:rgba(21,21,21,.96);text-align:center}.video-message p{color:white;flex-basis:100%}.product-section{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;align-items:center;margin-top:116px;margin-bottom:116px;padding-top:60px;border-top:1px solid var(--line)}.eyebrow{display:block;font-weight:700;letter-spacing:.12em;margin-bottom:22px}h2{font-weight:600;line-height:1.12;letter-spacing:-.055em;margin:0 0 24px}.product-copy>p{max-width:360px}.product-button{display:flex;justify-content:space-between;gap:28px;align-items:center;width:fit-content;min-width:224px;min-height:58px;margin-top:32px;padding:17px 24px;background:var(--red);color:white;font-weight:600;transition:background .2s}.product-button:hover{background:#af1b25}.product-button>span:last-child{line-height:1}.product-copy small{display:block;line-height:1.7;max-width:300px;color:var(--gray);margin-top:17px}footer{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid var(--line);padding:28px 0 35px}footer img{width:200px;height:auto}footer>span{color:var(--gray)}.noscript{padding:20px;text-align:center}.intro.is-static{height:100svh}.intro.is-static .scroll-cue{opacity:.7}
@media(min-width:1800px){.intro-top,.intro-bottom{left:6vw;right:6vw}}
@media(max-width:700px){html{scroll-padding-top:90px}.navigation{height:76px;padding:0 16px;gap:8px}.brand-link img{width:200px}.languages{gap:2px}.languages button{gap:5px;min-width:52px;padding:8px 5px;}.languages svg{width:18px}.intro-top{top:20px;left:20px;right:20px;align-items:flex-start}.intro-top>img{width:205px}.skip-intro{gap:8px;min-height:40px}.intro-bottom{left:24px;right:24px;bottom:30px;}.intro-index{}.section-wrap{width:calc(100% - 40px)}.presentation{padding-top:64px}.section-meta{gap:8px;padding-bottom:18px;letter-spacing:.06em}.presentation-heading{display:block;padding:30px 0 32px}h1{}.presentation-heading p{margin-top:25px;line-height:1.75;max-width:470px}.video-shell{aspect-ratio:16/9}.video-placeholder{padding:20px}.video-placeholder>img{width:180px}.video-outline{}.video-placeholder-center p{margin-top:10px}.video-placeholder-center>span:last-child{}.video-corner{bottom:18px;right:20px}.video-controls{bottom:10px;right:10px;left:10px;justify-content:flex-end}.video-controls button{padding:8px 12px}.product-section{grid-template-columns:1fr;gap:36px;margin-top:65px;margin-bottom:65px;padding-top:40px}.product-copy{padding:0 6px}.eyebrow{margin-bottom:18px}h2{max-width:370px}.product-copy>p{}.product-button{width:100%;min-height:58px}.product-copy small{max-width:none}footer{flex-wrap:wrap;gap:20px;padding-bottom:30px}footer img{width:200px}footer>span:nth-child(2){display:none}}
@media(max-width:359px){.navigation .brand-link img{width:165px}.intro-top>img{width:175px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}.intro{height:100svh}}


.video-controls{top:16px;bottom:auto}

.video-corner,footer>span{}@media(max-width:700px){.section-meta,.video-corner{}.section-meta{letter-spacing:.025em}}

.navigation{background:var(--ivory)}.navigation nav{display:flex;align-items:center;gap:22px}.nav-skip{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:700}.nav-symbol{display:none}@media(max-width:700px){.brand-link .nav-logo{display:none}.brand-link .nav-symbol{display:block;width:44px;height:44px;object-fit:contain}.navigation nav{gap:18px}}


/* Course preview: fixed proportions, uncropped source images, native swipe. */
.product-section > * { min-width: 0; }
.course-carousel { min-width: 0; }
.course-viewport { position: relative; display: flex; width: 100%; aspect-ratio: 1.18; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; touch-action: pan-y pinch-zoom; scrollbar-width: none; background: var(--carbon); cursor: grab; }
.course-viewport::-webkit-scrollbar { display: none; }
.course-viewport:focus-visible { outline: 3px solid var(--red); outline-offset: 5px; }
.course-viewport.is-dragging,.course-viewport.is-animating { scroll-snap-type: none; }
.course-viewport.is-dragging { cursor: grabbing; user-select: none; }
.course-slide { flex: 0 0 100%; min-width: 0; height: 100%; scroll-snap-align: start; scroll-snap-stop: always; display: block; background: var(--carbon); }
.course-slide[data-tone="light"] { background: #fff; }
.course-slide > a { position: relative; display: block; height: 100%; -webkit-touch-callout: none; }
.course-slide img { width: 100%; height: 100%; object-fit: contain; user-select: none; -webkit-user-drag: none; }
.course-slide > a:focus-visible { outline-offset: -5px; }
.course-image-error { position: absolute; inset: 0; display: grid; place-items: center;  color: var(--gray); background: var(--ivory); }
.course-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 16px; }
.course-label {  font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--gray); }
.course-controls { display: flex; align-items: center; gap: 4px; }

.course-controls button { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; padding: 0; background: transparent; color: var(--carbon); border: 1px solid var(--line); transition: border-color .2s, background .2s; }
.course-controls button:hover { border-color: var(--carbon); background: #fff; }
.course-controls button > span {  line-height: 1; }
.course-controls button svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.course-controls .play-icon { display: none; }
.course-controls [data-paused="true"] .play-icon { display: block; }
.course-controls [data-paused="true"] .pause-icon { display: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 700px) { .course-viewport { aspect-ratio: 1 / 1.04; } .course-toolbar { flex-wrap: wrap; } .course-label {  letter-spacing: .02em; } .course-controls { margin-left: auto; } }

.course-stage{position:relative}
.course-navigation{position:absolute;inset:50% 6px auto;display:flex;justify-content:space-between;transform:translateY(-50%);pointer-events:none}
.course-navigation button{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;pointer-events:auto;transition:color .18s ease}
.course-navigation button::before{content:'';position:absolute;inset:4px;border-radius:50%;background:rgba(21,21,21,.92)}
.course-navigation svg{position:relative;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(hover:hover){.course-navigation button:hover{color:var(--red)}}
.course-navigation button:focus-visible,.course-navigation button:active{color:var(--red)}
.course-controls button{border-color:transparent;background:transparent}
.course-controls button:hover{border-color:transparent;background:transparent;color:var(--red)}
.course-toolbar{display:grid;grid-template-columns:1fr auto 1fr;gap:8px}
.course-controls{justify-self:end;margin:0}
.course-dots{display:flex;align-items:center;justify-content:center}
.course-dots button{display:grid;place-items:center;width:24px;height:44px;padding:0;border:0;background:transparent}
.course-dots button::before{content:'';width:6px;height:6px;border-radius:50%;background:#b8b6b0;transition:background .18s ease,transform .18s ease}
.course-dots button[aria-current="true"]::before{background:var(--red);transform:scale(1.3)}
.course-dots button:hover::before{background:var(--red)}

/* Four shared text sizes. Manrope is the original variable font from the brand kit. */
:root{--type-display:clamp(2.375rem,5vw,4rem);--type-section:clamp(2rem,3.75vw,3rem);--type-body:1rem;--type-label:.875rem}
body,p,button,.video-placeholder-center p{font-size:var(--type-body)}
h1,.video-outline{font-size:var(--type-display)}
h2{font-size:var(--type-section)}
.navigation,.languages button,.nav-skip,.skip-intro,.intro-bottom,.intro-index,.section-meta,.eyebrow,.video-placeholder-center>span:last-child,.video-corner,.video-controls button,.video-message button,.video-message a,.course-label,.product-copy small,footer>span{font-size:var(--type-label)}
.product-button,.product-button>span:last-child,.course-image-error{font-size:var(--type-body)}

.video-outline{letter-spacing:-.065em}
.course-toolbar{display:flex;justify-content:space-between;gap:8px}
.course-label{flex:1;letter-spacing:0;text-transform:none;line-height:1.5}
.course-dots,.course-controls{flex-shrink:0}
.course-controls{margin-left:auto}
@media(max-width:700px){.presentation-heading p,.product-copy>p{font-size:var(--type-body)}}
.course-navigation button{opacity:.42;transition:color .18s ease,opacity .18s ease}
.course-navigation button::before{inset:9px}
.course-navigation svg{width:14px;height:14px;stroke-width:1.6}
@media(hover:hover){.course-navigation button:hover{opacity:1}}
.course-navigation button:focus-visible,.course-navigation button:active{opacity:1}
.navigation .brand-link .nav-symbol{width:44px;height:44px}
h1,h2{text-wrap:balance}

/* Social profiles: locally stored vector icons, with no third-party embeds. */
.social-links{display:flex;align-items:center;gap:4px}
.social-links a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;transition:background .18s ease}
.social-links a:hover,.social-links a:focus-visible{background:rgba(21,21,21,.05)}
.social-links .social-icon{display:block;width:24px;height:24px;object-fit:contain}
@media(max-width:700px){footer .social-links{margin-left:auto}footer>span{white-space:nowrap}}
.social-links [data-social="youtube"] .social-icon{width:36px;height:36px}
.footer-contact{display:flex;align-items:center;min-height:44px;font-size:var(--type-label);color:var(--gray)}
.footer-contact:hover,.footer-contact:focus-visible{color:var(--red)}
.contact-page{min-height:100svh;display:flex;flex-direction:column}
.contact-page main{flex:1;padding-top:170px;padding-bottom:100px}
.contact-page .section-meta{margin-bottom:46px}
.contact-page h1{max-width:1050px}
.contact-details{margin-top:48px;max-width:630px}
.contact-details>p{max-width:580px}
.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:32px}
.contact-actions .product-button{margin-top:0;min-width:0;max-width:100%;overflow-wrap:anywhere}
.copy-email{min-height:44px;padding:8px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--gray);font-size:var(--type-label)}
.copy-email:hover{color:var(--carbon)}
.contact-status{min-height:28px;margin-top:12px;font-size:var(--type-label);color:var(--carbon)}
.contact-page footer{margin-top:auto}
@media(max-width:700px){.contact-page main{padding-top:124px;padding-bottom:54px}.contact-page .section-meta{margin-bottom:32px}.contact-details{margin-top:32px}.contact-actions{gap:16px}}

/* Shared navigation and the 16:9 presentation fallback. */
.navigation .nav-skip{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);background:transparent;transition:border-color .2s,color .2s}
.navigation .nav-skip:hover{border-color:var(--red);color:var(--red)}
.footer-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.video-placeholder{z-index:2;padding:0;background:var(--carbon);pointer-events:none}
.video-placeholder>#video-poster{width:100%;height:100%;object-fit:contain}
.video-message{align-content:flex-end;background:linear-gradient(transparent 15%,rgba(0,0,0,.82));gap:12px}
.legal-draft{margin-top:28px;padding-left:18px;border-left:2px solid var(--red);max-width:820px}
.legal-content{max-width:820px;margin-top:56px}
.legal-content section+section{margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
.legal-content h2{font-size:var(--type-body);letter-spacing:0;line-height:1.5;font-weight:700;margin-bottom:12px;text-wrap:initial}
.legal-content p+p{margin-top:16px}
.legal-content a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-content a:hover{color:var(--red)}
.legal-email{display:inline-flex;align-items:center;min-height:44px;margin-top:8px}
@media(max-width:700px){.navigation .nav-skip{padding-inline:12px}.footer-links{gap:20px}.legal-content{margin-top:40px}.video-message{padding:16px;gap:8px}.video-message a,.video-message button{padding:8px 10px}}
