/* =========================================================
   CARRÉMENT SAINT-CHAMOND — FRONT PAGE V3
   Dépend de global-csc.css.
   ========================================================= */

.csc-home{overflow:hidden;background:var(--csc-surface);color:var(--csc-text)}
.csc-home svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.csc-section{padding:var(--csc-section-space) 0}
.csc-section--soft{background:linear-gradient(180deg,#f5f9fc 0,var(--csc-surface) 100%)}

/* HERO */
.csc-hero{background:radial-gradient(circle at 82% 18%,#eaf7ff 0,transparent 31%),linear-gradient(180deg,#fff 0,#f9fcfe 100%);padding-top:64px}
.csc-hero__grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:520px;align-items:center;gap:60px}
.csc-hero__copy{padding-bottom:34px;position:relative;z-index:2}
.csc-hero h1{font-size:clamp(48px,5.5vw,82px);line-height:.96;letter-spacing:-.052em;margin:0 0 26px;color:var(--csc-text);max-width:740px}
.csc-hero h1 strong{color:var(--csc-primary);font-weight:900}
.csc-hero__copy>p{font-size:19px;line-height:1.7;color:var(--csc-text-light);max-width:640px;margin:0 0 30px}
.csc-hero__actions{display:flex;flex-wrap:wrap;gap:12px}
.csc-hero__scene{align-self:end;color:#22506f;position:relative;transform-origin:50% 100%}
.csc-hero__scene svg{display:block;width:100%;height:auto;max-height:465px;overflow:visible}
.csc-scene-cloud{fill:#dff2fd;stroke:none;transform-box:fill-box;transform-origin:center}
.csc-scene-cloud--one{animation:csc-cloud-float 9s ease-in-out infinite alternate}
.csc-scene-cloud--two{opacity:.72;animation:csc-cloud-float-small 12s ease-in-out 1.4s infinite alternate}
.csc-scene-tree{fill:#dbeee2;color:#537c6d;transform-box:fill-box;transform-origin:50% 100%}
.csc-scene-tree--one{animation:csc-tree-sway 4.8s ease-in-out infinite alternate}
.csc-scene-tree--small{fill:#e9f4de;color:#608356;animation:csc-tree-sway-small 5.8s ease-in-out .7s infinite alternate}
.csc-scene-building{fill:#f7fbfd;color:#2d5877}
.csc-scene-shop{fill:#fffaf3;color:#46647a;transform-box:fill-box;transform-origin:50% 100%;animation:csc-shop-breathe 6s ease-in-out infinite alternate}
.csc-scene-shop--right{fill:#f6fbff;animation-delay:1.1s}
.csc-scene-road{color:#b7c9d6}
.csc-scene-heart{fill:#fff4ed;color:var(--csc-accent-strong);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:csc-heartbeat 2.35s ease-in-out infinite}

@keyframes csc-cloud-float{from{transform:translate3d(-7px,0,0)}to{transform:translate3d(17px,-5px,0)}}
@keyframes csc-cloud-float-small{from{transform:translate3d(8px,2px,0)}to{transform:translate3d(-14px,-4px,0)}}
@keyframes csc-tree-sway{0%{transform:rotate(-1deg)}100%{transform:rotate(1.8deg)}}
@keyframes csc-tree-sway-small{0%{transform:rotate(1.4deg)}100%{transform:rotate(-1.6deg)}}
@keyframes csc-shop-breathe{from{transform:translateY(0)}to{transform:translateY(-2px)}}
@keyframes csc-heartbeat{0%,100%{transform:scale(1)}12%{transform:scale(1.08)}24%{transform:scale(1)}36%{transform:scale(1.055)}48%{transform:scale(1)}}

/* CATÉGORIES */
.csc-sector-zone{padding:18px 0 38px;border-top:1px solid var(--csc-border)}
.csc-sector-zone__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.csc-sector-zone__head>span{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--csc-text-light)}
.csc-sector-controls{display:none;gap:8px}
.csc-sector-controls button,.csc-carousel-controls button{width:40px;height:40px;border:1px solid var(--csc-border);border-radius:50%;background:var(--csc-surface);color:var(--csc-primary);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.csc-sector-controls button:hover,.csc-carousel-controls button:hover{transform:translateY(-2px);border-color:#bddff4;box-shadow:var(--csc-shadow-sm)}
.csc-sector-row{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:12px}
.csc-sector-pill{display:grid;gap:10px;justify-items:center;text-align:center;text-decoration:none;color:var(--csc-text);font-size:12px;font-weight:800;min-width:0;position:relative}
.csc-sector-pill__icon{position:relative;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#edf8ff;color:var(--csc-primary);transition:transform .2s ease,box-shadow .2s ease}
.csc-sector-pill__icon::after{content:"";position:absolute;inset:-5px;border:1px solid currentColor;border-radius:50%;opacity:0;transform:scale(.8);animation:csc-sector-pulse 4.8s ease-out var(--csc-sector-delay,0ms) infinite}
.csc-sector-pill:nth-child(2n) .csc-sector-pill__icon{background:#fff3ec;color:var(--csc-accent-strong)}
.csc-sector-pill:nth-child(3n) .csc-sector-pill__icon{background:#f0f7ec;color:#5d916e}
.csc-sector-pill__icon svg{width:28px;height:28px}
.csc-sector-pill:hover .csc-sector-pill__icon{transform:translateY(-5px) rotate(-2deg);box-shadow:0 12px 24px rgba(30,75,104,.1)}
.csc-sector-pill:hover .csc-sector-pill__icon::after{animation-duration:1.3s}
@keyframes csc-sector-pulse{0%,68%{opacity:0;transform:scale(.82)}76%{opacity:.35}100%{opacity:0;transform:scale(1.22)}}

/* OFFRES : chèque cadeau + adhésion */
.csc-section--offers{padding:82px 0;background:linear-gradient(180deg,#f7fbfd 0,#fff 100%)}
.csc-offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.csc-offer-card{position:relative;overflow:hidden;min-height:350px;border:1px solid var(--csc-border);border-radius:32px;padding:34px 38px;display:grid;grid-template-columns:58px minmax(0,1fr);align-content:center;gap:18px;background:var(--csc-surface);box-shadow:var(--csc-shadow-sm);transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.csc-offer-card:hover{transform:translateY(-5px);box-shadow:var(--csc-shadow-md);border-color:#cfe5f3}
.csc-offer-card--gift{background:linear-gradient(135deg,#fffaf6 0,#fff 68%);border-color:#f1dfd4}
.csc-offer-card--join{background:linear-gradient(135deg,#edf8ff 0,#fff 72%)}
.csc-offer-card__icon{position:relative;z-index:3;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--csc-primary-soft);color:var(--csc-primary);box-shadow:0 10px 24px rgba(74,147,200,.12);align-self:start;margin-top:2px}
.csc-offer-card__icon svg{width:28px;height:28px}
.csc-offer-card__icon--gift{background:#fff0e8;color:var(--csc-accent-strong);animation:csc-soft-pop 4.5s ease-in-out infinite}
.csc-offer-card__icon--join{animation:csc-soft-pop 4.5s ease-in-out 1.2s infinite}
.csc-offer-card__copy{position:relative;z-index:3;align-self:center;max-width:610px}
.csc-offer-card .csc-kicker{margin-bottom:5px}
.csc-offer-card h2{font-size:clamp(28px,2.35vw,38px);line-height:1.08;letter-spacing:-.04em;margin:0 0 10px;max-width:560px}
.csc-offer-card__lead{margin:0 0 14px!important;color:var(--csc-text-light);line-height:1.58!important;max-width:555px;font-size:15px}
.csc-offer-card__glow{position:absolute;width:180px;height:180px;border-radius:50%;right:-50px;top:-70px;background:rgba(233,185,141,.18);filter:blur(2px);animation:csc-glow-drift 8s ease-in-out infinite alternate}
.csc-offer-benefits{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 15px}
.csc-offer-benefits span{display:inline-flex;align-items:center;min-height:30px;padding:6px 10px;border:1px solid rgba(74,147,200,.13);border-radius:999px;background:rgba(255,255,255,.74);color:var(--csc-text);font-size:11px;font-weight:800;box-shadow:0 5px 15px rgba(30,75,104,.035)}
.csc-offer-card--gift .csc-offer-benefits span{border-color:rgba(213,139,79,.18);background:rgba(255,250,246,.9)}
.csc-offer-card__footer{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap}
.csc-offer-card__note{display:inline-flex;margin:0!important;color:var(--csc-text-light);font-weight:800;font-size:11px;letter-spacing:.01em}
.csc-offer-scene{position:absolute;right:-12px;bottom:-6px;width:220px;color:var(--csc-primary);opacity:.16;pointer-events:none;z-index:1}
.csc-offer-scene--gift{color:#c47c47;right:-2px;width:205px;opacity:.18}
.csc-offer-scene--join{width:235px;color:#3b6f90;opacity:.17}
.csc-offer-scene svg{display:block;width:100%;height:auto;overflow:visible;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.csc-offer-cloud{animation:csc-offer-cloud 7s ease-in-out infinite alternate}
.csc-offer-heart{transform-box:fill-box;transform-origin:center;animation:csc-offer-heartbeat 2.5s ease-in-out infinite}
.csc-offer-gift{transform-box:fill-box;transform-origin:50% 100%;animation:csc-offer-bob 4.8s ease-in-out infinite}
.csc-offer-tree{transform-box:fill-box;transform-origin:50% 100%;animation:csc-offer-tree 5.5s ease-in-out infinite alternate}
.csc-offer-shop{animation:csc-offer-bob 6.4s ease-in-out infinite}
.csc-offer-people{animation:csc-offer-people 4.8s ease-in-out infinite alternate}
.csc-offer-ground{opacity:.55}
@keyframes csc-soft-pop{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.035)}}
@keyframes csc-glow-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-24px,18px,0) scale(1.12)}}
@keyframes csc-offer-cloud{from{transform:translateX(-4px)}to{transform:translateX(15px)}}
@keyframes csc-offer-heartbeat{0%,100%{transform:scale(1)}14%{transform:scale(1.1)}28%{transform:scale(1)}42%{transform:scale(1.055)}}
@keyframes csc-offer-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes csc-offer-tree{from{transform:rotate(-1deg)}to{transform:rotate(1.4deg)}}
@keyframes csc-offer-people{from{transform:translateY(0)}to{transform:translateY(-2px)}}

/* TITRES */
.csc-heading-row{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:34px}
.csc-heading-row h2{font-size:clamp(32px,3vw,44px);letter-spacing:-.04em;margin:0}

/* CADRE CARRÉ, CLIN D'ŒIL AU LOGO */
.csc-square-frame{position:relative;isolation:isolate}
.csc-square-frame::before{content:"";position:absolute;inset:10px -10px -10px 10px;border:2px solid rgba(74,147,200,.55);border-radius:20px;z-index:-1;pointer-events:none;transition:transform .2s ease,border-color .2s ease}
.csc-square-frame:hover::before{transform:translate(3px,-3px);border-color:var(--csc-primary)}

/* ACTUALITÉS */
.csc-section--news{padding-top:96px}
.csc-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.csc-news-card{display:flex;flex-direction:column;background:transparent;transition:transform .22s ease}
.csc-news-card:hover{transform:translateY(-5px)}
.csc-news-card__media{display:block;width:100%;aspect-ratio:1/1;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,#f5fbff,#fbfdfe);box-shadow:var(--csc-shadow-sm);text-decoration:none}
.csc-news-card__media>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.csc-news-card:hover .csc-news-card__media>img{transform:scale(1.035)}
.csc-news-card__placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--csc-primary);background:linear-gradient(135deg,#eef8ff,#fff)}
.csc-news-card__placeholder svg{width:74px;height:74px;opacity:.8;animation:csc-soft-pop 4.5s ease-in-out infinite}
.csc-news-card__media time{position:absolute;left:18px;bottom:18px;display:grid;justify-items:center;color:var(--csc-primary);background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-radius:14px;padding:9px 12px;box-shadow:var(--csc-shadow-sm);z-index:2}
.csc-news-card__media time strong{font-size:24px;line-height:1}.csc-news-card__media time span{font-size:9px;font-weight:900;margin-top:4px}
.csc-news-card__body{padding:28px 10px 0 8px}
.csc-news-card h3{font-size:21px;line-height:1.3;margin:0 0 10px}.csc-news-card h3 a{color:var(--csc-text);text-decoration:none}
.csc-news-card__author{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--csc-text-light);font-size:11px;font-weight:700}
.csc-news-card__author-mark{width:26px;height:26px;border-radius:9px;display:grid;place-items:center;background:var(--csc-primary-soft);color:var(--csc-primary);font-size:11px;font-weight:900;box-shadow:0 5px 12px rgba(74,147,200,.09)}
.csc-news-card__author a{color:var(--csc-text);text-decoration:none;font-weight:800}.csc-news-card__author a:hover{color:var(--csc-primary)}
.csc-news-card p{color:var(--csc-text-light);line-height:1.6;margin:0 0 16px}
.csc-empty-state{grid-column:1/-1;text-align:center;padding:44px;border-radius:var(--csc-radius-lg);background:#f7fbfd;color:var(--csc-text-light)}
.csc-empty-state strong{display:block;color:var(--csc-text);margin-bottom:5px}

/* PARTENAIRES */
.csc-section--partners{background:#fbfdfe;padding-top:78px;padding-bottom:84px}
.csc-carousel-controls{display:flex;gap:8px}
.csc-partners{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:16px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 1px 20px}
.csc-partners::-webkit-scrollbar,.csc-sector-row::-webkit-scrollbar{display:none}
.csc-partner{scroll-snap-align:start;min-height:135px;border:1px solid var(--csc-border);border-radius:var(--csc-radius-lg);background:var(--csc-surface);display:grid;align-content:center;justify-items:center;text-align:center;padding:24px;text-decoration:none;color:var(--csc-text);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.csc-partner:hover{transform:translateY(-3px);border-color:#bddff4;box-shadow:var(--csc-shadow-sm)}
.csc-partner__mark{width:34px;height:34px;border-radius:10px;background:var(--csc-primary-soft);color:var(--csc-primary);display:grid;place-items:center;font-size:22px;font-weight:700;margin-bottom:10px;transition:transform .2s ease}
.csc-partner:hover .csc-partner__mark{transform:rotate(8deg) scale(1.06)}
.csc-partner strong{font-size:14px}.csc-partner>span:last-child{font-size:11px;color:var(--csc-text-light);margin-top:5px}

/* APPARITIONS */
[data-csc-reveal]{opacity:0;transform:translateY(18px);transition:opacity .58s ease,transform .58s ease}
[data-csc-reveal].is-visible{opacity:1;transform:none}

@media(max-width:1100px){
    .csc-hero__grid{grid-template-columns:1fr;min-height:auto;gap:20px}
    .csc-hero__copy{padding-top:20px}
    .csc-hero__scene{max-width:760px;margin:auto}
    .csc-sector-row{grid-template-columns:repeat(5,1fr)}
    .csc-offer-grid{grid-template-columns:1fr}
    .csc-offer-card{min-height:260px}
    .csc-news-grid{gap:24px}
}

@media(max-width:760px){
    .csc-section{padding:64px 0}
    .csc-hero{padding-top:32px}
    .csc-hero h1{font-size:clamp(42px,13vw,58px)}
    .csc-hero__copy>p{font-size:16px}
    .csc-hero__scene{margin-top:-8px}

    .csc-sector-zone{padding-bottom:28px}
    .csc-sector-controls{display:flex}
    .csc-sector-row{display:grid;grid-auto-flow:column;grid-auto-columns:104px;grid-template-columns:none;gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:5px 4px 14px}
    .csc-sector-pill{scroll-snap-align:start;font-size:11px}
    .csc-sector-pill__icon{width:64px;height:64px}

    .csc-section--offers{padding:56px 0}
    .csc-offer-grid{gap:18px}
    .csc-offer-card{grid-template-columns:1fr;min-height:auto;padding:30px;border-radius:26px}
    .csc-offer-card__icon{width:58px;height:58px}
    .csc-offer-card__people{width:150px;opacity:.1}

    .csc-heading-row{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:28px}
    .csc-heading-row h2{font-size:32px}
    .csc-news-grid{grid-template-columns:1fr;gap:46px}
    .csc-news-card__body{padding-top:24px}
    .csc-square-frame::before{inset:8px -8px -8px 8px}
    .csc-partners{grid-auto-columns:82%}
}

@media(prefers-reduced-motion:reduce){
    [data-csc-reveal]{opacity:1;transform:none;transition:none}
    .csc-scene-cloud--one,.csc-scene-cloud--two,.csc-scene-tree--one,.csc-scene-tree--small,.csc-scene-shop,.csc-scene-heart,.csc-sector-pill__icon::after,.csc-offer-card__icon,.csc-offer-card__glow,.csc-offer-cloud,.csc-offer-heart,.csc-offer-gift,.csc-offer-tree,.csc-offer-shop,.csc-offer-people,.csc-news-card__placeholder svg{animation:none!important}
    .csc-news-card__media>img,.csc-offer-card,.csc-news-card,.csc-partner,.csc-sector-pill__icon{transition:none!important}
}

/* =========================================================
   V4 PREMIUM — contenu éditorial + finitions vivantes
   ========================================================= */
.csc-sector-zone__head>div:first-child{display:grid;gap:3px}
.csc-sector-zone__head>div:first-child>strong{font-size:clamp(20px,1.7vw,28px);letter-spacing:-.03em;color:var(--csc-text)}
.csc-sector-zone__head .csc-kicker{font-size:11px;margin:0}

.csc-mini-points{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:9px}
.csc-mini-points li{position:relative;padding-left:22px;color:var(--csc-text);font-size:14px;font-weight:700;line-height:1.5}
.csc-mini-points li::before{content:"";position:absolute;left:0;top:.65em;width:8px;height:8px;border-radius:50%;background:var(--csc-primary);box-shadow:0 0 0 5px rgba(74,147,200,.09)}
.csc-offer-card--gift .csc-mini-points li::before{background:var(--csc-accent-strong);box-shadow:0 0 0 5px rgba(233,185,141,.14)}
.csc-offer-card__note{display:inline-flex;margin:0;color:var(--csc-text-light);font-weight:800;font-size:11px;letter-spacing:.01em}

.csc-heading-row>div:first-child{max-width:800px}
.csc-heading-row__intro{margin:12px 0 0;max-width:720px;color:var(--csc-text-light);line-height:1.7}

.csc-section--partners .csc-heading-row h2{max-width:760px}

.csc-local-signature{padding:20px 0 88px;background:linear-gradient(180deg,#fbfdfe 0,#f2f8fc 100%)}
.csc-local-signature__inner{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;padding:34px 38px;border:1px solid #dbeaf4;border-radius:30px;background:rgba(255,255,255,.82);box-shadow:var(--csc-shadow-sm);overflow:hidden}
.csc-local-signature__inner::after{content:"";position:absolute;width:180px;height:180px;border:2px solid rgba(74,147,200,.16);border-radius:38px;right:-70px;top:-90px;transform:rotate(14deg);pointer-events:none;animation:csc-signature-float 8s ease-in-out infinite alternate}
.csc-local-signature__spark{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:var(--csc-primary-soft);color:var(--csc-primary);position:relative;z-index:1;animation:csc-soft-pop 4.8s ease-in-out infinite}
.csc-local-signature__spark svg{width:30px;height:30px}
.csc-local-signature h2{font-size:clamp(28px,2.8vw,42px);line-height:1.08;letter-spacing:-.04em;margin:4px 0 10px;max-width:860px}
.csc-local-signature p{margin:0;color:var(--csc-text-light);line-height:1.7;max-width:820px}
.csc-local-signature .csc-btn{position:relative;z-index:2;white-space:nowrap}
@keyframes csc-signature-float{from{transform:rotate(10deg) translate3d(0,0,0)}to{transform:rotate(17deg) translate3d(-18px,16px,0)}}

/* Un peu plus de profondeur et de rythme visuel */
.csc-offer-card::after{content:"";position:absolute;inset:auto 26px 20px auto;width:54px;height:54px;border:1px solid rgba(74,147,200,.12);border-radius:15px;transform:rotate(12deg);pointer-events:none;transition:transform .28s ease,opacity .28s ease}
.csc-offer-card:hover::after{transform:rotate(20deg) translate(-4px,-4px)}
.csc-news-card:nth-child(2){transition-delay:.05s}
.csc-news-card:nth-child(3){transition-delay:.1s}
.csc-news-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(20,45,62,.12) 100%);pointer-events:none}

@media(max-width:760px){
  .csc-sector-zone__head{align-items:flex-end}
  .csc-sector-zone__head>div:first-child>strong{font-size:20px}
  .csc-offer-card{padding:28px 24px;grid-template-columns:48px minmax(0,1fr);gap:14px;min-height:0}
  .csc-offer-card__icon{width:48px;height:48px;border-radius:15px}
  .csc-offer-card h2{font-size:29px}
  .csc-offer-card__lead{font-size:14px}
  .csc-offer-scene{width:155px;opacity:.1}
  .csc-offer-card__footer{align-items:flex-start;flex-direction:column;gap:8px}
  .csc-mini-points{gap:8px}
  .csc-mini-points li{font-size:13px}
  .csc-heading-row__intro{font-size:14px}
  .csc-local-signature{padding-bottom:64px}
  .csc-local-signature__inner{grid-template-columns:1fr;padding:28px 24px;gap:20px}
  .csc-local-signature__spark{width:54px;height:54px}
  .csc-local-signature .csc-btn{width:100%;justify-content:center}
}

@media(prefers-reduced-motion:reduce){
  .csc-local-signature__inner::after,.csc-local-signature__spark{animation:none!important}
}

/* =========================================================
   V5 — news/partners banners + news mobile carousel
   ========================================================= */
.csc-heading-row--compact{margin-bottom:26px;align-items:center}
.csc-heading-row--compact .csc-carousel-controls{align-items:center;flex-wrap:wrap;justify-content:flex-end}
.csc-heading-row--compact .csc-text-link{margin-left:6px}

.csc-section-banner{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(250px,.88fr);align-items:center;gap:34px;padding:34px 38px;margin:0 0 28px;border:1px solid #d9eaf5;border-radius:30px;background:linear-gradient(180deg,#fbfdff 0%,#f3f9fd 100%);box-shadow:var(--csc-shadow-sm);overflow:hidden}
.csc-section-banner::before{content:"";position:absolute;inset:auto auto -22px -22px;width:112px;height:112px;border-radius:28px;border:2px solid rgba(74,147,200,.10);transform:rotate(14deg);pointer-events:none}
.csc-section-banner::after{content:"";position:absolute;top:-42px;right:-38px;width:150px;height:150px;border-radius:34px;border:2px solid rgba(74,147,200,.10);transform:rotate(-14deg);pointer-events:none}
.csc-section-banner__copy{position:relative;z-index:1;max-width:720px}
.csc-section-banner__copy h2{font-size:clamp(34px,3.2vw,48px);line-height:1.04;letter-spacing:-.045em;margin:10px 0 12px;color:var(--csc-text)}
.csc-section-banner__copy p{margin:0;color:var(--csc-text-light);line-height:1.72;max-width:650px}
.csc-section-banner__visual{position:relative;z-index:1;justify-self:end;width:min(100%,340px);color:var(--csc-primary)}
.csc-section-banner__visual svg{display:block;width:100%;height:auto;overflow:visible}
.csc-section-banner--news .csc-section-banner__visual{color:#4a93c8}
.csc-section-banner--partners .csc-section-banner__visual{color:#2f7ea8}
.csc-section-banner__visual .csc-banner-ground{fill:none;stroke:#c8deec;stroke-width:3;stroke-linecap:round}
.csc-section-banner__visual .csc-banner-cloud{fill:#fff;filter:drop-shadow(0 8px 14px rgba(74,147,200,.12))}
.csc-section-banner__visual .csc-banner-heart{fill:var(--csc-accent-strong)}
.csc-section-banner__visual .csc-banner-spark{fill:#e9b98d;opacity:.95}
.csc-section-banner__visual .csc-banner-board path,.csc-section-banner__visual .csc-banner-building path,.csc-section-banner__visual .csc-banner-hand path,.csc-section-banner__visual .csc-banner-sheet rect,.csc-section-banner__visual .csc-banner-sheet path,.csc-section-banner__visual .csc-banner-person path,.csc-section-banner__visual .csc-banner-person circle,.csc-section-banner__visual .csc-banner-tree circle,.csc-section-banner__visual .csc-banner-tree path{fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.csc-section-banner__visual .csc-banner-sheet rect{fill:#fff}
.csc-banner-cloud--one{animation:csc-cloud-drift 10s ease-in-out infinite alternate}
.csc-banner-cloud--two{animation:csc-cloud-drift 12.5s ease-in-out infinite alternate-reverse}
.csc-banner-heart{transform-box:fill-box;transform-origin:center;animation:csc-heartbeat 2.6s ease-in-out infinite}
.csc-banner-spark{transform-box:fill-box;transform-origin:center;animation:csc-soft-pop 4.8s ease-in-out infinite}
.csc-banner-tree--left,.csc-banner-tree--right{transform-box:fill-box;transform-origin:center bottom;animation:csc-tree-sway 5.2s ease-in-out infinite alternate}
.csc-banner-person{animation:csc-float-soft 4.4s ease-in-out infinite alternate}
.csc-banner-sheet{animation:csc-float-soft 4.8s ease-in-out infinite alternate-reverse}
.csc-banner-hand{animation:csc-float-soft 4s ease-in-out infinite alternate}

.csc-news-grid[data-csc-news]{scrollbar-width:none}
.csc-news-grid[data-csc-news]::-webkit-scrollbar{display:none}
.csc-news-card{min-width:0}

@keyframes csc-float-soft{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-7px,0)}}

@media(max-width:900px){
  .csc-section-banner{grid-template-columns:1fr;gap:18px;padding:28px 24px}
  .csc-section-banner__visual{justify-self:center;max-width:300px}
}

@media(max-width:760px){
  .csc-heading-row--compact{gap:14px;margin-bottom:22px}
  .csc-heading-row--compact .csc-carousel-controls{width:100%;justify-content:flex-start}
  .csc-heading-row--compact .csc-text-link{margin-left:2px}

  .csc-section-banner{padding:26px 22px;border-radius:26px;margin-bottom:22px}
  .csc-section-banner__copy h2{font-size:31px}
  .csc-section-banner__copy p{font-size:14px;line-height:1.65}
  .csc-section-banner__visual{max-width:250px}

  .csc-news-grid{display:grid;grid-auto-flow:column;grid-auto-columns:86%;grid-template-columns:none!important;gap:18px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding:6px 6px 18px}
  .csc-news-card{scroll-snap-align:start;transform:none!important}
  .csc-news-card__body{padding:22px 6px 0 6px}
}

@media(prefers-reduced-motion:reduce){
  .csc-banner-cloud--one,.csc-banner-cloud--two,.csc-banner-heart,.csc-banner-spark,.csc-banner-tree--left,.csc-banner-tree--right,.csc-banner-person,.csc-banner-sheet,.csc-banner-hand{animation:none!important}
}

/* =========================================================
   V6 — direction éditoriale libre, sans cadres de section
   ========================================================= */
.csc-section--news{position:relative;padding-top:112px;overflow:hidden;background:var(--csc-surface)}
.csc-section--news::before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-250px;top:30px;background:radial-gradient(circle,rgba(74,147,200,.09),rgba(74,147,200,0) 68%);pointer-events:none}
.csc-section--partners{position:relative;padding-top:96px;padding-bottom:96px;background:linear-gradient(180deg,#f8fbfd 0%,#f2f8fc 100%);overflow:hidden}
.csc-section--partners::before{content:"";position:absolute;width:340px;height:340px;left:-210px;bottom:-110px;border-radius:50%;background:radial-gradient(circle,rgba(233,185,141,.12),rgba(233,185,141,0) 70%);pointer-events:none}

/* L'intro devient une composition éditoriale libre, comme le hero. */
.csc-section-banner{position:relative;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(280px,.94fr);align-items:center;gap:clamp(34px,5vw,78px);padding:0;margin:0 0 18px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible}
.csc-section-banner::before,.csc-section-banner::after{display:none!important}
.csc-section-banner__copy{position:relative;z-index:1;max-width:720px;padding:12px 0 18px}
.csc-section-banner__copy::after{content:"";display:block;width:74px;height:3px;margin-top:24px;border-radius:999px;background:linear-gradient(90deg,var(--csc-primary) 0 72%,var(--csc-accent-strong) 72% 100%);transform-origin:left center;animation:csc-line-breathe 4.8s ease-in-out infinite}
.csc-section-banner__copy h2{font-size:clamp(38px,4vw,58px);line-height:1.02;letter-spacing:-.052em;margin:10px 0 15px;max-width:760px}
.csc-section-banner__copy p{font-size:16px;line-height:1.78;max-width:640px}
.csc-section-banner__visual{justify-self:end;width:min(100%,390px);padding:6px 0;filter:drop-shadow(0 18px 35px rgba(74,147,200,.08))}
.csc-section-banner--partners{grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr)}
.csc-section-banner--partners .csc-section-banner__visual{grid-column:1;grid-row:1;justify-self:start}
.csc-section-banner--partners .csc-section-banner__copy{grid-column:2;grid-row:1;justify-self:end;max-width:760px}
.csc-section-banner--partners .csc-section-banner__copy::after{background:linear-gradient(90deg,var(--csc-accent-strong) 0 28%,var(--csc-primary) 28% 100%)}

.csc-section-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 30px;padding-top:8px}
.csc-section-tools__hint{font-size:12px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:var(--csc-text-light)}
.csc-section-tools .csc-carousel-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.csc-section-tools .csc-text-link{margin-left:8px}

/* Partenaires : plus léger, moins "carte dans une carte". */
.csc-partners{gap:20px;padding:8px 2px 22px}
.csc-partner{min-height:118px;border:0!important;border-radius:22px;background:rgba(255,255,255,.66);box-shadow:none!important;backdrop-filter:blur(8px);padding:22px 20px;position:relative;overflow:hidden}
.csc-partner::after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:2px;border-radius:999px;background:linear-gradient(90deg,rgba(74,147,200,.05),rgba(74,147,200,.38),rgba(233,185,141,.35),rgba(74,147,200,.05));transform:scaleX(.45);opacity:.55;transition:transform .25s ease,opacity .25s ease}
.csc-partner:hover{transform:translateY(-4px);background:#fff}
.csc-partner:hover::after{transform:scaleX(1);opacity:1}
.csc-partner__mark{background:transparent;border:1px solid rgba(74,147,200,.18);box-shadow:none}

/* La signature finale devient une respiration plutôt qu'un dernier encadré. */
.csc-local-signature{padding:72px 0 94px;background:linear-gradient(180deg,#f2f8fc 0%,#fff 100%)}
.csc-local-signature__inner{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:18px 0;overflow:visible}
.csc-local-signature__inner::after{opacity:.45;border-width:1px;right:2%;top:-50px}

@keyframes csc-line-breathe{0%,100%{transform:scaleX(1);opacity:.72}50%{transform:scaleX(1.16);opacity:1}}

@media(max-width:900px){
  .csc-section-banner,.csc-section-banner--partners{grid-template-columns:1fr;gap:12px}
  .csc-section-banner--partners .csc-section-banner__visual,.csc-section-banner--partners .csc-section-banner__copy{grid-column:auto;grid-row:auto;justify-self:auto}
  .csc-section-banner--partners .csc-section-banner__copy{order:1}
  .csc-section-banner--partners .csc-section-banner__visual{order:2;justify-self:center}
  .csc-section-banner__visual{justify-self:center;max-width:330px}
}

@media(max-width:760px){
  .csc-section--news{padding-top:78px}
  .csc-section--partners{padding-top:74px;padding-bottom:76px}
  .csc-section-banner{padding:0!important;margin-bottom:12px}
  .csc-section-banner__copy{padding:0}
  .csc-section-banner__copy h2{font-size:35px}
  .csc-section-banner__copy p{font-size:14px;line-height:1.7}
  .csc-section-banner__copy::after{width:58px;margin-top:18px}
  .csc-section-banner__visual{max-width:260px;margin-top:4px}
  .csc-section-tools{align-items:flex-start;flex-direction:column;margin-bottom:22px;padding-top:0}
  .csc-section-tools__hint{font-size:10px;line-height:1.5}
  .csc-section-tools .csc-carousel-controls{width:100%;justify-content:flex-start}
  .csc-section-tools .csc-text-link{margin-left:4px}
  .csc-partners{grid-auto-columns:78%}
  .csc-local-signature{padding:58px 0 72px}
}

@media(prefers-reduced-motion:reduce){
  .csc-section-banner__copy::after{animation:none!important}
}

/* Logos partenaires : taille stable, proportions conservées. */
.csc-partner__logo{display:block;width:100%;max-width:160px;height:64px;object-fit:contain;margin:0 auto 10px}


/* CSC — 2 CTA toujours sur la même ligne en mobile */
@media (max-width:760px){
 .csc-hero__actions{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);gap:8px;width:100%}
 .csc-hero__actions>.csc-btn{width:100%;min-width:0;min-height:44px;padding:10px 8px;font-size:clamp(10px,2.65vw,12px);line-height:1.25;text-align:center;white-space:normal}
}

/* CSC — loader de navigation, uniquement lors d'une attente perceptible */
.csc-directory-transition{position:fixed;inset:0;z-index:9998;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(250,253,255,.95);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,visibility .18s}
.csc-directory-transition.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.csc-directory-transition__inner{display:grid;justify-items:center;gap:12px;text-align:center;color:var(--csc-text,#203444);font:inherit;font-weight:800}
.csc-directory-transition__spinner{width:34px;height:34px;border:3px solid #d8effc;border-top-color:var(--csc-primary,#28aae2);border-radius:50%;animation:csc-directory-loading .65s linear infinite}
@keyframes csc-directory-loading{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.csc-directory-transition__spinner{animation:none;border-top-color:#28aae2}}
