.hp-cta-grid,.hp-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.hp-cta{display:flex;justify-content:space-between;align-items:center;min-height:140px;text-decoration:none;color:inherit;font-weight:700}.hp-cert{padding:32px 0;border-bottom:1px solid #dce2eb;overflow-wrap:anywhere}.hp-partner-logo{object-fit:contain;max-width:100%;height:120px;margin-bottom:24px}.hp-cert p{max-width:80ch;margin:14px 0}.hp-proof-grid figure{margin:0;overflow:hidden}.hp-proof-grid img{width:100%;height:260px;object-fit:contain}.hp-proof-grid figcaption{font-size:.9rem;margin:12px 0}.hp-filters{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.hp-filters button,.hp-filters a,.hp-wheel-toggle{font:inherit;padding:12px 20px;border:1px solid #133d66;background:#fff;color:#133d66;border-radius:24px;cursor:pointer;text-decoration:none}.hp-filters [aria-pressed=true],.hp-filters button:hover{background:#133d66;color:white}.hp-gallery-hero{text-align:center;overflow:hidden}.hp-wheel{position:relative;height:460px;perspective:1200px;overflow:visible;margin:30px auto}.hp-wheel-ring{position:absolute;left:50%;top:50%;transform-style:preserve-3d}.hp-orbit{position:absolute;width:clamp(130px,20vw,260px);height:clamp(100px,15vw,195px);margin:0;left:0;top:0;translate:-50% -50%;border:5px solid white;border-radius:14px;box-shadow:0 16px 35px #102b4930;overflow:hidden;backface-visibility:hidden}.hp-orbit img{width:100%;height:100%;object-fit:cover}.hp-wheel-help{font-size:.9rem;margin-top:16px}.hp-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.hp-photo{margin:0;min-width:0}.hp-photo[hidden]{display:none}.hp-photo>a{position:relative;display:block;overflow:hidden;border-radius:16px;background:#153858;aspect-ratio:4/3}.hp-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.hp-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:22px;color:white;background:linear-gradient(transparent,#071426e8);opacity:0;transition:opacity .25s}.hp-overlay span{font-size:.85rem}.hp-photo a:hover img,.hp-photo a:focus-visible img{transform:scale(1.045)}.hp-photo a:hover .hp-overlay,.hp-photo a:focus-visible .hp-overlay{opacity:1}.hp-photo figcaption{padding:10px 0;font-size:.94rem}.hp-photo a:focus-visible,.hp-filters button:focus-visible{outline:3px solid #e39f26;outline-offset:4px}#gallery-lightbox{border:0;border-radius:18px;padding:20px;width:min(95vw,1100px);max-height:94vh;color:#153858}#gallery-lightbox::backdrop{background:#071426df}#gallery-lightbox figure{margin:12px 0}#gallery-lightbox img{width:100%;height:auto;max-height:72vh;object-fit:contain}#gallery-lightbox button{font:inherit;padding:10px 18px;cursor:pointer;float:right}#gallery-lightbox figcaption{padding:12px} .about-page details{padding:18px 0;border-bottom:1px solid #dce2eb}.about-page summary{font-weight:bold;cursor:pointer}.about-page h1{line-height:1.15;font-size:clamp(2rem,4vw,3.5rem);margin:18px 0}.about-page h2{margin-bottom:24px}.about-page .ap-section p{line-height:1.8}
@media(min-width:1201px){.navbar .nav-list{gap:clamp(6px,.7vw,15px)}.navbar .nav-link{font-size:clamp(10px,.85vw,14px)}}
@media(max-width:1000px){.hp-gallery-grid,.hp-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-cta-grid{grid-template-columns:1fr}.hp-wheel{height:350px}}
@media(max-width:600px){.hp-gallery-grid,.hp-proof-grid{grid-template-columns:1fr}.hp-wheel{height:260px}.hp-filters{gap:8px}.hp-filters button{padding:10px 12px}.hp-overlay{padding:12px}.hp-overlay span{display:none}}
@media(prefers-reduced-motion:reduce){.hp-photo img,.hp-overlay{transition:none}}
.hp-filters button,.hp-filters a,.hp-wheel-toggle{border-color:var(--border);background:var(--card-bg);color:var(--text)}
.hp-filters [aria-pressed=true],.hp-filters button:hover{background:var(--primary);color:#121713;border-color:var(--primary)}
.hp-photo>a{background:var(--section-bg)}.hp-cert,.about-page details{border-color:var(--border)}
.hp-photo a:focus-visible,.hp-filters button:focus-visible{outline-color:var(--primary)}
#gallery-lightbox{background:var(--card-bg);color:var(--text)}
.hp-cert h3{margin:18px 0}.hp-cert{padding:32px;border:1px solid var(--border);border-radius:22px;background:var(--card-bg);margin:22px 0}
.hp-proof-grid{margin-top:28px}.hp-gallery-grid .hp-photo figcaption{font-weight:600}
.hp-proof-doc-link{display:flex;margin-top:10px}

/* Pages éditoriales locales : Découverte, Certifications et Galerie. */
.about-page{overflow:hidden}
.about-page h1 em{color:var(--primary);font-style:normal;position:relative;display:inline-block}
.about-page h1 em::after{content:"";position:absolute;left:0;right:8%;bottom:-7px;height:3px;border-radius:4px;background:var(--primary);transform:rotate(-1deg)}
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}
[data-reveal].is-visible{opacity:1;transform:none}
.hp-about-hero,.hp-cert-hero{position:relative;min-height:680px;display:flex;align-items:center;background:radial-gradient(circle at 78% 38%,color-mix(in srgb,var(--primary) 22%,transparent),transparent 32%),linear-gradient(135deg,var(--section-bg),var(--bg));isolation:isolate}
.hp-about-hero::before,.hp-cert-hero::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.18;background-image:linear-gradient(color-mix(in srgb,var(--text) 12%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 12%,transparent) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to right,transparent,#000 35%,#000)}
.hp-about-hero-grid,.hp-cert-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:clamp(30px,6vw,90px);align-items:center}
.hp-hero-copy{position:relative;z-index:2}
.hp-hero-copy h1{max-width:790px;font-size:clamp(2.8rem,5vw,5.4rem);letter-spacing:-.045em}
.hp-hero-copy>p{max-width:620px;font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--muted)}
.hp-hero-highlights{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hp-hero-highlights span{display:flex;align-items:baseline;gap:8px;padding:10px 16px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--card-bg) 82%,transparent);box-shadow:0 12px 35px #0002}
.hp-hero-highlights strong{font-size:1.25rem;color:var(--primary)}
.hp-about-hero-visual{position:relative;min-height:520px;display:grid;place-items:center}
.hp-about-hero-visual::before{content:"";position:absolute;width:75%;aspect-ratio:1;border-radius:50%;background:var(--primary);filter:blur(90px);opacity:.16;animation:hpPulse 4s ease-in-out infinite}
.hp-about-hero-visual img{position:relative;width:min(100%,620px);height:auto;object-fit:contain;filter:drop-shadow(0 35px 45px #0008);animation:hpFloat 5s ease-in-out infinite}
.hp-orbit-line{position:absolute;width:88%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--primary) 60%,transparent);border-radius:50%;animation:hpSpin 18s linear infinite}
.hp-orbit-line::before,.hp-orbit-line::after{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:var(--primary);box-shadow:0 0 22px var(--primary)}
.hp-orbit-line::before{top:12%;left:12%}.hp-orbit-line::after{right:2%;bottom:34%}
.hp-floating-note{position:absolute;padding:10px 16px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--card-bg) 90%,transparent);box-shadow:0 15px 30px #0004;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;backdrop-filter:blur(12px)}
.hp-floating-note--top{right:0;top:18%}.hp-floating-note--bottom{left:2%;bottom:18%;color:var(--primary)}
@keyframes hpFloat{50%{transform:translateY(-14px) rotate(.5deg)}}
@keyframes hpSpin{to{transform:rotate(360deg)}}
@keyframes hpPulse{50%{opacity:.28;transform:scale(1.08)}}

.hp-story-section{position:relative}
.hp-section-heading{display:flex;align-items:center;gap:18px;margin-bottom:36px}
.hp-section-heading--center{justify-content:center;text-align:center}
.hp-section-number{display:grid;place-items:center;flex:0 0 58px;height:58px;border-radius:50%;border:1px solid color-mix(in srgb,var(--primary) 58%,var(--border));color:var(--primary);font-weight:800;font-size:.85rem;letter-spacing:.1em;background:color-mix(in srgb,var(--primary) 8%,var(--card-bg))}
.hp-section-eyebrow{display:block;margin-bottom:4px;color:var(--primary);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.hp-section-heading h2{margin:0;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.035em}
.hp-story-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(380px,1.18fr);gap:clamp(35px,7vw,100px);align-items:center}
.hp-story-section:nth-of-type(3) .hp-story-copy{order:2}
.hp-story-copy p{font-size:1.08rem;color:var(--muted)}
.hp-story-copy p:first-child{color:var(--text);font-size:1.25rem}
.hp-story-visual{position:relative;margin:0;overflow:hidden;border-radius:28px;aspect-ratio:4/3;border:1px solid var(--border);box-shadow:0 28px 65px #0005}
.hp-story-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(140deg,transparent 45%,#0009)}
.hp-story-visual img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .7s ease}
.hp-story-visual:hover img{transform:scale(1.045);filter:saturate(1.1)}
.hp-story-visual span{position:absolute;right:20px;bottom:14px;z-index:1;color:#fff;font-size:clamp(2rem,5vw,4.8rem);font-weight:900;opacity:.16;letter-spacing:-.07em}
.hp-story--ap-valeurs .ap-values-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.hp-story--ap-valeurs .ap-value-card{position:relative;overflow:hidden;min-height:200px;padding:28px;border-radius:22px;border:1px solid var(--border);background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 8%,var(--card-bg)),var(--card-bg));transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.hp-story--ap-valeurs .ap-value-card::before{content:"";position:absolute;width:90px;height:90px;right:-40px;top:-40px;border-radius:50%;background:var(--primary);opacity:.12}
.hp-story--ap-valeurs .ap-value-card:hover{transform:translateY(-7px);border-color:var(--primary);box-shadow:0 20px 45px #0003}
.hp-story--ap-valeurs .ap-value-card h3{color:var(--primary);font-size:1.25rem}
.hp-story--ap-methode .ap-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:none}
.hp-story--ap-methode .ap-step{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-height:190px;padding:25px;border:1px solid var(--border);border-radius:20px;background:var(--card-bg);transition:transform .3s ease,border-color .3s ease}
.hp-story--ap-methode .ap-step:hover{transform:translateY(-6px);border-color:var(--primary)}
.hp-story--ap-methode .ap-step-index{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--primary);color:#101510;font-weight:900}
.hp-story--ap-methode .ap-step-label{font-weight:700;line-height:1.45}

.hp-explore{background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 8%,var(--section-bg)),var(--section-bg))}
.hp-cta-grid{gap:14px;max-width:1120px;margin:0 auto}
.hp-cta{min-height:0;padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:var(--card-bg);box-shadow:0 10px 28px #0002;gap:14px;transition:transform .25s ease,border-color .25s ease,background .25s ease}
.hp-cta>i{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--primary) 15%,var(--section-bg));color:var(--primary);font-size:1.1rem}
.hp-cta>span{display:flex;flex:1;flex-direction:column;gap:3px}
.hp-cta strong{font-size:1rem}.hp-cta small{color:var(--muted);font-weight:500;line-height:1.35}
.hp-cta b{color:var(--primary);font-size:1.15rem;transition:transform .25s ease}
.hp-cta:hover{transform:translateY(-4px);border-color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--card-bg))}.hp-cta:hover b{transform:translate(3px,-3px)}

.hp-cert-hero{min-height:650px}
.hp-cert-slides{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hp-cert-slides::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,12,8,.98) 0%,rgba(5,12,8,.88) 40%,rgba(5,12,8,.42) 76%,rgba(5,12,8,.7) 100%),linear-gradient(0deg,rgba(5,12,8,.7),transparent 45%)}
.hp-cert-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.05);transition:opacity 1.2s ease,transform 7s ease}
.hp-cert-slides img.is-active{opacity:1;transform:scale(1)}
.hp-slide-dots{position:absolute;left:50%;bottom:24px;display:flex;gap:8px;z-index:3;transform:translateX(-50%)}
.hp-slide-dots span{width:8px;height:8px;border-radius:50%;background:#fff6;transition:width .35s ease,background .35s ease}.hp-slide-dots span.is-active{width:28px;border-radius:8px;background:var(--primary)}
.hp-cert-hero-visual{position:relative;min-height:470px}
.hp-cert-hero-visual::before{content:"";position:absolute;inset:7% 9%;border:1px solid color-mix(in srgb,var(--primary) 45%,transparent);border-radius:50%;animation:hpSpin 25s linear infinite}
.hp-logo-orbit{position:absolute;inset:4%;animation:hpSpin 24s linear infinite}
.hp-hero-logo{position:absolute;width:188px;min-height:112px;display:grid;place-items:center;padding:14px;border:1px solid var(--border);border-radius:20px;background:color-mix(in srgb,var(--card-bg) 94%,transparent);box-shadow:0 20px 42px #0008;backdrop-filter:blur(10px);animation:hpCounterSpin 24s linear infinite}
.hp-hero-logo>span{display:grid;width:100%;place-items:center}
.hp-hero-logo img{width:100%;height:78px;object-fit:contain}
.hp-hero-logo--1{left:50%;top:-1%;animation-name:hpCounterSpinCentered}.hp-hero-logo--2{right:0;bottom:10%}.hp-hero-logo--3{left:0;bottom:10%}
@keyframes hpCounterSpin{from{transform:rotate(0)}to{transform:rotate(-360deg)}}
@keyframes hpCounterSpinCentered{from{transform:translateX(-50%) rotate(0)}to{transform:translateX(-50%) rotate(-360deg)}}
.hp-cert-seal{position:absolute;left:50%;top:50%;width:155px;height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;background:var(--primary);color:#101510;box-shadow:0 0 0 12px color-mix(in srgb,var(--primary) 15%,transparent),0 25px 60px #0007;transform:translate(-50%,-50%) rotate(-7deg);text-align:center;text-transform:uppercase}
.hp-cert-seal{animation:hpSealPulse 3.2s ease-in-out infinite}.hp-cert-seal strong{font-size:1.35rem;animation:hpSealText 2.2s ease-in-out infinite}.hp-cert-seal span{font-size:.75rem;font-weight:800;line-height:1.25;letter-spacing:.06em;animation:hpSealText 2.2s ease-in-out .18s infinite}
@keyframes hpSealPulse{50%{transform:translate(-50%,-50%) rotate(2deg) scale(1.06);box-shadow:0 0 0 18px color-mix(in srgb,var(--primary) 10%,transparent),0 28px 70px #0008}}
@keyframes hpSealText{50%{transform:translateY(-2px);opacity:.72}}
.hp-anchor-nav a{padding:10px 16px;font-size:.9rem}
.hp-cert-section{position:relative}.hp-cert-section:nth-of-type(odd){background:var(--section-bg)}
.hp-cert{display:grid;grid-template-columns:270px minmax(0,1fr);gap:42px;align-items:start;padding:clamp(24px,4vw,46px);border-radius:28px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 7%,var(--card-bg)),var(--card-bg));box-shadow:0 24px 55px #0003}
.hp-cert-logo-wrap{position:sticky;top:110px;display:grid;place-items:center;min-height:230px;padding:30px 22px;border:1px solid var(--border);border-radius:22px;background:color-mix(in srgb,var(--section-bg) 75%,transparent)}
.hp-cert-logo-wrap::after{content:"";position:absolute;inset:10px;border:1px dashed color-mix(in srgb,var(--primary) 32%,transparent);border-radius:15px;pointer-events:none}
.hp-cert-logo-wrap span{color:var(--primary);font-size:.7rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hp-partner-logo{height:125px;margin:0 0 20px;filter:drop-shadow(0 10px 18px #0004)}
.hp-cert-content h3{font-size:clamp(1.6rem,3vw,2.5rem);letter-spacing:-.025em;margin:0 0 18px}.hp-cert-content p{color:var(--muted)}.hp-cert-content p strong{color:var(--text)}
.hp-copy-columns{columns:2 300px;column-gap:34px;column-rule:1px solid var(--border)}
.hp-copy-columns p{break-inside:avoid;margin-top:0;margin-bottom:16px}
.hp-tosa-certifications{margin:34px 0 12px;padding-top:28px;border-top:1px solid var(--border)}
.hp-tosa-certifications h4,.hp-tesol-facts h4{font-size:clamp(1.35rem,2.3vw,2rem);margin:5px 0 22px}
.hp-tosa-cert-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hp-tosa-cert-groups>div{padding:22px;border:1px solid var(--border);border-radius:18px;background:color-mix(in srgb,var(--primary) 5%,var(--section-bg))}
.hp-tosa-cert-groups h5{margin:0 0 16px;color:var(--primary);font-size:1rem}
.hp-tosa-cert-groups ul{display:grid;gap:11px;margin:0;padding:0;list-style:none}.hp-tosa-cert-groups li{display:flex;align-items:flex-start;gap:10px;color:var(--muted);line-height:1.45}.hp-tosa-cert-groups li i{margin-top:.28em;color:var(--primary);font-size:.75rem}
.hp-cert--tosa{grid-template-areas:"logo intro" "map cert";row-gap:0}.hp-cert--tosa>.hp-cert-logo-wrap{grid-area:logo;position:relative;top:auto}.hp-tosa-intro-content{grid-area:intro}.hp-tosa-cert-column{grid-area:cert}.hp-tosa-cert-column .hp-tosa-certifications{margin-top:34px}.hp-tosa-map-card{grid-area:map;position:relative;width:calc(100% + 24px);margin:138px 0 0 -12px;padding:18px;border:1px solid var(--border);border-radius:22px;background:color-mix(in srgb,var(--section-bg) 75%,transparent);box-shadow:0 16px 35px #0003}.hp-tosa-map-card::after{content:"";position:absolute;inset:9px;border:1px dashed color-mix(in srgb,var(--primary) 32%,transparent);border-radius:15px;pointer-events:none}.hp-tosa-map-card img{position:relative;z-index:1;display:block;width:100%;height:160px;padding:6px;object-fit:contain;border-radius:12px;background:#fff}.hp-tosa-map-card figcaption{position:relative;z-index:1;display:flex;gap:7px;padding:10px 2px 0;color:var(--muted);font-size:.68rem;line-height:1.4;text-align:left}.hp-tosa-map-card figcaption i{margin-top:.2em;color:var(--primary)}
.hp-tesol-intro{margin-bottom:26px}.hp-tesol-programs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}
.hp-tesol-programs section{position:relative;overflow:hidden;padding:26px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 10%,var(--card-bg)),var(--card-bg))}
.hp-tesol-programs section::after{content:"";position:absolute;right:-35px;top:-35px;width:110px;height:110px;border-radius:50%;background:var(--primary);opacity:.1}
.hp-tesol-programs section>span{display:block;color:var(--primary);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hp-tesol-programs strong{display:block;margin:8px 0 2px;font-size:2.1rem;color:var(--text)}.hp-tesol-programs h4{margin:0 0 14px;font-size:1.15rem}.hp-tesol-programs p{margin:0;font-size:.94rem;line-height:1.65}
.hp-tesol-facts{margin:30px 0;padding:28px;border:1px solid color-mix(in srgb,var(--primary) 48%,var(--border));border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 9%,var(--section-bg)),var(--section-bg));box-shadow:0 18px 45px #0003}
.hp-tesol-facts-title{display:flex;align-items:center;gap:16px;margin-bottom:20px}.hp-tesol-facts-title>i{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:16px;background:var(--primary);color:#101510}.hp-tesol-facts-title span{color:var(--primary);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.hp-tesol-facts-title h4{margin:3px 0 0}
.hp-tesol-facts ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 20px;margin:0;padding:0;list-style:none}.hp-tesol-facts li{display:flex;gap:10px;color:var(--muted);line-height:1.5}.hp-tesol-facts li i{margin-top:.25em;color:var(--primary)}
.hp-tesol-disclaimer{display:flex;gap:12px;margin:22px 0 0!important;padding:16px;border-radius:14px;background:color-mix(in srgb,var(--primary) 8%,var(--card-bg));color:var(--text)!important;font-weight:650}.hp-tesol-disclaimer i{color:var(--primary);margin-top:.28em}.hp-tesol-details{margin-top:28px}
.hp-verify-link{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:12px 17px;border-radius:999px;background:var(--primary);color:#101510!important;font-size:.9rem;font-weight:800;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}.hp-verify-link:hover{transform:translateY(-3px);box-shadow:0 12px 30px color-mix(in srgb,var(--primary) 28%,transparent)}
.hp-proof-grid{gap:18px}.hp-proof-grid figure{border:1px solid var(--border);border-radius:20px;background:var(--card-bg);box-shadow:0 15px 35px #0002}.hp-proof-media{position:relative;overflow:hidden;background:#fff;border-radius:19px 19px 0 0}.hp-proof-grid img{display:block;height:280px;padding:10px;transition:transform .4s ease}.hp-proof-grid figure:hover img{transform:scale(1.035)}.hp-proof-media>span{position:absolute;right:14px;top:14px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--primary);color:#101510;box-shadow:0 8px 20px #0004}.hp-proof-grid figcaption{min-height:58px;padding:14px 16px;margin:0;color:var(--muted)}
.hp-faq-section{background:linear-gradient(145deg,var(--section-bg),color-mix(in srgb,var(--primary) 6%,var(--section-bg)))}
.hp-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.hp-faq-list details{padding:0;border:1px solid var(--border);border-radius:16px;background:var(--card-bg);overflow:hidden}.hp-faq-list summary{display:flex;justify-content:space-between;gap:20px;padding:20px;list-style:none}.hp-faq-list summary::-webkit-details-marker{display:none}.hp-faq-list summary span{color:var(--primary);font-size:1.4rem;transition:transform .25s ease}.hp-faq-list details[open] summary span{transform:rotate(45deg)}.hp-faq-list details p{padding:0 20px 20px;margin:0;color:var(--muted)}

.hp-gallery-kicker{font-size:clamp(1.35rem,3vw,2rem);letter-spacing:.2em;font-weight:900;text-shadow:0 0 28px color-mix(in srgb,var(--primary) 55%,transparent)}.hp-gallery-hero h1{font-size:clamp(2.6rem,6vw,5.6rem);letter-spacing:-.045em}.hp-gallery-hero>div>p{color:#e3e9e4;font-size:1.1rem}

/* Slider d'arrière-plan du hero Galerie. */
.hp-gallery-hero {
  position: relative;
  isolation: isolate;
  color: #fff;
  background: #050c08;
}

.hp-gallery-hero>.ap-container {
  position: relative;
  z-index: 1;
}

.hp-gallery-slides::after {
  background:
    linear-gradient(180deg, rgba(5, 12, 8, .82), rgba(5, 12, 8, .58) 45%, rgba(5, 12, 8, .88)),
    radial-gradient(circle at center, rgba(5, 12, 8, .2), rgba(5, 12, 8, .72));
}

.hp-gallery-slides img {
  filter: saturate(.82) brightness(.78);
}

.hp-gallery-slides .hp-slide-dots {
  bottom: 18px;
}
.hp-gallery-section-title{position:relative;display:inline-block;padding-left:22px;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.04em}.hp-gallery-section-title::before{content:"";position:absolute;left:0;top:.12em;width:6px;height:.9em;border-radius:8px;background:var(--primary);box-shadow:0 0 18px color-mix(in srgb,var(--primary) 50%,transparent)}.hp-gallery-section-title span{color:var(--primary)}

/* Animation horizontale du H1 principal du hero Certifications. */
.hp-cert-hero h1.hp-animated-title>span,.hp-cert-hero h1.hp-animated-title>em{display:block;opacity:0;transform:translateX(-46px);animation:hpTitleReveal .9s cubic-bezier(.2,.75,.2,1) forwards}
.hp-animated-title>span:nth-child(2){animation-delay:.14s}.hp-animated-title>em{animation-delay:.28s}
@keyframes hpTitleReveal{to{opacity:1;transform:none}}
.hp-about-hero{background:var(--section-bg)}
.hp-about-hero .hp-cert-slides::after{background:linear-gradient(90deg,rgba(5,12,8,.98),rgba(5,12,8,.78) 48%,rgba(5,12,8,.38) 82%,rgba(5,12,8,.62)),linear-gradient(0deg,rgba(5,12,8,.72),transparent 55%)}
.hp-about-hero-grid{position:relative;z-index:1}
.hp-about-emblem{justify-self:end;display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(36vw,410px);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--primary) 55%,transparent);border-radius:50%;background:color-mix(in srgb,var(--card-bg) 35%,transparent);box-shadow:0 0 0 25px color-mix(in srgb,var(--primary) 5%,transparent);backdrop-filter:blur(3px);animation:hpEmblemFloat 4.5s ease-in-out infinite}
.hp-about-emblem::before{content:"";position:absolute;width:115%;height:115%;border:1px dashed color-mix(in srgb,var(--primary) 35%,transparent);border-radius:50%;animation:hpSpin 22s linear infinite}.hp-about-emblem span{color:var(--primary);font-size:clamp(3.5rem,8vw,7rem);font-weight:900;letter-spacing:-.08em;text-shadow:0 15px 40px #000}.hp-about-emblem small{font-weight:800;letter-spacing:.12em;text-transform:uppercase}
@keyframes hpEmblemFloat{50%{transform:translateY(-12px)}}
.hp-story-slides>img{position:absolute;inset:0;opacity:0;transform:scale(1.045);transition:opacity 1s ease,transform 6s ease}
.hp-story-slides>img.is-active{opacity:1;transform:scale(1)}
.hp-story-slides>.hp-slide-dots{left:24px;bottom:22px;transform:none;z-index:3}
.hp-story-slides .hp-slide-dots span{position:static;display:block;width:8px;height:8px;font-size:0;opacity:1;background:#fff8}.hp-story-slides .hp-slide-dots span.is-active{width:28px;background:var(--primary)}
.hp-story-slides>.hp-story-watermark{right:20px;bottom:14px}

/* Étapes : cartes UX compactes et texte plus lisible. */
.hp-story--ap-methode .ap-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hp-story--ap-methode .ap-step{position:relative;flex-direction:row;align-items:center;min-height:0;padding:18px 20px;gap:16px;overflow:hidden}
.hp-story--ap-methode .ap-step::after{content:"";position:absolute;right:-22px;width:64px;height:64px;border-radius:50%;background:var(--primary);opacity:.07}
.hp-story--ap-methode .ap-step-index{flex:0 0 50px;width:50px;height:50px;border-radius:15px;font-size:.95rem}
.hp-story--ap-methode .ap-step-label{font-size:clamp(1rem,1.45vw,1.18rem);line-height:1.4}

@media(max-width:1000px){
 .hp-about-hero,.hp-cert-hero{min-height:auto}.hp-about-hero-grid,.hp-cert-hero-grid,.hp-story-grid{grid-template-columns:1fr}.hp-about-hero-visual{min-height:430px}.hp-story-section:nth-of-type(3) .hp-story-copy{order:initial}.hp-story-visual{max-width:700px;width:100%;margin:0 auto}.hp-story--ap-valeurs .ap-values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-story--ap-methode .ap-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.hp-cert-hero-visual{max-width:600px;width:100%;margin:0 auto}.hp-cert{grid-template-columns:220px minmax(0,1fr)}.hp-faq-list{grid-template-columns:1fr}.hp-copy-columns{columns:1}.hp-tesol-facts ul{grid-template-columns:1fr}
 .hp-cert--tosa{grid-template-columns:1fr;grid-template-areas:"logo" "map" "intro" "cert";row-gap:24px}.hp-cert--tosa>.hp-cert-logo-wrap{position:relative;top:auto;min-height:180px}.hp-cert--tosa>.hp-cert-logo-wrap,.hp-tosa-map-card{max-width:320px;width:100%;margin-left:auto;margin-right:auto}.hp-tosa-map-card{margin-top:0}.hp-tosa-cert-column .hp-tosa-certifications{margin-top:0}
}
@media(max-width:650px){
 .hp-about-hero-grid,.hp-cert-hero-grid{gap:15px}.hp-about-hero,.hp-cert-hero{padding-top:60px}.hp-hero-copy h1{font-size:clamp(2.35rem,12vw,3.5rem)}.hp-about-hero-visual{min-height:340px}.hp-about-emblem{justify-self:center;width:min(76vw,280px)}.hp-about-emblem span{font-size:clamp(3rem,17vw,4.8rem)}.hp-about-emblem small{padding:0 22px;text-align:center;font-size:.65rem}.hp-floating-note{font-size:.62rem}.hp-floating-note--top{right:3%;top:13%}.hp-story--ap-valeurs .ap-values-grid,.hp-story--ap-methode .ap-steps{grid-template-columns:1fr}.hp-story--ap-methode .ap-step{min-height:0}.hp-section-heading{align-items:flex-start}.hp-section-number{flex-basis:46px;height:46px}.hp-story-visual{aspect-ratio:1}.hp-cert-hero-visual{min-height:390px}.hp-hero-logo{width:140px;min-height:88px;padding:10px;border-radius:16px}.hp-hero-logo img{height:60px}.hp-cert-seal{width:120px;height:120px}.hp-cert{grid-template-columns:1fr;gap:24px;padding:20px}.hp-cert--tosa{grid-template-areas:"logo" "map" "intro" "cert";row-gap:24px}.hp-cert-logo-wrap{position:relative;top:auto;min-height:180px}.hp-cert--tosa>.hp-cert-logo-wrap,.hp-tosa-map-card{max-width:320px;width:100%;margin-left:auto;margin-right:auto}.hp-tosa-map-card{margin-top:0}.hp-tosa-cert-column .hp-tosa-certifications{margin-top:0}.hp-proof-grid img{height:240px}.hp-tosa-cert-groups,.hp-tesol-programs{grid-template-columns:1fr}.hp-tesol-facts{padding:20px}.hp-tesol-facts-title{align-items:flex-start}.hp-cta-grid{grid-template-columns:1fr}.hp-cta{padding:12px 14px}.hp-cta small{display:none}.hp-gallery-kicker{letter-spacing:.12em}
}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;transition:none}.hp-about-hero-visual img,.hp-about-hero-visual::before,.hp-orbit-line,.hp-cert-hero-visual::before{animation:none!important}}
