/* Modernisation progressive : le contenu et la navigation restent utilisables sans JavaScript. */
html{scroll-padding-top:130px}body{overflow-x:clip}.header{position:fixed;inset:18px 28px auto;z-index:30;min-height:78px;padding:18px 27px;border:1px solid #ffffff24;border-radius:18px;background:#161315dd;color:#fff;backdrop-filter:blur(22px);box-shadow:0 12px 45px #00000012;transition:background .25s,padding .25s,box-shadow .25s}.header.is-scrolled{background:#161315f2;box-shadow:0 10px 35px #00000025}.header .brand strong{font-size:1.8rem}.header .brand small{color:#d9a3b3;font-size:.65rem}.header nav{gap:26px}.header nav a{transition:color .2s}.header nav a:hover,.header nav a[aria-current]{color:#edbdcc}.header .nav-enyo,.enyo-page .nav-enyo{border:1px solid #ffffff40;border-radius:100px;background:transparent;color:#fff;padding:9px 17px}.scroll-progress{position:absolute;left:20px;right:20px;bottom:0;height:2px;transform-origin:left;background:var(--pink);transform:scaleX(0);pointer-events:none}.button{border-radius:100px;padding:15px 22px 15px 27px;min-height:60px;box-shadow:0 7px 24px #0000000a;transition:background .25s,transform .25s,box-shadow .25s}.button span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff1a;transition:transform .25s}.button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #00000020}.button:hover span{transform:rotate(6deg)}
/* La photographie occupe le hero ; le voile conserve un contraste stable sur le texte. */
.hero{width:100%;position:relative;isolation:isolate;display:flex;align-items:center;min-height:min(940px,100svh);padding:170px max(56px,calc((100vw - 1280px)/2)) 85px;margin:0;background:#111;color:#fff;overflow:hidden}.hero-copy{position:relative;z-index:2;max-width:780px}.hero h1{font-size:clamp(5.5rem,9.7vw,10rem);line-height:.99;letter-spacing:-.015em;margin-bottom:30px}.hero h1 em{color:#e8afc1}.hero .eyebrow{display:flex;align-items:center;gap:16px;color:#e8bdcb}.hero .eyebrow:before{content:'';width:35px;height:1px;background:currentColor}.hero-lead{font-weight:400;font-size:1.6rem}.hero-detail{color:#ddd4d8;max-width:440px;font-size:1rem}.hero-caption{color:#c6b6be}.hero .button{background:#e3aec0;color:#171115}.hero .button:hover{background:#f3c8d6}.hero .button span{background:#11111110}.hero-visual.training-visual{position:absolute;inset:0;z-index:0;height:100%;width:100%;border-radius:0;background:#151113;overflow:visible}.training-visual>img{width:70%;margin-left:auto;height:112%;position:absolute;right:0;top:-6%;object-position:50% 53%;opacity:.9;will-change:transform}.hero-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#111 0%,#111e 22%,#1119 48%,#1111 80%),linear-gradient(0deg,#111b,transparent 35%);pointer-events:none}.training-visual .image-label{z-index:1;left:auto;right:45px;bottom:35px;color:white;background:transparent;border:0;padding:0;text-align:right}.image-label span,.image-label strong{display:none}.image-label small{color:#d4c7ce;font-size:.75rem}.values-strip{position:relative;z-index:3;padding:26px 40px;background:var(--pink);color:#25141b;border-bottom:1px solid #1111}.values-strip span:nth-child(even){color:var(--berry)}
.section{padding-block:120px}.pillars{gap:24px}.pillars article{padding:30px;border:1px solid #d8d0d0;border-radius:20px;transition:transform .3s,background .3s,border-color .3s}.pillars article:hover{transform:translateY(-5px);background:#fff;border-color:#bd778e}.pillar-mark{border-radius:50%;background:#ecdce2;width:48px;height:48px;align-items:center;justify-content:center;font-size:1.5rem}.coach-section{background:#e4baca;padding-block:110px}.coach-grid>div:first-child{position:sticky;top:145px;align-self:start}.coach-story blockquote{font-family:Georgia,serif;font-size:clamp(1.8rem,3.2vw,3rem);font-weight:400;line-height:1.22;letter-spacing:-.04em}.offer{border-radius:24px;padding:42px;transition:box-shadow .3s,transform .3s}.offer:hover{transform:translateY(-5px);box-shadow:0 22px 50px #51213612}.presencial{background:#fff}.online{background:linear-gradient(145deg,#2c1a22,#111 65%)}.single-session{border-radius:20px;background:#eee7e8}.enyo-teaser{border-radius:32px;margin:0 24px;padding-block:90px;background:#141013}.enyo-teaser .enyo-logo{border-radius:50%;background:#000}.enyo-logo img{will-change:transform}.enyo-grid h2{font-size:clamp(3rem,4.6vw,5rem)}.closing{padding-block:125px}.closing>p:not(.eyebrow){font-size:clamp(4rem,8vw,8rem)}
/* Enyo conserve son identité : composition éditoriale ample, rose et noir, logo en profondeur. */
.enyo-opening{position:relative;isolation:isolate;overflow:hidden;min-height:min(960px,100svh);padding:143px 0 40px;background:radial-gradient(ellipse at 75% 50%,#301720 0%,#131013 45%,#0b0b0b 85%)}.enyo-opening:before{content:'ENYO';font-family:var(--display);position:absolute;z-index:-1;top:85px;left:2vw;font-size:clamp(10rem,30vw,34rem);letter-spacing:.015em;line-height:1;color:#ffffff03;pointer-events:none}.back-link{font-size:.8rem;color:#cfb9c1;margin-bottom:35px}.enyo-opening-grid{grid-template-columns:1.15fr 1fr;gap:20px}.enyo-opening h1{font-size:clamp(5rem,8.5vw,9rem);line-height:1.02;letter-spacing:-.02em}.enyo-opening h1 em{font-family:Georgia,serif;font-style:italic;font-size:.96em;letter-spacing:-.07em}.enyo-opening .enyo-logo{position:relative;height:490px;border-radius:50%;box-shadow:0 0 95px #d9a3b310;transform:rotate(-5deg);border:1px solid #e4afc01a}.enyo-opening .enyo-logo img{transform:rotate(5deg);object-position:center 51%}.enyo-facts{border-color:#ffffff20;margin-top:50px;padding-top:24px;gap:30px}.enyo-facts p{border-left:1px solid #d9a3b35e;padding-left:22px}.enyo-facts strong{font-family:Georgia,serif;font-size:1.45rem;font-weight:400}.enyo-facts span{color:#bdaeb4}.enyo-meaning{background:#e4baca;padding-block:105px}.meaning-grid>div:first-child{position:sticky;top:145px;align-self:start}.logo-details{border-radius:16px;background:#ffffff25;border:1px solid #8e304f30;padding:14px 24px}.logo-details summary{display:list-item}.logo-details img{border-radius:12px}.edition-notice{border-radius:0 18px 18px 0;padding:30px}.enyo-outro{margin:0 24px 50px;border-radius:30px;background:linear-gradient(135deg,#6b203a,#8e304f 65%,#a34264);padding-block:90px}.footer{padding-block:40px}.reveal-in{animation:reveal-in .8s cubic-bezier(.2,.7,.2,1) both}.reveal-in:nth-child(2){animation-delay:90ms}.reveal-in:nth-child(3){animation-delay:180ms}@keyframes reveal-in{from{opacity:.25;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:761px) and (prefers-reduced-motion:no-preference){.hero-copy,.enyo-opening-grid>div:first-child{animation:reveal-in 1s cubic-bezier(.2,.7,.2,1) both}}
@media(max-width:1050px){.header{inset:14px 18px auto;padding:18px}.header nav{gap:17px}.hero{padding-inline:40px;min-height:850px}.hero h1{font-size:6.5rem}.enyo-opening h1{font-size:6rem}.enyo-opening .enyo-logo{height:370px}.offer{padding:30px}}
@media(max-width:760px){html{scroll-padding-top:155px}.header{inset:10px 12px auto;gap:14px;min-height:0;padding:15px 17px;border-radius:17px}.header .brand strong{font-size:1.6rem}.header .brand small{font-size:.65rem}.header nav{flex-wrap:nowrap;width:100%;overflow-x:auto;gap:21px;padding-block:5px;scrollbar-width:none;font-size:.875rem}.header nav::-webkit-scrollbar{display:none}.header nav a{white-space:nowrap;flex:none}.header .nav-enyo,.enyo-page .nav-enyo{padding:0;border:0;border-radius:0}.hero{min-height:850px;min-height:100svh;padding:190px 24px 90px;align-items:flex-start}.hero h1{font-size:clamp(4rem,14.5vw,6rem)}.hero-copy{width:100%}.hero .eyebrow{font-size:.7rem;letter-spacing:.12em}.hero-lead{font-size:1.35rem}.hero-detail{font-size:1rem;color:#e3dade}.training-visual>img{width:100%;height:100%;top:0;opacity:.55;object-position:62% 50%;will-change:auto}.hero-visual:after{background:linear-gradient(90deg,#111d,#1117),linear-gradient(0deg,#1119,transparent)}.training-visual .image-label{bottom:20px;right:24px}.hero .button{width:auto;max-width:100%;gap:17px;padding:14px 18px;font-size:.875rem}.hero-caption{text-align:left}.values-strip{padding:24px 20px;gap:12px;font-size:1.05rem}.section{padding-block:75px}.pillars article{padding:25px;grid-template-columns:38px 1fr;column-gap:20px}.pillar-mark{width:38px;height:38px}.coach-section{padding-block:70px}.coach-grid>div:first-child,.meaning-grid>div:first-child{position:static}.offer{padding:28px}.single-session{padding:25px}.enyo-teaser{margin:0 12px;border-radius:22px;padding-block:40px 55px}.enyo-teaser .wrap{width:calc(100% - 40px)}.enyo-teaser .enyo-logo{width:280px;max-width:100%;height:280px;margin:auto}.enyo-grid h2{font-size:clamp(2.4rem,9vw,4rem)}.closing{padding-block:75px}.enyo-opening{padding:165px 0 36px}.enyo-opening-grid{grid-template-columns:1fr;gap:40px}.enyo-opening h1{font-size:clamp(4rem,13vw,6rem)}.enyo-opening .enyo-logo{height:300px;width:300px;max-width:100%;margin:auto}.enyo-opening .enyo-tagline{font-size:1.1rem}.enyo-facts{grid-template-columns:1fr 1fr;gap:22px 12px;margin-top:35px}.enyo-facts p:last-child{grid-column:1/-1}.enyo-facts p{padding-left:15px}.enyo-facts strong{font-size:1.25rem}.enyo-facts span{font-size:.875rem}.enyo-meaning{padding-block:70px}.enyo-outro{margin:0 12px 25px;padding-block:65px;border-radius:22px}.enyo-outro .button{width:100%;padding-inline:18px;font-size:.875rem}.enyo-outro>div>p:not(.eyebrow){font-size:clamp(3rem,10vw,5rem)}}
/* Le choix des animations reste accessible et ne nécessite ni compte ni stockage. */
.motion-toggle{position:fixed;right:18px;bottom:16px;z-index:35;border:1px solid #ffffff40;background:#21181ef0;color:#f8f6f4;padding:10px 16px;font:400 .875rem Arial,sans-serif;border-radius:100px;cursor:pointer;box-shadow:0 4px 16px #0002}.motion-toggle:hover{background:#8e304f}.training-visual .image-label{bottom:65px}
@media(max-width:760px){html{scroll-padding-top:190px}.header nav{display:grid;grid-template-columns:max-content max-content;justify-content:space-between;gap:8px 14px;overflow:visible}.header{gap:12px}.hero{padding-top:215px}.enyo-opening{padding-top:210px}.motion-toggle{font-size:.75rem;padding:9px 12px;right:12px;bottom:12px}.training-visual .image-label{bottom:58px}.hero{padding-bottom:105px}}
/* Réserve de recadrage pour une parallaxe de grande amplitude, sans bord découvert. */
.training-visual>img{height:154%;top:-27%;will-change:translate,scale}.hero-copy,.enyo-opening .enyo-logo,.enyo-teaser .enyo-logo{will-change:translate}.enyo-opening:before{translate:var(--depth-x,0px) 0}.enyo-teaser{overflow:hidden;padding-block:125px}.enyo-opening-grid{padding-block:35px}.enyo-opening .enyo-logo img,.enyo-teaser .enyo-logo img{will-change:auto}
@media(max-width:760px){.training-visual>img{height:126%;top:-13%}.enyo-opening-grid{padding-block:0}.enyo-teaser{padding-block:65px}}
/* Respecter le réglage système et supprimer aussi les transitions de survol. */
html[data-motion="off"]{scroll-behavior:auto}html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){html:not([data-motion="on"]){scroll-behavior:auto}html:not([data-motion="on"]) *,html:not([data-motion="on"]) *::before,html:not([data-motion="on"]) *::after{animation:none!important;transition:none!important}}

/* Real portraits retain their original composition; CSS alone adjusts the viewing window. */
.training-visual>img{object-position:50% 35%;width:60%}
.coach-portrait{margin:28px 0;max-width:380px;overflow:hidden;border-radius:180px 180px 20px 20px}
.coach-portrait img{width:100%;height:auto;display:block}
.photo-story{display:grid;grid-template-columns:1fr 1.05fr 1fr;gap:40px;align-items:center;padding-bottom:120px}
.photo-story figure{margin:0;position:relative;overflow:hidden;border-radius:160px 160px 16px 16px}
.photo-story figure:last-child{margin-top:110px;border-radius:16px 16px 160px 160px}
.photo-story img{width:100%;height:auto;display:block}
.photo-story h2{font-size:clamp(2.1rem,3.6vw,4rem)}
.photo-story figcaption{position:absolute;inset:auto 0 0;padding:45px 20px 25px;color:white;background:linear-gradient(transparent,#000b);font-size:.7rem;letter-spacing:.13em}
.enyo-coach-photo{display:grid;grid-template-columns:.8fr 1fr;gap:90px;align-items:center;padding-bottom:110px}
.enyo-coach-photo figure{margin:0;max-width:440px;border-radius:220px 220px 18px 18px;overflow:hidden;background:#111}
.enyo-coach-photo img{display:block;width:100%;height:auto}
@media(max-width:760px){
 .training-visual>img{width:100%;object-position:60% 25%}
 .coach-portrait{max-width:100%;width:320px}
 .photo-story{grid-template-columns:1fr 1fr;gap:18px;padding-bottom:70px}
 .photo-story>div{grid-column:1/-1;grid-row:1}
 .photo-story figure:last-child{margin-top:65px}
 .photo-story figcaption{font-size:.55rem;letter-spacing:.06em;padding:35px 12px 22px}
 .enyo-coach-photo{grid-template-columns:1fr;gap:35px;padding-bottom:70px}
 .enyo-coach-photo figure{width:100%;max-width:360px;margin:auto}
}
/* Leave headroom below the floating navigation; mobile gets a separate portrait to keep text off the face. */
@media(min-width:761px){.training-visual>img{top:-5%;height:140%;object-position:center top}.hero-visual:after{background:linear-gradient(90deg,#111 0%,#111e 26%,#1115 50%,transparent 74%),linear-gradient(0deg,#1119,transparent 40%)}}
@media(max-width:760px){.hero{display:flex;flex-direction:column;padding-top:195px;gap:32px}.hero-visual.training-visual{position:relative;inset:auto;order:-1;height:420px;flex:none;overflow:hidden;border-radius:160px 160px 16px 16px}.training-visual>img{width:100%;height:126%;top:-5%;opacity:1;object-position:center top}.hero-visual:after{background:linear-gradient(0deg,#1117,transparent 30%)}.hero-copy{max-width:100%}}

/* Captions belong outside the image mask: rounded corners must never clip readable text. */
.photo-story figure,.photo-story figure:last-child{overflow:visible;border-radius:0}
.photo-story figure img{border-radius:140px 140px 16px 16px}
.photo-story figure:last-child img{border-radius:16px 16px 140px 140px}
.photo-story figcaption{position:static;padding:16px 2px 0;background:none;color:var(--ink);font-size:.75rem;line-height:1.6;letter-spacing:.09em}
/* Allow grid children and long calls to action to wrap before reaching the container edge. */
.photo-story>*,.enyo-grid>*,.enyo-opening-grid>*,.offers>*,.coach-grid>*,.meaning-grid>*{min-width:0}
.button{max-width:100%;text-wrap:pretty}.button span{flex-shrink:0}
@media(min-width:761px){.training-visual>img{top:8%;height:125%;object-position:center top;mask-image:linear-gradient(90deg,transparent,#000 18%)}.hero-visual:after{background:linear-gradient(90deg,#111 0%,#111e 24%,#1115 48%,transparent 72%),linear-gradient(0deg,#111b,transparent 40%)}}
@media(min-width:761px) and (max-width:1000px){.enyo-grid{grid-template-columns:.8fr 1.2fr;gap:28px}.enyo-grid h2{font-size:clamp(2.3rem,4.6vw,3.3rem)}.enyo-opening h1{font-size:clamp(4rem,7.8vw,6rem)}.enyo-opening .enyo-logo{height:310px}}
@media(max-width:760px){.photo-story figcaption{font-size:.75rem;padding-top:14px;letter-spacing:.05em}.training-visual>img{top:0;height:126%;object-position:center top}.hero-visual.training-visual{border-radius:20px}.enyo-teaser .button{border-radius:20px}.enyo-outro .button{border-radius:20px}}
/* Keep the captions inside each photograph, on its straight edge rather than in the rounded cap. */
.photo-story figure,.photo-story figure:last-child{position:relative;overflow:hidden}
.photo-story figure{border-radius:140px 140px 16px 16px}
.photo-story figure:last-child{border-radius:16px 16px 140px 140px}
.photo-story figure img,.photo-story figure:last-child img{border-radius:0}
.photo-story figcaption{position:absolute;inset:auto 0 0;padding:44px 22px 22px;background:linear-gradient(transparent,#000d);color:#fff;font-size:.75rem;line-height:1.5;letter-spacing:.07em}
.photo-story figure:last-child figcaption{inset:0 0 auto;padding:22px 22px 44px;background:linear-gradient(#000c,transparent)}
@media(max-width:760px){.photo-story figcaption{padding:34px 14px 16px;font-size:.75rem;letter-spacing:.025em}.photo-story figure:last-child figcaption{padding:16px 14px 34px}}

/* Native disclosure keeps answers crawlable without JavaScript and the page compact. */
.faq-section{max-width:1000px}.faq-section details{border-bottom:1px solid var(--line);padding:22px 0}.faq-section summary{cursor:pointer;font-weight:700;line-height:1.5;padding-right:18px}.faq-section details p{max-width:780px;margin:18px 0 0;color:#55504f}.faq-section details[open] summary{color:var(--berry)}

/* A single portrait column avoids the empty area caused by stacking the name above the photo. */
.coach-section{padding-block:85px}.coach-grid{grid-template-columns:minmax(240px,.8fr) minmax(0,1.35fr);gap:clamp(36px,6vw,88px);align-items:center}
.coach-grid>.coach-portrait{margin:0;width:100%;max-width:430px;align-self:center;position:static}
.coach-story .eyebrow{margin-bottom:16px}.coach-grid .coach-story h2{font-size:clamp(3.8rem,6vw,6.4rem);margin-bottom:18px}
.coach-story h2 br{display:none}.coach-story h2 em:before{content:' '}
.coach-story .qualification{max-width:none;border:0;padding:0;margin-bottom:28px;color:#543e47}
.coach-story blockquote{font-size:clamp(1.65rem,2.6vw,2.5rem);margin-bottom:24px}
@media(max-width:760px){.coach-section{padding-block:60px}.coach-grid{grid-template-columns:1fr;gap:32px}.coach-grid>.coach-portrait{max-width:300px;margin-inline:auto}.coach-story h2 br{display:block}.coach-story h2 em:before{content:none}.coach-grid .coach-story h2{font-size:4rem}.coach-story .qualification{margin-bottom:24px}}

/* Return text to normal rasterization after reveal; persistent transforms can soften glyphs. */
.reveal-in{animation-fill-mode:backwards}
@keyframes reveal-in{from{opacity:1;transform:translateY(28px)}to{opacity:1;transform:none}}
/* An opaque header avoids the frosted haze; secondary copy remains clearly contrasted. */
.header,.header.is-scrolled{background:#181416;backdrop-filter:none;-webkit-backdrop-filter:none}
.approach-intro,.pillars p,.photo-story>div>p:not(.eyebrow),.faq-section details p,.single-session p,.footer p,.footer>a:last-child{color:#353033}
.coach-story>p,.meaning-grid>div>p:not(.eyebrow){color:#281e23}
.offer.presencial .offer-description,.offer-heading>p,.price-row small{color:#464044}

/* Fit each closing sentence within the mobile content width, including narrow 320px screens. */
@media(max-width:760px){.closing>p:not(.eyebrow){font-size:clamp(1.8rem,8.1vw,3.8rem);line-height:1.12;letter-spacing:0}.closing{padding-block:60px}}

/* A lightweight handoff to Google keeps private calendar details off the public site. */
.booking-section{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;border-top:1px solid var(--line)}
.booking-section>div>p:last-child{max-width:420px;color:#353033}.booking-section h2{font-size:clamp(2.6rem,4.5vw,4.5rem)}
.booking-form{padding:36px;border:1px solid #d9a3b3;border-radius:22px;background:#f0dce3;min-width:0}
.booking-form label{display:block;font-weight:700;margin-bottom:12px}.booking-form select{width:100%;min-height:52px;padding:12px;border:1px solid #96717f;border-radius:8px;background:#fff;color:#171115;font:inherit;font-size:16px}
.booking-description{margin:18px 0 24px;color:#353033}.booking-status{padding:16px;border-left:3px solid var(--berry);background:#ffffff85;margin-bottom:22px;font-size:.95rem}
.booking-form button{font-family:inherit;width:100%;cursor:pointer}.booking-form button:disabled{background:#d6c6cc;color:#51464b;cursor:not-allowed;box-shadow:none;transform:none}.booking-note{font-size:.8rem;line-height:1.6;margin:16px 0 0;color:#51464b}
@media(max-width:1000px){.header nav{gap:15px}.booking-section{gap:28px}}
@media(max-width:760px){.booking-section{grid-template-columns:1fr;gap:24px}.booking-form{padding:24px 20px}.booking-section h2{font-size:clamp(2.4rem,10vw,3.5rem)}}

/* A wider cinematic crop keeps the face and both dumbbells inside the portrait, without an arch mask. */
.coach-grid{grid-template-columns:minmax(280px,1fr) minmax(0,1.25fr);gap:clamp(32px,5vw,72px)}
.coach-grid>.coach-portrait{max-width:none;position:relative;overflow:hidden;border-radius:20px;background:#111}
.coach-portrait img{width:100%;height:clamp(480px,49vw,660px);object-fit:cover;object-position:50% 55%;border-radius:0}
.coach-portrait:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#1118);pointer-events:none}
@media(max-width:760px){.coach-grid{grid-template-columns:1fr}.coach-grid>.coach-portrait{max-width:480px}.coach-portrait img{height:clamp(360px,112vw,520px);object-position:50% 55%}}

/* Give the embedded calendar the full section width, never the narrow form column. */
.booking-calendar[hidden]{display:none}.booking-calendar{grid-column:1/-1;min-width:0;background:#fff;border:1px solid #dbcbd1;border-radius:20px;overflow:hidden;scroll-margin-top:140px;box-shadow:0 16px 44px #26121b0a}
.calendar-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:30px 32px 20px;background:#f5eaee}.calendar-heading .eyebrow{margin-bottom:10px;color:var(--berry)}.calendar-heading h3{font-size:1.7rem;margin-bottom:10px}.calendar-heading p:last-child{margin:0;max-width:690px;color:#494047;font-size:.95rem}
.calendar-close{background:white;border:1px solid #b69aa5;border-radius:24px;padding:10px 16px;font:inherit;cursor:pointer;flex-shrink:0}.calendar-frame iframe{display:block;border:0;width:100%;height:720px;background:#fff}.calendar-loading{padding:18px 28px;margin:0;color:#494047}.calendar-fallback{margin:0;padding:20px 28px;border-top:1px solid #eee;font-size:.9rem}.calendar-fallback a{color:var(--berry);font-weight:bold;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.booking-calendar{scroll-margin-top:210px;border-radius:14px}.calendar-heading{padding:22px 18px;flex-wrap:wrap;gap:14px}.calendar-heading h3{font-size:1.4rem}.calendar-frame iframe{height:760px}.calendar-fallback{padding:20px 18px}.calendar-fallback a{display:block;margin-top:8px}}

/* Keep contact fields readable on mobile and make the email handoff explicit. */
.contact-section{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:start;border-top:1px solid var(--line)}.contact-section h2{font-size:clamp(2.5rem,4vw,4.2rem)}.contact-section .text-link{overflow-wrap:anywhere}.contact-form{padding:30px;background:#f0dce3;border:1px solid #d9a3b3;border-radius:20px;min-width:0}.contact-form label{display:block;font-weight:bold;margin:18px 0 8px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:48px;padding:12px;border:1px solid #96717f;border-radius:8px;background:white;color:#171115;font:inherit;font-size:16px}.contact-form textarea{resize:vertical}.contact-form :is(input,select,textarea):focus-visible{outline:3px solid var(--berry);outline-offset:3px}.contact-help,.contact-form>p{font-size:.85rem;color:#494047}.contact-form .button{font-family:inherit;width:100%;cursor:pointer}.contact-form>p:empty{display:none}
@media(max-width:760px){.contact-section{grid-template-columns:1fr;gap:26px}.contact-form{padding:24px 20px}}

/* Mobile navigation stays compact; content remains available without JavaScript. */
.mobile-menu-toggle{display:none}
@media(max-width:760px){
 html{scroll-padding-top:104px}
 .header{flex-direction:row;align-items:center;flex-wrap:wrap;padding:12px 15px;gap:10px}
 .mobile-menu-toggle{display:block;min-height:44px;min-width:64px;border:1px solid #ffffff70;border-radius:10px;background:transparent;color:white;font:700 14px Arial;cursor:pointer}
 .header.mobile-nav-ready nav{display:none}
 .header.mobile-nav-ready.is-menu-open nav{display:grid;grid-template-columns:1fr;gap:4px;max-height:65svh;overflow-y:auto;padding-top:8px}
 .header nav a{display:flex;align-items:center;min-height:44px;padding:8px 12px;white-space:normal;border-radius:8px}
 .header .nav-enyo,.enyo-page .header .nav-enyo{padding:8px 12px}
 .hero{padding:110px 24px 56px;gap:26px;min-height:0}
 .hero-visual.training-visual{height:280px;margin:0;border-radius:100px 100px 16px 16px}
 .hero h1{font-size:clamp(3.3rem,14vw,5.5rem);margin-bottom:20px}
 .hero .eyebrow{margin-bottom:16px}
 .enyo-opening{padding-top:116px}
 .booking-calendar{scroll-margin-top:104px}
 .calendar-heading button{min-height:44px;min-width:44px}
 .motion-toggle{position:static;display:block;margin:16px auto 24px;min-height:44px}
 .footer a,.text-link{min-height:44px}
 .logo-details summary,.faq-section summary{padding-block:14px}
}
@media(max-width:360px){.hero{padding-inline:18px}.hero-visual.training-visual{height:240px}.header .brand strong{font-size:1.4rem}.hero .button{gap:8px;padding-inline:14px}}

/* Let narrow screens shrink the Enyo column instead of clipping its contents. */
@media(max-width:760px){.enyo-grid{grid-template-columns:minmax(0,1fr)}.enyo-grid h2{font-size:clamp(2rem,9vw,4rem)}.enyo-teaser .enyo-logo{width:100%;max-width:280px;height:auto;aspect-ratio:1}}
