/* FLM Home Construction - bespoke editorial layout. No external fonts or libraries. */
:root{--paper:#f5f4f1;--white:#fff;--ink:#20201f;--muted:#686864;--line:#d8d7d2;--red:#cf1025;--red-dark:#a9091b;--dark:#222321;--gutter:clamp(22px,4.45vw,72px);--body-font:Arial,'Helvetica Neue',Helvetica,sans-serif;--mono:'Courier New',Courier,monospace;--ease:cubic-bezier(.2,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body-font);-webkit-font-smoothing:antialiased}body.menu-open,body.lightbox-open{overflow:hidden}img{display:block;max-width:100%;height:auto}svg{display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button{border-radius:0}figure,p,h1,h2,h3{margin:0}p+p{margin-top:1em}h1,h2,h3{font-weight:750;line-height:1.07;letter-spacing:-.05em}h2{font-size:clamp(35px,3.65vw,54px)}h3{font-size:27px}ul,ol{margin:0;padding:0}::selection{background:var(--red);color:#fff}:focus-visible{outline:3px solid var(--red);outline-offset:5px}main:focus{outline:none}[hidden]{display:none!important}.container{max-width:1552px;padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:110px}.icon{width:24px;height:24px;flex:0 0 auto}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:300;padding:14px 24px;background:var(--red);color:#fff}.skip-link:focus{top:10px}.eyebrow{display:flex;align-items:center;gap:10px;font:11px/1.5 var(--mono);letter-spacing:1.2px;text-transform:uppercase;font-weight:700}.red-square{width:7px;height:7px;background:var(--red);flex:none}.text-link{display:inline-flex;gap:14px;align-items:center;min-height:44px;font-size:14px;font-weight:600;transition:color .2s}.text-link .icon{width:19px;height:19px;transition:transform .25s}.text-link:hover{color:var(--red)}.text-link:hover .icon{transform:translateX(4px)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:57px;padding:16px 23px;border:1px solid transparent;font-size:13px;font-weight:700;line-height:1.3;transition:background .2s,transform .2s,color .2s;letter-spacing:.05px}.button .icon{width:21px;height:21px}.button:hover .icon{transform:translate(2px,-2px)}.button--red{background:var(--red);color:#fff}.button--red:hover{background:var(--red-dark)}.button--outline{border-color:var(--ink);background:transparent}.button--outline:hover{background:var(--ink);color:#fff}.button--white{background:#fff;color:var(--ink)}.button--white:hover{background:var(--paper)}.button--dark{background:var(--ink);color:#fff}.button--dark:hover{background:#444}.button .icon{transition:transform .25s}.site-header{position:sticky;top:0;z-index:100;background:rgba(245,244,241,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:26px;max-width:1552px;margin:auto;padding:17px var(--gutter);min-height:91px}.brand{display:inline-flex;align-items:center;gap:13px;flex:none}.brand img{width:44px;height:52px;object-fit:contain}.brand-name{display:flex;flex-direction:column;gap:2px;line-height:1}.brand-name strong{font-size:34px;font-weight:850;letter-spacing:-1.6px}.brand-name>span{font-size:8px;font-weight:700;letter-spacing:1.3px}.desktop-nav{display:flex;align-items:center;gap:27px}.desktop-nav a{font-size:12px;font-weight:600;position:relative;padding-block:15px;white-space:nowrap}.desktop-nav a::after{content:'';position:absolute;height:2px;bottom:5px;left:0;width:0;background:var(--red);transition:width .2s}.desktop-nav a:hover::after,.desktop-nav a[aria-current=page]::after{width:100%}.header-phone{display:flex;align-items:center;gap:11px;font-size:13px;font-weight:700;white-space:nowrap}.header-phone>.icon{width:18px;height:18px;color:var(--red)}.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);background:none;padding:13px}.menu-toggle>span{display:block;height:1px;background:var(--ink);margin-block:6px;transition:transform .2s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{padding:18px var(--gutter) 30px;background:var(--paper);border-top:1px solid var(--line);max-height:calc(100dvh - 80px);overflow:auto}.mobile-nav>a{display:flex;justify-content:space-between;align-items:center;padding:13px 0;font-size:25px;font-weight:700;border-bottom:1px solid var(--line);letter-spacing:-1px}.mobile-nav>a[aria-current=page]{color:var(--red)}.mobile-nav .mobile-nav-phone{font-size:17px;justify-content:flex-start;gap:16px;border:0;margin-top:12px}.hero{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(28px,4vw,60px);padding-top:47px;padding-bottom:57px}.hero-copy{padding-top:18px;min-width:0}.hero-copy>.eyebrow{margin-bottom:32px}.hero h1{font-size:clamp(45px,5.85vw,89px);line-height:.99;font-weight:900;letter-spacing:-.065em}.hero h1>span{color:var(--red)}.hero-lead{font-size:27px;line-height:1.17;font-weight:650;letter-spacing:-1px;margin-top:31px}.hero-description{max-width:420px;font-size:14px;line-height:1.8;color:#62625d;margin-top:16px}.hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:29px}.hero-actions>.text-link{font-size:12px;gap:10px}.hero-actions>.button{gap:22px}.hero-scroll{display:inline-flex;gap:24px;align-items:center;font:10px var(--mono);letter-spacing:1.5px;margin-top:36px;min-height:35px}.hero-scroll>span{font-size:20px}.hero-visual{position:relative;min-width:0;padding-right:17px}.hero-photo{position:relative;height:100%;min-height:592px;overflow:hidden;background:#969186}.hero-photo>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:49% 50%;transition:transform 1.2s var(--ease)}.hero-visual:hover .hero-photo>img{transform:scale(1.025)}.hero-photo::after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.68))}.hero-photo figcaption{position:absolute;left:30px;right:26px;bottom:30px;color:#fff;z-index:1}.hero-photo figcaption>span{font:10px/1.5 var(--mono);letter-spacing:1px;display:block;margin-bottom:13px}.hero-photo figcaption>strong{font-size:28px;line-height:1.15;letter-spacing:-1px;display:block;font-weight:600;padding-right:45px}.hero-photo figcaption>a{width:43px;height:43px;background:#fff;color:var(--ink);display:grid;place-items:center;position:absolute;right:0;bottom:0}.hero-side-label{position:absolute;right:-11px;top:0;writing-mode:vertical-rl;font:9px/1 var(--mono);letter-spacing:1.3px}.hero-corner{position:absolute;left:-16px;bottom:-16px;width:38px;height:38px;background:var(--red);z-index:2}.identity-strip{background:var(--dark);color:#fff}.identity-strip>.container{display:grid;grid-template-columns:1fr 1fr 1fr 60px;align-items:center;gap:28px;padding-block:30px}.identity-strip .container>div{border-right:1px solid #4a4b47}.identity-strip .container>div:nth-child(3){border:0}.identity-strip span{font:9px var(--mono);letter-spacing:1px;color:#bbbcb6;display:block;margin-bottom:8px}.identity-strip strong{font-size:23px;letter-spacing:-.65px;font-weight:600}.identity-strip a{display:grid;place-items:center;width:50px;height:50px;border:1px solid #676860;transition:background .2s}.identity-strip a:hover{background:var(--red);border-color:var(--red)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:48px}.section-heading h2{margin-top:22px}.section-heading>p,.section-heading>div>p:not(.eyebrow){max-width:370px;font-size:14px;line-height:1.8;color:#66665f}.section-heading>div>.text-link{margin-top:12px}.service-rows{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:90px 1.5fr 1fr 45px;align-items:center;gap:20px;min-height:144px;border-bottom:1px solid var(--line);transition:padding .3s,background .3s}.service-row:hover{padding-inline:18px;background:#eae9e4}.service-num{font:12px var(--mono);color:var(--red)}.service-row h3{font-size:clamp(30px,3.5vw,51px);font-weight:600;letter-spacing:-2px}.service-row p{font-size:13px;line-height:1.7;color:#65655e}.service-row>.icon{width:31px;height:31px}.service-more{margin-top:26px}.work-preview{background:#e9e8e3}.featured-work{display:grid;grid-template-columns:1.6fr 1fr;gap:65px;align-items:center}.featured-photo{min-width:0}.comparison{position:relative;aspect-ratio:1.25;background:#d5d1c6;isolation:isolate;overflow:hidden}.comparison img{width:100%;height:100%;object-fit:cover}.compare-after{position:absolute;inset:0}.compare-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--position)) 0 0)}.photo-tag{position:absolute;left:18px;top:18px;background:#fff;color:var(--ink);padding:8px 13px;z-index:2;font:10px/1.3 var(--mono);letter-spacing:.7px}.photo-tag--after{left:auto;right:18px;background:var(--ink);color:#fff}.compare-line{position:absolute;top:0;bottom:0;left:var(--position);width:2px;transform:translateX(-1px);background:#fff;pointer-events:none;z-index:3}.compare-line>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;width:52px;height:52px;display:grid;place-items:center;background:var(--red);color:white;font-size:21px;font-weight:500;box-shadow:0 2px 14px #0002}.compare-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:5;touch-action:pan-y}.comparison:focus-within{outline:3px solid var(--red);outline-offset:4px}.compare-tools{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:12px;min-height:44px;font-size:11px;color:#5f5f58}.compare-toggle{display:flex;align-items:center;gap:7px;padding:8px 0;background:transparent;border:0;color:var(--ink);font-size:11px;font-weight:600;min-height:44px}.compare-toggle>.icon{width:15px;height:15px}.photo-note{font-size:10px;color:#64645f;line-height:1.5;margin-top:4px}.comparison.is-paired{display:grid;grid-template-columns:1fr 1fr;gap:8px;aspect-ratio:1.8;background:transparent}.comparison.is-paired>.compare-after{grid-column:2;position:static;object-fit:cover}.comparison.is-paired>.compare-before{position:static;grid-column:1;grid-row:1;clip-path:none}.comparison.is-paired>.compare-line,.comparison.is-paired>.compare-range{display:none}.featured-description{padding:10px 0 30px}.project-number{display:block;font-size:82px;letter-spacing:-5px;line-height:1;color:#6f6f67;margin-bottom:30px;font-weight:500}.featured-description .eyebrow{font-size:10px;color:#5d5d57}.featured-description h3{font-size:clamp(33px,3.3vw,50px);margin-top:16px;letter-spacing:-2px;line-height:1.08}.featured-description>p:not(.eyebrow){font-size:14px;color:#62625b;margin-top:22px;max-width:270px}.circle-link{display:grid;place-items:center;width:61px;height:61px;border:1px solid #a9a9a0;border-radius:50%;margin-top:29px;transition:background .2s,color .2s}.circle-link:hover{background:var(--red);color:#fff;border-color:var(--red)}.about-home{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center}.about-photo{position:relative}.about-photo>img{width:100%;aspect-ratio:1.05;object-fit:cover;object-position:70% center}.photo-caption{padding-top:16px;font:10px var(--mono);letter-spacing:1px}.about-copy h2{font-size:clamp(33px,3.25vw,47px);margin-top:24px;line-height:1.1}.about-copy>p:not(.eyebrow){font-size:14px;color:#62625d;margin-top:22px;max-width:400px}.about-copy>.button{margin-top:30px}.project-cta{padding-block:70px;background:var(--red);color:#fff}.project-cta>.container{display:flex;justify-content:space-between;align-items:center;gap:35px}.project-cta .eyebrow{font-size:10px}.project-cta .red-square{background:#fff}.project-cta h2{font-size:clamp(45px,6vw,85px);letter-spacing:-4px;margin-top:18px}.project-cta p:not(.eyebrow){font-size:14px;line-height:1.7;margin-top:17px;color:#fff}.project-cta .button{min-width:247px}.site-footer{background:var(--paper)}.footer-main{display:grid;grid-template-columns:1.2fr .8fr 1.2fr;gap:60px;padding-top:70px;padding-bottom:57px}.footer-brand>p{font-size:12px;color:var(--muted);margin-top:18px}.footer-brand .social-link{display:inline-flex;align-items:center;gap:12px;font-size:11px;margin-top:15px;min-height:44px}.social-link .icon{width:16px;height:16px}.footer-label{font:10px var(--mono);letter-spacing:1px;margin:8px 0 20px;color:var(--muted)}.footer-main>div:not(:first-child)>a{display:table;font-size:12px;margin:5px 0;min-height:30px}.footer-main a:hover{color:var(--red)}.footer-main .footer-contact>.footer-tel{font-size:28px;letter-spacing:-1px;font-weight:600;line-height:1.3;margin-bottom:12px}.footer-contact>p:last-child{font-size:12px;color:var(--muted);line-height:1.9;margin-top:17px}.footer-contact>a{overflow-wrap:anywhere}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;padding-bottom:20px;display:flex;justify-content:space-between;align-items:center;gap:22px;font-size:10px;color:#62625d}.footer-bottom>div{display:flex;gap:20px;flex-wrap:wrap}.footer-bottom a{min-height:24px;display:inline-flex;align-items:center}.footer-bottom a:hover{color:var(--red)}.top-link{gap:10px}.top-link .icon{width:16px;height:16px}.mobile-dock{display:none}.breadcrumb{padding-top:29px;font-size:10px;color:#686862}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.breadcrumb li{display:flex;align-items:center;gap:8px;min-height:28px}.breadcrumb .icon{width:11px;height:11px;color:#96968f}.breadcrumb a:hover{color:var(--red)}.page-intro{padding-top:44px;padding-bottom:64px}.page-intro h1{font-size:clamp(44px,5.7vw,84px);letter-spacing:-.055em;line-height:1.03;margin-top:24px}.page-intro>p:not(.eyebrow){max-width:570px;font-size:15px;line-height:1.8;color:var(--muted);margin-top:25px}.expertise-jump{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:52px}.expertise-jump a{border:1px solid var(--line);display:inline-flex;align-items:center;gap:17px;padding:12px 17px;font-size:12px;transition:background .2s}.expertise-jump a:hover{background:var(--ink);color:#fff}.expertise-jump .icon{width:16px;height:16px}.expertise-list{padding-bottom:80px}.expertise{display:grid;grid-template-columns:170px 1fr 100px;gap:45px;border-top:1px solid var(--line);padding:55px 0;scroll-margin-top:110px}.expertise-number{font-size:85px;line-height:1;letter-spacing:-5px;color:#a2a29a}.expertise h2{font-size:37px;margin-top:13px}.expertise p:not(.eyebrow){max-width:670px;font-size:15px;line-height:1.9;color:var(--muted);margin-top:22px}.expertise p.expertise-tags{font:10px/1.8 var(--mono);letter-spacing:.4px;color:#64645e}.expertise .text-link{margin-top:18px}.expertise-arrow{width:36px;height:36px;margin-left:auto}.method-section{background:var(--dark);color:#fff}.method-section .section-heading>p{color:#c4c4be}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.method-grid article{padding-top:24px;border-top:1px solid #5a5b56}.method-grid span{font:11px var(--mono);color:#bdbdb6}.method-grid h3{margin-top:24px;font-size:28px}.method-grid p{font-size:13px;color:#c4c4be;margin-top:18px;max-width:300px}.projects-section{padding-bottom:30px}.project-feature{padding-bottom:90px}.project-topline{display:flex;justify-content:space-between;gap:20px;font:10px/1.6 var(--mono);letter-spacing:1px;border-top:1px solid var(--line);padding-top:18px;margin-bottom:22px}.projects-section .comparison{max-height:650px;aspect-ratio:1.9}.projects-section .comparison img{object-position:center 60%}.projects-section .comparison.is-paired{aspect-ratio:1.9}.project-detail-line{display:flex;justify-content:space-between;align-items:center;gap:35px;margin-top:29px}.project-detail-line h2{font-size:31px;line-height:1.15}.project-detail-line p{font-size:13px;color:var(--muted);max-width:640px;margin-top:13px}.project-detail-line .button{flex-shrink:0}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.project-pair>a{position:relative}.project-pair img{width:100%;aspect-ratio:1.05;object-fit:cover}.zoomable{position:relative;display:block;overflow:hidden}.zoomable img{transition:transform .5s var(--ease)}.zoomable:hover img{transform:scale(1.025)}.zoom-icon{position:absolute;bottom:16px;right:16px;display:grid;place-items:center;background:#fff;color:var(--ink);width:39px;height:39px}.zoom-icon .icon{width:19px;height:19px}.lightbox{border:0;padding:55px 25px 25px;background:#20201f;color:#fff;max-width:94vw;max-height:95dvh;width:max-content;overflow:auto}.lightbox::backdrop{background:#000d}.lightbox figure>img{max-height:76dvh;max-width:85vw;object-fit:contain;width:auto}.lightbox figcaption{font-size:13px;padding-top:13px;text-align:center}.lightbox-close{position:absolute;right:10px;top:8px;background:transparent;border:1px solid #777;color:#fff;width:37px;height:37px;display:grid;place-items:center}.project-page{padding-bottom:70px}.project-page>.compare-block{max-width:1000px;margin-inline:auto}.project-page .comparison{aspect-ratio:1.3;max-height:770px}.project-page .comparison.is-paired{aspect-ratio:1.9}.project-story{display:grid;grid-template-columns:1fr 1.3fr;gap:80px;padding:75px 0}.project-story h2{font-size:41px}.project-story p{font-size:15px;color:var(--muted)}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.tag-list span{font:10px/1.4 var(--mono);border:1px solid var(--line);padding:8px 12px}.project-navigation{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px}.interior-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px}.interior-gallery figure:last-child{padding-top:110px}.interior-gallery img{width:100%;aspect-ratio:1;object-fit:cover}.interior-gallery figcaption{font-size:12px;margin-top:15px}.interior-gallery figcaption>span{font-family:var(--mono);color:var(--red);margin-right:12px}.company-story{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;padding-bottom:110px}.company-image{position:relative}.company-image>img{aspect-ratio:1.04;object-fit:cover;object-position:70%}.company-year{position:absolute;bottom:-25px;left:25px;background:var(--red);color:#fff;padding:25px 30px;min-width:170px}.company-year>span{font:10px var(--mono);letter-spacing:1px;display:block}.company-year strong{font-size:60px;line-height:1.2;letter-spacing:-3px}.company-copy h2{font-size:40px;margin-top:22px;margin-bottom:28px}.company-copy>p:not(.eyebrow){font-size:14px;color:var(--muted)}.company-copy .text-link{margin-top:23px}.company-contact{background:#e9e8e3}.company-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.company-contact-grid h2{margin-top:22px;font-size:40px}.contact-person{display:flex;align-items:center;gap:22px}.person-initials{width:87px;height:87px;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:35px;letter-spacing:-2px;flex:none}.contact-person .eyebrow{font-size:9px;color:#65655d}.contact-person h3{font-size:23px;margin-top:12px}.contact-person a{display:flex;gap:10px;font-size:18px;margin-top:12px;font-weight:500}.contact-person a>.icon{width:19px;height:19px}.contact-person .person-email{font-size:11px;overflow-wrap:anywhere;word-break:break-word}.company-facts{display:grid;grid-template-columns:1fr 1.2fr;gap:60px}.company-facts h2{margin-top:20px}.company-facts dl{margin:0}.company-facts dl>div{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line);font-size:13px}.company-facts dt{color:var(--muted)}.company-facts dd{margin:0;font-weight:500}.contact-layout{display:grid;grid-template-columns:1fr 1.45fr;gap:85px;padding-bottom:90px}.contact-block{padding-bottom:33px;margin-bottom:33px;border-bottom:1px solid var(--line)}.contact-block>.eyebrow{font-size:10px}.contact-block h2{font-size:29px;margin-top:21px;letter-spacing:-1px}.contact-big-phone{display:flex;align-items:center;gap:17px;font-size:31px;letter-spacing:-1px;font-weight:600;line-height:1.3;margin-top:22px}.contact-big-phone .icon{width:23px;height:23px;color:var(--red)}.contact-mail{display:flex;align-items:center;gap:12px;font-size:12px;margin-top:19px;overflow-wrap:anywhere}.contact-mail .icon{width:18px;height:18px;flex:none}.contact-block .address{font-size:20px;font-weight:500;line-height:1.55;margin-top:19px}.contact-block .contact-fine{font-size:12px;line-height:1.8;color:var(--muted);max-width:300px}.contact-block .text-link{font-size:12px;margin-top:13px}.contact-form-panel{background:#fff;padding:38px 40px 40px;border-top:3px solid var(--red)}.contact-form-panel h2{font-size:31px;margin-top:17px}.form-intro{font-size:11px;color:var(--muted);margin-top:16px}.form-mode-note{font-size:11px;line-height:1.7;padding:13px 16px;background:#f3f2ee;border-left:2px solid #9e9d91;margin:22px 0}.form-mode-note.is-live{border-color:var(--red)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:21px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}.field label>span{color:var(--red)}.field label>small{font-size:10px;font-weight:400;color:var(--muted)}.field input,.field select,.field textarea{width:100%;min-width:0;background:#fafaf8;border:1px solid #d6d6d0;padding:13px 14px;border-radius:0;font-size:13px;line-height:1.5;transition:border-color .2s}.field input,.field select{height:49px}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);outline:1px solid var(--ink);outline-offset:0}.field input.is-invalid,.field textarea.is-invalid{border-color:var(--red);outline:1px solid var(--red)}.field-error{display:block;font-size:11px;color:var(--red);margin-top:6px}.field-hint{display:block;color:#65655f;font-size:10px;margin-top:7px;line-height:1.65}.privacy-notice{font-size:10px;color:#64645f;line-height:1.8;margin:4px 0 20px}.privacy-notice a{text-decoration:underline;text-underline-offset:3px}.form-submit{width:100%;font-size:13px}.form-status{font-size:12px;margin-top:15px;line-height:1.6}.form-status.is-error{color:var(--red)}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.mail-fallback{margin-top:23px;border-top:1px solid var(--line);padding-top:22px}.mail-fallback h3{font-size:24px}.mail-fallback p{font-size:12px;line-height:1.7;margin-top:12px;color:var(--muted)}.mail-fallback .button{margin-top:17px;font-size:12px}.mail-fallback .text-link{background:none;border:0;font-size:11px;margin-top:10px;padding:0;display:flex}.mail-fallback .field-hint{font-size:10px;overflow-wrap:anywhere}.faq-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:70px}.faq-section h2{margin-top:20px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:25px;list-style:none;cursor:pointer;padding:23px 0;font-size:15px;font-weight:600;line-height:1.4}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .icon{width:19px;height:19px}.faq-list details[open] .icon{transform:rotate(45deg)}.faq-list details>p{font-size:13px;color:var(--muted);padding-bottom:23px;max-width:550px}.legal-content{max-width:1100px;padding-bottom:90px;font-size:14px;color:#52524d;line-height:1.9;overflow-wrap:anywhere}.legal-content h2{font-size:27px;color:var(--ink);margin-top:38px;margin-bottom:18px;letter-spacing:-.75px}.legal-content p{margin-top:15px}.legal-content a{text-decoration:underline;text-underline-offset:3px}.legal-note{background:#eae9e3;border-left:3px solid var(--red);padding:22px 26px;font-size:12px;margin-bottom:40px}.legal-note p{margin-top:8px}.legal-note strong{color:var(--ink)}.legal-dl{margin:0}.legal-dl>div{display:grid;grid-template-columns:1fr 2fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line)}.legal-dl dt{font-size:12px}.legal-dl dd{margin:0;color:var(--ink)}.legal-updated{font-size:11px;color:var(--muted);padding-top:25px}.notfound-actions{padding-bottom:100px;display:flex;gap:20px}.reveal{transition:opacity .6s var(--ease),transform .6s var(--ease)}.reveal.will-reveal{opacity:0;transform:translateY(18px)}.reveal.is-visible{opacity:1;transform:translateY(0)}
@media(min-width:1553px){.hero h1{font-size:94px}.hero-photo{min-height:645px}}
@media(max-width:1200px){.desktop-nav{gap:20px}.hero{gap:35px}.hero-actions{gap:10px}.hero-actions>.button{padding-inline:19px}.hero-actions>.text-link{font-size:11px}.hero-photo{min-height:580px}.hero h1{font-size:5.9vw}.hero-description{font-size:13px}.hero-lead{font-size:25px}.about-home{gap:65px}.featured-work{gap:45px}.footer-main{gap:35px}.contact-layout{gap:50px}.contact-form-panel{padding:30px}.expertise{grid-template-columns:125px 1fr 60px;gap:30px}.company-contact-grid{gap:40px}.company-contact-grid h2{font-size:34px}.company-story{gap:55px}.contact-person{gap:15px}.person-initials{width:65px;height:65px;font-size:28px}.contact-person h3{font-size:21px}}
@media(max-width:1000px){.desktop-nav{gap:16px}.desktop-nav a{font-size:11px}.header-phone{font-size:11px;gap:7px}.header-inner{gap:18px}.brand-name strong{font-size:31px}.brand-name>span{font-size:7px}.brand img{width:38px;height:45px}.hero{padding-top:32px;gap:30px}.hero-copy{padding-top:7px}.hero-copy>.eyebrow{font-size:10px;margin-bottom:26px}.hero h1{font-size:5.85vw}.hero-photo{min-height:558px}.hero-lead{font-size:24px}.hero-actions{align-items:flex-start;flex-direction:column;gap:8px}.hero-scroll{margin-top:25px}.section{padding-block:85px}.section-heading{gap:30px}.section-heading h2{font-size:37px}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:12px;max-width:290px}.identity-strip strong{font-size:20px}.identity-strip .container{gap:20px}.identity-strip span{font-size:8px}.service-row{grid-template-columns:55px 1.3fr 1fr 30px;min-height:127px}.service-row h3{font-size:35px;letter-spacing:-1.5px}.service-row p{font-size:12px}.featured-work{gap:35px;grid-template-columns:1.4fr 1fr}.featured-description h3{font-size:33px}.featured-description>p:not(.eyebrow){font-size:12px}.project-number{font-size:66px}.compare-tools{flex-wrap:wrap;gap:0}.compare-tools>span{font-size:10px}.about-home{gap:43px}.about-copy h2{font-size:34px}.about-copy>p:not(.eyebrow){font-size:13px}.project-cta h2{font-size:65px;letter-spacing:-3px}.footer-main{grid-template-columns:1fr .7fr 1.2fr;gap:24px}.footer-main .footer-contact>.footer-tel{font-size:24px}.footer-main>div:not(:first-child)>a{font-size:11px}.footer-bottom{font-size:9px}.footer-bottom>div{gap:12px}.contact-layout{grid-template-columns:1fr 1.45fr;gap:32px}.contact-form-panel{padding:27px 24px}.contact-big-phone{font-size:25px;gap:10px}.contact-mail{font-size:10px;gap:8px}.contact-block h2{font-size:25px}.contact-block .address{font-size:18px}.field-row{gap:12px}.contact-form-panel h2{font-size:28px}.field label{font-size:11px}.field label>small{font-size:9px}.field input,.field select,.field textarea{font-size:12px;padding-inline:11px}.company-story{gap:40px}.company-copy h2{font-size:34px}.company-copy>p:not(.eyebrow){font-size:13px}.company-contact-grid{grid-template-columns:1fr;gap:40px}.company-facts{gap:35px}.company-facts h2{font-size:38px}.company-facts dl>div{font-size:12px}.project-detail-line{align-items:flex-start}.project-detail-line h2{font-size:27px}.project-detail-line p{font-size:12px}.project-detail-line .button{font-size:11px;min-height:50px;padding:14px 16px;gap:15px}.project-story{gap:45px}.project-story h2{font-size:35px}.project-story p{font-size:14px}.project-pair .photo-tag{font-size:8px;padding:7px 9px;left:13px;top:13px}}
@media(max-width:780px){:root{--gutter:25px}.desktop-nav{display:none}.js .menu-toggle{display:block}.header-inner{min-height:78px;padding-block:12px;gap:12px}.header-phone{margin-left:auto;margin-right:8px;font-size:12px}.header-phone>.icon{width:16px;height:16px}.brand{gap:10px}.brand img{width:35px;height:43px}.brand-name strong{font-size:29px}.brand-name>span{font-size:6px;letter-spacing:1.1px}.hero{grid-template-columns:1fr 1fr;gap:26px}.hero-copy>.eyebrow{font-size:8px;letter-spacing:.9px}.hero h1{font-size:5.75vw}.hero-description{font-size:12px}.hero-lead{font-size:23px}.hero-photo{min-height:520px}.hero-photo figcaption{left:19px;right:18px;bottom:22px}.hero-photo figcaption>strong{font-size:22px}.hero-photo figcaption>span{font-size:8px;letter-spacing:.5px}.hero-visual{padding-right:12px}.hero-side-label{right:-8px;font-size:8px}.hero-actions .button{font-size:11px;min-height:52px;padding:14px 16px;gap:15px}.hero-scroll{font-size:9px}.hero-actions>.text-link{font-size:10px}.identity-strip>.container{grid-template-columns:1fr 1fr 1fr;gap:18px;padding-block:24px}.identity-strip .container>a{display:none}.identity-strip strong{font-size:16px}.identity-strip span{font-size:7px;letter-spacing:.5px}.section-heading{align-items:flex-start}.section-heading h2{font-size:34px}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:11px;max-width:240px}.service-row{grid-template-columns:45px 1.3fr 1fr 24px;gap:10px;min-height:116px}.service-row h3{font-size:31px}.service-row p{font-size:11px}.featured-work{grid-template-columns:1.3fr 1fr;gap:25px}.project-number{font-size:57px;margin-bottom:20px}.featured-description h3{font-size:29px;letter-spacing:-1px}.featured-description .eyebrow{font-size:8px;letter-spacing:.5px}.featured-description>p:not(.eyebrow){font-size:11px;margin-top:16px}.circle-link{width:48px;height:48px;margin-top:21px}.about-home{gap:30px}.about-copy h2{font-size:30px}.about-copy>p:not(.eyebrow){font-size:12px;margin-top:17px}.about-copy .eyebrow{font-size:9px}.about-copy .button{font-size:12px;min-height:50px}.project-cta{padding-block:56px}.project-cta h2{font-size:56px}.project-cta .button{min-width:210px;font-size:12px}.footer-main{grid-template-columns:1fr 1fr;gap:40px}.footer-contact{grid-column:1/-1;border-top:1px solid var(--line);padding-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.footer-contact .footer-label{grid-column:1/-1}.footer-contact>p:last-child{grid-column:2;grid-row:2/4;margin-top:0}.footer-main .footer-contact>.footer-tel{font-size:27px;grid-column:1}.footer-contact>a:not(.footer-tel){grid-column:1}.footer-bottom{flex-wrap:wrap;gap:10px;padding-bottom:90px}.footer-bottom>div{order:3;width:100%}.mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:90;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.mobile-dock>a{display:flex;align-items:center;justify-content:center;gap:14px;min-height:55px;font-size:12px;font-weight:600}.mobile-dock>a:last-child{background:var(--red);color:#fff}.mobile-dock .icon{width:17px;height:17px}.breadcrumb{padding-top:23px}.page-intro{padding-top:32px;padding-bottom:45px}.page-intro h1{font-size:clamp(43px,6.6vw,65px)}.page-intro>p:not(.eyebrow){font-size:14px}.expertise{grid-template-columns:70px 1fr 30px;gap:24px;padding-block:42px}.expertise-number{font-size:60px;letter-spacing:-3px}.expertise h2{font-size:30px}.expertise p:not(.eyebrow){font-size:13px}.expertise-arrow{width:26px;height:26px}.method-grid{gap:25px}.method-grid h3{font-size:24px}.method-grid p{font-size:12px}.contact-layout{grid-template-columns:1fr;gap:15px;padding-bottom:65px}.contact-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-block{padding-bottom:20px;margin-bottom:0}.contact-block:last-child{grid-column:1/-1;padding-bottom:15px;margin-top:-10px;border-bottom:0}.contact-block:last-child>.text-link{margin-top:0}.contact-block .eyebrow{font-size:9px}.contact-block h2{font-size:25px}.contact-big-phone{font-size:25px;margin-top:20px}.contact-mail{font-size:10px}.contact-block .contact-fine{font-size:11px}.contact-block .address{font-size:18px}.contact-form-panel{padding:35px;margin-top:15px}.field label{font-size:12px}.field input,.field select,.field textarea{font-size:16px}.field label>small{font-size:10px}.faq-section{gap:35px;grid-template-columns:1fr 1.5fr}.faq-section h2{font-size:36px}.faq-list summary{font-size:13px}.faq-list details>p{font-size:12px}.company-story{gap:30px}.company-copy h2{font-size:30px}.company-copy>p:not(.eyebrow){font-size:12px}.company-year{min-width:135px;padding:19px 22px}.company-year strong{font-size:49px}.company-copy .eyebrow{font-size:9px}.company-facts{grid-template-columns:1fr;gap:30px}.project-detail-line{flex-direction:column;gap:22px}.project-feature{padding-bottom:65px}.project-story{gap:30px;padding:55px 0}.project-story h2{font-size:31px}.project-story p{font-size:13px}.project-pair{gap:12px}.project-page .comparison{aspect-ratio:1.2}.interior-gallery{gap:16px}.interior-gallery figure:last-child{padding-top:75px}.legal-content{font-size:13px}.legal-note{padding:18px 20px}.legal-content h2{font-size:25px}.legal-dl>div{grid-template-columns:1fr 1.5fr}}
@media(max-width:560px){:root{--gutter:22px}.header-inner{min-height:74px}.header-phone span{display:none}.header-phone{width:37px;height:40px;justify-content:center;margin-right:0}.header-phone>.icon{width:19px;height:19px}.menu-toggle{width:40px;height:40px;padding:10px}.hero{grid-template-columns:1fr;gap:34px;padding-top:30px;padding-bottom:38px}.hero-copy{padding-top:0}.hero-copy>.eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:22px}.hero h1{font-size:clamp(36px,9.55vw,55px);line-height:.99;letter-spacing:-.06em}.hero-lead{font-size:23px;margin-top:22px;line-height:1.15}.hero-description{font-size:13px;max-width:340px;margin-top:14px;line-height:1.75}.hero-actions{flex-direction:row;align-items:center;gap:10px 20px;margin-top:23px}.hero-actions>.button{font-size:11px;gap:17px;min-height:51px;padding-inline:16px}.hero-actions>.text-link{font-size:10px;gap:8px}.hero-scroll{display:none}.hero-visual{padding-right:14px;margin-left:8px}.hero-photo{min-height:0;height:370px}.hero-photo>img{object-position:center 63%}.hero-side-label{right:-8px;font-size:8px;letter-spacing:.7px}.hero-photo figcaption>strong{font-size:25px}.hero-photo figcaption>span{font-size:9px}.hero-corner{width:29px;height:29px;left:-10px;bottom:-10px}.identity-strip>.container{grid-template-columns:1fr 1fr;gap:22px;padding-block:26px}.identity-strip .container>div:nth-child(2){border:0}.identity-strip .container>div:nth-child(3){grid-column:1/-1;border-top:1px solid #51524d;padding-top:17px;display:flex;align-items:center;justify-content:space-between;gap:15px}.identity-strip .container>div:nth-child(3)>span{margin:0}.identity-strip strong{font-size:19px}.identity-strip span{font-size:8px;letter-spacing:.4px}.identity-strip .container>div:nth-child(3)>strong{font-size:16px}.section{padding-block:62px}.section-heading{display:block;margin-bottom:33px}.section-heading h2{font-size:34px;letter-spacing:-1.7px;margin-top:19px}.section-heading>p,.section-heading>div>p:not(.eyebrow){font-size:12px;max-width:320px;margin-top:20px}.eyebrow{font-size:9px;letter-spacing:1px}.service-row{grid-template-columns:30px 1fr 24px;gap:12px;padding-block:25px;min-height:120px;align-items:center}.service-num{font-size:10px;grid-row:1/3;align-self:start;padding-top:4px}.service-row h3{font-size:33px;letter-spacing:-1.6px}.service-row p{grid-column:2;grid-row:2;font-size:11px;line-height:1.5}.service-row p>br{display:none}.service-row>.icon{grid-column:3;grid-row:1/3;width:24px;height:24px}.service-row:hover{padding-inline:5px}.service-more{font-size:12px;margin-top:20px}.featured-work{grid-template-columns:1fr;gap:26px}.featured-description{position:relative;padding:0 0 0 0}.project-number{position:absolute;right:0;top:4px;font-size:47px;letter-spacing:-3px;margin:0}.featured-description .eyebrow{font-size:9px}.featured-description h3{font-size:35px;letter-spacing:-1.5px;padding-right:55px;margin-top:12px}.featured-description>p:not(.eyebrow){font-size:13px;max-width:260px;margin-top:17px}.featured-description>.circle-link{position:absolute;right:0;bottom:0;margin:0}.comparison{aspect-ratio:1}.photo-tag{font-size:8px;left:12px;top:12px;padding:7px 10px}.photo-tag--after{left:auto;right:12px}.compare-line>span{width:43px;height:43px;font-size:18px}.compare-tools{justify-content:space-between;gap:6px;margin-top:6px}.compare-tools>span{font-size:9px}.compare-toggle{font-size:9px;gap:5px}.compare-toggle>.icon{width:12px;height:12px}.photo-note{font-size:9px}.comparison.is-paired{aspect-ratio:1.45}.about-home{grid-template-columns:1fr;gap:33px}.about-photo{padding-right:30px}.about-photo>img{aspect-ratio:1.1}.photo-caption{font-size:8px}.about-copy h2{font-size:35px;letter-spacing:-1.8px;margin-top:18px}.about-copy>p:not(.eyebrow){font-size:13px;max-width:none}.about-copy>.button{margin-top:25px}.project-cta{padding-block:49px}.project-cta>.container{align-items:flex-start;flex-direction:column;gap:27px}.project-cta h2{font-size:53px;letter-spacing:-3px;margin-top:15px}.project-cta p:not(.eyebrow){font-size:13px;margin-top:16px}.project-cta .eyebrow{font-size:8px}.project-cta .button{min-width:225px;min-height:54px}.footer-main{gap:30px 20px;padding-top:45px;padding-bottom:35px;grid-template-columns:1.2fr 1fr}.footer-label{font-size:9px;margin-top:5px;letter-spacing:.5px;margin-bottom:17px}.footer-main .brand img{width:31px;height:38px}.footer-main .brand-name strong{font-size:26px}.footer-main .brand-name>span{font-size:5px;letter-spacing:1px}.footer-brand>p{font-size:10px;line-height:1.8;margin-top:15px}.footer-brand .social-link{font-size:9px;gap:7px;margin-top:9px}.social-link .icon{width:12px;height:12px}.footer-main>div:not(:first-child)>a{font-size:11px}.footer-contact{display:block;padding-top:23px}.footer-main .footer-contact>.footer-tel{font-size:28px}.footer-contact>p:last-child{margin-top:18px;font-size:11px}.footer-contact>a:not(.footer-tel){font-size:12px}.footer-bottom{font-size:9px;gap:13px}.footer-bottom>div{gap:16px;font-size:9px}.breadcrumb{padding-top:20px;font-size:9px}.breadcrumb ol{gap:5px}.breadcrumb li{gap:5px}.breadcrumb .icon{width:9px;height:9px}.page-intro{padding-top:26px;padding-bottom:38px}.page-intro h1{font-size:42px;letter-spacing:-2.1px;line-height:1.04;margin-top:18px}.page-intro>p:not(.eyebrow){font-size:13px;line-height:1.8;margin-top:20px}.expertise-jump{gap:7px;padding-bottom:35px}.expertise-jump a{font-size:10px;padding:10px 12px;gap:10px}.expertise-jump .icon{width:13px;height:13px}.expertise-list{padding-bottom:45px}.expertise{grid-template-columns:45px 1fr;gap:15px;padding-block:32px}.expertise-number{font-size:40px;letter-spacing:-2px;padding-top:5px}.expertise-arrow{display:none}.expertise .eyebrow{font-size:9px;letter-spacing:.6px}.expertise h2{font-size:28px;letter-spacing:-1.3px;margin-top:11px}.expertise p:not(.eyebrow){font-size:12px;line-height:1.85;margin-top:16px}.expertise p.expertise-tags{font-size:9px}.expertise .text-link{font-size:12px}.method-grid{grid-template-columns:1fr;gap:27px}.method-grid article{padding-top:20px}.method-grid h3{font-size:27px;margin-top:15px}.method-grid p{font-size:13px;margin-top:13px;max-width:100%}.project-topline{font-size:8px;letter-spacing:.5px;gap:15px;padding-top:16px}.projects-section .comparison{aspect-ratio:1.12}.projects-section .comparison img{object-position:center}.projects-section .comparison.is-paired{aspect-ratio:1.45}.project-detail-line{margin-top:22px;gap:19px}.project-detail-line h2{font-size:28px;letter-spacing:-1.4px}.project-detail-line p{font-size:12px}.project-pair{grid-template-columns:1fr;gap:18px}.project-pair img{aspect-ratio:1.25}.project-pair .photo-tag{font-size:9px}.project-feature{padding-bottom:54px}.project-page .comparison{aspect-ratio:1.05}.project-page .comparison.is-paired{aspect-ratio:1.45}.project-story{grid-template-columns:1fr;gap:24px;padding:42px 0}.project-story h2{font-size:31px}.project-story p{font-size:13px}.project-navigation .text-link{font-size:10px;gap:8px}.project-navigation .icon{width:16px;height:16px}.interior-gallery{grid-template-columns:1fr;gap:27px}.interior-gallery figure:last-child{padding-top:0}.interior-gallery img{aspect-ratio:1.2}.interior-gallery figcaption{font-size:11px;margin-top:10px}.company-story{grid-template-columns:1fr;gap:60px;padding-bottom:55px}.company-image>img{aspect-ratio:1.15;object-position:center}.company-year{bottom:-23px;left:20px;padding:16px 23px;min-width:130px}.company-year strong{font-size:44px;letter-spacing:-2px}.company-year>span{font-size:8px}.company-copy h2{font-size:34px;letter-spacing:-1.7px;margin-top:19px}.company-copy>p:not(.eyebrow){font-size:13px}.company-contact-grid h2{font-size:33px;letter-spacing:-1.6px}.contact-person{gap:17px;align-items:flex-start}.person-initials{width:60px;height:65px;font-size:26px}.contact-person h3{font-size:19px;letter-spacing:-.65px}.contact-person .eyebrow{font-size:8px}.contact-person a{font-size:17px;margin-top:11px}.contact-person .person-email{font-size:10px}.company-contact-grid{gap:32px}.company-facts h2{font-size:34px}.company-facts dl>div{font-size:11px;gap:15px}.contact-sidebar{grid-template-columns:1fr;gap:20px}.contact-block:first-child h2{font-size:25px;line-height:1.2;margin-top:12px}.contact-block:first-child h2 br{display:none}.contact-big-phone{font-size:31px;margin-top:17px}.contact-mail{font-size:12px;margin-top:15px}.contact-block .contact-fine{max-width:100%}.contact-block .address{font-size:19px;margin-top:12px}.contact-block:last-child{grid-column:auto;margin-top:0}.contact-block:last-child>.text-link{min-height:32px}.contact-form-panel{margin-top:12px;padding:26px 22px 28px;margin-left:-6px;margin-right:-6px}.contact-form-panel h2{font-size:29px;letter-spacing:-1.3px}.form-intro{font-size:10px}.form-mode-note{font-size:10px;padding:12px;margin-block:19px}.field-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:19px}.field label{font-size:12px}.field label>small{font-size:10px}.field input,.field select,.field textarea{font-size:16px}.form-submit{font-size:12px}.privacy-notice{font-size:10px}.faq-section{grid-template-columns:1fr;gap:30px}.faq-section h2{font-size:34px}.faq-list summary{font-size:13px}.faq-list details>p{font-size:12px}.legal-dl>div{grid-template-columns:1fr;gap:3px;padding:12px 0}.legal-dl dd{font-size:13px}.legal-dl dt{font-size:11px;color:var(--muted)}.legal-note{padding:16px;font-size:11px;margin-bottom:27px}.legal-content h2{font-size:24px;margin-top:31px}.legal-content{font-size:12px}.notfound-actions{flex-wrap:wrap;padding-bottom:60px}.notfound-actions .button{font-size:12px}.lightbox{padding:51px 12px 18px;max-width:96vw}.lightbox figure>img{max-width:90vw}.lightbox figcaption{font-size:11px}}
@media(max-width:360px){:root{--gutter:18px}.hero h1{font-size:9.55vw}.hero-actions{gap:8px 13px}.hero-actions>.text-link{font-size:9px}.hero-actions>.button{padding:13px;gap:12px;font-size:10px}.hero-photo{height:330px}.page-intro h1{font-size:37px}.footer-main{gap:25px 14px}.contact-big-phone{font-size:28px}.person-initials{width:45px}.contact-person{gap:12px}.contact-person h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.will-reveal{opacity:1;transform:none}}
@media print{.site-header{position:static}.mobile-dock,.menu-toggle,.hero-scroll,.compare-range,.compare-line,.lightbox,.project-cta,.form-submit,.mail-fallback{display:none!important}.section{padding-block:30px}.hero-photo{min-height:350px}.footer-main{padding-top:30px}.footer-bottom{padding-bottom:20px}body{font-size:12px}.comparison{break-inside:avoid}.reveal.will-reveal{opacity:1;transform:none}}
html:not(.js) .desktop-nav{display:flex;flex-wrap:wrap}html:not(.js) .header-inner{flex-wrap:wrap}html:not(.js) .compare-line,html:not(.js) .compare-range,html:not(.js) .compare-tools{display:none}html:not(.js) .comparison{display:grid;grid-template-columns:1fr 1fr;gap:8px;aspect-ratio:1.6}html:not(.js) .compare-after{position:static;grid-column:2}html:not(.js) .compare-before{position:static;grid-column:1;grid-row:1;clip-path:none}html:not(.js) .form-submit{display:none}
/* FLM - version anthracite. System typefaces, no remote dependencies. */
:root{--paper:#f6f6f4;--white:#fff;--ink:#25282b;--muted:#626669;--line:#d9dbd9;--red:#2b2e31;--red-dark:#131517;--dark:#25282b;--gutter:clamp(22px,4.5vw,68px);--body-font:'Avenir Next','Segoe UI',Arial,sans-serif;--mono:var(--body-font)}
html{scroll-padding-top:120px}body{font-size:16px;line-height:1.7;background:var(--paper)}h1,h2,h3{letter-spacing:-.04em;font-weight:600;line-height:1.14}h2{font-size:38px}h3{font-size:24px}button,a{touch-action:manipulation}button{font-weight:500}.container{max-width:1416px}.icon{width:22px;height:22px}::selection{background:#34383c;color:#fff}:focus-visible{outline:2px solid #465f77;outline-offset:5px}.button{min-height:52px;padding:15px 21px;font-size:14px;font-weight:600;gap:26px;letter-spacing:0;border-radius:2px}.button--dark,.button--red{background:#282b2e;color:#fff}.button--dark:hover,.button--red:hover{background:#44484b}.button--outline{border-color:#a7aaac;background:transparent}.button--white{background:#fff;color:#282b2e}.button .icon{width:20px;height:20px}.v-text-link{display:inline-flex;gap:16px;align-items:center;min-height:46px;font-size:14px;font-weight:600;border-bottom:1px solid #a2a7a9;line-height:1.5;transition:gap .2s}.v-text-link:hover{gap:22px}.v-text-link .icon{width:20px;height:20px}.v-eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:1.7px;line-height:1.5;font-weight:600;text-transform:uppercase;color:#606568}.v-eyebrow>span{width:24px;height:1px;background:currentColor;flex:none}.v-section{padding-block:90px}.v-section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.v-section-head h2{margin-top:20px;font-size:38px}.v-section-head>p{font-size:15px;color:var(--muted);max-width:385px;line-height:1.85}.v-section-head>.v-text-link{flex:none;margin-bottom:6px}
/* Two-level header */
.v-topbar{background:#2b2e31;color:#f0f1f1;font-size:12px}.v-topbar-inner{display:flex;justify-content:space-between;gap:22px;min-height:40px;align-items:center}.v-topbar-contact,.v-topbar-right{display:flex;align-items:center;gap:26px}.v-topbar a{display:flex;align-items:center;gap:9px;min-height:40px}.v-topbar a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.v-topbar .icon{width:15px;height:15px}.v-topbar-right{gap:16px}.v-local{padding-right:8px;color:#d0d3d4;font-size:11px;letter-spacing:.2px}.v-header{background:rgba(249,249,247,.98);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.v-header .header-inner{min-height:86px;padding-block:12px;gap:26px}.v-brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;line-height:1}.v-brand-symbol{display:grid;place-items:center}.v-brand-symbol img{width:43px;height:52px;object-fit:contain}.v-brand-word{display:flex;flex-direction:column;gap:5px}.v-brand-word strong{font:700 33px/1 var(--body-font);letter-spacing:-1.4px}.v-brand-word>span{font-size:8px;font-weight:650;letter-spacing:1.15px}.v-header .desktop-nav{gap:27px;margin-left:auto}.v-header .desktop-nav a{font-size:13px;font-weight:550;min-height:46px}.v-header .desktop-nav a::after{height:1px;bottom:8px;background:#272a2d}.v-header .v-header-actions{display:flex;align-items:center;gap:10px}.v-header .v-header-actions>.button{min-height:44px;font-size:12px;padding:12px 16px;gap:16px}.v-header-call{display:none}.menu-toggle{border-color:#c4c6c7;border-radius:2px}.v-mobile-social{display:flex;gap:25px;padding-top:20px}.v-mobile-social a{display:flex;align-items:center;gap:10px;font-size:14px}.mobile-nav>a{font-size:23px;letter-spacing:-.5px}.mobile-nav .mobile-nav-phone{font-size:19px}.mobile-dock{background:#fafaf9}.mobile-dock>a{font-size:13px}.mobile-dock>a:last-child{background:#2b2e31}.skip-link{background:#2b2e31}
/* Home */
.v-hero{display:grid;grid-template-columns:.91fr 1.09fr;gap:65px;padding-top:49px;padding-bottom:46px;align-items:center}.v-hero-copy{padding:12px 0 22px}.v-hero .v-eyebrow{font-size:10px;letter-spacing:1.25px}.v-hero h1{font-size:clamp(42px,4.1vw,61px);font-weight:580;letter-spacing:-2.6px;line-height:1.08;margin-top:28px;white-space:nowrap}.v-hero h1>span{color:#85898a;font-weight:450}.v-hero-lead{font-size:20px;line-height:1.5;margin-top:24px;letter-spacing:-.35px;font-weight:500}.v-hero-text{font-size:15px;line-height:1.9;color:var(--muted);max-width:410px;margin-top:14px}.v-hero-actions{display:flex;gap:17px;flex-wrap:wrap;align-items:center;margin-top:26px}.v-hero-actions .button{font-size:13px;padding:15px 18px;gap:18px}.v-hero-actions .v-text-link{font-size:13px;gap:11px;min-height:42px}.v-hero-signature{display:flex;gap:22px;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-top:32px;max-width:425px;font-size:11px;color:#777c7e}.v-hero-signature>span:first-child{font-size:9px;letter-spacing:1px;color:#3d4346;font-weight:600}.v-hero-visual{min-width:0;align-self:stretch;display:flex;flex-direction:column}.v-hero-visual>figure{min-height:530px;position:relative;flex:1;overflow:hidden;background:#d6d8d3}.v-hero-visual>figure>img{width:100%;height:100%;object-fit:cover;object-position:49% 50%;position:absolute;inset:0;transition:transform 1s}.v-hero-visual>figure:hover>img{transform:scale(1.02)}.v-hero-visual figcaption{position:absolute;bottom:0;left:0;right:0;color:#fff;padding:70px 28px 27px;background:linear-gradient(transparent,rgba(10,15,18,.7));display:grid;grid-template-columns:1fr 42px;gap:6px 10px}.v-hero-visual figcaption>span{font-size:9px;letter-spacing:1.3px;grid-column:1}.v-hero-visual figcaption>p{font-size:22px;letter-spacing:-.5px;grid-column:1;line-height:1.35}.v-hero-visual figcaption>a{grid-column:2;grid-row:1/3;align-self:center;display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff80;background:#ffffff10}.v-hero-footnote{display:flex;justify-content:space-between;padding-top:11px;font-size:9px;letter-spacing:1.2px;color:#707577}.v-intro-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f0f1ef}.v-intro-band>.container{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-block:23px}.v-intro-band p{margin:0;font-size:13px;display:flex;align-items:center;gap:6px;line-height:1.4;border-right:1px solid #cccfce}.v-intro-band p:last-child{border:0}.v-intro-band p>span{color:#85898b;font-size:10px;letter-spacing:1px;margin-right:13px}.v-intro-band strong{font-weight:600}.v-services{border-top:1px solid #c8cccb}.v-service{display:grid;grid-template-columns:50px 1.15fr 1.2fr 42px;gap:18px;align-items:center;min-height:112px;border-bottom:1px solid #d1d5d3;transition:background .2s,padding .2s}.v-service:hover{background:#eeefec;padding-inline:12px}.v-service-no{font-size:11px;color:#838889}.v-service h3{font-size:27px;letter-spacing:-.9px;font-weight:500;line-height:1.3}.v-service p{font-size:15px;line-height:1.7;color:#656b6d}.v-service-arrow{display:grid;place-items:center;border:1px solid #c4c8c6;border-radius:50%;width:40px;height:40px}.v-service-arrow .icon{width:18px;height:18px}.v-portfolio-section{background:#eaece9}.v-home-portfolio{display:grid;grid-template-columns:1.35fr 1fr;gap:45px 34px}.v-photo-card{min-width:0}.v-photo-link{display:block;position:relative;overflow:hidden;background:#e0e2de}.v-photo-link img{width:100%;aspect-ratio:1.28;object-fit:cover;transition:transform .6s}.v-photo-link:hover img{transform:scale(1.025)}.v-photo-zoom{position:absolute;right:17px;bottom:17px;width:37px;height:37px;display:grid;place-items:center;background:#fffffff0;color:#262a2d;border:1px solid #ffffff70}.v-photo-zoom .icon{width:18px;height:18px}.v-photo-info{display:flex;justify-content:space-between;gap:15px;padding-top:15px}.v-photo-info p{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#6c7475;line-height:1.5}.v-photo-info h3{font-size:20px;letter-spacing:-.4px;line-height:1.4;font-weight:550;margin-top:5px}.v-photo-info>span{padding-top:22px}.v-photo-info>span>.icon{width:18px;height:18px}.v-home-portfolio>.v-photo-card:nth-child(even){padding-top:58px}.v-home-portfolio>.v-photo-card:nth-child(even) .v-photo-link img{aspect-ratio:1.02;object-position:50% 57%}.v-home-portfolio>.v-photo-card:nth-child(3) .v-photo-link img{object-position:center 67%}.v-home-portfolio>.v-photo-card:nth-child(4) .v-photo-link img{object-position:center 65%}.v-gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:40px;padding-top:27px;border-top:1px solid #cbd0cc}.v-gallery-bottom>p{font-size:14px;line-height:1.8;color:#626969}.v-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.v-pair figure{min-width:0}.v-pair-label{font-size:12px;font-weight:600;letter-spacing:.3px;padding:0 0 13px;display:flex;align-items:center;gap:10px}.v-pair-label:before{content:'';width:17px;height:1px;background:#707777}.v-pair-photo{position:relative;display:block;overflow:hidden;background:#e0e3df}.v-pair-photo img{width:100%;aspect-ratio:1.2;object-fit:cover}.v-pair-caption{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-top:24px}.v-pair-caption h3{font-size:23px}.v-pair-caption p{font-size:14px;color:var(--muted);margin-top:8px}.v-image-note{font-size:11px;line-height:1.7;color:#727779;margin-top:22px;max-width:950px}.v-company-section{background:#e9ebe8}.v-company-block{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-block:84px}.v-company-photo{position:relative}.v-company-photo>img{width:100%;aspect-ratio:1.12;object-fit:cover;object-position:70% 50%}.v-company-photo>span{display:block;font-size:9px;letter-spacing:1.2px;padding-top:13px;color:#697072}.v-company-copy>h2{font-size:35px;margin-top:20px}.v-company-copy>p:not(.v-eyebrow){font-size:15px;color:#60686a;line-height:1.85;margin-top:20px}.v-person-link{display:flex;gap:16px;align-items:center;margin-top:25px;padding-block:20px;border-block:1px solid #c8ceca}.v-person-circle{width:50px;height:50px;border:1px solid #959f99;display:grid;place-items:center;flex-shrink:0;font-size:17px;letter-spacing:-1px;border-radius:50%}.v-person-link>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.v-person-link small{font-size:9px;letter-spacing:1px;color:#6b7374}.v-person-link strong{font-size:15px;font-weight:600}.v-person-link>span:nth-child(2)>span{font-size:14px}.v-person-link>.icon{margin-left:auto;width:21px;height:21px}.v-company-copy>.v-text-link{margin-top:16px}
/* Secondary pages and gallery */
.breadcrumb{font-size:12px;padding-top:23px}.breadcrumb .icon{width:12px;height:12px}.breadcrumb ol{gap:9px}.breadcrumb a:hover{text-decoration:underline}.v-page-intro{padding-top:38px;padding-bottom:49px}.v-page-intro h1{font-size:49px;margin-top:20px;font-weight:550;line-height:1.12;letter-spacing:-1.8px}.v-page-intro h1>span{color:#858b8d;font-weight:450}.v-page-intro>p:last-child{max-width:645px;font-size:16px;line-height:1.85;color:#666e71;margin-top:21px}.v-gallery-section{padding-bottom:80px}.v-gallery-toolbar{border-top:1px solid var(--line);padding-top:22px;padding-bottom:27px;display:flex;align-items:flex-start;justify-content:space-between;gap:25px}.v-filters{display:flex;flex-wrap:wrap;gap:8px}.v-filters button{padding:10px 14px;min-height:43px;border:1px solid #cdd1ce;background:transparent;font-size:12px;border-radius:2px;transition:background .2s,color .2s}.v-filters button:hover{background:#e3e6e1}.v-filters button[aria-pressed=true]{background:#2d3233;color:#fff;border-color:#2d3233}.v-results{white-space:nowrap;font-size:12px;color:#71787a;padding-top:12px;min-width:61px}.v-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 23px}.v-gallery .v-photo-link img{aspect-ratio:1.17}.v-gallery .v-photo-info h3{font-size:17px;letter-spacing:-.3px}.v-gallery .v-photo-info p{font-size:9px}.v-gallery .v-photo-info>span{display:none}.v-gallery .v-photo-card[data-featured=true] .v-photo-info p::after{content:' / A LA UNE';color:#424c4e;font-size:8px;letter-spacing:.8px}.v-transformations{background:#e9ebe8}.v-before-after+.v-before-after{margin-top:56px}.v-project-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid #c4cbc6;padding-block:20px}.v-project-heading h3{font-size:24px;letter-spacing:-.6px}.v-project-heading .v-text-link{font-size:12px;border:0}.v-project-page{padding-bottom:80px}.v-project-story{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:55px 0;border-bottom:1px solid var(--line);margin-bottom:22px}.v-project-story h2{font-size:34px}.v-project-story p{font-size:16px;color:var(--muted);line-height:1.9}.v-project-story p+p{margin-top:15px}.v-project-story .button{margin-top:25px}.v-expert-jump{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:45px}.v-expert-jump>a{display:flex;align-items:center;gap:15px;padding:10px 14px;border:1px solid #cbd0cc;font-size:12px;min-height:44px}.v-expert-jump .icon{width:16px;height:16px}.v-expert-jump>a:hover{background:#e8ebe6}.v-expert-list{padding-bottom:45px}.v-expert{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;padding-block:50px;border-top:1px solid var(--line);align-items:center;scroll-margin-top:115px}.v-expert-copy .v-eyebrow{font-size:12px;font-weight:600;letter-spacing:1.2px}.v-expert h2{font-size:32px;margin-top:18px}.v-expert-copy>p:not(.v-eyebrow){font-size:16px;line-height:1.9;color:#666e70;margin-top:20px}.v-expert-tags{display:flex;gap:12px 22px;flex-wrap:wrap;list-style:none;margin-top:23px}.v-expert-tags li{display:flex;gap:8px;align-items:center;font-size:15px;line-height:1.65}.v-expert-tags .icon{width:16px;height:16px;color:#596562;flex-shrink:0}.v-expert-copy>.v-text-link{margin-top:24px}.v-expert-image img{width:100%;aspect-ratio:1.35;object-fit:cover;object-position:center 60%}.v-expert-image figcaption{font-size:10px;color:#757b7b;margin-top:10px}.v-method-section{background:#e9ebe8}.v-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.v-method-grid>article{border-top:1px solid #c3cbc5;padding-top:20px}.v-method-grid span{font-size:12px;color:#6d7773}.v-method-grid h3{font-size:22px;line-height:1.4;letter-spacing:-.5px;margin-top:20px}.v-method-grid p{font-size:15px;color:#626e68;line-height:1.8;margin-top:13px}.v-notfound{padding-bottom:80px;display:flex;gap:20px;flex-wrap:wrap}
/* Refined supporting pages */
.section{padding-block:80px}.eyebrow{font-size:11px;letter-spacing:1.2px;line-height:1.6}.red-square{width:21px;height:1px;background:#626d67}.page-intro h1{font-size:49px}.page-intro>p:not(.eyebrow){font-size:16px}.company-story{gap:65px;padding-bottom:85px}.company-copy h2{font-size:34px;letter-spacing:-1px}.company-copy>p:not(.eyebrow){font-size:16px;line-height:1.85}.company-image>img{width:100%;object-position:75% center;aspect-ratio:1.1}.company-year{padding:17px 25px;min-width:140px;background:#2d3331}.company-year strong{font-size:43px;letter-spacing:-2px}.company-year>span{font-size:10px}.company-contact{background:#e9ebe8}.company-contact-grid h2{font-size:34px;letter-spacing:-1px}.person-initials{background:#303632;font-size:27px;width:70px;height:70px;border-radius:50%}.contact-person h3{font-size:23px;letter-spacing:-.5px}.contact-person .eyebrow{font-size:11px}.contact-person .person-email{font-size:13px}.company-facts h2{font-size:34px;letter-spacing:-1px}.company-facts dl>div{font-size:14px;line-height:1.7}.contact-layout{gap:75px;grid-template-columns:.9fr 1.35fr;padding-bottom:75px}.contact-block h2{font-size:27px;line-height:1.3;letter-spacing:-.6px}.contact-big-phone{font-size:29px;font-weight:550;letter-spacing:-.8px}.contact-mail{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.contact-block .contact-fine{font-size:13px;line-height:1.85}.contact-block .address{font-size:19px;letter-spacing:-.2px}.contact-block .text-link{font-size:13px}.v-contact-social{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:10px}.v-contact-social .v-text-link{font-size:13px;gap:8px}.v-contact-social .icon{width:17px;height:17px}.contact-form-panel{border-top:2px solid #2c3330;background:#fff;padding:34px 36px}.contact-form-panel h2{font-size:29px;letter-spacing:-.8px}.form-intro{font-size:12px}.form-mode-note{font-size:12px;background:#f2f4f0;color:#5c675f;border-left:2px solid #84958b;padding:13px 15px}.field label{font-size:14px;font-weight:550}.field label>small{font-size:11px}.field input,.field select,.field textarea{font-size:16px;min-height:49px;padding:12px;background:#fafbf9;border-color:#cdd3cd;border-radius:2px}.field textarea{min-height:140px}.field-hint{font-size:11px}.privacy-notice{font-size:12px;line-height:1.8}.form-submit{font-size:14px}.form-status{font-size:13px}.field-error{font-size:12px;color:#8a3a32}.field input.is-invalid,.field textarea.is-invalid{border-color:#8a3a32;outline-color:#8a3a32}.form-status.is-error{color:#8a3a32}.mail-fallback h3{font-size:23px}.mail-fallback p{font-size:13px}.mail-fallback .field-hint{font-size:12px}.mail-fallback .text-link{font-size:13px}.faq-section h2{font-size:34px}.faq-list summary{font-size:16px}.faq-list details>p{font-size:14px;line-height:1.8}.legal-content{font-size:15px;line-height:1.9;max-width:1120px}.legal-content h2{font-size:27px;letter-spacing:-.5px}.legal-note{background:#e9ece6;border-left:2px solid #829082;font-size:13px}.legal-dl dt{font-size:13px}.legal-dl dd{font-size:15px}.legal-updated{font-size:12px}.text-link{font-size:14px}.text-link:hover{color:#1c2520}.v-contact-social .v-text-link>.icon:last-child{width:15px}
/* Footer */
.v-footer{background:#272b2d;color:#fff}.v-footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:60px;border-bottom:1px solid #ffffff24}.v-footer-top .v-eyebrow{font-size:10px;letter-spacing:1.5px;color:#b1b8b9}.v-footer-top h2{font-size:39px;letter-spacing:-1.4px;line-height:1.15;margin-top:18px;font-weight:500}.v-footer-top p:not(.v-eyebrow){font-size:14px;line-height:1.7;color:#bec4c5;margin-top:16px}.v-footer-top .button{min-width:205px}.v-footer-grid{display:grid;grid-template-columns:1.1fr .8fr 1fr 1.3fr;gap:42px;padding-block:45px 42px}.v-footer .v-brand-symbol{background:#f6f6f4;padding:6px;width:49px;height:57px}.v-footer .v-brand-symbol img{width:35px;height:42px}.v-footer .v-brand-word strong{font-size:29px}.v-footer .v-brand-word>span{font-size:7px}.v-footer-brand>p{color:#bdc3c4;font-size:13px;line-height:1.9;margin-top:19px}.v-social{display:flex;gap:10px;margin-top:18px}.v-social>a{width:37px;height:37px;border:1px solid #ffffff40;display:grid;place-items:center}.v-social .icon{width:16px;height:16px}.v-social>a:hover{background:#fff;color:#292f31}.v-footer-label{color:#adb7b7;font-size:10px;text-transform:uppercase;letter-spacing:1.1px;margin-bottom:21px;font-weight:550;line-height:1.6}.v-footer-grid>div>a:not(.v-brand){display:block;font-size:13px;line-height:1.7;min-height:32px;color:#edf0ef}.v-footer-grid>div>a:hover{text-decoration:underline;text-underline-offset:5px}.v-footer-contact>p:not(.v-footer-label){font-size:13px;color:#c4ccca;margin-top:0}.v-footer-grid>.v-footer-contact>.v-footer-phone{font-size:24px;letter-spacing:-.6px;line-height:1.7;margin-top:6px}.v-footer-grid>.v-footer-contact>a[href^=mailto]{font-size:12px;overflow-wrap:anywhere}.v-footer-grid>.v-footer-contact>.v-footer-address{font-size:13px;line-height:1.9;color:#bdc5c3;margin-top:16px}.v-footer-address .icon{display:inline-block;width:14px;height:14px;vertical-align:middle;margin-left:5px}.v-footer-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid #ffffff24;padding-block:20px;font-size:10px;color:#b8c1be;line-height:1.6}.v-footer-bottom>div{display:flex;gap:22px;flex-wrap:wrap}.v-footer-bottom a{min-height:30px;display:inline-flex;align-items:center}.v-footer-bottom a:hover{color:#fff}.v-backtop{gap:9px}.v-backtop .icon{width:15px;height:15px}
/* Fullscreen photos */
.lightbox{background:#202426;padding:55px 60px 20px;max-width:96vw;max-height:95dvh;overflow:auto;outline:0}.lightbox figure>img{max-width:80vw;max-height:75dvh;object-fit:contain;margin:auto}.lightbox figcaption{font-size:12px;color:#e5e9e6;max-width:90%;margin:auto}.v-lightbox-count{font-size:10px;color:#b2bdb6;text-align:center;margin:5px 0 0}.v-lightbox-prev,.v-lightbox-next{position:absolute;top:48%;width:40px;height:48px;border:1px solid #8d9992;background:#2b332f;color:#fff;display:grid;place-items:center}.v-lightbox-prev{left:10px}.v-lightbox-next{right:10px}.lightbox-close{width:40px;height:40px;border-color:#8d9992}.v-photo-card[hidden]{display:none!important}
@media(min-width:1600px){.v-hero{padding-top:60px}.v-hero-visual>figure{min-height:570px}}
@media(max-width:1200px){.v-header .desktop-nav{gap:18px}.v-header .header-inner{gap:22px}.v-header .desktop-nav a{font-size:12px}.v-header .v-header-actions>.button{font-size:11px;padding-inline:13px;gap:10px}.v-hero{gap:40px;grid-template-columns:.95fr 1.05fr}.v-hero h1{font-size:49px;letter-spacing:-2px}.v-hero .v-eyebrow{font-size:9px;letter-spacing:1px}.v-hero-visual>figure{min-height:510px}.v-hero-text{font-size:14px}.v-hero-actions{gap:12px}.v-hero-actions .button{font-size:12px}.v-hero-actions .v-text-link{font-size:12px}.v-hero-signature{gap:16px;font-size:10px}.v-hero-signature>span:first-child{font-size:8px}.v-company-block{gap:50px}.v-service{grid-template-columns:40px 1.2fr 1.1fr 40px}.v-service h3{font-size:24px}.v-service p{font-size:14px}.v-footer-grid{gap:25px;grid-template-columns:1fr .85fr 1fr 1.3fr}.v-footer-grid>div>a:not(.v-brand){font-size:12px}.v-footer-grid>.v-footer-contact>a[href^=mailto]{font-size:11px}.v-footer-bottom{gap:15px}.v-footer-bottom>div{gap:15px}.v-expert{gap:50px}.contact-layout{gap:40px}.contact-mail{font-size:12px}}
@media(max-width:1000px){.v-header .v-header-actions>.button{display:none}.v-header .desktop-nav{gap:22px}.v-header-call{display:grid;place-items:center;width:40px;height:40px;border:1px solid #cdd1cd}.v-topbar{font-size:11px}.v-topbar-contact{gap:18px}.v-hero{gap:28px;padding-top:35px}.v-hero h1{font-size:42px;letter-spacing:-1.7px}.v-hero-lead{font-size:18px}.v-hero-visual>figure{min-height:510px}.v-hero-signature{flex-direction:column;align-items:flex-start;gap:6px;margin-top:23px;padding-top:17px}.v-intro-band>.container{gap:16px}.v-intro-band p{font-size:11px;gap:4px}.v-intro-band p>span{margin-right:5px;font-size:9px}.v-section{padding-block:72px}.v-section-head h2{font-size:33px}.v-section-head>p{font-size:14px}.v-section-head>.v-text-link{font-size:12px;max-width:260px}.v-service h3{font-size:22px}.v-service p{font-size:14px}.v-service{grid-template-columns:30px 1fr 1fr 35px;gap:12px;min-height:105px}.v-service-arrow{width:34px;height:34px}.v-company-block{gap:35px;padding-block:65px}.v-company-copy>h2{font-size:29px}.v-company-copy>p:not(.v-eyebrow){font-size:14px}.v-footer-grid{grid-template-columns:1fr 1fr;gap:38px 65px}.v-footer-grid>.v-footer-contact>a[href^=mailto]{font-size:13px}.v-footer-grid>div>a:not(.v-brand){font-size:14px}.v-footer-label{font-size:11px}.v-footer-top h2{font-size:35px}.v-page-intro h1{font-size:45px}.v-expert{gap:35px;grid-template-columns:1.15fr 1fr}.v-expert h2{font-size:28px}.v-expert-copy>p:not(.v-eyebrow){font-size:15px}.v-expert-tags li{font-size:14px}.v-expert-copy .v-eyebrow{font-size:11px}.v-method-grid{gap:30px}.v-method-grid h3{font-size:20px}.v-method-grid p{font-size:14px}.company-copy>p:not(.eyebrow){font-size:15px}.company-copy h2{font-size:29px}.contact-big-phone{font-size:25px}.contact-form-panel{padding:30px}.contact-layout{gap:30px}.v-gallery{gap:30px 18px}.v-gallery .v-photo-info h3{font-size:16px}}
@media(max-width:780px){.v-header .header-inner{min-height:78px}.v-header .desktop-nav{display:none}.v-header .v-header-actions{margin-left:auto}.v-header .v-header-actions>.button{display:inline-flex}.v-brand-word strong{font-size:29px}.v-brand-word>span{font-size:7px}.v-brand-symbol img{width:37px;height:45px}.v-hero{grid-template-columns:1fr 1fr;gap:24px}.v-hero h1{font-size:35px;letter-spacing:-1.3px}.v-hero .v-eyebrow{font-size:8px;letter-spacing:.6px;gap:8px}.v-hero .v-eyebrow>span{width:17px}.v-hero-lead{font-size:17px;margin-top:21px}.v-hero-text{font-size:13px;line-height:1.8}.v-hero-visual>figure{min-height:460px}.v-hero-visual figcaption{padding:70px 17px 20px;grid-template-columns:1fr 35px}.v-hero-visual figcaption>p{font-size:19px}.v-hero-visual figcaption>span{font-size:8px;letter-spacing:1px}.v-hero-visual figcaption>a{width:35px;height:35px}.v-hero-actions{flex-direction:column;align-items:flex-start}.v-hero-signature{font-size:10px}.v-intro-band p{display:block;font-size:12px}.v-intro-band p>span{display:block;margin-bottom:6px}.v-intro-band p>strong{display:block;margin-top:3px}.v-section-head{align-items:flex-start;gap:25px}.v-section-head h2{font-size:31px}.v-section-head>p{font-size:13px;max-width:280px}.v-services .v-service{grid-template-columns:25px 1fr 35px;padding-block:21px;gap:5px 13px;min-height:115px}.v-service-no{grid-row:1/3;align-self:start;padding-top:6px}.v-service h3{grid-column:2;font-size:24px}.v-service p{grid-column:2;font-size:15px}.v-service-arrow{grid-row:1/3;grid-column:3}.v-home-portfolio{gap:32px 22px}.v-photo-info h3{font-size:18px}.v-home-portfolio>.v-photo-card:nth-child(even){padding-top:40px}.v-home-portfolio>.v-photo-card:nth-child(even) .v-photo-link img{aspect-ratio:1}.v-gallery-bottom>p{font-size:13px}.v-gallery-bottom>.button{font-size:12px;gap:15px;min-height:48px;padding:13px 15px}.v-pair{gap:15px}.v-pair-label{font-size:11px}.v-pair-caption h3{font-size:21px}.v-pair-caption p{font-size:13px}.v-pair-caption .v-text-link{font-size:12px;white-space:nowrap}.v-company-block{grid-template-columns:1fr 1fr;gap:30px}.v-company-copy>h2{font-size:27px}.v-company-copy .v-eyebrow{font-size:9px}.v-company-copy>p:not(.v-eyebrow){font-size:13px}.v-person-link{gap:11px}.v-person-circle{width:39px;height:39px;font-size:14px}.v-person-link strong{font-size:13px}.v-person-link small{font-size:8px}.v-person-link>span:nth-child(2)>span{font-size:13px}.v-person-link>.icon{display:none}.v-page-intro h1{font-size:40px}.v-page-intro>p:last-child{font-size:15px}.v-gallery-toolbar{flex-direction:column;gap:7px}.v-results{padding-top:4px;font-size:11px}.v-gallery{grid-template-columns:repeat(2,1fr);gap:30px 20px}.v-gallery .v-photo-info h3{font-size:17px}.v-project-heading h3{font-size:22px}.v-expert{grid-template-columns:1fr 1fr;gap:30px}.v-expert-copy .v-eyebrow{font-size:10px;letter-spacing:.8px}.v-expert h2{font-size:27px}.v-expert-copy>p:not(.v-eyebrow){font-size:14px}.v-expert-tags{gap:10px}.v-expert-tags li{font-size:14px}.v-expert-image img{aspect-ratio:.85}.v-method-grid{gap:24px}.v-method-grid h3{font-size:19px}.v-method-grid p{font-size:13px}.v-footer-bottom{flex-wrap:wrap;gap:10px;font-size:10px;padding-bottom:82px}.v-footer-bottom>div{order:3;width:100%;gap:20px}.v-backtop{margin-left:auto}.company-story{gap:35px}.company-copy h2{font-size:29px}.company-copy>p:not(.eyebrow){font-size:14px}.company-contact-grid h2{font-size:30px}.company-facts dl>div{font-size:14px}.contact-layout{grid-template-columns:1fr}.contact-sidebar{gap:30px}.contact-big-phone{font-size:27px}.contact-mail{font-size:13px}.contact-block .contact-fine{font-size:12px}.contact-block:last-child{margin-top:0}.contact-form-panel{padding:35px}.contact-block h2{font-size:26px}.field label{font-size:14px}.field input,.field textarea,.field select{font-size:16px}.form-mode-note{font-size:12px}.form-intro{font-size:12px}.privacy-notice{font-size:12px}.faq-list summary{font-size:15px}.faq-list details>p{font-size:14px}.legal-content{font-size:14px}.page-intro h1{font-size:40px}.legal-note{font-size:13px}.lightbox{padding-inline:48px}.lightbox figure>img{max-width:77vw}.v-lightbox-prev,.v-lightbox-next{width:32px;height:42px}}
@media(max-width:600px){:root{--gutter:22px}.v-topbar-inner{gap:10px;min-height:36px}.v-topbar a{min-height:36px}.v-topbar-mail{display:none!important}.v-topbar-right{gap:14px}.v-topbar .icon{width:14px;height:14px}.v-topbar-contact{font-size:12px}.v-local{font-size:10px;padding:0}.v-header .header-inner{min-height:74px;padding-block:11px;gap:12px}.v-header .v-header-actions>.button{display:none}.v-brand{gap:10px}.v-brand-word strong{font-size:28px}.v-brand-word>span{font-size:6px;letter-spacing:1px}.v-brand-symbol img{width:34px;height:42px}.v-header-call{width:39px;height:39px;border:0}.v-header-call .icon{width:20px;height:20px}.v-header .v-header-actions{gap:8px}.v-header .menu-toggle{width:40px;height:40px;display:block}.v-hero{grid-template-columns:1fr;gap:26px;padding-top:29px;padding-bottom:31px}.v-hero-copy{padding:0}.v-hero .v-eyebrow{font-size:9px;letter-spacing:.8px}.v-hero h1{font-size:38px;font-weight:570;letter-spacing:-1.35px;line-height:1.1;margin-top:23px;white-space:normal}.v-hero-lead{font-size:18px;line-height:1.5;margin-top:21px}.v-hero-lead br{display:none}.v-hero-text{font-size:14px;line-height:1.8;max-width:100%;margin-top:12px}.v-hero-actions{flex-direction:row;align-items:center;gap:11px 17px;margin-top:23px}.v-hero-actions .button{min-height:49px;padding:14px 16px;font-size:12px;gap:17px}.v-hero-actions .v-text-link{font-size:12px;min-height:38px}.v-hero-signature{display:none}.v-hero-visual>figure{height:330px;min-height:0}.v-hero-visual>figure>img{object-position:53% 58%}.v-hero-visual figcaption{padding:75px 21px 21px;grid-template-columns:1fr 37px}.v-hero-visual figcaption>p{font-size:21px}.v-hero-visual figcaption>span{font-size:8px}.v-hero-visual figcaption>a{width:37px;height:37px}.v-hero-footnote{font-size:8px;padding-top:10px}.v-intro-band>.container{padding-block:20px;gap:14px;grid-template-columns:repeat(3,1fr)}.v-intro-band p{font-size:10px;line-height:1.65;border:0}.v-intro-band p>span{font-size:9px}.v-intro-band strong{font-size:11px}.v-section{padding-block:56px}.v-eyebrow{font-size:9px;letter-spacing:1.2px;gap:10px}.v-eyebrow>span{width:20px}.v-section-head{flex-direction:column;gap:19px;align-items:flex-start;margin-bottom:30px}.v-section-head h2{font-size:29px;letter-spacing:-1px;margin-top:17px}.v-section-head>p{font-size:14px;max-width:100%;line-height:1.8}.v-section-head>p>br{display:none}.v-section-head>.v-text-link{font-size:13px;max-width:100%;margin:0}.v-services .v-service{padding-block:22px;min-height:120px;gap:7px 10px;grid-template-columns:22px 1fr 33px}.v-service h3{font-size:23px;letter-spacing:-.6px;font-weight:550}.v-service p{font-size:14px;line-height:1.75}.v-service-no{font-size:10px;padding-top:5px}.v-service-arrow{width:32px;height:32px}.v-home-portfolio{grid-template-columns:1fr;gap:28px}.v-home-portfolio>.v-photo-card:nth-child(even){padding-top:0}.v-home-portfolio .v-photo-link img,.v-home-portfolio>.v-photo-card:nth-child(even) .v-photo-link img{aspect-ratio:1.2}.v-home-portfolio>.v-photo-card:nth-child(2) .v-photo-link img{object-position:center 37%}.v-home-portfolio>.v-photo-card:nth-child(4) .v-photo-link img{object-position:center 63%}.v-photo-info{padding-top:12px}.v-photo-info h3{font-size:19px;line-height:1.5}.v-photo-info p{font-size:9px}.v-photo-info>span{padding-top:19px}.v-gallery-bottom{flex-direction:column;align-items:flex-start;gap:18px;margin-top:30px;padding-top:23px}.v-gallery-bottom>p{font-size:14px;line-height:1.8}.v-gallery-bottom>.button{font-size:13px;min-height:49px}.v-pair{grid-template-columns:1fr;gap:22px}.v-pair-label{font-size:12px;padding-bottom:10px}.v-pair-photo img{aspect-ratio:1.17;object-position:center}.v-pair-caption{flex-direction:column;align-items:flex-start;gap:16px;margin-top:22px}.v-pair-caption h3{font-size:22px;letter-spacing:-.6px}.v-pair-caption p{font-size:14px;line-height:1.8}.v-pair-caption .v-text-link{font-size:13px}.v-image-note{font-size:10px;line-height:1.75;margin-top:22px}.v-company-block{grid-template-columns:1fr;gap:30px;padding-block:55px}.v-company-photo>img{aspect-ratio:1.2;object-position:68% 50%}.v-company-photo>span{font-size:8px;line-height:1.8}.v-company-copy>h2{font-size:29px;letter-spacing:-1px;margin-top:17px}.v-company-copy>p:not(.v-eyebrow){font-size:14px;line-height:1.9;margin-top:18px}.v-person-link{gap:15px}.v-person-circle{width:47px;height:47px;font-size:16px}.v-person-link strong{font-size:14px}.v-person-link small{font-size:8px}.v-person-link>span:nth-child(2)>span{font-size:14px}.v-person-link>.icon{display:block;width:19px}.v-company-copy>.v-text-link{font-size:13px}.v-page-intro{padding-top:26px;padding-bottom:35px}.v-page-intro h1{font-size:35px;letter-spacing:-1.2px;line-height:1.15;margin-top:18px}.v-page-intro>p:last-child{font-size:14px;line-height:1.85;margin-top:19px}.breadcrumb{font-size:10px;padding-top:19px}.v-gallery-section{padding-bottom:55px}.v-gallery-toolbar{padding-top:18px;padding-bottom:22px;gap:9px}.v-filters{gap:7px}.v-filters button{font-size:11px;padding:9px 11px;min-height:42px}.v-results{font-size:11px}.v-gallery{grid-template-columns:1fr;gap:27px}.v-gallery .v-photo-link img{aspect-ratio:1.25;object-position:center 57%}.v-gallery .v-photo-card[data-category=salles-de-bain] .v-photo-link img{object-position:center 62%}.v-gallery .v-photo-info h3{font-size:19px}.v-gallery .v-photo-info p{font-size:9px}.v-gallery .v-photo-card[data-featured=true] .v-photo-info p::after{font-size:8px}.v-project-heading{align-items:flex-start;flex-direction:column;gap:2px;padding-block:18px}.v-project-heading h3{font-size:21px;line-height:1.5}.v-project-heading .v-text-link{min-height:35px;padding:0}.v-before-after+.v-before-after{margin-top:38px}.v-project-page{padding-bottom:55px}.v-project-story{grid-template-columns:1fr;gap:22px;padding:36px 0;margin-bottom:15px}.v-project-story h2{font-size:28px}.v-project-story p{font-size:14px}.v-expert-jump{gap:7px;margin-bottom:30px}.v-expert-jump>a{font-size:11px;gap:10px;padding:10px 12px}.v-expert{grid-template-columns:1fr;gap:25px;padding-block:32px}.v-expert h2{font-size:28px;letter-spacing:-.7px}.v-expert-copy>p:not(.v-eyebrow){font-size:15px;line-height:1.85;margin-top:17px}.v-expert-copy .v-eyebrow{font-size:11px;letter-spacing:.8px}.v-expert-tags{gap:10px 18px;margin-top:20px}.v-expert-tags li{font-size:15px}.v-expert-copy>.v-text-link{font-size:13px;margin-top:20px}.v-expert-image img{aspect-ratio:1.4}.v-expert-image figcaption{font-size:9px}.v-expert-list{padding-bottom:20px}.v-method-grid{grid-template-columns:1fr;gap:28px}.v-method-grid h3{font-size:22px;margin-top:15px}.v-method-grid p{font-size:14px;margin-top:10px}.v-method-grid span{font-size:11px}.v-footer-top{padding-block:46px;flex-direction:column;align-items:flex-start;gap:25px}.v-footer-top .v-eyebrow{font-size:9px;letter-spacing:1px}.v-footer-top h2{font-size:31px;letter-spacing:-1px;margin-top:17px}.v-footer-top p:not(.v-eyebrow){font-size:13px}.v-footer-top>.button{font-size:13px;min-height:50px;min-width:200px}.v-footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px;padding-block:34px}.v-footer-brand{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:14px 20px;align-items:center}.v-footer-brand>.v-brand{grid-column:1}.v-footer-brand>p{grid-row:2;grid-column:1/-1;margin-top:0;font-size:13px}.v-footer-brand>.v-social{grid-column:2;grid-row:1;margin:0}.v-footer .v-brand-word strong{font-size:28px}.v-footer .v-brand-word>span{font-size:6px}.v-footer-label{font-size:10px;margin-bottom:15px}.v-footer-grid>div>a:not(.v-brand){font-size:13px;min-height:35px}.v-footer-contact{grid-column:1/-1;border-top:1px solid #ffffff24;padding-top:25px}.v-footer-grid>.v-footer-contact>.v-footer-phone{font-size:27px;letter-spacing:-.4px}.v-footer-grid>.v-footer-contact>a[href^=mailto]{font-size:13px}.v-footer-grid>.v-footer-contact>.v-footer-address{margin-top:11px}.v-footer-bottom{font-size:10px;gap:10px;padding-top:16px;padding-bottom:86px}.v-footer-bottom>div{gap:12px;justify-content:space-between;font-size:9px}.v-footer-bottom>span{max-width:75%}.v-footer-bottom a{min-height:35px}.mobile-dock>a{min-height:56px;font-size:12px;gap:10px}.v-social>a{width:38px;height:38px}.section{padding-block:55px}.company-story{gap:56px;padding-bottom:55px;grid-template-columns:1fr}.company-copy h2{font-size:29px;line-height:1.2;margin-bottom:20px}.company-copy>p:not(.eyebrow){font-size:14px;line-height:1.9}.company-contact-grid h2{font-size:29px}.contact-person{gap:15px}.contact-person h3{font-size:19px}.contact-person .eyebrow{font-size:9px}.contact-person .person-email{font-size:11px}.company-facts h2{font-size:29px}.company-facts dl>div{font-size:13px}.contact-layout{grid-template-columns:1fr;padding-bottom:50px;gap:20px}.contact-sidebar{grid-template-columns:1fr;gap:22px}.contact-block:last-child{grid-column:auto}.contact-block h2,.contact-block:first-child h2{font-size:25px}.contact-big-phone{font-size:29px}.contact-mail{font-size:13px;gap:10px}.contact-block .contact-fine{font-size:13px;max-width:100%}.contact-block .address{font-size:19px}.contact-block .eyebrow{font-size:10px}.contact-form-panel{padding:26px 20px;margin-inline:-2px;margin-top:0}.contact-form-panel h2{font-size:27px;letter-spacing:-.8px}.field-row{grid-template-columns:1fr;gap:0}.field label{font-size:14px}.field label>small{font-size:11px}.field input,.field textarea,.field select{font-size:16px}.form-intro{font-size:11px}.form-mode-note{font-size:11px;line-height:1.8}.privacy-notice{font-size:11px;line-height:1.85}.field-hint{font-size:10px}.form-submit{font-size:13px}.faq-section{grid-template-columns:1fr;gap:26px}.faq-section h2{font-size:29px}.faq-list summary{font-size:14px}.faq-list details>p{font-size:13px}.legal-content{font-size:14px;line-height:1.85}.legal-note{font-size:12px;padding:17px}.legal-content h2{font-size:24px}.legal-dl dt{font-size:12px}.legal-dl dd{font-size:14px}.legal-dl>div{grid-template-columns:1fr;gap:3px}.page-intro h1{font-size:35px}.page-intro>p:not(.eyebrow){font-size:14px}.lightbox{padding:52px 10px 55px;max-width:96vw}.lightbox figure>img{max-width:89vw;max-height:70dvh}.lightbox figcaption{font-size:11px;line-height:1.7}.v-lightbox-prev,.v-lightbox-next{top:auto;bottom:8px;width:40px;height:38px}.v-lightbox-prev{left:calc(50% - 55px)}.v-lightbox-next{right:calc(50% - 55px)}.v-lightbox-count{font-size:10px}.v-notfound{padding-bottom:55px}}
@media(max-width:370px){:root{--gutter:18px}.v-local{display:none}.v-hero h1{font-size:35px}.v-hero-actions{gap:9px}.v-hero-actions .button{font-size:11px;padding-inline:13px;gap:12px}.v-hero-actions .v-text-link{font-size:11px}.v-intro-band p{font-size:9px}.v-intro-band strong{font-size:10px}.v-service h3{font-size:21px}.v-service p{font-size:13px}.v-service{gap:6px}.v-topbar-contact{font-size:11px}.v-section-head h2{font-size:27px}.v-person-link strong{font-size:13px}.v-footer-bottom>div{gap:8px}.contact-mail{font-size:12px}.v-footer-grid>.v-footer-contact>a[href^=mailto]{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.v-topbar,.v-header-actions,.v-filters,.v-photo-zoom,.mobile-dock,.v-footer-top{display:none!important}.v-header{position:static}.v-footer{background:white;color:black}.v-footer-bottom{padding-bottom:20px}.v-pair{grid-template-columns:1fr 1fr}.v-section{padding-block:24px}.v-footer-grid{display:none}.v-hero-visual>figure{min-height:300px}}
@media(max-width:600px){.v-hero-visual>figure{flex:none;height:330px;min-height:330px}.v-hero-visual{align-self:auto}}
