@font-face{font-family:"Martian Mono";font-style:normal;font-weight:100 800;font-stretch:75% 112.5%;font-display:swap;src:url("https://fonts.gstatic.com/s/martianmono/v6/2V0aKIcADoYhV6w87xrTKjsSBanI.woff2") format("woff2")}
:root{--g:10px;--mono:'Martian Mono',monospace;--ease:cubic-bezier(.22,.7,.15,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;background:#fff;color:#050505;font:16px Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer;padding:0}img,video{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h2,.display{font-size:clamp(34px,4.05vw,70px);line-height:1;letter-spacing:-.065em;text-transform:uppercase}.mono{font:12px/1.15 var(--mono);text-transform:uppercase}.bracket{font:12px var(--mono);display:inline-flex;gap:7px;text-transform:uppercase}.bracket:before{content:'['}.bracket:after{content:']'}.roll{display:inline-block;position:relative;overflow:hidden;line-height:1.2;vertical-align:top}.roll>span{display:block;transition:transform .45s var(--ease)}.roll>span+span{position:absolute;inset:0;transform:translateY(115%)}a:hover .roll>span:first-child,button:hover .roll>span:first-child{transform:translateY(-115%)}a:hover .roll>span+span,button:hover .roll>span+span{transform:translateY(0)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #888;outline-offset:5px}
header{display:grid;grid-template-columns:50% 19% 18% 13%;padding:6px var(--g);height:55px;position:relative;z-index:40}.logo{font:bold 37px/.85 Arial;letter-spacing:-3.7px;display:inline-block;width:max-content}.navcol{display:flex;flex-direction:column;align-items:flex-start;font:bold 12px/1.1 var(--mono)}.clock{font:bold 12px/1.1 var(--mono);justify-self:end;white-space:nowrap}.clock span{display:block}.menu-toggle{display:none}.mobilemenu{position:fixed;inset:0;background:#050505;color:white;z-index:35;padding:120px 15px 30px;display:flex;flex-direction:column;justify-content:center;transform:translateY(-105%);transition:transform .65s var(--ease);visibility:hidden}.mobilemenu a{font-size:clamp(50px,12vw,110px);line-height:1.1;letter-spacing:-.07em}.mobilemenu .mono{margin-top:40px}.menu-open{overflow:hidden}.menu-open .mobilemenu{transform:none;visibility:visible}.menu-open header{color:#fff}.page-enter{animation:enter .65s var(--ease)}@keyframes enter{from{opacity:.3;transform:translateY(20px)}to{opacity:1;transform:none}}
.hero{height:calc(100svh - 55px);min-height:540px;position:relative;display:grid;place-items:center;overflow:hidden}.hero-meta{position:absolute;top:46%;left:var(--g);right:var(--g);display:flex;justify-content:space-between;z-index:3;pointer-events:none}.hero-scroll{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:4;white-space:nowrap}.stage{width:550px;height:550px;perspective:1200px;display:grid;place-items:center;touch-action:pan-y;cursor:grab}.fan{width:0;height:0;position:relative;transform-style:preserve-3d;will-change:transform}.fan a{display:block;position:absolute;width:260px;height:335px;left:0;top:-167px;transform-origin:0 50%;transform:rotateY(var(--angle)) translateX(8px);backface-visibility:visible;transition:filter .3s}.fan a:hover{filter:brightness(1.15)}.fan img{height:100%;pointer-events:none;user-select:none}
.section{padding:100px var(--g) 0}.section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:50px}.section-head h2{display:flex;gap:8px}.section-head sup{font:12px var(--mono);letter-spacing:0;padding-top:3px}.project-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:50px 10px;align-items:end}.project-card{min-width:0;display:block}.project-card .image{overflow:hidden;height:var(--height,300px)}.project-card:nth-child(5n+1),.project-card:nth-child(5n+2){--height:24vw}.project-card:nth-child(5n+3){--height:12vw}.project-card:nth-child(5n+4){--height:13vw}.project-card:nth-child(5n+5){--height:28.5vw}.project-card:nth-child(n+6){--height:24vw}.project-card img{height:100%;transition:transform .8s var(--ease)}.project-card:hover img{transform:scale(1.055)}.caption{display:flex;justify-content:space-between;gap:8px;margin-top:18px;font:12px/1.2 var(--mono);text-transform:uppercase}.caption span:last-child{text-align:right}.project-card:hover .caption{opacity:.5}
.service-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-bottom:1px solid #999;padding:12px 0;min-height:215px}.service-info{display:flex;flex-direction:column;justify-content:space-between}.service-bottom{display:flex;justify-content:space-between;gap:10px}.service-bottom button{font:12px var(--mono);text-transform:uppercase}.service-bottom button[aria-pressed=false]{color:#999}.service-visuals{display:grid;grid-template-columns:1fr 1fr 1.8fr;gap:5px;height:200px;overflow:hidden}.service-visuals img{height:100%;transition:transform .6s}.service-visuals img:hover{transform:scale(1.06)}.service-description{font-size:24px;line-height:1.2;letter-spacing:-.04em;padding:20px;display:flex;align-items:center;background:#f3f3f3;height:200px}.labelrow{display:flex;justify-content:space-between;margin-bottom:58px}.statement{font-size:clamp(32px,4.05vw,68px);line-height:1;letter-spacing:-.06em;text-transform:uppercase}.statement .word{color:#b4b4b4;transition:color .25s}.statement .word.lit{color:#000}.about-film{height:160vh;position:relative;margin-top:20px}.film-sticky{height:100vh;position:sticky;top:0;overflow:hidden;background:#000;color:#fff}.film-sticky video{height:100%;opacity:.85}.film-caption{position:absolute;bottom:30px;left:20%;right:20%;display:flex;justify-content:space-between}.film-caption a{align-self:end}.half-heading{display:grid;grid-template-columns:1fr 1fr;position:relative;margin-bottom:65px}.half-heading h2{max-width:570px}.half-heading>.tag{position:absolute;right:0;top:0}.stats-row{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-bottom:1px solid #777;padding:16px 0}.stats-row .number{font-size:36px;letter-spacing:-2px;justify-self:center}.stats-row .mono:last-child{text-align:right}.showcase{height:220vh;position:relative;margin-top:50px}.showcase-sticky{position:sticky;top:0;height:100vh;display:grid;place-items:center;overflow:hidden}.showcase-media{position:relative;width:var(--show-width,30%);height:var(--show-height,30%);overflow:hidden;background:#000;will-change:width,height}.showcase-media video{height:100%}.showcase-title{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12vw;color:#fff;font-size:clamp(40px,4vw,70px);letter-spacing:-.065em}
.faq-list{margin-top:70px}.faq-item{border-top:1px solid #777}.faq-item:last-child{border-bottom:1px solid #777}.faq-item summary{list-style:none;display:grid;grid-template-columns:50% 32% 16% 2%;font:12px var(--mono);padding:23px 0;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'▼';justify-self:end}.faq-item[open] summary:after{content:'−'}.faq-answer{margin-left:50%;max-width:450px;padding:10px 0 35px;font-size:16px;line-height:1.35}.testimonials{background:#000;color:#fff;text-align:center;padding:90px 10px 80px;margin-top:100px;min-height:680px}.testimonial-top{display:flex;justify-content:space-between;margin-bottom:90px}.testimonials h2{margin-bottom:45px}.quote{font-size:clamp(22px,2.5vw,40px);letter-spacing:-.04em;line-height:1.16;max-width:850px;margin:0 auto 40px;min-height:150px}.quote-person img{width:55px;height:65px;margin:0 auto 15px;filter:grayscale(1)}.quote-person p{margin:6px}.quote-controls{display:flex;justify-content:center;gap:35px;margin-top:30px}.quote-controls button{font:12px var(--mono)}
.contact-section{padding:110px var(--g) 80px}.contact-content{margin-left:50%;padding-left:5px}.contact-intro{max-width:360px;line-height:1.2;margin-top:45px}.contact-form{margin-top:70px;display:grid;gap:28px}.contact-form label{display:block;font:12px var(--mono);text-transform:uppercase}.contact-form input,.contact-form select,.contact-form textarea{border:0;border-bottom:1px solid #bbb;border-radius:0;background:none;width:100%;font:16px Arial;padding:10px 0;outline:none}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#000}.contact-form textarea{min-height:85px;resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-form .bracket{justify-self:start;margin-top:10px}.form-note{font:11px/1.4 var(--mono);color:#888;max-width:450px}.ribbon{display:flex;gap:5px;overflow:hidden;height:420px}.ribbon-track{display:flex;gap:5px;animation:marquee 40s linear infinite;width:max-content}.ribbon-track a{width:28vw;flex-shrink:0}.ribbon img{height:100%}.ribbon:hover .ribbon-track{animation-play-state:paused}@keyframes marquee{to{transform:translateX(-50%)}}
footer{padding:170px var(--g) 14px}.footer-top{display:grid;grid-template-columns:50% 25% 25%;font:12px var(--mono)}.footer-top>a{grid-column:2}.footer-top p{margin-bottom:10px}.footer-word{font:bold 23.6vw/.83 Arial;letter-spacing:-.095em;white-space:nowrap;margin:35px 0 30px;overflow:hidden}.footer-bottom{display:grid;grid-template-columns:25% 25% 25% 25%;font:11px var(--mono);gap:10px 0}.footer-bottom div{display:flex;gap:20px}.study-note{font:10px/1.4 var(--mono);color:#777;margin-top:25px}.works-page{padding-top:90px}.view-switch{display:flex;flex-direction:column;font:12px var(--mono)}.view-switch button{text-align:right}.view-switch button.active:before{content:'■ '}.works-list .project-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-bottom:1px solid #888;padding:14px 0}.list-info{display:grid;grid-template-columns:1fr 1fr;font:12px var(--mono);text-transform:uppercase;align-content:space-between;min-height:200px}.list-info .location{text-align:right}.list-info .service{margin-top:4px}.list-info .bracket{justify-self:end;align-self:end}.list-info .year{align-self:end}.list-images{display:grid;grid-template-columns:1fr 1fr 1.8fr;height:200px;gap:5px;overflow:hidden}.list-images img{height:100%}
.about-hero{background:#000;color:#fff;height:calc(100svh - 55px);min-height:550px;display:grid;place-items:center;position:relative}.about-mode header{background:#000;color:#fff}.about-hero h1{font-size:clamp(35px,4vw,70px);line-height:1.02;letter-spacing:-.06em;text-align:center;max-width:850px}.about-hero .labelrow{position:absolute;top:32%;left:10px;right:10px}.process-heading{display:flex;justify-content:space-between}.process-copy{max-width:470px;margin:55px 0}.process-copy p{margin-top:13px;line-height:1.2}.process-copy .mono{margin-top:40px}.studio-images{display:grid;gap:5px}.studio-images img{height:70vh}.career-row{display:grid;grid-template-columns:40% 20% 30% 10%;border-bottom:1px solid #999;padding:22px 0;font:12px var(--mono)}.career-row>:last-child{text-align:right}.about-services{display:grid;grid-template-columns:1fr 1fr;gap:10px}.service-sidebar{position:sticky;top:30px;height:max-content;display:grid;grid-template-columns:1fr 1fr;font:12px/1.4 var(--mono)}.service-sidebar p{margin-bottom:25px}.about-service{padding-bottom:70px}.about-service p{max-width:450px;font-size:24px;letter-spacing:-.035em;margin:25px 0}.about-service img{height:380px}.case-page{padding:90px var(--g) 0}.case-head{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:65px 0 90px}.case-description{max-width:490px}.case-description p{line-height:1.22;margin-top:15px}.case-meta{display:grid;grid-template-columns:1fr 1.8fr .6fr 1fr;gap:15px;font:12px var(--mono)}.case-meta span{display:block;margin-top:20px}.case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:5px}.case-gallery img{height:auto;min-height:250px;background:#f5f5f5}.case-gallery img:nth-child(3n){grid-column:span 2;max-height:110vh}.next-project{padding:100px 0 60px;overflow:hidden}.next-heading{display:flex;justify-content:space-between;margin-bottom:40px;align-items:start}.next-carousel{display:flex;gap:8px;overflow:auto;cursor:grab;scrollbar-width:none;touch-action:pan-x}.next-carousel a{min-width:30vw}.next-carousel img{height:380px}.next-project>.mono{text-align:center;margin-top:20px}.policy{max-width:800px;padding:100px 10px;min-height:60vh}.policy p{margin:30px 0;line-height:1.5}.cursor-label{position:fixed;pointer-events:none;z-index:90;font:12px var(--mono);mix-blend-mode:difference;color:white;display:none;transform:translate(18px,18px)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .85s var(--ease),transform 1s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){header{height:55px;grid-template-columns:1fr auto;padding:10px}.logo{font-size:36px}.navcol,.clock{display:none}.menu-toggle{display:block;font:12px var(--mono);align-self:start}.hero{height:calc(100svh - 55px);min-height:570px}.hero-meta{top:25%}.stage{width:330px;height:400px;perspective:950px}.fan a{width:165px;height:215px;top:-107px}.hero-scroll{bottom:35px}.section{padding-top:80px}.project-grid{grid-template-columns:1fr 1fr;gap:38px 10px}.project-card:nth-child(n){--height:58vw}.project-card:nth-child(even){--height:43vw}.caption{font-size:10px;margin-top:12px;gap:5px}.section-head{margin-bottom:35px}.section-head h2{font-size:38px}.service-row{grid-template-columns:1fr;gap:18px;padding:20px 0}.service-info{min-height:115px}.service-visuals{height:200px}.service-bottom,.service-bottom button{font-size:10px}.statement{font-size:34px;line-height:1.02}.labelrow{margin-bottom:35px}.about-film{height:120vh}.film-caption{left:15px;right:15px;flex-wrap:wrap;gap:20px}.half-heading{grid-template-columns:1fr;margin-bottom:40px;gap:35px}.half-heading h2{font-size:38px;max-width:330px}.half-heading>.tag{font-size:10px}.stats-row{grid-template-columns:15% 30% 55%;padding:20px 0}.stats-row .number{font-size:34px}.showcase{height:150vh}.faq-item summary{grid-template-columns:12% 80% 8%;font-size:11px;line-height:1.3}.faq-item summary .faq-tag{display:none}.faq-answer{margin-left:12%;padding-right:10px}.testimonials{min-height:660px;padding-top:55px}.testimonial-top{margin-bottom:65px}.testimonials h2{font-size:34px}.quote{font-size:26px;min-height:200px}.contact-section{padding-top:80px}.contact-content{margin:0;padding:0}.contact-intro{margin-top:25px}.contact-form{margin-top:45px}.ribbon{height:280px}.ribbon-track a{width:65vw}footer{padding-top:100px}.footer-top{grid-template-columns:1fr 1fr;font-size:10px}.footer-top>a{grid-column:1}.footer-word{font-size:23vw;margin:40px 0 25px}.footer-bottom{grid-template-columns:1fr 1fr;font-size:9px;row-gap:20px}.footer-bottom div{gap:12px}.works-page{padding-top:70px}.works-list .project-card{grid-template-columns:1fr}.list-info{min-height:125px;font-size:10px}.list-images{height:190px}.about-hero h1{font-size:36px;padding:15px}.about-hero .labelrow{top:25%}.process-heading{display:block}.process-heading h2{font-size:36px}.studio-images img{height:45vh}.career-row{grid-template-columns:1fr 1fr;gap:15px;font-size:10px}.career-row>:last-child{text-align:left}.about-services{grid-template-columns:1fr}.service-sidebar{position:relative;top:0;margin-bottom:40px}.about-service img{height:290px}.case-page{padding-top:65px}.case-page>h1{font-size:42px}.case-head{grid-template-columns:1fr;margin:40px 0 50px;gap:40px}.case-meta{font-size:10px;gap:10px}.case-gallery{grid-template-columns:1fr}.case-gallery img:nth-child(n){grid-column:1;min-height:0}.next-heading h2{font-size:34px}.next-carousel a{min-width:70vw}.next-carousel img{height:350px}.cursor-label{display:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.ribbon-track{animation:none}}

@media(min-width:801px){.film-sticky{clip-path:inset(0 0 0 var(--film-inset,50%))}}

.logo{font-size:34px;letter-spacing:-2.8px}.clock{font-weight:400}.footer-word{font-size:17.8vw;letter-spacing:-.085em}.availability{margin-top:24px;font-size:10px}.direct-email{display:inline-block;font-size:23px;letter-spacing:-.04em;margin-top:25px;border-bottom:1px solid #aaa;padding-bottom:5px}.contact-form{margin-top:50px}.contact-content{padding-right:10px}.project-tools{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:25px;margin:0 0 40px}.category-filters{display:flex;gap:20px}.category-filters button{font:inherit;padding:8px 0;color:#888}.category-filters button.active{color:#000}.category-filters button.active:before{content:'■ ';font-size:9px}.search-label{display:flex;flex-direction:column;gap:8px;font-size:10px}.search-label input{width:100%;padding:7px 0;background:none;border:0;border-bottom:1px solid #aaa;outline:none;font:14px Arial}.search-label input:focus{border-color:#000}.empty-results{font-size:20px;grid-column:1/-1;min-height:200px;padding:30px 0}.project-spread{grid-template-columns:1fr 1fr;gap:10px}.project-spread img{height:70vh;object-fit:contain;background:#f3f3f3}.method-row{display:grid;grid-template-columns:10% 40% 50%;border-bottom:1px solid #999;padding:25px 0;gap:10px 0}.method-row h3{font-size:32px;letter-spacing:-.05em}.method-row p{line-height:1.35;max-width:550px}.towns{font-size:clamp(28px,4vw,58px);letter-spacing:-.055em;line-height:1.15;max-width:1100px}.remote-note{margin-top:35px;max-width:450px;line-height:1.35}.service-price{margin:0 0 30px}.service-description{font-size:22px}.collaborations .quote{font-size:clamp(20px,2.4vw,38px);max-width:900px;min-height:140px}.collab-link{margin-top:35px}.hugo-case-meta{grid-template-columns:1.2fr 1.8fr .6fr}.case-description>.bracket{margin-top:25px}.case-page>h1{max-width:1200px;overflow-wrap:anywhere}.hugo-gallery{align-items:start}.hugo-gallery .gallery-item{position:relative;display:block;min-width:0;text-align:left;margin:0 0 12px;overflow:hidden;align-self:start;background:#f6f6f6}.hugo-gallery .gallery-item:nth-child(3n){grid-column:span 2}.hugo-gallery img{height:auto!important;max-height:none!important;min-height:0;object-fit:contain}.gallery-item img{transition:filter .4s}.gallery-item:hover img{filter:brightness(.88)}.media-caption{display:block;padding:12px 10px;background:#fff;color:#111;font-size:10px}.video-tile{display:block;position:relative;aspect-ratio:var(--ratio);max-height:78vh;overflow:hidden;background:#111}.video-tile img{width:100%;height:100%!important;object-fit:contain;opacity:.55}.play-icon{position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:48px}.case-story{padding-left:0;padding-right:0}.story-block{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:65px}.story-block h2{font-size:34px}.story-block p{grid-column:2;max-width:650px;line-height:1.45}.story-block p:nth-child(2){grid-row:1}.next-heading{gap:25px}.next-heading h2{max-width:75%}.next-heading>.bracket{white-space:nowrap}.list-info .location{max-width:250px;justify-self:end;line-height:1.4}.caption{font-size:11px}.showcase-title{gap:5vw;font-size:clamp(25px,4vw,60px);white-space:nowrap}.film-caption{gap:20px;left:12%;right:12%}.film-caption p{max-width:200px}.half-heading h2{padding-right:100px}.contact-section .half-heading h2{padding-right:20px}
#lightbox{border:0;padding:15px 20px;background:#080808;color:#fff;width:min(1500px,98vw);height:96svh;max-width:none;max-height:none;overflow:hidden}#lightbox::backdrop{background:#000e;backdrop-filter:blur(10px)}.lightbox-top{display:flex;justify-content:space-between;gap:20px;align-items:center;height:40px}.lightbox-top button,.lightbox-bottom button{font:12px var(--mono);color:white}.lightbox-top p{font:11px var(--mono);text-transform:uppercase;max-width:75%}#lightbox-media{height:calc(100% - 85px);display:grid;place-items:center}#lightbox-media img,#lightbox-media video{width:100%;height:100%;min-height:0;max-height:calc(96svh - 120px);object-fit:contain}.lightbox-bottom{height:45px;display:flex;align-items:center;justify-content:center;gap:60px}
@media(max-width:1100px) and (min-width:801px){.clock{font-size:10px}header{grid-template-columns:45% 18% 17% 20%}.service-bottom{flex-direction:column;gap:7px}.film-caption{left:5%;right:5%}.half-heading h2{padding-right:0}.half-heading .tag{top:-25px}}
@media(max-width:800px){.logo{font-size:30px}.footer-word{font-size:17.1vw}.footer-top{gap:15px}.footer-top div{overflow-wrap:anywhere}.footer-bottom{gap:20px 10px}.footer-bottom div{flex-wrap:wrap}.availability{font-size:9px;line-height:1.5}.project-tools{grid-template-columns:1fr auto;gap:20px 12px}.category-filters{grid-column:1/-1;gap:22px;font-size:11px}.search-label{font-size:9px}.project-tools #result-count{font-size:10px;padding-bottom:10px}.project-spread{grid-template-columns:1fr}.project-spread img{height:55vh}.method-row{grid-template-columns:12% 88%;padding:22px 0}.method-row h3{font-size:29px}.method-row p{grid-column:2;margin-top:15px}.service-bottom{flex-wrap:wrap;gap:12px}.service-info{min-height:120px}.service-description{height:auto;min-height:200px;font-size:21px}.service-content{min-width:0}.service-visuals{height:190px}.hugo-gallery .gallery-item:nth-child(n){grid-column:1}.hugo-case-meta{grid-template-columns:1fr 1fr;gap:25px}.hugo-case-meta>div:last-child{grid-column:1/-1}.hugo-case-meta span{margin-top:10px}.case-head{gap:35px}.case-story{padding-top:60px}.story-block{grid-template-columns:1fr;margin-bottom:45px}.story-block p{grid-column:1}.story-block p:nth-child(2){grid-row:auto}.story-block h2{font-size:30px}.next-heading{flex-direction:column;gap:20px}.next-heading h2{max-width:100%}.direct-email{font-size:25px}.contact-content{padding-right:0}.form-pair{gap:18px}.contact-form label{font-size:10px}.contact-form input,.contact-form select,.contact-form textarea{font-size:15px}.collaborations h2{font-size:36px}.collaborations .quote{font-size:23px;min-height:190px}.quote-controls{gap:20px}.quote-controls button{font-size:10px}.film-caption{left:10px;right:10px;font-size:10px}.half-heading h2{padding-right:0}.half-heading .tag{max-width:45%;text-align:right}.caption{font-size:9px}.caption .roll{white-space:normal}.hero-meta{font-size:10px}.showcase-title{gap:15px;font-size:24px}.form-pair{grid-template-columns:1fr}#lightbox{padding:8px;width:100vw;height:100svh}.lightbox-top p{font-size:9px}.lightbox-top button{font-size:10px}#lightbox-media img,#lightbox-media video{max-height:calc(100svh - 120px)}.lightbox-bottom{gap:35px}.lightbox-bottom button{font-size:10px}}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.compact-hero{height:70svh;min-height:480px;max-height:750px}.compact-hero .stage{width:520px;height:430px}.fan a{width:260px;height:260px;top:-130px}.fan img{object-fit:contain;background:#fff}.compact-hero .hero-meta{top:42%;line-height:1.5}.compact-hero .hero-meta>span:last-child{text-align:right}.fan-tools{position:absolute;bottom:20px;left:10px;right:10px;display:flex;justify-content:center;gap:30px;align-items:center;font-size:10px}.fan-tools>span{color:#777}.fan-tools button{font:inherit}.explorer-section{padding:45px 28px 25px}.explorer-section .section-head{margin-bottom:28px}.explorer-section h2{font-size:clamp(34px,4vw,65px)}.explorer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #aaa;border-bottom:1px solid #aaa;padding:14px 0;font-size:10px}.explorer-filters,.explorer-modes{display:flex;gap:18px}.explorer-toolbar button{font:inherit;color:#888;white-space:nowrap}.explorer-toolbar button.active{color:#000}.explorer-toolbar button.active:before{content:'■ ';font-size:8px}.explorer-search{margin-left:auto;max-width:270px;flex:1}.explorer-search input{border:0;background:none;padding:0 0 3px;width:100%;outline:none;font:12px Arial;border-bottom:1px solid transparent}.explorer-search input:focus{border-color:#111}.explorer-modes{border-left:1px solid #bbb;padding-left:25px}.explorer-bottom{display:flex;justify-content:space-between;margin-top:18px;color:#777;font-size:10px}#explorer-content{min-height:450px}.focus-scene{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:30px 0}.focus-copy{padding:15px 0;max-width:520px}.focus-copy h3{font-size:clamp(35px,4.2vw,66px);line-height:1;letter-spacing:-.06em;margin:28px 0 22px;text-transform:uppercase;overflow-wrap:anywhere}.focus-copy p{font-size:16px;line-height:1.4;max-width:450px}.focus-copy>.mono{font-size:10px;color:#666}.focus-copy .focus-client{display:block;margin:25px 0}.focus-copy>.bracket{margin-top:4px}.focus-picture{position:relative;aspect-ratio:1;max-height:460px;max-width:460px;justify-self:center;width:100%;overflow:hidden;background:#f3f3f3;animation:focus-in .5s var(--ease)}.focus-picture img{height:100%;object-fit:contain;transition:transform .6s var(--ease)}.focus-picture:hover img{transform:scale(1.025)}.focus-picture>span{position:absolute;bottom:0;left:0;right:0;padding:12px;background:#000b;color:white;font-size:10px;transform:translateY(100%);transition:transform .3s}.focus-picture:hover>span{transform:none}.focus-arrows{display:flex;gap:10px;align-items:center;margin-top:35px}.focus-arrows button{width:47px;height:42px;border:1px solid #aaa;font-size:25px;transition:background .2s,color .2s}.focus-arrows button:hover{background:#111;color:white}.focus-arrows>span{margin-left:10px;color:#888;font-size:9px}.focus-rail{display:flex;gap:10px;overflow-x:auto;scrollbar-width:thin;padding:12px 0 15px}.focus-rail button{position:relative;flex:0 0 68px;aspect-ratio:1;opacity:.45;transition:opacity .3s,transform .3s}.focus-rail button.active,.focus-rail button:hover{opacity:1}.focus-rail button.active{outline:1px solid #111;outline-offset:4px}.focus-rail img{height:100%;object-fit:contain}.focus-rail button>span{position:absolute;bottom:0;right:0;font-size:8px;background:#fff;padding:3px;pointer-events:none}.project-table{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 18px;padding:30px 0}.table-card{perspective:900px;min-width:0}.table-square{position:relative;aspect-ratio:1;transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .18s ease-out;overflow:hidden;background:#f3f3f3}.table-square img{height:100%;object-fit:contain}.table-flip{position:absolute;top:10px;right:10px;background:#fff;padding:7px;font-size:8px;opacity:0;transition:opacity .3s}.table-card:hover .table-flip{opacity:1}.table-progress{position:absolute;bottom:0;left:0;height:3px;width:var(--scrub,0%);background:#111;transition:width .12s}.project-table .caption{font-size:10px;line-height:1.3;margin-top:12px}.interactive-index{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;padding:25px 0}.index-rows{max-height:510px;overflow:auto;scrollbar-width:thin}.index-rows a{display:grid;grid-template-columns:35px 1fr 75px 15px;gap:10px;border-bottom:1px solid #bbb;padding:20px 5px;align-items:center;transition:background .2s}.index-rows a>span:nth-child(2){font-size:20px;letter-spacing:-.04em}.index-rows a:hover,.index-rows a:focus{background:#eee}.index-rows .mono{font-size:10px}.index-preview{position:relative;align-self:center;aspect-ratio:1;max-height:440px}.index-preview img{height:100%;object-fit:contain}.index-preview>span{position:absolute;bottom:10px;left:10px;background:#fff;padding:8px;font-size:9px}.compact-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:65px 28px;border-top:1px solid #aaa;margin-top:35px}.compact-intro h2{font-size:clamp(35px,4vw,60px);margin:24px 0}.compact-intro>div>p{max-width:420px;line-height:1.4;margin:20px 0 25px}.expertise-folds details{border-bottom:1px solid #999}.expertise-folds summary{display:grid;grid-template-columns:30px 1fr 20px;gap:10px;align-items:center;cursor:pointer;padding:20px 0;list-style:none}.expertise-folds summary::-webkit-details-marker{display:none}.expertise-folds summary>span:nth-child(2){font-size:20px;letter-spacing:-.035em}.expertise-folds .mono{font-size:10px}.expertise-folds p{line-height:1.4;max-width:460px;margin:0 0 18px 40px}.fold-price{display:block;margin:0 0 25px 40px;color:#777}.fold-plus{font-size:22px;transition:transform .3s}.expertise-folds details[open] .fold-plus{transform:rotate(45deg)}.compact-footer{display:flex;justify-content:space-between;align-items:end;gap:30px;border-top:1px solid #aaa;padding:40px 28px 25px}.compact-footer .mono{font-size:9px}.footer-mail{display:block;font-size:clamp(27px,4vw,58px);letter-spacing:-.055em;margin-top:20px}.footer-links{display:flex;gap:25px;flex-wrap:wrap;justify-content:flex-end}.room-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0;font-size:10px}.room-nav .bracket{font-size:10px}.room-nav>div{display:flex;gap:20px}.project-room{padding:0 28px 25px}.room-layout{display:grid;grid-template-columns:36% 64%;gap:0;min-height:600px}.room-info{padding:25px 50px 25px 0}.room-info>.mono{font-size:10px;color:#777}.room-info h1{font-size:clamp(32px,3.6vw,58px);line-height:1;letter-spacing:-.065em;text-transform:uppercase;margin:25px 0;overflow-wrap:anywhere}.room-info>p{line-height:1.4;font-size:15px}.room-client{display:grid;grid-template-columns:65px 1fr;gap:10px;margin:30px 0;font-size:10px;line-height:1.5}.room-story{margin-top:30px;border-top:1px solid #aaa;border-bottom:1px solid #aaa}.room-story>summary{padding:17px 0;cursor:pointer;list-style:none;font-size:10px}.room-story section{margin:0 0 25px}.room-story h3{font-size:20px;letter-spacing:-.04em;margin:18px 0 10px}.room-story p{line-height:1.4;font-size:14px;margin-top:10px}.room-gallery{min-width:0}.room-media{height:61svh;min-height:390px;max-height:720px;background:#f3f3f3;display:grid;place-items:center;position:relative}.room-image{height:100%;width:100%;min-height:0;display:block}.room-media img,.room-media video{width:100%;height:100%;object-fit:contain;max-height:61svh;min-height:0}.room-media-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px 0;font-size:10px}.room-media-controls button{font:inherit}.room-thumbs{display:flex;overflow:auto;gap:8px;padding:7px 4px 15px;scrollbar-width:thin}.room-thumbs button{width:58px;min-width:58px;aspect-ratio:1;position:relative;border:1px solid transparent;background:#eee;opacity:.5}.room-thumbs button.active{opacity:1;border-color:#111;outline:1px solid #111;outline-offset:2px}.room-thumbs button:hover{opacity:1}.room-thumbs img{height:100%;object-fit:contain}.room-thumbs button>span:last-child{position:absolute;bottom:0;right:0;background:white;font:8px var(--mono);padding:2px}.thumb-video{display:grid;place-items:center;height:100%;background:#111;color:white}.compact-about{padding:55px 28px}.about-topline{display:flex;justify-content:space-between;font-size:10px;margin-bottom:35px}.compact-about>h1{font-size:clamp(35px,5.5vw,85px);letter-spacing:-.065em;line-height:1;margin-bottom:50px}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:80px}.about-columns>div>p{max-width:500px;line-height:1.4;margin-bottom:25px}.about-columns .about-lead{font-size:24px;letter-spacing:-.035em}.compact-stats{display:flex;gap:28px;margin:35px 0}.compact-stats span{font-size:9px}.compact-stats b{font:bold 30px Arial;letter-spacing:-.05em;display:block;margin-bottom:8px}.about-method,.about-faq{border-bottom:1px solid #aaa;padding:20px 0}.about-method summary,.about-faq summary{font-size:10px;cursor:pointer;list-style:none}.about-method>div,.about-faq>div{margin-top:25px}.about-method h3,.about-faq h3{font-size:20px;letter-spacing:-.03em;margin:0 0 10px}.about-method p,.about-faq p{line-height:1.4;font-size:15px}.about-faq{max-width:650px;margin-top:35px}.about-mode header{background:white;color:#111}.contact-section{padding:55px 28px}.contact-section .half-heading{margin-bottom:25px}.contact-intro{margin-top:10px}.contact-form{gap:22px}.page-enter{animation-duration:.4s}@keyframes focus-in{from{opacity:.4;transform:translateX(12px)}to{opacity:1;transform:none}}
@media(max-width:1000px) and (min-width:801px){.explorer-toolbar{gap:15px}.explorer-filters,.explorer-modes{gap:10px}.focus-scene{gap:25px}.room-info{padding-right:25px}.room-layout{grid-template-columns:40% 60%}.footer-links{max-width:220px;gap:15px}.room-media{height:55svh}.room-media img,.room-media video{max-height:55svh}}
@media(max-width:800px){.compact-hero{height:66svh;min-height:490px;max-height:650px}.compact-hero .stage{width:310px;height:330px}.fan a{width:165px;height:165px;top:-82.5px}.compact-hero .hero-meta{top:20%;font-size:9px;line-height:1.5}.fan-tools{gap:15px;font-size:9px;bottom:20px}.fan-tools>span{font-size:8px}.explorer-section{padding:30px 12px 20px}.explorer-section .section-head h2{font-size:33px}.explorer-section .section-head>.bracket{font-size:9px;margin-top:7px}.explorer-toolbar{flex-wrap:wrap;gap:18px 10px;padding:15px 0;font-size:9px}.explorer-filters{gap:15px;flex:1}.explorer-search{flex:0 0 100%;order:3;max-width:none}.explorer-search input{font-size:13px}.explorer-modes{padding-left:10px;gap:12px}.focus-scene{grid-template-columns:1fr;gap:20px;padding:20px 0}.focus-picture{grid-row:1;max-height:none;max-width:min(100%,400px);width:100%}.focus-copy{padding:0}.focus-copy h3{font-size:35px;margin:15px 0}.focus-copy p{font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.focus-copy .focus-client{margin:15px 0;font-size:9px}.focus-arrows{margin-top:20px}.focus-arrows button{height:36px;width:43px;font-size:22px}.focus-arrows>span{font-size:8px}.focus-rail{gap:9px}.focus-rail button{flex-basis:48px}.explorer-bottom{font-size:8px;gap:10px}.explorer-bottom>span:last-child{text-align:right}#explorer-content{min-height:350px}.project-table{grid-template-columns:1fr 1fr;gap:24px 12px;padding:20px 0}.table-card .caption{font-size:9px;gap:7px}.table-flip{display:none}.interactive-index{grid-template-columns:1fr;gap:15px}.index-preview{grid-row:1;aspect-ratio:1;max-height:230px;justify-self:center;width:230px}.index-preview>span{font-size:7px}.index-rows{max-height:320px}.index-rows a{grid-template-columns:25px 1fr 55px 15px;gap:5px;padding:17px 0}.index-rows a>span:nth-child(2){font-size:19px}.index-rows .mono{font-size:9px}.compact-intro{grid-template-columns:1fr;gap:30px;padding:35px 12px;margin-top:15px}.compact-intro h2{font-size:36px;margin:18px 0}.compact-intro p{font-size:15px}.expertise-folds summary>span:nth-child(2){font-size:18px}.expertise-folds summary{padding:18px 0;grid-template-columns:25px 1fr 20px}.expertise-folds p{margin-left:35px;font-size:14px}.fold-price{margin-left:35px;font-size:9px!important}.compact-footer{padding:30px 12px 20px;display:block}.compact-footer .mono{font-size:8px}.footer-mail{font-size:31px;margin-top:15px}.footer-links{margin-top:28px;justify-content:space-between;gap:15px}.project-room{padding:0 12px 20px}.room-nav{padding:20px 0;gap:12px;font-size:8px;flex-wrap:wrap}.room-nav .bracket{font-size:8px}.room-nav>div{gap:15px}.room-nav>span{display:none}.room-layout{grid-template-columns:1fr;min-height:0}.room-info{padding:10px 0 25px}.room-info h1{font-size:38px;margin:15px 0}.room-info>p{font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.room-client{margin:20px 0;font-size:9px}.room-info .bracket{font-size:10px}.room-story{margin-top:20px}.room-gallery{grid-row:2}.room-media{height:54svh;min-height:290px;max-height:520px}.room-media img,.room-media video{max-height:54svh}.room-media-controls{font-size:9px;gap:8px}.room-thumbs button{width:48px;min-width:48px}.compact-about{padding:35px 12px}.about-topline{font-size:8px;gap:20px;line-height:1.4;margin-bottom:25px}.about-topline>span:last-child{text-align:right}.compact-about>h1{font-size:39px;margin-bottom:30px}.about-columns{grid-template-columns:1fr;gap:30px}.about-columns .about-lead{font-size:22px}.compact-stats{gap:35px;margin:25px 0}.about-faq{margin-top:15px}.contact-section{padding:35px 12px}.contact-section .half-heading h2{font-size:35px}.contact-section .half-heading{gap:25px}.table-square{transform:none!important}.focus-picture>span{display:none}}
@media(prefers-reduced-motion:reduce){.table-square{transform:none!important}.focus-picture{animation:none}}

@media(min-width:801px){.compact-hero .stage{transform:translateY(-20px)}.fan a{width:240px;height:240px;top:-120px}}

.focus-picture img,.room-media img{user-select:none;-webkit-user-drag:none}
@media(max-width:800px){.explorer-section .section-head{gap:10px;align-items:center}.explorer-section .section-head h2{font-size:29px;white-space:nowrap;gap:5px}.explorer-section .section-head h2 sup{font-size:9px}.explorer-section .section-head>.bracket{font-size:8px;white-space:nowrap;margin-top:0;gap:4px}.explorer-section .section-head>.bracket .roll{white-space:nowrap}}

/* Menu mobile compact, aligné sur le bord droit de la navigation. */
.mobilemenu{position:absolute;inset:55px 10px auto auto;width:240px;max-width:calc(100vw - 20px);height:auto;min-height:0;padding:14px 18px 16px;background:#f4f3ef;color:#111;border:1px solid #d8d6cf;box-shadow:0 16px 40px #0002;display:flex;align-items:stretch;justify-content:flex-start;text-align:right;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .2s,transform .25s var(--ease);z-index:45}
.mobilemenu a{font:12px/1.3 var(--mono);letter-spacing:0;padding:12px 0;border-bottom:1px solid #d8d6cf;text-transform:uppercase}.mobilemenu a:hover{color:#777}.mobilemenu .mono{font-size:9px;line-height:1.5;margin-top:20px;text-align:right;color:#777}.menu-open{overflow:visible}.menu-open .mobilemenu{transform:none;opacity:1;pointer-events:auto}.menu-open header{color:#111}.mobilemenu a:last-of-type{border-bottom:0}@media(min-width:801px){.mobilemenu{display:none}}

.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link:focus{clip-path:none;width:auto;height:auto;padding:15px;z-index:10000;background:white}.hg-native{padding:60px 28px;min-height:60vh}.hg-native h1{font-size:clamp(35px,5vw,75px);letter-spacing:-.06em;line-height:1.05;margin:25px 0}.hg-native p{line-height:1.5;margin:20px 0;max-width:700px}.hg-native h2{font-size:30px;margin:30px 0 15px}.hg-native-grid,.hg-native-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.hg-native-grid img{aspect-ratio:1;object-fit:contain}.hg-native-gallery img,.hg-native-gallery video{max-height:70vh;object-fit:contain}.hg-native-grid h2{font-size:24px}.hg-nojs{padding:15px 28px;font:11px monospace}body.admin-bar .mobilemenu{top:87px}@media(max-width:782px){body.admin-bar .mobilemenu{top:101px}.hg-native-grid,.hg-native-gallery{grid-template-columns:1fr 1fr}.hg-native{padding:35px 12px}}
/* Rendu serveur : ce que voient les moteurs et les visiteurs sans JS.
   Il doit être présentable, pas seulement présent. */
.hg-native{max-width:1180px;margin:0 auto;padding:clamp(20px,4vw,56px)}
.hg-native h1{font-size:clamp(28px,4.6vw,56px);line-height:1.04;letter-spacing:-.03em;margin:0 0 14px}
.hg-native h2{font-size:clamp(18px,2.2vw,26px);line-height:1.15;letter-spacing:-.02em;margin:28px 0 10px}
.hg-native-lede{font-size:clamp(16px,1.7vw,20px);line-height:1.45;margin:0 0 18px;opacity:.82}
.hg-native p{max-width:68ch}
.hg-native-meta{display:grid;gap:0;margin:22px 0;border-top:1px solid currentColor}
.hg-native-meta>div{display:grid;grid-template-columns:14ch 1fr;gap:0 16px;padding:7px 0;
  border-bottom:1px solid rgba(128,128,128,.3)}
.hg-native-meta dt{opacity:.6;font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.hg-native-meta dd{margin:0}
.hg-native-grid{display:grid;gap:clamp(22px,3vw,44px);margin-top:28px;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.hg-native-card h2{margin:0 0 10px}
.hg-native-thumb{display:block}
.hg-native-thumb img{width:100%;height:auto}
.hg-native-gallery{display:grid;gap:clamp(14px,2vw,28px);
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.hg-native-gallery figure{margin:0}
.hg-native-gallery img,.hg-native-gallery video{width:100%;height:auto}
.hg-native-more ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.hg-native-dispo{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px}
.hg-native-dispo::before{content:"";width:8px;height:8px;border-radius:50%;background:#2ec27e}
.hg-native-cta{display:inline-block;margin:4px 0 18px;text-decoration:underline}
.footer-social{display:flex;flex-wrap:wrap;gap:6px 18px;margin:8px 0}
