.page-hero{background:var(--forest);color:var(--white);text-align:left}.page-hero h1,.page-hero h2{color:var(--white)}.page-hero p{color:var(--text-inverse)}.page-hero--compact{padding-bottom:var(--page-hero-pad-bottom,1.75rem)}.service-block{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;padding:clamp(3rem,6vw,5rem) 0;border-bottom:1px solid var(--border)}.service-block:nth-child(even) .service-block__img{order:2}.service-block__img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.service-block__img img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-block ul{margin-top:1.25rem;color:var(--text-soft);list-style:none}.service-block li{padding:0.4rem 0;padding-left:1.25rem;position:relative}.service-block li::before{content:'';position:absolute;left:0;top:0.85em;width:6px;height:6px;background:var(--copper);border-radius:50%}.service-block .tagline{display:inline-block;margin-bottom:0.5rem}.filters{--filters-gutter:clamp(1.25rem,4vw,2.5rem);display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:2.5rem;padding:0.5rem;background:var(--sand);border-radius:var(--radius-full);width:fit-content;max-width:100%;box-sizing:border-box}.filter-btn{flex:0 0 auto;padding:0.65rem 1.35rem;background:transparent;border:none;border-radius:var(--radius-full);font-family:var(--font-body);font-size:0.85rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--text-soft);cursor:pointer;white-space:nowrap;transition:background 0.25s,color 0.25s,box-shadow 0.25s}@media (max-width:1023px){.filters{flex-wrap:nowrap;justify-content:flex-start;align-items:center;width:100%;max-width:100%;margin-inline:0;padding:0.65rem 0.75rem;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:0.75rem;scrollbar-width:none;border-radius:var(--radius-full)}.filters::-webkit-scrollbar{display:none}.filter-btn{scroll-snap-align:start;flex-shrink:0;padding:0.55rem clamp(0.8rem,2.6vw,1rem);font-size:clamp(0.72rem,2.8vw,0.82rem);letter-spacing:0.03em}}@media (max-width:479px){.filters{gap:0.35rem;padding:0.5rem 0.75rem}.filter-btn{padding:0.5rem 0.72rem;font-size:clamp(0.66rem,3vw,0.74rem);letter-spacing:0.025em}}.filter-btn:hover{color:var(--forest);background:rgba(255,255,255,0.6)}.filter-btn.is-active{background:var(--white);color:var(--forest);box-shadow:var(--shadow-sm)}.section--realisations{padding:clamp(1.25rem,3vw,1.75rem) 0 clamp(3rem,8vw,5.5rem)}.section--realisations .filters{margin-bottom:2rem}.page-hero.page-hero--inner.page-hero--realisations,.page-hero.page-hero--inner.page-hero--contact,.page-hero.page-hero--inner.page-hero--faq,.page-hero.page-hero--inner.page-hero--mes-outils{padding-bottom:clamp(0.85rem,2vw,1.15rem)}.page-hero.page-hero--inner.page-hero--realisations p:not(.eyebrow),.page-hero.page-hero--inner.page-hero--contact p:not(.eyebrow),.page-hero.page-hero--inner.page-hero--faq p:not(.eyebrow),.page-hero.page-hero--inner.page-hero--mes-outils p:not(.eyebrow){max-width:none}@media (min-width:640px){body.has-page-hero .page-hero.page-hero--inner.page-hero--realisations p:not(.eyebrow),body.has-page-hero .page-hero.page-hero--inner.page-hero--contact p:not(.eyebrow),body.has-page-hero .page-hero.page-hero--inner.page-hero--faq p:not(.eyebrow),body.has-page-hero .page-hero.page-hero--inner.page-hero--mes-outils p:not(.eyebrow){white-space:nowrap;font-size:clamp(0.8rem,1.1vw,0.95rem)}body.has-page-hero .page-hero.page-hero--inner.page-hero--faq h1{max-width:none;white-space:nowrap;font-size:clamp(1.15rem,2vw,2rem)}}.services-compact{display:flex;flex-direction:column;gap:0}.service-row__anchor{display:block;height:1px;width:1px;margin-bottom:-1px;overflow:hidden;pointer-events:none;scroll-margin-top:144px;scroll-margin-top:calc(var(--shell-h,128px)+var(--scroll-anchor-gap,1rem))}.services-compact .service-row__content h2{margin-bottom:0.35rem}.service-row{display:grid;grid-template-columns:1fr;gap:clamp(1rem,3vw,1.5rem);padding:clamp(1.15rem,3vw,1.5rem) 0;border-bottom:1px solid var(--border);align-items:start}@media (min-width:1024px){.service-row{grid-template-columns:minmax(168px,240px) 1fr}}.service-row:last-child{border-bottom:none}.service-row__img{border-radius:var(--radius);overflow:hidden;aspect-ratio:3/2}.service-row__img img{width:100%;height:100%;object-fit:cover}.service-row__content>p{color:var(--text-soft);margin-bottom:0.6rem;line-height:1.45;font-size:0.95rem}.service-row__content ul{list-style:none;display:grid;gap:0.2rem;color:var(--text-soft);font-size:0.9rem}.service-row__content li{padding-left:1rem;position:relative}.service-row__content li::before{content:'';position:absolute;left:0;top:0.65em;width:5px;height:5px;background:var(--copper);border-radius:50%}.services-compact .services-cta-bar{margin-top:clamp(1.25rem,3vw,1.75rem);padding:clamp(1rem,2.5vw,1.35rem) clamp(1.1rem,3vw,1.5rem);gap:1rem}.services-cta-bar{background:var(--forest);color:var(--white);border-radius:var(--radius-lg);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.services-cta-bar h2{color:var(--white);font-size:clamp(1.2rem,3vw,1.35rem);margin:0}.services-cta-bar p{opacity:0.85;margin:0;max-width:28rem;font-size:0.92rem;line-height:1.4}.service-page__editor{margin-top:3rem}.section--contact,.section--about,.section--faq,.section--services,.section--devis{padding:clamp(1.75rem,4vw,2.75rem) 0 clamp(2.5rem,6vw,4rem)}body.has-page-hero .section--contact,body.has-page-hero .section--about,body.has-page-hero .section--faq,body.has-page-hero .section--services,body.has-page-hero .section--devis,body.has-page-hero .section--realisations{margin-top:0}.contact-layout{display:flex;flex-direction:column;gap:clamp(1.25rem,3vw,1.75rem);min-width:0}.contact-about,.contact-practical{display:flex;flex-direction:column}.contact-practical{padding:clamp(1.25rem,3vw,1.5rem);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border)}.contact-practical h2{margin-bottom:0.85rem;font-family:var(--font-body);font-weight:700;font-size:1.2rem;letter-spacing:0.04em;text-transform:uppercase;font-variation-settings:normal;color:var(--forest)}.contact-cta{display:flex;justify-content:center;margin-top:0.25rem}.contact-cta .btn.btn--devis{width:auto;align-self:center;transition:background 0.25s var(--ease),color 0.25s,box-shadow 0.25s}.contact-cta .btn.btn--devis:hover,.contact-cta .btn.btn--devis:focus-visible{background:var(--brand-vert) !important;color:var(--brand-gold) !important;box-shadow:0 8px 28px rgba(0,77,51,0.28);transform:none}.contact-about__extra{margin-top:0.75rem;color:var(--text-soft)}.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.5rem}@media (max-width:639px){.contact-cards{grid-template-columns:1fr}}.contact-card{display:flex;align-items:center;gap:0.75rem;min-height:3.25rem;padding:0.65rem 0.85rem;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);transition:box-shadow 0.25s,border-color 0.25s}.contact-card:hover{box-shadow:var(--shadow-sm);border-color:rgba(176,141,87,0.35)}.contact-card__icon{width:2.25rem;height:2.25rem;border-radius:calc(var(--radius) - 2px);background:var(--sand);display:flex;align-items:center;justify-content:center;font-size:0.95rem;flex-shrink:0}.contact-card>div{min-width:0;line-height:1.25}.contact-card strong{display:block;font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--sage);margin-bottom:0.1rem}.contact-card a,.contact-card span{font-size:0.95rem;font-weight:500;color:var(--forest);line-height:1.3}.contact-card__value{display:block;line-height:1.45}.contact-card__hours{display:flex;flex-direction:column;gap:0.12rem}.contact-card__hours-line{display:block}.contact-about{padding:clamp(1.25rem,3vw,1.5rem);background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border)}.contact-about__title{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.35rem;margin-bottom:0.85rem;font-family:var(--font-body);font-weight:700;font-size:clamp(1rem,2.2vw,1.2rem);letter-spacing:0.05em;text-transform:uppercase;font-variation-settings:normal;color:var(--forest);line-height:1.25}.contact-about__sep{font-weight:400;opacity:0.85}.contact-about__name{font-weight:700}.contact-about p{color:var(--text-soft);margin-bottom:0.65rem;line-height:1.5}.contact-about p:last-of-type{margin-bottom:0}.about-layout{display:flex;flex-direction:column;gap:clamp(1.25rem,3vw,1.75rem);max-width:42rem}.about-cta{display:flex;flex-wrap:wrap;gap:0.75rem;justify-content:center}.about-cta .btn{width:auto;min-width:min(100%,14rem)}.section.section--faq{background:var(--sand)}.faq-layout{display:flex;flex-direction:column;gap:clamp(1.25rem,3vw,1.75rem);min-width:0}.section--faq .contact-about{margin:0}.faq-list{display:flex;flex-direction:column;gap:clamp(0.85rem,2vw,1.15rem)}.faq-list__head{margin-bottom:0.15rem}.faq-list__head .eyebrow{margin-bottom:0.45rem}.faq-list__title{margin:0;font-family:var(--font-body);font-weight:700;font-size:clamp(1.15rem,2.5vw,1.35rem);color:var(--forest);letter-spacing:0;text-transform:none;line-height:1.3}@media (min-width:768px){.faq-list__title{white-space:nowrap}}.faq-section__panel{padding:clamp(1.15rem,2.5vw,1.45rem);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.faq-section__eyebrow{margin-bottom:0.65rem}.faq-section__items{display:flex;flex-direction:column}.faq-item{border-bottom:1px solid var(--border)}.faq-item:last-child{border-bottom:0}.faq-item__question{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.95rem 0.15rem;font-weight:600;font-size:0.95rem;line-height:1.45;color:var(--forest);cursor:pointer;list-style:none;transition:color 0.2s var(--ease)}.faq-item__question::-webkit-details-marker{display:none}.faq-item__question::after{content:'';flex-shrink:0;width:0.45rem;height:0.45rem;margin-top:-0.15rem;border-right:2px solid var(--sage);border-bottom:2px solid var(--sage);transform:rotate(45deg);transition:transform 0.2s var(--ease),border-color 0.2s var(--ease)}.faq-item__question:hover,.faq-item__question:focus-visible{color:var(--forest-soft)}.faq-item[open] .faq-item__question{color:var(--forest);box-shadow:inset 3px 0 0 var(--brand-gold);padding-left:0.65rem}.faq-item[open] .faq-item__question::after{margin-top:0.1rem;transform:rotate(-135deg);border-color:var(--brand-vert)}.faq-item__answer{padding:0 0.15rem 1rem 0.65rem}.faq-item__answer p{margin:0;color:var(--text-soft);font-size:0.92rem;line-height:1.55}.faq-cta.services-cta-bar{margin-top:0.25rem;padding:clamp(1.25rem,3vw,1.65rem) clamp(1.25rem,3vw,1.75rem);gap:clamp(1rem,2.5vw,1.35rem)}.faq-cta__actions{display:flex;flex-wrap:wrap;gap:0.65rem;align-items:center;justify-content:flex-end}.faq-cta__actions .btn{width:auto;min-width:min(100%,11.5rem)}@media (max-width:639px){.faq-cta.services-cta-bar{flex-direction:column;align-items:stretch;text-align:center}.faq-cta__actions{justify-content:center}.faq-cta__actions .btn{width:100%;justify-content:center}}.contact-map-wrap{width:100%;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.contact-zone{margin-top:0}.contact-zone__inner{padding:clamp(1.35rem,3.5vw,1.75rem);background:var(--sand);border:1px solid var(--border);border-radius:var(--radius-lg)}.contact-zone__inner .eyebrow{margin-bottom:0.35rem}.contact-zone__inner h2{margin-bottom:0.75rem;font-family:var(--font-body);font-weight:700;font-size:clamp(1.15rem,2.5vw,1.35rem);color:var(--forest);letter-spacing:0;text-transform:none}.contact-zone__intro,.contact-zone__lead{color:var(--text-soft);line-height:1.5;margin-bottom:0.75rem;max-width:none;text-wrap:pretty}.contact-zone__lead{margin-bottom:0.85rem;font-weight:600;font-size:0.88rem;color:var(--sage)}.contact-zone__cities{display:flex;flex-wrap:wrap;gap:0.45rem 0.5rem;list-style:none;margin:0;padding:0}.contact-zone__cities li{padding:0.4rem 0.75rem;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-full);font-size:0.82rem;font-weight:500;color:var(--forest);line-height:1.25}.flex-devis,.flex-devis__form,.devis-aside{min-width:0;max-width:100%}.jgdevis-form{width:100%;max-width:100%;min-width:0;background:var(--white);padding:clamp(1.5rem,4vw,2.5rem);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-md)}.jgdevis-form .form-section{max-width:100%}.jgdevis-form .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem 1.5rem;min-width:0}.jgdevis-form .form-grid>*,.jgdevis-form .form-group{min-width:0}.jgdevis-form .form-group--full{grid-column:1 / -1}.jgdevis-form .form-label{display:block;font-size:0.72rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.5rem;color:var(--text-soft)}.jgdevis-form .form-label--section{font-size:0.8rem;color:var(--forest);margin-bottom:1rem;letter-spacing:0.06em}.jgdevis-form input[type="text"],.jgdevis-form input[type="email"],.jgdevis-form input[type="tel"],.jgdevis-form textarea{width:100%;padding:0.95rem 1.1rem;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-body);font-size:1rem;background:var(--cream);transition:border-color 0.2s,box-shadow 0.2s,background 0.2s}.jgdevis-form input:focus,.jgdevis-form textarea:focus{outline:none;border-color:var(--sage);background:var(--white);box-shadow:0 0 0 3px rgba(90,125,108,0.12)}.jgdevis-form textarea{min-height:110px;resize:vertical}.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.75rem),1fr));gap:0.75rem;min-width:0}.choice-card{position:relative;cursor:pointer;min-width:0}.choice-card input{position:absolute;opacity:0;width:0;height:0}.choice-card__inner{display:flex;flex-direction:column;align-items:flex-start;gap:0.35rem;padding:1rem 1.1rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--cream);transition:border-color 0.2s,background 0.2s,box-shadow 0.2s;min-height:100%}.choice-card__title{font-weight:600;font-size:0.9rem;color:var(--forest);line-height:1.3}.choice-card__hint{font-size:0.75rem;color:var(--text-soft);line-height:1.4}.choice-card input:checked+.choice-card__inner{border-color:var(--forest);background:rgba(22,61,46,0.06);box-shadow:0 0 0 1px var(--forest)}.choice-card input:focus-visible+.choice-card__inner{outline:2px solid var(--copper);outline-offset:2px}.choice-grid--compact{grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr))}.choice-grid--expertises{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.choice-grid--expertises{grid-template-columns:repeat(4,minmax(0,1fr))}}.choice-grid--surface{grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:640px){.choice-grid--surface{grid-template-columns:repeat(4,minmax(0,1fr))}}.choice-card--compact .choice-card__inner{padding:0.75rem 1rem;min-height:auto}.choice-card--compact .choice-card__title{font-size:0.82rem}.jg-alert{padding:1rem 1.25rem;border-radius:var(--radius);margin-bottom:1.5rem;font-size:0.95rem}.jg-alert--success{background:rgba(22,61,46,0.08);color:var(--forest);border:1px solid rgba(22,61,46,0.15)}.jg-alert--error{background:rgba(180,60,50,0.08);color:#8b2e26;border:1px solid rgba(180,60,50,0.2)}.surface-slider{padding:0.5rem 0 1rem}.surface-slider__value{font-size:1.15rem;font-weight:800;color:var(--forest);margin-bottom:1rem}.surface-slider input[type="range"]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-full);background:linear-gradient(to right,var(--sage) 0%,var(--sand) 100%);outline:none}.surface-slider input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--forest);border:3px solid var(--white);box-shadow:var(--shadow-sm);cursor:grab}.surface-slider input[type="range"]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--forest);border:3px solid var(--white);box-shadow:var(--shadow-sm);cursor:grab}.surface-slider__ticks{display:flex;justify-content:space-between;margin-top:0.75rem;font-size:0.7rem;color:var(--text-soft);font-weight:500}.surface-unknown-row{margin-bottom:1rem}.surface-slider.is-disabled{opacity:0.45;pointer-events:none}.logo__img{object-fit:contain;display:none}.logo__img--dark{display:block}.logo__img--light{display:none}.logo__img--filtered{filter:brightness(0) invert(1)}.site-footer .logo__img--dark{display:none}.site-footer .logo__img--light{display:block}.site-footer .logo__img--filtered{filter:none}.file-drop{border:2px dashed var(--border);border-radius:var(--radius);padding:1.5rem;text-align:center;background:var(--cream);transition:border-color 0.2s,background 0.2s}.file-drop:hover{border-color:var(--sage);background:var(--white)}.file-drop input[type="file"]{font-size:0.85rem;max-width:100%}.file-drop__hint{font-size:0.8rem;color:var(--text-soft);margin-top:0.5rem}.rgpd-row{display:flex;align-items:flex-start;gap:0.75rem;font-size:0.9rem;color:var(--text-soft);cursor:pointer}.rgpd-row input{width:auto;margin-top:0.2rem;flex-shrink:0}.jgdevis-form .btn--submit{width:100%;margin-top:1.5rem;padding:1.1rem;font-size:0.85rem}.form-section{max-width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group label{display:block;font-size:0.75rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:0.5rem;color:var(--text-soft)}.flex-devis{display:grid;grid-template-columns:1fr;gap:2rem}.flex-devis--page .devis-aside{display:grid;grid-template-columns:1fr;gap:clamp(1.15rem,4vw,1.5rem)}.section--devis>.container.flex-devis{width:100%;max-width:var(--container)}@media (min-width:1200px){.section--devis>.container.flex-devis{max-width:min(96vw,1440px)}}@media (min-width:900px){.flex-devis:not(.flex-devis--page){grid-template-columns:0.9fr 1.1fr;align-items:start}.flex-devis--page{grid-template-columns:1fr;gap:clamp(1.75rem,3vw,2.5rem);align-items:stretch}.flex-devis--page .devis-aside{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.5rem;align-items:stretch}.devis-aside__col{display:flex;flex-direction:column;min-width:0;width:100%}.devis-aside__col--promos .devis-aside__promos{flex:1;height:100%}.devis-aside__col--promos .promo-card{width:100%;flex:1}.devis-aside__col--zone .zone-box{flex:1;height:100%;box-sizing:border-box}.flex-devis--page .flex-devis__form,.flex-devis--page .jgdevis-form{width:100%;max-width:none}.section--devis .choice-grid:not(.choice-grid--compact){grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:900px) and (max-width:1100px){.section--devis .choice-grid:not(.choice-grid--compact){grid-template-columns:repeat(2,minmax(0,1fr))}}.promo-card{display:flex;align-items:center;gap:1rem;background:var(--forest);color:var(--white);padding:1.25rem 1.35rem;border-radius:var(--radius-lg);font-size:0.95rem;line-height:1.55}.promo-card__icon{flex-shrink:0;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:rgba(255,255,255,0.12);font-size:1.25rem;line-height:1}.promo-card--golf .promo-card__icon{background:rgba(255,222,0,0.18)}.promo-card__body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.promo-card__eyebrow{display:block;margin-bottom:0.35rem;font-size:0.65rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--brand-gold,var(--copper-light))}.promo-card__title{display:block;margin:0;font-size:1rem;font-weight:700;line-height:1.3;color:var(--white)}.promo-card__title+.promo-card__text{margin-top:0.35rem}.promo-card__text{margin:0;font-size:0.88rem;line-height:1.5;color:rgba(255,255,255,0.78)}.devis-aside__promos{display:flex;flex-direction:column;gap:1rem;width:100%}.promo-box{background:var(--forest);color:var(--white);padding:1.5rem;border-radius:var(--radius-lg);font-size:0.95rem;line-height:1.6;margin-bottom:1rem}.zone-box{padding:1.5rem;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border);font-size:0.92rem;color:var(--text-soft);line-height:1.6}.zone-box strong{display:block;color:var(--forest);margin-bottom:0.5rem;font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase}.zone-box__intro{margin:0 0 0.75rem}.zone-box__cities{margin:0;font-size:0.85rem;line-height:1.55;color:var(--text)}.checkbox-group{display:flex;flex-wrap:wrap;gap:0.75rem 1.25rem}.checkbox-group label{display:flex;align-items:center;gap:0.5rem;font-weight:400;text-transform:none;letter-spacing:0;font-size:0.95rem;cursor:pointer}.form-note{font-size:0.8rem;color:var(--text-soft);margin-top:1rem}.jgdevis-form .form-note--hint{margin-top:0.75rem}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact-info__item{margin-bottom:1.75rem}.contact-info__item strong{display:block;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--sage);margin-bottom:0.35rem}.map-embed{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/10;box-shadow:var(--shadow-md)}.map-embed iframe,.map-embed__frame{width:100%;height:100%;border:0}.map-embed__frame--mobile{display:none}
