.communeAutocomplete{position:relative;width:100%;min-width:0}.communeAutocomplete__control{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 14px 0 12px;background:#f9faf8;border:1px solid rgba(69,86,100,.28);border-radius:10px;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}.communeAutocomplete__control:focus-within{background:#ffffff;border-color:rgba(238,97,2,.72);box-shadow:0 0 0 4px rgba(238,97,2,.12)}.communeAutocomplete.has-error .communeAutocomplete__control,.communeAutocomplete__control:has(.communeAutocomplete__input[aria-invalid=true]){border-color:rgba(220,38,38,.72);box-shadow:0 0 0 4px rgba(220,38,38,.08)}.communeAutocomplete__icon{flex-shrink:0;color:#ee6102;pointer-events:none}.communeAutocomplete__chevron{flex-shrink:0;margin-left:auto;color:rgba(40,48,73,.45);pointer-events:none;transition:transform .22s cubic-bezier(.22,1,.36,1)}.communeAutocomplete.is-open .communeAutocomplete__chevron{transform:rotate(180deg);color:#ee6102}.communeAutocomplete__input{flex:1 1;min-width:0;width:100%;min-height:52px;padding:0;color:#283049;background:transparent;border:0;border-radius:0;box-shadow:none;font:inherit;font-weight:500;outline:none}.communeAutocomplete__input:focus,.communeAutocomplete__input:hover{background:transparent;border-color:transparent;box-shadow:none}.roofingQuoteField .communeAutocomplete__input,.roofingSite .roofingQuoteField .communeAutocomplete__input{min-height:52px;padding:0;background:transparent;border:0;box-shadow:none}.communeAutocomplete__panel{position:absolute;top:calc(100% + 8px);right:0;left:0;z-index:180;overflow:hidden;background:#ffffff;border:1px solid rgba(40,48,73,.1);border-radius:14px;box-shadow:0 24px 60px rgba(40,48,73,.16),inset 0 0 0 1px rgba(255,255,255,.6);animation:communePanelIn .22s cubic-bezier(.22,1,.36,1)}.communeAutocomplete__list{max-height:280px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding:8px}.communeAutocomplete__srStatus{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes communePanelIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.communeAutocomplete__hint{margin:0;padding:12px 16px 8px;color:rgba(79,101,126,.88);font-size:.76rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid rgba(40,48,73,.08)}.communeAutocomplete__empty,.communeAutocomplete__status{display:flex;align-items:center;gap:8px;margin:0;padding:14px 16px 16px;color:rgba(79,101,126,.92);font-size:.92rem}.communeAutocomplete__spinner{animation:communeSpin .9s linear infinite}@keyframes communeSpin{to{transform:rotate(1turn)}}.communeAutocomplete__option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:58px;padding:12px 16px;color:#283049;background:transparent;border:0;border-top:1px solid rgba(40,48,73,.06);text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}.communeAutocomplete__option:first-of-type{border-top:0}.communeAutocomplete__option.is-active,.communeAutocomplete__option:focus-visible,.communeAutocomplete__option:hover{background:linear-gradient(90deg,rgba(238,97,2,.08),rgba(238,97,2,.02));outline:none}.communeAutocomplete__optionMain{display:grid;grid-gap:2px;gap:2px;min-width:0}.communeAutocomplete__optionMain strong{font-size:.96rem;font-weight:700}.communeAutocomplete__optionMain span{color:rgba(79,101,126,.92);font-size:.84rem;font-weight:600}.communeAutocomplete__optionMeta{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:.28rem .62rem;color:#ee6102;background:rgba(238,97,2,.1);border-radius:999px;font-size:.74rem;font-weight:700}.communeAutocomplete__optionMeta small{color:inherit;font:inherit}.communeAutocomplete__error{display:block;margin-top:6px;color:#dc2626;font-size:.84rem;font-weight:600}.communeZoneChecker{display:grid;grid-gap:14px;gap:14px;max-width:560px;margin:22px 0}.communeZoneChecker__row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:start}.communeZoneChecker__btn{min-height:54px;white-space:nowrap}.communeZoneChecker__result{margin:0;padding:12px 14px;border-radius:10px;font-size:.92rem;line-height:1.5}.communeZoneChecker__result--ok{color:#166534;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.22)}.communeZoneChecker__result--loading,.communeZoneChecker__result--unknown{color:#374151;background:rgba(255,255,255,.86);border:1px solid rgba(40,48,73,.12)}.communeZoneChecker__result--out{color:#9a3412;background:rgba(238,97,2,.1);border:1px solid rgba(238,97,2,.22)}.communeZoneChecker__contact{justify-self:start}.roofingQuoteField--commune{grid-column:1/-1}@media (max-width:720px){.communeZoneChecker__row{grid-template-columns:1fr}.communeZoneChecker__btn{width:100%}.communeAutocomplete__panel{max-width:calc(100vw - 28px)}.communeAutocomplete__list{max-height:min(320px,45dvh)}.communeAutocomplete__option{align-items:flex-start;min-height:62px;padding:13px 14px}.communeAutocomplete__optionMeta{padding:.22rem .5rem;font-size:.7rem}}@media (prefers-reduced-motion:reduce){.communeAutocomplete__panel,.communeAutocomplete__spinner{animation:none}}.roofingSite .realisationsPageHero{min-height:clamp(330px,42vw,520px);padding:clamp(56px,7vw,96px) clamp(18px,5vw,64px);background:#14213d}.roofingSite .realisationsPageHero:before{display:block!important;content:""!important;position:absolute;inset:0;background:linear-gradient(105deg,rgba(31,43,45,.94),rgba(31,43,45,.84) 43%,rgba(31,43,45,.28)),linear-gradient(155deg,transparent 0 48%,rgba(169,95,52,.26) 48% 50%,transparent 50% 100%)}.roofingSite .realisationsPageHero>.heroTextPanel{max-width:min(680px,100%);padding:0;background:transparent;border:0;box-shadow:none;text-align:left}.roofingSite .realisationsPageHero>.heroTextPanel .eyebrow{width:-moz-fit-content;width:fit-content;padding:8px 13px;color:#fffaf0;background:rgba(255,250,240,.1);border:1px solid rgba(255,250,240,.22);border-radius:8px;letter-spacing:.12em}.roofingSite .realisationsPageHero>.heroTextPanel h1{max-width:11ch;color:#fffaf0;font-size:clamp(2.35rem,5vw,5rem);line-height:.92}.roofingSite .realisationsPageHero>.heroTextPanel>p:not(.eyebrow){max-width:52ch;color:rgba(255,250,240,.84);font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.65}.realisationsGallery{position:relative;overflow:hidden;padding:clamp(34px,5vw,58px) 0 clamp(48px,6vw,78px);background:linear-gradient(90deg,rgba(31,43,45,.035) 1px,transparent 0),linear-gradient(180deg,#fffaf0,#f5efe4);background-size:78px 78px,auto}.realisationsGallery:before{content:"";position:absolute;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(169,95,52,.5),transparent)}.realisationsGallery__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:clamp(16px,2vw,24px);gap:clamp(16px,2vw,24px);width:min(1220px,calc(100% - clamp(32px, 7vw, 88px)));margin-inline:auto}.realisationCard{position:relative;display:flex;flex-direction:column;min-height:100%;overflow:hidden;background:rgba(255,250,240,.94);border:1px solid rgba(31,43,45,.12);border-radius:10px;box-shadow:0 10px 26px rgba(31,43,45,.07);transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease}.realisationCard:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,#a95f34,rgba(169,95,52,0));transform:scaleX(0);transform-origin:left;transition:transform .26s ease}.realisationCard:hover{border-color:rgba(169,95,52,.3);box-shadow:0 16px 38px rgba(31,43,45,.12);transform:translateY(-3px)}.realisationCard:hover:after{transform:scaleX(1)}.realisationCard__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#d8d0c2}.realisationCard__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .52s cubic-bezier(.16,1,.3,1)}.realisationCard:hover .realisationCard__media img{transform:scale(1.045)}.realisationCard__zone{position:absolute;top:12px;left:12px;z-index:2;max-width:calc(100% - 24px);padding:6px 9px;color:#fffaf0;background:rgba(31,43,45,.82);border:1px solid rgba(255,250,240,.2);border-radius:7px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.68rem;font-weight:800;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.realisationCard__body{display:flex;flex:1 1;flex-direction:column;gap:9px;padding:clamp(15px,1.5vw,19px)}.realisationCard__title{min-height:2.35em;margin:0;color:#1f2b2d;font-family:var(--roof-font-heading,Georgia,serif);font-size:clamp(1.04rem,1.18vw,1.24rem);font-weight:760;line-height:1.16;letter-spacing:0}.realisationCard__description{display:-webkit-box;min-height:4.8em;margin:0;overflow:hidden;color:#5b6762;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:.91rem;line-height:1.6}.realisationCard__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:1px}.realisationCard__tag{min-height:24px;padding:4px 8px;color:#2f3a38;background:rgba(169,95,52,.08);border:1px solid rgba(169,95,52,.18);border-radius:6px;font-size:.72rem;font-weight:700;line-height:1.15}.realisationCard__cta{display:inline-flex;align-items:center;gap:7px;width:-moz-fit-content;width:fit-content;margin-top:auto;padding-top:6px;color:#1f2b2d;border-bottom:1px solid rgba(169,95,52,.55);font-size:.88rem;font-weight:800;line-height:1.3;text-decoration:none;transition:color .18s ease,border-color .18s ease,transform .18s ease}.realisationCard__cta svg{transition:transform .18s ease}.realisationCard__cta:hover{color:#a95f34;border-color:#a95f34;transform:translateX(1px)}.realisationCard__cta:hover svg{transform:translate(2px,-2px)}.realisationsTeaser{position:relative;overflow:hidden;padding:clamp(72px,10vw,112px) 0;background:var(--home-night,#283049);color:#ffffff}.realisationsTeaser:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 10% 20%,rgba(238,97,2,.14),transparent 55%),radial-gradient(ellipse 50% 40% at 90% 80%,rgba(79,101,126,.2),transparent 50%);pointer-events:none}.realisationsTeaser__inner{position:relative;z-index:1;width:var(--home-container,min(860px,100%));margin-inline:auto;padding-inline:clamp(20px,5vw,56px);text-align:center}.realisationsTeaser__inner .homeLead{margin-inline:auto;margin-top:16px;max-width:640px;color:rgba(255,255,255,.82)}.realisationsTeaser__highlights{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;margin:28px 0 32px;padding:0;list-style:none}.realisationsTeaser__highlights li{padding:8px 16px;color:rgba(255,255,255,.92);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;font-size:.88rem;font-weight:600}@media (max-width:1024px){.realisationsGallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.realisationsGallery__grid{grid-template-columns:1fr;gap:20px}.realisationCard__body{padding:20px}}@media (prefers-reduced-motion:reduce){.realisationCard,.realisationCard__cta,.realisationCard__media img{transition:none}.realisationCard:hover,.realisationCard:hover .realisationCard__media img{transform:none}}.realisationsTeaser{padding:clamp(80px,10vw,132px) clamp(18px,5vw,56px);background:#14213d}.realisationsTeaser:before{background:linear-gradient(120deg,transparent 0 52%,rgba(169,95,52,.24) 52% 61%,transparent 61%),radial-gradient(ellipse 50% 60% at 85% 40%,rgba(255,250,240,.12),transparent 58%)}.realisationsTeaser__layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.86fr) minmax(360px,1.14fr);grid-gap:clamp(32px,6vw,90px);gap:clamp(32px,6vw,90px);align-items:center;width:var(--home-container,min(1180px,100%));margin-inline:auto}.realisationsTeaser__copy{text-align:left}.realisationsTeaser__copy .homeLead{margin-top:18px;color:rgba(255,250,240,.8)}.realisationsTeaser__highlights{justify-content:flex-start}.realisationsTeaser__highlights li{border-radius:0}.realisationsTeaser__editorial{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,minmax(44px,1fr));min-height:clamp(420px,48vw,620px)}.realisationsTeaser__shot{margin:0;overflow:hidden;background:#384447;box-shadow:0 22px 58px rgba(0,0,0,.24)}.realisationsTeaser__shot img{width:100%;height:100%;object-fit:cover}.realisationsTeaser__shot.shot1{grid-column:1/5;grid-row:1/5;-webkit-clip-path:polygon(0 0,100% 0,92% 100%,0 100%);clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}.realisationsTeaser__shot.shot2{grid-column:5/8;grid-row:2/4}.realisationsTeaser__shot.shot3{grid-column:4/8;grid-row:4/7;-webkit-clip-path:polygon(8% 0,100% 0,100% 100%,0 100%);clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)}.realisationsTeaser__shot.shot4{grid-column:1/4;grid-row:5/7}.realisationsTeaser__shot.shot5{grid-column:5/7;grid-row:1/2}.realisationsTeaser__shot.shot6{grid-column:7/8;grid-row:4/6}@media (max-width:980px){.realisationsGallery__grid,.realisationsTeaser__layout{grid-template-columns:1fr}.realisationCard,.realisationCard--1,.realisationCard--2,.realisationCard--3,.realisationCard--4,.realisationCard--5{grid-column:auto;margin-top:0}.realisationsTeaser__editorial{min-height:400px}}@media (max-width:640px){.realisationCard--2 .realisationCard__media,.realisationCard--5 .realisationCard__media,.realisationCard__media{aspect-ratio:4/3;-webkit-clip-path:none;clip-path:none}.realisationCard__body{width:calc(100% - 20px);margin:-24px 10px 0}.realisationsTeaser__editorial{display:block;min-height:0}.realisationsTeaser__shot{height:180px;margin-bottom:12px;-webkit-clip-path:none!important;clip-path:none!important}}@media (min-width:681px) and (max-width:1024px){.realisationsGallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));width:min(920px,calc(100% - 44px));gap:18px}.realisationCard__media{aspect-ratio:16/10}.realisationCard__body{width:auto;margin:0;padding:16px}}@media (max-width:680px){.roofingSite .realisationsPageHero{min-height:300px;padding:42px 22px}.roofingSite .realisationsPageHero>.heroTextPanel h1{max-width:9ch;font-size:clamp(2.25rem,15vw,3.55rem)}.realisationsGallery{padding:26px 0 52px}.realisationsGallery__grid{grid-template-columns:1fr;width:min(100% - 32px,430px);gap:18px}.realisationCard--2 .realisationCard__media,.realisationCard--5 .realisationCard__media,.realisationCard__media{aspect-ratio:4/3;-webkit-clip-path:none;clip-path:none}.realisationCard__body{width:auto;margin:0;padding:15px;gap:8px}.realisationCard__title{min-height:auto;font-size:1.18rem}.realisationCard__description{min-height:0;-webkit-line-clamp:2}}