/* ==========================================================================
   gc-blocks — design system
   Aucune couleur ni police en dur : tout vient des variables du kit actif (:root).
   ========================================================================== */

/* ---------- valeurs de repli (si aucun kit n'est chargé) ---------- */
:root{
  --gc-bg:#fff; --gc-surface:#f5f5f5; --gc-ink:#111; --gc-ink-soft:#555; --gc-line:rgba(0,0,0,.14);
  --gc-accent:#333; --gc-accent-ink:#fff;
  --gc-invert-bg:#111; --gc-invert-ink:#fff; --gc-invert-em:#bbb; --gc-invert-soft:rgba(255,255,255,.65); --gc-invert-line:rgba(255,255,255,.16);
  --gc-font-display:Georgia,serif; --gc-font-body:system-ui,sans-serif;
  --gc-display-weight:400; --gc-display-tracking:-0.02em; --gc-display-leading:1;
  --gc-em-style:italic; --gc-em-weight:inherit; --gc-em-color:var(--gc-accent);
  --gc-eyebrow-tracking:.18em; --gc-eyebrow-case:uppercase; --gc-eyebrow-size:.74rem; --gc-body-weight:400; --gc-scale:.66; --gc-radius:4px; --gc-radius-lg:8px; --gc-btn-radius:0; --gc-btn-case:uppercase; --gc-btn-tracking:.12em;
  --gc-card-bg:transparent; --gc-card-border:1px solid var(--gc-line); --gc-shadow:none;
  --gc-section-y:clamp(4.5rem,10vw,9rem); --gc-container:1280px; --gc-gutter:clamp(1.25rem,4vw,3rem); --gc-grain:0; --gc-motion:1;
  --gc-ease:cubic-bezier(.2,.7,.15,1);
}
html{overflow-x:clip}

/* ---------- structure commune ---------- */
.gc{
  position:relative; isolation:isolate; overflow:hidden;
  width:100vw; margin-left:calc(50% - 50vw); margin-block:0;
  padding-block:var(--gc-section-y);
  background:var(--gc-bg); color:var(--gc-ink);
  font-family:var(--gc-font-body); font-weight:var(--gc-body-weight); font-size:1rem; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.gc *,.gc *::before,.gc *::after{box-sizing:border-box}
/* Remise à zéro : priorité d'une classe (.gc + :where) → bat les styles génériques du thème (ol, dd, blockquote…),
   mais les règles des blocs, déclarées plus bas avec au moins la même priorité, l'emportent toujours. */
.gc :where(p,h1,h2,h3,h4,dl,dt,dd,ol,ul,li,figure,blockquote,figcaption){margin:0; padding:0}
.gc :where(ol,ul){list-style:none}
.gc :where(dt){font-weight:inherit}
.gc :where(blockquote){border:0; background:none; color:inherit; font-style:normal; quotes:none}
.gc :where(blockquote)::before,.gc :where(blockquote)::after{content:none}
.gc :where(sup){position:static; top:auto; line-height:1}
/* couleur des titres : celle du kit, jamais celle imposée par le thème (ex : Astra) */
.gc.gc :is(h1,h2,h3,h4){color:var(--gc-ink)}
/* listes des blocs : neutralise les retraits ajoutés par les thèmes (ex : .entry-content ol de Astra) */
.gc .gc-features__list,.gc .gc-steps__list,.gc .gc-stats__list,.gc .gc-hero__facts{margin-left:0; padding-left:0; list-style:none}
.gc-wrap{position:relative; z-index:1; width:min(100% - 2*var(--gc-gutter), var(--gc-container)); margin-inline:auto}
/* Dans l'éditeur, pas de pleine largeur forcée (évite un débordement horizontal) */
.editor-styles-wrapper .gc{width:auto; margin-left:0}

/* Sections contrastées */
.gc-invert{
  --gc-bg:var(--gc-invert-bg); --gc-ink:var(--gc-invert-ink); --gc-ink-soft:var(--gc-invert-soft); --gc-line:var(--gc-invert-line);
  --gc-accent:var(--gc-invert-em); --gc-em-color:var(--gc-invert-em);
  --gc-btn-bg:var(--gc-invert-ink); --gc-btn-ink:var(--gc-invert-bg);
}

/* Grain papier (désactivé si le kit met --gc-grain à 0) */
.gc-grain{
  position:absolute; inset:0; z-index:0; pointer-events:none; opacity:calc(var(--gc-grain) * .55); mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- typographie ---------- */
.gc-display{
  font-family:var(--gc-font-display); font-weight:var(--gc-display-weight);
  letter-spacing:var(--gc-display-tracking); line-height:var(--gc-display-leading);
  font-optical-sizing:auto; text-wrap:balance; color:var(--gc-ink);
}
.gc-display em{font-style:var(--gc-em-style); font-weight:var(--gc-em-weight); color:var(--gc-em-color)}
.gc-h2{font-size:clamp(calc(2.3rem * var(--gc-scale)),calc(5vw * var(--gc-scale)),calc(4.6rem * var(--gc-scale)))}
.gc-eyebrow{
  display:flex; align-items:center; gap:.9em; margin-bottom:clamp(1.5rem,3vw,2.25rem);
  font-size:var(--gc-eyebrow-size); font-weight:500; text-transform:var(--gc-eyebrow-case); letter-spacing:var(--gc-eyebrow-tracking); color:var(--gc-ink-soft);
}
.gc-eyebrow__rule{flex:none; width:2.75rem; height:1px; background:currentColor; opacity:.55}
.gc-lead{font-size:clamp(1.05rem,1.25vw,1.22rem); line-height:1.65; color:var(--gc-ink-soft); max-width:40ch}

/* ---------- boutons ---------- */
.gc-actions{display:flex; flex-wrap:wrap; gap:.75rem}
.gc-btn{
  display:inline-flex; align-items:center; gap:.85em; padding:1.1em 1.7em;
  font:500 var(--gc-btn-size,.8rem)/1 var(--gc-font-body); letter-spacing:var(--gc-btn-tracking); text-transform:var(--gc-btn-case);
  border-radius:var(--gc-btn-radius); text-decoration:none !important; border:1px solid transparent;
  transition:background .35s var(--gc-ease), color .35s var(--gc-ease), border-color .35s var(--gc-ease), transform .35s var(--gc-ease);
}
.gc-btn i{font-style:normal; transition:transform .35s var(--gc-ease)}
.gc-btn:hover i{transform:translateX(5px)}
.gc-btn--primary{background:var(--gc-btn-bg,var(--gc-ink)); color:var(--gc-btn-ink,var(--gc-bg)) !important}
.gc-btn--primary:hover{background:var(--gc-accent); color:var(--gc-accent-ink) !important}
.gc-btn--ghost{border-color:var(--gc-line); color:var(--gc-ink) !important}
.gc-btn--ghost:hover{border-color:var(--gc-ink)}

/* ---------- motif « sillage » ---------- */
.gc-art{position:absolute; inset:0; color:var(--gc-accent); overflow:hidden}
.gc-art svg{width:100%; height:100%; display:block}
.gc-art g{transform-origin:21% 63%; animation:gc-drift 16s ease-in-out infinite alternate}
.gc-art__dot{fill:currentColor}
@keyframes gc-drift{to{transform:scale(1.06) rotate(-3deg)}}

/* ==========================================================================
   HERO
   ========================================================================== */
.gc-hero{padding-top:clamp(7rem,15vw,12.5rem); padding-bottom:clamp(3rem,6vw,5rem)}
.gc-hero__title{font-size:clamp(calc(3.1rem * var(--gc-scale)),calc(8.4vw * var(--gc-scale)),calc(8.6rem * var(--gc-scale))); max-width:19ch}
.gc-hero__foot{
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:2rem 3rem;
  margin-top:clamp(2.5rem,5vw,4.5rem); padding-top:2rem; border-top:1px solid var(--gc-line);
}
.gc-hero__facts{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  margin-top:clamp(3.5rem,8vw,6.5rem); border-top:1px solid var(--gc-line);
}
.gc-hero__facts > div{padding:1.5rem 1.5rem 0 0}
.gc-hero__facts > div + div{padding-left:1.5rem; border-left:1px solid var(--gc-line)}
.gc-hero__facts dt{font-family:var(--gc-font-display); font-weight:var(--gc-display-weight); font-size:clamp(calc(1.8rem * var(--gc-scale)),calc(3vw * var(--gc-scale)),calc(2.7rem * var(--gc-scale))); letter-spacing:var(--gc-display-tracking); line-height:1}
.gc-hero__facts dd{margin-top:.6rem; font-size:.8rem; color:var(--gc-ink-soft); max-width:24ch}

/* variante : texte + visuel */
.gc-hero.gc-v-split .gc-hero__inner{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(2rem,5vw,5rem); align-items:center}
.gc-hero.gc-v-split .gc-hero__title{font-size:clamp(calc(2.9rem * var(--gc-scale)),calc(6.2vw * var(--gc-scale)),calc(6.6rem * var(--gc-scale)))}
.gc-hero.gc-v-split .gc-hero__foot{grid-template-columns:1fr}
.gc-hero__media{position:relative; aspect-ratio:4/5; border-radius:var(--gc-radius-lg); overflow:hidden; background:var(--gc-surface)}
.gc-hero__media img{width:100%; height:100%; object-fit:cover; display:block}

/* variante : plein écran */
.gc-hero.gc-v-immersive{min-height:min(96svh,1000px); display:flex; flex-direction:column; justify-content:flex-end}
.gc-hero__bg{position:absolute; inset:0; z-index:0}
.gc-hero__bg img{width:100%; height:100%; object-fit:cover}
/* Texte sur image : toujours clair, sur un voile sombre neutre (jamais la couleur « contrastée » du kit) */
.gc-hero.gc-v-immersive{
  --gc-bg:#0c0c0c; --gc-ink:#fff; --gc-ink-soft:rgba(255,255,255,.82); --gc-line:rgba(255,255,255,.28);
  --gc-accent:var(--gc-onimage-em,#fff); --gc-em-color:var(--gc-onimage-em,#fff); --gc-btn-bg:#fff; --gc-btn-ink:#111;
}
.gc-hero.gc-v-immersive .gc-hero__title,.gc-hero.gc-v-immersive .gc-lead{text-shadow:0 1px 30px rgba(0,0,0,.25)}
.gc-hero__bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.18) 35%,rgba(0,0,0,.72) 100%)}

/* ==========================================================================
   MANIFESTE
   ========================================================================== */
.gc .gc-statement__text,.gc .gc-testimonials__quote{border:0; padding:0; margin:0; background:none; color:var(--gc-ink)}
.gc .gc-statement__text{font-style:normal}
.gc-statement__text{font-size:clamp(calc(1.9rem * var(--gc-scale)),calc(3.7vw * var(--gc-scale)),calc(3.6rem * var(--gc-scale))); line-height:1.14; max-width:22ch}
.gc-statement.gc-v-offset .gc-statement__inner{padding-left:clamp(0rem,14vw,14rem)}
.gc-statement.gc-v-center .gc-statement__inner{text-align:center}
.gc-statement.gc-v-center .gc-statement__text{margin-inline:auto}
.gc-statement.gc-v-center .gc-eyebrow,.gc-statement.gc-v-center .gc-statement__sig{justify-content:center}
.gc-statement__sig{display:flex; align-items:center; gap:1rem; margin-top:2.5rem; font-size:.85rem; color:var(--gc-ink-soft)}
.gc-statement__sig span{width:2.75rem; height:1px; background:var(--gc-accent)}

/* ==========================================================================
   CHIFFRES CLÉS
   ========================================================================== */
.gc-stats{padding-block:clamp(4rem,8vw,7rem)}
.gc-stats__list{display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.gc-stats__item{padding:0 clamp(1rem,2.5vw,2.5rem)}
.gc-stats__item:first-child{padding-left:0}
.gc-stats__item + .gc-stats__item{border-left:1px solid var(--gc-line)}
.gc-stats__item dt{font-size:clamp(calc(3rem * var(--gc-scale)),calc(6.6vw * var(--gc-scale)),calc(6.4rem * var(--gc-scale))); line-height:.95; white-space:nowrap}
.gc-stats__item sup{position:relative; top:.12em; font-size:.38em; vertical-align:top; margin-left:.08em; color:var(--gc-accent); font-style:var(--gc-em-style)}
.gc-stats__item dd{margin-top:1.1rem; font-size:.88rem; color:var(--gc-ink-soft); max-width:22ch}
.gc-stats.gc-v-grid .gc-stats__list{grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--gc-line); border:1px solid var(--gc-line); border-radius:var(--gc-radius-lg); overflow:hidden}
.gc-stats.gc-v-grid .gc-stats__item{padding:clamp(1.75rem,4vw,3.25rem); background:var(--gc-bg); border:0}

/* ==========================================================================
   EN-TÊTE DE SECTION (expertises, étapes)
   ========================================================================== */
.gc-head{
  display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); grid-template-areas:"eb eb" "ti le";
  gap:0 clamp(2rem,6vw,6rem); align-items:end; margin-bottom:clamp(3rem,6vw,5.5rem);
}
.gc-head .gc-eyebrow{grid-area:eb} .gc-head .gc-h2{grid-area:ti} .gc-head .gc-lead{grid-area:le; justify-self:end}

/* ==========================================================================
   EXPERTISES
   ========================================================================== */
/* liste éditoriale */
.gc-features.gc-v-list .gc-features__list{border-bottom:1px solid var(--gc-line)}
.gc-features.gc-v-list .gc-features__item{
  position:relative; display:grid; grid-template-columns:5.5rem minmax(0,1fr) minmax(0,1.15fr) 11rem 2rem; gap:1.5rem 2.5rem; align-items:baseline;
  padding:clamp(1.6rem,3vw,2.4rem) 0; border-top:1px solid var(--gc-line); transition:padding .5s var(--gc-ease);
}
.gc-features.gc-v-list .gc-features__item::before{content:""; position:absolute; left:0; top:-1px; height:1px; width:0; background:var(--gc-accent); transition:width .7s var(--gc-ease)}
.gc-features.gc-v-list .gc-features__item:hover::before{width:100%}
.gc-features.gc-v-list .gc-features__item:hover{padding-left:.75rem}
.gc-features__num{font:500 .8rem/1 var(--gc-font-body); letter-spacing:.08em; color:var(--gc-ink-soft); font-variant-numeric:tabular-nums}
.gc-features__title{font-family:var(--gc-font-display); font-weight:var(--gc-display-weight); font-size:clamp(calc(1.5rem * var(--gc-scale)),calc(2.5vw * var(--gc-scale)),calc(2.3rem * var(--gc-scale))); letter-spacing:var(--gc-display-tracking); line-height:1.05; color:var(--gc-ink)}
.gc-features__text{color:var(--gc-ink-soft); max-width:46ch}
.gc-features__tag{text-align:right; font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; color:var(--gc-ink-soft); white-space:nowrap}
.gc-features__arrow{font-size:1.2rem; color:var(--gc-accent); opacity:0; transform:translateX(-8px); transition:all .45s var(--gc-ease)}
.gc-features__item:hover .gc-features__arrow{opacity:1; transform:none}

/* cartes et mosaïque */
.gc-features.gc-v-cards .gc-features__list,.gc-features.gc-v-bento .gc-features__list{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.75rem,1.5vw,1.25rem)}
.gc-features.gc-v-bento .gc-features__list{grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr)); grid-auto-rows:minmax(230px,auto)}
.gc-features.gc-v-cards .gc-features__item,.gc-features.gc-v-bento .gc-features__item{
  position:relative; display:flex; flex-direction:column; gap:1rem; padding:clamp(1.6rem,2.5vw,2.4rem);
  background:var(--gc-card-bg); border:var(--gc-card-border); border-radius:var(--gc-radius-lg); box-shadow:var(--gc-shadow);
  transition:transform .5s var(--gc-ease), border-color .5s var(--gc-ease);
}
.gc-features.gc-v-cards .gc-features__item:hover,.gc-features.gc-v-bento .gc-features__item:hover{transform:translateY(-4px); border-color:var(--gc-accent)}
.gc-features.gc-v-cards .gc-features__tag,.gc-features.gc-v-bento .gc-features__tag{margin-top:auto; padding-top:1rem; text-align:left}
.gc-features.gc-v-cards .gc-features__arrow,.gc-features.gc-v-bento .gc-features__arrow{position:absolute; top:1.6rem; right:1.6rem}
.gc-features.gc-v-bento .gc-features__item:first-child{grid-row:span 2; justify-content:flex-end; background:var(--gc-invert-bg); color:var(--gc-invert-ink); border-color:transparent}
.gc-features.gc-v-bento .gc-features__item:first-child .gc-features__title{font-size:clamp(calc(2rem * var(--gc-scale)),calc(3.6vw * var(--gc-scale)),calc(3.4rem * var(--gc-scale))); color:var(--gc-invert-ink)}
.gc-features.gc-v-bento .gc-features__item:first-child .gc-features__text,.gc-features.gc-v-bento .gc-features__item:first-child .gc-features__num,.gc-features.gc-v-bento .gc-features__item:first-child .gc-features__tag{color:var(--gc-invert-soft)}

/* ==========================================================================
   ÉTAPES
   ========================================================================== */
.gc-steps{background:var(--gc-surface)}
.gc-steps.gc-v-timeline .gc-steps__list{position:relative; display:grid; grid-template-columns:repeat(var(--n),minmax(0,1fr)); gap:clamp(1rem,2.5vw,2.5rem)}
.gc-steps.gc-v-timeline .gc-steps__list::before{content:""; position:absolute; left:0; right:0; top:7px; height:1px; background:var(--gc-line)}
.gc-steps__item{position:relative}
.gc-steps__node{position:relative; display:block; width:15px; height:15px; margin-bottom:2.2rem; border-radius:50%; background:var(--gc-surface); border:1px solid var(--gc-ink)}
.gc-steps__node i{display:none}
.gc-steps__num{display:block; margin-bottom:.9rem; font:500 .78rem/1 var(--gc-font-body); letter-spacing:.14em; color:var(--gc-ink-soft); font-variant-numeric:tabular-nums}
.gc-steps__title{font-family:var(--gc-font-display); font-weight:var(--gc-display-weight); font-size:clamp(calc(1.45rem * var(--gc-scale)),calc(2.1vw * var(--gc-scale)),calc(2rem * var(--gc-scale))); letter-spacing:var(--gc-display-tracking); line-height:1.05; margin-bottom:.8rem}
.gc-steps__text{font-size:.94rem; color:var(--gc-ink-soft); max-width:30ch}
.gc-steps__badge{display:inline-block; margin-top:1.1rem; padding:.45em .9em; border-radius:999px; font-size:.68rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; background:var(--gc-accent); color:var(--gc-accent-ink)}
/* étape « en continu » : ondes permanentes */
.gc-steps__item.is-continuous .gc-steps__node{background:var(--gc-accent); border-color:var(--gc-accent)}
.gc-steps__item.is-continuous .gc-steps__node i{display:block; position:absolute; inset:-1px; border-radius:50%; border:1px solid var(--gc-accent); animation:gc-wave 3.2s cubic-bezier(.2,.6,.3,1) infinite}
.gc-steps__item.is-continuous .gc-steps__node i:nth-child(2){animation-delay:1.07s}
.gc-steps__item.is-continuous .gc-steps__node i:nth-child(3){animation-delay:2.13s}
@keyframes gc-wave{0%{inset:-1px; opacity:.9} 100%{inset:-26px; opacity:0}}
.gc-steps.gc-v-timeline .gc-steps__item.is-continuous::after{content:""; position:absolute; top:7px; left:15px; right:calc(-1 * clamp(1rem,2.5vw,2.5rem)); height:1px; background:linear-gradient(90deg,var(--gc-accent),transparent)}
/* empilées */
.gc-steps.gc-v-stack .gc-steps__item{display:grid; grid-template-columns:minmax(0,.5fr) minmax(0,1fr) minmax(0,1.2fr); gap:2rem; align-items:baseline; padding:clamp(1.6rem,3vw,2.4rem) 0; border-top:1px solid var(--gc-line)}
.gc-steps.gc-v-stack .gc-steps__node{display:none}
.gc-steps.gc-v-stack .gc-steps__num{font-family:var(--gc-font-display); font-size:clamp(calc(2.6rem * var(--gc-scale)),calc(5vw * var(--gc-scale)),calc(4.6rem * var(--gc-scale))); letter-spacing:var(--gc-display-tracking); color:var(--gc-accent); margin:0}
.gc-steps.gc-v-stack .gc-steps__badge{grid-column:3; justify-self:start}

/* ==========================================================================
   TÉMOIGNAGES
   ========================================================================== */
.gc-testimonials.gc-v-single .gc-testimonials__item{position:relative; padding-left:clamp(0rem,9vw,9rem)}
.gc-testimonials__mark{display:block; margin-bottom:1.5rem; font-family:var(--gc-font-display); font-size:clamp(calc(6rem * var(--gc-scale)),calc(12vw * var(--gc-scale)),calc(11rem * var(--gc-scale))); line-height:.55; height:.45em; color:var(--gc-accent)}
.gc-testimonials.gc-v-single .gc-testimonials__quote{font-family:var(--gc-font-display); font-weight:var(--gc-display-weight); font-style:var(--gc-em-style); font-size:clamp(calc(1.8rem * var(--gc-scale)),calc(3.5vw * var(--gc-scale)),calc(3.3rem * var(--gc-scale))); letter-spacing:var(--gc-display-tracking); line-height:1.18; max-width:26ch; text-wrap:balance}
.gc-testimonials figcaption{display:flex; flex-direction:column; gap:.25rem; margin-top:2.25rem; padding-top:1.25rem; border-top:1px solid var(--gc-line); max-width:26rem}
.gc-testimonials figcaption strong{font-weight:600}
.gc-testimonials figcaption span{font-size:.86rem; color:var(--gc-ink-soft)}
.gc-testimonials.gc-v-grid .gc-testimonials__list{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.75rem,1.5vw,1.25rem)}
.gc-testimonials.gc-v-grid .gc-testimonials__item{display:flex; flex-direction:column; padding:clamp(1.6rem,2.5vw,2.4rem); background:var(--gc-card-bg); border:var(--gc-card-border); border-radius:var(--gc-radius-lg); box-shadow:var(--gc-shadow)}
.gc-testimonials.gc-v-grid .gc-testimonials__mark{font-size:4.5rem}
.gc-testimonials.gc-v-grid .gc-testimonials__quote{font-size:1.05rem; line-height:1.6; flex:1}

/* ==========================================================================
   APPEL À L'ACTION
   ========================================================================== */
.gc-cta__title{font-size:clamp(calc(3rem * var(--gc-scale)),calc(8.2vw * var(--gc-scale)),calc(8.2rem * var(--gc-scale))); max-width:18ch}
.gc-cta__foot{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem 3rem; align-items:end; margin-top:clamp(2.5rem,5vw,4rem); padding-top:2rem; border-top:1px solid var(--gc-line)}
.gc-cta__note{margin-top:.9rem; font-size:.78rem; color:var(--gc-ink-soft); text-align:right}
.gc-cta__art{position:absolute; inset:0 0 0 45%; z-index:0; opacity:.55}
.gc-cta.gc-v-split .gc-cta__title{max-width:11ch}

/* ==========================================================================
   APPARITIONS AU DÉFILEMENT (seulement si le script tourne : html.gc-anim)
   ========================================================================== */
html.gc-anim [data-gc-reveal]{opacity:0; transform:translateY(26px); transition:opacity 1s var(--gc-ease), transform 1.1s var(--gc-ease); transition-delay:calc(var(--d,0) * 110ms)}
html.gc-anim [data-gc-reveal].is-in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){
  html.gc-anim [data-gc-reveal]{opacity:1; transform:none; transition:none}
  .gc-art g,.gc-steps__node i{animation:none !important}
}

/* ---------- éditeur ---------- */
.gc-empty{padding:2rem; border:1px dashed #aaa; border-radius:6px; color:#666; font:14px/1.4 system-ui,sans-serif; text-align:center}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1024px){
  .gc-hero.gc-v-split .gc-hero__inner{grid-template-columns:1fr}
  .gc-hero__media{aspect-ratio:16/10}
  .gc-features.gc-v-list .gc-features__item{grid-template-columns:3.5rem minmax(0,1fr); gap:.75rem 1.25rem}
  .gc-features.gc-v-list .gc-features__text,.gc-features.gc-v-list .gc-features__tag{grid-column:2; text-align:left}
  .gc-features.gc-v-list .gc-features__arrow{display:none}
  .gc-features.gc-v-cards .gc-features__list,.gc-testimonials.gc-v-grid .gc-testimonials__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gc-features.gc-v-bento .gc-features__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gc-steps.gc-v-timeline .gc-steps__list{grid-template-columns:1fr; gap:2.25rem}
  .gc-steps.gc-v-timeline .gc-steps__list::before{left:7px; right:auto; top:0; bottom:0; width:1px; height:auto}
  .gc-steps.gc-v-timeline .gc-steps__item{padding-left:3rem}
  .gc-steps.gc-v-timeline .gc-steps__node{position:absolute; left:0; top:0; margin:0}
  .gc-steps.gc-v-timeline .gc-steps__item.is-continuous::after{display:none}
  .gc-stats__list{grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:2.5rem}
  .gc-stats__item:nth-child(odd){padding-left:0; border-left:0 !important}
}
@media (max-width:680px){
  .gc-head{grid-template-columns:1fr; grid-template-areas:"eb" "ti" "le"; gap:1.25rem}
  .gc-head .gc-lead{justify-self:start}
  .gc-hero__foot,.gc-cta__foot{grid-template-columns:1fr}
  .gc-cta__note{text-align:left}
  .gc-hero__facts{grid-template-columns:1fr 1fr}
  .gc-hero__facts > div:nth-child(odd){padding-left:0; border-left:0}
  .gc-features.gc-v-cards .gc-features__list,.gc-features.gc-v-bento .gc-features__list,.gc-testimonials.gc-v-grid .gc-testimonials__list{grid-template-columns:1fr}
  .gc-features.gc-v-bento .gc-features__item{grid-column:auto !important; grid-row:auto !important}
  .gc-statement.gc-v-offset .gc-statement__inner,.gc-testimonials.gc-v-single .gc-testimonials__item{padding-left:0}
  .gc-steps.gc-v-stack .gc-steps__item{grid-template-columns:1fr; gap:.5rem}
  .gc-steps.gc-v-stack .gc-steps__badge{grid-column:1}
  .gc-cta__art{inset:auto 0 0 0; height:50%}
}

/* ==========================================================================
   HABILLAGE DU THÈME (Astra) AUX COULEURS DU KIT
   ========================================================================== */
body[class*="gc-kit-"]{background:var(--gc-bg)}
body[class*="gc-kit-"] .ast-primary-header-bar,body[class*="gc-kit-"] .main-header-bar{background:var(--gc-bg) !important; border-bottom:1px solid var(--gc-line) !important}
body[class*="gc-kit-"] .site-title,body[class*="gc-kit-"] .site-title a{font-family:var(--gc-font-display) !important; font-weight:var(--gc-display-weight) !important; letter-spacing:var(--gc-display-tracking); color:var(--gc-ink) !important}
body[class*="gc-kit-"] .main-header-menu .menu-link{font-family:var(--gc-font-body) !important; font-size:.85rem !important; color:var(--gc-ink) !important}
body[class*="gc-kit-"] .main-header-menu .menu-link:hover{color:var(--gc-accent) !important}
body[class*="gc-kit-"] .site-footer,body[class*="gc-kit-"] .site-below-footer-wrap,body[class*="gc-kit-"] .ast-small-footer{background:var(--gc-bg) !important; color:var(--gc-ink-soft) !important; border-top:1px solid var(--gc-line)}
body[class*="gc-kit-"] .site-footer a{color:var(--gc-ink) !important}
body[class*="gc-kit-"] .site-header .ast-container,body[class*="gc-kit-"] .site-footer .ast-container{max-width:calc(var(--gc-container) + 2 * var(--gc-gutter)); padding-inline:var(--gc-gutter)}
body[class*="gc-kit-"] .ast-mobile-menu-trigger-minimal,body[class*="gc-kit-"] .menu-toggle{color:var(--gc-ink) !important; background:transparent !important}
body[class*="gc-kit-"] .ast-mobile-svg,body[class*="gc-kit-"] .menu-toggle svg{fill:var(--gc-ink) !important}
body[class*="gc-kit-"] .ast-header-break-point .main-header-menu,body[class*="gc-kit-"] .ast-mobile-header-content{background:var(--gc-bg) !important}
body[class*="gc-kit-"] .ast-footer-copyright{font-size:.8rem; letter-spacing:.02em}

/* ==========================================================================
   FONCTIONS DU SITE : loader d'entrée, en-tête minimal, menu latéral
   ========================================================================== */
/* --- loader --- */
.gc-loader{
  position:fixed; inset:0; z-index:100000; display:grid; place-items:center; background:var(--gc-bg); color:var(--gc-ink);
  transition:opacity .7s var(--gc-ease), visibility .7s;
  animation:gc-loader-safety .6s ease 2.5s forwards; /* sécurité : disparaît même sans JavaScript */
}
html.gc-noloader .gc-loader{display:none}
.gc-loader.is-done{opacity:0; visibility:hidden}
.gc-loader__inner{display:flex; flex-direction:column; align-items:center; gap:clamp(1.5rem,3vw,2.5rem); width:min(80vw,22rem)}
.gc-loader__name{font-family:var(--gc-font-display); font-weight:var(--gc-display-weight); letter-spacing:var(--gc-display-tracking); font-size:clamp(2rem,4vw,3rem); line-height:1; white-space:nowrap; animation:gc-loader-name 1.4s var(--gc-ease) both}
.gc-loader__bar{position:relative; display:block; width:100%; height:1px; background:var(--gc-line); overflow:hidden}
.gc-loader__bar i{position:absolute; inset:0; background:var(--gc-ink); transform:scaleX(0); transform-origin:left; animation:gc-loader-bar 1s cubic-bezier(.6,0,.2,1) .1s forwards}
@keyframes gc-loader-name{from{opacity:0; transform:scale(.92)} to{opacity:1; transform:none}}
@keyframes gc-loader-bar{to{transform:scaleX(1)}}
@keyframes gc-loader-safety{to{opacity:0; visibility:hidden}}

/* --- en-tête minimal (remplace celui du thème) --- */
body.gc-has-header #masthead,body.gc-has-header .site-header:not(.gc-header),body.gc-has-header #ast-mobile-header{display:none !important}
.gc-header{position:sticky; top:0; z-index:9990; background:var(--gc-bg); border-bottom:1px solid transparent; transition:border-color .4s var(--gc-ease)}
.admin-bar .gc-header{top:32px}
.gc-header.is-scrolled{border-bottom-color:var(--gc-line)}
.gc-header__inner{display:flex; align-items:center; gap:clamp(1.25rem,3vw,2.5rem); width:min(100% - 2*var(--gc-gutter,clamp(1.25rem,4vw,3rem)), var(--gc-container)); margin-inline:auto; height:clamp(64px,7vw,88px)}
.gc-brand{font-family:var(--gc-font-display); font-weight:var(--gc-display-weight); letter-spacing:var(--gc-display-tracking); font-size:clamp(1.5rem,2.2vw,2.1rem); line-height:1; color:var(--gc-ink) !important; text-decoration:none !important}

/* bouton à deux traits */
.gc-burger,.gc-panel__close{position:relative; width:30px; height:22px; padding:0; border:0; background:none !important; cursor:pointer; color:inherit; flex:none}
.gc-burger span,.gc-panel__close span{position:absolute; left:0; right:0; height:1px; background:currentColor; transition:transform .5s var(--gc-ease), top .5s var(--gc-ease)}
.gc-burger{color:var(--gc-ink)}
.gc-burger span:nth-child(1){top:8px} .gc-burger span:nth-child(2){top:13px}
.gc-burger:hover span:nth-child(2){transform:scaleX(.6); transform-origin:left}
.gc-panel__close span{top:11px}
.gc-panel__close span:nth-child(1){transform:rotate(45deg)} .gc-panel__close span:nth-child(2){transform:rotate(-45deg)}
.gc-burger:focus-visible,.gc-panel__close:focus-visible,.gc-panel a:focus-visible{outline:1px solid currentColor; outline-offset:6px}

/* panneau latéral noir */
.gc-panel{
  --gc-ink:#fff; --gc-ink-soft:rgba(255,255,255,.6);
  position:fixed; top:0; left:0; z-index:9999; display:flex; flex-direction:column;
  width:clamp(320px,40vw,620px); max-width:100vw; height:100vh; height:100dvh; overflow-y:auto;
  padding:0 var(--gc-gutter,clamp(1.25rem,4vw,3rem)) clamp(2rem,4vw,3rem);
  background:var(--gc-panel-bg,#0A0A0A); color:#fff;
  transform:translateX(-101%); visibility:hidden; transition:transform .75s cubic-bezier(.7,0,.2,1), visibility 0s .75s;
}
html.gc-menu-open .gc-panel{transform:none; visibility:visible; transition:transform .75s cubic-bezier(.7,0,.2,1)}
.admin-bar .gc-panel{top:32px; height:calc(100dvh - 32px)}
.gc-panel__top{display:flex; align-items:center; gap:clamp(1.25rem,3vw,2.5rem); height:clamp(64px,7vw,88px); flex:none}
.gc-panel .gc-brand{color:#fff !important}
.gc-panel__menu{list-style:none; margin:clamp(3rem,10vh,8rem) 0 0; padding:0}
.gc-panel__menu li{margin:0; overflow:hidden}
.gc-panel__menu a{
  display:inline-block; font-family:var(--gc-font-display); font-weight:var(--gc-display-weight); letter-spacing:var(--gc-display-tracking);
  font-size:clamp(1.9rem,2.9vw,2.8rem); line-height:1.32; color:#fff !important; text-decoration:none !important;
  transform:translateY(105%); transition:transform .8s var(--gc-ease), opacity .3s; opacity:.92;
}
.gc-panel__menu a:hover,.gc-panel__menu a:focus-visible{opacity:1; font-style:italic}
html.gc-menu-open .gc-panel__menu a{transform:none}
html.gc-menu-open .gc-panel__menu li:nth-child(1) a{transition-delay:.18s}
html.gc-menu-open .gc-panel__menu li:nth-child(2) a{transition-delay:.23s}
html.gc-menu-open .gc-panel__menu li:nth-child(3) a{transition-delay:.28s}
html.gc-menu-open .gc-panel__menu li:nth-child(4) a{transition-delay:.33s}
html.gc-menu-open .gc-panel__menu li:nth-child(5) a{transition-delay:.38s}
html.gc-menu-open .gc-panel__menu li:nth-child(n+6) a{transition-delay:.43s}
.gc-panel__legal{margin-top:auto; padding-top:3rem; font-size:.82rem; color:rgba(255,255,255,.7) !important; text-decoration:none !important}
.gc-panel__legal:hover{color:#fff !important}
.gc-panel__empty{margin-top:4rem; color:rgba(255,255,255,.7); font-size:.9rem}
.gc-panel-backdrop{position:fixed; inset:0; z-index:9998; background:rgba(0,0,0,.28); opacity:0; transition:opacity .6s var(--gc-ease)}
html.gc-menu-open .gc-panel-backdrop{opacity:1}
html.gc-menu-open{overflow:hidden}
@media (max-width:782px){ .admin-bar .gc-header{top:46px} .admin-bar .gc-panel{top:46px; height:calc(100dvh - 46px)} }
@media (max-width:600px){ .admin-bar .gc-header{top:0} .gc-panel{width:100vw} }
@media (prefers-reduced-motion:reduce){
  .gc-panel,.gc-panel__menu a,.gc-panel-backdrop{transition:none !important}
}

/* ==========================================================================
   TEXTE ÉDITORIAL
   ========================================================================== */
.gc-text.gc-v-stack .gc-text__inner{padding-left:clamp(0rem,6vw,6rem)}
.gc-text.gc-v-stack .gc-text__item{max-width:46rem}
.gc-text__item + .gc-text__item{margin-top:clamp(3rem,6vw,5rem)}
.gc .gc-text__title{font-family:var(--gc-font-display); font-weight:var(--gc-display-weight); letter-spacing:var(--gc-display-tracking); font-size:clamp(calc(1.7rem * var(--gc-scale)),calc(2.6vw * var(--gc-scale)),calc(2.4rem * var(--gc-scale))); line-height:1.1; margin-bottom:clamp(1.25rem,2vw,1.75rem)}
.gc-text__body{font-size:clamp(1.02rem,1.15vw,1.12rem); line-height:1.72; color:var(--gc-ink)}
.gc .gc-text__body p + p{margin-top:1em}
.gc-text__body a{color:inherit; text-decoration:underline; text-underline-offset:.2em; text-decoration-thickness:1px}
.gc-text.gc-v-split .gc-text__item{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:clamp(1.5rem,5vw,6rem); padding-top:clamp(2rem,4vw,3rem); border-top:1px solid var(--gc-line)}
.gc-text.gc-v-split .gc-text__item + .gc-text__item{margin-top:clamp(2rem,4vw,3rem)}
.gc-text.gc-v-split .gc-text__title{margin-bottom:0}
@media (max-width:680px){
  .gc-text.gc-v-stack .gc-text__inner{padding-left:0}
  .gc-text.gc-v-split .gc-text__item{grid-template-columns:1fr; gap:1rem}
}

/* --- en-tête posé sur le hero (page qui commence par un hero) --- */
body.gc-hero-first .gc-header{position:fixed; left:0; right:0; background:transparent; transition:background .45s var(--gc-ease), border-color .45s var(--gc-ease)}
body.gc-hero-first .gc-header.is-scrolled{background:var(--gc-bg)}
body.gc-hero-dark .gc-header:not(.is-scrolled){--gc-ink:#fff}
body.gc-hero-dark .gc-header:not(.is-scrolled) .gc-brand{text-shadow:0 1px 18px rgba(0,0,0,.25)}
/* logo */
.gc-brand__logo{display:block; height:clamp(28px,3vw,44px); width:auto; max-width:220px}
.gc-brand__logo--light{display:none}
body.gc-hero-dark .gc-header:not(.is-scrolled) .gc-brand__logo:not(.gc-brand__logo--light){display:none}
body.gc-hero-dark .gc-header:not(.is-scrolled) .gc-brand__logo--light{display:block}
body.gc-hero-dark .gc-header:not(.is-scrolled) .gc-brand--autolight .gc-brand__logo{display:block; filter:brightness(0) invert(1)}
.gc-panel .gc-brand--autolight .gc-brand__logo{filter:brightness(0) invert(1)}
.gc-panel .gc-brand__logo--light{display:block} .gc-panel .gc-brand__logo:not(.gc-brand__logo--light){display:none}
.gc-panel .gc-brand--autolight .gc-brand__logo{display:block}

/* bouton « retour en haut » d'Astra aux couleurs du kit */
body[class*="gc-kit-"] #ast-scroll-top{background:var(--gc-ink) !important; color:var(--gc-bg) !important; border-radius:var(--gc-btn-radius) !important}

/* ==========================================================================
   VISUEL + TEXTE
   ========================================================================== */
.gc-mt__media img,.gc-mt__bg img{width:100%; height:100%; object-fit:cover; display:block}
.gc-mt__media{position:relative; overflow:hidden; background:var(--gc-surface)}
.gc .gc-mt__quote{font-size:clamp(calc(1.9rem * var(--gc-scale) * 1.25),calc(3.4vw * var(--gc-scale) * 1.25),calc(3.4rem * var(--gc-scale) * 1.25)); line-height:1.15; font-style:var(--gc-em-style); border:0; padding:0; margin:0; color:var(--gc-ink); text-wrap:balance}
.gc-mt__text{max-width:44ch}
.gc .gc-mt__text p + p{margin-top:1em}
.gc-mt__title + .gc-mt__text,.gc-mt__quote + .gc-mt__text{margin-top:clamp(1.5rem,2.5vw,2.25rem)}
.gc-mediatext .gc-actions{margin-top:clamp(2rem,3vw,2.75rem)}

/* moitié d'écran : le visuel va jusqu'au bord, le texte s'aligne sur la grille du site */
.gc-mediatext.gc-v-split{padding-block:0}
.gc-mediatext.gc-v-split .gc-mt__grid{display:grid; grid-template-columns:1fr 1fr; min-height:min(92svh,900px)}
.gc-mediatext.gc-v-split .gc-mt__content{
  align-self:center; padding-block:var(--gc-section-y);
  padding-inline:var(--gc-gutter) clamp(2rem,6vw,6rem);
  padding-left:max(var(--gc-gutter), calc((100vw - var(--gc-container)) / 2));
}
.gc-mediatext.gc-v-split.gc-side-left .gc-mt__content{order:2; padding-left:clamp(2rem,6vw,6rem); padding-right:max(var(--gc-gutter), calc((100vw - var(--gc-container)) / 2))}
.gc-mediatext.gc-v-split .gc-mt__media{height:100%; min-height:420px}

/* visuel encadré */
.gc-mediatext.gc-v-framed .gc-mt__grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2rem,6vw,6rem); align-items:center; width:min(100% - 2*var(--gc-gutter), var(--gc-container)); margin-inline:auto}
.gc-mediatext.gc-v-framed.gc-side-left .gc-mt__content{order:2}
.gc-mediatext.gc-v-framed .gc-mt__media{aspect-ratio:4/5; border-radius:var(--gc-radius-lg)}

/* texte sur le visuel : texte toujours clair, voile réglable */
.gc-mediatext.gc-v-overlay{
  --gc-ink:#fff; --gc-ink-soft:rgba(255,255,255,.84); --gc-line:rgba(255,255,255,.3);
  --gc-accent:var(--gc-onimage-em,#fff); --gc-em-color:var(--gc-onimage-em,#fff); --gc-btn-bg:#fff; --gc-btn-ink:#111;
  min-height:min(90svh,880px); display:flex; align-items:flex-end; background:#111;
}
.gc-mt__bg{position:absolute; inset:0; z-index:0}
.gc-mt__bg::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,calc(var(--veil) * .35)) 0%,rgba(0,0,0,calc(var(--veil) * .55)) 45%,rgba(0,0,0,var(--veil)) 100%)}
.gc-mediatext.gc-veil-light{--veil:.45} .gc-mediatext.gc-veil-medium{--veil:.68} .gc-mediatext.gc-veil-strong{--veil:.86}
.gc-mediatext.gc-v-overlay .gc-mt__grid{position:relative; z-index:1; width:min(100% - 2*var(--gc-gutter), var(--gc-container)); margin-inline:auto; display:flex}
.gc-mediatext.gc-v-overlay .gc-mt__content{max-width:40rem; text-shadow:0 1px 24px rgba(0,0,0,.2)}
.gc-mediatext.gc-pos-center .gc-mt__grid{justify-content:center; text-align:center}
.gc-mediatext.gc-pos-center .gc-eyebrow,.gc-mediatext.gc-pos-center .gc-statement__sig,.gc-mediatext.gc-pos-center .gc-actions{justify-content:center}
.gc-mediatext.gc-pos-center .gc-mt__text{margin-inline:auto}
.gc-mediatext.gc-pos-right .gc-mt__grid{justify-content:flex-end}

@media (max-width:900px){
  .gc-mediatext.gc-v-split .gc-mt__grid,.gc-mediatext.gc-v-framed .gc-mt__grid{grid-template-columns:1fr}
  .gc-mediatext.gc-v-split .gc-mt__content,.gc-mediatext.gc-v-split.gc-side-left .gc-mt__content{order:2; padding-inline:var(--gc-gutter)}
  .gc-mediatext.gc-v-split .gc-mt__media{order:1; min-height:0; aspect-ratio:4/3; height:auto}
  .gc-mediatext.gc-v-framed.gc-side-left .gc-mt__content{order:0}
}

/* ===== Bloc Formulaire (Contact Form 7) ===== */
.gc-form__grid{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(2.5rem,7vw,7rem); align-items:start}
.gc-form.gc-v-centered .gc-form__grid{grid-template-columns:1fr; max-width:46rem; text-align:center}
.gc-form.gc-v-centered .gc-eyebrow{justify-content:center}
.gc-form.gc-v-centered .gc-lead{margin-inline:auto}
.gc-form.gc-v-centered .gc-form__details{justify-content:center; text-align:left}
.gc-form__intro{margin-top:1.5rem}
.gc.gc .gc-form__details{display:grid; gap:1.4rem; margin:clamp(2rem,4vw,3rem) 0 0; padding:0}
.gc-form__details > div{padding-top:1.1rem; border-top:1px solid var(--gc-line)}
.gc.gc .gc-form__details dt{font:500 .72rem/1.4 var(--gc-font-body); letter-spacing:.16em; text-transform:uppercase; color:var(--gc-ink-soft); margin:0 0 .35rem}
.gc.gc .gc-form__details dd{margin:0; font-size:1.05rem; color:var(--gc-ink)}
.gc-form__details a{color:inherit; text-decoration:none; background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat; transition:background-size .4s var(--gc-ease)}
.gc-form__details a:hover{background-size:100% 1px}

.gc-cf7 .gc-f-grid{display:grid; grid-template-columns:1fr 1fr; gap:1.6rem 2rem; text-align:left}
.gc-cf7 .gc-f{grid-column:1 / -1; display:block; margin:0}
.gc-cf7 .gc-f--half{grid-column:auto}
.gc-cf7 .gc-f__label{display:block; margin-bottom:.55rem; font:500 .72rem/1.4 var(--gc-font-body); letter-spacing:.16em; text-transform:uppercase; color:var(--gc-ink-soft)}
.gc-cf7 .wpcf7-form-control-wrap{display:block; position:relative}
.gc.gc .gc-cf7 :is(input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=date],select,textarea){
  width:100%; height:auto; min-height:0; margin:0; padding:.85rem 0; border:0; border-bottom:1px solid var(--gc-line); border-radius:0; box-shadow:none;
  background:transparent; color:var(--gc-ink); font:var(--gc-body-weight,400) 1.05rem/1.5 var(--gc-font-body); outline:none;
  transition:border-color .3s var(--gc-ease); -webkit-appearance:none; appearance:none;
}
.gc.gc .gc-cf7 textarea{min-height:9rem; resize:vertical}
.gc.gc .gc-cf7 select{cursor:pointer; padding-right:1.5rem; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23888' stroke-width='1.4'/%3E%3C/svg%3E") right .25rem center/12px 8px no-repeat}
.gc.gc .gc-cf7 :is(input,select,textarea):focus{border-bottom-color:var(--gc-ink)}
.gc.gc .gc-cf7 :is(input,textarea)::placeholder{color:var(--gc-ink-soft); opacity:.6}
.gc.gc .gc-cf7 .wpcf7-not-valid{border-bottom-color:#B42318}
.gc-cf7 .wpcf7-not-valid-tip{margin-top:.45rem; font-size:.82rem; color:#B42318}
.gc-cf7 .gc-f--consent{font-size:.88rem; line-height:1.55; color:var(--gc-ink-soft)}
.gc-cf7 .gc-f--consent .wpcf7-list-item{margin:0}
.gc-cf7 .gc-f--consent label{display:flex; gap:.8rem; align-items:flex-start; cursor:pointer}
.gc.gc .gc-cf7 input[type=checkbox]{flex:none; width:1.05rem; height:1.05rem; margin:.15rem 0 0; accent-color:var(--gc-ink)}
.gc-cf7 .gc-f--submit{display:flex; align-items:center; gap:1rem; margin-top:.5rem}
.gc.gc .gc-cf7 input[type=submit].gc-btn{
  cursor:pointer; height:auto; padding:1.15rem 2.1rem; border:0; border-radius:var(--gc-btn-radius); box-shadow:none;
  background:var(--gc-btn-bg,var(--gc-ink)); color:var(--gc-btn-ink,var(--gc-bg));
  font:500 var(--gc-btn-size,.8rem)/1 var(--gc-font-body); letter-spacing:var(--gc-btn-tracking); text-transform:var(--gc-btn-case);
  transition:background .3s var(--gc-ease), opacity .3s var(--gc-ease);
}
.gc.gc .gc-cf7 input[type=submit].gc-btn:hover{background:var(--gc-accent); color:var(--gc-accent-ink)}
.gc.gc .gc-cf7 input[type=submit].gc-btn:disabled{opacity:.3; cursor:not-allowed; background:var(--gc-btn-bg,var(--gc-ink))}
.gc-cf7 .wpcf7-spinner{margin:0; background:var(--gc-ink-soft)}
.gc.gc .gc-cf7 .wpcf7-response-output{margin:2rem 0 0; padding:1rem 1.25rem; border:1px solid var(--gc-line); border-left:2px solid var(--gc-ink); font-size:.95rem; color:var(--gc-ink)}
.gc.gc .gc-cf7.invalid .wpcf7-response-output,.gc.gc .gc-cf7.unaccepted .wpcf7-response-output,.gc.gc .gc-cf7.failed .wpcf7-response-output{border-left-color:#B42318}
.gc.gc .gc-cf7.sent .wpcf7-response-output{border-left-color:#1E7B4A}
.gc-cf7.sent .gc-f-grid{opacity:.5; pointer-events:none}
.gc-cf7 .screen-reader-response{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}

@media (max-width:900px){
  .gc-form__grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .gc-cf7 .gc-f-grid{grid-template-columns:1fr}
  .gc.gc .gc-cf7 input[type=submit].gc-btn{width:100%}
}
