/* Accueil CDB — styles isolés sous .cdb-home (le template plein-écran pose
   cette classe sur <body>, les blocs ACF la posent sur le wrapper de
   l'éditeur). Ce fichier est partagé par les deux implémentations (template
   PHP et blocs ACF) : toute correction ici profite aux deux. */

.cdb-home{
  --cdb-home-navy:#161F2C; --cdb-home-navy-2:#1D2838;
  --cdb-home-gold:#C9A227; --cdb-home-gold-light:#E4C767;
  --cdb-home-teal:#1C6B5C; --cdb-home-teal-light:#2C8874;
  --cdb-home-cream:#F6F1E7; --cdb-home-cream-warm:#EFE7D6;
  --cdb-home-paper:#FFFDF8; --cdb-home-ink:#161F2C; --cdb-home-muted:#6b6656;
}
/* Remise à zéro margin/padding : sur le gabarit dédié (coquille complète, pas
   de header/footer Astra à préserver) elle s'applique à tout body.cdb-home ;
   sur une page classique (accueil réelle, header/footer Astra standard), elle
   ne touche que le contenu des blocs ACF (.entry-content), pas la coquille du
   thème qui l'entoure. */
.cdb-home-fixed-header,.cdb-home-fixed-header *{margin:0;padding:0;box-sizing:border-box;}
/* :where() garde une spécificité nulle pour que ce reset ait exactement le
   même poids (0,1,0) que la version d'origine (.cdb-home *) — sinon les
   règles d'espacement plus bas dans ce fichier, écrites pour primer sur CE
   niveau de spécificité précis, ne suffisent plus à le faire. */
:where(.cdb-home) .entry-content,:where(.cdb-home) .entry-content *{margin:0;padding:0;box-sizing:border-box;}
body.cdb-home,.editor-styles-wrapper.cdb-home{background:var(--cdb-home-navy) !important;color:var(--cdb-home-cream) !important;font-family:'Manrope',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;}

/* Couleur de texte par défaut, posée directement sur chaque élément plutôt
   que laissée à l'héritage : le HTML généré par un bloc ACF insère parfois
   un wrapper intermédiaire qui porte sa propre couleur par défaut (venant
   du thème ou de l'admin WordPress), et "color:inherit" récupérerait CETTE
   couleur-là au lieu de celle voulue ici. Une valeur posée directement sur
   l'élément l'emporte toujours sur une valeur héritée, donc pas besoin de
   !important — les styles plus spécifiques plus bas dans ce fichier
   (.cdb-home-lead, .cdb-home-review-who span, etc.) s'appliquent
   normalement par-dessus. */
.cdb-home h1,.cdb-home h2,.cdb-home h3,.cdb-home h4,.cdb-home h5,.cdb-home h6,.cdb-home-serif{font-family:'Fraunces',serif;color:var(--cdb-home-cream) !important;}
.cdb-home *{color:var(--cdb-home-cream);}
.cdb-home a{text-decoration:none;}
.cdb-home-reviews *,.cdb-home-inclusions *,.cdb-home-portal-inner *,.cdb-home-prestations *{color:var(--cdb-home-ink);}

.cdb-home-wrap{max-width:1240px;margin:0 auto !important;padding:0 40px !important;}
.cdb-home img{max-width:100%;display:block;}

.cdb-home-grain{position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
.cdb-home-cursor{position:fixed;top:0;left:0;width:9px;height:9px;border-radius:50%;background:var(--cdb-home-gold);pointer-events:none;z-index:300;transform:translate(-50%,-50%);transition:width .2s,height .2s;mix-blend-mode:difference;}
.cdb-home-cursor.cdb-home-big{width:44px;height:44px;background:var(--cdb-home-cream);}
@media(hover:none){.cdb-home-cursor{display:none;}}
.cdb-home-progress{position:fixed;top:0;left:0;height:2px;background:var(--cdb-home-gold);z-index:250;width:0%;}
.cdb-home-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.cdb-home-reveal.cdb-home-in{opacity:1;transform:translateY(0);}
.cdb-home-reveal-1{transition-delay:.05s;} .cdb-home-reveal-2{transition-delay:.15s;} .cdb-home-reveal-3{transition-delay:.25s;} .cdb-home-reveal-4{transition-delay:.35s;}

/* ---------- HEADER ---------- */
.cdb-home-fixed-header header{position:fixed;top:0;left:0;right:0;z-index:100;padding:26px 0;}
.cdb-home-fixed-header header.cdb-home-scrolled{background:rgba(22,31,44,0.85);backdrop-filter:blur(10px);border-bottom:1px solid rgba(246,241,231,.08);padding:16px 0;transition:all .3s;}
.cdb-home-nav{display:flex;align-items:center;justify-content:space-between;}
.cdb-home-logo{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-weight:600;font-size:19px;color:var(--cdb-home-cream);}
.cdb-home-navlinks{display:flex;align-items:center;gap:38px;font-size:13.5px;font-weight:700;letter-spacing:.02em;}
.cdb-home-navlinks a{position:relative;opacity:.7;transition:opacity .2s;}
.cdb-home-navlinks a::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--cdb-home-gold-light);transition:width .25s;}
.cdb-home-navlinks a:hover{opacity:1;} .cdb-home-navlinks a:hover::after{width:100%;}
.cdb-home-btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px;padding:13px 24px;border-radius:100px;border:1px solid transparent;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s;}
.cdb-home-btn:hover{transform:translateY(-2px) scale(1.02);}
.cdb-home-btn-gold{background:var(--cdb-home-gold);color:var(--cdb-home-navy) !important;}
.cdb-home-btn-gold:hover{box-shadow:0 12px 28px rgba(201,162,39,.4);}
.cdb-home-btn-line-cream{border-color:rgba(246,241,231,.35);color:var(--cdb-home-cream) !important;}
.cdb-home-btn-line-cream:hover{border-color:var(--cdb-home-cream);}
.cdb-home-btn-espace{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--cdb-home-gold-light);}
.cdb-home-btn-espace .cdb-home-dot{width:6px;height:6px;border-radius:50%;background:var(--cdb-home-gold-light);animation:cdbHomePulse 2s infinite;}
@keyframes cdbHomePulse{0%,100%{opacity:1;}50%{opacity:.35;}}

/* ---------- HERO — audit / stratégie en tête ---------- */
.cdb-home-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:70px 0 0;}
/* Le gabarit dédié (coquille complète) a son propre header en position fixed
   par-dessus le hero : il lui faut donc plus d'espace réservé en haut. Sur les
   pages qui gardent le header Astra standard (en flux normal), 70px suffit. */
.cdb-home-fixed-header .cdb-home-hero{padding-top:140px;}
/* Doit l'emporter sur la règle SECTION BASE (.cdb-home .entry-content section)
   plus bas dans ce fichier, d'où les 3 classes de spécificité ici. */
.cdb-home .entry-content .cdb-home-hero{padding-top:50px;}
.cdb-home-hero-bg-arc{position:absolute;border-radius:50%;border:1px solid rgba(246,241,231,.07);}
.cdb-home-arc-a{width:900px;height:900px;right:-380px;top:-320px;animation:cdbHomeSpin 90s linear infinite;}
.cdb-home-arc-b{width:640px;height:640px;right:-260px;top:-180px;border-color:rgba(201,162,39,.16);animation:cdbHomeSpin 70s linear infinite reverse;}
.cdb-home-arc-c{width:1200px;height:1200px;right:-560px;top:-460px;border-color:rgba(246,241,231,.035);animation:cdbHomeSpin 130s linear infinite;}
@keyframes cdbHomeSpin{to{transform:rotate(360deg);}}
.cdb-home-hero .cdb-home-wrap{position:relative;z-index:2;width:100%;align-self:stretch;}
.cdb-home-hero-eyebrow{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cdb-home-gold-light);margin-bottom:30px;}
.cdb-home-hero-eyebrow .cdb-home-line{width:36px;height:1px;background:var(--cdb-home-gold-light);}
.cdb-home-hero h1{font-size:clamp(40px,6.4vw,84px);font-weight:400;line-height:1.05;letter-spacing:-1.5px;max-width:880px;}
.cdb-home-hero h1 em{font-style:italic;font-weight:300;color:var(--cdb-home-gold-light);}
.cdb-home-hero-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;margin-top:52px;padding-top:36px;border-top:1px solid rgba(246,241,231,.12);}
.cdb-home-hero-bottom p.cdb-home-lead{font-size:16.5px;color:rgba(246,241,231,.72);max-width:420px;}
.cdb-home-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.cdb-home-scroll-cue{position:absolute;bottom:32px;left:40px;display:flex;align-items:center;gap:12px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,241,231,.45);z-index:2;}
.cdb-home-scroll-cue .cdb-home-bar{width:1px;height:30px;background:rgba(246,241,231,.3);position:relative;overflow:hidden;}
.cdb-home-scroll-cue .cdb-home-bar::after{content:"";position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--cdb-home-gold-light);animation:cdbHomeCue 2.2s ease-in-out infinite;}
@keyframes cdbHomeCue{0%{top:-100%;}50%{top:0%;}100%{top:100%;}}

/* ---------- MARQUEE — prestations ---------- */
.cdb-home-marquee-wrap{background:var(--cdb-home-gold);overflow:hidden;padding:15px 0;}
.cdb-home-marquee{display:flex;white-space:nowrap;animation:cdbHomeScroll 34s linear infinite;}
.cdb-home-marquee span{font-family:'Fraunces',serif;font-style:italic;font-size:17px;font-weight:400;color:var(--cdb-home-navy);padding:0 28px;display:flex;align-items:center;gap:28px;}
.cdb-home-marquee span::after{content:"◆";font-family:Manrope;font-size:8px;font-style:normal;opacity:.5;}
@keyframes cdbHomeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Sur une page classique, chaque section reste coincée dans le conteneur
   standard d'Astra (~1360px) même en layout "pleine largeur" — Astra retire
   la sidebar mais garde le conteneur. On fait sortir chaque bloc direct de
   .entry-content en pleine largeur d'écran (technique "full-bleed"). */
.cdb-home .entry-content > *{
	width:auto !important;
	max-width:none !important;
	margin-left:calc(50% - (var(--cdb-full-w, 100vw) / 2)) !important;
	margin-right:calc(50% - (var(--cdb-full-w, 100vw) / 2)) !important;
}

/* ---------- SECTION BASE ----------
   Scopée pour ne toucher que les sections des blocs ACF, pas les <section>
   des widgets du footer Astra (eux aussi techniquement dans body.cdb-home
   sur une page classique). */
.cdb-home-fixed-header section,
:where(.cdb-home) .entry-content section{padding:130px 0;position:relative;}
.cdb-home-sec-head{max-width:640px;margin-bottom:56px;}
.cdb-home-eyebrow{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;color:var(--cdb-home-gold-light);}
.cdb-home-inclusions .cdb-home-eyebrow,.cdb-home-reviews .cdb-home-eyebrow,.cdb-home-prestations .cdb-home-eyebrow{color:var(--cdb-home-teal);}
.cdb-home-eyebrow .cdb-home-dash{width:24px;height:1px;background:currentColor;}
.cdb-home-sec-head h2{font-size:clamp(30px,3.6vw,46px);font-weight:400;letter-spacing:-1px;line-height:1.1;}
.cdb-home-sec-head h2 em{font-style:italic;font-weight:300;color:var(--cdb-home-gold-light);}
.cdb-home-inclusions .cdb-home-sec-head h2 em,.cdb-home-reviews .cdb-home-sec-head h2 em,.cdb-home-prestations .cdb-home-sec-head h2 em{color:var(--cdb-home-teal);}
.cdb-home-sec-head p{margin-top:18px;font-size:16px;max-width:480px;opacity:.75;}

/* ---------- BANDEAU GARANTIES ---------- */
.cdb-home-guarantees{background:var(--cdb-home-navy-2);border-top:1px solid rgba(246,241,231,.08);border-bottom:1px solid rgba(246,241,231,.08);padding:0;}
.cdb-home-guarantees-row{display:grid;grid-template-columns:repeat(4,1fr);}
.cdb-home-guarantee{padding:30px 28px;border-left:1px solid rgba(246,241,231,.08);display:flex;align-items:center;gap:14px;}
.cdb-home-guarantee:first-child{border-left:none;}
.cdb-home-guarantee .cdb-home-gi{flex:none;width:34px;height:34px;border-radius:50%;background:rgba(201,162,39,.14);display:flex;align-items:center;justify-content:center;}
.cdb-home-guarantee .cdb-home-gi svg{width:16px;height:16px;stroke:var(--cdb-home-gold-light);}
.cdb-home-guarantee span{font-size:13px;font-weight:700;line-height:1.3;}
@media(max-width:880px){.cdb-home-guarantees-row{grid-template-columns:1fr 1fr;}.cdb-home-guarantee{border-left:none;border-top:1px solid rgba(246,241,231,.08);}}

/* ---------- RÔLE DE PILOTE ---------- */
.cdb-home-pilot{background:var(--cdb-home-navy);}
.cdb-home-pilot-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.cdb-home-pilot-visual{position:relative;height:280px;}
.cdb-home-pilot-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:88px;border-radius:50%;background:var(--cdb-home-gold);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;color:var(--cdb-home-navy);font-weight:600;font-size:13px;z-index:2;box-shadow:0 0 0 14px rgba(201,162,39,.08);}
.cdb-home-pilot-node{position:absolute;width:96px;padding:10px 14px;background:rgba(246,241,231,.05);border:1px solid rgba(246,241,231,.14);border-radius:10px;font-size:11.5px;font-weight:700;text-align:center;}

/* ---------- AVIS / TÉMOIGNAGES ---------- */
.cdb-home-reviews{background:var(--cdb-home-cream-warm);color:var(--cdb-home-ink);}
.cdb-home-reviews h1,.cdb-home-reviews h2,.cdb-home-reviews h3,.cdb-home-reviews h4{color:var(--cdb-home-ink) !important;}
.cdb-home-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.cdb-home-review-card{background:var(--cdb-home-paper);border-radius:16px;padding:30px;box-shadow:0 16px 40px rgba(22,31,44,.06);}
.cdb-home-review-stars{color:var(--cdb-home-gold);font-size:14px;margin-bottom:14px;letter-spacing:2px;}
.cdb-home-review-card p.cdb-home-quote{font-family:'Fraunces',serif;font-size:16.5px;font-style:italic;font-weight:400;line-height:1.5;margin-bottom:18px;}
.cdb-home-review-who{display:flex;align-items:center;gap:10px;}
.cdb-home-review-who .cdb-home-av{width:34px;height:34px;border-radius:50%;background:var(--cdb-home-teal);flex:none;}
.cdb-home-review-who b{font-size:13px;display:block;}
.cdb-home-review-who span{font-size:11.5px;color:var(--cdb-home-muted);}

/* ---------- BLOC MAINTENANCE ---------- */
.cdb-home-maintenance{padding:70px 0;}
.cdb-home-maintenance-box{background:rgba(201,162,39,.06);border:1px solid rgba(201,162,39,.35);border-radius:20px;padding:48px;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center;}
.cdb-home-maintenance-box h3{font-family:'Fraunces',serif;font-size:26px;font-weight:400;margin-bottom:12px;}
.cdb-home-maintenance-box h3 em{color:var(--cdb-home-gold-light);font-style:italic;font-weight:300;}
.cdb-home-maintenance-box p{font-size:14.5px;color:rgba(246,241,231,.65);}
.cdb-home-maintenance-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;}
.cdb-home-maintenance-tags span{font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:100px;border:1px solid rgba(246,241,231,.2);}
@media(max-width:880px){.cdb-home-maintenance-box{grid-template-columns:1fr;text-align:left;}.cdb-home-reviews-grid,.cdb-home-pilot-grid{grid-template-columns:1fr;}}

/* ---------- STRATÉGIE — pillar principal ---------- */
.cdb-home-strategy{background:var(--cdb-home-navy-2);}
.cdb-home-strategy-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:70px;align-items:center;}
.cdb-home-strategy-card{background:rgba(246,241,231,.04);border:1px solid rgba(246,241,231,.1);border-radius:20px;padding:44px;}
.cdb-home-strategy-card .cdb-home-k{font-family:'Fraunces',serif;font-style:italic;font-size:15px;color:var(--cdb-home-gold-light);margin-bottom:14px;}
.cdb-home-strategy-card h3{font-size:26px;font-weight:400;margin-bottom:16px;}
.cdb-home-strategy-card p{font-size:14.5px;color:rgba(246,241,231,.65);margin-bottom:22px;}
.cdb-home-strategy-steps{list-style:none;display:flex;flex-direction:column;gap:14px;}
.cdb-home-strategy-steps li{display:flex;gap:12px;font-size:14px;color:rgba(246,241,231,.85);}
.cdb-home-strategy-steps b{color:var(--cdb-home-gold-light);font-family:'Fraunces',serif;font-weight:600;font-size:13px;}

/* ---------- PRESTATIONS — grille filtrable ---------- */
.cdb-home-prestations{background:var(--cdb-home-cream);color:var(--cdb-home-ink);border-top:1px solid rgba(22,31,44,.08);}
.cdb-home-prestations h1,.cdb-home-prestations h2,.cdb-home-prestations h3,.cdb-home-prestations h4{color:var(--cdb-home-ink) !important;}
.cdb-home-svc-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px;}
.cdb-home-svc-pill{font-family:'Manrope',sans-serif;font-size:13px;font-weight:700;padding:10px 20px;border-radius:100px;border:1px solid rgba(22,31,44,.14);background:transparent;color:var(--cdb-home-ink);cursor:pointer;transition:background .2s,color .2s,border-color .2s;}
.cdb-home-svc-pill:hover{border-color:rgba(22,31,44,.3);}
.cdb-home-svc-pill.is-active{background:var(--cdb-home-navy);border-color:var(--cdb-home-navy);color:var(--cdb-home-cream);}
.cdb-home-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.cdb-home-svc-card{position:relative;background:var(--cdb-home-paper);border-radius:16px;padding:32px 28px;box-shadow:0 16px 40px rgba(22,31,44,.06);}
.cdb-home-svc-icon{width:44px;height:44px;border-radius:12px;background:rgba(28,107,92,.1);color:var(--cdb-home-teal);display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.cdb-home-svc-icon svg{width:22px;height:22px;}
.cdb-home-svc-card h4{font-family:'Fraunces',serif;font-size:19px;font-weight:400;margin-bottom:8px;}
.cdb-home-svc-card p{font-size:13.5px;color:var(--cdb-home-muted);}
.cdb-home-svc-new{position:absolute;top:24px;right:24px;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:5px 10px;border-radius:100px;background:var(--cdb-home-gold);color:var(--cdb-home-navy);}
@media(max-width:880px){.cdb-home-svc-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.cdb-home-svc-grid{grid-template-columns:1fr;}}

/* ---------- SERVICES groupés en 3 piliers ---------- */
.cdb-home-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(246,241,231,.08);border:1px solid rgba(246,241,231,.08);border-radius:20px;overflow:hidden;}
.cdb-home-pillar{background:var(--cdb-home-navy);padding:38px 34px;}
.cdb-home-pillar h4{font-family:'Fraunces',serif;font-size:20px;font-weight:400;margin-bottom:6px;color:var(--cdb-home-gold-light);}
.cdb-home-pillar .cdb-home-sub{font-size:12.5px;color:rgba(246,241,231,.5);margin-bottom:24px;}
.cdb-home-pillar ul{list-style:none;display:flex;flex-direction:column;gap:14px;}
.cdb-home-pillar li{font-size:14.5px;font-weight:600;padding-bottom:14px;border-bottom:1px solid rgba(246,241,231,.08);display:flex;justify-content:space-between;align-items:center;}
.cdb-home-pillar li:last-child{border-bottom:none;padding-bottom:0;}
.cdb-home-pillar li svg{width:12px;height:12px;opacity:.4;flex:none;}
@media(max-width:880px){.cdb-home-pillars{grid-template-columns:1fr;}}

/* ---------- INCLUSIONS ---------- */
.cdb-home-inclusions{background:var(--cdb-home-cream-warm);color:var(--cdb-home-ink);}
.cdb-home-inclusions h1,.cdb-home-inclusions h2,.cdb-home-inclusions h3,.cdb-home-inclusions h4{color:var(--cdb-home-ink) !important;}
.cdb-home-inc-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:60px;align-items:center;}
.cdb-home-inc-list{display:flex;flex-direction:column;}
.cdb-home-inc-row{display:flex;align-items:center;gap:18px;padding:22px 0;border-top:1px solid rgba(22,31,44,.12);font-size:16px;font-weight:600;}
.cdb-home-inc-row:last-child{border-bottom:1px solid rgba(22,31,44,.12);}
.cdb-home-inc-row .cdb-home-n{font-family:'Fraunces',serif;font-style:italic;color:var(--cdb-home-teal);font-size:15px;width:26px;flex:none;}

/* ---------- RÉALISATIONS ---------- */
.cdb-home-work{background:var(--cdb-home-navy);}
.cdb-home-work-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.cdb-home-work-card{border-radius:18px;overflow:hidden;background:rgba(246,241,231,.04);border:1px solid rgba(246,241,231,.1);transition:transform .4s;}
.cdb-home-work-card:hover{transform:translateY(-6px);}
.cdb-home-work-preview{aspect-ratio:16/10;position:relative;overflow:hidden;}
.cdb-home-work-preview .cdb-home-browser-bar{position:absolute;top:0;left:0;right:0;height:26px;background:rgba(22,31,44,.5);display:flex;align-items:center;gap:5px;padding:0 10px;z-index:2;}
.cdb-home-work-preview .cdb-home-browser-bar span{width:6px;height:6px;border-radius:50%;background:rgba(246,241,231,.3);}
.cdb-home-work-preview.cdb-home-work-fallback-teal{background:linear-gradient(135deg,#0e3a52,#1c6b5c 60%,#0e3a52);}
.cdb-home-work-preview.cdb-home-work-fallback-gold{background:linear-gradient(135deg,#3a2e14,#C9A227 55%,#3a2e14);}
.cdb-home-work-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cdb-home-work-preview .cdb-home-mockcontent{position:absolute;inset:26px 16px 16px;display:flex;flex-direction:column;gap:8px;}
.cdb-home-work-preview .cdb-home-mockcontent .cdb-home-bar1{height:9px;width:44%;background:rgba(255,255,255,.6);border-radius:3px;}
.cdb-home-work-preview .cdb-home-mockcontent .cdb-home-bar2{height:5px;width:70%;background:rgba(255,255,255,.25);border-radius:3px;}
.cdb-home-work-preview .cdb-home-mockcontent .cdb-home-bar3{height:5px;width:55%;background:rgba(255,255,255,.25);border-radius:3px;}
.cdb-home-work-body{padding:24px 26px;display:flex;justify-content:space-between;align-items:center;}
.cdb-home-work-body h4{font-family:'Fraunces',serif;font-size:19px;font-weight:400;}
.cdb-home-work-body span{font-size:12.5px;color:rgba(246,241,231,.5);}
.cdb-home-work-link{font-size:13px;font-weight:700;color:var(--cdb-home-gold-light);}

/* ---------- PORTAL ---------- */
.cdb-home-portal-grid{display:grid;grid-template-columns:0.95fr 1.1fr;gap:70px;align-items:center;}
.cdb-home-portal-list{list-style:none;margin-top:28px;display:flex;flex-direction:column;gap:16px;}
.cdb-home-portal-list li{display:flex;gap:14px;align-items:flex-start;font-size:15px;}
.cdb-home-portal-list .cdb-home-check{flex:none;width:22px;height:22px;border-radius:50%;background:var(--cdb-home-teal);display:flex;align-items:center;justify-content:center;margin-top:1px;}
.cdb-home-portal-mock{background:var(--cdb-home-navy);border-radius:20px;padding:8px;box-shadow:0 40px 90px rgba(0,0,0,.4);transform:rotate(-1.2deg);transition:transform .5s;}
.cdb-home-portal-mock:hover{transform:rotate(0deg) scale(1.01);}
.cdb-home-portal-inner{background:var(--cdb-home-paper);border-radius:14px;padding:26px;color:var(--cdb-home-ink);}
.cdb-home-mock-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.cdb-home-mock-top b{font-family:'Fraunces',serif;font-size:17px;}
.cdb-home-mock-top span{font-size:10.5px;background:rgba(28,107,92,.1);color:var(--cdb-home-teal);padding:5px 10px;border-radius:6px;font-weight:800;}
.cdb-home-mock-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;}
.cdb-home-mock-kpi{background:var(--cdb-home-cream);border-radius:12px;padding:14px;}
.cdb-home-mock-kpi b{font-family:'Fraunces',serif;font-size:19px;display:block;}
.cdb-home-mock-kpi span{font-size:9.5px;color:var(--cdb-home-muted);font-weight:700;text-transform:uppercase;}
.cdb-home-mock-caption{font-size:10.5px;font-weight:700;color:var(--cdb-home-muted);margin-bottom:8px;}
.cdb-home-mock-steps{display:flex;gap:6px;}
.cdb-home-mock-step{flex:1;height:5px;border-radius:4px;background:rgba(22,31,44,.1);}
.cdb-home-mock-step.cdb-home-done{background:var(--cdb-home-teal);} .cdb-home-mock-step.cdb-home-active{background:var(--cdb-home-gold);}

/* ---------- CTA FINAL ---------- */
.cdb-home-cta-final{text-align:center;overflow:hidden;}
.cdb-home-cta-final .cdb-home-inner{max-width:760px;margin:0 auto;position:relative;z-index:1;}
.cdb-home-cta-final h2{font-size:clamp(34px,4.6vw,58px);font-weight:400;line-height:1.08;letter-spacing:-1px;margin:20px 0 26px;}
.cdb-home-cta-final h2 em{color:var(--cdb-home-gold-light);font-style:italic;font-weight:300;}
.cdb-home-cta-final p{color:rgba(246,241,231,.65);font-size:16px;margin-bottom:36px;}
.cdb-home-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

.cdb-home-fixed-header footer{padding:64px 0 30px;border-top:1px solid rgba(246,241,231,.08);}
.cdb-home-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px;}
.cdb-home-foot-logo{font-family:'Fraunces',serif;font-size:19px;font-weight:600;margin-bottom:14px;display:flex;align-items:center;gap:9px;}
.cdb-home-foot-col h5{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.4;margin-bottom:16px;}
.cdb-home-foot-col a,.cdb-home-foot-col p{display:block;font-size:14px;margin-bottom:10px;opacity:.72;}
.cdb-home-foot-col a:hover{color:var(--cdb-home-gold-light);opacity:1;}
.cdb-home-foot-bottom{display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid rgba(246,241,231,.08);font-size:12px;opacity:.4;flex-wrap:wrap;gap:10px;}

@media(max-width:880px){
  .cdb-home-navlinks{display:none;}
  .cdb-home-hero-bottom,.cdb-home-strategy-grid,.cdb-home-inc-grid,.cdb-home-portal-grid,.cdb-home-work-grid{grid-template-columns:1fr;gap:28px;}
  .cdb-home-foot-grid{grid-template-columns:1fr 1fr;}
  .cdb-home section{padding:80px 0;}
}
