/*
Theme Name: Nouveau Pari
Theme URI: https://nouveaupari.fr
Author: Nouveau Pari
Description: Thème sur-mesure de l'agence Nouveau Pari, bâti sur le design system Claude Design (palette terracotta & papier, Newsreader + Inter). Rend l'en-tête, le pied et les gabarits ; le plugin np-site ne fournit que les données (réalisations, champs ACF, formulaire).
Version: 0.2.4
Requires PHP: 7.4
Text Domain: nouveau-pari
*/

/* =============================================================
   TOKENS : Design System Nouveau Pari (Claude Design)
   Source de vérité (valeurs reprises verbatim du handoff).
   Couche d'alias en fin de bloc : anciens noms → tokens DS,
   pour réutiliser la charte existante sans la réécrire.
   ============================================================= */
:root {
  --encre:#221C17; --creme:#F4ECDE; --papier:#FBF6EE;
  --terracotta:#C0552F; --terracotta-fonce:#9A411F; --lie-de-vin:#6E2A33;
  --gris-chaud:#6E6357; --blanc:#FFFFFF;
  --encre-80:rgba(34,28,23,.80); --encre-60:rgba(34,28,23,.60);
  --encre-12:rgba(34,28,23,.12); --encre-08:rgba(34,28,23,.08);
  --terracotta-12:rgba(192,85,47,.12); --terracotta-08:rgba(192,85,47,.08);
  --creme-fonce:#EBE0CD;
  --bg-page:var(--papier); --bg-surface:var(--creme); --bg-surface-alt:var(--blanc); --bg-inverse:var(--encre);
  --text-primary:var(--encre); --text-secondary:var(--gris-chaud); --text-on-inverse:var(--creme); --text-accent:var(--terracotta-fonce);
  --accent:var(--terracotta); --accent-hover:var(--terracotta-fonce); --accent-pressed:#7E3517;
  --accent-soft:var(--terracotta-12); --accent-editorial:var(--lie-de-vin); --on-accent:var(--blanc);
  --border-hairline:rgba(34,28,23,.12); --border-default:rgba(34,28,23,.18); --border-strong:rgba(34,28,23,.28);
  --border-accent:var(--terracotta); --border-inverse:rgba(244,236,222,.18);
  --focus-ring:rgba(192,85,47,.45); --state-disabled-bg:rgba(34,28,23,.06); --state-disabled-text:rgba(34,28,23,.34);
  --success:#4A6A3D; --warning:var(--terracotta-fonce); --danger:var(--lie-de-vin);

  --font-serif:'Newsreader',Georgia,'Times New Roman',serif;
  --font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --weight-regular:400; --weight-medium:500; --weight-semibold:600; --weight-bold:700;
  --fs-display:56px; --fs-h1:44px; --fs-h2:34px; --fs-h3:26px; --fs-h4:21px;
  --fs-body-lg:19px; --fs-body:17px; --fs-small:15px; --fs-caption:13px; --fs-overline:13px;
  --lh-tight:1.05; --lh-heading:1.15; --lh-snug:1.35; --lh-body:1.62; --lh-caption:1.45;
  --ls-display:-0.02em; --ls-heading:-0.01em; --ls-body:0em; --ls-overline:0.09em;

  --space-0:0; --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
  --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --space-10:128px;
  --gutter:24px; --margin-mobile:20px; --margin-desktop:64px; --container-max:1200px;
  --measure:68ch; --measure-narrow:54ch; --section-y:96px; --section-y-mobile:56px;
  --radius-xs:4px; --radius-sm:8px; --radius-md:12px; --radius-lg:18px; --radius-xl:28px; --radius-pill:999px;
  --rule-thin:1px; --rule-medium:1.5px; --rule-thick:3px;
  --shadow-xs:0 1px 2px rgba(34,28,23,.06); --shadow-sm:0 2px 6px rgba(34,28,23,.07);
  --shadow-md:0 6px 20px rgba(34,28,23,.09); --shadow-lg:0 16px 40px rgba(34,28,23,.12);
  --shadow-focus:0 0 0 3px rgba(192,85,47,.45);

  /* Couche d'alias : anciens noms → tokens DS */
  --ink:var(--encre); --cream:var(--creme); --paper:var(--papier);
  --terra:var(--terracotta); --terra-d:var(--terracotta-fonce); --wine:var(--lie-de-vin);
  --muted:var(--gris-chaud); --line:var(--border-hairline);
}

/* =============================================================
   CHARTE DU SITE (portée .np) : reprise de la feuille éprouvée,
   pilotée par les tokens DS via la couche d'alias.
   Échelle typo alignée sur le design system (choix validé).
   ============================================================= */
.np *{box-sizing:border-box;margin:0;padding:0}
.np{display:flex;flex-direction:column;min-height:100vh;scroll-behavior:smooth;font-family:"Inter",system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;max-width:100vw}
.np footer{margin-top:auto}
.np .serif{font-family:"Newsreader",Georgia,serif}
.np .wrap{max-width:1180px;margin:0 auto;padding:0 40px}
.np a{color:inherit;text-decoration:none}
.np .eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--terra-d);font-weight:600}

/* Navigation */
.np nav{position:sticky;top:0;z-index:10;background:rgba(251,246,238,.9);backdrop-filter:blur(8px);border-bottom:.5px solid var(--line)}
.np .nav-in{position:relative;display:flex;align-items:center;justify-content:space-between;height:78px}
.np .logo{display:flex;align-items:center;gap:12px}
.np .np-mono{color:var(--terra);display:flex;flex:none}
.np .np-mono svg{height:46px;width:auto;display:block}
.np .np-word{color:var(--ink);display:flex}
.np .np-word svg{height:19px;width:auto;display:block}
.np .nav-links{display:flex;gap:30px;font-size:15px;font-weight:500;color:#4a4239}
.np .nav-links a:hover,.np .nav-links a.on{color:var(--terra-d)}
.np .nav-links .nav-cta-m{display:none}
.np .nav-burger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:42px;height:42px;padding:8px;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.np .nav-burger span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.np .nav-in.open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.np .nav-in.open .nav-burger span:nth-child(2){opacity:0}
.np .nav-in.open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Logo : trace qui se dessine puis se remplit, une fois par visite */
@keyframes npDraw2{to{stroke-dashoffset:0}}
@keyframes npFill2{to{fill-opacity:1}}
.np .np-mono path{fill-opacity:0;stroke-dasharray:700;stroke-dashoffset:700;animation:npDraw2 3.6s cubic-bezier(.6,0,.2,1) .3s forwards,npFill2 1s ease 3.2s forwards}
.np-logo-seen .np-mono path{animation:none;fill-opacity:1;stroke-dashoffset:0}
@media(prefers-reduced-motion:reduce){.np .np-mono path{animation:none;fill-opacity:1;stroke-dashoffset:0}}

/* Boutons */
.np .btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;border-radius:2px;padding:13px 22px;transition:.15s;cursor:pointer}
.np .btn-primary{background:var(--terra);color:#fff;border:none}
.np .btn-primary:hover{background:var(--terra-d)}
.np .btn-ghost{border:1.5px solid var(--ink);color:var(--ink)}
.np .btn-ghost:hover{background:var(--ink);color:var(--paper)}
.np .btn-light{border:1.5px solid rgba(255,255,255,.5);color:#fff}
.np .btn-light:hover{background:#fff;color:var(--ink)}
.np .btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}

/* Hero */
.np .hero{background:var(--cream);border-bottom:.5px solid var(--line)}
.np .hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;padding-top:96px;padding-bottom:104px}
.np h1.serif{font-size:var(--fs-display);line-height:1.02;font-weight:500;letter-spacing:-.01em;margin:20px 0 26px}
.np .hero p.lead{font-size:19px;color:#41382f;max-width:30em;margin-bottom:34px}
.np .hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.np .byline{display:flex;align-items:center;gap:12px;margin-top:28px}
.np .byline img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center top;flex:none}
.np .byline span{font-size:14px;color:var(--muted);max-width:22em;line-height:1.45}
.np .byline b{color:var(--ink);font-weight:600}

/* Maquette téléphone (hero) */
.np .hero-mock .phone-mock{max-width:270px;margin:0 auto;background:var(--ink);border-radius:36px;padding:9px;box-shadow:0 22px 55px rgba(34,28,23,.2)}
.np .phone-scr{background:#fff;border-radius:28px;overflow:hidden}
.np .pm-notch{height:22px;display:flex;align-items:center;justify-content:center;background:var(--ink)}
.np .pm-notch::before{content:"";width:62px;height:5px;border-radius:3px;background:#3a3027}
.np .pm-top{background:var(--ink);color:var(--paper);padding:6px 16px 15px}
.np .pm-top .nm{font-family:"Newsreader",serif;font-size:18px;font-weight:500}
.np .pm-top .md{display:flex;gap:7px;margin-top:9px}
.np .pm-top .md span{padding:5px 12px;border-radius:20px;background:#34291f;color:#C9BFB1;font-size:12px}
.np .pm-top .md span.on{background:var(--terra);color:#fff;font-weight:600}
.np .pm-chips{display:flex;gap:8px;padding:14px 16px 8px}
.np .pm-chips span{font-size:12px;font-weight:600;padding:6px 12px;border-radius:20px;background:#F1EDE4;color:#6e6357}
.np .pm-chips span.on{background:var(--ink);color:#fff}
.np .pm-item{display:flex;gap:12px;align-items:center;padding:12px 16px;border-top:.5px solid var(--line)}
.np .pm-item .info{flex:1}
.np .pm-item .info strong{display:block;font-size:14px;font-weight:600}
.np .pm-item .info em{font-style:normal;font-size:12px;color:var(--muted)}
.np .pm-item .pr{font-weight:600;font-size:14px}
.np .pm-item .add{width:27px;height:27px;border-radius:8px;background:var(--terra);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}
.np .pm-cart{background:var(--terra);color:#fff;margin:14px 16px 16px;border-radius:12px;padding:13px 16px;display:flex;justify-content:space-between;font-weight:600;font-size:14px}
.np .hero-mock .mock-cap{text-align:center;font-size:13px;color:var(--muted);margin-top:18px}

/* Secteurs */
.np .sectors{background:var(--cream);border-top:.5px solid var(--line);border-bottom:.5px solid var(--line)}
.np .sectors-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 32px;padding:22px 0}
.np .sectors-in .si{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:500;color:#4a4239}
.np .sectors-in .si i{font-size:21px;color:var(--terra-d)}
.np .sectors-in .si .np-picto{width:22px;height:22px;color:var(--terra-d);flex:none}
.np .sectors-in .si-open{font-size:14px;color:var(--muted);font-style:italic}

/* Bandeau confiance */
.np .trust{padding:30px 0;border-bottom:.5px solid var(--line)}
.np .trust-in{display:flex;align-items:center;gap:38px;flex-wrap:wrap;justify-content:center}
.np .trust .lbl{font-family:"Inter",sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.np .trust-in .logo-ref{display:inline-flex;align-items:center}
.np .trust-in img.logo-ref,.np .trust-in .logo-ref img{height:36px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.55;transition:filter .35s ease,opacity .35s ease}
.np .trust-in img.logo-ref:hover,.np .trust-in .logo-ref:hover img{filter:none;opacity:1}
.np .trust-in .logo-ref.big img{height:56px}

/* Sections génériques */
.np .section{padding:96px 0}
.np .section.tight{padding:72px 0}
.np .band{background:var(--cream);border-top:.5px solid var(--line);border-bottom:.5px solid var(--line)}
.np .dark{background:var(--ink);color:var(--paper)}
.np .dark .eyebrow{color:#E59B72}
.np .dark h2{color:var(--paper)}
.np .sec-head{max-width:32em;margin-bottom:54px}
.np .sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.np .sec-head h2{font-size:var(--fs-h2);font-weight:500;line-height:1.08;letter-spacing:-.01em;margin-top:14px}
.np .sec-head p{font-size:18px;color:var(--muted);margin-top:16px}
.np .dark .sec-head p{color:#C9BFB1}

/* Services */
.np .services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.np .svc{background:#fff;border:.5px solid var(--line);border-radius:14px;padding:24px 22px;transition:border-color .2s ease,box-shadow .2s ease}
.np .svc:hover{border-color:var(--terra);box-shadow:var(--shadow-sm)}
.np .svc .svc-ic{width:46px;height:46px;border-radius:11px;background:var(--accent-soft);color:var(--terra-d);display:flex;align-items:center;justify-content:center;font-size:23px;margin-bottom:15px}
.np .svc .svc-ic .np-picto{width:24px;height:24px}
.np .svc h3{font-size:17px;font-weight:600;margin-bottom:6px}
.np .svc p{font-size:14px;color:var(--muted);line-height:1.5}
.np .services-note{margin-top:30px;font-size:16.5px;color:#41382f;text-align:center;max-width:56ch;margin-left:auto;margin-right:auto;line-height:1.55}
.np .services-note b{color:var(--ink);font-weight:600}

/* Étapes */
.np .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.np .step .n{font-family:"Newsreader",serif;font-size:18px;color:var(--terra);font-weight:600;border-top:2px solid var(--terra);padding-top:14px;display:inline-block;width:100%}
.np .step h3{font-size:22px;font-weight:500;margin:16px 0 10px}
.np .step p{color:var(--muted);font-size:16px}

/* Cartes fonctionnalités */
.np .feat{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.np .feat .it{background:#fff;border:.5px solid var(--line);border-radius:12px;padding:28px 26px}
.np .feat .it .ic{width:44px;height:44px;border-radius:10px;background:#F6E7DD;color:var(--terra-d);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px}
.np .feat .it h3{font-size:18px;font-weight:600;margin-bottom:8px}
.np .feat .it p{font-size:15px;color:var(--muted);line-height:1.55}

/* Comparatif */
.np .compare{display:grid;grid-template-columns:1fr 1fr;border:.5px solid var(--line);border-radius:14px;overflow:hidden}
.np .compare>div{padding:34px 32px}
.np .compare .them{background:#fff}
.np .compare .you{background:var(--ink);color:var(--paper)}
.np .compare .lbl2{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:6px}
.np .compare .them .lbl2{color:var(--muted)}
.np .compare .you .lbl2{color:#E59B72}
.np .compare h3{font-family:"Newsreader",serif;font-size:24px;font-weight:500;margin-bottom:18px}
.np .compare ul{list-style:none}
.np .compare li{padding:12px 0;font-size:15.5px;display:flex;gap:11px;align-items:flex-start;border-top:.5px solid var(--line)}
.np .compare .you li{border-color:rgba(255,255,255,.13);color:#D8CEC1}
.np .compare li i{flex:none;margin-top:2px}
.np .x{color:#C77B5C}.np .v{color:#7BBF9A}

/* Bandeau démo */
.np .demoband{background:var(--cream);border-top:.5px solid var(--line);border-bottom:.5px solid var(--line)}
.np .demoband-in{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:60px;padding-bottom:60px;flex-wrap:wrap}
.np .demoband h2{font-size:34px;font-weight:500;line-height:1.1}
.np .demoband p{color:#41382f;font-size:17px;margin-top:8px;max-width:34em}

/* FAQ */
.np .faq{display:grid;gap:0;max-width:760px}
.np .faq details{border-top:.5px solid var(--line);padding:20px 0}
.np .faq details:last-child{border-bottom:.5px solid var(--line)}
.np .faq summary{font-weight:600;font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.np .faq summary::-webkit-details-marker{display:none}
.np .faq summary::after{content:"+";color:var(--terra);font-size:22px;line-height:1}
.np .faq details[open] summary::after{content:"–"}
.np .faq p{color:var(--muted);font-size:16px;margin-top:12px;line-height:1.6}

/* Témoignages */
.np .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.np .quote{background:#fff;border:.5px solid var(--line);border-radius:12px;padding:30px 28px;display:flex;flex-direction:column}
.np .quote .mk{font-family:"Newsreader",serif;font-size:40px;line-height:.6;color:var(--terra);height:24px}
.np .quote p{font-family:"Newsreader",serif;font-size:17.5px;line-height:1.5;color:#2c2620;margin:6px 0 22px;flex:1}
.np .quote figcaption strong{display:block;font-size:15px;font-weight:600}
.np .quote figcaption span{font-size:13px;color:var(--muted)}

/* Humain */
.np .humain{background:var(--cream)}
.np .humain-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.np .portrait{aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:#e3d8c6}
.np .portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.np .humain h2{font-size:var(--fs-h2);font-weight:500;line-height:1.1;margin:14px 0 22px}
.np .humain p{font-size:18px;color:#41382f;max-width:34em;margin-bottom:16px}

/* Bandeau CTA */
.np .cta-band{background:var(--ink);color:var(--paper);border-top:.5px solid rgba(255,255,255,.1)}
.np .cta-in{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-top:70px;padding-bottom:70px;flex-wrap:wrap}
.np .cta-in h2{font-size:var(--fs-h2);font-weight:500;color:var(--paper);line-height:1.1}
.np .cta-in p{color:#C9BFB1;font-size:18px;margin-top:10px;max-width:32em}
.np .cta-in .btn-primary{font-size:16px;padding:15px 26px}

/* Pied de page */
.np footer{background:var(--ink);color:#C9BFB1;padding:64px 0 40px}
.np .foot-in{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;border-bottom:.5px solid rgba(255,255,255,.12);padding-bottom:36px}
.np footer .wm{font-family:"Newsreader",serif;color:var(--paper);font-size:22px;font-weight:500}
.np footer h4{color:var(--paper);font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px;font-weight:600}
.np footer a{display:block;color:#C9BFB1;margin-bottom:8px;font-size:15px;overflow-wrap:anywhere}
.np footer a:hover{color:var(--paper)}
.np .foot-bottom{display:flex;justify-content:space-between;padding-top:24px;font-size:13px;color:#867c6e;flex-wrap:wrap;gap:10px}
.np .foot-bottom a{display:inline;margin:0}

/* En-tête de page (pages intérieures) */
.np .pagehead{background:var(--cream);border-bottom:.5px solid var(--line)}
.np .pagehead-in{padding-top:76px;padding-bottom:60px;max-width:42em;margin:0 auto;text-align:center}
.np .pagehead h1{font-size:var(--fs-h1);font-weight:500;line-height:1.04;letter-spacing:-.01em;margin:14px 0 18px}
.np .pagehead p{font-size:19px;color:#41382f;max-width:40em;margin:0 auto}

/* Contact */
.np .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.np .chan{display:flex;flex-direction:column;gap:14px}
.np .chan a.channel{display:flex;align-items:center;gap:16px;background:#fff;border:.5px solid var(--line);border-radius:12px;padding:18px 20px;min-width:0}
.np .chan a.channel:hover{border-color:var(--terra)}
.np .chan .ci{width:46px;height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:23px;flex:none;color:#fff}
.np .chan .ci.wa{background:#25D366}.np .chan .ci.tel{background:var(--terra)}.np .chan .ci.mail{background:var(--ink)}
.np .chan .ct{min-width:0}
.np .chan .ct strong{display:block;font-size:16px;font-weight:600;overflow-wrap:anywhere;word-break:break-word}
.np .chan .ct span{font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.np .contact-note{display:flex;align-items:center;gap:12px;margin-top:20px;color:var(--muted);font-size:14px;line-height:1.45}
.np .contact-note img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center top;flex:none}
.np form.np-form{background:#fff;border:.5px solid var(--line);border-radius:14px;padding:30px}
.np form.np-form label{display:block;font-size:14px;font-weight:600;margin:16px 0 6px}
.np form.np-form label.first{margin-top:0}
.np form.np-form input,.np form.np-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px 13px;font-family:inherit;font-size:15px;background:var(--paper);color:var(--ink)}
.np form.np-form textarea{min-height:100px;resize:vertical}
.np form.np-form .btn{margin-top:22px;width:100%;justify-content:center;border:none}

/* Bulle WhatsApp */
.np .wa-bubble{position:fixed;right:22px;bottom:22px;z-index:50;background:#25D366;color:#fff;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 6px 20px rgba(0,0,0,.2)}

/* Tableau de bord (maquette Gabrielle) */
.np .pf-dash{display:flex;flex-direction:column;gap:12px}
.np .pf-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.np .pf-stat{background:var(--cream);border-radius:9px;padding:12px}
.np .pf-stat .k{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.np .pf-stat .v{font-size:20px;font-weight:600;font-family:"Newsreader",serif}
.np .pf-line{display:flex;justify-content:space-between;align-items:center;background:var(--cream);border-radius:8px;padding:11px 12px;font-size:13px;color:#41382f}
.np .pf-pill{background:#E2EFE8;color:#2f6b4f;font-size:11px;font-weight:600;padding:3px 9px;border-radius:20px}
.np .hero-proof{background:#fff;border:.5px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:16px}
.np .pf-head{display:flex;justify-content:space-between;align-items:center}
.np .pf-tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--terra-d);background:#F6E7DD;padding:5px 11px;border-radius:20px}
.np .pf-loc{font-size:13px;color:var(--muted)}
.np .pf-phone{background:var(--ink);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px}
.np .pf-phone .top{color:var(--paper);font-weight:600;font-size:13px;display:flex;justify-content:space-between;align-items:center}
.np .pf-phone .top em{font-style:normal;color:#C9BFB1;font-weight:400;font-size:12px}
.np .pf-row{display:flex;justify-content:space-between;align-items:center;background:#2C251E;border-radius:8px;padding:10px 11px}
.np .pf-row .nm{height:7px;width:58%;background:#564c42;border-radius:4px}
.np .pf-row .pls{width:22px;height:22px;border-radius:6px;background:var(--terra);color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center;line-height:1}
.np .pf-cart{background:var(--terra);color:#fff;border-radius:8px;padding:11px 13px;font-weight:600;font-size:13px;display:flex;justify-content:space-between}
.np .pf-desc{font-size:14.5px;color:#41382f;line-height:1.5;margin:0}

/* Tarifs */
.np .pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.np .price-card{background:#fff;border:.5px solid var(--line);border-radius:14px;padding:32px 28px;display:flex;flex-direction:column}
.np .price-card.pop{border:2px solid var(--terra)}
.np .badge-pop{background:var(--terra);color:#fff;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:20px;align-self:flex-start;margin-bottom:12px}
.np .price-card .pn{font-family:"Newsreader",serif;font-size:23px;font-weight:500}
.np .price-card .pp{font-size:36px;font-weight:600;margin:8px 0 2px}
.np .price-card .pp small{font-size:15px;font-weight:400;color:var(--muted)}
.np .price-card .psub{font-size:14px;color:var(--muted);margin-bottom:6px}
.np .price-card ul{list-style:none;margin:18px 0 24px;display:flex;flex-direction:column;gap:10px}
.np .price-card li{font-size:14.5px;display:flex;gap:9px;color:#41382f;line-height:1.4}
.np .price-card li i{color:var(--terra);margin-top:2px;flex:none}
.np .price-card .btn{margin-top:auto;justify-content:center}

/* Étude de cas */
.np .casefeat{border:.5px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.np .cf-hero{aspect-ratio:21/9;overflow:hidden}
.np .cf-hero img{width:100%;height:100%;object-fit:cover;object-position:center 55%;display:block;cursor:zoom-in}
.np .cf-body{padding:36px 40px}
.np .cf-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.np .tagpill{font-size:12px;letter-spacing:.05em;background:#F6E7DD;color:var(--terra-d);font-weight:600;padding:5px 12px;border-radius:20px}
.np .cf-body h3{font-family:"Newsreader",serif;font-size:30px;font-weight:500;margin-bottom:12px}
.np .cf-body p{color:#41382f;font-size:17px;max-width:62ch;line-height:1.6}
.np .cf-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px}
.np .cf-thumbs img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border:.5px solid var(--line);padding:8px;border-radius:8px;display:block;cursor:zoom-in;transition:border-color .2s ease}
.np .cf-thumbs img:hover{border-color:var(--terra)}
.np .cc-img{box-shadow:inset 0 0 0 1px rgba(34,28,23,.08)}

/* Lightbox */
.np .lb{position:fixed;inset:0;background:rgba(20,16,12,.93);display:none;align-items:center;justify-content:center;padding:24px;z-index:200;cursor:zoom-out}
.np .lb.open{display:flex}
.np .lb img{max-width:96vw;max-height:92vh;border-radius:6px;box-shadow:0 24px 70px rgba(0,0,0,.55);background:#fff}
.np .lb-close{position:fixed;top:14px;right:20px;width:44px;height:44px;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;border-radius:50%;cursor:pointer;z-index:201;display:flex;align-items:center;justify-content:center}
.np .lb-close:hover{background:rgba(255,255,255,.22)}
.np .lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;border-radius:50%;cursor:pointer;z-index:201;display:flex;align-items:center;justify-content:center;padding-bottom:3px}
.np .lb-nav:hover{background:rgba(255,255,255,.24)}
.np .lb-prev{left:16px}.np .lb-next{right:16px}

/* Références (grille) */
.np .refgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.np .ref{background:#fff;border:.5px solid var(--line);border-radius:12px;padding:28px 26px}
.np .ref .rs{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--terra-d);font-weight:600}
.np .ref h3{font-family:"Newsreader",serif;font-size:21px;font-weight:500;margin:8px 0 8px}
.np .ref p{font-size:15px;color:var(--muted);line-height:1.55}

/* Secteur (bloc sombre) */
.np .sector{background:var(--ink);color:var(--paper);border-radius:16px;padding:42px 40px}
.np .sector .eyebrow{color:#E59B72}
.np .sector h3{font-family:"Newsreader",serif;font-size:28px;font-weight:500;margin:12px 0 10px;color:var(--paper)}
.np .sector p{color:#C9BFB1;font-size:16px;max-width:60ch}
.np .sector .logos{display:flex;gap:14px 34px;flex-wrap:wrap;margin-top:24px;align-items:center}
.np .sector .logos span{font-family:"Newsreader",serif;font-size:22px;color:#E8DDcd;font-weight:500}

/* Galerie réalisation (page dédiée) */
.np .rea-head{max-width:64ch;margin-bottom:30px}
.np .rea-head h1{font-size:40px;font-weight:500;line-height:1.1;margin:12px 0 14px}
.np .rea-head p{font-size:18px;color:#41382f;line-height:1.6}
.np .rea-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.np .rea-gallery img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#fff;border:.5px solid var(--line);border-radius:12px;padding:14px;cursor:zoom-in;transition:border-color .2s ease}
.np .rea-gallery img:hover{border-color:var(--terra)}
.np .rea-empty{color:var(--muted);font-size:16px}
.np .rea-meta{display:flex;flex-wrap:wrap;gap:14px 44px;padding:20px 0;border-top:.5px solid var(--line);border-bottom:.5px solid var(--line);margin-bottom:30px}
.np .rea-meta .k{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--terra-d);font-weight:600;margin-bottom:3px}
.np .rea-meta .v{font-size:15px;color:var(--ink)}
.np .rea-br{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:0 0 34px}
.np .rea-br-col{background:#fff;border:.5px solid var(--line);border-radius:14px;padding:26px 28px}
.np .rea-br-me{background:var(--ink)}
.np .rea-br-lbl{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--terra-d);margin-bottom:8px}
.np .rea-br-me .rea-br-lbl{color:#E59B72}
.np .rea-br-col p{font-size:16px;line-height:1.6;color:#41382f;margin:0}
.np .rea-br-me p{color:#C9BFB1}
.np .rea-back{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--terra-d);border:.5px solid var(--line);background:#fff;border-radius:999px;padding:8px 15px;margin-bottom:26px;transition:border-color .2s ease,color .2s ease}
.np .rea-back:hover{border-color:var(--terra);color:var(--terra)}
.np .rea-back i{font-size:16px}
.np .rea-pager{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;margin-top:48px;padding-top:30px;border-top:.5px solid var(--line)}
.np .rea-pager-a{display:flex;flex-direction:column;gap:5px;background:#fff;border:.5px solid var(--line);border-radius:14px;padding:16px 20px;transition:border-color .2s ease}
.np .rea-pager-a:hover{border-color:var(--terra)}
.np .rea-next{text-align:right;align-items:flex-end}
.np .rea-pager-dir{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--terra-d)}
.np .rea-pager-t{font-size:16px;font-weight:500;color:var(--ink);line-height:1.3}
.np .rea-pager-all{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:var(--ink);color:#fff;border-radius:14px;padding:0 20px;font-size:12px;font-weight:600;text-align:center}
.np .rea-pager-all i{font-size:19px}

/* Rotator (hero) + révélation au défilement */
.np .rotator{color:var(--terra);display:inline-block;transition:opacity .35s ease,transform .35s ease}
.np .rotator.out{opacity:0;transform:translateY(10px)}
.np .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.np .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.np .rotator{transition:none}.np .reveal{opacity:1;transform:none;transition:none}}

/* Carrousel réalisations */
.np .carousel{position:relative;overflow:hidden}
.np .car-track{display:flex;gap:24px;transition:transform .5s cubic-bezier(.2,.7,.2,1);will-change:transform}
.np .car-card{flex:0 0 calc((100% - 48px)/3);background:#fff;border:.5px solid var(--line);border-radius:14px;overflow:hidden;display:block;color:inherit}
.np .car-card:hover{border-color:var(--terra)}
.np .cc-img{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:#2C251E;display:flex;align-items:flex-end;padding:14px}
.np .cc-img .cc-k{font-family:"Newsreader",serif;font-size:34px;color:rgba(255,255,255,.85);font-weight:500}
.np .cc-body{padding:22px}
.np .cc-s{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--terra-d);font-weight:600}
.np .cc-body h3{font-family:"Newsreader",serif;font-size:21px;font-weight:500;margin:6px 0 6px}
.np .cc-body p{font-size:14.5px;color:var(--muted);line-height:1.5}
.np .car-dots{display:flex;gap:8px;justify-content:center;margin-top:26px}
.np .car-dots button{width:9px;height:9px;border-radius:50%;background:var(--line);border:none;padding:0;cursor:pointer;transition:.2s}
.np .car-dots button.on{background:var(--terra);width:22px;border-radius:6px}

/* Équilibre du texte */
.np h1,.np h2,.np h3,.np .sec-head h2,.np .pagehead h1{text-wrap:balance}
.np p,.np .lead,.np .pf-desc{text-wrap:pretty}

/* Concierge Gaston (hero) */
.np .gaston{background:#fff;border:.5px solid var(--line);border-radius:16px;box-shadow:0 22px 55px rgba(34,28,23,.14);display:flex;flex-direction:column;overflow:hidden;max-width:400px;margin:0 auto}
.np .gs-head{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:17px 20px 15px;border-bottom:.5px solid var(--line);background:var(--cream)}
.np .gs-badge{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;color:var(--terra-d);background:#F6E7DD;padding:4px 10px;border-radius:20px}
.np .gs-title{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.np .gs-name{font-family:"Newsreader",serif;font-size:22px;font-weight:500;color:var(--ink);line-height:1}
.np .gs-sub{font-size:12.5px;color:var(--muted)}
.np .gs-thread{position:relative;display:flex;flex-direction:column;gap:10px;padding:18px;min-height:120px;max-height:330px;overflow-y:auto}
.np .gs-b{max-width:86%;padding:10px 14px;border-radius:14px;font-size:14.5px;line-height:1.5;white-space:pre-wrap}
.np .gs-me{align-self:flex-end;background:var(--terra);color:#fff;border-bottom-right-radius:5px}
.np .gs-ai{align-self:flex-start;background:var(--cream);color:#2c2620;border-bottom-left-radius:5px}
.np .gs-typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);margin:0 1px;animation:gsb 1s infinite}
.np .gs-typing span:nth-child(2){animation-delay:.15s}.np .gs-typing span:nth-child(3){animation-delay:.3s}
@keyframes gsb{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:.9;transform:translateY(-3px)}}
.np .gs-form{display:flex;gap:8px;padding:12px 14px;border-top:.5px solid var(--line)}
.np .gs-input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:10px 15px;font-family:inherit;font-size:14.5px;background:var(--paper);color:var(--ink)}
.np .gs-input:focus{outline:none;border-color:var(--terra)}
.np .gs-send{flex:none;width:40px;height:40px;border:none;border-radius:50%;background:var(--terra);color:#fff;font-size:19px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.np .gs-send:hover{background:var(--terra-d)}
.np .gs-note{font-size:11.5px;color:var(--muted);line-height:1.4;padding:0 16px 14px;margin:0}
.np .gs-note a{color:var(--terra-d);text-decoration:underline}
@media(max-width:820px){.np .gaston{max-width:none}.np .gs-thread{min-height:110px;max-height:300px}}

/* =============================================================
   RESPONSIVE
   ============================================================= */
@media(max-width:820px){
  .np .wrap{padding:0 30px}
  .np .nav-in{height:64px}
  .np .nav-burger{display:flex}
  .np .nav-cta{display:none}
  .np .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--paper);border-bottom:.5px solid var(--line);box-shadow:0 14px 26px rgba(34,28,23,.1);padding:6px 0}
  .np .nav-in.open .nav-links{display:flex}
  .np .nav-links a{padding:13px 30px;font-size:16px}
  .np .nav-links .nav-cta-m{display:flex;margin:10px 30px 8px;justify-content:center}
  .np .np-mono svg{height:40px}
  .np .np-word svg{height:16px}
  .np .btn{padding:11px 16px;font-size:14px}
  .np .hero-in{grid-template-columns:1fr;gap:24px;padding-top:34px;padding-bottom:44px}
  .np h1.serif{font-size:42px;line-height:1.06}
  .np .hero p.lead{font-size:18px;margin-bottom:26px;max-width:34em}
  .np .hero-cta{gap:12px}
  .np .byline{margin-top:22px}
  .np .hero-mock .phone-mock{max-width:270px}
  .np .hero-mock .mock-cap{margin-top:14px}
  .np .wa-bubble{width:50px;height:50px;font-size:25px;right:16px;bottom:16px;box-shadow:0 3px 12px rgba(0,0,0,.16);opacity:.92}
  .np .trust-in{gap:18px 26px;justify-content:flex-start}
  .np .trust-in .logo-ref.big img{height:42px}
  .np .trust-in img.logo-ref,.np .trust-in .logo-ref img{height:28px}
  .np .section{padding:60px 0}
  .np .sec-head{margin-bottom:36px}
  .np .sec-head h2{font-size:30px}
  .np .steps{grid-template-columns:1fr;gap:26px}
  .np .cards{grid-template-columns:1fr;gap:18px}
  .np .feat{grid-template-columns:1fr;gap:16px}
  .np .services-grid{grid-template-columns:1fr 1fr;gap:12px}
  .np .svc{padding:20px 18px}
  .np .sectors-in{gap:12px 20px;padding:20px 0}
  .np .sectors-in .si{font-size:14px}
  .np .compare{grid-template-columns:1fr}
  .np .quotes{grid-template-columns:1fr;gap:16px}
  .np .humain-in{grid-template-columns:1fr;gap:26px}
  .np .humain h2{font-size:32px}
  .np .portrait{aspect-ratio:3/2;max-width:320px}
  .np .demoband-in{padding-top:44px;padding-bottom:44px;gap:20px}
  .np .demoband h2{font-size:26px}
  .np .cta-in{padding-top:48px;padding-bottom:48px;gap:22px}
  .np .cta-in h2{font-size:28px}
  .np .foot-in{flex-direction:column;gap:26px}
  .np .pagehead-in{padding-top:48px;padding-bottom:40px}
  .np .pagehead h1{font-size:38px}
  .np .contact-grid{grid-template-columns:1fr;gap:28px}
  .np .pricing{grid-template-columns:1fr;gap:16px}
  .np .cf-body{padding:26px 22px}
  .np .cf-body h3{font-size:24px}
  .np .cf-thumbs{grid-template-columns:1fr 1fr}
  .np .refgrid{grid-template-columns:1fr;gap:16px}
  .np .sector{padding:30px 24px}
  .np .rea-head h1{font-size:30px}
  .np .rea-gallery{grid-template-columns:1fr 1fr;gap:12px}
  .np .rea-br{grid-template-columns:1fr}
  .np .rea-pager{grid-template-columns:1fr 1fr}
  .np .rea-pager-all{grid-column:1/-1;order:-1;flex-direction:row;padding:12px}
  .np .car-card{flex:0 0 100%}
  .np .lb-nav{width:40px;height:40px;font-size:24px;background:rgba(255,255,255,.16)}
  .np .lb-prev{left:8px}.np .lb-next{right:8px}
}
