html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* NOLAVISION — static site styles */
:root {
  --stone-50: oklch(98.2% 0.006 90); --stone-100: oklch(96.3% 0.010 88); --stone-200: oklch(92.5% 0.015 85);
  --stone-300: oklch(86.5% 0.020 80); --stone-500: oklch(48% 0.018 65); --stone-600: oklch(48% 0.018 65);
  --copper-100: oklch(93% 0.045 65); --copper-200: oklch(87% 0.07 60); --copper-500: oklch(51% 0.125 42);
  --copper-600: oklch(51% 0.125 42); --copper-700: oklch(42% 0.105 40);
  --petrol-100: oklch(92% 0.035 175); --petrol-500: oklch(42% 0.055 165); --petrol-700: oklch(25% 0.04 160);
  --ink-950: oklch(11% 0.008 55);
  --surface-page: var(--stone-50); --surface-canvas: var(--stone-100); --surface-card: #fff; --surface-inverse: var(--ink-950); --surface-sunken: var(--stone-200);
  --text-primary: var(--ink-950); --text-secondary: var(--stone-600); --text-tertiary: var(--stone-500); --text-on-inverse: var(--stone-50);
  --border-subtle: var(--stone-200); --border-inverse: oklch(100% 0 0 / 0.16);
  --brand-primary: var(--copper-500); --brand-primary-hover: var(--copper-600);
  --font-display: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --font-body: "Manrope", "Helvetica Neue", Arial, sans-serif;
  --text-xs: 0.75rem; --text-sm: 0.875rem; --text-base: 1rem; --text-md: 1.125rem; --text-lg: 1.375rem;
  --text-xl: 1.75rem; --text-2xl: 2.25rem; --text-3xl: 3rem; --text-4xl: 4rem;
  --leading-tight: 1.08; --leading-normal: 1.5; --leading-relaxed: 1.7; --tracking-wider: 0.12em; --tracking-tight: -0.02em;
  --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px; --space-8: 32px; --space-10: 40px; --space-12: 48px; --space-16: 64px; --space-20: 80px; --space-24: 96px;
  --radius-md: 8px; --radius-lg: 14px; --radius-xl: 22px; --radius-full: 999px;
  --container-max: 1180px; --container-padding: 24px;
}
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Manrope:wght@400;500;600;700;800&display=swap');
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-body);background:var(--surface-page);color:var(--text-primary);text-wrap:pretty}
a{color:var(--brand-primary);text-decoration:none}
a:hover{color:var(--copper-700)}
input,textarea,select{font-size:16px}
.skip{position:absolute;left:-9999px;top:0;background:var(--copper-600);color:#fff;padding:10px 16px;border-radius:8px;z-index:1000;font-size:var(--text-sm);font-weight:700}
.skip:focus{left:12px;top:12px}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;color:var(--text-primary);margin:0;overflow-wrap:normal;word-break:normal;hyphens:auto}
p{overflow-wrap:break-word}
.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}
.eyebrow{font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-tertiary)}
.badge{display:inline-block;font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wider);text-transform:uppercase;padding:6px 14px;border-radius:var(--radius-full);background:var(--copper-100);color:var(--copper-700)}
.badge-neutral{background:var(--surface-canvas);color:var(--text-secondary)}
.badge-petrol{background:var(--petrol-100);color:var(--petrol-700)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:700;text-decoration:none;border-radius:var(--radius-md);cursor:pointer;border:none;text-align:center}
.btn-primary{background:var(--brand-primary);color:#fff}
.btn-primary:hover{background:var(--brand-primary-hover);color:#fff}
.btn-outline{background:rgba(255,255,255,0.08);border:1.5px solid var(--border-inverse);color:#fff}
.btn-outline:hover{color:#fff;background:rgba(255,255,255,0.16)}
.btn-lg{padding:16px 30px;font-size:var(--text-md)}
.btn-md{padding:12px 22px;font-size:var(--text-sm)}
.btn-sm{padding:9px 18px;font-size:var(--text-sm)}
.site-header{position:sticky;top:0;z-index:40;background:color-mix(in oklab, var(--surface-page) 90%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-subtle)}
.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 24px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-style:italic;font-size:var(--text-xl);color:var(--text-primary)}
.logo:hover{color:var(--text-primary)}
.main-nav{display:flex;gap:32px;align-items:center}
.main-nav a{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);padding-bottom:4px;border-bottom:2px solid transparent}
.main-nav a.active,.main-nav a:hover{color:var(--text-primary);border-color:var(--brand-primary)}
.header-actions{display:flex;align-items:center;gap:24px}
.phone-link{font-size:var(--text-sm);font-weight:700;color:var(--text-primary);white-space:nowrap}
.header-actions .btn,.btn-sm{white-space:nowrap;flex-shrink:0}
.phone-link:hover{color:var(--text-primary)}
.nav-toggle-input,.nav-toggle-btn{display:none}
@media (max-width:1150px){
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface-page);flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 20px;border-bottom:1px solid var(--border-subtle)}
  .main-nav a{width:100%;padding:12px 0;border-bottom:1px solid var(--border-subtle)}
  .nav-toggle-input:checked ~ .main-nav{display:flex}
  .nav-toggle-btn{display:block;background:none;border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:40px;height:40px;flex:0 0 40px;font-size:18px;cursor:pointer}
  .header-inner{gap:12px;flex-wrap:wrap}
  .logo{min-width:0;overflow-wrap:anywhere}
  .header-actions .phone-link{display:none}
  .header-actions .btn{display:none}
}
/* RÈGLE bandeaux : toute photo PORTRAIT utilisée dans un cadre large (bandeau .hero ou
   carte .card-photo) doit porter un background-position explicite calé sur son sujet.
   Un bandeau 1920x420 (ratio 4,57) ne montre que ~16% d'une photo 960x1280, pris au centre. */
.hero{position:relative;min-height:640px;display:flex;align-items:flex-end;background-size:cover;background-position:center}
.hero-inner{max-width:var(--container-max);margin:0 auto;width:100%;padding:64px 24px 120px}
.hero h1{font-size:clamp(2.4rem,5vw,4rem);line-height:1.02;letter-spacing:var(--tracking-tight);color:#fff;margin:20px 0}
.hero h1 em{font-style:italic;color:var(--copper-200)}
.hero p{font-family:var(--font-body);font-size:var(--text-md);color:rgba(255,255,255,0.86);max-width:560px;line-height:var(--leading-relaxed);margin:0 0 32px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.stat-strip{max-width:var(--container-max);margin:-40px auto 0;padding:0 24px;position:relative;z-index:2}
.stat-strip-inner{background:var(--surface-card);border-radius:var(--radius-xl);box-shadow:0 24px 60px -20px rgba(20,17,15,0.25);display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}
.stat{padding:32px 24px;text-align:center}
.stat + .stat{border-left:1px solid var(--border-subtle)}
.stat b{display:block;font-family:var(--font-display);font-size:var(--text-3xl);color:var(--brand-primary);margin-bottom:6px;font-weight:400}
.stat span{font-size:var(--text-sm);color:var(--text-tertiary)}
section.band{padding:80px 0}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.section-head h2{font-size:var(--text-3xl)}
.card{background:var(--surface-card);border-radius:var(--radius-lg);overflow:hidden;display:block;color:inherit}
.card:hover{color:inherit}
.card-photo{aspect-ratio:4/3;background-size:cover;background-position:center}
.card-body{padding:24px}
.card-body h3,.card-body h4{font-size:var(--text-lg);margin:0 0 12px}
.card-cta{font-size:var(--text-sm);font-weight:700;color:var(--brand-primary)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature-card{display:grid;grid-template-columns:1.1fr 0.9fr;align-items:stretch;background:var(--surface-card);border-radius:var(--radius-xl);overflow:hidden;margin-bottom:24px;color:inherit}
.feature-card:hover{color:inherit}
.feature-card-text{padding:40px;display:flex;flex-direction:column;justify-content:center}
.feature-card-text p{font-family:var(--font-body);font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-relaxed);max-width:440px;margin:0 0 24px}
.feature-card-photo{min-height:320px;background-size:cover;background-position:center}
.cta-tile{background:var(--surface-inverse);color:var(--text-on-inverse);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;justify-content:space-between}
.cta-tile-title{font-family:var(--font-display);font-size:var(--text-xl);margin-bottom:8px}
.cta-tile p{font-size:var(--text-sm);opacity:0.8;margin:0}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testimonial{display:block;border-radius:var(--radius-lg);padding:32px 24px 24px;background:var(--surface-card);box-shadow:0 1px 2px rgba(20,17,15,0.06)}
.testimonial .stars{color:#F4B400;margin-bottom:12px;font-size:16px}
.testimonial q{display:block;font-family:var(--font-display);font-style:italic;font-size:var(--text-lg);color:var(--text-tertiary);line-height:var(--leading-relaxed);margin:0 0 24px;quotes:none}
.testimonial-author{display:flex;align-items:center;gap:10px}
.testimonial-avatar{width:36px;height:36px;border-radius:50%;background:var(--surface-canvas);color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-sm)}
.testimonial-name{font-size:var(--text-sm);font-weight:700;color:var(--text-secondary)}
.testimonial-meta{font-size:var(--text-xs);color:var(--text-tertiary)}
.city-tags{display:flex;flex-wrap:wrap;gap:10px}
.city-tags span{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:8px 16px}
.sd-hero{max-width:var(--container-max);margin:0 auto;padding:80px 24px 64px;display:grid;grid-template-columns:1.05fr 0.95fr;gap:56px;align-items:center}
.services-grid,.steps-grid,.testimonials-grid,.band2,.band3,.values-grid,.feature-card,.sd-hero,.about-grid,.form-grid,.stat-strip-inner{min-width:0}
.services-grid > *,.steps-grid > *,.testimonials-grid > *,.band2 > *,.band3 > *,.values-grid > *,.feature-card > *,.sd-hero > *,.about-grid > *,.form-grid > *,.stat-strip-inner > *{min-width:0}
.sd-hero h1{font-size:clamp(2.2rem,4vw,3.2rem);line-height:var(--leading-tight);margin:20px 0}
.sd-hero p{font-family:var(--font-body);font-size:var(--text-md);color:var(--text-secondary);line-height:var(--leading-relaxed);max-width:520px;margin:0 0 32px}
.sd-hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.sd-hero-photo{position:relative}
.sd-hero-photo .photo{aspect-ratio:4/3;border-radius:var(--radius-xl);box-shadow:0 30px 60px -20px rgba(20,17,15,0.28);background-size:cover;background-position:center}
.sd-badge{position:absolute;left:-18px;bottom:-18px;background:var(--surface-card);border-radius:var(--radius-lg);padding:16px 20px;box-shadow:0 16px 32px -12px rgba(20,17,15,0.2);display:flex;align-items:center;gap:10px;font-size:var(--text-sm);font-weight:700}
.sd-badge span{width:10px;height:10px;border-radius:50%;background:var(--brand-primary);display:inline-block}
.band2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.band3{border-radius:var(--radius-xl);padding:32px 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.band3 h3{font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:6px;font-weight:400}
.band3 p{font-size:var(--text-sm);opacity:0.85;line-height:var(--leading-relaxed);margin:0}
.band3-copper{background:var(--copper-100);color:var(--copper-700)}
.band3-petrol{background:var(--petrol-100);color:var(--petrol-700)}
.band3-dark{background:var(--surface-inverse);color:var(--text-on-inverse)}
[class*="-dark"] h1,[class*="-dark"] h2,[class*="-dark"] h3,[class*="-dark"] h4{color:var(--text-on-inverse)}
.band3-sunken{background:var(--surface-sunken)}
.step-card{background:var(--surface-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:32px}
.step-card h3{color:var(--brand-primary);font-size:var(--text-xl);margin:0 0 12px}
.step-card p{margin:0;color:var(--text-secondary);line-height:var(--leading-relaxed)}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.step-num{width:44px;height:44px;border-radius:50%;background:var(--copper-100);color:var(--brand-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:20px}
.faq{display:flex;flex-direction:column;gap:20px;max-width:760px}
.faq dt{font-family:var(--font-body);font-size:var(--text-md);font-weight:700;margin-bottom:4px}
.faq dd{margin:0;color:var(--text-secondary);line-height:var(--leading-relaxed)}
.benefits{display:flex;flex-direction:column;gap:16px}
.benefits li{display:flex;gap:12px;align-items:flex-start;color:var(--text-secondary);line-height:var(--leading-relaxed);list-style:none}
.benefits li::before{content:"✓";color:var(--brand-primary);font-weight:700;flex-shrink:0}
.cta-banner{position:relative;padding:80px 24px;background-size:cover;background-position:center;text-align:center}
.cta-banner-inner{max-width:640px;margin:0 auto;position:relative}
.cta-banner h2{color:#fff;font-size:var(--text-3xl);margin:0 0 16px}
.cta-banner p{font-family:var(--font-body);font-size:var(--text-md);color:rgba(255,255,255,0.82);margin:0 0 32px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:span 2}
.field label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}
.field input:not([type=checkbox]):not([type=radio]),.field textarea,.field select{font-family:var(--font-body);font-size:var(--text-base);padding:12px 14px;border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary)}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--brand-primary);outline-offset:1px}
.field textarea{resize:vertical;min-height:88px}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:var(--text-sm);color:var(--text-primary)}
.checkbox-row input{margin-top:3px}
.prose{max-width:760px;margin:0 auto;padding:0 24px}
.prose-section{padding:32px 0;border-top:1px solid var(--border-subtle)}
.prose-section:first-child{border-top:none}
.prose-section h2{font-size:var(--text-xl);margin:0 0 12px}
.prose-section p{color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0;overflow-wrap:break-word}
.about-grid{display:flex;gap:40px;align-items:flex-start;flex-wrap:wrap}
.about-photo{flex:1 1 320px;max-width:380px;aspect-ratio:4/5;border-radius:var(--radius-xl);box-shadow:0 24px 48px -20px rgba(20,17,15,0.2);background-size:cover;background-position:center}
.about-text{flex:2 1 420px}
.about-text p{color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0 0 16px}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.value-card{background:var(--surface-card);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);padding:24px}
.value-card h3{color:var(--brand-primary);font-size:var(--text-lg);margin:0 0 8px;font-weight:400}
.value-card p{font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}
.site-footer{background:var(--surface-inverse);color:var(--text-on-inverse);border-top:3px solid var(--brand-primary)}
.footer-grid{padding:64px 24px 40px;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.footer-logo{color:var(--text-on-inverse);margin-bottom:12px}
.footer-logo:hover{color:var(--text-on-inverse)}
.footer-desc{font-size:var(--text-sm);opacity:0.65;line-height:var(--leading-relaxed);max-width:320px;margin:0 0 18px}
.footer-social{display:flex;gap:18px}
.footer-social a{font-size:var(--text-sm);font-weight:600;color:var(--text-on-inverse);opacity:0.75}
.footer-heading{font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wider);text-transform:uppercase;opacity:0.5;margin-bottom:14px}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links a{font-size:var(--text-sm);color:var(--text-on-inverse);opacity:0.75}
.footer-contact-link{display:block;font-size:var(--text-sm);color:var(--text-on-inverse);opacity:0.75;margin-bottom:10px;word-break:break-all}
.footer-zone{font-size:var(--text-sm);opacity:0.55;line-height:var(--leading-relaxed);margin:14px 0 0}
.footer-legal{border-top:1px solid rgba(255,255,255,0.12);padding:20px 24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:var(--text-xs);opacity:0.5}
.footer-legal a{color:var(--text-on-inverse)}
.footer-legal-links{display:flex;flex-wrap:wrap;column-gap:16px;row-gap:8px}
@media (max-width:900px){
  .services-grid,.steps-grid,.testimonials-grid,.band2,.band3,.values-grid{grid-template-columns:1fr}
  .feature-card,.sd-hero,.about-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .form-grid .field.full,.form-grid .field{grid-column:span 2}
  .form-grid{grid-template-columns:1fr}
  .stat-strip-inner{grid-template-columns:1fr}
  .stat + .stat{border-left:none;border-top:1px solid var(--border-subtle)}
  .stat b{font-size:var(--text-2xl)}
  .hero,.sd-hero-photo .photo,.feature-card-photo{min-height:0}
}
@media (max-width:700px){
  .sd-hero h1{font-size:clamp(1.7rem,6vw,2.4rem)}
  section.band{padding:40px 0}
  .prose{padding:0 20px}
  .prose-section{padding:24px 0}
}
@media (max-width:480px){
  .sd-hero h1{font-size:clamp(1.5rem,6.5vw,2rem)}
  .hero h1{font-size:clamp(1.9rem,9vw,2.6rem)}
  h1[style*="var(--text-4xl)"]{font-size:2.2rem !important}
  .section-head h2,.cta-banner h2{font-size:clamp(1.7rem,7vw,2.25rem)}
}

.updated-date{font-size:var(--text-sm);color:var(--text-tertiary);margin:12px 0 0}
.card-photo,.feature-card-photo,.about-photo{content-visibility:auto}
.aides-table{width:100%;border-collapse:collapse}
.aides-table th,.aides-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm);line-height:var(--leading-normal);vertical-align:top}
.aides-table th{color:var(--text-tertiary);font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.04em}
.aides-table-wrap{overflow-x:auto;background:var(--surface-card);border-radius:var(--radius-lg)}
.aides-callout{background:var(--surface-canvas);border-radius:var(--radius-lg);padding:32px}
.img-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.img-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:700px){
  .img-grid-2,.img-grid-3{grid-template-columns:1fr}
}

/* Fil d'Ariane */
.breadcrumb{max-width:var(--container-max);margin:0 auto;padding:18px 24px 0;font-size:var(--text-sm)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0}
.breadcrumb li{display:flex;align-items:center;gap:8px;min-width:0}
.breadcrumb a{color:var(--text-secondary);font-weight:600}
.breadcrumb a:hover{color:var(--text-primary);text-decoration:underline}
.breadcrumb [aria-current="page"]{color:var(--text-primary);font-weight:600}
.breadcrumb-sep{color:var(--text-tertiary)}
/* Barre d'appel fixe — mobile uniquement */
.mobile-cta{display:none}
@media (max-width:767px){
  .mobile-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--surface-page);border-top:1px solid var(--border-subtle);box-shadow:0 -8px 24px -16px rgba(20,17,15,0.5)}
  .mobile-cta a{flex:1 1 0;min-width:0;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px 12px;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:700;line-height:1.25;overflow-wrap:break-word}
  .mobile-cta-call{background:var(--surface-inverse);color:var(--text-on-inverse)}
  .mobile-cta-call:hover{color:var(--text-on-inverse)}
  .mobile-cta-quote{background:var(--brand-primary);color:#fff}
  .mobile-cta-quote:hover{color:#fff}
  body.has-mobile-cta{padding-bottom:calc(4.75rem + env(safe-area-inset-bottom))}
}

/* Tableaux /aides/ : empilement sous 600 px */
@media (max-width:599px){
  .aides-table-wrap{overflow-x:visible}
  .aides-table-stack,.aides-table-stack tbody,.aides-table-stack tr,.aides-table-stack td{display:block;width:100%}
  .aides-table-stack thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
  .aides-table-stack tr{padding:18px 16px;border-bottom:1px solid var(--border-subtle)}
  .aides-table-stack tr:last-child{border-bottom:none}
  .aides-table-stack td{padding:0;border:none;overflow-wrap:break-word}
  .aides-table-stack td:first-child{font-size:var(--text-base);font-weight:700;margin-bottom:14px}
  .aides-table-stack td + td{margin-top:12px}
  .aides-table-stack td[data-label]::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}
}
@media (max-width:480px){
  .aides-callout{padding:20px}
}

/* Débordements 320 px / texte 200 % — intégré le 8 septembre 2026 */
/* 1. un mot plus large que sa colonne se coupe au lieu de sortir */
body, p, li, dt, dd, q, blockquote,
h1, h2, h3, h4, h5, h6, a, .btn, figcaption {
  overflow-wrap: break-word;
}

@media (max-width: 700px) {
  /* 2. les éléments flex peuvent rétrécir, les libellés passent à la ligne */
  .btn, .cta-tile, .cta-tile-title, .testimonial { min-width: 0; }
  .btn { white-space: normal; text-align: center; }

  /* 3. les deux captures Tydom s'empilent au lieu de forcer 460 px */
  div:has(> img[src*="tydom"]) { flex-wrap: wrap; }
  div:has(> img[src*="tydom"]) > img { max-width: 100%; }
}

/* 4. listes « avantages » : display:flex coupait le texte et les liens
      en deux blocs côte à côte, incapables de couler ensemble */
.benefits li {
  display: block;
  position: relative;
  padding-left: 24px;
  gap: 0;
}
.benefits li::before {
  position: absolute;
  left: 0;
  top: 0;
}

/* 5 et 6. liens-pastilles posés en inline-flex par un style en ligne :
   leur contenu ne peut pas descendre sous sa taille minimale */
@media (max-width: 700px) {
  a[style*="inline-flex"] { display: inline-block !important; min-width: 0; }
}

/* Cadrage de deux photos portrait posées dans des boîtes paysage.
   L'étiquette EXIF de rotation est correcte et doit rester : on recadre, on ne retouche pas. */
.sd-hero-photo .photo[style*="climatisation-general-cagnes"] { background-position: 50% 0%; }
img[src*="alarme-lorgues-camera-facade"] { object-position: 50% 14%; }

/* ============================================================
   CORRECTIF CÉSURE DES TITRES — 08/09/2026
   La règle h1..h4 { hyphens: auto } de la ligne 32 coupe les
   mots des titres même sur grand écran, où la place ne manque
   pas : « ar-tisan » à 64 px sur /a-propos/, et huit autres
   titres à partir de 960 px de large.
   On garde la césure sous 700 px, où elle rend service sur un
   mot trop long pour la colonne. On l'éteint au-dessus.
   Vérifié sur les 31 pages en 768, 960 et 1280 px : aucun
   titre ne déborde sans elle.
   ============================================================ */
@media (min-width: 700px) {
  h1, h2, h3, h4 {
    -webkit-hyphens: manual;
    hyphens: manual;
  }
}
