:root{--ink:#14243a;--deep:#14243a;--paper:#f6f7f7;--white:#fff;--line:#d8dce0;--muted:#586574;--accent:#3285bd;--soft:#e9eef2;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin-top:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(100% - 72px,1320px);margin-inline:auto}.skip-link{position:absolute;left:20px;top:-80px;background:#fff;padding:10px;z-index:50}.skip-link:focus{top:10px}.site-header{height:88px;border-bottom:1px solid #dce0d9;background:var(--paper);position:relative;z-index:10}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:flex;align-items:center;gap:16px;flex-shrink:0}.brand-mark,.footer-brand{font:800 32px/1 'Manrope',sans-serif;letter-spacing:-.085em}.brand-dot,.footer-brand span,.accent{color:var(--accent)}.brand-caption{border-left:1px solid #b9bfba;padding-left:15px;font-size:9px;line-height:1.35;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:#65726e}.nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,36px)}.nav>a:not(.button){font-size:12px;font-weight:700;white-space:nowrap;transition:color .2s}.nav>a:not(.button):hover{color:#a5692e}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:54px;padding:0 22px;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:12px;font-weight:700;letter-spacing:.01em;transition:background .2s,transform .2s}.button:hover{background:#2e4847;transform:translateY(-2px)}.button span{font-size:18px;font-weight:400}.button-small{min-height:42px;padding:0 16px;gap:14px}.menu-toggle{display:none}.hero{padding:74px 0 92px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:clamp(44px,5vw,90px);align-items:center}.hero-copy{padding:20px 0}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:40px}.eyebrow-line{width:25px;height:2px;background:var(--accent)}h1,h2,h3{font-family:'Manrope',Arial,sans-serif}h1{font-size:clamp(43px,5vw,76px);line-height:1.16;letter-spacing:-.075em;font-weight:800;margin-bottom:32px}.hero-intro{max-width:520px;font-size:17px;line-height:1.7;color:#52615e;margin-bottom:34px}.hero-actions{display:flex;align-items:center;gap:32px}.text-link{display:inline-flex;align-items:center;gap:22px;padding:10px 0;border-bottom:1px solid var(--ink);font-size:12px;font-weight:800}.text-link span{font-size:17px;font-weight:400}.hero-visual{min-width:0}.photo-placeholder{height:clamp(420px,43vw,570px);background:#d6d9d3;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;color:#56615d;font-size:12px;letter-spacing:.12em;text-transform:uppercase;line-height:1.6}.photo-placeholder:before,.project-placeholder:before{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.32);pointer-events:none}.crosshair{font-size:40px;line-height:1;font-weight:300;color:#929f98}.photo-index{position:absolute;bottom:34px;left:34px;font-size:10px;letter-spacing:.15em}.visual-caption{display:flex;justify-content:space-between;padding-top:15px;font-size:9px;font-weight:800;letter-spacing:.15em;color:#697572;text-transform:uppercase}.section{padding:118px 0}.section-kicker{color:#a46a35;margin-bottom:22px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:52px}.section-heading h2,.why-grid h2,.area-grid h2,.contact-grid h2,.pro-grid h2{font-size:clamp(36px,4vw,58px);line-height:1.18;letter-spacing:-.065em;font-weight:800;margin:0}.section-heading>p{max-width:330px;color:var(--muted);font-size:14px;line-height:1.75;margin:0 0 6px}.métiers-section{background:#fff}.services{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.service-card{min-height:374px;padding:27px 30px 25px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line);scroll-margin-top:25px;transition:background .2s}.service-card:last-child{border-right:0}.service-card:hover{background:#f7f8f4}.service-number{font-size:10px;letter-spacing:.15em;font-weight:800;color:#86918c}.service-icon{width:63px;height:63px;display:grid;place-items:center;margin-top:12px}.service-icon svg{width:48px;height:48px;fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:25px;letter-spacing:-.045em;margin-bottom:12px}.service-card p{font-size:13px;line-height:1.65;color:var(--muted);max-width:315px;margin-bottom:28px}.service-bottom{border-top:1px solid var(--line);padding-top:19px;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.service-bottom span{font-size:17px;line-height:10px}.pro-section{background:var(--deep);color:white;padding:100px 0 108px}.pro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.section-kicker.light{color:var(--accent)}.pro-content{padding-top:45px}.pro-content>p{font-size:17px;line-height:1.8;color:#c3cfca;max-width:510px;margin-bottom:35px}.pro-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:44px}.pro-tags span{border:1px solid #4b615e;padding:11px 14px;font-size:11px;color:#d8e0da}.light-link{border-color:#ced9d1;color:#fff}.why-section{background:var(--paper)}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.why-intro{max-width:410px;font-size:15px;line-height:1.75;color:var(--muted);margin-top:28px}.value-list{list-style:none;margin:0;padding:0;border-top:1px solid #cfd5cd}.value-list li{min-height:72px;display:flex;align-items:center;gap:35px;border-bottom:1px solid #cfd5cd}.value-list span{font-size:10px;color:#a46a35;letter-spacing:.1em;font-weight:800}.value-list strong{font-size:15px;font-weight:700}.projects-section{background:#fff}.projects-heading h2{white-space:nowrap}.project-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:20px}.project-placeholder{position:relative;height:310px;background:#e4e6e1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:#89968e;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.project-large .project-placeholder{background:#d6dbd4}.project-placeholder .crosshair{font-size:32px;color:#acb7af}.project-no{position:absolute;left:26px;bottom:27px;color:#707f77}.project-card p{display:flex;justify-content:space-between;gap:10px;padding-top:14px;margin:0;font-size:12px;font-weight:700}.project-card p span{font-weight:500;color:#839089}.area-section{padding:112px 0;background:#e9ede7}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:center}.area-grid p:not(.section-kicker){max-width:440px;line-height:1.7;color:var(--muted);font-size:15px;margin:26px 0 20px}.area-map{height:325px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;border:1px solid #ccd5ca;background:#e3e9e1}.map-rings{width:260px;height:260px;position:relative;display:grid;place-items:center}.map-rings i{position:absolute;border:1px solid #c3cec3;border-radius:50%;width:100%;height:100%}.map-rings i:nth-child(2){width:73%;height:73%}.map-rings i:nth-child(3){width:47%;height:47%}.map-center{width:78px;height:78px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:1;font-size:10px;font-weight:800;letter-spacing:.08em}.map-center span{font-size:18px;color:var(--accent);letter-spacing:0}.map-caption{position:absolute;left:20px;bottom:20px;font-size:9px;font-weight:800;letter-spacing:.14em;color:#6d8075}.contact-section{background:var(--deep);color:#fff;padding:116px 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:13%}.contact-copy>p:not(.section-kicker){color:#c0cdc7;max-width:340px;font-size:15px;line-height:1.8;margin-top:30px}.contact-note{display:flex;align-items:start;gap:18px;margin-top:65px;font-size:11px;line-height:1.7;text-transform:uppercase;letter-spacing:.08em;color:#b9c8bf}.note-rule{width:30px;height:2px;background:var(--accent);margin-top:9px}.contact-form{display:flex;flex-direction:column;gap:24px;padding-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:700}.contact-form label span{color:var(--accent)}.contact-form input,.contact-form select,.contact-form textarea{width:100%;min-height:51px;border:1px solid #6a7e79;border-radius:0;background:#243a39;color:#fff;padding:13px 14px;outline:none}.contact-form textarea{resize:vertical;min-height:120px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#95a7a0}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23ffffff'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 17px center}.form-footer{display:flex;align-items:center;gap:25px}.button-light{background:var(--accent);border-color:var(--accent);color:var(--ink);white-space:nowrap}.button-light:hover{background:#efbb7e}.form-footer p{margin:0;color:#aebfb7;font-size:10px;line-height:1.5;max-width:240px}.site-footer{background:#101f20;color:#fff;padding:55px 0 30px}.footer-top{display:flex;justify-content:space-between;align-items:start;padding-bottom:55px}.footer-brand{font-size:44px}.footer-top p{margin:15px 0 0;color:#a8b9b1;font-size:12px}.back-top{font-size:11px;font-weight:700}.footer-bottom{border-top:1px solid #3f5350;padding-top:25px;display:flex;justify-content:space-between;gap:20px;color:#9cad a5;font-size:10px;color:#a3b4ac}.footer-bottom div{display:flex;gap:24px}.footer-bottom a:hover,.back-top:hover{text-decoration:underline}.legal-page{min-height:65vh;padding:90px 0}.legal-page h1{font-size:clamp(36px,5vw,60px)}.legal-page p{max-width:700px;line-height:1.7;color:var(--muted)}.legal-page dl{max-width:700px}.legal-page dt{font-weight:800;margin-top:25px}.legal-page dd{margin:5px 0 0;color:var(--muted)}
@media(max-width:1100px){.brand-caption{display:none}.nav{gap:16px}.nav>a:not(.button){font-size:11px}.project-grid{gap:12px}.project-placeholder{height:260px}}
@media(max-width:800px){.container{width:min(100% - 40px,1320px)}.site-header{height:72px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:0;width:42px;height:42px;padding:8px}.menu-toggle span{height:2px;width:25px;background:var(--ink);display:block}.nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--paper);padding:20px;box-shadow:0 18px 25px #192b2c1c;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav>a:not(.button){font-size:14px;padding:13px 0;border-bottom:1px solid var(--line)}.nav-cta{margin-top:17px}.hero{padding:55px 0 75px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero-copy{padding:0}.hero-visual{max-width:650px}.photo-placeholder{height:390px}.section{padding:80px 0}.section-heading{align-items:start;flex-direction:column;gap:20px}.section-heading>p{max-width:600px}.services{grid-template-columns:1fr}.service-card{min-height:260px;border-right:0;border-bottom:1px solid var(--line);gap:20px}.service-card:last-child{border-bottom:0}.service-icon{margin:0}.pro-grid,.why-grid,.area-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.pro-section,.contact-section{padding:80px 0}.pro-content{padding:0}.projects-heading h2{white-space:normal}.project-grid{grid-template-columns:1fr 1fr}.project-large{grid-column:1/-1}.project-large .project-placeholder{height:330px}.area-section{padding:80px 0}.area-map{height:290px}.contact-note{margin-top:30px}}
@media(max-width:560px){.container{width:min(100% - 36px,1320px)}.brand-mark{font-size:30px}.eyebrow{margin-bottom:25px}h1{font-size:clamp(40px,10vw,58px);margin-bottom:25px}.hero-intro{font-size:15px}.hero-actions{gap:17px;flex-wrap:wrap}.hero-actions .button{width:100%}.photo-placeholder{height:315px}.section-heading h2,.why-grid h2,.area-grid h2,.contact-grid h2,.pro-grid h2{font-size:37px}.section-heading{margin-bottom:35px}.service-card{padding:24px}.project-grid{grid-template-columns:1fr}.project-large{grid-column:auto}.project-placeholder,.project-large .project-placeholder{height:255px}.form-row{grid-template-columns:1fr;gap:24px}.form-footer{align-items:start;flex-direction:column;gap:13px}.form-footer .button{width:100%}.footer-top{padding-bottom:40px}.footer-bottom{flex-direction:column;gap:15px}.footer-bottom div{flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}
body{font-family:"Segoe UI",Arial,sans-serif}h1,h2,h3{font-family:"Segoe UI",Arial,sans-serif}.brand-image{display:block;width:100px;height:58px;object-fit:cover;background:white}.brand-caption{border-color:#b9c7d1}.footer-logo{display:inline-block;background:#fff;padding:3px}.footer-logo img{display:block;width:125px;height:72px;object-fit:cover}.site-footer{background:#0b1728}.pro-section,.contact-section{background:#14243a}.photo-placeholder{background:#dce4e9}.project-large .project-placeholder{background:#d5e0e7}.project-placeholder{background:#e7ebee}.area-section{background:#e9eef2}.area-map{background:#e0e9ef}.map-center{background:#14243a}.map-rings i{border-color:#bdcfdc}.section-kicker{color:#2e78ac}.section-kicker.light{color:#73b5e2}.contact-form input,.contact-form select,.contact-form textarea{background:#1d3450;border-color:#60768e}.button-light{color:#fff}.button-light:hover{background:#56a2d5}.brand-caption{color:#566b7e}
.area-departments{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 27px;max-width:520px}.area-departments span{display:inline-flex;align-items:center;gap:10px;border:1px solid #bfcbd3;padding:9px 11px;background:#f6f8f9;font-size:11px;font-weight:700;white-space:nowrap}.area-departments b{color:#668098;font-size:10px}.area-departments .home-department{background:var(--ink);border-color:var(--ink);color:white}.area-departments .home-department b{color:#83bbe0}.area-map{height:400px;display:block;border:1px solid #cbd5dc}.area-map iframe{display:block;width:100%;height:100%;border:0}.area-map .map-caption{left:12px;bottom:12px;background:white;padding:9px 11px;color:var(--ink);box-shadow:0 1px 6px #14243a24}@media(max-width:800px){.area-map{height:360px}}@media(max-width:560px){.area-map{height:300px}.area-departments{margin:23px 0}}
.projects-heading h2{white-space:normal}.projects-heading>p{max-width:405px}.featured-project{border-top:1px solid var(--line);padding-top:27px}.featured-intro{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:28px}.project-category{display:block;color:#2e78ac;font-size:10px;font-weight:800;letter-spacing:.16em;margin-bottom:12px}.featured-intro h3{font-size:clamp(25px,2.7vw,38px);letter-spacing:-.055em;line-height:1.2;max-width:650px;margin:0}.featured-intro>p{font-size:13px;line-height:1.7;color:var(--muted);max-width:350px;margin:0}.featured-photos{display:grid;grid-template-columns:1fr 1.35fr .8fr;gap:14px}.featured-photo,.work-card figure,.lighting-photos figure{margin:0}.photo-button{display:block;width:100%;padding:0;border:0;background:#e2e8ec;overflow:hidden;text-align:inherit;cursor:zoom-in}.photo-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.photo-button:hover img{transform:scale(1.025)}.photo-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.featured-photo .photo-button{height:350px}.featured-before img{object-position:50% 28%}.featured-after img{object-position:54% 50%}.featured-detail img{object-position:41% 50%}.featured-photo figcaption{display:flex;justify-content:space-between;gap:10px;padding-top:12px;font-size:11px;font-weight:700}.featured-photo figcaption span{font-size:9px;letter-spacing:.13em;color:#6a7c89}.project-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:85px}.work-card{border-top:1px solid var(--line);padding-top:16px}.work-card .photo-button{height:230px}.work-card figure figcaption{padding-top:13px;color:#698194;font-size:9px;font-weight:800;letter-spacing:.15em}.work-card h3{font-size:22px;letter-spacing:-.04em;margin:16px 0 8px}.work-card>p{font-size:13px;line-height:1.65;color:var(--muted);max-width:350px;margin:0}.lighting-gallery{display:grid;grid-template-columns:.8fr 2.2fr;gap:45px;margin-top:88px;padding-top:28px;border-top:1px solid var(--line)}.lighting-heading p{max-width:240px;font-size:13px;line-height:1.7;color:var(--muted)}.lighting-photos{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lighting-photos .photo-button{height:250px}.lighting-photos figcaption{font-size:11px;font-weight:700;padding-top:12px}.photo-dialog{border:0;padding:0;background:#101a27;color:white;width:min(92vw,1300px);max-width:none;max-height:92vh;box-shadow:0 18px 60px #0007}.photo-dialog::backdrop{background:#07121cdd}.photo-dialog img{display:block;max-width:100%;max-height:calc(92vh - 52px);width:auto;height:auto;margin:auto;object-fit:contain}.photo-dialog p{font-size:12px;padding:14px 22px;margin:0;color:#dce4ec}.dialog-close{position:absolute;right:10px;top:10px;width:38px;height:38px;border:0;background:#fff;color:var(--ink);font-size:26px;line-height:1}.dialog-close:hover{background:#e6edf3}@media(max-width:1000px){.featured-photos{grid-template-columns:1fr 1fr}.featured-detail{grid-column:1/-1}.featured-detail .photo-button{height:280px}.project-cards{gap:14px}.work-card .photo-button{height:200px}}@media(max-width:800px){.featured-intro{display:block}.featured-intro>p{margin-top:15px;max-width:600px}.project-cards{grid-template-columns:1fr 1fr;margin-top:65px}.lighting-gallery{grid-template-columns:1fr;gap:20px;margin-top:65px}.lighting-heading p{max-width:560px}}@media(max-width:560px){.featured-photos,.project-cards,.lighting-photos{grid-template-columns:1fr}.featured-detail{grid-column:auto}.featured-photo .photo-button,.featured-detail .photo-button{height:260px}.featured-after .photo-button{height:300px}.project-cards{gap:40px}.work-card .photo-button{height:245px}.lighting-gallery{gap:12px}.lighting-photos{gap:24px}.lighting-photos .photo-button{height:240px}}
