@import url('/assets/home-fixes-v19.css?v=20');
html,body{width:100%;max-width:100%;overflow-x:clip}
img,video,iframe{max-width:100%}
.site-shell,.site-nav,.hero-grid,.cards-3,.service-card,.trainer-card,.contact-grid,.contact-card{min-width:0;max-width:100%}
@media(max-width:680px){.site-shell{width:calc(100% - 28px)!important}.site-nav{flex-wrap:wrap}.nav-actions{min-width:0;margin-left:auto;gap:6px}.nav-actions .button{padding:10px 12px;font-size:12px}.service-card{width:100%!important}}

/* Landing-page refresh v23 */
.hero{
  isolation:isolate;
  background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.89) 38%,rgba(255,255,255,.32) 70%,rgba(12,18,53,.12) 100%),url('/assets/hero-online-speaking-v2.webp')!important;
  background-size:cover!important;
  background-position:center!important;
}

/* Keep the French desktop header aligned exactly like the English header. */
.site-header .site-shell{width:min(1460px,calc(100% - 32px))}
.site-header .site-nav{gap:20px}
.site-header .brand{flex:0 0 180px}
.site-header .nav-links{min-width:0;gap:clamp(16px,1.8vw,28px)}
.site-header .nav-links a,.site-header .nav-actions,.site-header .nav-actions .button{white-space:nowrap}
html[lang=fr] .site-header .nav-links{gap:clamp(14px,1.55vw,24px)}
html[lang=fr] .site-header .nav-links a{font-size:13px}
html[lang=fr] .site-header .nav-actions{gap:8px}
html[lang=fr] .site-header .nav-actions .button{padding-inline:16px}

@media(max-width:1200px){
  .site-header .nav-links{display:none}
  .site-header .menu-button{display:block}
  .site-header .site-nav.open{flex-wrap:wrap;padding-bottom:15px}
  .site-header .site-nav.open .nav-links{display:flex;order:5;width:100%;flex-direction:column;gap:0}
  .site-header .site-nav.open .nav-links a{padding:12px 0;border-top:1px solid var(--line);font-size:14px;white-space:normal}
}
.hero::after{display:none!important}
.hero-grid{display:block!important;min-height:630px!important;padding:106px 0 92px!important}
.hero-copy{width:min(620px,56%);padding:30px 0}
.hero-copy h1{text-shadow:0 2px 24px rgba(255,255,255,.75)}

.experience-strip{padding:54px 0 42px!important;background:linear-gradient(135deg,#0c1235 0%,#171d55 68%,#25327c 100%)!important;border:0!important;color:#fff;box-shadow:0 18px 55px rgba(12,18,53,.18)}
.experience-strip p{color:var(--mint)!important;font-size:13px!important;letter-spacing:.18em!important;margin-bottom:28px!important}
.institution-list{gap:14px}
.institution-list div{border:1px solid rgba(255,255,255,.16)!important;border-radius:12px;padding:20px 18px!important;background:rgba(255,255,255,.07);box-shadow:0 10px 28px rgba(0,0,0,.14)}
.institution-list strong{color:#fff!important;font-size:19px!important}
.institution-list span{color:#cbd0eb!important;font-size:13px!important}
.experience-strip small{color:#aeb5dc!important;margin-top:24px!important}

.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.service-card{display:flex!important;flex-direction:column!important;position:relative}
.service-image-wrap{position:relative;margin:15px 0 17px}
.service-image-wrap .service-image{margin:0!important;max-width:none!important}
.language-badge{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;background:rgba(12,18,53,.94);color:#fff;font-size:12px;font-weight:900;letter-spacing:.04em;box-shadow:0 5px 18px rgba(0,0,0,.22)}
.language-badge img{display:block;width:22px;height:15px;object-fit:cover;border:1px solid rgba(255,255,255,.65);border-radius:2px}
.service-card>p{flex:1}
.service-card .service-action{align-self:flex-end;margin-top:12px;padding:10px 16px!important;font-size:13px!important;color:#fff!important;background:var(--blue)!important;border-color:var(--blue)!important;line-height:1.3!important;visibility:visible!important;opacity:1!important}
.trainer-list{grid-template-columns:repeat(auto-fit,minmax(280px,370px))!important;justify-content:start}
.trainer-photo-wrap,.trainer-avatar-wrap{position:relative;width:max-content}
.presence-dot{position:absolute;right:1px;bottom:5px;width:17px;height:17px;border:3px solid #fff;border-radius:50%;background:#9ba1ae;box-shadow:0 2px 7px rgba(12,18,53,.28)}
.presence-dot.online{background:#20b86a}
.presence-label{display:inline-flex;align-items:center;margin:7px 7px 0 0;font-size:11px;font-weight:900;color:#7c8291}
.presence-label::before{content:"";width:7px;height:7px;margin-right:5px;border-radius:50%;background:#9ba1ae}
.presence-label.online{color:#087a4e}.presence-label.online::before{background:#20b86a}
.trainer-avatar-wrap .presence-dot{right:5px;bottom:9px;width:20px;height:20px;border-width:4px}
.request-shell{max-width:760px!important}.request-shell>h1{font-size:clamp(2.4rem,6vw,4.3rem);margin-bottom:14px}.request-shell>.section-intro{margin-bottom:28px}.request-privacy{font-size:12px;color:var(--muted)}.sr-only-field{position:absolute!important;left:-9999px!important}
.site-header .brand{grid-template-columns:48px 132px!important;grid-template-rows:auto auto!important}.site-header .brand span{width:max-content!important;grid-column:2!important;align-self:end!important}.site-header .brand:after{content:none!important;display:none!important}.site-header .brand-tagline{display:block;grid-column:2;align-self:start;width:max-content;max-width:none;overflow:visible;color:#303550;font-weight:800;line-height:1;letter-spacing:0;word-spacing:0;white-space:nowrap;text-align:left;text-transform:none;transform:none;margin:1px 0 0}
.hero-copy h1{white-space:nowrap}.hero-copy h1 span{display:block}

@media(max-width:760px){
  .hero{position:relative!important;isolation:isolate!important;background-image:linear-gradient(180deg,rgba(255,255,255,.985) 0%,rgba(255,255,255,.96) 48%,rgba(255,255,255,.84) 74%,rgba(255,255,255,.56) 100%),url('/assets/hero-online-speaking-mobile.webp')!important;background-size:cover!important;background-position:center 34%!important;background-repeat:no-repeat!important;background-attachment:scroll!important}
  .hero::before{display:none!important;content:none!important}
  .hero-grid{position:relative!important;z-index:1!important;min-height:570px!important;padding:34px 0 28px!important}
  .hero-copy{width:100%;padding:16px 0}
  .hero-copy h1{font-size:clamp(2.2rem,10vw,3.15rem)!important;line-height:1.02!important;letter-spacing:-.045em!important}
  .hero-copy>p{font-size:1rem!important;line-height:1.6!important}
  .section{padding:58px 0!important}
  .section h2{font-size:clamp(1.85rem,8vw,2.65rem)!important;line-height:1.08!important}
  .section-intro,.service-card p,.contact-card p,.contact-details p{font-size:.98rem!important;line-height:1.6!important}
  .service-card h3{font-size:1.2rem!important}
  .service-card .service-action{font-size:.9rem!important;min-height:42px}
  .services-grid{grid-template-columns:1fr!important}
  .institution-list{gap:10px}
  .trust-row{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;width:max-content;max-width:100%;font-size:.82rem!important;line-height:1.35!important;color:#111044!important;font-weight:900!important}
  .trust-row span{width:max-content;max-width:100%;padding:0;color:#111044!important;font-size:.82rem!important;font-weight:900!important;opacity:1!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;text-shadow:none!important}
  .trust-row span:before{font-size:1rem;margin-right:8px!important}
  .site-header .brand-tagline{display:block!important;width:max-content!important;max-width:none!important;transform:none!important}
}
@media(min-width:761px) and (max-width:1100px){
  .hero{background-position:66% center!important}
  .hero-grid{min-height:560px!important;padding:78px 0!important}
  .hero-copy{width:58%}
  .hero-copy h1{font-size:clamp(3rem,6vw,4.25rem)!important}
  .section h2{font-size:clamp(2.15rem,4.5vw,3.2rem)!important}
}
@media(max-width:420px){
  .hero{background-position:center 30%!important}
  .hero-grid{min-height:540px!important;padding:28px 0 24px!important}
  .hero-copy h1{font-size:2.25rem!important}
  .hero-actions{gap:9px!important;margin:24px 0!important}
  .hero-actions .button{width:100%;font-size:.9rem!important}
  .trust-row{gap:6px!important;font-size:.82rem!important}
  .section h2{font-size:1.9rem!important}
  .language-badge{right:7px;bottom:7px;gap:4px;font-size:10px;padding:6px 8px}
  .language-badge img{width:19px;height:13px}
}
