/*
Theme Name: Atelier Lumo
Description: Le site noir d’Anne et Olivier, éditable avec les blocs natifs WordPress.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
Author: Atelier Lumo
License: GPL-2.0-or-later
Text Domain: atelier-lumo
*/
:root{font-family:'Outfit',Arial,sans-serif;color:#f5f2e9;background:#0b0b0a;font-synthesis:none;font-weight:300;--ivory:#f5f2e9;--black:#0b0b0a;--muted:#bab7af;--line:#393934;--amber:#cfaa69;--serif:'Cormorant Garamond',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer;border:0;background:none;padding:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--amber);outline-offset:6px}::selection{background:#cfaa69;color:#0b0b0a}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}ul,ol{padding:0;margin:0}[hidden]{display:none!important}main{overflow-x:clip;width:100%;max-width:100%}
.page-width{width:calc(100% - 152px);max-width:1600px;margin-inline:auto}.muted{color:var(--muted)}.small-label{font-size:13px;line-height:1.4;text-transform:uppercase;letter-spacing:.17em;color:var(--muted);font-weight:400}.serif-italic,em{font-family:var(--serif);font-style:italic;font-weight:400}
.text-link{display:inline-flex;align-items:center;gap:14px;width:fit-content;padding-block:8px;border-bottom:1px solid #8b8980;font-size:16px;line-height:1.4;font-weight:400;transition:color .2s,border-color .2s}.text-link:hover{color:var(--amber);border-color:var(--amber)}.text-link svg,.button svg{flex:0 0 auto;transition:transform .3s}.text-link:hover svg,.button:hover svg{transform:translate(3px,-2px)}.button{min-height:65px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 30px;line-height:1.3;font-size:17px;font-weight:400;transition:background .25s}.button-light{color:var(--black);background:var(--ivory)}.button-light:hover{background:#d9d4c6}.icon-button{min-width:46px;min-height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #55554d;transition:background .2s}.icon-button:hover{background:#2b2b26}.skip-link{position:fixed;z-index:100;top:12px;left:20px;padding:15px 20px;color:var(--black);background:var(--ivory);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}
.site-header{position:fixed;z-index:30;inset:0 0 auto;min-height:98px;padding-inline:76px;display:flex;align-items:center;gap:40px;transition:background .3s}.site-header::after{content:'';height:1px;position:absolute;bottom:0;left:76px;right:76px;background:#ffffff30}.site-header.is-scrolled{background:#0b0b0af5}.wordmark{flex-shrink:0;letter-spacing:-.065em;font-size:44px;line-height:1;font-weight:400}.site-header nav{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:45px}.site-header nav a{font-size:16px;font-weight:400;padding-block:12px;transition:color .2s}.site-header nav a:hover{color:var(--amber)}.site-header nav .header-contact{margin-left:auto;display:flex;gap:24px;align-items:center;border-bottom:1px solid #f5f2e999}.menu-toggle{display:none}
.hero{isolation:isolate;position:relative;display:flex;align-items:center;height:min(960px,100svh);min-height:780px;overflow:hidden;background:#0d0d0b}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%;z-index:-2}.hero-shade{position:absolute;inset:0;background:#0000001c;z-index:-1}.hero-content{position:relative;padding-top:115px;padding-bottom:70px}.hero h1{max-width:1100px;font-size:clamp(64px,6.5vw,108px);line-height:.99;letter-spacing:-.045em;font-weight:400}.hero-line{display:block}.hero-description{margin-top:32px;font-family:var(--serif);font-size:clamp(25px,2.15vw,34px);line-height:1.17;font-weight:400}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:23px;margin-top:40px}.hero-actions .text-link{font-size:17px}.hero-credit{position:absolute;right:30px;bottom:22px;font-size:11px;line-height:1.4;color:#eee7d4;letter-spacing:.02em;text-align:right;opacity:.8}
.gallery-section{padding-top:78px}.gallery-intro{font-family:var(--serif);font-size:24px;font-style:italic;margin-bottom:25px}.gallery-title{font-size:clamp(52px,6.25vw,106px);letter-spacing:-.055em;line-height:1.08;margin-bottom:36px}.project-grid{display:grid;grid-template-columns:2.1fr 1fr;gap:24px;align-items:end}.project-open{width:100%;display:block;text-align:left}.image-window{position:relative;display:block;overflow:hidden;aspect-ratio:1.86;background:#1a1915}.project-small .image-window{aspect-ratio:1}.project-image{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}.project-wide .project-image{object-position:50% 54%}.project-small .project-image{object-position:50% 50%}.project-open:hover .project-image,.project-open:focus-visible .project-image{transform:scale(1.045)}.image-action{position:absolute;right:20px;bottom:20px;display:flex;align-items:center;gap:16px;padding:13px 18px;background:var(--ivory);color:var(--black);font-size:14px;font-weight:400;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}.project-open:hover .image-action,.project-open:focus-visible .image-action{opacity:1;transform:translateY(0)}.project-caption{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:15px;font-family:var(--serif);font-size:32px;font-style:italic;line-height:1.15}.project-subtitle{display:block;font-size:13px;margin-top:7px;color:var(--muted);font-weight:300;line-height:1.45}.selection-note{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-top:34px;color:var(--muted);font-size:16px;line-height:1.65}.selection-note .text-link{color:var(--ivory);flex-shrink:0}
.duo-section{display:grid;grid-template-columns:1.05fr 2fr;gap:36px;padding-top:132px}.duo-heading{padding-top:58px}.duo-heading h2{font-size:clamp(44px,4.6vw,78px);letter-spacing:-.045em;line-height:1.04}.editorial-copy{font-family:var(--serif);font-size:25px;line-height:1.22;margin-top:42px;max-width:340px}.duo-heading .text-link{margin-top:28px}.duo-portraits{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portrait-window{overflow:hidden;aspect-ratio:.76}.portrait-image{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.person:nth-child(2) .portrait-image{object-position:60% 50%}.person-copy{padding:20px 8px 0 0}.person h3{font-family:var(--serif);font-size:clamp(26px,2.5vw,39px);line-height:1}.person-role{color:var(--ivory);font-size:14px;line-height:1.5;margin-top:10px}.person-copy>p:not(.person-role){margin-top:21px;color:var(--muted);font-size:16px;line-height:1.65;max-width:350px}.person-copy .text-link{margin-top:20px;font-size:14px}
.service-word-band{overflow:hidden;border-block:1px solid var(--line);margin-top:130px;padding-block:25px}.service-word-track{display:flex;width:max-content}.service-words{display:flex;align-items:baseline;white-space:nowrap;gap:70px;padding-right:70px;font-size:clamp(42px,4.6vw,74px);letter-spacing:-.025em;color:#bdb9ac}
.services{padding-top:145px;padding-bottom:135px;display:grid;grid-template-columns:1fr 1.5fr;gap:100px;align-items:start}.services-heading{align-self:start}.services-heading h2{font-size:clamp(54px,5.2vw,86px);letter-spacing:-.045em;line-height:.99;margin-top:30px}.services-heading>p:not(.small-label){font-size:18px;line-height:1.5;color:var(--muted);margin-top:35px}.services-heading .text-link{margin-top:25px}.service{border-top:1px solid var(--line)}.service:last-of-type{border-bottom:1px solid var(--line)}.service h3 button{display:flex;width:100%;text-align:left;gap:25px;align-items:center;justify-content:space-between;padding:27px 0;font-size:clamp(26px,2.5vw,40px);letter-spacing:-.03em;line-height:1.15}.service h3 button svg{flex-shrink:0;color:var(--muted)}.service h3 button:hover{color:var(--amber)}.service-body{padding:8px 32px 40px 0;color:var(--muted);font-size:17px;line-height:1.7}.service-lead{color:var(--ivory);font-family:var(--serif);font-size:30px;font-style:italic;line-height:1.15;margin-bottom:22px}.service-body ul{list-style:none;margin-block:24px}.service-body li{border-bottom:1px solid #2e2e29;padding-block:7px;font-size:15px}.service-body .text-link{color:var(--ivory)}.service-bottom-image{padding-top:45px}.service-bottom-image img{width:100%;aspect-ratio:1.6;object-fit:cover}.service-bottom-image>p{font-family:var(--serif);font-size:24px;font-style:italic;margin-top:15px}.service-bottom-image .text-link{margin-top:8px;font-size:14px}
.approach-section{padding-block:100px 140px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.1fr 1fr;gap:60px 100px}.approach-title h2{font-size:clamp(42px,4.2vw,70px);letter-spacing:-.04em;line-height:1.1;margin-top:28px}.approach-intro{padding-top:46px}.approach-intro>p:first-child{font-family:var(--serif);font-size:31px;line-height:1.15}.approach-intro>p+p{margin-top:23px;color:var(--muted);font-size:17px;line-height:1.7}.approach-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:50px;list-style:none}.approach-steps li{padding-top:24px;border-top:1px solid var(--line)}.approach-steps h3{font-size:25px;letter-spacing:-.02em}.approach-steps p{font-size:16px;line-height:1.65;color:var(--muted);margin-top:17px}
.contact-section{border-block:1px solid var(--line);padding-block:110px;background:#12120f}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact-heading h2{font-size:clamp(64px,6.3vw,102px);line-height:.98;letter-spacing:-.045em;margin-top:30px}.contact-heading>p:not(.small-label){max-width:340px;color:var(--muted);font-size:18px;line-height:1.6;margin-top:33px}.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:13px;margin-top:38px;font-size:16px}.contact-direct a{display:inline-flex;align-items:center;gap:16px}.contact-direct a:hover{color:var(--amber)}.contact-direct>span{font-family:var(--serif);font-size:22px;font-style:italic;color:var(--muted);margin-top:8px}.contact-form-wrap{padding-top:5px}.contact-form{display:flex;flex-direction:column;gap:28px}.contact-form label{display:flex;flex-direction:column;gap:12px;font-size:14px;color:var(--ivory)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;min-width:0;padding:12px 0 15px;border:0;border-bottom:1px solid #75746b;border-radius:0;background:transparent;color:var(--ivory);font-size:16px;font-weight:300;line-height:1.5}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#aaa79b;opacity:1}.contact-form select{padding-right:18px}.contact-form select option{color:var(--ivory);background:#161612}.contact-form textarea{resize:vertical}.form-submit{align-self:flex-start}.form-note{font-size:13px;color:var(--muted);line-height:1.6;max-width:390px;margin-top:-10px}.draft-panel{margin-top:35px;border:1px solid var(--line);padding:24px}.draft-panel h3{font-size:23px;margin-bottom:14px}.draft-panel>p{color:var(--muted);font-size:15px;line-height:1.6}.draft-panel a{text-decoration:underline}.draft-panel textarea{width:100%;margin-top:20px;padding:12px;color:var(--ivory);background:var(--black);border:1px solid var(--line);font:inherit;font-size:14px;line-height:1.5;resize:vertical}.draft-actions{display:flex;flex-wrap:wrap;gap:12px 25px;margin-top:15px}.draft-actions .text-link{font-size:14px;text-decoration:none}
.site-footer{padding-top:70px;padding-bottom:35px}.footer-wordmark{display:block;font-size:clamp(75px,16vw,260px);font-weight:400;letter-spacing:-.065em;line-height:1.05;width:fit-content}.footer-bottom{margin-top:52px;padding-top:25px;border-top:1px solid var(--line);display:flex;gap:30px;align-items:center;justify-content:space-between;font-size:13px;color:var(--muted);line-height:1.5}.footer-bottom a{display:inline-flex;align-items:center;gap:12px}.footer-bottom a:hover{color:var(--ivory)}
.gallery-dialog{width:calc(100vw - 50px);max-width:1440px;max-height:calc(100svh - 40px);border:1px solid var(--line);background:#10100e;color:var(--ivory);padding:0}.gallery-dialog::backdrop{background:#000000e6}.gallery-dialog-inner{padding:25px 30px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:20px}.dialog-heading h2{font-size:32px;letter-spacing:-.025em;margin-top:7px}.lightbox-image{width:100%;height:min(62svh,800px);object-fit:contain}.lightbox-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px}.lightbox-caption>p{font-size:15px;line-height:1.5}.lightbox-arrows{display:flex;gap:10px;flex-shrink:0}.lightbox-thumbnails{display:flex;gap:12px;margin-top:18px;overflow-x:auto;padding:5px}.lightbox-thumbnails button{flex:0 0 72px;border:1px solid transparent;opacity:.5}.lightbox-thumbnails button[aria-current]{border-color:var(--amber);opacity:1}.lightbox-thumbnails img{width:72px;height:48px;object-fit:cover}
.films-section{padding-block:20px 140px}.films-section>h2{font-size:clamp(40px,5vw,74px);letter-spacing:-.04em;margin-bottom:40px}.films-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.film-player{position:relative;aspect-ratio:16/9;background:#1c1c16}.film-player iframe,.film-poster,.film-poster>img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}.film-poster>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:16px;color:var(--black);background:var(--ivory);padding:18px 25px;white-space:nowrap}.film>h3{font-family:var(--serif);font-size:30px;margin-top:20px}.film>p{font-size:15px;line-height:1.6;margin-top:10px}.film>.video-notice{font-size:12px;color:var(--muted)}
@media(min-width:1700px){.site-header{padding-inline:max(76px,calc((100vw - 1600px)/2))}.site-header::after{left:max(76px,calc((100vw - 1600px)/2));right:max(76px,calc((100vw - 1600px)/2))}}
@media(max-width:1180px){.page-width{width:calc(100% - 96px)}.site-header{padding-inline:48px;gap:25px}.site-header::after{left:48px;right:48px}.wordmark{font-size:36px}.site-header nav{gap:25px}.site-header nav a{font-size:14px}.site-header nav .header-contact{gap:12px}.hero{min-height:730px}.duo-section{gap:25px}.duo-heading{padding-top:30px}.editorial-copy{font-size:23px;margin-top:30px}.services,.contact-layout{gap:60px}.approach-section{gap:50px}}
@media(max-width:900px){html{scroll-padding-top:95px}.page-width{width:calc(100% - 64px)}.site-header{min-height:82px;padding-inline:32px;justify-content:space-between}.site-header::after{left:32px;right:32px}.site-header nav{position:absolute;top:81px;left:0;right:0;display:none;padding:35px 32px;background:#0b0b0a;border-bottom:1px solid var(--line)}.site-header nav.is-open{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.site-header nav a{font-size:22px}.site-header nav .header-contact{margin-left:0;font-size:18px;margin-top:15px}.menu-toggle{display:inline-flex;border:none}.hero{height:850px;min-height:650px;max-height:100svh}.hero h1{font-size:clamp(54px,7.2vw,76px)}.hero-content{padding-top:85px}.hero-description{font-size:29px;max-width:550px}.hero-image{object-position:59% 50%}.hero-shade{background:#00000044}.hero-credit{right:24px;font-size:10px;max-width:220px}.gallery-section{padding-top:60px}.gallery-title{font-size:clamp(44px,6.8vw,64px)}.project-grid{gap:20px;grid-template-columns:1.6fr 1fr}.project-caption{font-size:28px}.selection-note{font-size:14px;gap:25px}.selection-note .text-link{font-size:14px}.duo-section{padding-top:100px;grid-template-columns:1fr;gap:38px}.duo-heading{display:grid;grid-template-columns:1fr 1fr;gap:15px 35px;padding-top:0}.duo-heading h2{grid-row:span 2;font-size:54px}.duo-heading .editorial-copy{margin-top:3px;font-size:25px}.duo-heading .text-link{margin-top:5px;align-self:end}.duo-portraits{gap:22px}.portrait-window{aspect-ratio:.86}.person h3{font-size:34px}.service-word-band{margin-top:90px}.services{padding-block:100px;gap:45px;grid-template-columns:1fr 1.25fr}.services-heading h2{font-size:52px}.services-heading .text-link{font-size:14px}.service h3 button{font-size:27px}.service-body{padding-right:0;font-size:16px}.service-lead{font-size:27px}.approach-section{padding-block:80px 95px;grid-template-columns:1fr;gap:35px}.approach-title h2{font-size:54px}.approach-intro{padding-top:0;max-width:620px}.approach-steps{gap:25px;margin-top:10px}.approach-steps h3{font-size:22px}.approach-steps p{font-size:15px}.contact-section{padding-block:80px}.contact-layout{grid-template-columns:1fr;gap:55px}.contact-heading h2{font-size:76px}.contact-heading h2 br:nth-of-type(2){display:none}.contact-heading>p:not(.small-label){max-width:470px}.contact-direct{margin-top:25px}.contact-form-wrap{max-width:650px}.footer-bottom{flex-wrap:wrap;gap:22px}}
@media(max-width:580px){html{scroll-padding-top:85px}.page-width{width:calc(100% - 44px)}.site-header{min-height:74px;padding-inline:22px}.site-header::after{left:22px;right:22px}.wordmark{font-size:34px}.site-header nav{top:73px;padding-inline:25px}.hero{min-height:690px;height:96svh;max-height:920px;align-items:center}.hero-content{padding-top:95px;padding-bottom:85px}.hero h1{font-size:clamp(43px,10.8vw,64px);letter-spacing:-.045em;line-height:1.04}.hero-description{font-size:25px;line-height:1.18;margin-top:28px;max-width:360px}.hero-description br{display:none}.hero-actions{margin-top:30px;gap:16px}.button{min-height:58px;padding:17px 22px;gap:22px;font-size:15px}.hero-actions .text-link{font-size:15px}.hero-image{object-position:59% 50%}.hero-shade{background:#00000061}.hero-credit{left:22px;right:auto;bottom:22px;max-width:275px;text-align:left}.gallery-section{padding-top:48px}.gallery-intro{font-size:20px;margin-bottom:22px}.gallery-title{font-size:46px;margin-bottom:28px;letter-spacing:-.05em}.project-grid{grid-template-columns:1fr;gap:34px}.project-small{width:79%;margin-left:auto}.project-small .image-window{aspect-ratio:1.05}.project-caption{font-size:29px;margin-top:13px}.project-subtitle{font-size:12px}.project-caption svg{width:19px;height:19px}.image-action{display:none}.selection-note{flex-direction:column;gap:15px;margin-top:32px}.duo-section{padding-top:85px;gap:35px}.duo-heading{display:block}.duo-heading h2{font-size:49px}.duo-heading h2 br{display:none}.duo-heading .editorial-copy{margin-top:27px;font-size:25px;max-width:100%}.duo-heading .text-link{margin-top:22px}.duo-portraits{gap:15px}.portrait-window{aspect-ratio:.66}.person-copy{padding-top:15px}.person h3{font-size:28px;line-height:.95;max-width:150px}.person-role{font-size:12px;line-height:1.5;margin-top:12px}.person-copy>p:not(.person-role){font-size:14px;line-height:1.6;margin-top:18px}.person-copy .text-link{font-size:12px;gap:8px;margin-top:17px}.person-copy .text-link svg{width:15px}.service-word-band{margin-top:75px;padding-block:20px}.service-words{font-size:42px;gap:36px;padding-right:36px}.services{padding-block:80px;grid-template-columns:1fr;gap:45px}.services-heading h2{font-size:59px}.services-heading h2 br{display:none}.services-heading>p:not(.small-label){margin-top:22px;font-size:17px}.services-heading .text-link{margin-top:20px}.service h3 button{font-size:29px;padding-block:24px}.service-body{padding-bottom:30px}.service-lead{font-size:29px}.service-bottom-image{padding-top:35px}.service-bottom-image>p{font-size:24px}.approach-section{padding-block:65px 80px}.approach-title h2{font-size:44px;margin-top:24px}.approach-intro>p:first-child{font-size:29px}.approach-intro>p+p{font-size:16px}.approach-steps{grid-template-columns:1fr;gap:25px}.approach-steps h3{font-size:26px}.approach-steps p{margin-top:12px;font-size:16px}.contact-section{padding-block:70px}.contact-layout{gap:45px}.contact-heading h2{font-size:68px;margin-top:27px}.contact-heading h2 br:nth-of-type(2){display:initial}.contact-heading>p:not(.small-label){font-size:17px;margin-top:25px}.contact-direct{font-size:14px;gap:16px}.contact-direct a{gap:9px}.contact-form{gap:26px}.form-row{grid-template-columns:1fr;gap:26px}.form-submit{width:100%}.site-footer{padding-top:40px;padding-bottom:27px}.footer-wordmark{font-size:17.3vw}.footer-bottom{margin-top:33px;padding-top:22px;display:grid;grid-template-columns:1fr auto;gap:20px;font-size:12px}.footer-bottom>p{grid-column:1/-1}.gallery-dialog{width:calc(100vw - 20px);max-height:calc(100svh - 20px)}.gallery-dialog-inner{padding:20px 15px}.dialog-heading{gap:15px}.dialog-heading .small-label{font-size:10px}.dialog-heading h2{font-size:27px}.lightbox-image{height:53svh}.lightbox-caption{gap:15px;align-items:flex-start}.lightbox-caption>p{font-size:13px}.lightbox-arrows{gap:8px}.lightbox-arrows .icon-button{min-width:39px;min-height:44px}.films-grid{grid-template-columns:1fr}.films-section{padding-bottom:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-image,.hero-content,.portrait-image,.image-window,.reveal,.hero-line,.hero-support,.service-word-track{transform:none!important;opacity:1!important;clip-path:none!important}.service-word-track{width:100%}.service-words{flex-wrap:wrap;white-space:normal;width:100%;justify-content:center;gap:12px 30px;padding-inline:22px;font-size:34px}.service-words+.service-words{display:none}.services-heading{position:static!important}.project-open:hover .project-image{transform:none}}
/* Center the navigation group while preserving the contact at the edge. */
.site-header .nav-pages{display:flex;align-items:center;gap:45px;margin-inline:auto}.site-header nav .header-contact{margin-left:0}
@media(max-width:1180px){.site-header .nav-pages{gap:25px}}
@media(max-width:900px){.site-header .nav-pages{flex-direction:column;align-items:flex-start;gap:10px;margin:0}}

/* Bridge native block wrappers to the retained Atelier Lumo composition. */
body{background:var(--black);color:var(--ivory);font-family:Outfit,Arial,sans-serif;font-weight:300}
.wp-site-blocks{padding:0}.wp-site-blocks>*+*,.wp-block-post-content>*+*,.wp-block-group>*+*{margin-block-start:0}
.wp-block-image,.wp-block-gallery{margin:0}.wp-block-image img{vertical-align:middle}
.lumo-main{margin:0}.wp-block-post-content{max-width:none!important;width:100%}
.lumo-main .wp-block-group{box-sizing:border-box}
.lumo-wordmark-block{margin:0;flex-shrink:0}.lumo-link-block{margin:0}
.site-header .wp-block-navigation{position:static;display:flex;flex:1;justify-content:flex-end;gap:0;padding:0;border:0;background:transparent}
.site-header .wp-block-navigation__container{width:100%;display:flex;justify-content:center;gap:45px;flex-wrap:nowrap}
.site-header .wp-block-navigation .lumo-nav-contact{margin-left:auto;border-bottom:1px solid #f5f2e999}
.site-header .wp-block-navigation-item__content{padding-block:12px}
.site-header .wp-block-navigation__responsive-container.is-menu-open{padding:90px 30px 35px;background:var(--black)!important;color:var(--ivory)!important}
.site-header .is-menu-open .wp-block-navigation__container{align-items:flex-start;gap:15px}
.site-header .is-menu-open .lumo-nav-contact{margin-left:0;margin-top:15px}
.site-header .is-menu-open a{font-size:22px}.site-header .wp-block-navigation__responsive-container-close{top:24px;right:24px}
.admin-bar .site-header{top:32px}
.hero>.wp-block-image.hero-image{margin:0;inset:0;max-width:none;z-index:-2}
.hero>.wp-block-image.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 52%}
.wp-block-buttons.lumo-button-row{margin:0;padding:0}
.lumo-button .wp-block-button__link{min-height:65px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 30px;line-height:1.3;font-size:17px;font-weight:400;font-family:inherit;border-radius:0;background:var(--ivory);color:var(--black);border:0}
.lumo-button .wp-block-button__link:hover{background:#d9d4c6;color:var(--black)}
.hero-actions .lumo-link-block{margin:0}
.project{min-width:0}.lumo-project-gallery.wp-block-gallery{display:block;margin:0!important;position:relative}
.lumo-project-gallery.wp-block-gallery>.wp-block-image{width:100%!important;margin:0!important}
.lumo-project-gallery.lumo-gallery-ready.wp-block-gallery>.wp-block-image:not(:first-child){display:none}
.lumo-project-gallery.wp-block-gallery>.wp-block-image:first-child{aspect-ratio:1.45;overflow:hidden}
.lumo-project-gallery.wp-block-gallery>.wp-block-image a{display:block;width:100%;height:100%;cursor:zoom-in}
.lumo-project-gallery.wp-block-gallery>.wp-block-image img{width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .7s}
.lumo-project-gallery:hover>.wp-block-image img{transform:scale(1.025)}
.lumo-project-gallery figcaption{display:none!important}
.project-small .lumo-project-gallery.wp-block-gallery>.wp-block-image:first-child{aspect-ratio:.84}
.project-caption{margin-top:15px!important}.project-subtitle{margin-top:7px!important}
.portrait-window .wp-block-image{height:100%;width:100%;margin:0}.portrait-window .wp-block-image img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.person:nth-child(2) .portrait-window img{object-position:60% 50%}
.person-copy .lumo-link-block{margin-top:20px}.person-copy .lumo-link-block .text-link{margin-top:0}
.service-word-track .service-words{display:flex}.service-word-track .service-words p{margin:0;white-space:nowrap}
details.service{margin:0;border-top:1px solid var(--line)}
details.service:last-of-type{border-bottom:1px solid var(--line)}
details.service>summary{cursor:pointer;list-style:none;display:flex;gap:25px;align-items:center;justify-content:space-between;padding:27px 0;font-size:clamp(26px,2.5vw,40px);letter-spacing:-.03em;line-height:1.15}
details.service>summary::-webkit-details-marker{display:none}details.service>summary::after{content:'+';font-size:28px;color:var(--muted)}details.service[open]>summary::after{content:'−'}
details.service>summary:hover{color:var(--amber)}details.service>summary:focus-visible{outline:2px solid var(--amber);outline-offset:5px}
details.service .service-body{margin:0}details.service .service-lead{margin-bottom:22px}
.service-bottom-image>.lumo-project-gallery.wp-block-gallery>.wp-block-image:first-child{aspect-ratio:1.6}
.service-bottom-image>.lumo-link-block{margin:0}
.approach-steps .lumo-step{padding-top:24px;border-top:1px solid var(--line)}
.contact-direct .lumo-link-block{max-width:100%;overflow-wrap:anywhere}
.contact-direct>.lumo-link-block a{font-size:16px}
.site-footer .footer-bottom .lumo-link-block{margin:0}
.wp-block-embed iframe{width:100%;max-width:100%;aspect-ratio:16/9}
.lumo-gallery-fallback{font-size:13px;color:var(--muted)}
.gallery-dialog .lightbox-thumbnails button[aria-current=true]{border-color:var(--amber);opacity:1}.gallery-dialog .lightbox-thumbnails button[aria-current=false]{border-color:transparent;opacity:.5}
@media(min-width:980px){.services-heading{position:sticky;top:125px}}
@media(max-width:1180px){.site-header .wp-block-navigation__container{gap:25px}}
@media(max-width:900px){.site-header .wp-block-navigation__container{gap:20px}.site-header .wordmark{font-size:34px}.site-header{gap:20px}.site-header .wp-block-navigation a{font-size:13px}.site-header .is-menu-open a{font-size:22px}.site-header .wp-block-navigation{flex:0}.site-header .wp-block-navigation__responsive-container-open{display:flex}.site-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:600px){.site-header .wp-block-navigation{flex:0}.site-header .wp-block-navigation__responsive-container-open{display:flex}.site-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none}.project-small .lumo-project-gallery.wp-block-gallery>.wp-block-image:first-child{aspect-ratio:1.05}.lumo-button .wp-block-button__link{min-height:58px;padding:17px 22px;gap:22px;font-size:15px}.service-body .wp-block-list{padding-left:0}.contact-direct>.lumo-link-block a{font-size:14px}.site-header{background:#0b0b0af0}.approach-steps .lumo-step{padding-top:24px}}
@media(prefers-reduced-motion:reduce){.services-heading{position:static}.lumo-project-gallery:hover>.wp-block-image img{transform:none}}
