/* doc-project | public/assets/css/home.css | met en scène la page d’accueil premium autour de l’eau, du mouvement et de l’inclusion */
.hero { position: relative; min-height: min(780px,calc(100vh - 5rem)); display: grid; align-items: center; overflow: hidden; background: linear-gradient(150deg,#fbfefe 0,#edf9fa 48%,#dff4f5 100%); }
.hero::before { content:""; position:absolute; width:42rem; height:42rem; right:-12rem; top:-19rem; background:radial-gradient(circle,rgba(19,175,208,.18),transparent 67%); border-radius:50%; }
.hero__grid { position:relative; display:grid; grid-template-columns:1.12fr .88fr; align-items:center; gap:clamp(2rem,6vw,6rem); padding-block:clamp(4rem,8vw,7rem); }
.hero__copy { max-width:680px; }
.hero h1 span { color:var(--ocean-700); }
.hero__lead { max-width:650px; color:var(--ink-soft); font-size:clamp(1.05rem,2vw,1.25rem); }
.eyebrow__dot { display:inline-block; width:.5rem; height:.5rem; margin-right:.35rem; background:var(--ocean-500); border-radius:50%; box-shadow:0 0 0 5px rgba(19,175,208,.12); }
.hero__actions { display:flex; flex-wrap:wrap; gap:.7rem; margin:1.7rem 0 2.4rem; }
.hero__proof { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; padding-top:1.3rem; border-top:1px solid rgba(7,85,120,.14); }
.hero__proof div { display:grid; }
.hero__proof strong { color:var(--ocean-900); font-size:.93rem; }
.hero__proof span { color:var(--ink-soft); font-size:.76rem; }
.hero-visual { position:relative; min-height:510px; border-radius:48% 52% 45% 55% / 52% 40% 60% 48%; background:linear-gradient(160deg,#d9f5f6,#8adce2); box-shadow:0 35px 90px rgba(7,119,162,.18); isolation:isolate; }
.hero-visual::before { content:""; position:absolute; inset:1.2rem; border:1px solid rgba(255,255,255,.62); border-radius:inherit; }
.hero-visual__orb { position:absolute; border-radius:50%; background:rgba(255,255,255,.46); animation:float 6s ease-in-out infinite; }
.hero-visual__orb--one { width:7rem;height:7rem;right:12%;top:11%; }
.hero-visual__orb--two { width:3.5rem;height:3.5rem;left:13%;bottom:16%;animation-delay:-2s; }
.hero-visual__waves { position:absolute; inset:auto 9% 18%; display:grid; gap:.7rem; opacity:.5; }
.hero-visual__waves span { height:2px; background:linear-gradient(90deg,transparent,#fff,transparent); border-radius:50%; transform:rotate(-5deg); }
.hero-visual__person { position:absolute; inset:28% 12% auto; display:grid; justify-items:center; gap:1rem; color:var(--ocean-900); text-align:center; font-size:clamp(1.25rem,2vw,1.7rem); }
.hero-visual__person .icon { width:6.5rem;height:6.5rem;color:var(--ocean-700);filter:drop-shadow(0 12px 20px rgba(7,119,162,.18)); }
.hero-visual__badge { position:absolute; right:-1rem; bottom:9%; display:flex; align-items:center; gap:.65rem; padding:.85rem 1rem; background:#fff; border-radius:1rem; box-shadow:var(--shadow); }
.hero-visual__badge > .icon { width:2rem;height:2rem;color:var(--success); }
.hero-visual__badge span { display:grid;line-height:1.25; }
.hero-visual__badge small { color:var(--ink-soft); }
.hero__scroll { position:absolute; left:50%; bottom:1.2rem; display:flex; align-items:center; gap:.45rem; color:var(--ink-soft); font-size:.76rem; font-weight:750; text-decoration:none; transform:translateX(-50%); }
.hero__scroll .icon { transform:rotate(90deg); }
.intro-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,7vw,7rem); }
.intro-grid > div:last-child { max-width:680px; }
.audience-section { background:var(--surface-soft); }
.audience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.audience-card { padding:1.45rem; background:#fff; border:1px solid var(--line); border-radius:var(--radius); transition:transform var(--transition),box-shadow var(--transition); }
.audience-card:hover { transform:translateY(-4px);box-shadow:var(--shadow-sm); }
.audience-card__icon { display:grid; width:3rem;height:3rem;place-items:center;margin-bottom:1rem;color:var(--ocean-700);background:var(--aqua-100);border-radius:.85rem; }
.audience-card p { margin:0;color:var(--ink-soft);font-size:.9rem; }
.activities-preview .section-heading, .gallery-section .section-heading, .events-preview .section-heading { display:flex; max-width:none; align-items:end; justify-content:space-between; gap:1rem; }
.activity-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.activity-card { overflow:hidden; background:#fff; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); }
.activity-card__media picture img, .activity-card__media img { width:100%; height:250px; object-fit:cover; }
.media-placeholder--activity { min-height:250px;border:0;border-radius:0; }
.media-placeholder__icon .icon { width:4rem;height:4rem; }
.activity-card__body { padding:1.3rem; }
.activity-card__body p:not(.eyebrow) { color:var(--ink-soft); }
.activity-card__facts { display:flex; flex-wrap:wrap; gap:.7rem; margin:1rem 0; color:var(--ink-soft); font-size:.8rem; }
.activity-card__facts span { display:flex;align-items:center;gap:.3rem; }
.gallery-section { overflow:hidden;background:#062f43;color:#d9edf2; }
.gallery-section h2,.gallery-section .eyebrow { color:#fff; }
.carousel-controls { display:flex; gap:.4rem; }
.carousel-controls button { display:grid; width:2.6rem;height:2.6rem;place-items:center;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);border-radius:.7rem; }
.media-carousel,.event-carousel { overflow:hidden; }
.media-carousel__track,.event-carousel__track { display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:.4rem; }
.media-carousel__track::-webkit-scrollbar,.event-carousel__track::-webkit-scrollbar { display:none; }
.gallery-card { flex:0 0 min(44vw,510px); margin:0; overflow:hidden; background:#fff;border-radius:var(--radius-lg);scroll-snap-align:start; }
.gallery-card picture img,.gallery-card>img { width:100%;height:340px;object-fit:cover; }
.gallery-card figcaption { display:grid;padding:1rem;color:var(--ocean-900);font-weight:700; }
.gallery-card figcaption small { color:var(--ink-soft);font-weight:400; }
.gallery-card--placeholder>div { position:relative;display:grid;height:340px;place-items:center;color:#fff;background:linear-gradient(145deg,var(--ocean-700),var(--ocean-500));overflow:hidden; }
.gallery-card--placeholder .icon { width:5rem;height:5rem; }
.gallery-card__bubbles::before,.gallery-card__bubbles::after { content:"";position:absolute;border:1px solid rgba(255,255,255,.4);border-radius:50%; }
.gallery-card__bubbles::before { width:10rem;height:10rem;right:-2rem;top:-2rem; }
.gallery-card__bubbles::after { width:5rem;height:5rem;left:2rem;bottom:2rem; }
.values-grid { display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:clamp(2rem,7vw,7rem); }
.values-visual { position:relative;display:grid;min-height:430px;place-items:center;align-content:center;gap:1rem;color:#fff;text-align:center;background:linear-gradient(150deg,var(--ocean-800),var(--ocean-500));border-radius:43% 57% 58% 42% / 48% 42% 58% 52%;overflow:hidden; }
.values-visual>span .icon { width:4rem;height:4rem; }
.values-visual>strong { font-size:1.65rem;line-height:1.25; }
.values-visual__ring { position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.27);border-radius:50%;box-shadow:0 0 0 50px rgba(255,255,255,.06),0 0 0 100px rgba(255,255,255,.04); }
.values-list { display:grid;gap:1.2rem;margin-top:1.5rem; }
.values-list article { display:flex;gap:1rem; }
.values-list article>span { display:grid;width:2.6rem;height:2.6rem;flex:0 0 auto;place-items:center;color:var(--ocean-700);background:var(--aqua-100);border-radius:.75rem; }
.values-list h3 { margin-bottom:.25rem;font-size:1.08rem; }
.values-list p { margin:0;color:var(--ink-soft); }
.membership-cta { background:var(--surface-soft); }
.membership-cta__card { display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,6vw,6rem);padding:clamp(2rem,5vw,4rem);color:#d9edf2;background:linear-gradient(145deg,#062f43,#075f7c);border-radius:2rem;box-shadow:var(--shadow); }
.membership-cta h2,.membership-cta .eyebrow { color:#fff; }
.membership-cta__methods { display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.5rem; }
.membership-cta__methods span { display:flex;align-items:center;gap:.35rem;padding:.45rem .65rem;background:rgba(255,255,255,.1);border-radius:999px;font-size:.8rem; }
.membership-price { display:grid;align-content:center;gap:.4rem;padding:1.5rem;color:var(--ink);background:#fff;border-radius:var(--radius-lg); }
.membership-price>strong { color:var(--ocean-900);font-size:3.2rem;line-height:1; }
.membership-price>small,.membership-price>p { color:var(--ink-soft); }
.membership-price .button { margin-top:1rem; }
.events-preview { background:#fbfdfd; }
.section-heading__actions { display:flex;align-items:center;gap:1rem; }
.events-preview .carousel-controls button { color:var(--ocean-900);background:#fff;border-color:var(--line); }
.event-carousel__track>.event-card { flex:0 0 min(86vw,370px);scroll-snap-align:start; }
.contact-strip { padding-top:2rem; }
.contact-strip__grid { display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(2rem,5vw,3.5rem);background:var(--aqua-100);border:1px solid #bce4e6;border-radius:var(--radius-lg); }
.contact-strip__grid>div:first-child { max-width:680px; }
.contact-strip__actions { display:grid;justify-items:center;gap:.7rem;flex:0 0 auto; }
.contact-strip__mail { display:flex;align-items:center;gap:.4rem;font-size:.83rem;text-decoration:none; }
@keyframes float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-13px)} }
@media(max-width:980px){.hero__grid,.values-grid,.membership-cta__card{grid-template-columns:1fr}.hero-visual{min-height:420px;width:min(100%,560px);margin:auto}.audience-grid,.activity-grid{grid-template-columns:repeat(2,1fr)}.intro-grid{grid-template-columns:1fr;gap:1rem}.values-visual{min-height:340px}.gallery-card{flex-basis:min(75vw,500px)}}
@media(max-width:650px){.hero{min-height:auto}.hero__grid{padding-top:3.5rem}.hero__proof{grid-template-columns:1fr}.hero-visual{min-height:340px}.hero-visual__badge{right:.5rem}.audience-grid,.activity-grid{grid-template-columns:1fr}.activities-preview .section-heading,.gallery-section .section-heading,.events-preview .section-heading{align-items:flex-start;flex-direction:column}.gallery-card{flex-basis:88vw}.gallery-card picture img,.gallery-card>img,.gallery-card--placeholder>div{height:280px}.contact-strip__grid{align-items:stretch;flex-direction:column}.contact-strip__actions{justify-items:stretch}.contact-strip__actions .button{width:100%}}