/* Cabinet NDA — feuille de styles partagee (fonts auto-hebergees, animations, responsive) */
/* ===== fonts (self-hosted, latin subset) ===== */
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/ebgaramond-400-i-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/ebgaramond-500-i-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ebgaramond-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ebgaramond-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ebgaramond-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:300;font-display:swap;src:url(fonts/mulish-300-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/mulish-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/mulish-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/mulish-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/mulish-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/mulish-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Mulish';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/mulish-900-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* ===== base ===== */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#F6EFE6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:'Mulish',system-ui,sans-serif;color:#2A2A2E;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{max-width:100%}
input,textarea,button,select{font-family:inherit}
::selection{background:#C0285F;color:#fff}
:focus-visible{outline:2px solid #C0285F;outline-offset:2px}

/* ===== animations & utilities (from design) ===== */
@keyframes ndaTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ndaFade{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes ndaGlow{0%,100%{opacity:.5}50%{opacity:.85}}
@keyframes ndaPop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ndaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
@keyframes ndaFloat2{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(14px) translateX(10px)}}
@keyframes ndaDrift{0%{transform:translate(0,0) rotate(0deg)}50%{transform:translate(28px,-22px) rotate(8deg)}100%{transform:translate(0,0) rotate(0deg)}}
@keyframes ndaSpinSlow{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes ndaPulseRing{0%{transform:translate(-50%,-50%) scale(.6);opacity:.55}80%{opacity:0}100%{transform:translate(-50%,-50%) scale(1.7);opacity:0}}
@keyframes ndaRingPulse{0%{transform:translateY(-50%) scale(.7);opacity:.5}80%{opacity:0}100%{transform:translateY(-50%) scale(1.65);opacity:0}}
@keyframes ndaBlob{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-20px) scale(1.12)}66%{transform:translate(-18px,22px) scale(.92)}}
@keyframes ndaSheen{0%{background-position:-160% 0}55%,100%{background-position:260% 0}}
@keyframes ndaFloatFast{0%,100%{transform:translateY(0)}50%{transform:translateY(-26px)}}
@keyframes ndaFloatFast2{0%,100%{transform:translate(0,0)}50%{transform:translate(-16px,20px)}}
@keyframes ndaTwinkle{0%,100%{opacity:.35;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
@keyframes ndaWander1{0%{transform:translate(0,0)}33%{transform:translate(16px,-20px)}66%{transform:translate(-12px,-30px)}100%{transform:translate(0,0)}}
@keyframes ndaWander2{0%{transform:translate(0,0)}50%{transform:translate(-24px,18px)}100%{transform:translate(0,0)}}
@keyframes ndaWander3{0%{transform:translate(0,0)}25%{transform:translate(14px,16px)}50%{transform:translate(26px,-10px)}75%{transform:translate(8px,-24px)}100%{transform:translate(0,0)}}
@keyframes ndaWander4{0%{transform:translate(0,0)}40%{transform:translate(-18px,-14px)}70%{transform:translate(12px,-22px)}100%{transform:translate(0,0)}}
@keyframes ndaGlimmer{0%,100%{opacity:.5}50%{opacity:1}}
@keyframes ndaQin{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.nda-qcard{animation:ndaQin .42s cubic-bezier(.2,.7,.2,1) both}
.nda-sheen{position:relative;overflow:hidden}
.nda-sheen::after{content:"";position:absolute;inset:0;background-image:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.3) 48%,transparent 66%);background-size:220% 100%;background-repeat:no-repeat;animation:ndaSheen 5.5s ease-in-out infinite;pointer-events:none}
.nda-rise{animation:ndaFade .8s cubic-bezier(.2,.7,.2,1) both}
.nda-card{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s cubic-bezier(.2,.7,.2,1),border-color .45s}
@keyframes ndaReveal{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.nda-marq{display:flex;width:max-content;animation:ndaTicker 34s linear infinite}
.nda-avis-marq:hover .nda-avis-track{animation-play-state:paused}
[data-rev]{animation:ndaReveal 1s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry -18% entry 38%}
@media (prefers-reduced-motion:reduce){[data-rev]{animation:none!important}.nda-marq,.nda-avis-track,.nda-float,.nda-drift,.nda-blob,.nda-sheen::after,.nda-spin,.nda-ring,.nda-twinkle{animation:none!important}}
.nda-svc{position:relative}
.nda-svc-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(6px);padding-top:16px;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s;z-index:200}
.nda-svc:hover .nda-svc-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.nda-svc-card:hover{transform:translateY(-8px);box-shadow:0 30px 56px -26px rgba(192,40,95,.34);border-color:var(--pink,#C0285F)}
.nda-svc-card:hover .nda-svc-arrow{transform:translateX(5px)}
@keyframes ndaGrowX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes ndaSlideL{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:none}}
@keyframes ndaSlideR{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:translateY(-10px)}}
@keyframes ndaCmpGlow{0%,100%{box-shadow:0 26px 54px -26px rgba(192,40,95,.4)}50%{box-shadow:0 26px 60px -22px rgba(192,40,95,.6)}}
@keyframes ndaConvergeL{0%,100%{transform:translateX(0)}50%{transform:translateX(20px)}}
@keyframes ndaConvergeR{0%,100%{transform:translateX(0)}50%{transform:translateX(-20px)}}
@keyframes ndaTilt{0%,100%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}}
@keyframes ndaPanL{0%,100%{transform:translateY(5px)}50%{transform:translateY(-5px)}}
@keyframes ndaPanR{0%,100%{transform:translateY(-5px)}50%{transform:translateY(5px)}}
@keyframes ndaShieldPulse{0%{transform:translate(-50%,-50%) scale(.7);opacity:.7}80%{opacity:0}100%{transform:translate(-50%,-50%) scale(1.5);opacity:0}}
.nda-bar-seg{transform-origin:left;animation:ndaGrowX 1s cubic-bezier(.55,0,.25,1) both;animation-timeline:view();animation-range:entry -12% cover 22%}
.nda-bar-seg:nth-child(2){animation-range:entry -8% cover 26%}
.nda-bar-seg:nth-child(3){animation-range:entry -4% cover 30%}
.nda-cmp-left{animation:ndaSlideL .9s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry -12% cover 18%;transition:opacity .5s}
.nda-cmp-right{animation:ndaSlideR .9s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry -12% cover 18%}
.nda-cmp-right .nda-cmp-inner{animation:ndaCmpGlow 4.5s ease-in-out infinite;animation-delay:1s}
@media (max-width:760px){.nda-cmp-left,.nda-cmp-right{animation-range:entry -10% cover 12%}}
@media (prefers-reduced-motion:reduce){.nda-bar-seg{animation:none!important;transform:none!important}.nda-cmp-left,.nda-cmp-right,.nda-cmp-right .nda-cmp-inner{animation:none!important}}

/* ===== hover utilities (replace design's style-hover) ===== */
.hov-pink:hover{color:#C0285F}
.hov-drop:hover{background:#FBEEF3;color:#C0285F}
.hov-lift:hover{transform:translateY(-2px)}
.hov-fade:hover{opacity:.6}
.hov-white:hover{color:#fff}
.hov-shadow:hover{box-shadow:0 28px 56px -24px rgba(192,40,95,.4)}


/* Desktop is left 100% untouched => pixel-identical to the Claude Design mockup.
   Heading down-scaling happens ONLY inside the mobile media query below. */

/* ===== mobile menu (CSS-only) ===== */
.nda-burger{display:none}
.nda-burger-cb{position:absolute;opacity:0;pointer-events:none}
/* lien "Contact" : visible uniquement dans le menu mobile, masqué dans le header desktop */
.nda-menu-only{display:none!important}

/* ===== responsive (<=820px) ===== */
@media(max-width:820px){
  /* scale down the mockup's large headings on small screens only */
  .nda h1{font-size:clamp(32px,8.4vw,50px)!important;line-height:1.08!important}
  .nda h2{font-size:clamp(25px,6vw,38px)!important}
  /* tighten container side padding */
  .nda [style*="max-width:1240px"],.nda [style*="max-width:1160px"]{padding-left:20px!important;padding-right:20px!important}
  /* collapse every multi-column grid unless opted out */
  .nda [style*="grid-template-columns"]:not(.nda-keep){grid-template-columns:1fr!important}
  /* trim oversized vertical paddings */
  .nda [style*="padding:84px"]{padding-top:54px!important;padding-bottom:54px!important}
  .nda [style*="padding:78px"]{padding-top:52px!important;padding-bottom:52px!important}
  /* hero: remove huge bottom gap */
  .nda-hero{padding-bottom:48px!important}
  /* cards / inner padding ease */
  .nda [style*="padding:48px 52px"],.nda [style*="padding:52px 56px"],.nda [style*="padding:44px 46px"]{padding:30px 24px!important}
  /* homepage : styles inline 'property: value' avec espaces — variantes que les sélecteurs sans espace ne matchaient pas */
  .nda [style*="max-width: 1240px"],.nda [style*="max-width: 1160px"]{padding-left:20px!important;padding-right:20px!important}
  /* cartes CTA (bas de page) : empilées + bouton CENTRÉ sur mobile */
  .nda-cta{flex-direction:column!important;align-items:stretch!important;padding:32px 24px!important;gap:20px!important}
  .nda-cta>div{min-width:0!important}
  .nda-cta>a{align-self:center!important}
  .nda-cta>div:last-child{display:flex!important;justify-content:center!important}
  /* ===== header mobile : logo COMPLET + burger sur une ligne ; bouton RDV déplacé dans le menu (Contact) ===== */
  .nda-header-inner{flex-wrap:wrap;gap:10px!important;padding:12px 16px!important}
  .nda-nav{display:none!important}
  .nda-header-inner>a:first-child{order:1;flex:0 1 auto;min-width:0}
  /* bouton RDV retiré de la barre sur mobile (accessible via le menu → Contact) */
  .nda-header-cta{display:none!important}
  .nda-burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(200,163,91,.5);border-radius:12px;background:#fff;cursor:pointer;color:#2A2A2E;order:2;margin-left:auto;flex:0 0 auto}
  /* ===== menu déroulant (burger ouvert) : panneau blanc, texte plus grand, plus aéré ===== */
  .nda-burger-cb:checked ~ .nda-nav{display:flex!important;flex-direction:column;align-items:stretch;gap:4px!important;width:100%;order:4;margin:12px 0 4px!important;padding:12px!important;background:#fff;border:1px solid rgba(200,163,91,.3);border-radius:16px;box-shadow:0 18px 40px -20px rgba(60,40,20,.35)}
  .nda-burger-cb:checked ~ .nda-nav>a,
  .nda-burger-cb:checked ~ .nda-nav>.nda-svc>a{display:block;padding:14px 16px!important;font-size:17px!important;border-radius:10px;color:var(--ink,#2A2A2E)!important}
  .nda-burger-cb:checked ~ .nda-nav .nda-svc-menu{position:static;opacity:1;visibility:visible;transform:none;padding-top:2px}
  .nda-burger-cb:checked ~ .nda-nav .nda-svc-menu>span{box-shadow:none!important;border:0!important;padding:0!important;background:transparent!important}
  .nda-burger-cb:checked ~ .nda-nav .nda-svc-menu a{font-size:15px!important;padding:11px 16px 11px 28px!important;color:var(--muted,#6B6B72)!important}
  /* "Contact" réapparaît dans le menu mobile ouvert */
  .nda-burger-cb:checked ~ .nda-nav .nda-menu-only{display:block!important}
}
@media(max-width:520px){
  .nda [style*="padding:30px 40px 70px"]{padding:18px 18px 28px!important}
  .nda [style*="padding:0 40px"]{padding-left:18px!important;padding-right:18px!important}
}

/* ===== service-page entrance animations (nd-rise / nda-stagger / nda-lever) ===== */
@keyframes ndFade{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes ndGlow{0%,100%{opacity:.5}50%{opacity:.85}}
.nd-rise{animation:ndFade .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes ndaCardUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
.nda-stagger>*{animation:ndaCardUp 1s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry 4% cover 42%}
.nda-stagger>*:nth-child(2){animation-range:entry 10% cover 48%}
.nda-stagger>*:nth-child(3){animation-range:entry 16% cover 54%}
.nda-stagger>*:nth-child(4){animation-range:entry 22% cover 60%}
@keyframes ndaLever{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes ndaBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.nda-lever{animation:ndaLever .9s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry -15% cover 14%;transition:box-shadow .45s cubic-bezier(.2,.7,.2,1)}
.nda-lever:hover{box-shadow:0 28px 56px -24px rgba(192,40,95,.4)!important}
.nda-lever>div:first-child{transform-origin:left;animation:ndaBar 1.1s cubic-bezier(.2,.7,.2,1) both;animation-timeline:view();animation-range:entry -10% cover 18%}
@media (prefers-reduced-motion:reduce){.nda-stagger>*,.nd-rise,.nda-lever,.nda-lever>div:first-child{animation:none!important}}

/* ===== RDV / avis modal (vanilla) ===== */
.nda-modal-ov{position:fixed;inset:0;z-index:5000;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:48px 20px;background:rgba(28,20,24,.5);backdrop-filter:blur(6px);opacity:0;transition:opacity .22s}
.nda-modal-ov.open{opacity:1}
.nda-modal-card{width:100%;max-width:720px;background:#fff;border-radius:24px;box-shadow:0 40px 90px -30px rgba(60,20,40,.55);overflow:hidden;transform:translateY(14px) scale(.985);transition:transform .26s cubic-bezier(.2,.7,.2,1);margin:auto}
.nda-modal-ov.open .nda-modal-card{transform:none}
.nda-modal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 28px;border-bottom:1px solid rgba(200,163,91,.22)}
.nda-modal-x{width:40px;height:40px;border-radius:50%;border:1px solid rgba(200,163,91,.45);background:#fff;color:#6B6B72;font-size:22px;line-height:1;cursor:pointer;transition:background .2s,color .2s}
.nda-modal-x:hover{background:#FBEEF3;color:#C0285F}
.nda-modal-body{padding:34px 40px 38px}
.nda-eyebrow{display:flex;align-items:center;gap:12px;font:700 12px/1 'Mulish',sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:#9a8456;margin-bottom:18px}
.nda-eyebrow-line{width:42px;height:1px;background:#C8A35B}
.nda-modal-title{font:500 34px/1.12 'EB Garamond',serif;letter-spacing:-.4px;color:#2A2A2E;margin:0 0 18px}
.nda-modal-p{font:400 16px/1.65 'Mulish',sans-serif;color:#56504a;margin:0 0 14px}
.nda-btn-primary{font:700 14px/1 'Mulish',sans-serif;color:#fff;background:#C0285F;border:none;padding:16px 30px;border-radius:32px;cursor:pointer;box-shadow:0 10px 26px rgba(192,40,95,.3);transition:transform .25s,box-shadow .25s}
.nda-btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(192,40,95,.4)}
.nda-btn-ghost{font:700 14px/1 'Mulish',sans-serif;color:#2A2A2E;background:transparent;border:1.5px solid rgba(42,42,46,.25);padding:14px 24px;border-radius:32px;cursor:pointer;transition:border-color .2s,color .2s}
.nda-btn-ghost:hover{border-color:#C0285F;color:#C0285F}
.nda-prog{height:5px;border-radius:4px;background:#F0E6D8;overflow:hidden;margin-bottom:22px}
.nda-prog span{display:block;height:100%;background:linear-gradient(90deg,#C0285F,#C8A35B);border-radius:4px;transition:width .35s cubic-bezier(.2,.7,.2,1)}
.nda-qnum{font:700 11px/1 'Mulish',sans-serif;letter-spacing:2px;text-transform:uppercase;color:#9a8456;margin-bottom:12px}
.nda-q{font:500 27px/1.18 'EB Garamond',serif;letter-spacing:-.3px;color:#2A2A2E;margin:0 0 8px}
.nda-help{font:400 14px/1.5 'Mulish',sans-serif;color:#9a8c78;margin:0 0 18px}
.nda-opts{display:flex;flex-direction:column;gap:11px;margin:18px 0 6px}
.nda-opt{display:flex;align-items:center;gap:12px;text-align:left;font:500 15.5px/1.4 'Mulish',sans-serif;color:#2A2A2E;background:#fff;border:1.5px solid rgba(200,163,91,.4);border-radius:14px;padding:15px 18px;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}
.nda-opt:hover{border-color:#C0285F;background:#FBEEF3}
.nda-opt.sel{border-color:#C0285F;background:#FBEEF3;box-shadow:0 0 0 1px #C0285F}
.nda-check{flex:none;width:18px;height:18px;border-radius:5px;border:1.5px solid rgba(200,163,91,.6);position:relative}
.nda-opt.sel .nda-check{background:#C0285F;border-color:#C0285F}
.nda-opt.sel .nda-check:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg)}
.nda-field{position:relative;margin:18px 0 6px}
.nda-field input,.nda-field textarea,.nda-anc input{width:100%;font:400 16px/1.5 'Mulish',sans-serif;color:#2A2A2E;background:#fff;border:1.5px solid rgba(200,163,91,.4);border-radius:14px;padding:15px 18px;outline:none;transition:border-color .18s,box-shadow .18s}
.nda-field input:focus,.nda-field textarea:focus,.nda-anc input:focus{border-color:#C0285F;box-shadow:0 0 0 1px #C0285F}
.nda-field textarea{resize:vertical}
.nda-suffix{position:absolute;right:18px;top:15px;font:600 15px/1.5 'Mulish';color:#9a8c78}
.nda-anc{display:flex;gap:14px;margin:18px 0 6px}
.nda-anc label{flex:1;display:flex;flex-direction:column;gap:7px;font:600 12px/1 'Mulish';letter-spacing:1px;text-transform:uppercase;color:#9a8456}
.nda-err{font:600 13px/1.4 'Mulish',sans-serif;color:#C0285F;margin:12px 0 0}
.nda-nav-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:26px}
.nda-summary{display:flex;flex-direction:column;border:1px solid rgba(200,163,91,.3);border-radius:16px;overflow:hidden;margin:6px 0 16px}
.nda-sum-row{display:flex;justify-content:space-between;gap:18px;padding:12px 18px;font:400 14px/1.45 'Mulish',sans-serif;color:#6B6B72;border-top:1px solid rgba(200,163,91,.18)}
.nda-sum-row:first-child{border-top:0}
.nda-sum-row b{color:#2A2A2E;text-align:right}
.nda-sum-id{background:#FBEEF3;border-radius:14px;padding:16px 18px;font:400 14px/1.5 'Mulish';color:#6B6B72}
.nda-sum-id b{color:#2A2A2E;font:600 16px/1.3 'EB Garamond',serif}
.nda-badge{width:62px;height:62px;border-radius:50%;background:#1F7A5A;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;margin:0 auto}
@media(max-width:640px){.nda-modal-body{padding:24px 22px 28px}.nda-modal-title{font-size:27px}.nda-q{font-size:23px}.nda-modal-ov{padding:14px}}

/* ===== avis cards clickable affordance ===== */
[data-avis-idx]{cursor:pointer}

/* ===== reveals robustes cross-navigateur (IntersectionObserver, .nda-js) =====
   Remplace animation-timeline:view() (non supporté par Firefox / Safari<17.4).
   Sans JS : aucune de ces règles ne s'applique → contenu visible (SEO-safe). */
html.nda-js [data-rev],
html.nda-js .nda-stagger>*,
html.nda-js .nda-lever,
html.nda-js .nda-bar-seg,
html.nda-js .nda-cmp-left,
html.nda-js .nda-cmp-right{opacity:0;animation:none!important}
html.nda-js [data-rev].nda-in{opacity:1;animation:ndaReveal .9s cubic-bezier(.2,.7,.2,1) both!important}
html.nda-js .nda-stagger>*.nda-in{opacity:1;animation:ndaCardUp .8s cubic-bezier(.2,.7,.2,1) both!important}
html.nda-js .nda-stagger>*.nda-in:nth-child(2){animation-delay:.08s!important}
html.nda-js .nda-stagger>*.nda-in:nth-child(3){animation-delay:.16s!important}
html.nda-js .nda-stagger>*.nda-in:nth-child(4){animation-delay:.24s!important}
html.nda-js .nda-stagger>*.nda-in:nth-child(5){animation-delay:.32s!important}
html.nda-js .nda-stagger>*.nda-in:nth-child(6){animation-delay:.40s!important}
html.nda-js .nda-lever.nda-in{opacity:1;animation:ndaLever .8s cubic-bezier(.2,.7,.2,1) both!important}
html.nda-js .nda-lever.nda-in>div:first-child{animation:ndaBar 1s cubic-bezier(.2,.7,.2,1) both!important}
html.nda-js .nda-bar-seg.nda-in{opacity:1;animation:ndaGrowX .9s cubic-bezier(.55,0,.25,1) both!important}
html.nda-js .nda-cmp-left.nda-in{opacity:1;animation:ndaSlideL .8s cubic-bezier(.2,.7,.2,1) both!important}
html.nda-js .nda-cmp-right.nda-in{opacity:1;animation:ndaSlideR .8s cubic-bezier(.2,.7,.2,1) both!important}
@media (prefers-reduced-motion:reduce){
  html.nda-js [data-rev],html.nda-js .nda-stagger>*,html.nda-js .nda-lever,
  html.nda-js .nda-bar-seg,html.nda-js .nda-cmp-left,html.nda-js .nda-cmp-right{opacity:1!important;transform:none!important;animation:none!important}
}
/* avatar avis */
.nda-av{flex:none;width:34px;height:34px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#C0285F,#C8A35B);display:flex;align-items:center;justify-content:center;font:700 13px/1 'Mulish',sans-serif;color:#fff}
.nda-av img{width:100%;height:100%;object-fit:cover;display:block}


/* loader d'envoi du formulaire RDV */
.nda-loader{display:inline-block;width:42px;height:42px;border:3px solid rgba(192,40,95,.2);border-top-color:#C0285F;border-radius:50%;animation:ndaSpinSlow .8s linear infinite}
