/* Capucine Chamoux — Bêta 2.0
   Ajustements de finition : header centré, cartes de méthode, filtres,
   parallaxe modéré, footer traditionnel et responsive renforcé. */

:root{
  --cc-header-h:108px;
  --cc-card-radius:22px;
  --cc-card-shadow:0 24px 70px rgba(36,37,31,.12);
  --cc-card-shadow-hover:0 34px 90px rgba(36,37,31,.2);
}

/* Typographies : piles locales, sans dépendance externe. */
body{font-family:"Open Sans","Segoe UI",Arial,sans-serif}
h1,h2,h3,h4,h5,h6,.cc-display{font-family:"DM Sans","Avenir Next","Segoe UI",Arial,sans-serif}
em,.cc-quote{font-family:"Tenor Sans",Georgia,"Times New Roman",serif}

/* HEADER PREMIUM CENTRÉ */
.cc-header.cc-header--centered{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:clamp(22px,3vw,58px);
  height:var(--cc-header-h);
  padding:0 clamp(24px,3.4vw,64px);
  background:linear-gradient(to bottom,rgba(28,30,23,.58),rgba(28,30,23,.06));
  border-bottom:1px solid rgba(255,247,238,.18);
  backdrop-filter:blur(7px);
}
.cc-header.cc-header--centered.is-scrolled{
  height:88px;
  padding-block:0;
  background:rgba(255,247,238,.97);
  border-color:rgba(68,73,49,.13);
  box-shadow:0 14px 44px rgba(36,37,31,.08);
  backdrop-filter:blur(22px);
}
.cc-brand{
  position:relative;
  justify-self:center;
  width:clamp(290px,25vw,420px);
  height:82px;
  display:grid;
  place-items:center;
  z-index:2;
}
.cc-brand img{position:absolute;inset:50% auto auto 50%;width:100%;max-height:78px;object-fit:contain;transform:translate(-50%,-50%);transition:opacity .35s,transform .5s var(--cc-ease)}
.cc-header.is-scrolled .cc-brand{height:70px;width:clamp(270px,22vw,380px)}
.cc-header.is-scrolled .cc-brand img{max-height:62px}
.cc-brand:hover img{transform:translate(-50%,-50%) scale(1.015)}
.cc-desktop-nav{display:flex;align-items:center;gap:clamp(18px,1.9vw,34px);font:600 12px/1.2 "DM Sans","Segoe UI",Arial,sans-serif;letter-spacing:.025em}
.cc-desktop-nav--left{justify-content:flex-end}.cc-desktop-nav--right{justify-content:flex-end}
.cc-header-actions{justify-self:end;display:flex;align-items:center;gap:clamp(20px,2vw,34px)}
.cc-desktop-nav a{position:relative;padding:16px 0;white-space:nowrap}
.cc-desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:8px;height:1px;background:currentColor;transition:right .36s var(--cc-ease)}
.cc-desktop-nav a:hover:after,.cc-desktop-nav a:focus-visible:after,.cc-desktop-nav a[aria-current="page"]:after{right:0}
.cc-header-contact{min-height:50px;padding-inline:22px;white-space:nowrap}
.cc-menu-toggle{justify-self:end}
.cc-menu-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin-top:24px;min-height:52px;padding:0 22px;border-radius:999px;background:var(--cc-brun);color:var(--cc-lin);font:600 13px/1 "DM Sans","Segoe UI",Arial,sans-serif}

/* HÉROS : PARALLAXE LÉGER ET TEXTES PLUS CALMES */
.cc-split-hero,.cc-blog-hero,.cc-article-hero,.cc-contact-scene,.cc-full-image{overflow:hidden;isolation:isolate}
.cc-split-hero__media img,.cc-blog-hero__media img,.cc-contact-scene__media img,.cc-full-image img,.cc-article-hero img{
  --cc-parallax-y:0px;
  transform:translate3d(0,var(--cc-parallax-y),0) scale(1.09);
  will-change:transform;
  transition:transform .12s linear;
  animation:none!important;
}
.cc-split-hero__copy h1,.cc-blog-hero h1{font-size:clamp(42px,5.2vw,74px);line-height:1.02;max-width:950px;text-wrap:balance}
.cc-split-hero__copy .cc-lead,.cc-blog-hero .cc-lead{max-width:680px;font-size:clamp(16px,1.22vw,19px)}
.cc-word{will-change:opacity,transform,filter}

/* MÉTHODE : CARDS PREMIUM, PLUS DE LISTE STATIQUE */
.cc-method{
  padding:clamp(90px,11vw,150px) var(--cc-gutter);
  background:var(--cc-lin2)!important;
  color:var(--cc-encre)!important;
}
.cc-method__grid{
  width:min(calc(100% - (var(--cc-gutter)*2)),var(--cc-wide));
  margin:auto;
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(44px,6vw,80px);
}
.cc-method__head{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);align-items:end;gap:clamp(40px,8vw,130px)}
.cc-method__head h2{position:static!important;top:auto!important;margin:0;color:var(--cc-sapin)!important;font-size:clamp(38px,4.6vw,64px);line-height:1.04}
.cc-method__head em{color:var(--cc-brun)!important}.cc-method__head .cc-eyebrow{color:var(--cc-brun)!important}
.cc-method__steps,.cc-method-grid{
  border:0!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  margin:0!important;
}
.cc-method-step,.cc-method-item{
  position:relative;
  display:flex!important;
  flex-direction:column;
  justify-content:space-between;
  gap:52px!important;
  min-height:350px;
  padding:30px!important;
  border:1px solid rgba(68,73,49,.16)!important;
  border-radius:var(--cc-card-radius);
  background:rgba(255,247,238,.86);
  color:var(--cc-encre);
  overflow:hidden;
  box-shadow:0 1px 0 rgba(255,255,255,.65) inset;
  transition:transform .55s var(--cc-ease),background .45s,border-color .45s,box-shadow .55s var(--cc-ease),color .45s;
}
.cc-method-step:before,.cc-method-item:before{content:"";position:absolute;width:170px;height:170px;right:-80px;top:-80px;border-radius:50%;border:1px solid rgba(142,66,14,.18);transition:transform .65s var(--cc-ease),background .45s}
.cc-method-step:after,.cc-method-item:after{content:"↗";position:absolute;right:28px;bottom:25px;width:42px;height:42px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:16px;opacity:.6;transition:transform .4s var(--cc-ease),background .35s,color .35s}
.cc-method-step>span,.cc-method-item .cc-number{font:600 11px/1 "DM Sans","Segoe UI",Arial,sans-serif;letter-spacing:.14em;color:var(--cc-brun)!important}
.cc-method-step__copy,.cc-method-item{position:relative;z-index:1}
.cc-method-step h3,.cc-method-item h3{margin:0 0 13px;color:var(--cc-sapin)!important;font-size:clamp(24px,2.2vw,34px);line-height:1.08}
.cc-method-step p,.cc-method-item p{margin:0;max-width:31ch;color:rgba(36,37,31,.72)!important;font-size:14px;line-height:1.65}
.cc-method-step:hover,.cc-method-item:hover{transform:translateY(-12px);background:var(--cc-sapin);border-color:var(--cc-sapin)!important;color:var(--cc-lin);box-shadow:var(--cc-card-shadow-hover)}
.cc-method-step:hover h3,.cc-method-item:hover h3,.cc-method-step:hover p,.cc-method-item:hover p,.cc-method-step:hover>span,.cc-method-item:hover .cc-number{color:var(--cc-lin)!important}
.cc-method-step:hover:before,.cc-method-item:hover:before{transform:scale(1.35);background:rgba(255,247,238,.05)}
.cc-method-step:hover:after,.cc-method-item:hover:after{transform:translate(4px,-4px);background:var(--cc-lin);color:var(--cc-sapin)}
.cc-method__cta{display:flex;justify-content:flex-end;margin-top:4px}

/* Les sections narratives similaires deviennent aussi des cards. */
.cc-story,.cc-fees-stage{background:var(--cc-white);padding-block:clamp(90px,10vw,145px)}
.cc-story__grid,.cc-fees-grid{grid-template-columns:1fr!important;gap:48px!important}
.cc-story__sticky,.cc-fees-sticky{position:relative!important;top:auto!important;max-width:850px}
.cc-story__sticky h2,.cc-fees-sticky h2{font-size:clamp(38px,4.8vw,66px)}
.cc-story__chapters,.cc-fees-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;border:0!important}
.cc-story-item,.cc-fee-panel{min-height:280px!important;padding:34px!important;border:1px solid var(--cc-border)!important;border-radius:var(--cc-card-radius);background:var(--cc-lin);display:flex;flex-direction:column;justify-content:flex-end;transition:transform .45s var(--cc-ease),box-shadow .45s,background .35s}
.cc-story-item:hover,.cc-fee-panel:hover{transform:translateY(-8px);box-shadow:var(--cc-card-shadow);background:var(--cc-lin2)}
.cc-fee-panel h3,.cc-story-item h3{font-size:clamp(26px,3vw,42px)}

/* ACTUALITÉS : FILTRES CATÉGORIES */
.cc-filter-bar{
  width:min(100%,var(--cc-wide));
  margin:0 auto 42px;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.cc-filter-bar button{
  appearance:none;
  border:1px solid rgba(68,73,49,.28);
  border-radius:999px;
  min-height:44px;
  padding:0 18px;
  background:transparent;
  color:var(--cc-sapin);
  font:600 11px/1 "DM Sans","Segoe UI",Arial,sans-serif;
  letter-spacing:.035em;
  cursor:pointer;
  transition:background .3s,color .3s,border-color .3s,transform .3s var(--cc-ease);
}
.cc-filter-bar button:hover,.cc-filter-bar button:focus-visible{transform:translateY(-2px);border-color:var(--cc-brun)}
.cc-filter-bar button.is-active{background:var(--cc-sapin);border-color:var(--cc-sapin);color:var(--cc-lin)}
.cc-gallery-grid>li{transition:opacity .32s,transform .42s var(--cc-ease)}
.cc-gallery-grid>li.is-filtered-out{display:none!important}
.cc-gallery-empty{display:none;padding:60px 20px;text-align:center;color:var(--cc-sapin)}
.cc-gallery-empty.is-visible{display:block}

/* BOUTONS : PLUS PRÉSENTS ET COHÉRENTS */
.cc-btn,.cc-header-contact,.cc-scene-link,.cc-round-link,.cc-arrow-link,.wp-block-button__link,.cc-contact-form button{
  position:relative;
  overflow:hidden;
}
.cc-btn:before,.cc-header-contact:before,.cc-scene-link:before,.wp-block-button__link:before,.cc-contact-form button:before{content:"";position:absolute;inset:0;transform:translateX(-105%);background:rgba(255,255,255,.14);transition:transform .55s var(--cc-ease);pointer-events:none}
.cc-btn:hover:before,.cc-header-contact:hover:before,.cc-scene-link:hover:before,.wp-block-button__link:hover:before,.cc-contact-form button:hover:before{transform:translateX(0)}
.cc-arrow-link span,.cc-round-link span,.cc-btn span,.cc-header-contact span,.cc-scene-link span{transition:transform .35s var(--cc-ease)}
.cc-arrow-link:hover span,.cc-round-link:hover span,.cc-btn:hover span,.cc-header-contact:hover span,.cc-scene-link:hover span{transform:translate(4px,-4px)}

/* FOOTER TRADITIONNEL : ALIGNEMENTS ET LISIBILITÉ */
.cc-footer--traditional{background:var(--cc-sapin2);padding-top:76px}
.cc-footer--traditional .cc-footer-top{grid-template-columns:1.5fr .75fr 1fr 1fr;gap:clamp(34px,4.5vw,72px)}
.cc-footer-brand img{width:min(390px,100%);max-height:104px;object-fit:contain;object-position:left center;margin-bottom:26px}
.cc-footer-contact address{font-style:normal;font-size:14px;line-height:1.7;color:rgba(255,247,238,.72)}
.cc-footer-bottom [data-cc-cookie-settings]{opacity:.7}

/* FOCUS & ACCESSIBILITÉ */
.cc-header a:focus-visible,.cc-header button:focus-visible,.cc-footer a:focus-visible,.cc-filter-bar button:focus-visible,.cc-method-step:focus-within{outline:2px solid var(--cc-ocre);outline-offset:4px}

@media(max-width:1280px){
  .cc-header.cc-header--centered{grid-template-columns:1fr auto;gap:20px;padding-inline:24px}
  .cc-desktop-nav,.cc-header-actions{display:none}
  .cc-menu-toggle{display:flex}
  .cc-menu{display:block}
  .cc-brand{justify-self:start;width:clamp(285px,38vw,390px)}
  .cc-method__steps,.cc-method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cc-footer--traditional .cc-footer-top{grid-template-columns:1.2fr 1fr 1fr}
  .cc-footer-column:nth-child(3){display:none}
}

@media(max-width:920px){
  :root{--cc-header-h:90px}
  .cc-header.cc-header--centered{height:90px}
  .cc-header.cc-header--centered.is-scrolled{height:78px}
  .cc-brand,.cc-header.is-scrolled .cc-brand{width:clamp(245px,52vw,340px);height:68px}
  .cc-brand img,.cc-header.is-scrolled .cc-brand img{max-height:60px}
  .cc-method__head{grid-template-columns:1fr;gap:20px}
  .cc-story__chapters,.cc-fees-panels{grid-template-columns:1fr 1fr}
  .cc-footer--traditional .cc-footer-top{grid-template-columns:1fr 1fr}.cc-footer-brand{grid-column:1/-1}
}

@media(max-width:620px){
  :root{--cc-header-h:78px;--cc-card-radius:18px}
  .cc-header.cc-header--centered{height:78px;padding-inline:16px;background:linear-gradient(to bottom,rgba(28,30,23,.65),rgba(28,30,23,.04))}
  .cc-header.cc-header--centered.is-scrolled{height:72px}
  .cc-brand,.cc-header.is-scrolled .cc-brand{width:min(240px,68vw);height:58px}
  .cc-brand img,.cc-header.is-scrolled .cc-brand img{max-height:50px}
  .cc-split-hero__copy h1,.cc-blog-hero h1{font-size:clamp(38px,10.8vw,52px)}
  .cc-split-hero__media img,.cc-blog-hero__media img,.cc-contact-scene__media img,.cc-full-image img,.cc-article-hero img{transform:scale(1.035)!important}
  .cc-method{padding-inline:0!important}
  .cc-method__grid{width:100%;padding-inline:20px}
  .cc-method__steps,.cc-method-grid{display:flex!important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 26px;margin-inline:-20px!important;scrollbar-width:none}
  .cc-method__steps::-webkit-scrollbar,.cc-method-grid::-webkit-scrollbar{display:none}
  .cc-method-step,.cc-method-item{flex:0 0:min(82vw,330px);scroll-snap-align:center;min-height:330px}
  .cc-story__chapters,.cc-fees-panels{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:18px;scrollbar-width:none}
  .cc-story-item,.cc-fee-panel{flex:0 0:min(84vw,360px);scroll-snap-align:center;min-height:300px!important}
  .cc-filter-bar{flex-wrap:nowrap;overflow-x:auto;padding:0 20px 10px;margin-inline:-20px;width:calc(100% + 40px);scrollbar-width:none}.cc-filter-bar::-webkit-scrollbar{display:none}.cc-filter-bar button{flex:0 0 auto}
  .cc-footer--traditional{padding-inline:20px}.cc-footer--traditional .cc-footer-top{grid-template-columns:1fr}.cc-footer-brand{grid-column:auto}.cc-footer-column:nth-child(3){display:block}.cc-footer-brand img{width:min(330px,100%)}
}

@media(prefers-reduced-motion:reduce){
  .cc-split-hero__media img,.cc-blog-hero__media img,.cc-contact-scene__media img,.cc-full-image img,.cc-article-hero img{transform:none!important;transition:none!important}
  .cc-method-step,.cc-method-item,.cc-story-item,.cc-fee-panel{transition:none}
}

@media(pointer:fine) and (prefers-reduced-motion:no-preference){
  .cc-method-step,.cc-method-item,.cc-story-item,.cc-fee-panel{transform:perspective(900px) rotateX(var(--cc-card-rx,0deg)) rotateY(var(--cc-card-ry,0deg)) translateY(0)}
  .cc-method-step:hover,.cc-method-item:hover{transform:perspective(900px) rotateX(var(--cc-card-rx,0deg)) rotateY(var(--cc-card-ry,0deg)) translateY(-12px)}
  .cc-story-item:hover,.cc-fee-panel:hover{transform:perspective(900px) rotateX(var(--cc-card-rx,0deg)) rotateY(var(--cc-card-ry,0deg)) translateY(-8px)}
}
