/* NadNaturally Wow · v1.0 · Beautiful And More
   Palette DA : ivoire #F8F2EA · champagne #D9B46B · noir #111111 */
:root{
  --nd-ivoire:#F8F2EA; --nd-ivoire-2:#EFE6DA; --nd-noir:#111111; --nd-noir-2:#1A1918;
  --nd-champ:#D9B46B; --nd-champ-fonce:#8C6A2A; --nd-champ-clair:#E9D3A2;
  --nd-texte:#111111; --nd-doux:#55504A; --nd-ligne:rgba(217,180,107,.45);
  --nd-serif:"Cormorant Garamond",Garamond,"Times New Roman",serif;
  --nd-sans:"Jost","Helvetica Neue",Arial,sans-serif;
  --nd-ease:cubic-bezier(.22,.61,.36,1);
  --nd-wrap:1180px;
}

/* ---------- Barre de progression ---------- */
.nd-progress{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--nd-champ-fonce),var(--nd-champ),var(--nd-champ-clair));z-index:99999;pointer-events:none}

/* ---------- Socle des sections ---------- */
.entry-content>.nd-bandeau{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
body:has(.nd-sec){overflow-x:hidden}
.entry-content .nd-sec.wp-block-group.alignfull{padding:clamp(72px,10vw,130px) clamp(20px,5vw,64px)!important;margin:0!important;position:relative;overflow:hidden}
.entry-content .nd-sec.wp-block-group.alignfull>*{margin-block-start:0}
.nd-sec>.wp-block-group__inner-container,.nd-sec .nd-wrap{max-width:var(--nd-wrap);margin-inline:auto;width:100%}
.nd-sec>.wp-block-group__inner-container>*+*{margin-top:0}
.nd-sec h1,.nd-sec h2,.nd-sec h3{font-family:var(--nd-serif);font-weight:400;letter-spacing:-.005em;margin:0}
.nd-sec p{margin:0}
.nd-light{background:var(--nd-ivoire)!important;color:var(--nd-texte)}
.nd-alt{background:var(--nd-ivoire-2)!important;color:var(--nd-texte)}
.nd-dark{background:radial-gradient(110% 80% at 88% 0%,rgba(217,180,107,.17),transparent 55%),radial-gradient(80% 70% at 0% 100%,rgba(217,180,107,.08),transparent 60%),var(--nd-noir)!important;color:#EDE5DA}
.nd-dark h1,.nd-dark h2,.nd-dark h3{color:var(--nd-ivoire)}
.nd-center{text-align:center}

.nd-sur{font-family:var(--nd-sans)!important;font-size:12px!important;letter-spacing:.32em;text-transform:uppercase;color:var(--nd-champ-fonce)!important;margin-bottom:18px!important;display:flex;align-items:center;gap:14px}
.nd-center .nd-sur,.nd-sur.has-text-align-center{justify-content:center}
.nd-sur::before{content:"";width:34px;height:1px;background:currentColor;opacity:.7}
.nd-dark .nd-sur{color:var(--nd-champ)!important}
.nd-h2{font-size:clamp(2.4rem,5vw,4rem)!important;line-height:1.02!important}
.nd-h2 em,.nd-h1 em{font-style:italic;color:var(--nd-champ-fonce)}
.nd-dark .nd-h2 em{color:var(--nd-champ)}
.nd-lead{font-size:clamp(1.02rem,1.3vw,1.15rem);line-height:1.75;color:var(--nd-doux);max-width:520px}
.nd-dark .nd-lead{color:#CFC6B8}
.nd-center .nd-lead{margin-inline:auto!important}

/* ---------- Boutons ---------- */
.nd-sec .wp-block-buttons{gap:12px;margin-top:36px!important}
.nd-center .wp-block-buttons{justify-content:center}
.nd-sec .wp-block-button__link{border-radius:0!important;padding:18px 34px!important;font-family:var(--nd-sans)!important;font-size:12px!important;font-weight:500!important;letter-spacing:.22em;text-transform:uppercase;background:var(--nd-noir)!important;color:var(--nd-ivoire)!important;border:1px solid var(--nd-noir)!important;position:relative;overflow:hidden;isolation:isolate;transition:color .45s var(--nd-ease),border-color .45s var(--nd-ease)}
.nd-sec .wp-block-button__link::before{content:"";position:absolute;inset:0;background:var(--nd-champ);transform:translateY(101%);transition:transform .5s var(--nd-ease);z-index:-1}
.nd-sec .wp-block-button__link:hover{color:var(--nd-noir)!important;border-color:var(--nd-champ)!important}
.nd-sec .wp-block-button__link:hover::before{transform:none}
.nd-sec .nd-btn-ghost .wp-block-button__link{background:transparent!important;color:var(--nd-noir)!important;border-color:var(--nd-noir)!important}
.nd-dark .wp-block-button__link{background:transparent!important;color:var(--nd-ivoire)!important;border-color:var(--nd-champ)!important}
.nd-dark .nd-btn-plein .wp-block-button__link{background:var(--nd-champ)!important;color:var(--nd-noir)!important}
.nd-dark .nd-btn-plein .wp-block-button__link::before{background:var(--nd-ivoire)}

/* ---------- HERO ---------- */
.nd-hero{padding-top:clamp(40px,6vw,80px)!important}
.nd-hero .nd-hero-grid{display:grid!important;grid-template-columns:1.18fr .82fr;gap:clamp(30px,6vw,90px);align-items:center;margin:0!important}
.nd-hero .nd-hero-grid>.wp-block-column{margin:0!important;min-width:0}
.nd-h1{font-size:clamp(2.9rem,6.2vw,5.9rem)!important;line-height:.94!important;letter-spacing:-.02em!important}
.nd-h1 .nd-mot{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.nd-h1 .nd-mot>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--nd-ease)}
.nd-ready .nd-h1 .nd-mot>span{transform:none}
.nd-hero .nd-lead{margin-top:30px!important}
.nd-mesures{display:flex;gap:clamp(18px,3vw,40px);margin-top:44px!important;padding-top:26px;border-top:1px solid var(--nd-ligne);max-width:460px}
.nd-mesures div{font-family:var(--nd-serif);font-size:clamp(1.5rem,2.4vw,2rem);line-height:1}
.nd-mesures small{display:block;font-family:var(--nd-sans);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--nd-doux);margin-bottom:8px}

/* Arche + badge tournant */
.nd-arche-zone{position:relative;max-width:500px;margin-inline:auto;margin-bottom:56px}
.nd-arche{position:relative;margin:0!important;padding:14px}
.nd-arche::after{content:"";position:absolute;inset:0;border:1px solid var(--nd-champ);border-radius:999px 999px 0 0;pointer-events:none}
.nd-arche::before{content:"";position:absolute;top:6px;left:50%;width:9px;height:9px;background:var(--nd-champ);transform:translateX(-50%) rotate(45deg);z-index:2}
.nd-arche img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/4;object-fit:cover;border-radius:999px 999px 0 0}
.nd-arche figcaption{position:absolute;left:0;right:0;top:100%;text-align:center;font-family:var(--nd-serif);font-style:italic;font-size:1rem;letter-spacing:.06em;color:var(--nd-champ-fonce);margin-top:14px}
.nd-dark .nd-arche figcaption{color:var(--nd-champ)}
.nd-badge{position:absolute;left:-46px;bottom:70px;width:132px;height:132px;border-radius:50%;background:var(--nd-ivoire);box-shadow:0 18px 40px -18px rgba(17,17,17,.35);display:grid;place-items:center;z-index:3}
.nd-badge svg{position:absolute;inset:0;width:100%;height:100%;animation:nd-tourne 22s linear infinite}
.nd-badge b{font-family:var(--nd-serif);font-weight:400;font-style:italic;font-size:30px;line-height:1;color:var(--nd-noir)}
.nd-badge span{display:block;text-align:center;font-family:var(--nd-sans);font-size:8px;letter-spacing:.3em;color:var(--nd-champ-fonce);margin-top:4px}
@keyframes nd-tourne{to{transform:rotate(360deg)}}
.nd-vertical{position:absolute;right:-38px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-family:var(--nd-sans);font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--nd-doux);white-space:nowrap}

/* ---------- Bandeaux défilants ---------- */
.nd-bandeau{overflow:hidden;background:var(--nd-noir);color:var(--nd-ivoire);border-block:1px solid rgba(217,180,107,.35);padding:22px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.nd-piste{display:flex;width:max-content;animation:nd-defile 42s linear infinite}
.nd-bandeau:hover .nd-piste{animation-play-state:paused}
.nd-piste span{display:inline-flex;align-items:center;white-space:nowrap;font-family:var(--nd-serif);font-style:italic;font-size:clamp(1.3rem,2.4vw,1.9rem);padding-inline:30px}
.nd-piste span::after{content:"✦";font-style:normal;font-size:.6em;color:var(--nd-champ);margin-left:60px}
@keyframes nd-defile{to{transform:translateX(-50%)}}
.nd-piste.nd-inverse{animation-direction:reverse}

/* ---------- Compteurs ---------- */
.nd-chiffres{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--nd-ligne);border-bottom:1px solid var(--nd-ligne)}
.nd-chiffre{padding:44px 24px;text-align:center;position:relative}
.nd-chiffre+.nd-chiffre{border-left:1px solid var(--nd-ligne)}
.nd-chiffre strong{display:block;font-family:var(--nd-serif);font-weight:300;font-size:clamp(3rem,6vw,5.4rem);line-height:1;color:var(--nd-noir);font-variant-numeric:lining-nums}
.nd-chiffre strong i{font-style:italic;color:var(--nd-champ-fonce);font-size:.55em;margin-left:4px}
.nd-chiffre>span{display:block;margin-top:14px;font-family:var(--nd-sans);font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--nd-doux)}

/* ---------- Portfolio en arches décalées ---------- */
.nd-galerie{margin-top:60px!important}
.nd-galerie>.wp-block-group__inner-container,.nd-galerie:not(:has(>.wp-block-group__inner-container)){display:grid!important;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,26px);align-items:start}
.nd-galerie>.wp-block-group__inner-container>*{margin:0!important}
.nd-galerie .wp-block-image{position:relative;overflow:hidden;border-radius:999px 999px 0 0;margin:0!important}
.nd-galerie .wp-block-image:nth-child(even){margin-top:70px!important}
.nd-galerie img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/4.3;object-fit:cover;transition:transform 1.4s var(--nd-ease),filter 1.4s var(--nd-ease);filter:saturate(.9)}
.nd-galerie .wp-block-image:hover img{transform:scale(1.07);filter:saturate(1.05)}
.nd-galerie figcaption{position:absolute;left:0;right:0;bottom:0;margin:0!important;padding:40px 16px 18px;text-align:center;font-family:var(--nd-serif);font-style:italic;font-size:1.05rem;color:var(--nd-ivoire);background:linear-gradient(transparent,rgba(17,17,17,.75));opacity:0;transform:translateY(12px);transition:opacity .6s var(--nd-ease),transform .6s var(--nd-ease)}
.nd-galerie .wp-block-image:hover figcaption{opacity:1;transform:none}

/* ---------- Ils m'ont fait confiance ---------- */
.nd-confiance .nd-bandeau{background:transparent;color:var(--nd-noir);border:0;padding:16px 0}
.nd-confiance .nd-piste span{font-size:clamp(1.7rem,3.4vw,2.9rem);font-style:normal;font-weight:400}
.nd-confiance .nd-piste span:nth-child(even){font-style:italic;color:var(--nd-champ-fonce)}
.nd-confiance .nd-piste span::after{color:var(--nd-champ);font-size:.4em}
.nd-confiance .nd-piste.nd-inverse span{font-family:var(--nd-sans);font-style:normal;font-size:clamp(.85rem,1.2vw,1rem);letter-spacing:.3em;text-transform:uppercase;color:var(--nd-doux)}
.nd-confiance .nd-piste.nd-inverse span::after{content:"—";font-size:1em;margin-left:40px}
.nd-confiance .nd-bandeaux{margin:56px calc(50% - 50vw) 0;border-top:1px solid var(--nd-ligne);border-bottom:1px solid var(--nd-ligne);padding:14px 0}
.nd-note{margin-top:34px!important;font-family:var(--nd-serif);font-style:italic;font-size:1.25rem;color:var(--nd-doux)}

/* ---------- Londres ---------- */
.nd-londres .nd-duo{display:grid!important;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,7vw,100px);align-items:center;margin:0!important;position:relative;z-index:1}
.nd-londres .nd-duo>.wp-block-column{margin:0!important;min-width:0}
.nd-londres .nd-arche img{animation:nd-zoom 18s ease-in-out infinite alternate}
@keyframes nd-zoom{from{transform:scale(1)}to{transform:scale(1.08)}}
.nd-londres .nd-arche{overflow:hidden}
.nd-londres .nd-arche::after{border-color:var(--nd-champ-clair)}
.nd-fantome{position:absolute;left:0;right:0;bottom:-.18em;text-align:center;font-family:var(--nd-serif);font-style:italic;font-size:clamp(5rem,15vw,15rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(217,180,107,.22);white-space:nowrap;pointer-events:none;z-index:0;user-select:none}
.nd-citation{font-family:var(--nd-serif);font-style:italic;font-size:clamp(1.3rem,2vw,1.6rem)!important;color:var(--nd-champ-clair)!important;margin-top:26px!important;padding-left:22px;border-left:1px solid var(--nd-champ)}
.nd-londres .nd-lead{margin-top:24px!important}

/* ---------- Cartes animées ---------- */
.nd-cartes{margin-top:60px!important;text-align:left}
.nd-cartes>.wp-block-group__inner-container,.nd-cartes:not(:has(>.wp-block-group__inner-container)){display:grid!important;grid-template-columns:repeat(3,1fr);gap:24px}
.nd-cartes>.wp-block-group__inner-container>*,.nd-cartes>*{margin:0!important}
.nd-carte>.wp-block-group__inner-container>*{margin:0}
.nd-carte{position:relative;background:var(--nd-ivoire);border:1px solid var(--nd-ligne);padding:42px 34px 46px!important;transition:transform .7s var(--nd-ease),box-shadow .7s var(--nd-ease),border-color .7s var(--nd-ease),background .7s var(--nd-ease);overflow:hidden}
.nd-carte::before{content:"";position:absolute;left:34px;right:34px;top:0;height:2px;background:var(--nd-champ);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--nd-ease)}
.nd-carte:hover{transform:translateY(-10px);border-color:var(--nd-champ);box-shadow:0 30px 60px -30px rgba(17,17,17,.4)}
.nd-carte:hover::before{transform:scaleX(1)}
.nd-carte .nd-num{font-family:var(--nd-serif);font-style:italic;font-size:1.3rem;color:var(--nd-champ-fonce)}
.nd-carte h3{font-size:2.1rem!important;margin:22px 0 12px!important}
.nd-carte p{color:var(--nd-doux);font-size:15.5px;line-height:1.7}
.nd-carte .nd-lien{display:inline-block;margin-top:26px!important;font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.nd-carte .nd-lien a{color:inherit;text-decoration:none;border-bottom:1px solid var(--nd-champ);padding-bottom:5px}
.nd-carte .nd-lien a::after{content:" →";transition:margin .4s var(--nd-ease)}
.nd-carte:hover .nd-lien a::after{margin-left:6px}
.nd-carte.nd-star{background:var(--nd-noir)!important;border-color:var(--nd-champ)}
.nd-carte.nd-star h3{color:var(--nd-ivoire)}
.nd-carte.nd-star p{color:#CFC6B8}
.nd-carte.nd-star .nd-num{color:var(--nd-champ)}
.nd-carte.nd-star .nd-lien a{color:var(--nd-ivoire)}
.nd-carte .nd-glow{position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(rgba(217,180,107,.28),transparent 65%);left:var(--mx,50%);top:var(--my,50%);transform:translate(-50%,-50%);opacity:0;transition:opacity .5s;pointer-events:none}
.nd-carte:hover .nd-glow{opacity:1}

/* ---------- CTA final ---------- */
.nd-cta{padding-top:0!important}
.nd-cta .nd-geant{overflow:hidden;margin:0 calc(50% - 50vw) clamp(50px,7vw,90px);padding:clamp(26px,4vw,46px) 0;border-bottom:1px solid rgba(217,180,107,.25)}
.nd-cta .nd-geant .nd-piste{animation-duration:30s}
.nd-cta .nd-geant span{font-family:var(--nd-serif);font-style:normal;font-size:clamp(4rem,11vw,10rem);line-height:1;color:transparent;-webkit-text-stroke:1px var(--nd-champ);padding-inline:40px;text-transform:none}
.nd-cta .nd-geant span:nth-child(even){font-style:italic;color:var(--nd-ivoire);-webkit-text-stroke:0}
.nd-cta .nd-geant span::after{content:"✦";-webkit-text-stroke:0;color:var(--nd-champ);font-size:.3em;margin-left:80px}

/* ---------- Apparitions ---------- */
.nd-js .nd-rv{opacity:0;transform:translateY(46px);transition:opacity 1.1s var(--nd-ease),transform 1.1s var(--nd-ease);transition-delay:var(--d,0s)}
.nd-js .nd-rv.nd-in{opacity:1;transform:none}
.nd-js .nd-rv-img{clip-path:inset(100% 0 0 0);transition:clip-path 1.4s var(--nd-ease);transition-delay:var(--d,0s)}
.nd-js .nd-rv-img.nd-in{clip-path:inset(0 0 0 0)}

/* ---------- Tablette / mobile ---------- */
@media (max-width:1024px){
  .nd-badge{left:-10px;width:110px;height:110px}
  .nd-vertical{display:none}
}
@media (max-width:860px){
  .nd-hero .nd-hero-grid,.nd-londres .nd-duo{grid-template-columns:1fr}
  .nd-hero .nd-hero-grid>.wp-block-column:last-child{order:-1}
  .nd-arche-zone{max-width:380px}
  .nd-chiffres{grid-template-columns:repeat(2,1fr)}
  .nd-chiffre:nth-child(3){border-left:0}
  .nd-chiffre:nth-child(n+3){border-top:1px solid var(--nd-ligne)}
  .nd-galerie>.wp-block-group__inner-container,.nd-galerie:not(:has(>.wp-block-group__inner-container)){grid-template-columns:repeat(2,1fr)}
  .nd-galerie .wp-block-image:nth-child(even){margin-top:40px!important}
  .nd-cartes>.wp-block-group__inner-container,.nd-cartes:not(:has(>.wp-block-group__inner-container)){grid-template-columns:1fr}
  .nd-carte:hover{transform:none}
}
@media (max-width:520px){
  .nd-mesures{gap:16px}
  .nd-badge{width:92px;height:92px;bottom:40px}
  .nd-badge b{font-size:22px}
  .nd-chiffre{padding:30px 10px}
  .nd-sec .wp-block-button__link{padding:16px 24px!important}
}
@media (prefers-reduced-motion:reduce){
  .nd-piste,.nd-badge svg,.nd-londres .nd-arche img{animation:none!important}
  .nd-js .nd-rv,.nd-js .nd-rv-img{opacity:1;transform:none;clip-path:none;transition:none}
  .nd-h1 .nd-mot>span{transform:none!important}
}
