/* Page d'accueil */
.hdr-pin{position:fixed;top:0;left:0;right:0;z-index:60;transform:translateY(-110%);visibility:hidden;transition:transform .45s var(--ease),visibility .45s;box-shadow:0 14px 34px -26px rgba(27,43,63,.5)}
.hdr-pin.is-on{transform:none;visibility:visible}

/* Hero */
.hero-sec{padding:12px var(--gutter-lg) 0}
.hero{position:relative;max-width:1480px;margin:0 auto;border-radius:var(--r-panel);overflow:hidden;min-height:max(520px,min(92vh,900px,60vw + 360px));background:var(--encre);display:flex;flex-direction:column}
.hero__slides{position:absolute;inset:0;z-index:0;background:var(--encre)}
/* Diaporama : la transition de chaque nouvelle photo est tirée au sort dans accueil.js */
.hero__slide{position:absolute;inset:0;overflow:hidden;z-index:0;opacity:0}
.hero__slide.is-prev{opacity:1;z-index:1}
.hero__slide.is-on{opacity:1;z-index:2}
/* Ouverture du site : logo au centre, puis le haut de page s'ouvre (accueil.js).
   Par sécurité, le voile disparaît seul au bout de 3 secondes si le script ne tourne pas. */
.intro{display:none}
.intro-on .intro{display:flex;position:fixed;inset:0;z-index:300;align-items:center;justify-content:center;background:var(--creme);animation:intro-secours .5s 3s forwards}
.intro img{width:clamp(130px,15vw,180px);height:auto}
@keyframes intro-secours{to{opacity:0;visibility:hidden}}
.hero__slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(27,43,63,.66) 0%,rgba(27,43,63,.16) 22%,rgba(27,43,63,0) 38%),linear-gradient(0deg,rgba(27,43,63,.9) 0%,rgba(27,43,63,.55) 34%,rgba(27,43,63,0) 66%)}
.hero .hdr{position:relative;z-index:20}
.hero__body{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(20px,4vw,48px) clamp(22px,4vw,60px) clamp(116px,12vw,168px)}
.hero__row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:clamp(20px,3vw,32px) 56px}
.hero__main{flex:1 1 560px;min-width:0;display:flex;flex-direction:column;gap:clamp(16px,2vw,26px)}
.hero__dots{display:flex;align-items:center;gap:6px;margin-bottom:-6px}
.hero__dot{width:clamp(30px,3.4vw,46px);height:32px;padding:0;border:0;background:transparent;cursor:pointer;display:flex;align-items:center}
.hero__dot > span{position:relative;display:block;width:100%;height:2px;border-radius:2px;background:rgba(255,255,255,.38);overflow:hidden}
.hero__dot i{position:absolute;inset:0;background:#fff;transform-origin:0 50%;transform:scaleX(0)}
.hero__h1{max-width:980px;color:#fff}
.hero__aside{flex:0 1 360px;min-width:0;display:flex;flex-direction:column;gap:clamp(10px,1.4vw,16px);padding-bottom:8px}
.hero__p{font:400 15.5px/1.6 var(--sans);color:#fff;opacity:.9;text-wrap:pretty}

/* Carte de recherche */
.search-wrap{position:relative;z-index:6;max-width:1240px;margin:calc(-1 * clamp(88px,9.25vw,118px)) auto 0;padding:0 clamp(12px,3vw,40px)}
.search{background:#fff;border-radius:30px;padding:clamp(18px,2.2vw,30px);box-shadow:0 40px 80px -40px rgba(27,43,63,.55),0 2px 10px rgba(27,43,63,.06);display:flex;flex-direction:column;gap:clamp(14px,1.8vw,22px)}
.search__head{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between}
.search__title{display:none;flex-direction:column;gap:7px}
.search__title.is-on{display:flex}
.search__title b{font:400 clamp(24px,2.2vw,30px)/1.1 var(--serif);color:var(--encre)}
.search__title span{font:400 14px/1.4 var(--sans);color:var(--encre-74)}
.search__form{display:none;flex-wrap:wrap;gap:12px;align-items:flex-end}
.search__form.is-on{display:flex}
.search__form .field{flex:1 1 140px}
.search__btn{flex:1 1 170px;justify-content:space-between;padding-right:8px}
.search__btn .btn__circle{width:40px;height:40px}
.search__btn--estim{flex-basis:190px}
/* Budget : champ qui ouvre un petit panneau (curseur double comme « Affiner », et montants à taper), comme les grands portails */
.budget{position:relative}
.search__form .budget{flex:1.6 1 215px}
.budget__btn{display:flex;align-items:center;padding-left:16px;padding-right:36px;text-align:left;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23255C72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:15px}
.budget__btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.budget__btn.est-choisi{font-weight:500}
.budget__btn[aria-expanded="true"]{border-color:var(--sable);background-color:#fff}
.budget__pop{position:absolute;left:0;top:calc(100% + 10px);z-index:30;width:min(380px,calc(100vw - 40px));padding:20px 20px 16px;border-radius:22px;background:#fff;box-shadow:0 30px 60px -28px rgba(27,43,63,.55),0 2px 10px rgba(27,43,63,.08);display:flex;flex-direction:column;gap:18px}
.budget__pop[hidden]{display:none}
.budget__tete{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.budget__t{font:500 14px/1.2 var(--sans);color:var(--encre)}
.budget__val{font:500 14px/1.3 var(--sans);color:var(--terracotta);text-align:right}
.budget__range{-webkit-appearance:none;appearance:none;width:100%;height:24px;margin:0;background:transparent;cursor:pointer}
.budget__range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;margin-top:-8px;border-radius:50%;background:var(--terracotta);border:3px solid #fff;box-shadow:0 1px 5px rgba(27,43,63,.28);transition:transform .15s ease}
.budget__range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--terracotta);border:3px solid #fff;box-shadow:0 1px 5px rgba(27,43,63,.28);transition:transform .15s ease}
.budget__range:hover::-webkit-slider-thumb,.budget__range:active::-webkit-slider-thumb{transform:scale(1.12)}
.budget__range:hover::-moz-range-thumb,.budget__range:active::-moz-range-thumb{transform:scale(1.12)}
.budget__range:focus{outline:none}
.budget__range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px rgba(226,115,85,.3),0 1px 5px rgba(27,43,63,.28)}
.budget__range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px rgba(226,115,85,.3),0 1px 5px rgba(27,43,63,.28)}
.budget__double{position:relative;height:24px;margin:0 2px;--a:0%;--b:100%}
.budget__double::before{content:"";position:absolute;left:0;right:0;top:9px;height:6px;border-radius:999px;background:linear-gradient(to right,var(--lin) 0 var(--a),var(--terracotta) var(--a) var(--b),var(--lin) var(--b) 100%)}
.budget__double .budget__range{position:absolute;inset:0;pointer-events:none}
.budget__double .budget__range::-webkit-slider-runnable-track{height:6px;background:transparent}
.budget__double .budget__range::-moz-range-track{background:transparent}
.budget__double .budget__range::-webkit-slider-thumb{pointer-events:auto}
.budget__double .budget__range::-moz-range-thumb{pointer-events:auto}
.budget__double .budget__range--min{z-index:2}
.budget__double .budget__range--max{z-index:1}
.budget__double .budget__range:focus-visible{z-index:3}
.budget__champs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:8px}
.budget__champ{display:flex;flex-direction:column;gap:7px;min-width:0;font:500 12.5px/1 var(--sans);color:var(--encre-74)}
.budget__champ .input{height:46px;padding:0 30px 0 14px;font-size:15px}
.budget__champ .input-suffix__txt{right:14px}
.budget__tiret{padding-bottom:15px;color:var(--encre-74)}
.budget__pied{display:flex;align-items:center;justify-content:space-between;gap:12px}
.budget__effacer{padding:8px 2px;border:0;background:none;font:500 14px/1 var(--sans);color:var(--encre-74);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.budget__effacer:hover{color:var(--encre)}
.budget__ok{height:44px;padding:0 24px;border:0;border-radius:999px;background:var(--encre);color:#fff;font:500 14.5px/1 var(--sans);cursor:pointer;transition:background .2s}
.budget__ok:hover{background:var(--bleu)}
@media (max-width:699px){.budget__pop{width:100%}}
.search__quick{display:flex;align-items:center;gap:8px;padding-top:clamp(12px,1.6vw,18px);border-top:1px solid rgba(204,180,163,.45);overflow-x:auto;scrollbar-width:none}
.search__quick::-webkit-scrollbar{display:none}
.search__quick > span{flex:none;white-space:nowrap;font:500 13px/1 var(--sans);color:var(--encre);margin-right:6px}
.search__quick .chip{flex:none}
@media (max-width:699px){.search__title{display:none!important}.search__head{justify-content:center}
  /* Les trois onglets restent sur une seule ligne, sur toute la largeur de la carte */
  .search .tabs{display:flex;flex-wrap:nowrap;width:100%}
  .search .tab{flex:1 1 auto;min-width:0;padding:0 12px}}
@media (max-width:374px){.search .tab{padding:0 8px;font-size:13.5px}}

/* Chiffres */
.stats{max-width:1240px;margin:0 auto;padding:clamp(28px,4vw,52px) clamp(20px,3vw,40px) 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:22px clamp(16px,2vw,28px)}

/* Biens à la une */
.une{padding-top:clamp(40px,7vw,104px);padding-bottom:clamp(48px,7vw,104px)}
.une .tabs{margin-top:8px}
.cards-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin:calc(clamp(20px,4vw,48px) - 8px) calc(-1 * var(--gutter)) -28px;padding:8px var(--gutter) 28px}
.cards-row > *{min-width:0;scroll-snap-align:start}
@media (min-width:700px) and (max-width:1059px){.cards-row{grid-template-columns:repeat(2,minmax(0,1fr))}.cards-row > :nth-child(3){display:none}}
@media (max-width:699px){.cards-row{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:78vw;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none}.cards-row::-webkit-scrollbar{display:none}}
.une__more{display:flex;justify-content:center;margin-top:clamp(20px,3.4vw,44px)}

/* Services */
.services{position:relative;overflow:hidden;background:var(--bleu);color:#fff}
.services__in{position:relative;max-width:1360px;margin:0 auto;padding:clamp(40px,9vw,128px) var(--gutter)}
.services__head{display:flex;flex-wrap:wrap;gap:28px 64px;align-items:flex-end;justify-content:space-between}
.services__h2{font-size:clamp(30px,4.4vw,62px);line-height:1.02;letter-spacing:-.01em;color:#fff}
.services__p{max-width:380px;font:400 16.5px/1.65 var(--sans);color:#fff;opacity:.88}
.services__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin:calc(clamp(28px,5vw,64px) - 8px) calc(-1 * var(--gutter)) -8px;padding:8px var(--gutter) 8px}
@media (min-width:700px) and (max-width:1179px){.services__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Téléphone : services empilés (un carrousel horizontal captait le doigt et bloquait le défilement de la page) */
@media (max-width:699px){.services__grid{grid-template-columns:1fr;margin-left:0;margin-right:0;padding-left:0;padding-right:0}}
.svc{scroll-snap-align:start;display:flex;flex-direction:column;gap:18px;min-height:320px;padding:clamp(24px,2.4vw,30px) clamp(22px,2.2vw,28px);border-radius:26px;border:1px solid rgba(255,255,255,.22);color:#fff;transition:background .3s,border-color .3s}
a.svc:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4);color:#fff}
@media (max-width:699px){.svc{min-height:0}}
.svc__t{font:400 32px/1.05 var(--serif)}
.svc__d{font:400 15.5px/1.6 var(--sans);opacity:.88}
.svc__more{margin-top:auto;display:flex;align-items:center;gap:8px;font:500 14.5px/1 var(--sans)}
.svc--estim{background:var(--lin);color:var(--encre);border:0}
.svc--estim .svc__t{color:var(--bleu)}
.svc--estim .svc__d{color:rgba(27,43,63,.84);opacity:1}
.svc--estim .btn{margin-top:auto;align-self:flex-start}

/* Estimer */
.estim{padding-top:clamp(36px,8vw,120px);padding-bottom:clamp(40px,10vw,144px)}
.estim__who{display:flex;align-items:center;gap:16px;max-width:400px}
.estim__who > span:last-child{font:400 14.5px/1.5 var(--sans);color:var(--encre-82)}
.estim__grid{display:flex;flex-wrap:wrap;gap:16px;margin-top:clamp(24px,4vw,48px)}
.estim__photo{flex:1.45 1 440px;min-width:0;position:relative;min-height:clamp(200px,40vw,560px);border-radius:28px;overflow:hidden;background:var(--lin)}
.estim__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.estim__glass{position:absolute;left:clamp(12px,1.6vw,20px);right:clamp(12px,1.6vw,20px);bottom:clamp(12px,1.6vw,20px);max-width:390px;display:flex;gap:16px;align-items:center;padding:18px 20px;border-radius:22px;background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.6);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}
.estim__glass .mark{flex:none;width:38px;--mark-c:var(--bleu);--mark-dot:var(--sable)}
.estim__glass > span{display:flex;flex-direction:column;gap:5px}
.estim__glass b{font:400 20px/1.1 var(--serif);color:var(--encre)}
.estim__glass small{font:400 13.5px/1.45 var(--sans);color:var(--encre-82)}
/* Photo pleine largeur (tablette, téléphone) : plus haute, pour que le pavé se pose sur la cour et non sur la maison */
@media (max-width:899px){.estim__photo{min-height:clamp(240px,58vw,560px)}}
@media (max-width:699px){.estim__photo{min-height:clamp(240px,66vw,460px)}.estim__glass{gap:12px;padding:12px 16px 12px 14px;border-radius:18px}.estim__glass .mark{width:30px}.estim__glass b{font-size:17px}.estim__glass small{display:none}}
.estim__steps{flex:1 1 330px;min-width:0;border-radius:28px;background:var(--creme);padding:clamp(20px,2.4vw,34px);display:flex;flex-direction:column;gap:22px}
.steps{display:flex;flex-direction:column;gap:16px}
.steps li{display:flex;gap:14px;align-items:flex-start}
.steps li > span:last-child{display:flex;flex-direction:column;gap:4px;padding-top:2px}
.steps__t{font:500 15px/1.3 var(--sans);color:var(--encre)}
.steps__d{font:400 13.5px/1.45 var(--sans);color:rgba(27,43,63,.76)}
.estim__mini{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding-top:6px}
.estim__mini-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:10px}
.estim__mini .btn{justify-content:space-between}
.vendus{flex:1 1 330px;min-width:0;border-radius:28px;background:var(--encre);color:#fff;padding:clamp(20px,2.4vw,34px);display:flex;flex-direction:column;gap:20px}
.vendus__head{display:flex;flex-direction:column;gap:9px}
.vendus__kicker{font:500 13px/1 var(--sans);color:var(--sable)}
.vendus__list{display:flex;flex-direction:column}
.vendus__row{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid rgba(255,255,255,.14)}
.vendus__dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--terracotta)}
.vendus__img{flex:none;width:48px;height:48px;border-radius:12px;background:rgba(255,255,255,.12) center/cover no-repeat}
.vendus__txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.vendus__t{font:500 14.5px/1.3 var(--sans);color:#fff}
.vendus__d{font:400 13px/1.3 var(--sans);color:#fff;opacity:.74}
.vendus__q{flex:none;font:400 12.5px/1 var(--sans);color:var(--sable)}
.vendus .btn{margin-top:auto;align-self:flex-start}

/* Secteurs */
.secteurs{padding:0 var(--gutter-lg)}
.secteurs__panel{max-width:1480px;margin:0 auto;border-radius:var(--r-panel);background:var(--creme);padding:clamp(12px,1.6vw,22px)}
.secteurs__row{display:flex;flex-wrap:wrap;gap:24px clamp(24px,4vw,64px);align-items:center}
.secteurs__map{flex:1.35 1 520px;min-width:0;align-self:stretch;min-height:clamp(260px,46vw,640px);position:relative;border-radius:clamp(18px,2.4vw,30px);overflow:hidden;background:#fff}
.secteurs__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.secteurs__txt{flex:1 1 360px;min-width:0;padding:clamp(12px,3vw,44px);display:flex;flex-direction:column;gap:22px}
.secteurs__card{background:#fff;border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:14px}
.secteurs__card[hidden]{display:none}
.secteurs__card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.secteurs__nom{font:400 30px/1.05 var(--serif);color:var(--encre)}
.secteurs__cp{font:500 13px/1 var(--sans);letter-spacing:.1em;color:var(--bleu)}
.secteurs__txt2{font:400 15px/1.5 var(--sans);color:var(--encre-78)}
.secteurs__hint{display:flex;align-items:center;gap:10px;font:italic 400 14.5px/1.5 var(--sans);color:rgba(27,43,63,.76)}
.secteurs__hint[hidden]{display:none}
.secteurs__more{align-self:flex-start;margin-top:4px}

/* Agence et avis */
.agence{padding-top:clamp(40px,10vw,144px);padding-bottom:clamp(40px,10vw,144px)}
.agence__who{display:flex;align-items:center;gap:16px}
.agence__who > span:last-child{font:400 14.5px/1.45 var(--sans);color:var(--encre-82);max-width:230px}
.agence__grid{display:flex;flex-wrap:wrap;gap:16px;margin-top:clamp(24px,4vw,56px)}
.agence__left{flex:1.25 1 400px;min-width:0;display:flex;flex-direction:column;gap:16px}
.agence__photo{position:relative;flex:1;min-height:clamp(260px,34vw,460px);border-radius:28px;overflow:hidden;background:var(--lin)}
.agence__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}
.agence__caption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 28px;padding:0 6px}
.agence__caption p{flex:1 1 300px;max-width:520px;font:400 14.5px/1.55 var(--sans);color:var(--encre);text-wrap:pretty}
.avis{flex:1 1 340px;min-width:0;border-radius:28px;background:var(--encre);color:#fff;padding:clamp(22px,2.8vw,38px);display:flex;flex-direction:column;gap:22px}
.avis__head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.avis__note{font:500 14px/1 var(--sans);color:#fff}
.avis__stack{flex:1;display:grid}
.avis__item{grid-area:1 / 1;display:flex;flex-direction:column;gap:18px;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}
.avis__item.is-on{opacity:1;visibility:visible}
.avis__item blockquote{margin:0;font:400 clamp(16.5px,1.7vw,23px)/1.55 var(--sans);color:#fff;text-wrap:pretty}
.avis__item cite{font:500 14.5px/1.2 var(--sans);font-style:normal;color:var(--sable)}
.avis__date{display:block;margin-top:6px;font:400 13px/1.3 var(--sans);color:rgba(255,255,255,.66)}
.avis__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}
.avis__nav{display:flex;align-items:center;gap:10px}
.avis__pos{font:500 13.5px/1 var(--sans);font-variant-numeric:tabular-nums;color:#fff;opacity:.85;margin-right:4px}
.avis__prev,.avis__next{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}
.avis__prev{border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff}
.avis__prev:hover{background:rgba(255,255,255,.16)}
.avis__next{border:0;background:#fff;color:var(--encre)}
.avis__next:hover{background:var(--creme)}

/* FAQ */
/* Section FAQ : mise en page commune dans site.css (.faq-sec) */
