/* Grand Air Débarras — design moderne.
   Chargée après les styles d'origine : elle redéfinit les couleurs, les espacements
   et les composants (en-tête, boutons, cartes, formulaire, pied de page). */

:root{
  --ink:#10332a;
  --deep:#17603f;
  --deep-hover:#1d7550;
  --cta:#c8470a;
  --cta-hover:#b03d07;
  --muted:#58685f;
  --accent:#def483;
  --accent-strong:#6fb52c;
  --line:#e2e8e2;
  --soft:#f0f7ee;
  --radius:22px;
  --radius-lg:32px;
  --content:1220px;
  --shadow-sm:0 1px 2px rgba(17,48,42,.05),0 4px 14px -6px rgba(17,48,42,.10);
  --shadow-md:0 1px 2px rgba(17,48,42,.05),0 22px 44px -20px rgba(17,48,42,.30);
  --icon-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5 10 17 19 7'/%3E%3C/svg%3E");
}
html{scroll-padding-top:96px}
body{font-size:16.5px;color:var(--ink);background:#fff}
::selection{background:var(--accent);color:var(--deep)}

/* Titres */
h1{font-weight:750;letter-spacing:-.045em;line-height:1.04}
h2{font-size:clamp(32px,3.6vw,50px);font-weight:720;letter-spacing:-.04em;line-height:1.1}
h3{font-weight:680;letter-spacing:-.02em}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--deep);margin-bottom:20px}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent-strong);flex-shrink:0}
.lead{color:var(--muted)}

/* Boutons et liens */
.button{gap:12px;min-height:52px;padding:14px 26px;border-radius:100px;font-weight:650;box-shadow:0 10px 24px -12px rgba(20,56,46,.65);transition:background .2s,transform .2s,box-shadow .2s}
.button:hover{background:var(--deep-hover);transform:translateY(-2px);box-shadow:0 16px 30px -14px rgba(20,56,46,.7)}
/* Les boutons d’action sont orange : c’est la seule touche orange du site. */
.button:not(.button-light),.mobile-actions .mobile-actions-quote{background:var(--cta);border-color:var(--cta);color:#fff;box-shadow:0 10px 24px -12px rgba(200,71,10,.8)}
.button:not(.button-light):hover{background:var(--cta-hover);border-color:var(--cta-hover);box-shadow:0 16px 30px -14px rgba(200,71,10,.85)}
.button-light{color:var(--deep);box-shadow:none}
.button-light:hover{background:#ecfab0}
.service-detail-link{display:inline-block;min-height:0;padding-block:10px;color:var(--deep);font-weight:650;text-decoration:none}
.service-detail-link::after{content:"→";display:inline-block;margin-left:8px;transition:transform .2s}
.service-detail-link:hover::after{transform:translateX(4px)}

/* En-tête fixe */
.site-header{position:sticky;top:0;z-index:60;max-width:none;min-height:76px;padding:12px max(5%,calc((100% - var(--content))/2));gap:24px;flex-wrap:nowrap;background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line)}
.brand-mark{width:44px;height:44px;border-radius:13px;font-size:24px;box-shadow:0 6px 14px -8px rgba(20,56,46,.8)}
.brand-name{font-size:22px}
.brand-name>span{font-size:11px;letter-spacing:.12em;margin-top:5px;color:var(--muted)}
.site-header nav{display:flex;gap:4px;font-size:14.5px;font-weight:550}
.site-header nav a{padding:9px 14px;border-radius:100px;transition:background .2s,color .2s}
.site-header nav a:hover{background:var(--soft);color:var(--deep)}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.header-call{gap:8px;padding:10px 16px;font-size:14.5px;background:#fff;border:1px solid var(--line);transition:border-color .2s}
.header-call:hover{border-color:var(--deep)}
.header-call svg{width:17px;height:17px}
.header-quote{min-height:44px;padding:10px 20px;font-size:14.5px;box-shadow:none}
.menu-toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;flex-shrink:0;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--deep);cursor:pointer}
.menu-icon,.menu-icon::before,.menu-icon::after{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s}
.menu-icon{position:relative}
.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0}
.menu-icon::before{top:-6px}
.menu-icon::after{top:6px}
.menu-open .menu-icon{background:transparent}
.menu-open .menu-icon::before{transform:translateY(6px) rotate(45deg)}
.menu-open .menu-icon::after{transform:translateY(-6px) rotate(-45deg)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:1180px){
  .site-header nav{display:none}
  .menu-toggle{display:inline-flex}
  .site-header.menu-open nav{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;top:100%;left:0;right:0;padding:8px max(5%,calc((100% - var(--content))/2)) 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 30px 40px -30px rgba(17,48,42,.45);overflow:visible;white-space:normal;order:0;flex-basis:auto}
  .site-header.menu-open nav a{display:flex;min-height:54px;padding:14px 4px;border-radius:0;border-bottom:1px solid var(--line);font-size:17px;font-weight:600}
  .site-header.menu-open nav a:last-child{border-bottom:0}
  .site-header.menu-open nav a:hover{background:transparent}
  .header-actions{margin-left:auto}
}
@media(max-width:640px){
  .site-header{min-height:66px;padding:10px 5%;gap:10px;flex-wrap:nowrap;justify-content:space-between}
  .brand-mark{width:40px;height:40px;font-size:22px;border-radius:12px}
  .brand-name{font-size:20px}
  .brand-name>span{font-size:10px;letter-spacing:.08em}
  .header-quote{display:none}
  .header-call{width:46px;height:46px;padding:0;justify-content:center;border-radius:14px}
  .header-call svg{display:block;width:19px;height:19px}
  .header-call span{display:none}
  .menu-toggle{width:46px;height:46px}
}
@media(max-width:360px){
  .brand-name>span{display:none}
}

/* Accueil : bandeau d'ouverture */
.hero{max-width:none;padding:72px max(5%,calc((100% - var(--content))/2)) 88px;gap:64px;background:radial-gradient(90% 120% at 100% 0%,#d3efc9 0%,rgba(211,239,201,0) 60%),var(--soft)}
.hero .eyebrow{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:8px 14px;letter-spacing:.1em}
.hero h1{font-size:clamp(46px,5.6vw,80px)}
.hero h1>span{background:linear-gradient(95deg,#1d7a4f 0%,#34853d 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{font-size:18.5px;max-width:560px}
.hero-actions{gap:12px;margin-top:34px}
.hero-actions .button::after{content:"→";transition:transform .2s}
.hero-actions .button:hover::after{transform:translateX(4px)}
.hero-actions .text-link{display:inline-flex;align-items:center;min-height:52px;padding:14px 24px;border:1px solid #cfd9cf;border-radius:100px;background:#fff;font-size:15px;font-weight:650;text-decoration:none;transition:border-color .2s}
.hero-actions .text-link:hover{border-color:var(--deep);color:var(--deep)}
.hero-hours{margin-top:22px}
.hero-detail{gap:10px;margin-top:26px}
.hero-detail span,.hero-detail span+span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:100px;background:#fff;color:var(--ink);font-size:13px;font-weight:600}
.hero-detail span::before{content:"";width:14px;height:14px;background:var(--accent-strong);-webkit-mask:var(--icon-check) center/contain no-repeat;mask:var(--icon-check) center/contain no-repeat}
.hero-image{height:540px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}
.hero-image figcaption{background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.7);border-radius:16px}
.photo-label{box-shadow:0 4px 12px -4px rgba(17,48,42,.35)}
@media(max-width:1100px){.hero{gap:36px}.hero-image{height:480px}}
@media(max-width:850px){.hero-image{height:420px}}
@media(max-width:640px){
  .hero{padding:36px 5% 52px;gap:32px}
  .hero h1{font-size:clamp(40px,11vw,56px)}
  .hero .lead{font-size:17px}
  .hero-actions .button,.hero-actions .text-link{width:100%;justify-content:center}
  .hero-image{height:380px;border-radius:24px}
}

/* Accueil : services en cartes */
.services{display:block;padding-top:96px;padding-bottom:24px;border-top:0}
.services .section-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:64px;margin-bottom:44px}
.services .section-intro>*{grid-column:1}
.services .section-description{grid-column:2;grid-row:1/3;align-self:end;max-width:none;margin:0;font-size:17px}
.service-list{display:flex;flex-wrap:wrap;gap:20px}
.service-list article{flex:1 1 calc(33.333% - 14px);min-width:0}
.service-list article,.service-list article:first-child,.service-list article:last-child{position:relative;display:flex;flex-direction:column;gap:22px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}
.service-list article:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.service-list article>div{display:flex;flex-direction:column;flex:1}
.service-list article::before{content:"";width:56px;height:56px;border-radius:17px;background:var(--accent)}
.service-list article::after{content:"";position:absolute;top:42px;left:42px;width:28px;height:28px;background:var(--deep);-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.service-list article:nth-child(1){--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9v11h5v-6h4v6h5V9'/%3E%3C/svg%3E")}
.service-list article:nth-child(2){--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7.5 12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5 12 12l9-4.5M12 12v9'/%3E%3C/svg%3E")}
.service-list article:nth-child(3){--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 11V8a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v3'/%3E%3Cpath d='M3 13a2 2 0 0 1 4 0v2h10v-2a2 2 0 0 1 4 0v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z'/%3E%3Cpath d='M6 18v2M18 18v2'/%3E%3C/svg%3E")}
.service-list article#elagage{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21v-8'/%3E%3Cpath d='M12 15l-3-3M12 17l3-3'/%3E%3Cpath d='M7.5 16.5A4.5 4.5 0 0 1 6 8a6 6 0 0 1 12 0 4.5 4.5 0 0 1-1.5 8.5'/%3E%3C/svg%3E")}
.service-list article#locaux-professionnels{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16'/%3E%3Cpath d='M16 9h2a2 2 0 0 1 2 2v10'/%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M8 7h4M8 11h4M8 15h4'/%3E%3C/svg%3E")}
.service-number{display:none}
.service-list h3{font-size:19px;line-height:1.3}
.service-list p{font-size:15px;line-height:1.65;margin-top:10px}
.service-list .service-detail-link{margin-top:auto;padding-top:16px}
@media(max-width:1100px){.service-list article{flex-basis:calc(50% - 11px)}}
@media(max-width:640px){
  .services{padding-top:60px}
  .services .section-intro{display:block;margin-bottom:28px}
  .services .section-description{margin-top:18px}
  .service-list{grid-template-columns:1fr;gap:14px}
  .service-list article{flex-basis:100%}
  .service-list article,.service-list article:first-child,.service-list article:last-child{padding:22px;gap:16px}
  .service-list article::before{width:48px;height:48px;border-radius:15px}
  .service-list article::after{top:34px;left:34px;width:24px;height:24px}
}

/* Accueil : valorisation */
.valorisation{padding-top:72px;padding-bottom:88px}
.valo-cases li{border-radius:20px;background:#fff;box-shadow:var(--shadow-sm);padding:22px 26px}
.valo-cases li:last-child{background:var(--deep);box-shadow:var(--shadow-md)}

/* Photos avant / après */
.transform-section{padding:96px 0}
.comparison-grid--photos .comparison-card{padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}
.comparison-grid--photos .comparison-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.comparison-grid--photos .comparison-photo{border-radius:14px}
.comparison-grid--photos figcaption{padding:16px 8px 6px}
.job-section{padding-top:96px;padding-bottom:24px;border-bottom:0}
.job-trucks .job-photo-link{border-radius:var(--radius);box-shadow:var(--shadow-md)}
.job-story{border-radius:var(--radius-lg)}
@media(max-width:640px){.transform-section{padding:60px 0}.job-section{padding-top:60px}}

/* Étapes */
.steps{padding-top:96px;padding-bottom:40px}
.steps ol{gap:20px}
.steps li{padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}
.steps li>span{width:46px;height:46px;border:0;background:var(--deep);color:var(--accent);font-size:17px;font-weight:750}
.steps li p{max-width:none}
@media(max-width:640px){.steps{padding-top:60px}.steps li{padding:22px;grid-template-columns:46px 1fr}}

/* Guides */
.decision-guides{padding-top:64px;padding-bottom:88px}
.guide-grid{gap:20px}
.guide-grid article{display:flex;flex-direction:column;padding:30px;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}
.guide-grid article:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.guide-grid .service-detail-link{margin-top:auto;padding-top:14px}

/* Zone d'intervention */
.zone-panel{border-radius:var(--radius-lg);background:radial-gradient(110% 130% at 100% 0%,#2b7d5b 0%,var(--deep) 55%);box-shadow:var(--shadow-md);padding:64px}
.zone .eyebrow{color:var(--accent)}
.zone .eyebrow::before{background:var(--accent)}
.zone-cities a{text-decoration-color:rgba(222,244,131,.45);transition:color .2s}
.zone-cities a:hover{color:var(--accent)}
@media(max-width:850px){.zone-panel{padding:44px}}
@media(max-width:640px){.zone-panel{padding:32px 24px;border-radius:24px}}

/* Communes */
.local-home{padding-top:96px}
.local-city-links a{background:#fff;box-shadow:var(--shadow-sm);transition:background .2s,color .2s,border-color .2s}
.local-form-link{font-weight:650;color:var(--deep)}

/* Questions fréquentes */
.faq{padding-top:96px}
@media(min-width:641px){.faq .section-intro{position:sticky;top:110px;align-self:start}}
.faq-list{display:grid;gap:12px}
.faq-list details,.faq-list details:first-child{margin:0;padding:0 24px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:box-shadow .25s,border-color .25s}
.faq-list details[open]{border-color:transparent;box-shadow:var(--shadow-md)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:var(--soft);color:var(--deep);font-size:22px;font-weight:400;line-height:1;transition:transform .25s,background .25s}
.faq-list details[open] summary::after{transform:rotate(45deg);background:var(--accent)}
.faq-list details>p{padding-bottom:22px}
@media(max-width:640px){.faq{padding-top:60px}.faq-list details,.faq-list details:first-child{padding:0 18px}}

/* Contact et formulaire */
.contact{padding:64px;border-top:0;border-radius:var(--radius-lg);background:var(--soft)}
.contact.wrap{max-width:none;margin:96px max(5%,calc((100% - var(--content))/2)) 0}
.arrondissement-contact{margin-top:48px;margin-bottom:24px}
#quote-form{align-self:start;padding:34px;border-radius:24px;background:#fff;box-shadow:var(--shadow-md)}
.contact-phone{font-weight:720}
input,select,textarea{border:1px solid #d6dfd7;border-radius:12px;background:#f8faf7;transition:border-color .2s,box-shadow .2s,background .2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--deep);background:#fff;box-shadow:0 0 0 4px rgba(143,191,47,.25)}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
.quote-details{border-radius:16px}
.submit-button{border-radius:100px}
@media(max-width:1000px){.contact{padding:44px}}
@media(max-width:640px){
  .contact{padding:28px 20px;border-radius:24px}
  .contact.wrap{margin:60px 3% 0}
  #quote-form{padding:22px 18px;border-radius:20px}
}

/* Pages services et villes */
.service-page .breadcrumbs{margin:0;padding:26px 0 6px;background:var(--soft);box-shadow:0 0 0 100vmax var(--soft);clip-path:inset(0 -100vmax)}
.service-overview{padding:24px 0 64px;border-bottom:0;background:var(--soft);box-shadow:0 0 0 100vmax var(--soft);clip-path:inset(0 -100vmax)}
.service-page h1{font-weight:750;letter-spacing:-.045em}
.service-contact{padding:30px;border:0;border-radius:24px;background:#fff;box-shadow:var(--shadow-md)}
.service-contact .eyebrow{margin-bottom:14px}
.service-guide{padding-top:24px}
.service-guide>section{margin-top:56px}
.service-guide ul:not([class]){list-style:none;padding-left:0}
.service-guide ul:not([class])>li{position:relative;padding-left:28px}
.service-guide ul:not([class])>li::before{content:"";position:absolute;left:2px;top:.55em;width:16px;height:16px;background:var(--accent-strong);-webkit-mask:var(--icon-check) center/contain no-repeat;mask:var(--icon-check) center/contain no-repeat}
.page-contents{border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-sm)}
.page-contents ul:not([class])>li::before{display:none}
.page-contents ul:not([class])>li{padding-left:0}
.local-project{border-radius:var(--radius-lg)}
.local-city-grid a{background:#fff;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s,border-color .25s}
.local-city-grid a:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.office-card,.commune-search{border-radius:var(--radius)}
.table-scroll{border:1px solid var(--line);border-radius:18px}
.guide-table thead{background:var(--deep)}
.project-checklist{border-left-color:var(--accent-strong)}
@media(max-width:750px){
  .service-overview{padding-bottom:44px}
  .service-contact{max-width:none}
}

/* Pied de page */
.site-footer{max-width:none;margin-top:96px;padding:64px max(5%,calc((100% - var(--content))/2)) 40px;border-top:0;background:#123f2f;color:#b3c7bc}
.site-footer .brand-mark{background:var(--accent);color:var(--deep);box-shadow:none}
.site-footer .brand-name{color:#fff}
.site-footer .brand-name>span{color:#a9bdb3}
.footer-main>p{color:#a9bdb3}
.footer-main>a:last-child{color:#fff;font-weight:650;font-size:16px}
.footer-services{border-top-color:rgba(255,255,255,.12)}
.footer-services a,.footer-local a,.site-footer .service-privacy a,.site-footer details a{color:#e5eee9;text-decoration-color:rgba(255,255,255,.3)}
.footer-services a:hover,.footer-local a:hover{color:var(--accent)}
.footer-local{border-top-color:rgba(255,255,255,.12);color:#a9bdb3}
.footer-local strong{color:#fff}
.site-footer details,.site-footer .service-privacy{color:#a9bdb3}
.site-footer a:focus-visible{outline-color:var(--accent)}
@media(max-width:640px){.site-footer{margin-top:64px;padding:44px 6% 32px}}

/* Barre d'actions mobile */
@media(max-width:750px){
  .mobile-actions{background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
  .mobile-actions-quote{box-shadow:0 10px 24px -12px rgba(20,56,46,.65)}
}

@media(prefers-reduced-motion:reduce){
  .button,.service-list article,.guide-grid article,.comparison-grid--photos .comparison-card,.local-city-grid a,.faq-list summary::after,
  .service-detail-link::after,.hero-actions .button::after,.menu-icon,.menu-icon::before,.menu-icon::after,.site-header nav a,input,select,textarea{transition:none}
  html{scroll-behavior:auto}
}

/* Keep the keyboard skip link above the sticky header. */
.skip-link:focus{z-index:100}

/* Zones tactiles plus confortables (fil d'Ariane, villes, liens de bas de page). */
.breadcrumbs a{display:inline-block;padding-block:10px}
.breadcrumbs ol{align-items:center;row-gap:0}
.zone-cities a{display:inline-block;padding-block:8px}
.site-footer .service-privacy a{display:inline-block;padding-block:10px}

/* Texte réservé aux lecteurs d'écran (ex. « nouvel onglet »). */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
