/* ==========================================================
   Visa Canada Rouge — système de design
   Registre visuel : cabinet professionnel établi.
   Navy profond, ivoire chaud, filets laiton, serif classique.
   Le rouge de la marque est réservé à l'action.
   ========================================================== */

:root{
  --ink:#0d1626;
  --ink-2:#142033;
  --ink-3:#1c2b40;
  --paper:#ffffff;
  --surface:#ffffff;
  --surface-2:#f6f7f9;
  --text:#16202f;
  --text-muted:#5a6472;
  --border:#e4e7ec;
  --rule:#cfd4dc;
  --brass:#a8874e;
  --brass-soft:#c4a870;
  --accent:#d0112b;
  --accent-strong:#a80e23;
  --accent-tint:#fbe8ea;

  --band-text:#f7f4ee;
  --band-muted:#a7b0bf;
  --band-border:#26374f;

  --radius:3px;
  --shadow-1:0 1px 3px rgba(13,22,38,.06), 0 12px 32px -18px rgba(13,22,38,.25);
  --shadow-2:0 40px 80px -40px rgba(13,22,38,.5);
}
/* Le site garde la même apparence claire pour tous les visiteurs,
   même si leur appareil est en mode sombre. */
:root{color-scheme:light;}

*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  color:var(--text);
  font-family:'Public Sans', system-ui, -apple-system, Segoe UI, sans-serif;
  font-size:16.5px;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Cormorant Garamond', 'Times New Roman', Georgia, serif;
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.005em;
  text-wrap:balance;
  margin:0;
}
a{color:inherit;}
img{max-width:100%;display:block;}
button{font-family:inherit;}
.mono{font-family:'IBM Plex Mono', ui-monospace, Menlo, monospace;font-variant-numeric:tabular-nums;}
.container{max-width:1220px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3.5rem);}
.container-narrow{max-width:760px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3.5rem);}

/* Label en petites capitales espacées — le marqueur de registre formel */
.eyebrow{
  font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--brass);margin:0;
  display:flex;align-items:center;gap:.9rem;
}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--rule);max-width:70px;}
.eyebrow-plain{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin:0;}

.section{padding-block:clamp(4rem,7vw,7rem);}
.section-alt{background:var(--surface-2);}
.section-rule{border-top:1px solid var(--border);}
.section-head{max-width:680px;margin-bottom:clamp(2.4rem,4vw,3.6rem);}
.section-head h2{font-size:clamp(2rem,3vw + 1rem,3rem);margin-top:1.1rem;}
.section-head p{color:var(--text-muted);margin-top:1.2rem;font-size:1.05rem;}

/* --- boutons ------------------------------------------------ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  padding:1rem 1.9rem;border-radius:var(--radius);
  font-weight:600;font-size:.84rem;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:none;border:1px solid transparent;cursor:pointer;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent-strong);}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--rule);}
.btn-ghost:hover{border-color:var(--text);}
.btn-block{width:100%;}
.btn-on-dark{background:var(--accent);color:#fff;}
.btn-on-dark:hover{background:var(--accent-strong);}
.btn-ghost-dark{background:transparent;color:var(--band-text);border-color:var(--band-border);}
.btn-ghost-dark:hover{border-color:var(--brass-soft);color:var(--brass-soft);}
a:focus-visible, button:focus-visible, summary:focus-visible{
  outline:2px solid var(--brass);outline-offset:3px;
}

/* --- barre utilitaire --------------------------------------- */
.utility-bar{background:var(--ink);color:var(--band-text);font-size:.74rem;letter-spacing:.04em;}
.utility-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:.7rem;flex-wrap:wrap;}
.utility-bar .reg{color:var(--band-muted);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.utility-bar .reg strong{color:var(--brass-soft);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;}
.utility-links{display:flex;align-items:center;gap:1.4rem;}
.utility-links a{color:var(--band-muted);text-decoration:none;}
.utility-links a:hover{color:var(--band-text);}
.lang-switch{display:flex;gap:.45rem;align-items:center;letter-spacing:.12em;}
.lang-switch .on{color:var(--brass-soft);font-weight:600;}
@media (max-width:720px){.utility-row{justify-content:center;text-align:center;}}

/* --- en-tête ------------------------------------------------ */
header{
  position:sticky;top:0;z-index:40;
  border-bottom:1px solid var(--border);
}
/* Le flou est porté par un pseudo-élément : posé sur l'en-tête lui-même,
   backdrop-filter confinerait le menu mobile (position:fixed) à sa hauteur. */
header::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:color-mix(in srgb, var(--paper) 94%, transparent);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:86px;}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text);}
.brand svg{flex:none;}
.brand-word{
  font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.5rem;
  letter-spacing:.01em;line-height:1;
}
.nav-links{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0;}
.nav-links > li{position:relative;}
.nav-links > li > a{
  font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;color:var(--text-muted);
  display:flex;align-items:center;gap:.3rem;padding-block:1.9rem;
  border-bottom:2px solid transparent;
}
.nav-links > li > a:hover{color:var(--text);}
.nav-links > li > a[aria-current="page"]{color:var(--text);border-bottom-color:var(--brass);}
.dropdown{
  position:absolute;top:100%;left:-1.2rem;min-width:278px;
  background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--brass);
  box-shadow:var(--shadow-1);padding:.7rem;list-style:none;margin:0;
  opacity:0;visibility:hidden;transform:translateY(-5px);
  transition:opacity .16s ease, transform .16s ease, visibility .16s;
}
.nav-links > li:hover .dropdown, .nav-links > li:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{
  display:block;padding:.6rem .8rem;font-size:.88rem;
  text-decoration:none;color:var(--text-muted);border-left:2px solid transparent;
}
.dropdown a:hover{background:var(--surface-2);color:var(--text);border-left-color:var(--brass);}
.nav-toggle{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:1px solid var(--rule);border-radius:var(--radius);padding:.6rem;cursor:pointer;color:var(--text);-webkit-tap-highlight-color:transparent;}
.nav-toggle[aria-expanded="true"]{border-color:var(--ink);}
/* top est recalé en JS sur le bas réel de l'en-tête (barre utilitaire visible ou non) */
.mobile-panel{
  position:fixed;top:86px;left:0;right:0;bottom:0;background:var(--paper);z-index:39;
  padding:1.2rem clamp(1.25rem,4vw,3.5rem) calc(2.5rem + env(safe-area-inset-bottom));
  border-top:1px solid var(--border);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
.mobile-panel[hidden]{display:none!important;}
.mobile-panel h4{
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);
  margin:1.6rem 0 .2rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);font-weight:700;
}
.mobile-panel h4:first-child{margin-top:0;}
.mobile-panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.mobile-panel li a{display:block;padding:.72rem 0;font-size:1rem;text-decoration:none;color:var(--text);border-bottom:1px solid var(--border);}
.mobile-panel li:last-child a{border-bottom:0;}
.mobile-panel li a:active{color:var(--accent);}
/* Pas de overflow:hidden sur html/body : il casse l'en-tête sticky. Le panneau couvre
   tout l'écran et contient son propre défilement ; on masque seulement les boutons flottants. */
html.menu-open .float-contact, html.menu-open .whatsapp-float{display:none!important;}
@media (max-width:1080px){
  .nav-links{display:none;}
  .nav-toggle{display:inline-flex;}
}

/* --- hero clair (accueil, consultation) ---------------------
   Fond clair : dans les services professionnels, le clair est
   perçu comme plus fiable. Le sombre est réservé aux deux ou
   trois moments où il doit trancher.
   ------------------------------------------------------------ */
.hero{
  background:var(--surface);color:var(--text);
  padding-block:clamp(4rem,8vw,7rem);
  border-bottom:1px solid var(--border);
}
.hero-badge{
  display:inline-flex;align-items:center;gap:.6rem;
  border:1px solid var(--rule);background:var(--paper);
  padding:.5rem 1rem;border-radius:var(--radius);
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);font-weight:600;
}
.hero-badge .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none;}
.hero h1{
  font-size:clamp(2.6rem,4.6vw + 1.2rem,5rem);
  margin-top:1.8rem;max-width:17ch;color:var(--text);
}
.hero h1 .accent{color:var(--accent);font-style:italic;font-weight:500;}
.hero .lede{
  color:var(--text-muted);font-size:1.14rem;max-width:56ch;margin-top:1.6rem;
  padding-top:1.6rem;border-top:1px solid var(--border);
}
.hero-ctas{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.4rem;}
.hero .btn-ghost-dark{background:transparent;color:var(--text);border-color:var(--rule);}
.hero .btn-ghost-dark:hover{border-color:var(--text);}

/* --- bandeau de crédibilité --------------------------------- */
.cred-strip{background:var(--paper);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.cred-grid{display:grid;grid-template-columns:repeat(4,1fr);}
@media (max-width:900px){.cred-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.cred-grid{grid-template-columns:1fr;}}
.cred-item{padding:2rem clamp(1rem,2.2vw,2rem);border-left:1px solid var(--border);}
.cred-item:first-child{border-left:none;}
@media (max-width:900px){
  .cred-item:nth-child(odd){border-left:none;}
  .cred-item:nth-child(n+3){border-top:1px solid var(--border);}
}
@media (max-width:560px){
  .cred-item{border-left:none;}
  .cred-item + .cred-item{border-top:1px solid var(--border);}
}
.cred-item .k{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);font-weight:700;}
.cred-item .v{
  font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;
  margin-top:.6rem;color:var(--text);line-height:1.1;
}
.cred-item .note{font-size:.82rem;color:var(--text-muted);margin-top:.6rem;line-height:1.5;}

/* --- cartes d'intention ------------------------------------- */
.intent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--border);border-left:1px solid var(--border);}
@media (max-width:920px){.intent-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.intent-grid{grid-template-columns:1fr;}}
.intent-card{
  background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:2.2rem 2rem;text-decoration:none;color:var(--text);
  display:flex;flex-direction:column;gap:.7rem;
  transition:background .18s ease;position:relative;
}
.intent-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:transparent;transition:background .18s ease;
}
.intent-card:hover{background:var(--surface-2);}
.intent-card:hover::before{background:var(--brass);}
.intent-card h3{font-size:1.4rem;}
.intent-card p{color:var(--text-muted);font-size:.92rem;flex:1;margin:0;}
.intent-card .go{
  color:var(--accent);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
}
.intent-card.is-urgent{background:var(--ink);color:var(--band-text);}
.intent-card.is-urgent h3{color:var(--band-text);}
.intent-card.is-urgent p{color:var(--band-muted);}
.intent-card.is-urgent .go{color:var(--brass-soft);}
.intent-card.is-urgent:hover{background:var(--ink-2);}
.intent-grid.is-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:1000px){.intent-grid.is-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.intent-grid.is-4{grid-template-columns:1fr;}}

/* --- bandeau sombre ----------------------------------------- */
.feature-band{background:var(--ink);color:var(--band-text);}
.feature-band h2{color:var(--band-text);}
.feature-band .eyebrow{color:var(--brass-soft);}
.feature-band .eyebrow::after{background:var(--band-border);}
.feature-band p{color:var(--band-muted);}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--band-border);border-left:1px solid var(--band-border);}
@media (max-width:900px){.feature-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.feature-grid{grid-template-columns:1fr;}}
.feature-item{
  border-right:1px solid var(--band-border);border-bottom:1px solid var(--band-border);
  padding:1.8rem;text-decoration:none;color:var(--band-text);display:block;
  transition:background .18s ease;
}
.feature-item:hover{background:var(--ink-2);}
.feature-item h3{font-size:1.24rem;color:var(--band-text);}
.feature-item p{font-size:.88rem;margin-top:.55rem;color:var(--band-muted);}
.authority-note{
  border-left:2px solid var(--brass);padding-left:1.6rem;margin-top:3rem;max-width:64ch;
}
.authority-note p{color:var(--text-muted);}
.authority-note strong{color:var(--text);}
.feature-band .authority-note p{color:var(--band-muted);}
.feature-band .authority-note strong{color:var(--band-text);}

/* --- différenciateurs --------------------------------------- */
.diff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem 3rem;}
@media (max-width:900px){.diff-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.diff-grid{grid-template-columns:1fr;}}
.diff{border-top:1px solid var(--rule);padding-top:1.4rem;}
.diff h3{font-size:1.3rem;}
.diff h3 .num{
  display:block;font-family:'IBM Plex Mono',monospace;font-size:.7rem;
  color:var(--brass);font-weight:600;letter-spacing:.16em;margin-bottom:.7rem;
}
.diff p{color:var(--text-muted);font-size:.94rem;margin-top:.7rem;}

/* --- fondateur ---------------------------------------------- */
.founder-grid{display:grid;grid-template-columns:360px 1fr;gap:clamp(2.4rem,5vw,4.5rem);align-items:start;}
@media (max-width:880px){.founder-grid{grid-template-columns:1fr;}}
.founder-photo{
  aspect-ratio:4/5;background:var(--surface-2);
  border:1px solid var(--border);overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',serif;font-size:4rem;color:var(--text-muted);
}
.founder-photo img{width:100%;height:100%;object-fit:cover;}
.founder h2{font-size:clamp(2rem,2.6vw + 1rem,2.8rem);margin-top:1.1rem;}
.founder .role{
  color:var(--brass);font-weight:700;font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;margin-top:.9rem;
}
.founder p{color:var(--text-muted);margin-top:1.3rem;}
.reg-box{margin-top:2rem;border-top:1px solid var(--rule);}
.reg-row{display:flex;justify-content:space-between;gap:1rem;padding-block:.85rem;border-bottom:1px solid var(--border);font-size:.9rem;}
.reg-row .k{color:var(--text-muted);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;}
.reg-row .v{font-weight:600;text-align:right;}
.reg-row .v.ok{color:var(--brass);}

/* --- processus ---------------------------------------------- */
.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem 3rem;}
@media (max-width:900px){.process-list{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.process-list{grid-template-columns:1fr;}}
.process-step{border-top:2px solid var(--brass);padding-top:1.4rem;}
.process-step .n{
  font-family:'IBM Plex Mono',monospace;font-size:.68rem;color:var(--brass);
  font-weight:600;letter-spacing:.18em;text-transform:uppercase;
}
.process-step h3{font-size:1.3rem;margin-top:.7rem;}
.process-step p{color:var(--text-muted);font-size:.92rem;margin-top:.6rem;}
/* Trois étapes : on évite la ligne orpheline 2 + 1 sur tablette */
@media (max-width:900px){.process-list.is-3{grid-template-columns:1fr;gap:2rem;}}

/* Arguments courts sous la présentation du cabinet */
.founder-points{list-style:none;margin:1.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.9rem;}
.founder-points li{position:relative;padding-left:1.4rem;color:var(--text-muted);font-size:.95rem;}
.founder-points li::before{content:"";position:absolute;left:0;top:.62em;width:.5rem;height:2px;background:var(--brass);}
.founder-points strong{color:var(--text);}

/* --- blocs scindés ------------------------------------------ */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.4rem,5vw,4.5rem);align-items:center;}
@media (max-width:880px){.split{grid-template-columns:1fr;}}
.chip-list{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.8rem;}
.chip{
  border:1px solid var(--rule);border-radius:var(--radius);
  padding:.55rem 1rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  font-weight:600;text-decoration:none;color:var(--text-muted);
  transition:border-color .18s ease, color .18s ease;
}
.chip:hover{border-color:var(--brass);color:var(--brass);}
.chip-dark{border-color:var(--band-border);color:var(--band-muted);}
.chip-dark:hover{border-color:var(--brass-soft);color:var(--brass-soft);}

/* --- témoignages -------------------------------------------- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;}
@media (max-width:900px){.testi-grid{grid-template-columns:1fr;}}
.testi-card{border-top:1px solid var(--rule);padding-top:1.6rem;display:flex;flex-direction:column;gap:1.1rem;}
.testi-stars{color:var(--brass);letter-spacing:.22em;font-size:.82rem;}
.testi-text{
  font-family:'Cormorant Garamond',serif;font-size:1.32rem;line-height:1.42;
  font-style:italic;color:var(--text);flex:1;margin:0;
}
.testi-foot{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;}
.testi-name{font-weight:600;font-size:.86rem;letter-spacing:.04em;}
.testi-tag{font-size:.7rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;}

/* --- page interne ------------------------------------------- */
.page-hero{
  background:var(--surface);color:var(--text);
  padding-block:clamp(3.4rem,6vw,5rem);border-bottom:1px solid var(--border);
}
.page-hero h1{font-size:clamp(2.3rem,3.2vw + 1.2rem,3.6rem);margin-top:1.3rem;max-width:20ch;color:var(--text);}
.page-hero .lede{color:var(--text-muted);font-size:1.06rem;max-width:60ch;margin-top:1.4rem;}
.page-hero .btn-ghost-dark{background:transparent;color:var(--text);border-color:var(--rule);}
.page-hero .btn-ghost-dark:hover{border-color:var(--text);}
.breadcrumb{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1.2rem;color:var(--text-muted);}
.breadcrumb a{text-decoration:none;}

/* --- texte courant ------------------------------------------ */
.prose h2{font-size:clamp(1.8rem,2vw + 1rem,2.4rem);margin-top:3rem;}
.prose h3{font-size:1.3rem;margin-top:2rem;}
.prose p{color:var(--text-muted);margin-top:1.1rem;}
.prose ul{margin:1.2rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.75rem;}
.prose li{padding-left:1.6rem;position:relative;color:var(--text-muted);}
.prose li::before{content:"";position:absolute;left:0;top:.72em;width:9px;height:1px;background:var(--brass);}
.prose strong{color:var(--text);font-weight:600;}
.callout{
  border-left:2px solid var(--brass);background:var(--surface-2);
  padding:1.4rem 1.7rem;margin-top:2rem;
}
.callout p{margin-top:0;}

/* --- questions ---------------------------------------------- */
details{border-bottom:1px solid var(--border);padding-block:1.4rem;}
details:first-of-type{border-top:1px solid var(--rule);}
summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.32rem;line-height:1.3;
}
summary::-webkit-details-marker{display:none;}
.faq-icon{flex:none;width:18px;height:18px;position:relative;}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;background:var(--brass);top:50%;left:50%;transform:translate(-50%,-50%);}
.faq-icon::before{width:13px;height:1px;}
.faq-icon::after{width:1px;height:13px;transition:transform .2s ease;}
details[open] .faq-icon::after{transform:translate(-50%,-50%) rotate(90deg);}
.faq-answer{color:var(--text-muted);font-size:.97rem;margin-top:1rem;max-width:68ch;}

/* --- appel à l'action final --------------------------------- */
.cta-band{
  background:var(--ink);color:var(--band-text);
  padding-block:clamp(4rem,7vw,6rem);border-top:3px solid var(--brass);
}
.cta-band h2{color:var(--band-text);font-size:clamp(2.1rem,3vw + 1rem,3.2rem);max-width:19ch;}
.cta-band p{color:var(--band-muted);margin-top:1.3rem;font-size:1.06rem;max-width:56ch;}

/* --- pied de page ------------------------------------------- */
footer{background:var(--ink-2);color:var(--band-text);}
.footer-grid{
  padding-block:clamp(3.2rem,5vw,4.5rem);
  display:grid;grid-template-columns:repeat(6,1fr);gap:2.4rem 1.6rem;
}
@media (max-width:1000px){.footer-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:640px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
.footer-grid h4{
  font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;color:var(--brass);
  margin:0 0 1.2rem;font-weight:700;padding-bottom:.7rem;border-bottom:1px solid var(--band-border);
}
.footer-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem;}
.footer-grid a{text-decoration:none;color:var(--band-muted);font-size:.87rem;}
.footer-grid a:hover{color:var(--band-text);}
.footer-legal{border-top:1px solid var(--band-border);padding-block:2.2rem;display:grid;grid-template-columns:1.7fr 1fr;gap:2.5rem;}
@media (max-width:820px){.footer-legal{grid-template-columns:1fr;}}
.footer-legal p{color:var(--band-muted);font-size:.78rem;margin:0 0 .8rem;max-width:74ch;line-height:1.7;}
.footer-legal a{color:var(--brass-soft);}
.footer-bottom{
  border-top:1px solid var(--band-border);padding-block:1.5rem;
  display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;
  font-size:.76rem;color:var(--band-muted);letter-spacing:.04em;
}
.footer-bottom nav{display:flex;flex-wrap:wrap;gap:1.6rem;}
.footer-bottom a{color:var(--band-muted);text-decoration:none;}
.footer-bottom a:hover{color:var(--band-text);}

/* --- contact flottant --------------------------------------- */
.float-contact{position:fixed;right:1.4rem;bottom:1.4rem;z-index:50;display:flex;flex-direction:column;gap:.7rem;}
.float-btn{
  width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  box-shadow:var(--shadow-2);text-decoration:none;color:#fff;
}
.float-wa{background:#25D366;}
.float-call{background:var(--accent);display:none;}
@media (max-width:720px){.float-call{display:flex;}}

/* --- preuve sociale : chiffres et galerie ------------------- */
.proof-numbers{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border-top:1px solid var(--border);border-left:1px solid var(--border);margin-bottom:2.6rem;
}
@media (max-width:700px){.proof-numbers{grid-template-columns:1fr;}}
.proof-num{
  border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:1.9rem clamp(1rem,2vw,1.8rem);
}
.proof-num .figure{
  font-family:'Cormorant Garamond',serif;font-size:clamp(2.6rem,4vw,3.6rem);
  font-weight:600;line-height:1;color:var(--brass);
}
.proof-num .label{
  font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-muted);margin-top:.8rem;font-weight:700;
}
.proof-num .sub{font-size:.84rem;color:var(--text-muted);margin-top:.5rem;line-height:1.5;}
.feature-band .proof-numbers{border-top-color:var(--band-border);border-left-color:var(--band-border);}
.feature-band .proof-num{border-right-color:var(--band-border);border-bottom-color:var(--band-border);}
.feature-band .proof-num .figure{color:var(--brass-soft);}
.feature-band .proof-num .label,.feature-band .proof-num .sub{color:var(--band-muted);}

.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.8rem;}
@media (max-width:900px){.gallery{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.gallery{grid-template-columns:1fr;}}
.gallery figure{margin:0;position:relative;overflow:hidden;border:1px solid var(--border);}
.feature-band .gallery figure{border-color:var(--band-border);}
.gallery figure.wide{grid-row:span 2;}
@media (max-width:900px){.gallery figure.wide{grid-column:span 2;grid-row:auto;}}
@media (max-width:560px){.gallery figure.wide{grid-column:auto;}}
.gallery img{width:100%;height:100%;min-height:190px;object-fit:cover;}
.gallery figcaption{
  position:absolute;left:0;right:0;bottom:0;
  background:linear-gradient(to top, rgba(13,22,38,.92), rgba(13,22,38,0));
  color:var(--band-text);padding:2.4rem 1.1rem .9rem;
  font-size:.76rem;letter-spacing:.08em;
}

/* --- badge Google ------------------------------------------- */
.google-badge{
  display:inline-flex;flex-direction:column;align-items:center;gap:.5rem;
  background:#fff;border:1px solid var(--border);border-radius:10px;
  padding:1.3rem 1.8rem;box-shadow:var(--shadow-1);text-align:center;
  text-decoration:none;
}
.google-badge .g-word{font-family:'Public Sans',sans-serif;font-size:1.9rem;font-weight:700;letter-spacing:-.02em;line-height:1;}
.google-badge .g-word .b{color:#4285F4;}
.google-badge .g-word .r{color:#EA4335;}
.google-badge .g-word .y{color:#FBBC05;}
.google-badge .g-word .g{color:#34A853;}
.google-badge .g-line{display:flex;align-items:center;gap:.5rem;}
.google-badge .g-score{font-size:1.05rem;font-weight:700;color:#5f6368;font-variant-numeric:tabular-nums;}
.google-badge .g-stars{color:#FBBC05;letter-spacing:.06em;font-size:1.05rem;}
.google-badge .g-caption{
  font-size:.84rem;font-weight:700;color:#202124;line-height:1.45;max-width:22ch;
}
.google-badge-inline{margin-top:2rem;}

/* --- cartes d'avis au style Google (page Avis) -------------- */
.gwall{columns:3 320px;column-gap:1.1rem;}
.gcard{
  break-inside:avoid;display:inline-block;width:100%;margin:0 0 1.1rem;
  background:#fff;border:1px solid #e3e6ea;border-radius:12px;padding:1.15rem 1.2rem 1.2rem;
  font-family:Roboto,'Public Sans',Arial,sans-serif;color:#202124;
  box-shadow:0 1px 2px rgba(60,64,67,.08);
}
.gcard-top{display:flex;align-items:center;gap:.75rem;}
.gcard-avatar{
  flex:none;width:40px;height:40px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:600;font-size:1.05rem;
}
.gcard-who{min-width:0;flex:1;}
.gcard-name{font-weight:600;font-size:.94rem;line-height:1.3;}
.gcard-meta{font-size:.76rem;color:#70757a;line-height:1.35;}
.gcard-g{flex:none;width:20px;height:20px;}
.gcard-rating{display:flex;align-items:center;gap:.5rem;margin-top:.7rem;}
.gcard-stars{color:#fbbc04;letter-spacing:.04em;font-size:.95rem;line-height:1;}
.gcard-date{font-size:.76rem;color:#70757a;}
.gcard-text{font-size:.9rem;line-height:1.55;margin:.6rem 0 0;white-space:pre-line;}
/* Page consultation : 3 avis seulement, les colonnes laisseraient une colonne vide */
body.lp .gwall{columns:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.1rem;align-items:start;}
body.lp .gwall .gcard{margin:0;}

.gsummary{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.2rem 2rem;
  background:#fff;border:1px solid #e3e6ea;border-radius:14px;padding:1.3rem 1.6rem;margin-bottom:2rem;
  font-family:Roboto,'Public Sans',Arial,sans-serif;
}
.gsummary .big{font-size:3rem;font-weight:500;line-height:1;color:#202124;}
.gsummary .stars{color:#fbbc04;font-size:1.3rem;letter-spacing:.05em;}
.gsummary .count{color:#70757a;font-size:.9rem;}

/* --- mur d'avis --------------------------------------------- */
.review-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--border);border-left:1px solid var(--border);}
@media (max-width:900px){.review-wall{grid-template-columns:repeat(2,1fr);}}
@media (max-width:620px){.review-wall{grid-template-columns:1fr;}}
.review{
  border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  padding:1.9rem;display:flex;flex-direction:column;gap:1rem;background:var(--surface);
}
.review .stars{color:var(--brass);letter-spacing:.2em;font-size:.78rem;}
.review p{
  font-family:'Cormorant Garamond',serif;font-size:1.22rem;line-height:1.45;
  font-style:italic;margin:0;flex:1;
}
.review .who{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-top:1px solid var(--border);padding-top:.9rem;}
.review .name{font-weight:600;font-size:.84rem;}
.review .src{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);}

/* ==========================================================
   Landing page de conversion (consultation)
   Aucune navigation : la page ne doit offrir qu'une seule issue.
   ========================================================== */
body.lp{padding-bottom:86px;}
@media (min-width:900px){body.lp{padding-bottom:0;}}

.lp-header{background:var(--surface);border-bottom:1px solid var(--border);}
.lp-header .row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-block:1.1rem;flex-wrap:wrap;}
.lp-header .brand-word{color:var(--text);}
.lp-header .meta{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;}
.lp-header .rating{color:var(--brass);font-size:.8rem;letter-spacing:.08em;font-weight:600;}
.lp-header .phone{color:var(--text);text-decoration:none;font-weight:600;font-size:.95rem;}

.lp-hero{background:var(--surface);color:var(--text);padding-block:clamp(2.6rem,5vw,4.4rem);border-bottom:1px solid var(--border);}
.lp-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4vw,4rem);align-items:center;}
@media (max-width:880px){.lp-hero-grid{grid-template-columns:1fr;}}
.lp-hero h1{
  font-size:clamp(2.3rem,3.6vw + 1.2rem,3.9rem);color:var(--text);
  margin-top:1.4rem;max-width:19ch;
}
.lp-hero h1 u{text-decoration:none;border-bottom:3px solid var(--accent);padding-bottom:.06em;}
.lp-hero .proof-line{
  margin-top:1.5rem;font-size:1.02rem;color:var(--text);font-weight:700;
}
.lp-hero .sub{color:var(--text-muted);font-size:1.05rem;max-width:52ch;margin-top:1rem;}
.lp-hero .lp-photo{
  aspect-ratio:4/5;max-width:340px;margin-inline:auto;width:100%;
  border:1px solid var(--border);overflow:hidden;background:var(--surface-2);
}
.lp-hero .lp-photo img{width:100%;height:100%;object-fit:cover;}
.lp-ticks{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.8rem;}
.lp-tick{display:flex;align-items:center;gap:.55rem;font-size:.86rem;color:var(--text-muted);font-weight:600;}
.lp-tick svg{flex:none;color:var(--brass);}

.lp-stakes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid var(--border);border-top:1px solid var(--border);}
@media (max-width:760px){.lp-stakes{grid-template-columns:1fr;}}
.lp-stake{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.8rem;background:var(--surface);}
.lp-stake h3{font-size:1.26rem;}
.lp-stake p{color:var(--text-muted);font-size:.92rem;margin-top:.6rem;}

.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:var(--ink);border-top:1px solid var(--brass);
  padding:.85rem clamp(1rem,4vw,2rem);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.sticky-cta .txt{color:var(--band-text);font-size:.86rem;line-height:1.35;}
.sticky-cta .txt span{display:block;color:var(--brass-soft);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;}
.sticky-cta .btn{padding:.8rem 1.5rem;}
@media (min-width:900px){.sticky-cta{display:none;}}
@media (max-width:520px){
  .sticky-cta .txt{display:none;}
  .sticky-cta{justify-content:stretch;}
  .sticky-cta .btn{width:100%;}
}

.lp-footer{background:var(--ink-2);color:var(--band-muted);padding-block:2.4rem;font-size:.78rem;line-height:1.7;}
.lp-footer strong{color:var(--band-text);}
.lp-footer .row{display:grid;grid-template-columns:1.7fr 1fr;gap:2rem;}
@media (max-width:760px){.lp-footer .row{grid-template-columns:1fr;}}

/* ==========================================================
   Heros de conversion : centrés, et tout ce qui compte
   (preuve, titre, promesse, bouton) tient dans le premier écran.
   ========================================================== */
.hero, .lp-hero{
  padding-block:clamp(2rem,4.5vh,3.4rem) clamp(2rem,4vh,3rem);
  text-align:center;
}
.hero .container, .lp-hero .container{display:flex;flex-direction:column;align-items:center;}
.hero h1, .lp-hero h1{
  font-size:clamp(2.3rem,2.2vw + 1.6rem,4rem);
  max-width:22ch;margin-inline:auto;margin-top:1.1rem;line-height:1.04;
}
.hero .lede, .lp-hero .sub{
  max-width:62ch;margin-inline:auto;margin-top:1.1rem;
  padding-top:0;border-top:none;
  font-size:clamp(1rem,.35vw + .92rem,1.15rem);
}
.hero .hero-ctas, .lp-hero .hero-ctas{justify-content:center;margin-top:1.6rem;}
.lp-hero .lp-ticks{justify-content:center;margin-top:1.1rem;}

.hero-media{
  width:100%;max-width:920px;margin:2.6rem auto 0;aspect-ratio:16/9;
  border:1px solid var(--border);overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow-2);
}
.hero-media img{width:100%;height:100%;object-fit:cover;}

/* Badge Google en ligne, pour tenir au-dessus du titre */
.google-badge.is-row{
  flex-direction:row;align-items:center;gap:.8rem;
  padding:.6rem 1.1rem;border-radius:999px;box-shadow:none;
}
.google-badge.is-row .g-word{font-size:1.25rem;}
.google-badge.is-row .g-line{gap:.35rem;}
.google-badge.is-row .g-score,
.google-badge.is-row .g-stars{font-size:.95rem;}
.google-badge .g-count{font-size:.82rem;font-weight:600;color:#5f6368;white-space:nowrap;}

/* Preuves sous les boutons du hero : badge Google, puis logos de confiance */
.hero-proof{margin-top:1.4rem;}
.trust-logos{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:1rem 2.4rem;margin-top:1.4rem;
}
/* Logos officiels affichés tels quels : pas de filtre ni de recoloration */
.trust-logos img{height:48px;width:auto;max-width:180px;object-fit:contain;}
.trust-logos a{display:inline-flex;}
.trust-logos:not(:has(img)){display:none;}
@media (max-width:640px){
  .trust-logos{gap:.8rem 1.6rem;margin-top:1.1rem;}
  .trust-logos img{height:38px;max-width:140px;}
}

/* ==========================================================
   Cellulaire
   ========================================================== */
@media (max-width:640px){
  .utility-bar{display:none;}
  .nav-row{height:68px;gap:.6rem;}
  .mobile-panel{inset:68px 0 0 0;}
  .brand{gap:.45rem;}
  .brand svg{width:22px;height:22px;}
  .brand-word{font-size:1.08rem;white-space:nowrap;}
  /* L'en-tête porte un style inline (gap:1rem) sur .nav-right */
  .nav-right{gap:.5rem!important;}
  .nav-right .btn{padding:.6rem .75rem;font-size:.66rem;letter-spacing:.08em;}
  .nav-toggle{padding:.5rem;}

  .hero, .lp-hero{padding-block:1.5rem 1.9rem;}
  .hero h1, .lp-hero h1{font-size:clamp(2rem,8.6vw,2.55rem);max-width:none;margin-top:.9rem;}
  .hero .lede, .lp-hero .sub{font-size:.98rem;margin-top:.9rem;}
  .hero .hero-ctas, .lp-hero .hero-ctas{flex-direction:column;align-items:stretch;width:100%;margin-top:1.3rem;}
  .hero .hero-ctas .btn, .lp-hero .hero-ctas .btn{width:100%;}
  .hero .hero-ctas .btn-ghost{display:none;}
  .hero-media{margin-top:1.8rem;}

  .google-badge.is-row{padding:.5rem .9rem;gap:.55rem;}
  .google-badge.is-row .g-word{font-size:1.05rem;}
  .google-badge.is-row .g-score,
  .google-badge.is-row .g-stars{font-size:.85rem;}
  .google-badge .g-count{font-size:.76rem;}

  .lp-header .rating{display:none;}
  .section{padding-block:2.8rem;}
  .section-head{margin-bottom:1.8rem;}
  .section-head h2{font-size:clamp(1.7rem,7vw,2.1rem);}
  .page-hero{padding-block:2.2rem 2rem;}
  .page-hero h1{font-size:clamp(1.9rem,8vw,2.4rem);}
  .cta-band h2{font-size:clamp(1.8rem,7.5vw,2.3rem);}
  .btn{padding:.95rem 1.2rem;}
  .footer-legal p{font-size:.74rem;}
}

@media (prefers-reduced-motion: reduce){*{transition:none!important;}}

/* ==========================================================
   Compatibilité — pages pas encore migrées
   (services, évaluation, à propos, témoignages, contact)
   ========================================================== */
.lang-toggle{display:flex;align-items:center;border:1px solid var(--rule);padding:3px;font-size:.7rem;font-weight:600;letter-spacing:.1em;}
.lang-toggle button{background:none;border:none;padding:.3rem .6rem;color:var(--text-muted);cursor:pointer;}
.lang-toggle button.is-active{background:var(--accent);color:#fff;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4rem);align-items:center;}
@media (max-width:920px){.hero-grid{grid-template-columns:1fr;}}
.trust-row{display:flex;flex-wrap:wrap;gap:1.8rem;margin-top:2.2rem;padding-top:1.6rem;border-top:1px solid var(--band-border);}
.trust-item{display:flex;align-items:center;gap:.6rem;}
.trust-num{font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:600;}
.trust-label{font-size:.8rem;color:var(--band-muted);max-width:15ch;line-height:1.3;}
.hero-art{position:relative;display:flex;justify-content:center;padding-block:1rem;}
.file-card-back{position:absolute;width:280px;height:200px;background:var(--ink-3);border:1px solid var(--band-border);transform:rotate(5deg) translate(28px,10px);z-index:1;}
.file-card{position:relative;z-index:2;width:320px;background:var(--surface);color:var(--text);border-top:3px solid var(--brass);box-shadow:var(--shadow-2);padding:1.6rem;}
.file-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.file-card-label{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);font-weight:600;}
.file-chip{font-family:'IBM Plex Mono',monospace;font-size:.64rem;font-weight:600;background:var(--surface-2);color:var(--brass);padding:.25rem .5rem;letter-spacing:.08em;}
.file-field{display:flex;justify-content:space-between;gap:1rem;padding-block:.6rem;border-top:1px solid var(--border);}
.file-field:first-of-type{border-top:none;}
.file-field-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);font-weight:600;}
.file-field-value{font-weight:600;font-size:.9rem;text-align:right;}
.file-field-value.ok{color:var(--brass);}
.stamp{position:absolute;right:-14px;bottom:-18px;width:92px;height:92px;border-radius:50%;border:1px solid var(--brass);display:flex;align-items:center;justify-content:center;transform:rotate(-12deg);background:var(--surface);}
.stamp span{color:var(--brass);font-size:.58rem;font-weight:700;letter-spacing:.14em;text-align:center;line-height:1.4;}
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;}
@media (max-width:920px){.pillars{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.pillars{grid-template-columns:1fr;}}
.pillar{border-top:1px solid var(--rule);padding-top:1.3rem;}
.pillar-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--brass);margin-bottom:.9rem;}
.pillar h3{font-size:1.2rem;}
.pillar p{color:var(--text-muted);font-size:.92rem;margin-top:.6rem;}
.path-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--border);border-left:1px solid var(--border);}
@media (max-width:920px){.path-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.path-grid{grid-template-columns:1fr;}}
.path-card{background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.8rem;display:flex;flex-direction:column;gap:.65rem;text-decoration:none;color:var(--text);}
.path-card:hover{background:var(--surface-2);}
.path-tag{font-size:.64rem;color:var(--brass);letter-spacing:.2em;text-transform:uppercase;font-weight:700;}
.path-card h3{font-size:1.24rem;}
.path-card p{color:var(--text-muted);font-size:.88rem;flex:1;}
.path-card .arrow{font-size:.72rem;font-weight:700;color:var(--accent);letter-spacing:.14em;text-transform:uppercase;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--border);border-left:1px solid var(--border);}
@media (max-width:920px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.services-grid{grid-template-columns:1fr;}}
.service-card{background:var(--surface);border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:2rem;}
.service-card:hover{background:var(--surface-2);}
.service-code{display:inline-block;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:.68rem;color:var(--brass);letter-spacing:.16em;margin-bottom:1rem;}
.service-card h3{font-size:1.3rem;}
.service-card p{color:var(--text-muted);font-size:.92rem;margin-top:.6rem;}
.service-card .btn{margin-top:1.4rem;}
.program{border-top:1px solid var(--rule);padding-block:clamp(2.6rem,4vw,3.6rem);display:grid;grid-template-columns:.9fr 1.1fr;gap:2.8rem;}
.program:first-child{border-top:none;}
@media (max-width:820px){.program{grid-template-columns:1fr;gap:1.6rem;}}
.program-head h2, .program-head h3{font-size:1.9rem;}
.program-head p{color:var(--text-muted);margin-top:.9rem;font-size:.98rem;}
.program-head .btn{margin-top:1.4rem;}
.program-lists{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;}
@media (max-width:560px){.program-lists{grid-template-columns:1fr;}}
/* Une seule liste ("Pour qui") : pleine largeur plutôt qu'une demi-colonne vide */
.program-lists:has(> div:only-child){grid-template-columns:1fr;}
.program-lists h4{font-size:.66rem;text-transform:uppercase;letter-spacing:.18em;color:var(--brass);margin-bottom:.9rem;font-weight:700;}
.program-lists ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.65rem;}
.program-lists li{font-size:.92rem;padding-left:1.5rem;position:relative;color:var(--text-muted);}
.program-lists li::before{content:"";position:absolute;left:0;top:.72em;width:9px;height:1px;background:var(--brass);}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2.4rem;}
@media (max-width:920px){.steps{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){.steps{grid-template-columns:1fr;}}
.step{border-top:2px solid var(--brass);padding-top:1.3rem;}
.step h3{font-size:1.24rem;margin-top:.8rem;}
.step p{color:var(--text-muted);font-size:.9rem;margin-top:.6rem;}
.step-num{
  width:38px;height:38px;border:1px solid var(--brass);color:var(--brass);background:transparent;
  display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;
  font-weight:600;font-size:.85rem;
}
.testi-quote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:2.6rem;color:var(--brass);line-height:.6;}
.form-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--brass);box-shadow:var(--shadow-1);padding:clamp(1.8rem,3vw,2.6rem);max-width:660px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
@media (max-width:520px){.form-row{grid-template-columns:1fr;}}
.form-field{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.1rem;}
.form-field label{font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);}
.form-field input,.form-field select,.form-field textarea{font-family:inherit;font-size:.95rem;padding:.8rem .9rem;border-radius:var(--radius);border:1px solid var(--rule);background:var(--paper);color:var(--text);}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--brass);outline-offset:1px;}
.form-note{font-size:.78rem;color:var(--text-muted);margin-top:1.2rem;text-align:center;letter-spacing:.06em;}
.form-success{display:none;text-align:center;padding:2.6rem 1rem;}
.form-success.is-visible{display:block;}
.form-success .check{width:56px;height:56px;border-radius:50%;border:1px solid var(--brass);color:var(--brass);display:flex;align-items:center;justify-content:center;margin:0 auto 1.4rem;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.4rem,4vw,4rem);align-items:start;}
@media (max-width:880px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{display:flex;gap:1.2rem;align-items:flex-start;padding-block:1.4rem;border-top:1px solid var(--border);}
.contact-card:first-child{border-top:1px solid var(--rule);}
.contact-card-icon{width:38px;height:38px;border:1px solid var(--brass);color:var(--brass);display:flex;align-items:center;justify-content:center;flex:none;}
.contact-card h3{font-size:1.2rem;}
.contact-card p{color:var(--text-muted);font-size:.88rem;margin-top:.4rem;}
.contact-card a.value{font-weight:600;color:var(--text);text-decoration:none;font-size:.92rem;}
.contact-card a.value:hover{color:var(--accent);}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.4rem,4vw,4rem);align-items:center;}
@media (max-width:880px){.about-grid{grid-template-columns:1fr;}}
.consultant-card{background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--brass);box-shadow:var(--shadow-1);padding:2rem;}
.consultant-avatar{width:64px;height:64px;border-radius:50%;background:var(--ink);color:var(--brass-soft);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600;margin-bottom:1.2rem;}
.consultant-card h3{font-size:1.4rem;}
.consultant-card .role{font-size:.68rem;color:var(--brass);font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-top:.5rem;}
.consultant-card p{color:var(--text-muted);font-size:.9rem;margin-top:1rem;}
.badge-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.4rem;}
.badge{font-size:.68rem;border:1px solid var(--rule);color:var(--text-muted);padding:.4rem .7rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;}
.whatsapp-float{position:fixed;right:1.4rem;bottom:1.4rem;z-index:50;width:52px;height:52px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-2);text-decoration:none;}
