@font-face{font-family:'Plus Jakarta Sans';src:url('/plus-jakarta-sans-variable.woff2') format('woff2-variations'),url('/plus-jakarta-sans-variable.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('/plus-jakarta-sans-italic-variable.woff2') format('woff2-variations'),url('/plus-jakarta-sans-italic-variable.woff2') format('woff2');font-weight:200 800;font-style:italic;font-display:swap}
/* CSS partagé entre toutes les pages secondaires SEO (services + communes).
   Chargé en <link rel="stylesheet"> pour éviter la duplication CSS. */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}


:root{
  --beige-page:#EFE7D9;--beige:#F5F0E6;--cream:#F5F1E8;
  --navy:#0E1E3A;--navy-deep:#091830;--ink:#0A1424;
  --muted:#6B6859;--gold:#C99A3F;--gold-2:#B0832F;--gold-deep:#8F620F;
  --line:rgba(14,30,58,.12);
  --font-display:'Plus Jakarta Sans',Georgia,serif;
  --font-body:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
}
html{scroll-behavior:smooth;background:var(--beige-page);color-scheme:light;scroll-padding-top:90px;overflow-x:hidden}
body{overflow-x:hidden;max-width:100vw}
body{
  font-family:var(--font-body);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E") repeat,
    var(--beige-page);
  background-size:240px 240px, auto;
  color:var(--ink);
  line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--navy);text-decoration:underline;text-decoration-color:rgba(14,30,58,.3);text-underline-offset:3px;transition:color .15s,text-decoration-color .15s}
a:hover{color:var(--gold-2);text-decoration-color:var(--gold)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}

.wrap{max-width:880px;margin:0 auto;padding:0 32px}

/* ─── Header secondaire ─── */
.svc-header{background:rgba(245,240,230,.92);backdrop-filter:blur(10px) saturate(140%);border-bottom:1px solid var(--line);padding:18px 0;position:sticky;top:0;z-index:50}
.svc-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1180px;padding:0 32px}
.svc-header .brand{display:inline-flex;align-items:center;text-decoration:none}
.svc-header .brand img{height:96px;width:auto;display:block;margin:-16px 0}
.svc-header .actions{display:flex;gap:12px;flex-wrap:wrap}
.svc-header .back{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.5);touch-action:manipulation}
.svc-header .back:hover{background:#fff;border-color:rgba(14,30,58,.25);color:var(--ink)}
.svc-header .cta{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;padding:9px 16px;border-radius:999px;touch-action:manipulation}
.svc-header .cta:hover{background:#E2A52A;color:var(--ink)}

/* ─── Main ─── */
.svc-main{padding:48px 0 80px}
.svc-eyebrow{display:inline-block;font-family:var(--font-display);font-weight:600;font-style:italic;font-size:13.5px;letter-spacing:.02em;color:var(--gold-deep);margin-bottom:14px}
h1{font-family:var(--font-display);font-weight:800;font-size:clamp(28px,5.2vw,58px);line-height:1.1;letter-spacing:-0.024em;color:var(--ink);text-wrap:balance;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;margin-bottom:18px;max-width:100%}
.svc-lede{font-size:17.5px;line-height:1.6;color:var(--muted);max-width:640px;margin-bottom:32px;font-weight:400}
.svc-lede strong{color:var(--ink);font-weight:600}

h2{font-family:var(--font-display);font-weight:600;font-size:clamp(24px,3vw,32px);line-height:1.15;letter-spacing:-0.018em;color:var(--ink);margin:48px 0 16px;text-wrap:balance;scroll-margin-top:90px}
h3{font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--ink);margin:24px 0 10px}
p{font-size:16px;line-height:1.7;color:var(--ink);margin-bottom:14px}
ul,ol{margin:14px 0 18px 0;padding-left:0;list-style:none}
ul li,ol li{position:relative;padding-left:22px;font-size:15.5px;line-height:1.7;color:var(--ink);margin-bottom:6px}
ul li::before{content:'';position:absolute;left:0;top:13px;width:8px;height:1px;background:var(--gold)}
ol{counter-reset:olc}
ol li{counter-increment:olc;padding-left:32px}
ol li::before{content:counter(olc) '.';position:absolute;left:0;top:0;font-family:var(--font-display);font-weight:700;color:var(--gold-deep);font-size:16px;background:none;width:auto;height:auto}
strong{font-weight:700}
em{font-style:italic}

.svc-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 26px;margin:16px 0;box-shadow:0 1px 0 rgba(14,30,58,.03)}
.svc-card h3{margin-top:0}
.svc-card p:last-child{margin-bottom:0}

/* ─── CTA bar ─── */
.svc-cta-bar{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(110deg,rgba(201,154,63,.18),rgba(201,154,63,.04));border:1px solid rgba(201,154,63,.32);border-radius:12px;padding:24px 28px;margin:40px 0;flex-wrap:wrap;gap:18px}
.svc-cta-text{font-family:var(--font-display);font-weight:600;font-size:18px;line-height:1.3;color:var(--ink);max-width:480px}
.svc-cta-text small{display:block;font-weight:500;font-size:13px;color:var(--muted);margin-top:6px;font-family:var(--font-body)}
.svc-cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.svc-cta-phone,.svc-cta-quote{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-weight:700;font-size:15px;padding:14px 22px;border-radius:999px;text-decoration:none;letter-spacing:.01em;touch-action:manipulation;-webkit-tap-highlight-color:rgba(201,154,63,.18);white-space:nowrap}
.svc-cta-phone{color:#fff;background:var(--ink)}
.svc-cta-phone:hover{background:#1B2D5A;color:#fff}
.svc-cta-quote{color:var(--ink);background:var(--gold);border:1px solid rgba(0,0,0,.06)}
.svc-cta-quote:hover{background:#E2A52A;color:var(--ink)}

/* ─── FAQ ─── */
details.svc-faq{border:1px solid var(--line);border-radius:8px;padding:16px 22px;margin:10px 0;background:#fff;transition:border-color .15s}
details.svc-faq[open]{border-color:rgba(201,154,63,.45)}
details.svc-faq summary{cursor:pointer;font-weight:600;color:var(--ink);font-size:15.5px;list-style:none;padding-right:24px;position:relative}
details.svc-faq summary::-webkit-details-marker{display:none}
details.svc-faq summary::after{content:'+';position:absolute;right:0;top:-2px;font-size:22px;font-weight:300;color:var(--gold-deep);transition:transform .2s}
details.svc-faq[open] summary::after{content:'−'}
details.svc-faq[open] summary{margin-bottom:10px}
details.svc-faq p{margin:0;font-size:15px}

/* ─── Liens internes ─── */
.svc-internal-links{margin:40px 0 0;padding:24px;background:rgba(245,240,230,.6);border:1px solid var(--line);border-radius:12px}
.svc-internal-links h2{margin:0 0 12px;font-size:18px}
.svc-internal-links ul{margin:0}
.svc-internal-links ul li{padding-left:18px;font-size:14.5px;margin-bottom:4px}
.svc-internal-links ul li::before{top:11px;width:6px}

/* ─── Footer ─── */
footer{background:var(--navy-deep);color:rgba(245,241,232,.55);padding:28px 0 20px;font-size:13px;margin-top:24px}
footer .wrap{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;max-width:1180px}
footer a{color:rgba(245,241,232,.75);text-decoration:none}
footer a:hover{color:var(--cream)}
footer .foot-links{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center}
footer .foot-address{font-size:12px;color:rgba(245,241,232,.4);margin-top:4px}

/* Hide the empty pill buttons on mobile + tablet — sticky bottom bar covers same intent. */
/* Bumped from 620px to 1023px because iPad portrait + larger phones still showed empty pills. */
@media (max-width:1023px){
  .svc-header .actions{display:none}
}
@media (max-width:620px){
  .svc-header{padding:14px 0}
  .svc-header .wrap{padding:0 20px}
  .svc-header .brand img{height:72px;width:auto;margin:-10px 0}
  .svc-main{padding:32px 0 60px}
  .wrap{padding:0 20px}
  h1{font-size:clamp(28px,7vw,40px)}
  h2{font-size:clamp(22px,5vw,28px)}
  .svc-cta-bar{padding:20px 22px;flex-direction:column;align-items:flex-start}
  .svc-cta-text{font-size:16px}
  .svc-cta-actions{width:100%;flex-direction:column}
  .svc-cta-phone,.svc-cta-quote{width:100%;justify-content:center;font-size:14px;padding:13px 18px}
}

/* ─── Body paragraphs : justified on desktop only (rivers on narrow widths) ─── */
@media (min-width:768px){
  .svc-main .wrap > p,
  details.svc-faq p{
    text-align:justify;
    hyphens:auto;
    -webkit-hyphens:auto;
    text-justify:inter-word;
  }
}
.svc-main .wrap > p,
details.svc-faq p{
  hyphens:auto;
  -webkit-hyphens:auto;
}

/* ─── MEMO ASSETS — visible CTA cards ─── */
.memo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin:32px 0}
.memo-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  padding:22px 24px;background:linear-gradient(135deg,rgba(201,154,63,.10),rgba(201,154,63,.02));
  border:1.5px solid rgba(201,154,63,.32);border-radius:14px;
  text-decoration:none;color:var(--ink);transition:all .15s;position:relative;overflow:hidden;
}
.memo-card:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 14px 32px -18px rgba(201,154,63,.50)}
.memo-card .memo-icon{
  width:38px;height:38px;border-radius:10px;
  background:var(--ink);color:var(--gold);
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.memo-card .memo-icon svg{width:18px;height:18px}
.memo-card .memo-eyebrow{
  font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--gold-deep);
}
.memo-card .memo-title{
  font-family:var(--font-display);font-weight:700;font-size:17px;line-height:1.25;color:var(--ink);
  letter-spacing:-.005em;margin:0;
}
.memo-card .memo-desc{
  font-size:13.5px;line-height:1.5;color:var(--muted);margin:0;
}
.memo-card .memo-link{
  display:inline-flex;align-items:center;gap:6px;
  font-weight:600;font-size:13.5px;color:var(--gold-deep);
  margin-top:auto;
}
.memo-card:hover .memo-link{gap:9px}
.memo-card .memo-link svg{width:14px;height:14px;transition:transform .2s}
.memo-card:hover .memo-link svg{transform:translateX(2px)}
