@font-face{font-family:Vinelec;src:url('assets/sans.otf')}@font-face{font-family:Vinelec;src:url('assets/sans-bold.otf');font-weight:700}:root{--ink:#1c211f;--muted:#606863;--green:#b4ef47;--white:#fff;--light:#f3f5f2;--line:#dce1dc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:Vinelec,Arial,sans-serif;font-size:17px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.05;letter-spacing:-.045em}h1{font-size:clamp(42px,5.5vw,78px)}h2{font-size:clamp(32px,3.7vw,52px)}h3{font-size:27px}p{margin:16px 0;color:var(--muted)}.wrap{width:min(1280px,calc(100% - 112px));margin:auto}.eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 24px;color:inherit}.small{font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:15px 24px;border:1px solid var(--green);background:var(--green);color:#192015;font-size:15px;letter-spacing:.01em;font-weight:700;line-height:1.3;border-radius:2px;transition:background .2s,transform .2s;text-align:center}.button:hover{background:#c6fa67;transform:translateY(-2px)}.button.secondary{background:transparent;border:1px solid #9ba39a;color:inherit}.button.secondary:hover{background:var(--light);color:var(--ink)}header{height:96px;background:white;position:sticky;top:0;z-index:10;border-bottom:1px solid #eee}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:35px}.wordmark{font-size:37px;font-weight:700;line-height:.9;letter-spacing:-.07em;display:inline-block}.wordmark>span{color:#67a52a}.wordmark i{font-size:10px;display:block;font-weight:400;letter-spacing:.13em;text-transform:uppercase;font-style:normal;margin-top:10px}.header-inner nav{display:flex;align-items:center;gap:30px;font-size:15px}.header-inner nav>a:not(.button){padding:10px 0;position:relative}.header-inner nav>a[aria-current=page]:after{content:'';height:2px;background:#6aab25;position:absolute;bottom:1px;left:0;right:0}.menu-toggle{display:none}.home-hero{position:relative;color:white;min-height:640px;overflow:hidden;background:#212820}.hero-image,.hero-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:center 62%}.hero-shade{background:linear-gradient(90deg,rgba(8,16,16,.83),rgba(8,16,16,.4) 48%,rgba(8,16,16,.08)),linear-gradient(0deg,rgba(8,16,16,.25),transparent 30%)}.hero-content{position:relative;padding-top:82px;padding-bottom:100px}.hero-content h1{font-size:clamp(46px,5.5vw,79px);max-width:750px;letter-spacing:-.05em}.hero-content h1 em{font-style:normal;color:var(--green)}.hero-content p:not(.eyebrow){color:#e6eae6;font-size:20px;margin-top:26px;line-height:1.5}.hero-content .eyebrow{color:#d1ead0}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.phone{font-size:16px;border-bottom:1px solid #bac0b7}.hero-bottom{position:relative;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.05em;padding-bottom:24px;margin-top:-50px;color:#d8ddd6}.trust{background:var(--light);border-bottom:1px solid var(--line)}.trust-inner{display:grid;grid-template-columns:repeat(4,1fr);padding:29px 0;gap:25px}.trust-inner span{font-size:14px;color:var(--muted);border-right:1px solid var(--line);padding-right:18px}.trust-inner span:last-child{border:0}.trust-inner b{display:block;color:var(--ink);font-size:17px;font-weight:400;margin-bottom:3px}.section{padding:96px 0}.section-intro{display:grid;grid-template-columns:1.1fr .8fr;gap:100px;align-items:end;margin-bottom:48px}.section-intro>p{max-width:490px;margin-bottom:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{border:1px solid var(--line);padding:36px;min-height:335px;display:flex;flex-direction:column;transition:transform .2s}.service-card:hover{transform:translateY(-5px)}.service-card .number{margin-bottom:34px}.service-card.featured{background:var(--ink);color:white;border-color:var(--ink)}.service-card.featured p{color:#c8cfc8}.service-card p{font-size:16px;margin-top:20px}.number{font-size:13px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);display:block}.featured .number{color:var(--green)}.text-link{margin-top:auto;font-size:14px;display:block;text-decoration:underline;text-underline-offset:6px}.dark-section{background:var(--ink);color:white;padding:84px 0}.dark-section p{color:#bfc9c0}.dark-section .eyebrow{color:var(--green)}.lighting-split{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.light-photo img{width:100%;aspect-ratio:1.25;object-fit:cover;display:block}.light-photo figcaption{font-size:12px;color:#bcc5bd;margin-top:12px}.lighting-split .button{margin-top:20px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:50px}.steps article{padding-top:22px;border-top:1px solid #a8b3a3}.steps .number{margin-bottom:28px;color:#5e9126}.steps h3{font-size:24px;letter-spacing:-.025em}.steps p{font-size:16px}.architect{display:grid;grid-template-columns:140px 1fr auto;gap:35px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:45px 0}.architect h2{font-size:36px}.architect p{margin-bottom:0;max-width:550px}.architect .eyebrow{margin:0;color:#6a982b}.cta{margin:90px auto;display:flex;justify-content:space-between;align-items:center;gap:60px}.cta h2{max-width:700px}.cta .button{flex-shrink:0}.cta .eyebrow{color:#5d8a2c}.cta p{margin-bottom:0}footer{background:#151916;color:white;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}.footer-grid p{color:#aeb9ae;font-size:15px}.footer-grid .eyebrow{font-size:12px;color:#80917f;margin-bottom:20px}.footer-grid>div>a:not(.wordmark){display:block;font-size:15px;margin:7px 0}.footer-grid .wordmark>span{color:var(--green)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:25px;margin-top:50px;border-top:1px solid #343e34;font-size:12px;color:#a0aca0}.footer-bottom button{border:0;background:transparent;color:inherit;font-size:12px;margin-left:25px;padding:10px 0}.page-head{padding:85px 0 55px}.page-head .eyebrow{color:#698d38}.page-head .lead{font-size:20px;max-width:700px;margin-top:28px}.service-nav{display:flex;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-nav a{flex:1;padding:22px 16px 22px 0;font-size:14px}.service-nav a:hover{text-decoration:underline}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:90px 0;align-items:center}.service-row p{max-width:520px}.service-row .eyebrow{color:#688c35}.service-row .button{margin-top:18px}.benefits{list-style:none;padding:0;margin:0}.benefits li{padding:21px 0 21px 30px;border-bottom:1px solid var(--line);position:relative}.benefits li:before{content:'✓';position:absolute;left:0;color:#648e25}.domo-section{background:var(--light);padding:80px 0}.scenario-picker{display:flex;gap:10px}.scenario-picker button{border:1px solid #bdc6b9;background:transparent;padding:12px 24px;color:var(--ink);min-height:48px;font-size:15px}.scenario-picker button.selected{background:var(--ink);color:var(--green);border-color:var(--ink)}.scenario{display:grid;grid-template-columns:1fr 1.7fr;gap:60px;padding:45px 0;align-items:center}.scene-time{font-size:clamp(70px,9vw,132px);letter-spacing:-.065em;line-height:1;color:#94a783}.scenario h3{font-size:40px}.scenario p:last-child{max-width:620px}.faq{margin-top:35px;border-top:1px solid #bec9b9}.faq details{border-bottom:1px solid #bec9b9;padding:0}.faq summary{padding:22px 45px 22px 0;cursor:pointer;font-size:19px;position:relative;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:5px;font-size:24px;top:17px}.faq details[open] summary:after{content:'−'}.faq details p{margin:0 0 24px;max-width:800px}.story{display:grid;grid-template-columns:.8fr 1.15fr;gap:110px;margin-top:25px;align-items:start}.year-panel{padding:40px;background:var(--ink);color:white;position:sticky;top:125px}.year-panel .eyebrow{color:var(--green)}.year{display:block;font-size:100px;line-height:1.1;letter-spacing:-.065em;margin:45px 0 25px}.year-panel h3{font-size:32px}.year-panel p{color:#b8c5b8;font-size:16px}.signature{border-top:1px solid #505c4f;padding-top:25px;margin-top:45px;font-size:23px}.signature span{display:block;font-size:13px;color:#a3b2a3;margin-top:6px}.story-text h2{margin-bottom:30px}.story-text p:not(.eyebrow){line-height:1.8}.about-architect{display:grid;grid-template-columns:1fr 1fr;gap:95px}.about-architect p{margin-top:0}.about-architect .button{margin-top:20px}.territory{display:grid;grid-template-columns:1.3fr 1fr;gap:100px;align-items:center;border-bottom:1px solid var(--line)}.territory p{max-width:600px}.territory-stat{padding:55px 25px;border:1px solid var(--line);text-align:center}.territory-stat>span{font-size:120px;line-height:1;letter-spacing:-.06em}.territory-stat>span>span{font-size:30px;letter-spacing:0;margin-left:10px}.contact-grid{display:grid;grid-template-columns:1.5fr .75fr;gap:75px;padding:10px 0 70px;align-items:start}.form-panel{padding:40px;background:var(--light);border:1px solid var(--line)}.form-top h2{font-size:28px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:30px 0}.form-fields label{font-size:14px;display:flex;flex-direction:column;gap:9px}.form-fields .full{grid-column:1/-1}input,select,textarea{width:100%;min-width:0;padding:15px;border:1px solid #c8d0c5;background:white;border-radius:0;color:var(--ink);font-size:16px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#798177;font-size:14px}input:focus,select:focus,textarea:focus{outline:2px solid #6ca925;outline-offset:1px}.inline-link{border:0;background:transparent;text-decoration:underline;padding:0;color:inherit;font-size:inherit}.demo-note{font-size:13px;line-height:1.5;max-width:440px;margin-bottom:0}.contact-info{padding-top:20px}.contact-info h2{font-size:32px}.contact-phone{display:block;font-size:31px;letter-spacing:-.035em;margin:20px 0 6px}.contact-info>a:not(.contact-phone){font-size:16px;overflow-wrap:anywhere}.info-divider{border-top:1px solid var(--line);margin:35px 0}.contact-info h3{font-size:25px}.call-note{padding:24px;background:var(--ink);color:#cdd7ca;font-size:15px;margin-top:30px;border-left:3px solid var(--green)}.form-result{padding:22px;border:1px solid #8da781;margin-top:25px;background:white}.form-result h3{font-size:23px}.form-result a{text-decoration:underline}.gallery-empty{text-align:center;padding:100px 0;background:var(--light)}.gallery-empty p{max-width:550px;margin:20px auto}.empty-rule{width:70px;height:2px;background:var(--green);margin:25px auto}.gallery-empty .button{margin-top:20px}dialog{border:0;padding:45px;max-width:650px;width:calc(100% - 30px);box-shadow:0 20px 100px #0004}dialog::backdrop{background:#0d170db3}.dialog-close{background:transparent;border:0;float:right;padding:0 0 20px;font-size:14px;text-decoration:underline}dialog h2{font-size:35px;clear:both}dialog p{font-size:16px}.skip{position:absolute;top:-100px;left:20px;padding:15px;background:var(--green);z-index:100}.skip:focus{top:15px}:focus-visible{outline:3px solid #70a633;outline-offset:5px}[hidden]{display:none!important}
.gallery-controls{display:flex;gap:10px;margin-bottom:35px;flex-wrap:wrap}.gallery-controls button{padding:11px 24px;border:1px solid var(--line);background:white;font-size:15px}.gallery-controls button.selected{background:var(--ink);color:var(--green);border-color:var(--ink)}.project-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 25px}.project-shot:first-child{grid-column:1/-1}.project-shot button{display:block;border:0;padding:0;width:100%;background:var(--light);cursor:zoom-in;overflow:hidden}.project-shot img{width:100%;height:440px;object-fit:cover;display:block;transition:transform .4s}.project-shot button:hover img{transform:scale(1.03)}.project-shot:first-child img{height:540px;object-position:center 60%}.project-shot.technical img{object-fit:contain;background:#edf0ea}.project-shot figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:18px}.project-shot h3{font-size:25px}.project-shot figcaption p{font-size:14px;margin:9px 0 0;max-width:500px}.project-shot figcaption>span{font-size:12px;color:#617751;letter-spacing:.1em;text-transform:uppercase;padding-top:5px}.gallery-intro{margin-bottom:35px;color:var(--muted)}.home-gallery{padding-top:90px;padding-bottom:90px}.preview-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px;margin-top:30px}.preview-grid img{width:100%;height:300px;object-fit:cover;display:block}.preview-grid p{font-size:14px;margin:10px 0 0}.section-intro .text-link{margin-top:15px}.lightbox{max-width:1100px;padding:20px;background:#151915;color:white}.lightbox img{display:block;max-width:100%;max-height:75vh;object-fit:contain;margin:auto}.lightbox .dialog-close{color:white}.lightbox p{color:#d1dad0;text-align:center;font-size:14px}.mobile-call{display:none}
@media(min-width:1600px){.home-hero{min-height:740px}.hero-content{padding-top:115px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header-inner nav{gap:18px;font-size:14px}.header-inner .button{padding:14px 17px}.header-inner{gap:25px}.service-card{padding:25px}.section-intro{gap:55px}.lighting-split{gap:45px}.architect{grid-template-columns:1fr auto}.architect>.eyebrow{grid-column:1/-1}.story{gap:65px}.service-row{gap:65px}.contact-grid{gap:35px}.form-panel{padding:28px}.hero-content h1{font-size:68px}.wordmark{font-size:32px}}
@media(max-width:800px){header{height:80px}.wrap{width:calc(100% - 40px)}.header-inner{gap:15px}.menu-toggle{display:block;border:1px solid #d0d9cb;background:white;padding:10px 17px;font-size:14px}.header-inner nav{display:none;position:absolute;top:80px;left:0;width:100%;background:white;box-shadow:0 12px 20px #0001;padding:24px;flex-direction:column;align-items:stretch;gap:12px}.header-inner nav.open{display:flex}.header-inner nav>a[aria-current=page]:after{width:35px}.wordmark{font-size:33px}.home-hero{min-height:650px}.hero-content{padding-top:75px;padding-bottom:115px}.hero-content h1{font-size:clamp(44px,8vw,62px)}.hero-content p:not(.eyebrow){font-size:18px}.hero-image{object-position:65% center}.hero-shade{background:linear-gradient(90deg,#0c170ddb,#0d150e70),linear-gradient(0deg,#0d150e70,transparent)}.hero-actions{flex-wrap:wrap;gap:20px}.hero-bottom{font-size:11px;gap:20px}.trust-inner{grid-template-columns:1fr 1fr;padding:25px 0;gap:22px}.trust-inner span:nth-child(2){border:0}.trust-inner b{font-size:16px}.section{padding:65px 0}.section-intro{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.section-intro>p{max-width:650px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:30px}.service-card h3 br{display:none}.service-card .number{margin-bottom:20px}.service-card .text-link{margin-top:15px}.lighting-split{grid-template-columns:1fr;gap:35px}.light-photo img{aspect-ratio:1.4}.dark-section{padding:55px 0}.steps{grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.steps .number{margin-bottom:20px}.steps h3{font-size:23px}.architect{grid-template-columns:1fr;gap:22px;padding:35px 0}.architect .button{justify-self:start}.cta{margin:65px auto;display:block}.cta .button{margin-top:25px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column;align-items:start;gap:15px;margin-top:30px}.footer-bottom button{margin:0 20px 0 0}.page-head{padding:55px 0 30px}.page-head .lead{font-size:18px}.page-head h1 br{display:none}.service-nav{display:grid;grid-template-columns:1fr 1fr}.service-nav a{padding:15px 10px 15px 0}.service-row{grid-template-columns:1fr;gap:30px;padding:55px 0}.domo-section{padding:55px 0}.scenario{grid-template-columns:1fr;gap:20px;padding:35px 0}.scene-time{font-size:75px}.scenario h3{font-size:32px}.scenario-picker button{padding:10px 19px}.story{grid-template-columns:1fr;gap:40px;margin-top:15px}.year-panel{position:static;padding:30px}.year{font-size:80px;margin:30px 0 20px}.story-text p:not(.eyebrow){line-height:1.7}.about-architect{grid-template-columns:1fr;gap:30px}.territory{grid-template-columns:1fr;gap:35px}.territory-stat>span{font-size:85px}.territory-stat{padding:35px}.contact-grid{grid-template-columns:1fr;gap:30px;padding-bottom:10px}.form-panel{padding:25px}.form-fields{grid-template-columns:1fr}.form-fields .full{grid-column:auto}.form-panel .button{width:100%}.contact-info{padding:20px 0}.project-gallery{grid-template-columns:1fr;gap:35px}.project-shot:first-child{grid-column:auto}.project-shot img,.project-shot:first-child img{height:310px}.project-shot.technical img{height:430px}.project-shot figcaption{flex-direction:column;gap:6px}.project-shot figcaption>span{order:-1}.preview-grid{grid-template-columns:1fr;gap:25px}.preview-grid img{height:300px}.home-gallery{padding-top:60px;padding-bottom:60px}.gallery-controls button{padding:10px 16px}.eyebrow{font-size:12px;letter-spacing:.14em}.footer-grid>div:last-child{overflow-wrap:anywhere}dialog{padding:30px}.contact-phone{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Vinelec identity sampled from the supplied business card. */
:root{--green:#a8cd20;--green-deep:#526817;--ink:#242729;--muted:#646966;--light:#f4f6f2;--line:#dfe4db}.button:hover{background:#b8dc3e}.eyebrow,.section-intro .eyebrow,.page-head .eyebrow,.service-feature .eyebrow,.cta .eyebrow{color:var(--green-deep)}.hero-content .eyebrow{color:#c8d9bd}.dark-section .eyebrow{color:var(--green)}.wordmark{width:203px;letter-spacing:0;line-height:1;flex-shrink:0}.wordmark .brand-name{display:block;font-family:Vinelec,Arial,sans-serif;font-weight:700;font-size:34px;letter-spacing:-.06em;color:#333639;border-bottom:2px solid var(--green);padding:0 0 5px}.wordmark i{border-bottom:2px solid var(--green);font-size:8px;letter-spacing:.075em;white-space:nowrap;padding:3px 0 4px;margin-top:0;color:#333639;font-weight:700}.footer-grid .wordmark .brand-name{color:#e5e7e8}.footer-grid .wordmark i{color:#cdd2d5}.header-inner nav>a[aria-current=page]:after{background:var(--green)}.header-inner nav{gap:25px}.hero-shade{background:linear-gradient(90deg,rgba(12,18,20,.81),rgba(12,18,20,.35) 50%,rgba(12,18,20,.04)),linear-gradient(0deg,rgba(12,18,20,.32),transparent 45%)}.home-hero .hero-image{object-position:center center}.hero-content h1 em{color:var(--green)}.service-card{padding:0 30px 30px;overflow:hidden}.card-service-image{width:calc(100% + 60px);margin:0 -30px 28px;display:block;aspect-ratio:1.5;object-fit:cover}.service-card h3{font-size:31px}.service-card p{max-width:360px}.service-card.featured{background:var(--ink)}.service-card .text-link{margin-top:15px}.home-gallery{border-top:1px solid var(--line)}.service-feature{display:grid;grid-template-columns:1.05fr 1fr;gap:85px;padding:85px 0;align-items:start;border-bottom:1px solid var(--line)}.service-feature-copy>p:not(.eyebrow){max-width:620px;margin-top:25px}.service-feature-copy>.button{margin-top:15px}.feature-list{padding:0;list-style:none;margin:30px 0}.feature-list li{padding:20px 0;border-top:1px solid var(--line)}.feature-list h3{font-size:21px;line-height:1.25;letter-spacing:-.025em}.feature-list p{font-size:16px;margin:9px 0 0;line-height:1.55}.service-visual{width:100%;margin:0}.service-visual img{display:block;width:100%;aspect-ratio:1.15;object-fit:cover}.service-visual figcaption{font-size:12px;color:var(--muted);margin:10px 0 0}.service-feature>.service-visual{position:sticky;top:125px;margin-top:5px}#domotique .service-feature-copy{order:2}#domotique>.service-visual{order:1}.dark-section .service-visual figcaption{color:#aeb9ac}.dark-section .service-visual img{aspect-ratio:1.1}.lighting-benefits{list-style:none;padding:0;margin:25px 0;color:#cad3c5;font-size:16px}.lighting-benefits li{padding:8px 0 8px 20px;position:relative}.lighting-benefits li:before{content:'';width:5px;height:5px;position:absolute;left:0;top:17px;background:var(--green)}.service-accordions{border-top:1px solid var(--line)}.extra-service{border-bottom:1px solid var(--line)}.extra-service>summary{font-size:24px;line-height:1.25;letter-spacing:-.025em;padding:26px 60px 26px 0;list-style:none;position:relative;cursor:pointer}.extra-service>summary::-webkit-details-marker{display:none}.extra-service>summary:after{content:'+';position:absolute;right:10px;top:23px;color:var(--green-deep);font-size:30px;font-weight:400}.extra-service[open]>summary:after{content:'−'}.extra-service-content{display:grid;grid-template-columns:.85fr 1fr;gap:60px;padding:5px 0 35px;align-items:center}.extra-service-content h3{font-size:30px}.extra-service-content ul{list-style:none;padding:0;margin:20px 0 30px}.extra-service-content li{padding:8px 0;border-bottom:1px solid var(--line);font-size:16px}.extra-service-content .service-visual img{aspect-ratio:1.5}.coverage{background:#242729;color:white;padding:50px 0;overflow:hidden}.coverage-inner{display:grid;grid-template-columns:1.35fr 1fr .6fr;gap:35px;align-items:center}.coverage .eyebrow{color:#bac3c6;font-size:12px;margin-bottom:18px}.coverage h2{font-size:32px;line-height:1.15;letter-spacing:-.025em}.coverage h2 em{color:var(--green);font-style:normal}.coverage p{color:#c5cac8;font-size:16px;margin:18px 0 22px}.coverage .button{font-size:14px;min-height:44px;padding:11px 18px;border-color:#8c9694}.coverage .button:hover{background:#343a34;color:white}.coverage-map{position:relative;margin:0}.coverage-map>img{display:block;width:100%;filter:grayscale(1);mix-blend-mode:screen;opacity:.72}.map-halo{position:absolute;width:100px;height:100px;border-radius:50%;background:#83af5526;border:1px solid #83af5570;top:43%;left:49%;transform:translate(-50%,-50%);pointer-events:none}.map-point{position:absolute;background:var(--green);width:12px;height:12px;border-radius:50%;left:49%;top:40%;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #242729}.coverage-map figcaption{text-align:center;font-size:11px;line-height:1.4;color:#a6b0ae;margin-top:10px}.coverage-note{font-family:Georgia,serif;font-size:25px;line-height:1.35;font-style:italic;text-align:center;transform:rotate(-7deg);color:#f3f4f0}.coverage-note span{display:block;width:110px;height:3px;background:var(--green);margin:18px auto 0}.contact-next{border-top:1px solid var(--line);padding:55px 0 80px}.contact-next p:not(.eyebrow){max-width:750px;font-size:18px;margin-top:24px}.story-text .eyebrow{color:var(--green-deep)}.year-panel .eyebrow{color:var(--green)}.scene-time{color:#638346}.scenario-picker button.selected{color:#bdd8a1}.about-architect .eyebrow{color:var(--green)}
@media(max-width:1100px){.header-inner nav{gap:16px}.wordmark{width:185px}.wordmark .brand-name{font-size:31px}.wordmark i{font-size:7.5px}.service-feature{gap:50px}.coverage-inner{grid-template-columns:1.4fr 1fr;gap:40px}.coverage-note{display:none}.extra-service-content{gap:35px}}
@media(max-width:800px){.wordmark{width:192px}.wordmark .brand-name{font-size:32px}.wordmark i{font-size:8px}.service-card{padding:0 28px 28px}.card-service-image{width:calc(100% + 56px);margin:0 -28px 25px;aspect-ratio:1.7}.service-card h3{font-size:31px}.service-feature{grid-template-columns:1fr;gap:30px;padding:55px 0}.service-feature>.service-visual{position:static;order:0!important;margin-top:0}.service-feature-copy{order:1!important}.service-visual img{aspect-ratio:1.5}.service-feature h2{font-size:35px}.extra-service-content{grid-template-columns:1fr;gap:25px;padding-bottom:30px}.extra-service>summary{font-size:21px;padding:23px 45px 23px 0}.extra-service-content h3{font-size:28px}.coverage-inner{grid-template-columns:1fr;gap:25px}.coverage{padding:45px 0}.coverage h2{font-size:31px}.coverage-map{max-width:390px;width:100%;margin:auto}.coverage-note{display:block;transform:rotate(-4deg);font-size:23px;padding-top:12px}.coverage-note span{height:2px;margin-top:12px}.map-halo{width:100px;height:100px}.coverage-map figcaption{font-size:12px}.dark-section .service-visual img{aspect-ratio:1.5}.home-hero .hero-image{object-position:65% center}}

/* Crisp geographic map and vehicle-inspired brand accent. */
.coverage-inner{grid-template-columns:1.05fr 1.5fr .55fr;gap:26px}.coverage-map>img{filter:none;mix-blend-mode:normal;opacity:1;width:100%;height:auto}.project-source{display:inline-block;font-size:12px;color:var(--green-deep);border-bottom:1px solid #cbd5b6;margin-top:4px}.scene-time{color:var(--green)}.scenario-picker button.selected{color:var(--green)}
@media(max-width:1100px){.coverage-inner{grid-template-columns:1fr 1.35fr;gap:28px}}@media(max-width:800px){.coverage-inner{grid-template-columns:1fr}.coverage-map{max-width:620px}.coverage-map figcaption{font-size:11px}}

/* Clear headings and usable contact targets. */
.header-actions{display:none}.phone{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border:1px solid #bac0b7;border-radius:2px}.phone:hover{background:#ffffff15}.section-intro a.text-link,.project-source{display:inline-flex;align-items:center;min-height:44px}.footer-grid>div>a:not(.wordmark){display:flex;align-items:center;min-height:44px;margin:3px 0}.footer-bottom button,.dialog-close{min-height:44px}.menu-toggle{min-height:44px}.hero-content p:not(.eyebrow){max-width:620px}.hero-content h1{max-width:800px}
@media(max-width:800px){.header-inner{gap:8px}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-actions .mobile-call{min-height:44px;padding:10px 12px;font-size:14px}.menu-toggle{padding:10px 12px}.header-inner .wordmark{width:150px}.header-inner .wordmark .brand-name{font-size:27px}.header-inner .wordmark i{display:none}.hero-content h1{font-size:clamp(38px,7vw,60px);line-height:1.08}.hero-content h1 br,.page-head h1 br,h2 br,h3 br{display:none}.hero-bottom{font-size:13px}.header-inner nav>a:not(.button){min-height:44px;display:flex;align-items:center}}
@media(max-width:360px){.header-inner .wordmark{width:125px}.header-inner .wordmark .brand-name{font-size:25px}.header-actions .mobile-call,.menu-toggle{padding-left:10px;padding-right:10px}}

/* Balanced logo rules and explicit footer authorship. */
.wordmark .brand-name{padding-bottom:2px}.wordmark i{margin-top:0;padding-top:2px;padding-bottom:2px}.site-credit{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:44px;flex-shrink:0;font-size:13px;color:#d6ddd4}.creator-logo{display:flex;align-items:center;background:white;border-radius:3px;padding:8px 10px}.creator-logo img{display:block;width:145px;height:auto}.site-credit:hover>span:first-child{text-decoration:underline;text-underline-offset:4px}.footer-bottom{gap:20px;flex-wrap:wrap}.coverage-inner{grid-template-columns:1.2fr 1.25fr .6fr}.coverage-map>img{background:#242729}.coverage-map figcaption{max-width:380px;margin:8px auto 0}
@media(max-width:1100px){.coverage-inner{grid-template-columns:1fr 1.25fr}.site-credit{margin-left:auto}}@media(max-width:800px){.coverage-inner{grid-template-columns:1fr}.site-credit{margin-left:0;align-self:flex-end}.creator-logo img{width:135px}.footer-bottom{align-items:stretch}.footer-bottom>div{display:flex;flex-wrap:wrap}.footer-bottom>div button{margin-right:20px}}

/* Creator signature integrated into the legal footer line. */
.site-credit{gap:8px;font-size:12px;color:#a0aca0}.creator-logo{background:transparent;border-radius:0;padding:0}.creator-logo img{width:112px;height:auto;filter:brightness(0) invert(1);opacity:.85}.site-credit:hover .creator-logo img{opacity:1}.footer-bottom{align-items:center}.site-credit:hover{color:#edf1ed}
@media(max-width:800px){.site-credit{font-size:13px;align-self:flex-end}.creator-logo img{width:108px}.footer-bottom{align-items:stretch}}

.site-credit:hover{text-decoration:underline;text-underline-offset:4px}

/* Project albums: manual browsing, full portrait photographs and Facebook links. */
.project-album[hidden]{display:none!important}.album-stage{position:relative}.project-album .album-open{display:block;width:100%;padding:0;border:0;background:#f0f2ed}.project-album.technical .album-open img{display:block;width:100%;height:440px;object-fit:contain;background:#f0f2ed}.project-album:first-child .album-open img{height:460px;object-fit:cover}.album-controls{display:flex;align-items:center;justify-content:center;gap:20px;background:#f0f2ed;padding:10px}.album-controls button,.photo-dialog-controls button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:30px;line-height:1;border:1px solid #c8cec3;background:white;color:var(--ink);border-radius:50%}.album-controls button:hover,.photo-dialog-controls button:hover{border-color:var(--green-deep);background:#e6ecdd}.album-count{font-size:14px;min-width:50px;text-align:center;color:var(--muted)}.facebook-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px}.facebook-icon{width:22px;height:22px;flex-shrink:0;color:#1877f2}.facebook-link:hover span{text-decoration:underline;text-underline-offset:4px}.footer-grid .facebook-link{gap:10px}.footer-grid .facebook-icon{color:#6aa7ff}.photo-dialog-controls{display:flex;justify-content:center;align-items:center;gap:20px;padding-top:8px}.photo-dialog-controls[hidden]{display:none}.lightbox .photo-dialog-controls button{color:var(--ink)}.lightbox [data-lightbox-count]{color:#e8eee3;font-size:14px}.gallery-controls{flex-wrap:wrap}.album-stage:focus-visible{outline:2px solid var(--green-deep);outline-offset:5px}
@media(max-width:800px){.project-album.technical .album-open img{height:390px}.project-album:first-child .album-open img{height:310px}.album-controls{gap:24px}.gallery-controls{gap:8px}.facebook-link{font-size:14px}}

/* Social link grouped with the brand, away from contact details. */
.footer-social{margin-top:24px}.footer-social .footer-social-title{margin:0 0 6px;font-size:14px;color:#aeb9ae}.footer-social .facebook-icon-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #343e34;border-radius:50%;margin:0}.footer-social .facebook-icon{width:22px;height:22px;color:#f1f5ef}.footer-social .facebook-icon-link:hover{background:#293229;border-color:var(--green)}.footer-social .facebook-icon-link:focus-visible{outline:2px solid var(--green);outline-offset:4px}

/* Social icon aligned with its label. */
.footer-social{display:flex;align-items:center;gap:12px}.footer-social .footer-social-title{margin:0}.home-gallery img[src="assets/espace-bois-ecran.webp"]{object-position:center 50%}
