@font-face{font-family:"Sora";src:url(/assets/fonts/sora.woff2) format("woff2");font-weight:600 800;font-display:swap}
@font-face{font-family:"Nunito Sans";src:url(/assets/fonts/nunito-sans.woff2) format("woff2");font-weight:400 600;font-display:swap}
:root{--ink:#2a2a16;--ink-2:#3d3d23;--coral:#257ae1;--coral-l:#4d9aff;--frost:#eef3f6;--warm:#fbf1ea;--txt:#2b291b;--mut:#656451;--line:#d8e1e8;--r:6px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;font:400 17px/1.65 "Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--txt);background:#ffffff}
img{max-width:100%;height:auto;display:block}
a{color:var(--coral)}
h1,h2,h3,.sq-logo__txt,.sq-foot__name{font-family:"Sora",system-ui,sans-serif;line-height:1.15;letter-spacing:-.01em}
.sq-wrap{max-width:1180px;margin:0 auto;padding:0 20px}
.sq-narrow{max-width:820px}
.sq-skip{position:absolute;left:-999px}.sq-skip:focus{left:12px;top:12px;z-index:99;background:#ffffff;padding:8px 12px}

/* barre */
.sq-bar{position:sticky;top:0;z-index:50;background:var(--ink);color:#ffffff;box-shadow:0 2px 0 rgba(0,0,0,.15)}
.sq-bar__in{display:flex;align-items:center;gap:24px;min-height:66px}
.sq-logo{display:flex;align-items:center;gap:10px;color:#ffffff;text-decoration:none;margin-right:auto}
.sq-logo__ic{width:30px;height:30px;color:#ffffff}
.sq-logo__txt{font-size:1.3rem;font-weight:800}
.sq-menu{display:flex;align-items:center;gap:22px;white-space:nowrap}
.sq-menu a{color:#dfe7ee;text-decoration:none;font-weight:600;font-size:.95rem}
.sq-menu a:hover{color:#ffffff}
.sq-menu .sq-menu__cta{background:var(--coral);color:#ffffff;padding:9px 16px;border-radius:var(--r)}
.sq-menu-btn{display:none;background:none;border:1px solid #727156;color:#ffffff;border-radius:var(--r);padding:7px 12px;font:600 .95rem "Nunito Sans",sans-serif}

/* titres et boutons */
.sq-h2{font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 18px;color:var(--ink);position:relative;padding-left:22px}
.sq-h2::before{content:"";position:absolute;left:0;top:.18em;width:8px;height:.95em;background:linear-gradient(var(--coral) 0 34%,#92a6f9 34% 67%,#b7b49a 67%);border-radius:2px}
.sq-h3{font-size:1.2rem;margin:0 0 10px;color:var(--ink)}
.sq-h1-plain{font-size:clamp(1.8rem,3.4vw,2.5rem);color:var(--ink);margin:10px 0 14px}
.sq-intro,.sq-lead{font-size:1.06rem;color:var(--txt);max-width:76ch}
.sq-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600;color:var(--coral);margin:0 0 6px}
.sq-btn{display:inline-block;background:var(--coral);color:#ffffff;text-decoration:none;font-weight:600;padding:13px 22px;border-radius:var(--r);border:2px solid var(--coral)}
.sq-btn:hover{background:#1a69c4;border-color:#1a69c4}
.sq-btn--line{background:transparent;color:var(--ink);border-color:var(--ink)}
.sq-btn--line:hover{background:var(--ink);color:#ffffff;border-color:var(--ink)}
.sq-note{color:var(--mut);font-size:.93rem}

/* hero */
.sq-hero{background:var(--frost);padding:38px 0 46px}
.sq-hero__txt{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"over fig" "h1 fig" "chapo fig" "act fig" "marks fig";column-gap:48px;align-items:start}
.sq-hero__over{grid-area:over;margin:0 0 10px;font-weight:600;color:var(--coral);font-size:.92rem;letter-spacing:.04em;text-transform:uppercase}
.sq-hero__h1{grid-area:h1;font-size:clamp(2rem,3.6vw,2.7rem);margin:0 0 14px;color:var(--ink);font-weight:800}
.sq-hero__chapo{grid-area:chapo;margin:0 0 22px;font-size:1.1rem;max-width:52ch;color:#42412f}
.sq-hero__fig{grid-area:fig;margin:0;align-self:center;border:6px solid #ffffff;border-radius:var(--r);box-shadow:0 10px 28px rgba(42,42,22,.16)}
.sq-hero__fig img{border-radius:2px}
.sq-hero__act{grid-area:act;display:flex;gap:12px;flex-wrap:nowrap}
.sq-hero__marks,.sq-budget{grid-area:marks}
.sq-hero__marks{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.92rem;color:var(--mut)}
.sq-hero__marks li::before{content:"";display:inline-block;width:9px;height:9px;background:var(--coral);margin-right:8px;border-radius:2px}
.sq-budget{margin:18px 0 0;color:var(--mut)}
.sq-budget strong{color:var(--ink)}
.sq-hero__over,.sq-hero__h1,.sq-hero__chapo,.sq-budget,.sq-crumb{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.sq-hero__h1{font-family:"Sora",system-ui,sans-serif}
.sq-crumb{font-size:.88rem;color:var(--mut);padding-top:14px;padding-bottom:4px}
.sq-hero .sq-crumb{padding-top:0;padding-bottom:16px}
.sq-crumb a{color:var(--mut)}
.sq-hero--inner{padding-top:16px}

/* sections : fonds pâles alternés */
section{padding:56px 0}
.sq-types{background:#ffffff}
.sq-steps{background:var(--warm)}
.sq-regions{background:#ffffff}
.sq-cities{background:var(--frost)}
.sq-faq{background:#ffffff}
.sq-seo{background:#ffffff}
.sq-seo p{color:#4a4836}
.sq-seo .sq-lead{color:var(--txt)}
.sq-seo .sq-h3{margin-top:26px}
.sq-seo .sq-check .sq-h3{margin-top:0}
.sq-text{background:#ffffff;padding:40px 0}
.sq-blocs{background:var(--warm)}
.sq-towns{background:var(--frost)}
.sq-pros{background:#ffffff}
.sq-others{background:var(--frost)}

.sq-types__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:26px}
.sq-type{background:#ffffff;border:1px solid var(--line);border-top:5px solid var(--ink);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.sq-type img{aspect-ratio:3/2;object-fit:cover;width:100%}
.sq-type__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.sq-type__body p{margin:0}
.sq-type__t{font-size:1.25rem;margin:4px 0 2px;color:var(--ink)}
.sq-type__price{color:var(--mut);font-size:.95rem}
.sq-type__price strong{color:var(--ink)}
.sq-more{margin-top:auto;padding-top:10px;font-weight:600;text-decoration:none}
.sq-more::after{content:" →"}
.sq-label{align-self:flex-start;color:#ffffff;font:700 .78rem/1 "Nunito Sans",sans-serif;padding:6px 18px 6px 10px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,0 100%);letter-spacing:.02em}
.sq-label--1{background:var(--coral)}.sq-label--2{background:#7290eb}.sq-label--3{background:var(--ink-2)}
.sq-type--flat{border-top-color:var(--coral)}

.sq-steps__list{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
.sq-steps__list li{background:#ffffff;border-radius:var(--r);padding:22px;border-left:5px solid var(--coral)}
.sq-steps__list h3{margin:8px 0 6px;font-size:1.15rem;color:var(--ink)}
.sq-steps__list p{margin:0;color:#4a4836}
.sq-steps__n{font:800 1.6rem "Sora",sans-serif;color:var(--coral)}

/* formulaire */
.sq-form{background:var(--ink);color:#ffffff}
.sq-form__in{max-width:860px}
.sq-form__head{text-align:center;margin-bottom:18px}
.sq-form__t{font-size:clamp(1.6rem,2.8vw,2.1rem);margin:0 0 10px;color:#ffffff}
.sq-form__lead{color:#d3dde6;margin:0 auto;max-width:60ch}
.sq-form .sq-kicker{color:var(--coral-l)}
.sq-form__frame{background:#ffffff;border-radius:10px;padding:14px 10px 0;color:var(--txt)}

.sq-regions__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px 28px;margin-top:20px}
.sq-region__t{font-size:1.02rem;color:var(--ink);border-bottom:2px solid var(--line);padding-bottom:6px;margin:0 0 8px}
.sq-region ul{list-style:none;margin:0;padding:0}
.sq-region li{padding:3px 0}
.sq-region a{text-decoration:none;color:#454326}
.sq-region a:hover{color:var(--coral);text-decoration:underline}

.sq-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.sq-chips a{display:inline-block;background:#ffffff;border:1px solid var(--line);border-radius:var(--r);padding:8px 13px;text-decoration:none;color:var(--ink);font-size:.95rem}
.sq-chips a:hover{border-color:var(--coral);color:var(--coral)}
.sq-others__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:34px}

.sq-qa{border-bottom:1px solid var(--line);padding:4px 0}
.sq-qa summary{cursor:pointer;font-weight:600;padding:12px 0;color:var(--ink);list-style:none;position:relative;padding-right:30px}
.sq-qa summary::-webkit-details-marker{display:none}
.sq-qa summary::after{content:"+";position:absolute;right:4px;top:8px;font-size:1.4rem;color:var(--coral)}
.sq-qa[open] summary::after{content:"−"}
.sq-qa p{margin:0 0 14px;color:#4a4836}

.sq-seo__panel{background:var(--frost);border-radius:var(--r);padding:30px 34px}
.sq-seo__panel p{color:#4a4836}

.sq-check{background:var(--warm);border-radius:var(--r);padding:20px 24px;margin-top:22px}
.sq-check ul{margin:0;padding:0;list-style:none}
.sq-check li{padding:6px 0 6px 28px;position:relative}
.sq-check li::before{content:"";position:absolute;left:0;top:13px;width:14px;height:8px;border-left:3px solid var(--coral);border-bottom:3px solid var(--coral);transform:rotate(-45deg)}
.sq-check--card{background:#ffffff;margin:0}
.sq-blocs__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.sq-bloc{background:#ffffff;border-radius:var(--r);padding:22px}
.sq-bloc p{margin:0;color:#4a4836}

.sq-towns__list{list-style:none;padding:0;margin:18px 0 0;columns:3 260px;column-gap:28px}
.sq-towns__list li{padding:4px 0;break-inside:avoid}
.sq-towns__list a{color:#454326;text-decoration:none;font-weight:600}
.sq-towns__list a:hover{color:var(--coral)}
.sq-towns__list span{color:var(--mut);font-size:.88rem}

.sq-pros__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:26px;margin-top:16px}
.sq-pros__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sq-pro{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;font-size:.93rem}
.sq-pro p{margin:2px 0;color:#4a4836}
.sq-pro__n{font-size:1.02rem;margin:0 0 4px;color:var(--ink)}
.sq-pro__cat{color:var(--coral)!important;font-weight:600}
.sq-pro__score{display:flex;align-items:baseline;gap:8px;margin:0 0 6px!important;font-size:.85rem;color:var(--mut)!important}
.sq-pro__val{font:800 1.25rem "Sora",sans-serif;color:var(--ink)}
.sq-pro__claim a{font-size:.82rem;color:var(--mut)}
.sq-pros__map iframe{width:100%;height:100%;min-height:360px;border:0;border-radius:var(--r);background:var(--frost)}

/* exemples de projets */
.sq-cases{background:var(--frost)}
.sq-cases__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:18px}
.sq-case{background:#ffffff;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.sq-case__img{width:100%;aspect-ratio:3/2;object-fit:cover}
.sq-case__body{padding:18px 22px 22px;border-left:5px solid var(--ink-2);display:flex;flex-direction:column;flex:1}
.sq-case__kind{margin:0;font:600 .78rem/1.2 "Nunito Sans",sans-serif;text-transform:uppercase;letter-spacing:.07em;color:var(--coral)}
.sq-case__t{font-size:1.12rem;color:var(--ink);margin:6px 0 12px}
.sq-case__dl{margin:0;display:grid;gap:8px}
.sq-case__dl dt{font-size:.8rem;font-weight:600;color:var(--mut);text-transform:uppercase;letter-spacing:.05em}
.sq-case__dl dd{margin:0;font-size:.95rem}
.sq-case__budget{background:var(--warm);padding:8px 10px;border-radius:4px}
.sq-case__budget dd{font-weight:600;color:var(--ink)}
.sq-case__warn{margin:12px 0 0;font-size:.9rem;color:#4a4836}
@media (max-width:960px){.sq-cases__grid{grid-template-columns:1fr}}

/* pied */
.sq-foot{background:var(--ink);color:#c9d5df;padding:50px 0 24px}
.sq-foot a{color:#ffffff;text-decoration:none}
.sq-foot a:hover{text-decoration:underline}
.sq-foot__grid{display:grid;grid-template-columns:1.2fr 1fr 1.4fr;gap:34px}
.sq-foot__name{font-size:1.35rem;color:#ffffff;margin:0 0 10px;font-weight:800}
.sq-foot__h{color:#ffffff;font-weight:600;margin:0 0 10px;text-transform:uppercase;font-size:.82rem;letter-spacing:.08em}
.sq-foot ul{list-style:none;margin:0;padding:0}
.sq-foot li{padding:3px 0}
.sq-foot__cities ul{columns:2}
.sq-foot__base{border-top:1px solid #49482e;margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.88rem}
.sq-foot__base p{margin:0}

/* ordre visuel (14/10, ordre final) : dans le code source, hero (H1) → texte SEO → formulaire → reste ;
   à l'écran, hero puis formulaire en tête et texte SEO en dernier, juste avant le pied de page */
.sq-flow{display:flex;flex-direction:column}
.sq-flow>*{order:5}
.sq-flow>.sq-wrap{width:100%}
.sq-flow>.sq-hero{order:1}
.sq-flow>.sq-form{order:2}
.sq-flow>.sq-seo{order:9}

/* formulaire Leadrs : hauteur réservée (--fd / --fm posées par le widget) */
.sqv-fr iframe{width:100%;height:var(--fd);border:0;background:transparent;display:block}
.sqv-fr p{margin:8px 0 14px;font-size:.9rem}

/* appel à l'action */
.sq-appel{background:var(--ink-2);color:#ffffff;padding:40px 0}
.sq-appel__in{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px}
.sq-appel__t{font:800 1.45rem/1.2 "Sora",system-ui,sans-serif;margin:0}
.sq-appel__txt{margin:0;color:#d3dde6;flex:1 1 280px}

/* on vous rappelle */
.sq-rappel{background:var(--warm)}
.sq-rappel__grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;align-items:center;max-width:980px}
.sq-rappel__img{width:280px;aspect-ratio:1;object-fit:cover;border-radius:50%;border:6px solid #ffffff;box-shadow:0 10px 28px rgba(42,42,22,.14)}
.sq-rappel__t{font-size:clamp(1.4rem,2.4vw,1.8rem);color:var(--ink);margin:0 0 12px}
.sq-rappel p{color:#4a4836;margin:0 0 20px;max-width:60ch}

/* sortie */
.sq-exit{border:0;border-radius:10px;padding:30px 30px 26px;max-width:440px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.sq-exit::backdrop{background:rgba(42,42,22,.55)}
.sq-exit__t{font:800 1.4rem "Sora",sans-serif;color:var(--ink);margin:0 0 10px}
.sq-exit__x-form{position:absolute;right:10px;top:6px;margin:0}
.sq-exit__x{background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--mut)}

@media (max-width:960px){
  .sq-types__grid,.sq-steps__list,.sq-blocs__grid{grid-template-columns:1fr}
  .sq-pros__grid,.sq-others__cols,.sq-foot__grid{grid-template-columns:1fr}
}
@media (max-width:820px){
  .sq-hero__chapo{font-size:1rem}
  .sq-menu-btn{display:block}
  .sq-menu{display:none;position:absolute;left:0;right:0;top:66px;background:var(--ink);flex-direction:column;align-items:stretch;padding:12px 20px 18px;gap:0}
  .sq-menu.is-open{display:flex}
  .sq-menu a{padding:11px 0;border-bottom:1px solid #434328}
  .sq-menu .sq-menu__cta{text-align:center;margin-top:10px;border:0}
  .sq-hero__txt{grid-template-columns:1fr;grid-template-areas:"over" "h1" "chapo" "fig" "act" "marks";row-gap:0}
  .sq-hero__fig{margin:0 0 18px}
  .sq-hero__act{flex-wrap:wrap}
  .sq-pros__list{grid-template-columns:1fr}
  .sq-rappel__grid{grid-template-columns:1fr;gap:22px;text-align:center;justify-items:center}
  .sq-rappel__img{width:220px}
  .sq-rappel p{margin-left:auto;margin-right:auto}
  section{padding:42px 0}
  .sq-seo__panel{padding:22px 18px}
}
@media (max-width:640px){.sqv-fr iframe{height:var(--fm)}}
.sq-seo .sq-h2--why{margin-top:44px}
html{scroll-behavior:smooth}
.sq-stick{display:none}
@media (max-width:768px){
.sq-stick{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#ffffff;border-top:3px solid var(--coral);box-shadow:0 -6px 18px rgba(42,42,22,.16);padding:9px 14px calc(9px + env(safe-area-inset-bottom));transition:transform .25s ease,visibility 0s linear 0s}
.sq-stick.is-off{transform:translateY(120%);visibility:hidden;transition:transform .25s ease,visibility 0s linear .25s}
.sq-stick__btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;background:var(--coral);color:#ffffff;font-weight:700;font-size:1.06rem;letter-spacing:.01em;text-decoration:none;border-radius:var(--r)}
.sq-stick__btn::after{content:"";width:9px;height:9px;border-right:2.5px solid #ffffff;border-bottom:2.5px solid #ffffff;transform:rotate(45deg) translate(-2px,-2px)}
.sq-stick__btn:active{background:#1a69c4}
.sq-stick__btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
body.ft{padding-bottom:calc(74px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sq-stick,.sq-stick.is-off{transition:none}}
.sq-logo{flex-shrink:0;white-space:nowrap}
@media (min-width:1181px){.sq-menu{gap:16px}.sq-menu a{font-size:.9rem}}
@media (min-width:821px) and (max-width:1180px){.sq-menu__pre{display:none}.sq-menu__suf{display:inline-block}.sq-menu__suf::first-letter{text-transform:uppercase}}
