:root{--ink:#252525;--muted:#6e7073;--paper:#f7f7f4;--white:#fff;--line:#e5e5df;--teal:#168b87;--teal2:#0f706d;--dark:#151716;--max:1180px;--radius:22px;--shadow:0 18px 60px rgba(20,24,23,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.topbar{padding:24px 0;position:sticky;top:0;background:rgba(247,247,244,.9);backdrop-filter:blur(14px);z-index:20;border-bottom:1px solid rgba(229,229,223,.7)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:145px;height:auto}.navlinks{display:flex;gap:25px;align-items:center;font-size:14px}.navlinks a{color:#3c3d3e}.navlinks a:hover{color:var(--teal)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:12px 20px;font-weight:700;font-size:14px;cursor:pointer}.btn-dark{background:var(--dark);color:#fff}.btn-teal{background:var(--teal);color:#fff}.btn-outline{border-color:#cfcfc8;background:transparent}.hero{padding:110px 0 90px;background:radial-gradient(circle at 80% 20%,rgba(22,139,135,.13),transparent 35%),var(--paper)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:var(--teal);margin-bottom:18px}.hero h1{font-size:clamp(48px,7vw,92px);line-height:.94;letter-spacing:-.055em;max-width:900px;margin:0 0 28px}.hero h1 span{color:var(--teal)}.hero p.lead{font-size:20px;max-width:680px;color:var(--muted);margin:0 0 32px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.section{padding:90px 0}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.section h2{font-size:clamp(32px,4vw,56px);letter-spacing:-.04em;line-height:1;margin:0}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}.project-card:hover{transform:translateY(-5px);box-shadow:0 25px 70px rgba(20,24,23,.13)}.project-media{aspect-ratio:16/10;background:#ddd;overflow:hidden}.project-media img{width:100%;height:100%;object-fit:cover}.project-body{padding:22px}.project-body h3{font-size:23px;letter-spacing:-.025em;margin:6px 0 8px}.meta{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.pill{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:5px 9px;font-size:11px;color:var(--muted)}.dark-section{background:var(--dark);color:#fff}.dark-section .muted{color:#aaa}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#333}.service{padding:35px;background:var(--dark);min-height:210px}.service h3{font-size:24px;margin:10px 0}.quote{font-size:clamp(28px,4vw,48px);line-height:1.12;letter-spacing:-.035em;max-width:900px}.quote small{display:block;font-size:14px;color:var(--muted);margin-top:24px;letter-spacing:0}.cta{background:var(--teal);color:#fff;border-radius:30px;padding:55px}.cta h2{font-size:clamp(36px,5vw,64px);max-width:750px}.footer{padding:60px 0;background:#111;color:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer .muted{color:#aaa}.detail-hero{padding:75px 0 35px}.detail-hero h1{font-size:clamp(45px,7vw,84px);letter-spacing:-.055em;line-height:.95;margin:0 0 20px}.detail-media{border-radius:30px;overflow:hidden;background:#ddd;margin:30px 0}.detail-media img{width:100%;max-height:720px;object-fit:cover}.detail-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:60px}.detail-copy h2{font-size:32px}.info-list{border-top:1px solid var(--line)}.info-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 0}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:35px}.gallery img{border-radius:20px;width:100%;aspect-ratio:4/3;object-fit:cover}.testimonials{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.testimonial{background:#fff;border-radius:24px;padding:30px;box-shadow:var(--shadow)}.testimonial blockquote{font-size:22px;line-height:1.35;margin:0 0 24px}.admin{background:#f3f3ef}.adminnav{background:#151716;color:#fff;padding:16px 0}.adminnav .container{display:flex;justify-content:space-between;align-items:center}.adminnav a{margin-left:18px;color:#ddd;font-size:13px}.panel{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;margin-bottom:20px;box-shadow:0 8px 30px rgba(0,0,0,.03)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0}.kpi{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.kpi strong{font-size:36px;display:block;letter-spacing:-.04em}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.field input,.field textarea,.field select{width:100%;border:1px solid #d7d7d0;background:#fff;border-radius:12px;padding:12px;font:inherit}.field textarea{min-height:130px}.checkgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.notice{padding:14px 18px;border-radius:14px;background:#e8f6f4;color:#125c59;margin-bottom:20px}.danger{background:#fff0ef;color:#8d2e2b}.thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.thumbs img{aspect-ratio:1;object-fit:cover;border-radius:10px}.selection-cover{padding:80px 0 45px;background:linear-gradient(135deg,#151716,#27302e);color:#fff}.selection-cover h1{font-size:clamp(45px,6vw,76px);line-height:.95;letter-spacing:-.05em;max-width:850px}.print-only{display:none}.no-print{}@media(max-width:800px){.navlinks{display:none}.grid,.services,.footer-grid,.testimonials,.detail-grid,.form-grid,.kpis{grid-template-columns:1fr}.hero{padding:75px 0}.section{padding:65px 0}.section-head{display:block}.section-head .btn{margin-top:20px}.gallery{grid-template-columns:1fr}.container{width:min(var(--max),calc(100% - 28px))}.cta{padding:35px}.checkgrid{grid-template-columns:1fr}.nm-photo-preview{grid-template-columns:repeat(3,1fr)}}@media print{.topbar,.adminnav,.no-print,.footer{display:none!important}.print-only{display:block}.panel{box-shadow:none}.admin{background:#fff}.section{padding:25px 0}}

/* ===== Formulaires "nm-*" (feedback + casting) ===== */
.nm-hero{background:var(--dark);color:#fff;padding:70px 0 45px}
.nm-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:#8ce8e4;margin-bottom:14px}
.nm-hero h1{font-size:clamp(30px,5vw,50px);letter-spacing:-.04em;line-height:1.08;margin:0 0 16px;color:#fff}
.nm-hero p{color:#cbd1cf;font-size:16px;max-width:700px;margin:0 0 10px}
.nm-progress-wrap{background:#fff;padding:14px 0;position:sticky;top:0;z-index:15;border-bottom:1px solid var(--line)}
.nm-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;margin:24px 0;box-shadow:var(--shadow)}
.nm-card h2{font-size:21px;display:flex;align-items:center;margin:0 0 22px;letter-spacing:-.02em}
.nm-section-num{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;border-radius:50%;background:var(--teal);color:#fff;font-size:14px;margin-right:12px;font-weight:700}
.nm-question{margin-bottom:24px}
.nm-question:last-child{margin-bottom:0}
.nm-q-label{display:block;font-weight:700;margin-bottom:10px;font-size:15px}
.nm-scale-hint{font-size:13px;color:var(--muted);margin-bottom:8px}
.nm-rating{display:flex;flex-wrap:wrap;gap:7px}
.nm-rating .btn-check{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.nm-rating label{border:1px solid #d7d7d0;border-radius:10px;padding:9px 14px;cursor:pointer;font-size:14px;font-weight:600;background:#fff;transition:.15s ease}
.nm-rating label:hover{border-color:var(--teal)}
.nm-rating .btn-check:checked+label{background:var(--teal);border-color:var(--teal);color:#fff}
.nm-rating .btn-check:focus-visible+label{outline:2px solid var(--teal);outline-offset:2px}
.nm-matrix table{width:100%;border-collapse:collapse}
.nm-matrix th,.nm-matrix td{padding:10px 8px;border-bottom:1px solid var(--line);font-size:13px}
.nm-crit-label{font-size:14px;font-weight:600}
.btn-nm-primary{background:var(--teal);color:#fff;border:none;border-radius:999px;padding:15px 36px;font-weight:700;font-size:15px;cursor:pointer;transition:.15s ease}
.btn-nm-primary:hover{background:var(--teal2)}
.nm-footer{text-align:center;color:var(--muted);padding:40px 0 90px;font-size:14px;max-width:640px;margin:0 auto}
.nm-hint{font-size:13px;color:var(--muted);margin-top:8px}
.nm-photo-preview{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:12px}
.nm-photo-preview img{aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid var(--line)}

/* ===== Menu mobile ===== */
.nav-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;width:42px;height:42px;align-items:center;justify-content:center;cursor:pointer;padding:0}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:"";display:block;width:20px;height:2px;background:var(--ink);position:relative;transition:.2s ease}
.nav-toggle span::before{position:absolute;top:-6px}
.nav-toggle span::after{position:absolute;top:6px}
.nav-toggle[aria-expanded="true"] span{background:transparent}
.nav-toggle[aria-expanded="true"] span::before{transform:rotate(45deg);top:0}
.nav-toggle[aria-expanded="true"] span::after{transform:rotate(-45deg);top:0}
@media(max-width:800px){
  .nav-toggle{display:flex}
  .navlinks{display:none!important}
  body.drawer-open{overflow:hidden}
}
.mobile-drawer{display:none}
@media(max-width:800px){
  .mobile-drawer{display:none;position:fixed;top:73px;left:0;right:0;bottom:0;background:var(--paper);flex-direction:column;align-items:flex-start;gap:0;padding:10px 20px 30px;overflow:auto;z-index:30}
  .mobile-drawer.open{display:flex}
  .mobile-drawer a{width:100%;padding:16px 0;border-bottom:1px solid var(--line);font-size:17px}
  .mobile-drawer a.btn{width:auto;margin-top:16px}
}

/* ===== Badges de statut casting (admin) ===== */
.status-pill{display:inline-flex;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:700}
.status-nouveau{background:#e8f6f4;color:#125c59}
.status-vu{background:#eef1fb;color:#33408f}
.status-retenu{background:#e9f7e6;color:#1e7a2e}
.status-archive{background:#f0f0ec;color:#6e7073}

/* ===== Formulaire de contact (section CTA teal) ===== */
.cta-form{display:flex;flex-direction:column;gap:12px;max-width:640px}
.cta-form-row{display:flex;gap:12px;flex-wrap:wrap}
.cta-form-row input{flex:1;min-width:220px}
.cta-form input,.cta-form textarea{border:none;border-radius:14px;padding:14px 16px;font:inherit;background:rgba(255,255,255,.95);color:var(--ink)}
.cta-form textarea{resize:vertical;min-height:100px}
.cta-form button{align-self:flex-start;margin-top:4px}
.cta .notice{border-radius:14px}
