:root{--ink:#191614;--soft:rgba(25,22,20,.72);--paper:#fbf6ee;--cream:#fffaf1;--chalk:#f2e7d7;--red:#e51c23;--deep:#9d1b22;--butter:#f4d36a;--blue:#35627a;--line:rgba(25,22,20,.14);--sans:"Cabinet Grotesk","Arial Narrow",Arial,sans-serif;--serif:"Instrument Serif",Georgia,serif;--mono:"DM Mono",Consolas,monospace;--ease:cubic-bezier(.19,1,.22,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;color:var(--ink);background:radial-gradient(circle at 92% 4%,rgba(244,211,106,.42),transparent 28rem),radial-gradient(circle at 8% 28%,rgba(229,28,35,.13),transparent 30rem),linear-gradient(180deg,#fffaf1,#f8efe4 42%,#fffaf1);font-family:var(--sans);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:60;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.72'/%3E%3C/svg%3E");mix-blend-mode:multiply}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.skip-link{position:fixed;left:1rem;top:1rem;z-index:100;transform:translateY(-160%);border-radius:999px;padding:.7rem 1rem;color:var(--cream);background:var(--ink);font-weight:700}.skip-link:focus{transform:translateY(0)}.nav{position:fixed;top:18px;left:50%;z-index:50;width:min(1180px,calc(100% - 28px));transform:translateX(-50%);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:.52rem .62rem .52rem .64rem;background:rgba(255,250,241,.7);box-shadow:inset 0 1px rgba(255,255,255,.8),0 22px 70px rgba(102,51,42,.14);backdrop-filter:blur(22px)}.brand{display:inline-grid;grid-template-columns:48px 1fr;align-items:center;gap:.76rem;min-width:0;text-decoration:none}.brand img{width:48px;height:48px;border-radius:50%;object-fit:contain;background:#fff;box-shadow:0 8px 18px rgba(25,22,20,.08)}.brand span{display:grid;min-width:0}.brand strong{overflow:hidden;font-size:clamp(1rem,1.8vw,1.34rem);line-height:.94;text-overflow:ellipsis;white-space:nowrap}.brand small,.section-note,.course-card span,.step-card span,.story-card span,.form-head p,.footer{font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase}.brand small{color:var(--deep)}.links{display:flex;justify-content:center;gap:clamp(.72rem,1.8vw,1.5rem)}.links a,.mobile-menu a{position:relative;text-decoration:none;font-size:.92rem;font-weight:700;color:rgba(25,22,20,.7)}.links a:after,.mobile-menu a:after{content:"";position:absolute;left:0;right:0;bottom:-.24rem;height:2px;transform:scaleX(0);transform-origin:left;background:var(--red);transition:transform .24s var(--ease)}.links a:hover:after,.mobile-menu a:hover:after{transform:scaleX(1)}.nav-cta{justify-self:end}.nav-toggle{display:none;justify-self:end;width:44px;height:44px;border:0;border-radius:50%;background:var(--ink)}.nav-toggle span{display:block;width:18px;height:2px;margin:5px auto;background:var(--cream)}.mobile-menu{position:fixed;top:82px;left:50%;z-index:45;width:min(420px,calc(100% - 28px));transform:translate(-50%,-12px);display:grid;gap:.86rem;padding:1rem;border:1px solid rgba(255,255,255,.48);border-radius:24px;background:rgba(255,250,241,.94);box-shadow:0 24px 70px rgba(102,51,42,.16);opacity:0;pointer-events:none;backdrop-filter:blur(20px);transition:opacity .22s var(--ease),transform .22s var(--ease)}.mobile-menu.open{transform:translate(-50%,0);opacity:1;pointer-events:auto}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid transparent;border-radius:999px;padding:.82rem 1.08rem;font-weight:800;line-height:1;text-decoration:none;transition:transform .24s var(--ease),background .24s var(--ease),color .24s var(--ease),border-color .24s var(--ease)}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0) scale(.98)}.button-red{color:#fff;background:var(--red);box-shadow:0 16px 34px rgba(229,28,35,.22)}.button-red:hover{background:var(--deep)}.button-light{color:var(--ink);border-color:rgba(255,255,255,.44);background:rgba(255,250,241,.72);backdrop-filter:blur(16px)}.button-dark{color:var(--cream);background:var(--ink)}.hero{position:relative;min-height:94svh;display:grid;align-items:end;overflow:hidden;padding:clamp(7.4rem,13vw,10rem) clamp(1rem,5vw,5rem) 0;color:var(--cream);isolation:isolate}.hero-video,.hero-wash{position:absolute;inset:0}.hero-video{z-index:-3;width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.06)}.hero-wash{z-index:-2;background:linear-gradient(90deg,rgba(18,16,15,.92),rgba(18,16,15,.46) 54%,rgba(18,16,15,.8)),radial-gradient(circle at 22% 24%,rgba(229,28,35,.36),transparent 30rem),radial-gradient(circle at 78% 34%,rgba(244,211,106,.18),transparent 28rem)}.hero-inner{position:relative;z-index:2;width:min(980px,100%);padding-bottom:clamp(5.8rem,10vw,8.4rem)}.eyebrow{margin:0 0 1rem;font:500 .8rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,250,241,.72)}.hero h1,.intro h2,.section-head h2,.path h2,.cta h2{margin:0;font-size:clamp(3.55rem,8.8vw,9.4rem);line-height:.79;letter-spacing:0;text-wrap:balance}.hero-copy{max-width:38rem;margin:1.35rem 0 0;color:rgba(255,250,241,.78);font-size:clamp(1.08rem,1.7vw,1.38rem);line-height:1.45}.hero-actions{display:flex;flex-wrap:wrap;gap:.76rem;margin-top:2rem}.hero-mark{position:absolute;right:clamp(1rem,5vw,5rem);bottom:clamp(5.4rem,9vw,7.8rem);z-index:1;width:clamp(180px,26vw,410px);aspect-ratio:1;display:grid;place-items:center;border-radius:46% 54% 52% 48%;background:rgba(255,250,241,.9);box-shadow:0 38px 110px rgba(0,0,0,.28);transform:rotate(-4deg)}.hero-mark img{width:92%;height:92%;object-fit:contain}.hero-next{position:relative;z-index:2;width:calc(100% + clamp(2rem,10vw,10rem));margin-inline:calc(clamp(1rem,5vw,5rem)*-1);overflow:hidden;border-top:1px solid rgba(255,250,241,.24);background:rgba(25,22,20,.58);backdrop-filter:blur(16px)}.hero-next:before,.hero-next:after{content:"";position:absolute;top:0;bottom:0;z-index:2;width:clamp(2rem,7vw,8rem);pointer-events:none}.hero-next:before{left:0;background:linear-gradient(90deg,rgba(25,22,20,.7),transparent)}.hero-next:after{right:0;background:linear-gradient(270deg,rgba(25,22,20,.7),transparent)}.hero-next-track{display:flex;width:max-content;animation:heroNextScroll 38s linear infinite}.hero-next:hover .hero-next-track{animation-play-state:paused}.hero-next span{flex:0 0 auto;min-width:clamp(15rem,22vw,25rem);padding:1.1rem clamp(1.2rem,3vw,2.6rem);border-right:1px solid rgba(255,250,241,.2);font:800 clamp(1.08rem,2.35vw,2.5rem)/1 var(--sans);white-space:nowrap}.hero-next span:nth-child(4n+1){background:rgba(255,250,241,.03)}@keyframes heroNextScroll{to{transform:translateX(-50%)}}.intro,.courses,.path,.gallery,.cta{padding:clamp(6rem,13vw,11rem) clamp(1rem,5vw,5rem)}.intro{display:grid;grid-template-columns:minmax(280px,.84fr) minmax(0,1.16fr);gap:clamp(2rem,6vw,6rem);align-items:start}.intro-copy{position:sticky;top:112px}.section-note{margin:0 0 1rem;color:var(--deep)}.intro h2,.section-head h2,.path h2,.cta h2{font-size:clamp(2.75rem,6.9vw,7.35rem);color:var(--ink)}.intro-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.86rem}.story-card{position:relative;min-height:260px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;border-radius:24px;padding:clamp(1rem,2vw,1.45rem);background:var(--cream);box-shadow:0 20px 60px rgba(113,75,57,.12)}.story-card img{width:100%;height:100%;object-fit:cover}.story-card h3{margin:.44rem 0 0;font-size:clamp(1.6rem,3.3vw,3.2rem);line-height:.9}.story-card p{margin:.8rem 0 0;color:rgba(255,250,241,.78);line-height:1.45}.story-large{grid-column:span 4;min-height:440px;padding:0;background:#fff}.story-large>div{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;border-radius:18px;padding:1rem;background:rgba(255,250,241,.82);backdrop-filter:blur(18px)}.story-red{grid-column:span 2;color:#fff;background:var(--red)}.story-image{grid-column:span 3;min-height:340px;padding:0}.story-cream{grid-column:span 3;background:var(--butter)}.story-cream img{position:absolute;right:-18%;bottom:-42%;width:86%;height:auto;opacity:.2}.marquee{overflow:hidden;color:var(--cream);background:var(--red)}.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite}.marquee span{padding:1rem 1.4rem 1.15rem;font-size:clamp(2.6rem,7vw,6rem);font-weight:800;line-height:.9;white-space:nowrap}.marquee em{font-family:var(--serif);font-weight:400}@keyframes marquee{to{transform:translateX(-50%)}}.section-head{width:min(1180px,100%);margin:0 auto clamp(2rem,5vw,4rem)}.course-panels{display:grid;grid-template-columns:1.45fr .85fr .85fr .85fr;gap:.86rem;width:min(1320px,100%);min-height:620px;margin:0 auto}.course-card{position:relative;overflow:hidden;display:flex;align-items:end;min-width:0;min-height:620px;border-radius:28px;padding:1.1rem;color:var(--cream);background:var(--ink);transition:transform .46s var(--ease),filter .46s var(--ease)}.course-card:hover{transform:translateY(-8px)}.course-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.84) contrast(1.05);transition:transform .8s var(--ease),filter .46s var(--ease)}.course-card:hover img{transform:scale(1.06)}.course-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 12%,rgba(17,15,14,.82))}.course-card div{position:relative;z-index:1;max-width:28rem}.course-card h3{margin:.42rem 0 .55rem;font-size:clamp(2.4rem,5vw,5rem);line-height:.82}.course-card p{margin:0;color:rgba(255,250,241,.76);font-size:1.02rem;line-height:1.45}.path{display:grid;grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr);gap:clamp(2rem,6vw,6rem);color:var(--cream);background:radial-gradient(circle at 8% 18%,rgba(229,28,35,.28),transparent 28rem),radial-gradient(circle at 80% 64%,rgba(53,98,122,.36),transparent 28rem),#161412}.path h2,.path .section-note{color:var(--cream)}.path-copy{min-height:72vh;display:flex;flex-direction:column;justify-content:center}.words{max-width:34rem;color:rgba(255,250,241,.7);font-size:clamp(1.05rem,1.35vw,1.24rem);line-height:1.55}.words span{opacity:.18}.path-stack{display:grid;gap:1rem;padding-top:6vh}.step-card{position:sticky;top:112px;min-height:430px;overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr;gap:1rem;border:1px solid rgba(255,250,241,.18);border-radius:28px;padding:1rem;background:rgba(255,250,241,.08);box-shadow:0 24px 80px rgba(0,0,0,.22);backdrop-filter:blur(16px)}.step-card:nth-child(2){top:132px}.step-card:nth-child(3){top:152px}.step-card>div{display:flex;flex-direction:column;justify-content:space-between;padding:.24rem}.step-card h3{margin:.8rem 0;font-size:clamp(2.6rem,5.6vw,6rem);line-height:.8}.step-card p{margin:0;color:rgba(255,250,241,.72);line-height:1.48}.step-card img,.step-card video{width:100%;height:100%;min-height:340px;border-radius:20px;object-fit:cover}.gallery{overflow:hidden}.gallery-row{display:flex;gap:.86rem;width:max-content;padding-left:max(1rem,calc((100vw - 1320px)/2))}.gallery-row img{width:clamp(220px,28vw,420px);height:clamp(310px,42vw,560px);border-radius:28px;object-fit:cover;box-shadow:0 22px 70px rgba(113,75,57,.14)}.gallery-row img:nth-child(even){margin-top:4rem}.cta{position:relative;min-height:680px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem;overflow:hidden;background:var(--butter)}.cta:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,211,106,.92),rgba(244,211,106,.5)),url("assets/media/couverture-chantal.png") center/cover;opacity:.64}.cta>*{position:relative;z-index:1}.cta-silhouette{position:absolute;right:4%;top:7%;z-index:0;width:min(52vw,680px);opacity:.14;transform:rotate(10deg)}.cta h2{max-width:980px}.footer{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;padding:1.1rem clamp(1rem,5vw,5rem);color:var(--cream);background:var(--ink)}.footer a{justify-self:end;text-decoration:none}.contact-dialog{width:min(720px,calc(100% - 2rem));border:0;border-radius:28px;padding:0;color:var(--ink);background:var(--cream);box-shadow:0 30px 100px rgba(0,0,0,.38)}.contact-dialog::backdrop{background:rgba(20,18,16,.68);backdrop-filter:blur(10px)}.form-head{display:flex;justify-content:space-between;gap:1rem;padding:1.35rem;border-bottom:1px solid var(--line)}.form-head h2{margin:0;font-size:clamp(2.6rem,7vw,5.2rem);line-height:.82}.form-head p{margin:0 0 .5rem;color:var(--deep)}.close-button{flex:0 0 auto;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:transparent;font-size:1.45rem;line-height:1}form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.35rem}label{display:grid;gap:.4rem;font-weight:700}.full{grid-column:1/-1}input,textarea{width:100%;border:1px solid rgba(25,22,20,.18);border-radius:16px;padding:.86rem .94rem;color:var(--ink);background:#fff}textarea{min-height:136px;resize:vertical}label small{min-height:1em;color:var(--deep);font-size:.78rem}.submit{justify-self:start}.success{display:none;grid-column:1/-1;margin:0;border-radius:16px;padding:.82rem .95rem;color:#fff;background:var(--red);font-weight:800}.success.show{display:block}@media(max-width:1080px){.links,.nav-cta{display:none}.nav{grid-template-columns:1fr auto}.nav-toggle{display:block}.hero-mark{right:1rem;bottom:5.6rem;width:clamp(150px,31vw,260px);opacity:.9}.intro,.path,.cta{grid-template-columns:1fr}.intro-copy{position:static}.course-panels{grid-template-columns:repeat(2,minmax(0,1fr));min-height:auto}.course-card{min-height:460px}.path-copy{min-height:auto}.step-card{grid-template-columns:1fr}}@media(max-width:680px){.nav{top:10px;width:calc(100% - 18px);padding:.48rem}.brand{grid-template-columns:42px 1fr;gap:.55rem}.brand img{width:42px;height:42px}.brand strong{max-width:12rem;font-size:1rem}.hero{min-height:880px;padding-inline:.86rem}.hero h1{font-size:clamp(3.2rem,16vw,5.2rem)}.hero-mark{position:relative;right:auto;bottom:auto;width:min(78vw,280px);margin:0 0 6rem auto}.hero-inner{padding-bottom:2rem}.hero-next{width:calc(100% + 1.72rem);margin-inline:-.86rem;overflow:hidden}.intro,.courses,.path,.gallery,.cta{padding-inline:.86rem}.intro-grid,.course-panels,form,.footer{grid-template-columns:1fr}.story-large,.story-red,.story-image,.story-cream,.full{grid-column:auto}.story-large{min-height:360px}.course-card{min-height:380px}.step-card,.step-card:nth-child(2),.step-card:nth-child(3){position:relative;top:auto}.gallery-row{padding-left:0;overflow-x:auto;width:100%;scroll-snap-type:x mandatory}.gallery-row img{flex:0 0 78vw;scroll-snap-align:start}.gallery-row img:nth-child(even){margin-top:2rem}.cta{min-height:620px;align-items:center}.footer a{justify-self:start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}.hero-next-track,.marquee-track{animation:none!important;transform:none!important}}


.about-section{grid-template-columns:minmax(360px,.9fr) minmax(0,1.1fr);gap:clamp(2.2rem,6vw,6.5rem);align-items:start}.about-copy{max-width:760px}.about-copy .section-note{color:var(--deep)}.about-copy h2{font-size:clamp(3rem,6.4vw,7.1rem);line-height:.82}.about-text{display:grid;gap:1rem;margin-top:clamp(1.6rem,3vw,2.4rem);max-width:64ch;color:var(--soft);font-size:clamp(1.02rem,1.24vw,1.2rem);line-height:1.6}.about-text p{margin:0}.about-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.9rem}.about-card{position:relative;min-height:230px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;grid-column:span 3;border-radius:24px;padding:clamp(1rem,2vw,1.45rem);color:var(--ink);background:rgba(255,250,241,.82);box-shadow:inset 0 1px rgba(255,255,255,.72),0 20px 60px rgba(113,75,57,.12);backdrop-filter:blur(16px);transition:transform .26s var(--ease),box-shadow .26s var(--ease)}.about-card:hover{transform:translateY(-5px);box-shadow:inset 0 1px rgba(255,255,255,.74),0 28px 78px rgba(113,75,57,.16)}.about-card span{position:relative;z-index:1;font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;color:var(--deep)}.about-card h3{position:relative;z-index:1;margin:.7rem 0 0;font-size:clamp(1.55rem,2.7vw,2.75rem);line-height:.94;text-wrap:balance}.about-card p{position:relative;z-index:1;margin:1rem 0 0;color:rgba(25,22,20,.7);font-size:clamp(.96rem,1.05vw,1.04rem);line-height:1.48}.about-card strong{position:relative;z-index:1;display:block;margin:.6rem 0 .2rem;font-size:clamp(4rem,8vw,7.6rem);line-height:.75;letter-spacing:0}.about-card-red{grid-column:span 2;color:#fff;background:var(--red)}.about-card-red span,.about-card-red p{color:rgba(255,250,241,.82)}.about-card-red strong{color:#fff}.about-card-image{grid-column:span 4;min-height:330px;color:#fff;background:var(--ink)}.about-card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05)}.about-card-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,22,20,.08),rgba(25,22,20,.82))}.about-card-image span,.about-card-image h3{color:#fff}.about-card-soft{background:var(--butter)}.about-card-wide{grid-column:span 3;background:#fff}.about-card-dark{grid-column:span 3;color:var(--cream);background:#191614}.about-card-dark span,.about-card-dark p{color:rgba(255,250,241,.76)}.about-card-dark h3{color:var(--cream)}@media(max-width:1080px){.about-section{grid-template-columns:1fr}.about-copy{max-width:100%}.about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-card,.about-card-red,.about-card-image,.about-card-wide,.about-card-dark{grid-column:auto}}@media(max-width:680px){.about-grid{grid-template-columns:1fr}.about-card,.about-card-image{min-height:260px}.about-copy h2{font-size:clamp(3rem,14vw,4.7rem)}}

.teachers{position:relative;overflow:hidden;padding:clamp(6rem,13vw,11rem) clamp(1rem,5vw,5rem);background:radial-gradient(circle at 8% 12%,rgba(229,28,35,.12),transparent 28rem),radial-gradient(circle at 92% 72%,rgba(244,211,106,.28),transparent 30rem),linear-gradient(180deg,#fffaf1,#f7ecdf)}.teachers:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(rgba(25,22,20,.18) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent,black 12%,black 88%,transparent)}.teachers-head{position:relative;z-index:1;width:min(1180px,100%);margin:0 auto clamp(2rem,5vw,4rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:clamp(1.2rem,4vw,4rem);align-items:end}.teachers-head h2{margin:0;font-size:clamp(2.75rem,6.8vw,7.25rem);line-height:.82;letter-spacing:0;text-wrap:balance}.teachers-head p:last-child{margin:0;color:var(--soft);font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.52}.teacher-grid{position:relative;z-index:1;width:min(1320px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.92rem}.teacher-card{position:relative;min-height:430px;overflow:hidden;display:flex;align-items:end;border-radius:28px;padding:1rem;color:var(--cream);background:#191614;box-shadow:0 22px 70px rgba(113,75,57,.16);isolation:isolate;transition:transform .28s var(--ease),box-shadow .28s var(--ease)}.teacher-card:hover{transform:translateY(-7px);box-shadow:0 30px 86px rgba(113,75,57,.22)}.teacher-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(25,22,20,.03) 20%,rgba(25,22,20,.86)),radial-gradient(circle at 24% 12%,rgba(255,250,241,.22),transparent 16rem)}.teacher-card:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.16;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:screen}.teacher-card img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.18) contrast(1.12) brightness(.9);transition:transform .7s var(--ease),filter .28s var(--ease)}.teacher-card:hover img{transform:scale(1.05);filter:grayscale(1) sepia(.08) contrast(1.2) brightness(.98)}.teacher-card div{position:relative;z-index:1;display:grid;gap:.5rem;width:100%;border:1px solid rgba(255,250,241,.18);border-radius:20px;padding:.9rem;background:rgba(25,22,20,.48);backdrop-filter:blur(12px)}.teacher-card span{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,250,241,.7)}.teacher-card h3{margin:0;font-size:clamp(1.7rem,2.7vw,3rem);line-height:.88;text-wrap:balance}.teacher-card p{margin:0;color:rgba(255,250,241,.78);font-size:.98rem;line-height:1.35}.teacher-card-pending img{object-fit:contain;padding:18%;background:linear-gradient(135deg,#fffaf1,#f4d36a);filter:grayscale(1) sepia(.18) contrast(1.08) brightness(.95);opacity:.72}.teacher-card-pending:before{background:linear-gradient(180deg,rgba(25,22,20,.08),rgba(25,22,20,.86)),radial-gradient(circle at 50% 24%,rgba(229,28,35,.22),transparent 18rem)}@media(max-width:1080px){.teachers-head{grid-template-columns:1fr}.teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.teacher-grid{grid-template-columns:1fr}.teacher-card{grid-column:auto;min-height:430px}.teachers-head h2{font-size:clamp(3rem,14vw,4.8rem)}}


/* Stacked teacher carousel */
.teachers{color:var(--cream);background:radial-gradient(circle at 18% 12%,rgba(229,28,35,.2),transparent 26rem),radial-gradient(circle at 80% 82%,rgba(244,211,106,.12),transparent 30rem),#090807}.teachers:before{opacity:.11;background-image:radial-gradient(rgba(255,250,241,.34) 1px,transparent 1px)}.teachers .section-note,.teachers-head h2{color:var(--cream)}.teachers-head p:last-child{color:rgba(255,250,241,.68)}.teacher-carousel{position:relative;z-index:1;width:min(1420px,100%);height:clamp(560px,62vw,760px);margin:0 auto;display:grid;place-items:center;overflow:hidden;user-select:none;touch-action:pan-y;perspective:1400px}.teacher-stage{position:absolute;inset:0;display:grid;place-items:center;cursor:grab}.teacher-stage.is-dragging{cursor:grabbing}.teacher-carousel:before{content:"";position:absolute;left:50%;bottom:10%;width:min(760px,72vw);height:70px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(229,28,35,.2),transparent 68%);filter:blur(18px)}.teacher-card{position:absolute;top:50%;left:50%;width:clamp(230px,25vw,390px);height:clamp(360px,42vw,590px);min-height:0;overflow:hidden;display:block;padding:0;border:1px solid rgba(255,250,241,.12);border-radius:28px;color:var(--cream);background:#191614;box-shadow:0 30px 90px rgba(0,0,0,.36);transform:translate(-50%,-50%);transform-origin:center bottom;transition:transform .5s var(--ease),opacity .5s var(--ease),filter .5s var(--ease),box-shadow .5s var(--ease);will-change:transform,opacity,filter;pointer-events:none}.teacher-card.is-active{box-shadow:0 42px 120px rgba(0,0,0,.5);pointer-events:auto}.teacher-card:hover{transform:var(--teacher-transform,translate(-50%,-50%))}.teacher-card:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(9,8,7,.06) 16%,rgba(9,8,7,.18) 44%,rgba(9,8,7,.86));pointer-events:none}.teacher-card:after{content:"";position:absolute;inset:0;z-index:2;opacity:.12;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:screen;pointer-events:none}.teacher-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) sepia(.18) contrast(1.14) brightness(.88);transition:transform .7s var(--ease),filter .35s var(--ease)}.teacher-card.is-active img{filter:grayscale(1) sepia(.12) contrast(1.22) brightness(.96)}.teacher-card.is-active:hover img{transform:scale(1.05)}.teacher-card-pending img{object-fit:contain;padding:18%;background:linear-gradient(135deg,#fffaf1,#d8bd77);opacity:.76}.teacher-badge{position:absolute;right:clamp(.9rem,2vw,1.45rem);top:clamp(.9rem,2vw,1.45rem);z-index:4;border-radius:999px;padding:.48rem .76rem;color:#12100e;background:rgba(255,250,241,.94);box-shadow:0 12px 28px rgba(0,0,0,.22);font-family:var(--mono);font-size:clamp(.62rem,.9vw,.78rem);font-weight:700;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}.teacher-copy{position:absolute;left:clamp(1rem,2vw,1.45rem);right:clamp(1rem,2vw,1.45rem);bottom:clamp(1rem,2.4vw,2rem);z-index:4;display:grid;gap:.5rem;border:0;border-radius:0;padding:0;background:transparent;backdrop-filter:none}.teacher-copy h3{margin:0;font-size:clamp(2rem,3.5vw,4rem);line-height:.86;text-wrap:balance}.teacher-copy p{max-width:22rem;margin:0;color:rgba(255,250,241,.76);font-size:clamp(.95rem,1.2vw,1.08rem);font-weight:600;font-style:italic;line-height:1.32}.teacher-card:not(.is-active) .teacher-copy p{opacity:0}.teacher-control{position:absolute;top:50%;z-index:30;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,250,241,.2);border-radius:50%;color:var(--cream);background:rgba(255,250,241,.08);box-shadow:0 16px 40px rgba(0,0,0,.3);backdrop-filter:blur(14px);font-size:1.25rem;transition:transform .2s var(--ease),background .2s var(--ease)}.teacher-control:hover{transform:translateY(-50%) scale(1.06);background:rgba(255,250,241,.16)}.teacher-control-prev{left:clamp(.4rem,3vw,2rem);transform:translateY(-50%)}.teacher-control-next{right:clamp(.4rem,3vw,2rem);transform:translateY(-50%)}.teacher-carousel-hint{position:absolute;left:50%;bottom:.35rem;z-index:20;transform:translateX(-50%);margin:0;color:rgba(255,250,241,.52);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.teacher-grid{display:block}@media(max-width:1080px){.teacher-carousel{height:clamp(500px,76vw,680px)}.teacher-card{width:clamp(220px,34vw,340px);height:clamp(340px,52vw,520px)}}@media(max-width:680px){.teacher-carousel{height:560px;overflow:visible}.teacher-card{width:min(76vw,310px);height:430px}.teacher-control{top:auto;bottom:2.1rem}.teacher-control-prev{left:calc(50% - 4rem);transform:none}.teacher-control-next{right:calc(50% - 4rem);transform:none}.teacher-control:hover{transform:scale(1.06)}.teacher-carousel-hint{bottom:0}}

/* Teacher carousel placement refinements */
.teacher-card .teacher-badge{position:absolute;right:clamp(.9rem,2vw,1.45rem);top:clamp(.9rem,2vw,1.45rem);z-index:4;border-radius:999px;padding:.48rem .9rem;color:#12100e;background:rgba(255,250,241,.94);box-shadow:0 12px 28px rgba(0,0,0,.22);font-family:var(--mono);font-size:clamp(.62rem,.9vw,.78rem);font-weight:700;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}.teacher-card .teacher-copy{position:absolute;left:clamp(1rem,2vw,1.45rem);right:clamp(1rem,2vw,1.45rem);bottom:clamp(1rem,2.4vw,2rem);z-index:4;display:grid;gap:.5rem;width:auto;border:1px solid rgba(255,250,241,.16);border-radius:22px;padding:.9rem 1rem;background:linear-gradient(180deg,rgba(14,12,11,.28),rgba(14,12,11,.58));box-shadow:inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(14px)}.teacher-card .teacher-copy h3{margin:0;font-size:clamp(1.85rem,3.1vw,3.55rem);line-height:.88;text-wrap:balance}.teacher-card .teacher-copy p{max-width:22rem;margin:0;color:rgba(255,250,241,.8);font-size:clamp(.92rem,1.12vw,1.02rem);font-weight:600;font-style:italic;line-height:1.28}.teacher-card:not(.is-active) .teacher-copy p{opacity:0}@media(max-width:680px){.teacher-card .teacher-copy{bottom:1rem}.teacher-card .teacher-copy h3{font-size:clamp(1.7rem,8vw,2.35rem)}}


/* Round hero logo stamp */
.hero-mark{border-radius:50%;overflow:hidden;clip-path:circle(50%);background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.28),inset 0 0 0 1px rgba(25,22,20,.08);transform:rotate(-4deg)}.hero-mark:after{content:"";position:absolute;inset:5%;z-index:3;border:2px solid rgba(229,28,35,.42);border-radius:50%;opacity:0;pointer-events:none;animation:stampRing 1.1s .28s var(--ease) both}.hero-mark img{width:106%;height:106%;object-fit:contain;border-radius:50%;background:#fff;filter:saturate(1.02) contrast(1.03)}@keyframes stampRing{0%,48%{opacity:0;transform:scale(.78)}58%{opacity:.82;transform:scale(.98)}100%{opacity:0;transform:scale(1.18)}}

/* Hero logo outer margin */
.hero-mark{padding:0;overflow:visible;clip-path:none;background:transparent}.hero-mark:before{content:"";position:absolute;inset:0;z-index:0;border-radius:50%;background:#fff;box-shadow:0 30px 80px rgba(0,0,0,.28),inset 0 0 0 1px rgba(25,22,20,.08)}.hero-mark img{position:relative;z-index:1;width:80%;height:80%;object-fit:contain;border-radius:50%;background:#fff;transform:translateX(-1.5%)}




/* Hero message refinement */
.hero-next{
  border-top-color:rgba(255,250,241,.32);
  background:rgba(229,28,35,.84);
  box-shadow:0 -12px 34px rgba(157,27,34,.18);
}
.hero-next:before{
  background:linear-gradient(90deg,rgba(157,27,34,.96),transparent);
}
.hero-next:after{
  background:linear-gradient(270deg,rgba(157,27,34,.96),transparent);
}
.hero-next span:nth-child(4n+1){
  background:rgba(255,250,241,.06);
}
.hero-title{max-width:58rem;margin:0;color:var(--cream);font-size:clamp(2.8rem,6.4vw,6.8rem);font-weight:800;line-height:.88;letter-spacing:0;text-wrap:balance}.hero-title+ .hero-actions{margin-top:clamp(1.6rem,3vw,2.4rem)}@media(max-width:680px){.hero-title{font-size:clamp(2.75rem,13vw,4.8rem);line-height:.9}}

/* Final hero type and stamp sizing */
.hero-title{max-width:50rem;font-size:clamp(1.4rem,3.2vw,3.4rem);line-height:.98}.hero-mark:before{inset:-1.5%;background:#fff}.hero-mark img{width:94%;height:94%;object-fit:contain;border-radius:50%;background:#fff;transform:none;box-shadow:0 0 0 2px rgba(255,255,255,.96)}@media(max-width:680px){.hero-title{font-size:clamp(1.4rem,6.5vw,2.4rem);line-height:1}}

/* Parcours third card text refinement */
.step-card-stage>div{justify-content:center;gap:clamp(1rem,2.3vw,2rem)}.step-card-stage h3{font-size:clamp(2.15rem,4.2vw,4.8rem);line-height:.86;max-width:9ch}.step-card-stage p{max-width:24rem;color:rgba(255,250,241,.86);font-size:clamp(.95rem,1.05vw,1.05rem);line-height:1.45}.step-card-stage video{object-position:center center}@media(max-width:680px){.step-card-stage h3{font-size:clamp(2.1rem,11vw,3.8rem);max-width:10ch}}

/* Parcours title vertical lift */
.path-copy{justify-content:flex-start;padding-top:clamp(.5rem,5vh,3rem)}.path-copy h2{max-width:9.5ch}@media(max-width:1080px){.path-copy{padding-top:0}.path-copy h2{max-width:12ch}}
/* Teachers header horizontal refinement */
.teachers{
  padding-top:clamp(4.5rem,9vw,7.5rem);
}
.teachers-head{
  grid-template-columns:1fr;
  align-items:start;
  width:min(1280px,100%);
  gap:clamp(.7rem,1.5vw,1.2rem);
  margin:0 auto clamp(2rem,5vw,4rem);
}
.teachers-head h2{
  max-width:1180px;
  font-size:clamp(2.5rem,5.4vw,6.2rem);
  line-height:.9;
  text-wrap:balance;
}
.teachers-head p:last-child{
  max-width:42rem;
  margin-top:.25rem;
  font-size:clamp(1rem,1.15vw,1.1rem);
}
@media(max-width:680px){
  .teachers-head h2{
    font-size:clamp(2.45rem,12vw,4.25rem);
    line-height:.92;
  }
}

/* Schedule announcements */
.schedule-announcement{
  position:relative;
  z-index:3;
  overflow:hidden;
  border-top:1px solid rgba(255,250,241,.32);
  border-bottom:1px solid rgba(25,22,20,.3);
  color:var(--ink);
  background:var(--red);
  box-shadow:0 12px 34px rgba(157,27,34,.18);
}
.schedule-announcement-track{
  display:flex;
  width:max-content;
  animation:scheduleAnnouncementScroll 32s linear infinite;
}
.schedule-announcement:hover .schedule-announcement-track{
  animation-play-state:paused;
}
.schedule-announcement-group{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:clamp(1rem,2.4vw,2.4rem);
  padding:.92rem clamp(1rem,2.4vw,2.4rem);
  font-size:clamp(1rem,1.6vw,1.35rem);
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.schedule-announcement-group strong{
  color:var(--cream);
  font-family:var(--mono);
  font-size:.78em;
  letter-spacing:.08em;
}
.schedule-announcement-group i{
  color:rgba(255,250,241,.72);
  font-style:normal;
}
@keyframes scheduleAnnouncementScroll{
  to{transform:translateX(-50%)}
}
@media(prefers-reduced-motion:reduce){
  .schedule-announcement{overflow-x:auto}
  .schedule-announcement-track{animation:none!important;transform:none!important}
}
/* Social icon buttons in navigation */
.nav-actions{
  position:relative;
  justify-self:end;
  display:flex;
  align-items:center;
  gap:.55rem;
}
.social-links,
.mobile-socials{
  display:flex;
  align-items:center;
  gap:.42rem;
}
.social-link{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.52);
  border-radius:50%;
  color:var(--ink);
  background:rgba(255,250,241,.62);
  box-shadow:inset 0 1px rgba(255,255,255,.78),0 14px 30px rgba(25,22,20,.1);
  backdrop-filter:blur(14px);
  text-decoration:none;
  transition:transform .24s var(--ease),background .24s var(--ease),color .24s var(--ease),box-shadow .24s var(--ease);
}
.social-link:hover{
  transform:translateY(-2px);
  color:#fff;
  background:var(--red);
  box-shadow:0 16px 34px rgba(229,28,35,.22);
}
.social-link:active{
  transform:translateY(0) scale(.96);
}
.social-link svg{
  width:20px;
  height:20px;
  display:block;
  fill:currentColor;
}
.mobile-socials{
  padding-top:.15rem;
}
.nav .social-links{margin-left:.35rem}
@media(min-width:1500px){
  .nav .social-links{
    position:absolute;
    left:calc(100% + 1rem);
    top:50%;
    transform:translateY(-50%);
  }
  .nav .social-link:hover{
    transform:translateY(-2px) scale(1.02);
  }
}
@media(max-width:1080px){
  .links,
  .nav-actions{
    display:none;
  }
}
@media(max-width:680px){
  .mobile-socials .social-link{
    width:42px;
    height:42px;
  }
}
/* Teacher carousel autoplay and active color state */
.teacher-card.is-active img{
  filter:saturate(1.04) contrast(1.06) brightness(.96);
}
.teacher-card.is-active:hover img{
  transform:scale(1.045);
  filter:saturate(1.08) contrast(1.08) brightness(1);
}
.teacher-carousel.is-paused .teacher-carousel-hint{
  color:rgba(255,250,241,.78);
}
.teacher-carousel.is-paused .teacher-card.is-active{
  box-shadow:0 42px 120px rgba(0,0,0,.5),0 0 0 2px rgba(229,28,35,.42);
}
.teacher-card.is-active{
  cursor:pointer;
}
.teacher-card.is-active:focus-visible{
  outline:3px solid var(--red);
  outline-offset:5px;
}
/* Keep the teacher carousel and parcours copy in their own paint layers. */
.teachers{
  z-index:2;
  isolation:isolate;
}
.path{
  position:relative;
  z-index:1;
  isolation:isolate;
}
.path-copy{
  position:sticky;
  top:112px;
  align-self:start;
}
@media(max-width:1080px){
  .path-copy{
    position:relative;
    top:auto;
  }
}
/* Final CTA contact button emphasis */
.cta-contact-button{
  min-height:clamp(58px,5vw,76px);
  padding:clamp(1rem,1.45vw,1.25rem) clamp(1.55rem,3vw,2.8rem);
  font-size:clamp(1.05rem,1.7vw,1.45rem);
  box-shadow:0 22px 52px rgba(25,22,20,.22);
}
/* Schedule and pricing page */
.is-active-link{
  color:var(--red)!important;
}
.is-active-link:after{
  transform:scaleX(1)!important;
}
.schedule-page{
  background:radial-gradient(circle at 88% 8%,rgba(229,28,35,.12),transparent 28rem),radial-gradient(circle at 12% 24%,rgba(244,211,106,.34),transparent 30rem),linear-gradient(180deg,#fffaf1,#f7ecdf 46%,#100e0d 46%,#100e0d 100%);
}
.schedule-hero{
  position:relative;
  min-height:78svh;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:clamp(1.5rem,4vw,4rem);
  padding:clamp(8rem,13vw,10rem) clamp(1rem,5vw,5rem) clamp(4rem,8vw,7rem);
  color:var(--cream);
  isolation:isolate;
}
.schedule-hero-inner{
  position:relative;
  z-index:2;
  width:min(940px,100%);
}
.schedule-hero h1{
  max-width:11ch;
  margin:0;
  font-size:clamp(2.4rem,5.28vw,5.44rem);
  line-height:.8;
  letter-spacing:0;
  text-wrap:balance;
}
.schedule-hero p:not(.eyebrow){
  max-width:42rem;
  margin:clamp(1.1rem,2vw,1.45rem) 0 0;
  color:rgba(255,250,241,.78);
  font-size:clamp(1.08rem,1.55vw,1.28rem);
  line-height:1.5;
}
.schedule-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.76rem;
  margin-top:2rem;
}
.schedule-stamp{
  position:relative;
  z-index:2;
  width:clamp(170px,22vw,340px);
  aspect-ratio:1;
  display:grid;
  place-content:center;
  gap:.35rem;
  border:1px solid rgba(255,250,241,.5);
  border-radius:50%;
  padding:1.25rem;
  color:var(--ink);
  background:rgba(255,250,241,.86);
  box-shadow:0 34px 90px rgba(0,0,0,.3),inset 0 0 0 10px rgba(255,255,255,.42);
  text-align:center;
  transform:rotate(-5deg);
  backdrop-filter:blur(18px);
}
.schedule-stamp strong{
  display:block;
  font-size:clamp(3rem,7vw,7rem);
  line-height:.78;
}
.schedule-stamp span{
  max-width:11rem;
  margin:auto;
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.09em;
  line-height:1.35;
  text-transform:uppercase;
}
.schedule-overview{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.86rem;
  padding:clamp(1rem,2vw,1.4rem) clamp(1rem,5vw,5rem) clamp(5rem,9vw,7rem);
  background:var(--cream);
}
.schedule-overview article{
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-radius:24px;
  padding:clamp(1rem,2vw,1.35rem);
  color:var(--ink);
  background:#fff;
  box-shadow:0 20px 60px rgba(113,75,57,.12);
}
.schedule-overview span,
.schedule-day-head span,
.payment-cards span{
  font-family:var(--mono);
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.schedule-overview strong{
  margin:.8rem 0;
  font-size:clamp(3.2rem,6vw,5.7rem);
  line-height:.78;
}
.schedule-overview p{
  margin:0;
  color:var(--soft);
  line-height:1.42;
}
.schedule-section{
  padding:clamp(6rem,12vw,10rem) clamp(1rem,5vw,5rem);
  color:var(--cream);
  background:radial-gradient(circle at 15% 10%,rgba(229,28,35,.22),transparent 27rem),radial-gradient(circle at 88% 48%,rgba(244,211,106,.14),transparent 30rem),#100e0d;
}
.schedule-intro{
  width:min(1280px,100%);
  margin:0 auto clamp(2rem,5vw,4rem);
}
.schedule-intro h2,
.payment-section h2,
.schedule-cta h2{
  max-width:10ch;
  margin:0;
  font-size:clamp(3.2rem,7.2vw,7.4rem);
  line-height:.82;
  letter-spacing:0;
  text-wrap:balance;
}
.schedule-days{
  width:min(1320px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.schedule-day{
  overflow:hidden;
  border:1px solid rgba(255,250,241,.16);
  border-radius:28px;
  color:var(--cream);
  background:rgba(255,250,241,.08);
  box-shadow:0 24px 80px rgba(0,0,0,.22);
  backdrop-filter:blur(16px);
}
.schedule-day:nth-child(5){
  grid-column:1/-1;
}
.schedule-day-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.1rem;
  border-bottom:1px solid rgba(255,250,241,.14);
}
.schedule-day-head span{
  color:rgba(255,250,241,.72);
}
.schedule-day-head strong{
  border-radius:999px;
  padding:.45rem .72rem;
  color:var(--ink);
  background:rgba(255,250,241,.86);
  font-size:.86rem;
}
.schedule-list{
  display:grid;
}
.schedule-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(118px,auto) minmax(74px,auto);
  gap:1rem;
  align-items:center;
  min-height:112px;
  padding:1rem 1.1rem;
  border-bottom:1px solid rgba(255,250,241,.12);
}
.schedule-row:last-child{
  border-bottom:0;
}
.schedule-row h3{
  margin:0;
  font-size:clamp(1.35rem,2.2vw,2.25rem);
  line-height:.94;
  letter-spacing:0;
}
.schedule-row h3 em{
  display:inline-block;
  color:rgba(255,250,241,.7);
  font-family:var(--serif);
  font-weight:400;
}
.schedule-row p,
.schedule-row time{
  margin:0;
  color:rgba(255,250,241,.7);
  line-height:1.38;
}
.schedule-row time,
.schedule-row>strong{
  justify-self:end;
  font-family:var(--mono);
  font-size:.92rem;
  font-weight:500;
  letter-spacing:.04em;
  white-space:nowrap;
}
.schedule-row>strong{
  border-radius:999px;
  padding:.5rem .72rem;
  color:var(--ink);
  background:var(--cream);
}
.schedule-day-red{background:linear-gradient(135deg,rgba(229,28,35,.34),rgba(255,250,241,.08))}
.schedule-day-pink{background:linear-gradient(135deg,rgba(207,77,103,.34),rgba(255,250,241,.08))}
.schedule-day-cream{background:linear-gradient(135deg,rgba(244,211,106,.25),rgba(255,250,241,.07))}
.schedule-day-dark{background:linear-gradient(135deg,rgba(53,98,122,.3),rgba(255,250,241,.08))}
.schedule-day-butter{background:linear-gradient(135deg,rgba(244,211,106,.36),rgba(229,28,35,.16))}
.payment-section{
  display:grid;
  grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);
  gap:clamp(2rem,6vw,6rem);
  padding:clamp(6rem,12vw,10rem) clamp(1rem,5vw,5rem);
  color:var(--ink);
  background:var(--cream);
}
.payment-section>div:first-child{
  position:sticky;
  top:112px;
  align-self:start;
}
.payment-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.86rem;
}
.payment-cards article{
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-radius:24px;
  padding:1.25rem;
  background:#fff;
  box-shadow:0 20px 60px rgba(113,75,57,.12);
}
.payment-cards article:nth-child(2){
  background:var(--butter);
}
.payment-cards article:nth-child(3){
  color:var(--cream);
  background:var(--ink);
}
.payment-cards p{
  margin:1rem 0 0;
  font-size:clamp(1.1rem,1.65vw,1.48rem);
  line-height:1.2;
}
.payment-cards a{
  text-decoration-thickness:2px;
  text-underline-offset:.18em;
}
.schedule-notes{
  grid-column:2;
  display:grid;
  gap:.45rem;
  margin-top:1rem;
  color:var(--soft);
}
.schedule-notes p{
  margin:0;
}
.schedule-cta{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:clamp(1rem,4vw,3rem);
  align-items:center;
  padding:clamp(4rem,8vw,6.5rem) clamp(1rem,5vw,5rem);
  color:var(--cream);
  background:radial-gradient(circle at 80% 10%,rgba(229,28,35,.24),transparent 28rem),#100e0d;
}
.schedule-cta img{
  width:clamp(110px,14vw,190px);
  aspect-ratio:1;
  border-radius:50%;
  object-fit:contain;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.schedule-cta h2{
  max-width:12ch;
  color:var(--cream);
}
@media(max-width:1080px){
  .schedule-hero,
  .payment-section,
  .schedule-cta{
    grid-template-columns:1fr;
  }
  .schedule-stamp{
    width:clamp(150px,34vw,250px);
  }
  .schedule-overview,
  .schedule-days,
  .payment-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .payment-section>div:first-child{
    position:static;
  }
  .schedule-notes{
    grid-column:auto;
  }
}
@media(max-width:680px){
  .schedule-hero{
    min-height:760px;
    padding-inline:.86rem;
  }
  .schedule-hero h1{
    font-size:clamp(2.04rem,8.8vw,3.2rem);
    max-width:10ch;
  }
  .schedule-overview,
  .schedule-days,
  .payment-cards{
    grid-template-columns:1fr;
  }
  .schedule-day:nth-child(5){
    grid-column:auto;
  }
  .schedule-row{
    grid-template-columns:1fr;
    gap:.65rem;
  }
  .schedule-row time,
  .schedule-row>strong{
    justify-self:start;
  }
  .schedule-intro h2,
  .payment-section h2,
  .schedule-cta h2{
    font-size:clamp(3rem,13vw,4.8rem);
  }
}

/* Gallery controls */
.gallery-stage{
  position:relative;
}
.gallery-viewport{
  overflow-x:auto;
  overflow-y:hidden;
  padding-block:1rem 4rem;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.gallery-viewport::-webkit-scrollbar{
  display:none;
}
.gallery .gallery-row{
  width:max-content;
  overflow:visible;
  transform:none!important;
}
.gallery-row img{
  flex:0 0 auto;
  scroll-snap-align:start;
}
.gallery-arrow{
  position:absolute;
  top:50%;
  z-index:5;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  color:var(--cream);
  background:rgba(25,22,20,.76);
  box-shadow:0 16px 38px rgba(25,22,20,.24);
  backdrop-filter:blur(12px);
  transition:transform .2s var(--ease),background .2s var(--ease),opacity .2s var(--ease);
}
.gallery-arrow:hover:not(:disabled){
  transform:translateY(-50%) scale(1.06);
  background:var(--red);
}
.gallery-arrow:active:not(:disabled){
  transform:translateY(-50%) scale(.96);
}
.gallery-arrow:disabled{
  opacity:.3;
  cursor:default;
}
.gallery-arrow svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.gallery-arrow-prev{
  left:clamp(.5rem,2vw,1.5rem);
}
.gallery-arrow-next{
  right:clamp(.5rem,2vw,1.5rem);
}
@media(max-width:680px){
  .gallery-viewport{
    margin-inline:-.86rem;
    padding-inline:.86rem;
  }
  .gallery .gallery-row{
    padding-left:0;
  }
  .gallery-arrow{
    width:46px;
    height:46px;
  }
  .gallery-arrow-prev{
    left:0;
  }
  .gallery-arrow-next{
    right:0;
  }
}
@media(prefers-reduced-motion:reduce){
  .gallery-viewport{scroll-behavior:auto}
}

/* Footer credit */
.footer-credit{
  justify-self:center;
  text-align:center;
  transition:color .22s var(--ease);
}
.footer-credit:hover{
  color:var(--butter);
}
.footer-back{
  justify-self:end;
}
@media(max-width:680px){
  .footer-credit,
  .footer-back{
    justify-self:start;
    text-align:left;
  }
}

/* Contact form delivery states */
.form-honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.submit:disabled{
  cursor:wait;
  opacity:.7;
  transform:none;
}
.form-error{
  display:none;
  grid-column:1/-1;
  margin:0;
  border:1px solid rgba(157,27,34,.22);
  border-radius:16px;
  padding:.82rem .95rem;
  color:var(--deep);
  background:rgba(229,28,35,.08);
  font-weight:700;
}
.form-error.show{
  display:block;
}
.form-error a{
  text-underline-offset:3px;
}

/* Contact location */
.contact-section{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);
  gap:clamp(2rem,6vw,6rem);
  align-items:center;
  padding:clamp(6rem,12vw,10rem) clamp(1rem,5vw,5rem);
  color:var(--cream);
  background:radial-gradient(circle at 10% 20%,rgba(229,28,35,.22),transparent 28rem),#161412;
  scroll-margin-top:5.5rem;
}
.contact-section-copy h2{
  max-width:10ch;
  margin:0;
  color:var(--cream);
  font-size:clamp(3rem,6.6vw,7rem);
  line-height:.84;
  letter-spacing:0;
  text-wrap:balance;
}
.contact-section .section-note{
  color:rgba(255,250,241,.68);
}
.contact-details{
  display:grid;
  gap:0;
  max-width:40rem;
  margin:clamp(2rem,4vw,3rem) 0 2rem;
  font-style:normal;
}
.contact-details>a,
.contact-phone-group{
  display:grid;
  gap:.45rem;
  border-top:1px solid rgba(255,250,241,.16);
  padding:1.15rem 0;
  text-decoration:none;
}
.contact-details span{
  color:rgba(255,250,241,.54);
  font:500 .7rem/1 var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
}
.contact-details strong,
.contact-phone-group a{
  width:max-content;
  max-width:100%;
  color:var(--cream);
  font-size:clamp(1.22rem,2vw,1.75rem);
  font-weight:700;
  line-height:1.15;
  text-decoration:none;
  transition:color .22s var(--ease);
}
.contact-details>a:hover strong,
.contact-phone-group a:hover{
  color:var(--butter);
}
.contact-visual{
  position:relative;
  overflow:hidden;
  display:block;
  border:1px solid rgba(255,250,241,.16);
  border-radius:28px;
  background:#c8c1bb;
  box-shadow:0 32px 90px rgba(0,0,0,.3);
}
.contact-visual img{
  display:block;
  width:100%;
  height:auto;
  transition:transform .7s var(--ease);
}
.contact-visual span{
  position:absolute;
  right:1rem;
  bottom:1rem;
  border-radius:999px;
  padding:.78rem 1rem;
  color:var(--ink);
  background:rgba(255,250,241,.9);
  font-weight:800;
  backdrop-filter:blur(12px);
}
.contact-visual:hover img{
  transform:scale(1.018);
}
@media(max-width:1080px){
  .contact-section{
    grid-template-columns:1fr;
  }
  .contact-section-copy h2{
    max-width:13ch;
  }
}
@media(max-width:680px){
  .contact-section{
    padding-top:clamp(9rem,34vw,11rem);
    padding-inline:.86rem;
  }
  .contact-section-copy h2{
    font-size:clamp(3rem,13vw,4.8rem);
  }
  .contact-visual{
    border-radius:20px;
  }
  .contact-visual span{
    right:.7rem;
    bottom:.7rem;
  }
}

