:root{--white:#FFFFFF;--snow:#141414;--pearl:#1E1E1E;--silk:#222222;--fog:#555555;--stone:#888888;--ink:#0A0A0A;--black:#0A0A0A;--dark:#141414;--dark2:#1E1E1E;--off:#F5F2EE;--ink2:#141414;--gold:#E8192C;--gold2:#C8101F;--gold-s:rgba(232,25,44,0.12);--border:rgba(255,255,255,0.06);--border2:rgba(255,255,255,0.1);--red:#E8192C;--gold-c:#C9963A;--gold-c2:#E8B94A;--cream:#F7F4EF;--cream2:#F0ECE4;--ink-c:#1C1A17;--muted:#8C8880;--border-c:rgba(28,26,23,0.1);--gray-d:#666666}
*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none}
*::-webkit-scrollbar{display:none}
html{scroll-behavior:smooth}
body{font-family:'Outfit',sans-serif;background:var(--black);color:var(--white);overflow-x:hidden}

/* ══ PAGE COACHS ══ */
#page-coachs{background:var(--white);min-height:100vh;padding-top:64px}
.coachs-hero{background:var(--dark);padding:5rem 5% 4rem;position:relative;overflow:hidden}
.coachs-hero::after{content:'TEAM';position:absolute;right:2%;bottom:-30px;font-family:'Cormorant Garamond',serif;font-size:18vw;color:rgba(184,137,58,0.05);font-weight:600;line-height:1;pointer-events:none}
.coachs-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7vw,6rem);font-weight:300;color:var(--white);line-height:1}
.coachs-h1 em{font-style:italic;color:var(--gold)}
.coachs-subtitle{font-size:0.88rem;font-weight:300;color:var(--gray);margin-top:0.8rem;max-width:500px;line-height:1.7}
.coachs-section{padding:5rem 5%;background:var(--off)}
.coachs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2px;margin-top:3rem}
.coach-card{background:var(--white);position:relative;overflow:hidden;border:1px solid var(--border);transition:border-color 0.3s,transform 0.3s}
.coach-card:hover{border-color:var(--gold);transform:translateY(-4px)}
.coach-photo-wrap{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--silk)}
.coach-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform 0.5s}
.coach-card:hover .coach-photo-wrap img{transform:scale(1.04)}
.coach-photo-ph{width:100%;height:100%;background:var(--dark2);display:flex;align-items:center;justify-content:center;min-height:320px}
.coach-photo-ph span{font-family:'Cormorant Garamond',serif;font-size:0.75rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.15)}
.coach-discipline{position:absolute;top:1.2rem;left:1.2rem;background:var(--white);padding:4px 12px;font-size:0.58rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);border-left:2px solid var(--gold)}
.coach-body{padding:1.5rem 1.5rem 2rem}
.coach-name{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:600;color:#1A1816;line-height:1.1;margin-bottom:0.2rem}
.coach-role{font-size:0.68rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:block}
.coach-divider{width:28px;height:1px;background:var(--border);margin-bottom:1rem}
.coach-bio{font-size:0.82rem;font-weight:300;color:#444440;line-height:1.8}
.coach-diplomes{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.coach-diplome{display:flex;align-items:flex-start;gap:8px;margin-bottom:5px;font-size:0.72rem;font-weight:300;color:#555550}
.coach-diplome::before{content:'';color:var(--gold);flex-shrink:0;font-size:0.8rem;margin-top:1px}
.coach-card.principal{grid-column:1/-1;display:grid;grid-template-columns:380px 1fr}
.coach-card.principal .coach-photo-wrap{aspect-ratio:auto;min-height:420px}
.coach-card.principal .coach-name{font-size:2.2rem}
.coach-card.principal .coach-bio{font-size:0.88rem;max-width:560px}
.coach-card.principal .coach-body{padding:2.5rem 3rem;display:flex;flex-direction:column;justify-content:center;background:var(--off);color:#1A1816}
@media(max-width:768px){
  .coach-card.principal{grid-template-columns:1fr}
  .coach-card.principal .coach-photo-wrap{min-height:300px}
  .coach-card.principal .coach-body{padding:1.5rem}
  .coachs-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){.coachs-grid{grid-template-columns:1fr}}

/* ══ NAV ══ */
nav{position:fixed;top:0;width:100%;z-index:200;background:rgba(10,10,10,0.97);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;padding:0 2%;height:60px;border-bottom:1px solid var(--border);gap:6px}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;min-width:0}
.nav-logo img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:1.5px solid var(--silk);flex-shrink:0}
.nav-logo-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.nav-logo-name{font-family:'Cormorant Garamond',serif;font-size:0.82rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--white)}
.nav-logo-sub{font-size:0.45rem;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:500;white-space:nowrap}
.nav-links{display:flex;list-style:none;flex-shrink:1;min-width:0;flex-wrap:nowrap}
.nav-links a{font-family:'Outfit',sans-serif;font-size:0.6rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,0.5);text-decoration:none;padding:0 10px;height:64px;display:flex;align-items:center;border-bottom:2px solid transparent;transition:color 0.2s,border-color 0.2s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--white);border-bottom-color:var(--gold)}
.nav-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav-insta{font-size:0.55rem;font-weight:500;letter-spacing:1px;color:rgba(255,255,255,0.35);text-decoration:none;transition:color 0.2s;white-space:nowrap}
.nav-insta:hover{color:var(--white)}
.nav-cta{font-size:0.6rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--white);background:var(--gold);padding:8px 14px;text-decoration:none;transition:background 0.2s;white-space:nowrap;flex-shrink:0}
.nav-cta:hover{background:var(--gold2)}

/* ══ BURGER ══ */
.nav-burger{display:none;flex-direction:column;justify-content:center;gap:6px;cursor:pointer;width:52px;height:52px;background:none;border:none;padding:12px;flex-shrink:0}
.nav-burger span{display:block;width:26px;height:2px;background:var(--white);border-radius:2px;transition:all 0.3s ease;transform-origin:center}
.nav-burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:190;opacity:0;transition:opacity 0.3s;pointer-events:none}
.nav-overlay.open{opacity:1;pointer-events:auto}

/* ══ HERO ══ */
.page{display:none}.page.active{display:block}
#hero{height:100vh;min-height:600px;position:relative;display:flex;align-items:center;overflow:hidden}
.hero-photo{position:absolute;inset:0;z-index:0;background:url('ima/gb.jpg') center center / cover no-repeat}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,rgba(10,10,10,0.93) 0%,rgba(10,10,10,0.75) 50%,rgba(10,10,10,0.15) 100%)}
.hero-content{position:relative;z-index:2;padding:0 6%;max-width:660px}
.hero-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:1.8rem;animation:fadeUp 0.8s ease both}
.hero-eyebrow-line{width:24px;height:1px;background:var(--gold)}
.hero-eyebrow-txt{font-size:0.65rem;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:var(--gold)}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,9vw,8rem);line-height:0.92;color:var(--white);font-weight:300;animation:fadeUp 0.8s ease 0.1s both}
.hero-title strong{font-weight:600;display:block}
.hero-title em{font-style:italic;color:var(--gold)}
.hero-divider{width:48px;height:1px;background:var(--gold);margin:1.8rem 0;opacity:0.5;animation:fadeUp 0.8s ease 0.2s both}
.hero-motto{font-size:0.7rem;font-weight:400;letter-spacing:5px;text-transform:uppercase;color:rgba(255,255,255,0.3);margin-bottom:1.6rem;animation:fadeUp 0.8s ease 0.25s both}
.hero-desc{font-size:0.95rem;font-weight:300;color:rgba(255,255,255,0.5);line-height:1.9;max-width:440px;margin-bottom:2.5rem;animation:fadeUp 0.8s ease 0.3s both}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp 0.8s ease 0.4s both}
.btn-ink{font-size:0.65rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--white);background:var(--gold);padding:14px 36px;text-decoration:none;border:2px solid var(--gold);transition:all 0.2s;display:inline-block}
.btn-ink:hover{background:var(--gold2);border-color:var(--gold2)}
.btn-soft{font-size:0.65rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--white);background:transparent;padding:14px 36px;text-decoration:none;border:2px solid rgba(255,255,255,0.25);transition:all 0.2s;display:inline-block}
.btn-soft:hover{border-color:var(--white)}
.hero-scroll{position:absolute;bottom:2.5rem;left:6%;z-index:2;display:flex;align-items:center;gap:10px;font-size:0.58rem;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,0.25)}
.scroll-line{width:36px;height:1px;background:var(--fog)}

/* ══ STATS ══ */
.stats-bar{display:flex;flex-wrap:wrap;background:var(--snow);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.stat-item{flex:1;min-width:130px;padding:2rem 1.5rem;text-align:center;border-right:1px solid var(--border);transition:background 0.2s}
.stat-item:last-child{border-right:none}
.stat-item:hover{background:var(--pearl)}
.stat-n{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:600;color:var(--gold);line-height:1}
.stat-l{font-size:0.6rem;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:var(--stone);margin-top:4px}

/* ══ CATEGORIES ══ */
#categories-wrap{background:var(--pearl);padding:6rem 5%}
.sec-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:0.6rem}
.sec-eyebrow::before{content:'';display:block;width:18px;height:1px;background:var(--gold)}
.sec-eyebrow-txt{font-size:0.62rem;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:var(--gold)}
.sec-title-soft{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:300;color:var(--white);line-height:1.05}
.sec-title-soft em{font-style:italic;color:var(--gold)}
.cats-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.cats-sub{font-size:0.82rem;font-weight:300;color:var(--gray);max-width:320px;line-height:1.8;text-align:right}
.cats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}
.cat-card{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:3/4;background:var(--silk);display:block;text-decoration:none}
.cat-card:hover .cat-overlay{background:rgba(184,137,58,0.35)}
.cat-card:hover .cat-img{transform:scale(1.05)}
.cat-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.cat-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(26,24,22,0.92) 0%,rgba(26,24,22,0.2) 55%,transparent 100%);transition:background 0.35s}
.cat-content{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:1.4rem 1.2rem}
.cat-name{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--white);display:block;margin-bottom:0.3rem;letter-spacing:0.5px}
.cat-desc{font-size:0.68rem;font-weight:300;color:rgba(255,255,255,0.55);line-height:1.6;display:block;margin-bottom:0.8rem}
.cat-btn{font-size:0.58rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold2);text-decoration:none;display:inline-block;border-bottom:1px solid rgba(212,168,85,0.3);padding-bottom:1px;position:static}

/* ══ ABOUT ══ */
#about-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.about-left{background:var(--gold);display:flex;flex-direction:column;justify-content:center;padding:6rem 5%;position:relative;overflow:hidden}
.about-left::before{content:'';position:absolute;right:-60px;top:-60px;width:320px;height:320px;border-radius:50%;border:80px solid rgba(184,137,58,0.06)}
.about-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:1rem;font-size:0.6rem;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:rgba(255,255,255,0.6)}
.about-eyebrow::before{content:'';display:block;width:18px;height:1px;background:rgba(184,137,58,0.4)}
.about-h2-soft{font-family:'Cormorant Garamond',serif;font-size:3.2rem;font-weight:300;color:var(--white);line-height:1.05;margin-bottom:1.5rem}
.about-h2-soft em{font-style:italic;color:rgba(184,137,58,0.7)}
.about-body-soft{font-size:0.88rem;font-weight:300;color:rgba(255,255,255,0.75);line-height:1.9;margin-bottom:1.5rem;max-width:420px}
.about-stats{display:flex;gap:2.5rem;margin-top:1rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,0.06)}
.astat-n-soft{font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:600;color:var(--white);line-height:1}
.astat-l-soft{font-size:0.58rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.25);margin-top:2px}
.about-right{position:relative;overflow:hidden;min-height:400px;background:var(--silk)}
.about-right img{width:100%;height:100%;object-fit:cover;display:block}
.about-badge{position:absolute;bottom:2rem;left:2rem;background:var(--gold);padding:1.2rem 1.5rem;z-index:2}
.about-badge-num{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:600;color:var(--white);line-height:1}
.about-badge-txt{font-size:0.55rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.7)}

/* ══ PLANNING ══ */
#planning-wrap{background:var(--cream);padding:6rem 5%}
.sec-label-cream{display:flex;align-items:center;gap:10px;font-family:'Jost',sans-serif;font-size:0.62rem;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--muted);margin-bottom:0.8rem}
.sec-label-cream::before{content:'';display:block;width:20px;height:1px;background:var(--muted)}
.sec-title-cream{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:300;color:var(--ink-c);line-height:1.05;margin-bottom:0.5rem}
.sec-title-cream em{font-style:italic;color:var(--muted)}
.plan-wrap{display:grid;grid-template-columns:4fr 2fr;gap:8px;margin-top:3rem;align-items:start}
.plan-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--border-c);overflow:hidden}
.plan-day{background:var(--cream);padding:1.5rem;transition:background 0.2s}
.plan-day:hover{background:var(--cream2)}
.plan-day.plan-light{background:var(--cream)}
.plan-day.plan-dark{background:var(--cream2)}
.plan-day.plan-light .pday-name{border-bottom-color:var(--gold-c)}
.plan-day.plan-dark .pday-name{border-bottom-color:var(--gold-c2)}
.plan-day.ferme{background:rgba(0,0,0,0.02)}
.pday-name{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:600;color:var(--ink-c);margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:2px solid var(--gold-c);display:inline-block}
.plan-day.ferme .pday-name{border-color:var(--border-c);color:var(--muted)}
.plan-slot{padding:6px 0}
.ps-time{font-family:'Jost',sans-serif;font-size:0.7rem;font-weight:600;color:var(--gold-c);display:block}
.ps-cat{font-family:'Jost',sans-serif;font-size:0.78rem;font-weight:500;color:var(--ink-c);display:block}
.ps-age{font-family:'Jost',sans-serif;font-size:0.65rem;font-weight:300;color:var(--muted)}
.ferme-lbl{font-family:'Cormorant Garamond',serif;font-size:0.9rem;font-style:italic;color:var(--muted)}
.plan-note{font-family:'Jost',sans-serif;font-size:0.72rem;color:var(--muted);text-align:center;margin-top:1.5rem}
.events-block{background:url('ima/bx.jpg') center/cover no-repeat;position:relative;padding:1.5rem;overflow:hidden}
.events-block>*{position:relative;z-index:1}
.events-title{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--ink-c);display:block;margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:1px solid rgb(255,0,0)}
.event-item{padding:0.85rem 0;border-bottom:1px solid rgb(255,255,255)}
.event-item:last-child{border-bottom:none}
.event-date{font-size:0.62rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgb(248,244,5);display:block;margin-bottom:3px}
.event-name{font-size:0.88rem;font-weight:600;color:var(--ink-c);display:block;margin-bottom:2px}
.event-lieu{font-size:0.72rem;font-weight:300;color:rgb(53,252,4);display:block}
.event-badge{display:inline-block;margin-top:5px;font-size:0.55rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;background:rgb(255,255,255);color:var(--ink-c);padding:2px 8px}

/* ══ GALERIE ══ */
#galerie-wrap{background:var(--black);padding:5rem 5%}
.gal-top{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}
.gal-handle{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--white)}
.gal-handle em{font-style:italic;color:var(--gold)}
.gal-sync{display:flex;align-items:center;gap:8px}
.sync-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;animation:pulse 2s infinite}
.sync-txt{font-size:0.68rem;font-weight:300;color:var(--gray)}
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.gal-item{aspect-ratio:1;background:var(--silk);overflow:hidden;position:relative;cursor:pointer;min-height:130px}
.gal-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s}
.gal-item:hover img{transform:scale(1.05)}
.gal-item-ph{width:100%;height:100%;background:var(--silk);min-height:130px}
.gal-hover{position:absolute;inset:0;background:rgba(184,137,58,0);transition:background 0.3s}
.gal-item:hover .gal-hover{background:rgba(184,137,58,0.12)}
.gal-footer{text-align:center;margin-top:2rem}
.gal-link{font-size:0.68rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--white);text-decoration:none;padding-bottom:2px;transition:all 0.2s}
.gal-link:hover{color:var(--gold)}

/* ══ TARIFS ══ */
#tarifs-wrap{background:var(--cream2);padding:6rem 5%}
.tarif-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}
.tarif-card{background:var(--cream);padding:2.5rem 2rem;border:1px solid var(--border-c);position:relative;transition:border-color 0.25s,transform 0.25s}
.tarif-card:hover{border-color:var(--gold-c);transform:translateY(-4px)}
.tarif-card.featured{background:var(--ink-c);border-color:var(--ink-c)}
.tarif-card.featured:hover{border-color:var(--gold-c)}
.tarif-badge{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:1.2rem}
.tarif-card.featured .tarif-badge{color:rgba(255,255,255,0.35)}
.tarif-name{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600;color:var(--ink-c);display:block;margin-bottom:0.4rem;line-height:1}
.tarif-card.featured .tarif-name{color:var(--white)}
.tarif-price{font-family:'Bebas Neue',sans-serif;font-size:3.5rem;color:var(--gold-c);line-height:1;display:flex;align-items:baseline;gap:4px}
.tarif-price-sub{font-family:'Jost',sans-serif;font-size:1rem;font-weight:300;color:var(--muted)}
.tarif-card.featured .tarif-price-sub{color:rgba(255,255,255,0.3)}
.tarif-divider{width:36px;height:1px;background:var(--border-c);margin:1.5rem 0}
.tarif-card.featured .tarif-divider{background:rgba(255,255,255,0.15)}
.tarif-ul{list-style:none;margin-bottom:2rem}
.tarif-li{font-family:'Jost',sans-serif;font-size:0.82rem;font-weight:300;color:var(--muted);padding:7px 0;border-bottom:1px solid var(--border-c);display:flex;gap:10px}
.tarif-card.featured .tarif-li{color:rgba(255,255,255,0.45);border-color:rgba(255,255,255,0.07)}
.tarif-li::before{content:'-';color:var(--gold-c);flex-shrink:0;font-weight:700}
.tarif-li:last-child{border:none}
.tarif-btn{display:block;width:100%;padding:12px;text-align:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.68rem;letter-spacing:2.5px;text-transform:uppercase;border:1px solid var(--border-c);background:transparent;color:var(--ink-c);cursor:pointer;transition:all 0.2s;text-decoration:none}
.tarif-card.featured .tarif-btn{border-color:rgba(255,255,255,0.2);color:var(--white)}
.tarif-btn:hover{background:var(--gold-c);border-color:var(--gold-c);color:var(--black)}
.tarif-note{font-family:'Jost',sans-serif;font-size:0.72rem;color:var(--muted);text-align:center;margin-top:1.5rem}

/* ══ TEMOIGNAGES ══ */
#testi-wrap{background:var(--off);padding:6rem 5%}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}
.testi-card{background:var(--white);padding:2rem;border-top:3px solid var(--red);transition:background 0.2s}
.testi-card:hover{background:var(--off)}
.testi-stars{color:var(--gold);font-size:0.75rem;letter-spacing:3px;margin-bottom:1.2rem;opacity:0.8}
.testi-text{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:300;font-style:italic;color:var(--black);line-height:1.8;margin-bottom:1.5rem}
.testi-author{display:flex;align-items:center;gap:12px}
.testi-init{width:36px;height:36px;border-radius:50%;background:var(--gold-s);border:1px solid rgba(184,137,58,0.2);display:flex;align-items:center;justify-content:center;font-size:0.7rem;font-weight:600;color:var(--gold);flex-shrink:0}
.testi-name{font-size:0.8rem;font-weight:600;color:var(--black)}
.testi-role{font-size:0.68rem;font-weight:300;color:var(--stone)}

/* ══ CONTACT ══ */
#contact-wrap{display:grid;grid-template-columns:1fr 1.1fr}
.contact-left{background:var(--gold-c);padding:5rem 5%;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.contact-left::before{content:'';position:absolute;right:-60px;bottom:-60px;width:300px;height:300px;border-radius:50%;border:80px solid rgba(8,8,8,0.08)}
.contact-h2{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:var(--black);line-height:1.05;margin-bottom:2.5rem}
.contact-h2 em{font-style:italic;color:rgba(8,8,8,0.5)}
.ci{margin-bottom:1.5rem}
.ci-lbl{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;color:rgba(8,8,8,0.45);display:block;margin-bottom:4px}
.ci-val{font-family:'Jost',sans-serif;font-size:0.9rem;font-weight:400;color:var(--black);line-height:1.6}
.contact-right{background:var(--dark);padding:5rem 5%}
.contact-right-h3{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--white);margin-bottom:2rem}
.cf-row{margin-bottom:1.3rem}
.cf-lbl{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;color:var(--gray-d);display:block;margin-bottom:6px}
.cf-input{width:100%;color:var(--white);padding:13px 16px;font-family:'Outfit',sans-serif;font-size:0.9rem;font-weight:300;outline:none;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);transition:border-color 0.2s}
.cf-input:focus{border-color:var(--gold)}
.cf-input::placeholder{color:rgba(255,255,255,0.22)}
select.cf-input{cursor:pointer}
select.cf-input option{background:var(--dark);color:var(--white)}

/* ══ FOOTER ══ */
footer{background:var(--black);padding:2.5rem 5%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-top:1px solid rgba(184,137,58,0.15)}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--white)}
.footer-motto{font-size:0.52rem;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:rgba(184,137,58,0.4);margin-top:3px}
.footer-copy{font-size:0.68rem;font-weight:300;color:rgba(255,255,255,0.2)}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{font-size:0.68rem;font-weight:300;color:rgba(255,255,255,0.25);text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:var(--gold2)}

/* ══ PAGE NEWS ══ */
#page-news{background:var(--white);min-height:100vh;padding-top:64px}
.news-hero{background:var(--dark);padding:5rem 5% 4rem;position:relative;overflow:hidden}
.news-hero::after{content:'NEWS';position:absolute;right:2%;bottom:-30px;font-family:'Cormorant Garamond',serif;font-size:18vw;color:rgba(184,137,58,0.05);font-weight:600;line-height:1;pointer-events:none}
.news-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7vw,6rem);font-weight:300;color:var(--white);line-height:1}
.news-h1 em{font-style:italic;color:var(--gold)}
.news-subtitle{font-size:0.88rem;font-weight:300;color:var(--gray);margin-top:0.8rem}
.news-insta-section{padding:4rem 5%;background:var(--black)}
.news-section-label{display:flex;align-items:center;gap:14px;margin-bottom:2.5rem}
.news-section-label::after{content:'';flex:1;height:1px;background:var(--border)}
.news-label-text{font-size:0.65rem;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.news-sync-bar{display:flex;align-items:center;gap:10px;margin-bottom:2rem;padding:12px 16px;background:var(--dark2)}
.news-sync-txt{font-size:0.78rem;font-weight:300;color:var(--gray)}
.news-sync-handle{font-size:0.78rem;font-weight:600;color:var(--gold);margin-left:4px}
.news-insta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}
.news-post{position:relative;overflow:hidden;cursor:pointer;aspect-ratio:1;background:var(--silk)}
.news-post.large{grid-column:span 2;aspect-ratio:2/1}
.news-post img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s}
.news-post:hover img{transform:scale(1.04)}
.news-post-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,24,22,0.6) 0%,transparent 50%);display:flex;align-items:flex-end;padding:1.2rem;opacity:0;transition:opacity 0.3s}
.news-post:hover .news-post-overlay{opacity:1}
.news-post-tag{font-size:0.6rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold2)}
.news-empty{width:100%;height:100%;background:var(--silk);min-height:200px}
.notice-btn{display:inline-block;font-size:0.65rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--white);background:var(--gold);padding:12px 28px;text-decoration:none;transition:background 0.2s}
.notice-btn:hover{background:var(--gold2)}
.news-videos-section{padding:0 5% 4rem;background:var(--dark)}
.news-video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3px}
.news-video{position:relative;aspect-ratio:16/9;background:var(--silk);overflow:hidden;cursor:pointer}
.news-video img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.4s}
.news-video:hover img{transform:scale(1.04)}
.news-video-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.2);transition:background 0.3s}
.news-video:hover .news-video-icon{background:rgba(184,137,58,0.15)}
.play-btn{width:52px;height:52px;border-radius:50%;background:rgba(232,25,44,0.9);display:flex;align-items:center;justify-content:center;transition:transform 0.2s}
.news-video:hover .play-btn{transform:scale(1.1);background:var(--gold)}
.play-tri{width:0;height:0;margin-left:4px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:16px solid var(--white)}
.news-video-empty{width:100%;height:100%;background:var(--dark2);min-height:200px;display:flex;align-items:center;justify-content:center}
.news-video-ph{font-family:'Cormorant Garamond',serif;font-size:0.9rem;letter-spacing:3px;color:rgba(255,255,255,0.15)}
.news-fb-section{background:var(--black);padding-bottom:4rem}
.news-fb-wrap{padding:2rem 0 1rem;width:100%}
.news-fb-cta{text-align:center;margin-top:1.5rem}

/* ══ PAGE SPONSORS ══ */
#page-sponsors{background:var(--black);min-height:100vh;padding-top:64px}
.sp-hero{background:var(--dark);padding:5rem 6% 4.5rem;position:relative;overflow:hidden}
.sp-hero::after{content:'SPONSORS';position:absolute;right:2%;bottom:-40px;font-family:'Cormorant Garamond',serif;font-size:14vw;color:rgba(232,25,44,0.04);font-weight:600;line-height:1;pointer-events:none;white-space:nowrap}
.sp-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7vw,6rem);font-weight:300;color:var(--white);line-height:0.95}
.sp-h1 em{font-style:italic;color:var(--gold)}
.sp-subtitle{font-size:0.88rem;font-weight:300;color:rgba(255,255,255,0.4);margin-top:1rem;max-width:520px;line-height:1.8}
.sp-section{padding:5rem 6%;background:var(--off)}
.sp-tier{margin-bottom:4rem}
.sp-tier-label{display:flex;align-items:center;gap:14px;margin-bottom:2rem}
.sp-tier-label::after{content:'';flex:1;height:1px;background:var(--border-c)}
.sp-tier-name{font-size:0.62rem;font-weight:700;letter-spacing:4px;text-transform:uppercase;white-space:nowrap}
.sp-tier-name.gold{color:var(--gold-c)}
.sp-tier-name.silver{color:#9E9E9E}
.sp-tier-name.partner{color:var(--muted)}
.sp-grid-gold{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.sp-grid-silver{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.sp-grid-partner{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.sp-card{background:var(--white);position:relative;overflow:hidden;border:1px solid var(--border-c);transition:border-color 0.3s,transform 0.25s;display:flex;flex-direction:column}
.sp-card:hover{border-color:var(--gold-c);transform:translateY(-3px)}
.sp-card.gold-card{background:var(--cream)}
.sp-card-logo{aspect-ratio:16/7;background:var(--cream2);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.sp-card-logo img{width:80%;height:80%;object-fit:contain}
.sp-card-logo-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:80%;height:80%;min-height:120px}
.sp-logo-ph-icon{width:48px;height:48px;border-radius:50%;border:2px dashed var(--border-c);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--muted)}
.sp-logo-ph-txt{font-size:0.6rem;letter-spacing:3px;text-transform:uppercase;color:var(--muted)}
.sp-card-body{padding:1.2rem 1.4rem 1.6rem;flex:1;display:flex;flex-direction:column}
.sp-card-name{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--ink-c);margin-bottom:0.2rem}
.sp-card-cat{font-size:0.6rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold-c);margin-bottom:0.8rem;display:block}
.sp-card-desc{font-size:0.78rem;font-weight:300;color:#666663;line-height:1.8;flex:1}
.sp-card-link{display:inline-block;margin-top:1rem;font-size:0.6rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--gold-c);text-decoration:none;border-bottom:1px solid rgba(201,150,58,0.3);padding-bottom:1px;transition:color 0.2s,border-color 0.2s}
.sp-card-link:hover{color:var(--ink-c);border-color:var(--ink-c)}
.sp-card.gold-card .sp-card-logo{aspect-ratio:16/8;background:var(--cream)}
.sp-card.gold-card .sp-card-name{font-size:1.6rem}
.sp-card.gold-card .sp-card-desc{font-size:0.85rem}
.sp-numbers{background:var(--dark);padding:4rem 6%;display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.sp-num-item{background:var(--dark2);padding:2rem 1.5rem;text-align:center;border-top:2px solid transparent;transition:border-color 0.25s}
.sp-num-item:hover{border-top-color:var(--gold)}
.sp-num-n{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:600;color:var(--gold);line-height:1}
.sp-num-l{font-size:0.6rem;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,0.3);margin-top:6px}
.sp-recruit{background:var(--cream2);padding:6rem 6%}
.sp-recruit-inner{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.sp-recruit-left h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;color:var(--ink-c);line-height:1.1;margin-bottom:1.5rem}
.sp-recruit-left h2 em{font-style:italic;color:var(--gold-c)}
.sp-recruit-left p{font-size:0.88rem;font-weight:300;color:#555552;line-height:1.9;margin-bottom:1rem}
.sp-offers{display:flex;flex-direction:column;gap:2px;margin-top:2.5rem}
.sp-offer{background:var(--white);padding:1.5rem 1.8rem;border-left:3px solid transparent;transition:border-color 0.25s,background 0.2s;display:flex;align-items:flex-start;gap:1.2rem}
.sp-offer:hover{border-left-color:var(--gold-c);background:var(--cream)}
.sp-offer-badge{font-family:'Bebas Neue',sans-serif;font-size:1.1rem;letter-spacing:1px;color:var(--gold-c);flex-shrink:0;min-width:64px}
.sp-offer-content h4{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600;color:var(--ink-c);margin-bottom:0.3rem}
.sp-offer-content p{font-size:0.78rem;font-weight:300;color:#666663;line-height:1.7;margin:0}
.sp-form{background:var(--white);padding:2.5rem;border:1px solid var(--border-c)}
.sp-form h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:var(--ink-c);margin-bottom:1.8rem}
.sp-form h3 em{font-style:italic;color:var(--gold-c)}
.sp-cf-row{margin-bottom:1.2rem}
.sp-cf-lbl{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.58rem;letter-spacing:3px;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.sp-cf-input{width:100%;background:var(--cream2);border:1px solid var(--border-c);color:var(--ink-c);padding:12px 14px;font-family:'Outfit',sans-serif;font-size:0.88rem;font-weight:300;outline:none;transition:border-color 0.2s}
.sp-cf-input:focus{border-color:var(--gold-c)}
.sp-cf-input::placeholder{color:var(--muted)}
.sp-submit{width:100%;padding:14px;border:none;cursor:pointer;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:0.68rem;letter-spacing:2.5px;text-transform:uppercase;background:var(--ink-c);color:var(--white);margin-top:0.5rem;transition:background 0.2s}
.sp-submit:hover{background:var(--gold-c)}
@media(max-width:900px){
  .sp-grid-gold{grid-template-columns:1fr}
  .sp-grid-silver{grid-template-columns:1fr 1fr}
  .sp-grid-partner{grid-template-columns:1fr 1fr}
  .sp-numbers{grid-template-columns:1fr 1fr}
  .sp-recruit-inner{grid-template-columns:1fr;gap:3rem}
}
@media(max-width:520px){
  .sp-grid-silver{grid-template-columns:1fr}
  .sp-grid-partner{grid-template-columns:1fr}
  .sp-numbers{grid-template-columns:1fr 1fr}
}

/* ══ ANIMATIONS ══ */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes pulse{0%,100%{opacity:0.4}50%{opacity:1}}
.reveal{opacity:0;transform:translateY(22px);transition:opacity 0.65s ease,transform 0.65s ease}
.reveal.visible{opacity:1;transform:none}

/* ══ CATEGORIES GRID RESPONSIVE ══ */
@media(max-width:1000px){.cats-grid{grid-template-columns:repeat(3,1fr)}}

/* ══ CAT PAGES ══ */
.cat-page{background:var(--black);min-height:100vh;padding-top:64px}
.catpage-hero{position:relative;overflow:hidden;min-height:72vh;display:flex;align-items:flex-end}
.catpage-hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center}
.catpage-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(160deg,rgba(10,10,10,0.4) 0%,rgba(10,10,10,0.85) 60%,rgba(10,10,10,1) 100%)}
.catpage-hero-content{position:relative;z-index:2;padding:4rem 6% 5rem;max-width:760px}
.catpage-back{display:inline-flex;align-items:center;gap:8px;font-size:0.6rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.35);text-decoration:none;margin-bottom:2rem;transition:color 0.2s}
.catpage-back:hover{color:var(--gold)}
.catpage-back::before{content:'\2190';font-size:0.8rem}
.catpage-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:1rem}
.catpage-eyebrow::before{content:'';display:block;width:18px;height:1px;background:var(--gold)}
.catpage-eyebrow-txt{font-size:0.62rem;font-weight:500;letter-spacing:4px;text-transform:uppercase;color:var(--gold)}
.catpage-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3.5rem,8vw,7rem);font-weight:300;color:var(--white);line-height:0.92;margin-bottom:1.5rem}
.catpage-h1 em{font-style:italic;color:var(--gold)}
.catpage-intro{font-size:1rem;font-weight:300;color:rgba(255,255,255,0.55);line-height:1.9;max-width:520px}
.catpage-hero-badge{position:absolute;right:6%;bottom:4rem;z-index:2;background:var(--gold);padding:1.4rem 1.8rem;text-align:center}
.catpage-badge-num{font-family:'Cormorant Garamond',serif;font-size:2.8rem;font-weight:600;color:var(--white);line-height:1;display:block}
.catpage-badge-lbl{font-size:0.52rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.65);display:block;margin-top:3px}
.catpage-body{padding:6rem 6%;background:var(--off)}
.catpage-split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.catpage-split-text h2{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;color:var(--ink-c);line-height:1.1;margin-bottom:1.5rem}
.catpage-split-text h2 em{font-style:italic;color:var(--gold-c)}
.catpage-split-text p{font-size:0.9rem;font-weight:300;color:#555552;line-height:1.9;margin-bottom:1.2rem}
.catpage-split-img{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--silk)}
.catpage-split-img img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform 0.5s}
.catpage-split-img:hover img{transform:scale(1.03)}
.catpage-split-img-ph{width:100%;height:100%;background:var(--dark2);min-height:400px;display:flex;align-items:center;justify-content:center}
.catpage-split-img-ph span{font-family:'Cormorant Garamond',serif;font-size:0.75rem;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.12)}
.catpage-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:4rem}
.catpage-pillar{background:var(--white);padding:2rem 1.8rem;border-top:3px solid transparent;transition:border-color 0.3s,transform 0.3s}
.catpage-pillar:hover{border-top-color:var(--gold);transform:translateY(-4px)}
.pillar-num{font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:600;color:rgba(232,25,44,0.12);line-height:1;margin-bottom:0.5rem}
.pillar-title{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;color:var(--ink-c);margin-bottom:0.6rem}
.pillar-body{font-size:0.8rem;font-weight:300;color:#666663;line-height:1.8}
.catpage-prog{background:var(--dark);padding:5rem 6%}
.catpage-prog-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;color:var(--white);line-height:1.1;margin-bottom:3rem}
.catpage-prog-title em{font-style:italic;color:var(--gold)}
.catpage-prog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.prog-step{background:var(--dark2);padding:2rem 1.5rem;position:relative;overflow:hidden}
.prog-step::after{content:attr(data-n);position:absolute;bottom:-10px;right:-5px;font-family:'Cormorant Garamond',serif;font-size:6rem;font-weight:600;color:rgba(232,25,44,0.04);line-height:1}
.prog-step-n{font-family:'Bebas Neue',sans-serif;font-size:1.8rem;color:var(--gold);line-height:1;margin-bottom:0.6rem}
.prog-step-title{font-size:0.78rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--white);margin-bottom:0.6rem}
.prog-step-body{font-size:0.78rem;font-weight:300;color:rgba(255,255,255,0.4);line-height:1.8}
.catpage-horaires{background:var(--pearl);padding:5rem 6%}
.catpage-horaires-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:300;color:var(--white);margin-bottom:2.5rem}
.catpage-horaires-title em{font-style:italic;color:var(--gold)}
.catpage-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:2px}
.catpage-slot{background:var(--dark2);padding:1.5rem;border-top:2px solid transparent;transition:border-color 0.25s}
.catpage-slot:hover{border-top-color:var(--gold)}
.cslot-day{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--white);display:block;margin-bottom:0.6rem}
.cslot-time{font-size:0.7rem;font-weight:600;letter-spacing:1.5px;color:var(--gold);display:block}
.cslot-label{font-size:0.72rem;font-weight:300;color:rgba(255,255,255,0.4);display:block;margin-top:2px}
.catpage-cta{background:var(--gold);padding:5rem 6%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2rem}
.catpage-cta-text h3{font-family:'Cormorant Garamond',serif;font-size:2.5rem;font-weight:300;color:var(--white);line-height:1.05}
.catpage-cta-text p{font-size:0.82rem;font-weight:300;color:rgba(255,255,255,0.65);margin-top:0.5rem}
.catpage-cta-btns{display:flex;gap:1rem;flex-wrap:wrap}
.cta-btn-white{font-size:0.65rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--black);background:var(--white);padding:14px 36px;text-decoration:none;border:2px solid var(--white);transition:all 0.2s;display:inline-block}
.cta-btn-white:hover{background:transparent;color:var(--white)}
.cta-btn-ghost{font-size:0.65rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--white);background:transparent;padding:14px 36px;text-decoration:none;border:2px solid rgba(255,255,255,0.4);transition:all 0.2s;display:inline-block}
.cta-btn-ghost:hover{border-color:var(--white)}
@media(max-width:900px){
  .catpage-split{grid-template-columns:1fr}
  .catpage-pillars{grid-template-columns:1fr 1fr}
  .catpage-prog-grid{grid-template-columns:1fr 1fr}
  .catpage-cta{flex-direction:column}
  .plan-wrap{grid-template-columns:1fr}
}
@media(max-width:580px){
  .catpage-pillars{grid-template-columns:1fr}
  .catpage-prog-grid{grid-template-columns:1fr}
  .catpage-hero-badge{display:none}
}

/* ══ RESPONSIVE MOBILE ══ */
@media(max-width:768px){
  nav{height:60px;padding:0 4%}
  .nav-logo img{width:36px;height:36px}
  .nav-logo-name{font-size:0.8rem;letter-spacing:1px}
  .nav-logo-sub{font-size:0.42rem}
  .nav-burger{display:flex}
  .nav-right .nav-insta{display:none}
  .nav-cta{font-size:0.58rem;padding:7px 12px;letter-spacing:1px}
  .nav-overlay{display:block}
  .nav-links{
    position:fixed;
    top:0;right:0;bottom:0;
    width:75vw;max-width:300px;
    background:var(--dark);
    display:flex;
    flex-direction:column;
    padding:70px 0 2rem;
    transform:translateX(110%);
    transition:transform 0.32s cubic-bezier(0.4,0,0.2,1);
    z-index:201;
    border-left:1px solid var(--border);
    overflow-y:auto;
    pointer-events:none;
  }
  .nav-links.open{transform:translateX(0);pointer-events:auto}
  .nav-links li{width:100%}
  .nav-links a{
    height:auto;
    padding:1rem 1.5rem;
    font-size:0.78rem;
    letter-spacing:1.5px;
    color:rgba(255,255,255,0.55);
    border-bottom:1px solid var(--border);
    border-left:3px solid transparent;
    display:flex;
    align-items:center;
    text-decoration:none;
    pointer-events:auto;
  }
  .nav-links a:hover,.nav-links a.active{
    color:var(--white);
    border-left-color:var(--gold);
    background:rgba(255,255,255,0.03);
    padding-left:calc(1.5rem - 3px);
  }
  .plan-grid{grid-template-columns:repeat(3,1fr)}
  .tarif-grid{grid-template-columns:1fr!important;gap:1rem}
  #hero{width:100vw}
  body{overflow-x:hidden}
  .cats-grid{grid-template-columns:repeat(2,1fr)!important}
  #about-wrap{grid-template-columns:1fr}
  .testi-grid{grid-template-columns:1fr}
  #contact-wrap{grid-template-columns:1fr}
  .gal-grid{grid-template-columns:repeat(2,1fr)}
  .news-insta-grid{grid-template-columns:repeat(2,1fr)}
  .news-post.large{grid-column:span 1;aspect-ratio:1}
  .news-video-grid{grid-template-columns:1fr}
}

@media(max-width:480px){
  .cats-grid{grid-template-columns:1fr!important}
  .plan-grid{grid-template-columns:repeat(2,1fr)}
}