@font-face{font-family:Inter;src:url('assets/inter-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:'Nexa Bold';src:local('Nexa Bold'),local('NexaBold');font-style:normal;font-weight:700;font-display:swap}
h1,h2,h3,.hero-promises strong,.price,.step-top>span:first-child{font-family:var(--heading);font-synthesis:none;font-weight:700;letter-spacing:-.025em}
.hero h1{font-weight:700;letter-spacing:-.03em;line-height:1.06;font-size:clamp(64px,7vw,99px)}
.brand img{width:180px;height:auto;aspect-ratio:150/26;object-fit:contain}
.footer-brand .brand img{width:188px;height:auto;aspect-ratio:150/26}
.nav-shell{gap:20px}.nav{gap:21px;font-size:14px}
.nav-cta{white-space:nowrap;font-size:14px;gap:12px}
.language-control{flex:none;position:relative}
.language-select{width:117px;min-height:45px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:10px 22px 10px 10px;font-family:Inter,Arial,sans-serif;font-size:14px;line-height:1.3;color:var(--ink);cursor:pointer}
.ui-icon{display:block;width:22px;height:22px;flex:none;filter:brightness(0);object-fit:contain;aspect-ratio:1}
.arrow-ne{transform:rotate(-45deg)}.arrow-up{transform:rotate(-90deg)}.arrow-down{transform:rotate(90deg)}
.button-icon .ui-icon{width:26px;height:26px}
.button-orange .button-icon .ui-icon,.light-link .ui-icon,.button-dark .ui-icon{filter:none}
.button-dark .button-icon .ui-icon{filter:brightness(0)}
.text-link>span,.faq-help a>span,.footer-bottom a>span{display:inline-flex;align-items:center;vertical-align:middle}
.photo-arrow,.small-arrow{display:grid;place-items:center}
.small-arrow{width:25px;height:25px}
.ui-check{display:block;width:22px;height:22px;flex:none}
.values>div>span{border:0;width:22px;height:22px}
.hero-stamp{gap:0}.about-label{gap:0}
.close-icon{display:block;position:relative;width:16px;height:16px;margin:auto}
.close-icon:before,.close-icon:after{content:'';position:absolute;left:0;top:7px;width:16px;height:2px;background:var(--ink);transform:rotate(45deg)}
.close-icon:after{transform:rotate(-45deg)}
.values{grid-template-columns:repeat(2,minmax(0,1fr))}.values>div{align-items:flex-start;line-height:1.55;min-width:0}
.values strong{overflow-wrap:normal}.section-intro{font-size:16px}
.service-info>div,.hero-copy,.about-copy,.contact-copy,.form-heading,.price-card{min-width:0}
.service-info h3{line-height:1.16}.service-small h3{line-height:1.25}
.form-heading h3{font-size:32px;line-height:1.15}.form-kicker{line-height:1.7;display:block}
.field label{line-height:1.5}.field select{min-height:52px;height:auto;padding-block:14px}
.contact-details strong{font-size:22px}.footer-bottom a{display:inline-flex;align-items:center;gap:12px}
.footer-bottom a>span{padding-left:0}.price-card h3{min-height:63px}
.photo-tag{max-width:calc(100% - 40px);line-height:1.5}
html[lang^=fr] .hero .eyebrow{max-width:465px;line-height:1.6}
html[lang^=fr] .contact-copy h2{font-size:clamp(46px,4.6vw,65px)}
html[lang^=fr] .about-copy h2{font-size:clamp(34px,3.2vw,47px)}
html[lang^=en] .contact-copy h2{font-size:clamp(46px,4.8vw,69px)}
@media(max-width:1250px){.nav{gap:15px;font-size:13px}.nav-shell{gap:16px}.brand img{width:158px}.nav-cta{font-size:13px;gap:9px}.language-select{width:105px;font-size:13px}.hero h1{font-size:clamp(64px,7.3vw,88px)}}
@media(max-width:1120px){.nav-shell{height:79px}.nav-cta{margin-left:0}.language-control{margin-left:auto}.menu-button{display:flex}.nav{display:none;position:absolute;left:0;right:0;top:79px;background:white;border-bottom:1px solid var(--line);padding:15px 30px 24px;box-shadow:0 20px 25px #0001}.nav.open{display:flex;flex-direction:column;gap:0;align-items:stretch}.nav a{font-size:17px;padding-block:12px}.price-card h3{font-size:23px}.price-card>p{min-height:76px}.values{grid-template-columns:1fr}.hero-promises strong{font-size:21px}.hero-promises p{font-size:13px}}
@media(max-width:920px){.hero h1{font-size:clamp(58px,7.6vw,76px)}.price-card{padding-inline:19px}.price-card h3{font-size:20px}.price-card ul{line-height:1.65}.form-heading h3{font-size:27px}.contact-details strong{font-size:19px}.hero-actions{align-items:flex-start}.hero-actions .text-link{padding-block:6px}.footer-top h3{font-size:15px}.faq-help a{white-space:normal}.faq-help a>span{padding-left:0}}
@media(max-width:680px){.nav-shell{height:73px;gap:12px}.nav{top:73px}.brand img{width:143px}.nav-cta{display:none}.language-select{width:112px;min-height:42px;font-size:14px}.menu-button{width:42px;height:42px}.hero h1{font-size:clamp(49px,13.7vw,74px);line-height:1.08}.hero .eyebrow{font-size:12px;line-height:1.7}.hero-promises>div{align-items:flex-start}.hero-promises strong{font-size:18px;white-space:normal;flex:1}.hero-promises p{font-size:12px;max-width:145px;flex:1}.hero-actions{gap:15px}.hero-actions .button{font-size:14px;gap:9px;padding-left:14px}.hero-actions .text-link{font-size:14px;gap:7px}.hero-actions .button-icon{width:31px;height:35px}.hero-actions .text-link>span{width:19px}.hero-actions .text-link .ui-icon{width:19px;height:19px}.service-info h3{font-size:23px}.service-small h3{font-size:18px;overflow-wrap:normal;hyphens:auto}.service-small p{font-size:14px}.values{grid-template-columns:1fr 1fr;gap:16px 10px}.values>div{font-size:13px}.about-copy h2,html[lang^=fr] .about-copy h2{font-size:37px}.about-label strong{font-size:20px}.about-label{max-width:95%;padding:20px}.price-card{padding:26px}.price-card h3{font-size:27px;min-height:0}.price-card>p{min-height:0}.price{font-size:34px}.price>span{font-size:27px}.price-card .button{font-size:14px;white-space:normal}.review blockquote{font-size:20px}.review-label{display:none}.contact-copy h2,html[lang^=fr] .contact-copy h2,html[lang^=en] .contact-copy h2{font-size:clamp(40px,11vw,61px)}.contact-details strong{font-size:17px}.form-heading h3{font-size:28px}.form-submit{font-size:13px;padding-left:12px;gap:7px}.form-submit .button-icon{width:31px}.mobile-bar{grid-template-columns:1fr 1.3fr}.mobile-bar a{font-size:13px;gap:6px}.mobile-bar .ui-icon{width:20px;height:20px}.dialog-content h2{font-size:35px}.dialog-content .button{font-size:14px;gap:9px;padding-left:14px}.dialog-content .button-icon{width:33px;height:36px}.footer-top{column-gap:20px}.footer-top h3{line-height:1.4}.footer-top a{overflow-wrap:anywhere}.footer-bottom{font-size:12px;gap:16px}.footer-bottom>a{max-width:130px;white-space:normal;font-size:12px}.footer-bottom>span{max-width:190px}}
@media(max-width:370px){.nav-shell{gap:9px}.brand img{width:127px}.language-select{width:100px;padding-left:8px;font-size:13px}.menu-button{width:39px}.hero h1{font-size:47px}.hero-actions{gap:10px}.hero-actions .button{font-size:12px}.hero-actions .text-link{font-size:13px}.values{grid-template-columns:1fr}.contact-details{grid-template-columns:1fr}.hero-promises strong{font-size:16px}.hero-promises p{font-size:12px}.price{font-size:31px}.price>span{font-size:24px}.form-heading h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.ui-icon{transition:none}}

/* Quote photos and intentional, reduced-motion-aware movement. */
.photo-upload{margin-top:24px}.photo-dropzone{position:relative;min-height:157px;background:#fafafa;border:1.5px dashed #c8ccc8;border-radius:8px;padding:23px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;transition:border-color .2s,background .2s}.photo-dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.photo-dropzone:focus-within{outline:2px solid #df520d;outline-offset:3px}.photo-dropzone.dragging,.photo-dropzone:hover{background:#fff3e9;border-color:#df520d}.photo-dropzone>span:last-child{font-size:14px;color:#666}.upload-symbol{width:27px;height:27px;border:1.5px solid #1b1d1b;border-radius:4px;position:relative;margin-bottom:5px}.upload-symbol:before,.upload-symbol:after{content:'';position:absolute;background:#1b1d1b;left:6px;top:11px;width:12px;height:1.5px}.upload-symbol:after{transform:rotate(90deg)}.field-help,.field-status{font-size:14px;line-height:1.6;margin:9px 0 0;color:#555}.field-status:empty{display:none}#form-status{margin:14px 0}.photo-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.photo-previews:empty{display:none}.photo-preview{aspect-ratio:1;position:relative;border:1px solid #dedede;border-radius:7px;background:#f0f1f0;overflow:hidden}.photo-preview>img{position:absolute;width:100%;height:100%;object-fit:cover}.photo-filetype{position:absolute;inset:0;display:grid;place-items:center;color:#545854;font-size:14px}.photo-name{position:absolute;bottom:0;left:0;right:0;padding:6px;background:#141514e8;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.photo-remove{position:absolute;right:5px;top:5px;background:#fff;border:0;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px #0003}.photo-remove .close-icon{width:12px;height:12px}.photo-remove .close-icon:before,.photo-remove .close-icon:after{width:12px;top:5px}.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.upload-progress{margin:18px 0;font-size:14px}.upload-progress progress{width:100%;height:8px;appearance:none;margin-top:10px;accent-color:#ed6619}.upload-progress progress::-webkit-progress-bar{background:#eee;border-radius:5px}.upload-progress progress::-webkit-progress-value{background:#ed6619;border-radius:5px}.upload-progress span{display:block;text-align:right;font-size:13px}.form-submit:disabled{opacity:.6;cursor:wait}.area-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:85px}.area-grid h2{font-size:clamp(34px,3.4vw,48px);line-height:1.17}.area-grid p{line-height:1.8;color:#5b605b;margin-top:0}.area-grid .text-link{margin-top:15px}.service-area{border-top:1px solid var(--line)}.services .section-heading h2{font-size:clamp(38px,3.8vw,54px)}.service-info p{line-height:1.75}.more-services{align-items:stretch}.service-small{min-height:270px}.service-small p{line-height:1.7}.service-small .small-arrow{margin-top:auto}.hero-copy{animation:hero-enter .8s cubic-bezier(.2,.75,.25,1) both}.hero-visual{animation:hero-enter 1s .12s cubic-bezier(.2,.75,.25,1) both}.button .ui-icon{transition:transform .25s ease}.button:hover .arrow-ne{transform:translate(2px,-2px) rotate(-45deg)}.service-photo img:not(.ui-icon){transition:transform .6s cubic-bezier(.2,.75,.25,1)}.service-photo:hover img:not(.ui-icon){transform:scale(1.035)}.service-small{transition:transform .25s,border-color .25s}.service-small:hover{transform:translateY(-5px)}
@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:920px){.area-grid{gap:40px}.photo-previews{gap:9px}.services .section-heading h2{font-size:38px}.service-small{min-height:310px}}
@media(max-width:680px){.area-grid{grid-template-columns:1fr;gap:20px}.area-grid h2{font-size:35px}.area-grid p{font-size:16px}.photo-dropzone{min-height:143px;padding:20px 12px}.service-small{min-height:280px}.services .section-heading h2{font-size:35px}.service-small p{font-size:15px}.photo-previews{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.gogo-accent{position:relative;overflow:hidden;pointer-events:none}.gogo-accent img{display:block;width:100%;height:auto;clip-path:inset(12% 12% 9% 20%)}.gogo-about{position:absolute;width:200px;height:230px;right:-42px;bottom:48px;z-index:2}.gogo-about img{transform:translateY(-35px)}.gogo-contact{width:210px;height:210px;margin:25px 0 -10px auto}.gogo-contact img{transform:translateY(-25px);clip-path:inset(10% 18% 10% 12%)}.gogo-confirm{float:right;width:115px;height:137px;margin:-15px -20px 0 8px}.gogo-confirm img{transform:translateY(-20px);clip-path:inset(10% 18% 10% 12%)}.faq-help>img{clip-path:inset(12% 12% 9% 20%);object-fit:contain}.about-visual{isolation:isolate}.gogo-contact{animation:gogo-welcome 2.6s ease-in-out 2}.dialog-content{overflow:hidden}@keyframes gogo-welcome{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(-2deg)}}
@media(max-width:680px){.gogo-about{width:155px;height:175px;right:-16px;bottom:65px}.gogo-contact{width:155px;height:160px;margin:5px 0 -20px auto}.gogo-confirm{width:100px;height:120px}.gogo-about img{transform:translateY(-27px)}}
@media(prefers-reduced-motion:reduce){.gogo-accent{animation:none!important}}

.faq-help .ui-icon{position:static;width:22px;height:22px;left:auto;bottom:auto;transform:rotate(-45deg)}
