/* ============================================================
   HostingCommunity — « Presse éditoriale » (inspiré finance premium)
   Bleu marine + Or + Crème · Playfair Display / Poppins / Nunito / Inter
   ============================================================ */
:root{
  --paper:#ffffff; --cream:#FAF7F2; --cream2:#F4EEE3;
  --navy:#002448; --navy2:#0A2645; --navy3:#0F1E3D;
  --ink:#002448; --tx:#54596A; --muted:#8A8F9C;
  --gold:#D4A13A; --gold-d:#B4830A; --gold-soft:rgba(212,161,58,.14);
  --line:rgba(0,36,72,.10); --line-d:rgba(255,255,255,.14);
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:'Poppins',system-ui,-apple-system,sans-serif;
  --body:'Nunito',system-ui,-apple-system,sans-serif;
  --ui:'Inter',system-ui,-apple-system,sans-serif;
  --shadow:0 24px 60px -24px rgba(0,36,72,.30);
  --shadow-sm:0 14px 34px -16px rgba(0,36,72,.24);
  --radius:16px; --radius-sm:10px; --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0; font-family:var(--body); color:var(--tx); background:var(--paper); font-size:17px; line-height:1.75; -webkit-font-smoothing:antialiased}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif); color:var(--ink); line-height:1.16; margin:0 0 .5em; font-weight:700}
p{margin:0 0 1em}
.hc-wrap{max-width:var(--wrap); margin:0 auto; padding:0 24px}

/* Eyebrow — majuscules Inter espacées, or */
.eyebrow{font-family:var(--ui); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-d); font-weight:700; display:inline-block; margin-bottom:1rem}
.gr-text{color:var(--gold); font-style:italic}
.dek{font-size:1.14rem; color:var(--tx); line-height:1.7}

/* Boutons */
.btn{display:inline-flex; align-items:center; gap:.5em; font-family:var(--sans); font-weight:600; font-size:.94rem; padding:13px 26px; border-radius:7px; cursor:pointer; border:0; transition:transform .2s, box-shadow .2s, background .2s; white-space:nowrap; letter-spacing:.01em}
.btn .ar{transition:transform .2s}
.btn:hover .ar{transform:translateX(4px)}
.btn--grad{background:var(--gold); color:#1a1205; box-shadow:0 12px 26px -10px rgba(212,161,58,.6)}
.btn--grad:hover{background:var(--gold-d); transform:translateY(-2px)}
.btn--glass{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.5)}
.btn--glass:hover{background:rgba(255,255,255,.1); border-color:#fff}
.btn--ink{background:var(--navy); color:#fff}
.btn--ink:hover{background:var(--navy3); transform:translateY(-2px)}

/* Carte blanche (remplace l'ancien .glass) */
.glass{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm)}

/* Reveal (sûreté intégrée) */
.reveal{transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1)}
html.hc-anim .reveal{opacity:0; transform:translateY(24px)}
html.hc-anim .reveal.is-in{opacity:1; transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}

/* Annonce */
.hc-hello{background:var(--navy); color:#e7ecf5; text-align:center; font-size:.84rem; padding:9px 16px; font-family:var(--ui); letter-spacing:.02em}
.hc-hello a{color:var(--gold); border-bottom:1px solid rgba(212,161,58,.5); margin-left:.4em; font-weight:600}

/* Header */
.hc-hd{position:sticky; top:0; z-index:60; background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-bottom:1px solid var(--line)}
.hc-hd-in{max-width:none; margin:0; padding:14px clamp(20px,3.5vw,48px); display:flex; align-items:center; gap:22px}
.hc-brand{display:flex; align-items:center; gap:11px; font-family:var(--sans); font-weight:700; color:var(--ink); font-size:1.2rem; letter-spacing:-.01em}
.hc-brand svg{width:38px; height:38px; flex:none}
.hc-nav{display:flex; gap:2px; margin-left:auto; flex-wrap:wrap}
.hc-nav a{font-family:var(--ui); font-size:.86rem; font-weight:500; color:var(--navy); padding:8px 11px; border-radius:6px; transition:color .18s, background .18s; position:relative}
.hc-nav a:hover{color:var(--gold-d); background:var(--gold-soft)}
.hc-hd-cta{flex:none}
.hc-burger{display:none; margin-left:auto; background:var(--cream); border:1px solid var(--line); border-radius:9px; width:46px; height:42px; color:var(--navy); cursor:pointer; align-items:center; justify-content:center}
.hc-burger svg{width:22px; height:22px; display:block}
.hc-burger .ic-close{display:none}
.hc-hd.open .hc-burger .ic-menu{display:none}
.hc-hd.open .hc-burger .ic-close{display:block}

/* ===== HERO (bannière image + voile marine, plein écran) ===== */
.hc-hero{position:relative; background:#04203f center/cover no-repeat; color:#fff; padding:100px 0; min-height:calc(100vh - 62px); display:flex; align-items:center; overflow:hidden}
.hc-hero::before{content:""; position:absolute; inset:0; background:linear-gradient(112deg, rgba(3,17,35,.96) 0%, rgba(5,26,48,.88) 42%, rgba(7,38,68,.5) 100%); pointer-events:none}
.hc-hero-in{position:relative; z-index:2; width:100%}
.hc-hero-text{max-width:660px}
.hc-hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:5px; background:linear-gradient(90deg,var(--gold),transparent)}
.hc-hero-grid{position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; width:100%}
.hc-hero .eyebrow{color:var(--gold)}
.hc-hero h1{font-family:var(--serif); font-weight:800; font-size:clamp(2.6rem,5.3vw,4.1rem); color:#fff; line-height:1.08; margin-bottom:.3em; letter-spacing:-.01em}
.hc-hero .dek{color:rgba(255,255,255,.82); max-width:33em; margin-bottom:2em; font-size:1.16rem}
.hc-hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:2.4em}
.hc-stats{display:flex; gap:34px; flex-wrap:wrap; border-top:1px solid var(--line-d); padding-top:24px}
.hc-stat{display:flex; flex-direction:column}
.hc-stat b{font-family:var(--serif); font-size:2.1rem; color:var(--gold); font-weight:800; line-height:1}
.hc-stat span{font-size:.68rem; color:rgba(255,255,255,.6); margin-top:7px; font-family:var(--ui); letter-spacing:.14em; text-transform:uppercase; font-weight:700}

.hc-hero-media{position:relative}
.hc-hero-card{position:relative; border-radius:var(--radius); overflow:hidden; box-shadow:0 40px 80px -28px rgba(0,0,0,.6); border:1px solid rgba(255,255,255,.12); aspect-ratio:4/4.3}
.hc-hero-card img{width:100%; height:100%; object-fit:cover}
.hc-hero-card::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(3,20,40,.5))}
.hc-node{display:none}
.hc-status{position:absolute; left:-20px; bottom:32px; z-index:3; padding:14px 20px; border-radius:12px; background:#fff; box-shadow:var(--shadow); display:flex; align-items:center; gap:12px; font-family:var(--ui)}
.hc-dot{width:11px; height:11px; border-radius:50%; background:#12A150; box-shadow:0 0 0 0 rgba(18,161,80,.5); animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(18,161,80,.5)}70%{box-shadow:0 0 0 12px rgba(18,161,80,0)}100%{box-shadow:0 0 0 0 rgba(18,161,80,0)}}
.hc-status b{font-family:var(--sans); color:var(--ink); font-size:1.05rem; display:block; line-height:1; font-weight:700}
.hc-status small{font-size:.66rem; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; font-weight:600}
.hc-badge{position:absolute; top:-14px; right:-12px; z-index:3; padding:9px 15px; border-radius:8px; background:var(--gold); color:#1a1205; font-family:var(--ui); font-size:.72rem; font-weight:700; box-shadow:0 12px 26px -10px rgba(212,161,58,.7); letter-spacing:.04em}

/* Rythme des sections */
.sec{padding:76px 0; position:relative}
.sec--cream{background:var(--cream)}
.sec--navy{background:linear-gradient(160deg,#04203f,#0a2c52); color:#fff}
.sec--navy h2,.sec--navy h3{color:#fff}
.sec--navy .eyebrow{color:var(--gold)}
.sec--navy .dek,.sec--navy .shead p{color:rgba(255,255,255,.8)}
.shead{max-width:660px; margin:0 auto 52px; text-align:center; padding:0 24px}
.shead h2{font-size:clamp(2rem,3.8vw,2.9rem)}
.shead p{color:var(--tx); font-size:1.1rem}
.shead--split{display:grid; grid-template-columns:1.3fr .7fr; gap:38px; align-items:end; margin:0 auto 46px}
.shead--split h2{font-size:clamp(1.9rem,3.5vw,2.6rem)}
.shead--split .media{border-radius:var(--radius); overflow:hidden; aspect-ratio:16/10; box-shadow:var(--shadow-sm)}
.shead--split .media img{width:100%;height:100%;object-fit:cover}

/* Manifeste */
.hc-mani-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center}
.hc-mani-lead h2{font-size:clamp(2rem,3.6vw,2.7rem)}
.hc-mani-lead .media{margin-top:26px; border-radius:var(--radius); overflow:hidden; aspect-ratio:16/9; box-shadow:var(--shadow-sm)}
.hc-mani-lead .media img{width:100%;height:100%;object-fit:cover}
.hc-princ{display:flex; flex-direction:column; gap:16px}
.hc-p{display:flex; gap:20px; padding:24px 26px; align-items:flex-start}
.hc-p .n{font-family:var(--serif); font-weight:800; font-size:1.2rem; width:48px; height:48px; flex:none; display:grid; place-items:center; border-radius:10px; background:var(--navy); color:var(--gold)}
.hc-p h3{font-family:var(--sans); font-size:1.16rem; margin-bottom:.25em; font-weight:600}
.hc-p p{margin:0; font-size:.98rem; color:var(--tx)}

/* Témoignages (slider, sur fond marine) */
.hc-quotes{max-width:900px; margin:0 auto; position:relative}
.hc-quotes-view{overflow:hidden; border-radius:var(--radius); background:#fff; border:1px solid var(--line); box-shadow:var(--shadow)}
.hc-quotes-track{display:flex; transition:transform .6s cubic-bezier(.3,.7,.2,1)}
.hc-quote{flex:0 0 100%; padding:48px 52px; text-align:center; box-sizing:border-box}
.hc-quote .qmark{font-family:var(--serif); font-size:4rem; line-height:.4; color:var(--gold)}
.hc-quote .q{font-family:var(--serif); font-weight:600; font-size:1.46rem; color:var(--ink); line-height:1.45; margin:.5em auto .9em; max-width:24em; font-style:italic}
.hc-quote .who{display:inline-flex; align-items:center; gap:12px}
.hc-quote .av{width:48px; height:48px; border-radius:50%; background:var(--navy); color:var(--gold); display:grid; place-items:center; font-family:var(--sans); font-weight:700}
.hc-quote .who b{color:var(--ink); font-family:var(--sans); font-weight:600}
.hc-quote .who small{display:block; color:var(--muted); font-size:.82rem; font-family:var(--ui)}
.hc-dots{display:flex; gap:9px; justify-content:center; margin-top:24px}
.hc-dots button{width:9px; height:9px; border-radius:50%; border:0; background:rgba(255,255,255,.35); cursor:pointer; padding:0; transition:width .25s, background .25s}
.hc-dots button.on{width:28px; border-radius:5px; background:var(--gold)}

/* Partenaires */
.hc-part-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.hc-part{display:flex; align-items:center; gap:15px; padding:20px 24px; font-family:var(--sans); font-weight:600; color:var(--ink); transition:transform .2s, box-shadow .2s, border-color .2s}
.hc-part:hover{transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--gold)}
.hc-part .mk{width:48px; height:48px; flex:none; border-radius:10px; display:grid; place-items:center; background:var(--navy); color:var(--gold); font-family:var(--serif); font-weight:700; font-size:1.2rem}

/* À découvrir */
.hc-disc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.hc-fiche{display:flex; flex-direction:column; padding:28px; transition:transform .2s, box-shadow .2s, border-color .2s}
.hc-fiche:hover{transform:translateY(-4px); box-shadow:var(--shadow); border-color:var(--gold)}
.hc-fiche .tag{font-family:var(--ui); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-d); font-weight:700; margin-bottom:.9em}
.hc-fiche h3{font-family:var(--serif); font-size:1.28rem; margin-bottom:.35em}
.hc-fiche p{font-size:.95rem; color:var(--tx); margin-bottom:1.1em; font-family:var(--body)}
.hc-fiche .go{margin-top:auto; font-family:var(--ui); font-size:.82rem; color:var(--gold-d); font-weight:700}

/* Rubriques (EN DERNIER) */
.hc-rubs{padding:76px 0}
.hc-rub{padding:26px 0}
.hc-rub-panel{display:grid; grid-template-columns:1fr .82fr; gap:0; overflow:hidden; padding:0; background:var(--paper)}
/* Variantes de présentation (cyclées v0/v1/v2) */
.hc-rub--v1 .hc-rub-panel{background:var(--cream); grid-template-columns:.82fr 1fr}
.hc-rub--v1 .hc-rub-txt{order:2}
.hc-rub--v1 .hc-rub-media{order:1}
.hc-rub--v2 .hc-rub-panel{background:linear-gradient(160deg,#04203f,#0a2c52); border-color:rgba(255,255,255,.12)}
.hc-rub--v2 .hc-rub-name{color:#fff}
.hc-rub--v2 .hc-rub-desc{color:rgba(255,255,255,.82)}
.hc-rub--v2 .eyebrow{color:var(--gold)}
.hc-rub--v2 .hc-rub-ico{background:var(--gold); color:var(--navy)}
.hc-rub--v2 .hc-chips li{background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.2); color:#fff}
.hc-rub--v2 .hc-chips li small{color:var(--gold)}
.hc-rub-txt{padding:42px 44px}
.hc-rub-ico{width:58px; height:58px; border-radius:12px; display:grid; place-items:center; background:var(--navy); color:var(--gold); margin-bottom:18px}
.hc-rub-ico svg{width:30px; height:30px}
.hc-rub-name{font-family:var(--serif); font-size:clamp(1.7rem,3vw,2.3rem); margin-bottom:.25em}
.hc-rub-desc{color:var(--tx); font-size:1.05rem; margin-bottom:1.2em}
.hc-chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:1.6em; padding:0; list-style:none}
.hc-chips li{display:flex; align-items:center; gap:7px; padding:7px 13px; border-radius:7px; background:var(--gold-soft); border:1px solid rgba(212,161,58,.28); font-family:var(--ui); font-size:.8rem; color:var(--navy); font-weight:600}
.hc-chips li span{font-size:1rem}
.hc-chips li small{color:var(--gold-d); font-weight:600}
.hc-rub-media{position:relative; min-height:280px; background-size:cover; background-position:center}
.hc-rub-cta{margin-top:0}
.hc-rub-arts{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:26px}
.hc-card{display:flex; flex-direction:column; overflow:hidden; padding:0; transition:transform .2s, box-shadow .2s; background:var(--paper)}
.hc-card:hover{transform:translateY(-5px); box-shadow:var(--shadow)}
.hc-card .cov{aspect-ratio:16/10; overflow:hidden}
.hc-card .cov img{width:100%; height:100%; object-fit:cover; transition:transform .5s}
.hc-card:hover .cov img{transform:scale(1.05)}
.hc-card .bd{padding:20px 22px 24px; display:flex; flex-direction:column; gap:9px; flex:1}
.hc-card .k{font-family:var(--ui); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-d); font-weight:700}
.hc-card h3{font-family:var(--serif); font-size:1.18rem; line-height:1.28; margin:0; color:var(--ink)}
.hc-card .m{margin-top:auto; font-size:.78rem; color:var(--muted); font-family:var(--ui)}

/* Article / single */
.hc-phead{padding:60px 0 32px; position:relative}
.hc-phead .kk{font-family:var(--ui); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-d); font-weight:700}
.hc-phead h1{font-family:var(--serif); font-size:clamp(2.1rem,4.3vw,3.1rem); margin:.4em 0 .35em; max-width:16em; line-height:1.14}
.hc-phead .meta{font-family:var(--ui); font-size:.86rem; color:var(--muted)}
.hc-hero-img{max-width:var(--wrap); margin:0 auto 44px; padding:0 24px}
.hc-hero-img .in{border-radius:var(--radius); overflow:hidden; aspect-ratio:21/9; box-shadow:var(--shadow)}
.hc-hero-img img{width:100%; height:100%; object-fit:cover}
.hc-article{max-width:760px; margin:0 auto; padding:48px 44px}
.hc-article .body{font-size:1.09rem; color:#3f4453; font-family:var(--body); line-height:1.8}
.hc-article .body h2{font-family:var(--serif); font-size:1.7rem; margin:1.5em 0 .5em; color:var(--ink)}
.hc-article .body h3{font-family:var(--sans); font-weight:600; font-size:1.2rem; margin:1.4em 0 .4em; color:var(--gold-d)}
.hc-article .body ul{padding-left:0; list-style:none; margin:0 0 1.2em}
.hc-article .body ul li{position:relative; padding-left:28px; margin-bottom:.6em}
.hc-article .body ul li::before{content:""; position:absolute; left:4px; top:.68em; width:9px; height:9px; border-radius:2px; background:var(--gold); transform:rotate(45deg)}
.hc-article .body code{font-family:'Inter',monospace; font-size:.85em; background:var(--gold-soft); color:var(--gold-d); padding:.12em .45em; border-radius:5px; font-weight:600}
.hc-article .body strong{color:var(--ink)}
.hc-article .body a{color:var(--gold-d); border-bottom:1px solid rgba(212,161,58,.45)}

/* Catégorie / archive */
.hc-cat-banner{position:relative; margin-bottom:48px; overflow:hidden; min-height:340px; display:flex; align-items:flex-end; background:var(--navy)}
.hc-cat-banner .bg{position:absolute; inset:0; background-size:cover; background-position:center; opacity:.5}
.hc-cat-banner::after{content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(2,20,40,.92),rgba(10,44,82,.7))}
.hc-cat-banner .in{position:relative; z-index:2; max-width:var(--wrap); margin:0 auto; width:100%; padding:60px 24px 46px}
.hc-cat-banner .ico{width:60px;height:60px;border-radius:12px;display:grid;place-items:center;background:var(--gold);color:var(--navy);margin-bottom:18px}
.hc-cat-banner .ico svg{width:32px;height:32px}
.hc-cat-banner .eyebrow{color:var(--gold)}
.hc-cat-banner h1{font-family:var(--serif); color:#fff; font-size:clamp(2.1rem,4.6vw,3.2rem); margin:0 0 .25em}
.hc-cat-banner p{color:rgba(255,255,255,.9); max-width:42em; margin:0; font-size:1.1rem; font-family:var(--body)}
.hc-grid{max-width:var(--wrap); margin:0 auto; padding:0 24px 78px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px}

/* Footer (réplique BlueJay Data, sombre) */
.footer{background:#0B0F26; color:#c7cbe6; margin-top:0; position:relative; z-index:1}
.footer .hc-wrap{padding-top:60px; padding-bottom:28px}
.f-top{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:36px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.1)}
.f-brand{display:flex; align-items:center; gap:11px; font-family:var(--sans); font-weight:700; color:#fff; font-size:1.2rem; margin-bottom:.7em}
.f-brand svg{width:36px;height:36px}
.f-about{font-size:.92rem; color:#9aa0c8; max-width:32ch; font-family:var(--body)}
.footer h4{color:#fff; font-family:var(--ui); font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; margin:0 0 1.1em; font-weight:700}
.footer ul{list-style:none; margin:0; padding:0}
.footer li{margin-bottom:.7em; font-size:.92rem}
.footer li a{color:#b9bee0; transition:color .18s; font-family:var(--body)}
.footer li a:hover{color:var(--gold)}
.f-editeur{padding:22px 0 0; font-size:.9rem; color:#9aa0c8; font-family:var(--body)}
.f-editeur strong{color:#fff}
.f-bottom{display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; padding-top:22px; font-size:.82rem; color:#7a80ab; font-family:var(--ui)}

/* Responsive */
@media(max-width:960px){
  .hc-hero-grid{grid-template-columns:1fr; gap:44px}
  .hc-hero-media{max-width:460px; margin:0 auto; width:100%}
  .hc-hero{min-height:auto; padding-top:44px}
  .hc-mani-grid{grid-template-columns:1fr; gap:30px}
  .shead--split{grid-template-columns:1fr}
  .shead--split .media{max-width:520px}
  .hc-rub-panel{grid-template-columns:1fr}
  .hc-rub-media{min-height:210px; order:-1}
  .hc-part-grid{grid-template-columns:repeat(2,1fr)}
  .hc-disc-grid{grid-template-columns:1fr 1fr}
  .hc-rub-arts{grid-template-columns:1fr 1fr}
  .hc-grid{grid-template-columns:1fr 1fr}
  .f-top{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  body{font-size:16px}
  .hc-nav{display:none; position:absolute; top:62px; left:0; right:0; flex-direction:column; padding:12px 16px; gap:2px; background:#fff; border-bottom:1px solid var(--line); box-shadow:var(--shadow-sm)}
  .hc-hd.open .hc-nav{display:flex}
  .hc-hd-cta{display:none}
  .hc-burger{display:flex}
  .hc-part-grid,.hc-disc-grid,.hc-rub-arts,.hc-grid{grid-template-columns:1fr}
  .hc-quote{padding:36px 28px}
  .hc-quote .q{font-size:1.2rem}
  .hc-rub-txt{padding:30px 26px}
  .hc-stats{gap:22px}
  .hc-article{padding:32px 22px}
  .f-top{grid-template-columns:1fr; gap:26px}
}

/* ============================================================
   Animations (finitions)
   ============================================================ */
@media (prefers-reduced-motion: no-preference){
  /* Bannière hero : léger effet Ken Burns */
  .hc-hero{animation:hcKen 28s ease-in-out infinite alternate}
  @keyframes hcKen{from{background-size:112%}to{background-size:127%}}
  /* Entrée décalée des chiffres du hero */
  .hc-stats .hc-stat{opacity:0; animation:hcUp .7s cubic-bezier(.2,.7,.2,1) forwards}
  .hc-stats .hc-stat:nth-child(1){animation-delay:.25s}
  .hc-stats .hc-stat:nth-child(2){animation-delay:.4s}
  .hc-stats .hc-stat:nth-child(3){animation-delay:.55s}
  @keyframes hcUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
  /* Révélation en cascade dans les grilles */
  .hc-rub-arts .hc-card:nth-child(2){transition-delay:.1s}
  .hc-rub-arts .hc-card:nth-child(3){transition-delay:.2s}
  .hc-disc-grid .hc-fiche:nth-child(2){transition-delay:.09s}
  .hc-disc-grid .hc-fiche:nth-child(3){transition-delay:.18s}
  .hc-part-grid .hc-part:nth-child(3n+2){transition-delay:.08s}
  .hc-part-grid .hc-part:nth-child(3n+3){transition-delay:.16s}
}
/* Soulignement doré animé dans la navigation */
.hc-nav a::after{content:""; position:absolute; left:11px; right:11px; bottom:5px; height:2px; background:var(--gold); border-radius:2px; transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.hc-nav a:hover::after{transform:scaleX(1)}
/* Panneau rubrique : icône qui s'anime + image qui zoome au survol */
.hc-rub-ico{transition:transform .35s ease}
.hc-rub-panel:hover .hc-rub-ico{transform:translateY(-4px) rotate(-5deg)}
.hc-rub-media{transition:transform .7s ease}
.hc-rub-panel:hover .hc-rub-media{transform:scale(1.06)}
/* Boutons dorés : reflet qui balaie au survol */
.btn--grad{position:relative; overflow:hidden}
.btn--grad>*{position:relative; z-index:1}
.btn--grad::after{content:""; position:absolute; top:0; left:-60%; width:45%; height:100%; background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent); transform:skewX(-18deg); transition:left .6s ease}
.btn--grad:hover::after{left:135%}
/* Monogramme partenaire : petit pivot au survol */
.hc-part .mk{transition:transform .3s ease}
.hc-part:hover .mk{transform:rotate(-6deg) scale(1.06)}
/* Fiche « à découvrir » : flèche qui glisse */
.hc-fiche .go{transition:transform .25s ease}
.hc-fiche:hover .go{transform:translateX(4px)}
@media (prefers-reduced-motion: reduce){
  .hc-hero{animation:none}
  *,*::before,*::after{animation-duration:.001ms !important; transition-duration:.01ms !important}
}

/* Bouton retour en haut */
.hc-top{position:fixed; right:26px; bottom:26px; z-index:80; width:50px; height:50px; border-radius:50%; border:1px solid rgba(255,255,255,.12); cursor:pointer;
  background:var(--navy); color:var(--gold); display:grid; place-items:center; box-shadow:var(--shadow);
  opacity:0; visibility:hidden; transform:translateY(14px) scale(.9); transition:opacity .3s ease, transform .3s cubic-bezier(.2,.7,.2,1), background .2s, color .2s}
.hc-top svg{width:22px; height:22px}
.hc-top.show{opacity:1; visibility:visible; transform:none}
.hc-top:hover{background:var(--gold); color:var(--navy); transform:translateY(-3px)}
@media(max-width:640px){ .hc-top{right:16px; bottom:16px; width:46px; height:46px} }
