
:root{--bg:#10110f;--panel:#1b1d1a;--ink:#edeee8;--muted:#a6aaa3;--line:rgba(255,255,255,.17);--accent:#d7dbb6;--edge:clamp(22px,5vw,86px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{width:100%;height:100%;display:block;object-fit:cover}::selection{background:#d7dbb6;color:#10110f}nav{position:absolute;z-index:15;inset:0 0 auto 0;padding:29px var(--edge);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.26)}.logo{font-family:'Georgia','Times New Roman',serif;font-weight:700;font-size:17px;letter-spacing:.21em;white-space:nowrap}.navlinks{display:flex;align-items:center;gap:38px}.navlinks a{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;transition:opacity .2s}.navlinks a:hover{opacity:.6}.nav-contact{padding:11px 18px;border:1px solid #b0b4ab;border-radius:2px}.menu-btn{display:none;background:transparent;color:#fff;border:0;font-size:13px;letter-spacing:.1em}.hero{min-height:760px;height:100svh;max-height:1250px;position:relative;display:flex;flex-direction:column;justify-content:end;overflow:hidden;background:#353a33}.hero-image{position:absolute;inset:0;background-image:linear-gradient(180deg,rgba(8,11,10,.47) 0%,rgba(8,11,10,.06) 34%,rgba(8,11,10,.53) 70%,rgba(8,11,10,.87) 100%),url('images/hero.jpg');background-position:center;background-size:cover;transform:scale(1.025);animation:herozoom 12s ease-out both}@keyframes herozoom{to{transform:scale(1)}}.hero-content{position:relative;padding:0 var(--edge) clamp(65px,10vh,115px);width:100%}.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--accent)}.hero h1{font-family:'Georgia','Times New Roman',serif;font-size:clamp(62px,10.5vw,176px);font-weight:500;letter-spacing:-.065em;line-height:.89;margin:24px 0 28px;max-width:1200px}.hero h1 em{font-style:normal;color:#d3d7ce}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px}.hero-sub{font-size:clamp(14px,1.4vw,18px);line-height:1.6;max-width:350px;color:#e6e8e3}.scroll-tip{font-size:10px;letter-spacing:.18em;font-weight:700}.arrow{font-size:28px;margin-left:14px}.section{padding:115px var(--edge)}.section-top{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:55px}.section h2{font-family:'Georgia','Times New Roman',serif;font-size:clamp(43px,5.8vw,85px);font-weight:500;letter-spacing:-.045em;line-height:1.05;margin:16px 0 0}.bodycopy{max-width:390px;font-size:15px;line-height:1.8;color:var(--muted)}.work-grid{display:grid;grid-template-columns:1.22fr 1fr;gap:25px}.work-card{min-width:0;cursor:pointer;display:block}.work-card:nth-child(1){grid-row:span 2}.work-card .image-wrap{position:relative;overflow:hidden;background:#30342e;aspect-ratio:1.49}.work-card:nth-child(1) .image-wrap{aspect-ratio:auto;height:calc(100% - 61px)}.work-card:nth-child(2) .image-wrap,.work-card:nth-child(3) .image-wrap{aspect-ratio:2.07}.work-card img{transition:transform .6s ease}.work-card:hover img{transform:scale(1.045)}.work-meta{display:flex;justify-content:space-between;align-items:center;padding:21px 0 8px;border-bottom:1px solid var(--line)}.work-title{font-size:20px;letter-spacing:-.03em}.work-type{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.work-link{display:inline-block;margin-top:55px;border-bottom:1px solid #cdd2c4;padding-bottom:9px;font-size:12px;text-transform:uppercase;letter-spacing:.15em;font-weight:700}.work-link span{padding-left:35px}.intro{background:#e4e3dc;color:#242721;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:125px var(--edge)}.intro .eyebrow{color:#5b6654}.intro h2{font-family:'Georgia','Times New Roman',serif;font-size:clamp(48px,6.2vw,96px);font-weight:500;letter-spacing:-.055em;line-height:1.05;margin:23px 0}.intro p{color:#545952;max-width:410px;line-height:1.9;font-size:16px;margin-top:45px}.intro-label{font-size:13px;line-height:1.7;color:#60655d;border-top:1px solid #b8b9b1;padding-top:17px;align-self:end}.services .service{display:grid;grid-template-columns:70px 1fr 1.3fr 30px;align-items:center;gap:20px;padding:39px 0;border-top:1px solid var(--line)}.services .service:last-child{border-bottom:1px solid var(--line)}.service-num{color:var(--muted);font-size:12px}.service-title{font-family:'Georgia','Times New Roman',serif;font-size:clamp(27px,3.2vw,45px);letter-spacing:-.055em}.service-desc{font-size:14px;line-height:1.7;color:var(--muted);max-width:400px}.service-icon{font-size:26px}.film{height:630px;position:relative;background:#383b33;overflow:hidden;display:flex;align-items:center}.film-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(9,12,10,.8),rgba(9,12,10,.10)),url('images/environmental.jpg');background-size:cover;background-position:center}.film-inner{position:relative;padding:0 var(--edge);max-width:820px}.film h2{font-family:'Georgia','Times New Roman',serif;font-size:clamp(46px,6vw,85px);font-weight:500;letter-spacing:-.048em;line-height:1.07;margin:20px 0}.film p{max-width:430px;color:#dedfd9;line-height:1.7}.button-link{display:inline-flex;align-items:center;gap:48px;background:#e5e6dc;color:#191c18;padding:17px 22px;margin-top:29px;text-transform:uppercase;font-weight:700;letter-spacing:.12em;font-size:11px}.contact{padding:125px var(--edge) 90px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact h2{font-family:'Georgia','Times New Roman',serif;font-size:clamp(58px,8vw,122px);letter-spacing:-.055em;font-weight:500;line-height:.97;margin:23px 0}.contact-info{display:flex;flex-direction:column;justify-content:end;gap:24px}.contact p{font-size:16px;color:var(--muted);line-height:1.8;max-width:420px}.contact-email{display:inline-block;font-size:clamp(18px,2.3vw,32px);letter-spacing:-.04em;border-bottom:1px solid var(--accent);padding-bottom:12px;width:max-content;max-width:100%;overflow-wrap:anywhere}footer{border-top:1px solid var(--line);padding:26px var(--edge);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;letter-spacing:.09em;text-transform:uppercase}.demo-note{position:fixed;right:18px;bottom:17px;padding:11px 14px;background:#e4e5dc;color:#212520;z-index:12;font-size:11px;box-shadow:0 4px 30px #0005;border-radius:3px}.demo-note button{margin-left:14px;background:none;border:0;cursor:pointer;font-size:18px;vertical-align:middle}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.show{opacity:1;transform:translateY(0)}@media(max-width:850px){.hero{min-height:690px}.navlinks{display:none;position:absolute;left:0;right:0;top:73px;background:#141613;flex-direction:column;align-items:start;padding:30px var(--edge);gap:25px}.navlinks.open{display:flex}.menu-btn{display:block}.section{padding:80px var(--edge)}.section-top{display:block}.bodycopy{margin-top:25px}.work-grid{grid-template-columns:1fr}.work-card:nth-child(1){grid-row:auto}.work-card:nth-child(1) .image-wrap{aspect-ratio:1.3;height:auto}.work-card:nth-child(2) .image-wrap,.work-card:nth-child(3) .image-wrap{aspect-ratio:1.5}.intro{grid-template-columns:1fr;padding:85px var(--edge);gap:20px}.intro p{margin-top:15px}.services .service{grid-template-columns:40px 1fr 20px;gap:10px;padding:28px 0}.service-desc{grid-column:2;grid-row:2}.service-icon{grid-column:3;grid-row:1}.contact{grid-template-columns:1fr;padding:90px var(--edge);gap:10px}.film{height:540px}.hero-bottom{align-items:start}.scroll-tip{display:none}}@media(max-width:550px){.hero h1{font-family:'Georgia','Times New Roman',serif;font-size:clamp(60px,14.5vw,84px)}.hero{min-height:620px;max-height:820px}.hero-content{padding-bottom:65px}.section h2{font-family:'Georgia','Times New Roman',serif;font-size:49px}.section-top{margin-bottom:35px}.intro h2{font-family:'Georgia','Times New Roman',serif;font-size:54px}.film h2{font-family:'Georgia','Times New Roman',serif;font-size:54px}.contact h2{font-family:'Georgia','Times New Roman',serif;font-size:67px}footer{flex-direction:column}.demo-note{left:12px;right:12px;text-align:center}.work-title{font-size:18px}}

h1,h2{font-weight:400!important;letter-spacing:-.055em!important}.logo{font-family:Arial,sans-serif;font-size:15px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:7px}dialog{border:1px solid #555;background:#10110f;color:#edeee8;width:94vw;max-width:1200px;padding:18px}dialog::backdrop{background:#000e}dialog img{height:75svh;object-fit:contain}dialog button{background:none;color:inherit;border:1px solid #777;padding:10px 18px;cursor:pointer}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.subnav{position:relative}.page-head{padding:85px var(--edge) 55px}.page-head h1{font-family:Georgia,serif;font-size:clamp(54px,8vw,110px);line-height:1;margin:22px 0}.page-head p{max-width:660px;color:var(--muted);line-height:1.8}.collection{padding:25px var(--edge) 65px}.collection h2{font-family:Georgia,serif;font-size:38px;font-weight:400}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}.photo-grid button{border:0;background:none;padding:0;cursor:zoom-in}.photo-grid img{height:auto;aspect-ratio:4/5;object-fit:cover}.photo-grid button.wide{grid-column:span 2}.photo-grid .wide img{aspect-ratio:1.6}.service{transition:background .2s}.service:hover{background:#ffffff08}.service:focus-visible{outline:2px solid var(--accent)}.breadcrumbs{font-size:12px;color:var(--muted);letter-spacing:.1em}.service-tabs{display:flex;gap:22px;flex-wrap:wrap;margin-top:35px;font-size:13px}.service-tabs a{border-bottom:1px solid #9ca38e;padding-bottom:8px}video{display:block;width:100%;max-height:75vh;background:#000}.video-label{color:var(--muted);font-size:13px;line-height:1.6}.subpage .reveal{opacity:1;transform:none}@media(max-width:650px){.photo-grid{grid-template-columns:repeat(2,1fr);gap:10px}.page-head{padding-top:50px}.collection{padding-bottom:35px}.gallery-controls{flex-wrap:wrap}dialog img{height:65svh}}

/* Centered editorial galleries and an inspectable full-size viewer. */
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:1280px;margin:0 auto;align-items:center}.photo-grid button,.photo-grid button.wide{grid-column:auto;width:100%;min-width:0}.photo-grid img,.photo-grid .wide img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.photo-grid button.wide:nth-child(3n),.photo-grid button:last-child:nth-child(odd){grid-column:1/-1;width:82%;justify-self:center}.collection>h2{text-align:center;margin-bottom:32px}.collection .photo-grid:has(>button:only-child)>button{width:100%;max-width:1050px}.image-stage{width:100%;height:75svh;overflow:auto;overscroll-behavior:contain;position:relative;touch-action:pan-x pan-y}.image-stage img{display:block;width:100%;height:100%;object-fit:contain;cursor:zoom-in}.image-stage.zoomed img{width:220%;max-width:none;height:auto;min-height:100%;object-fit:contain;cursor:grab}.image-stage.dragging img{cursor:grabbing;user-select:none}#zoomPhoto{white-space:nowrap}.zoom-hint{font-size:12px;color:#b5b8ae;text-align:center;margin:10px 0 0}.gallery-controls{flex-wrap:wrap}dialog{overflow:hidden}dialog[open]{display:flex;flex-direction:column}dialog #caption{flex:1;text-align:center}@media(max-width:650px){.photo-grid{gap:16px;grid-template-columns:1fr}.photo-grid button,.photo-grid button.wide,.photo-grid button.wide:nth-child(3n),.photo-grid button:last-child:nth-child(odd){grid-column:auto;width:100%}.image-stage{height:65svh}.gallery-controls{gap:8px}.gallery-controls button{padding:10px 12px}}

/* Inner portfolio design */
.subpage{background:#121310}.subpage .subnav{padding-top:25px;padding-bottom:25px;border-color:#ffffff12}.subpage .page-head{max-width:1600px;margin:auto;padding:38px var(--edge) 34px}.portfolio-nav{padding-bottom:24px;border-bottom:1px solid #ffffff20;margin-bottom:35px}.portfolio-nav .breadcrumbs{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#b8bcae}.portfolio-nav .service-tabs{margin-top:17px;gap:8px;align-items:start}.portfolio-nav .service-tabs>a,.portfolio-nav summary{font-size:12px;padding:10px 15px;border:1px solid #ffffff22;border-radius:2px;color:#c5c8bf;background:transparent}.portfolio-nav .service-tabs>a:hover,.portfolio-nav summary:hover{background:#ffffff09;color:#fff}.portfolio-nav .service-tabs>a[aria-current=page],.portfolio-nav .portrait-switch[data-active] summary{background:#d7dbb6;color:#1b1d18;border-color:#d7dbb6}.portrait-switch{position:relative}.portrait-switch summary{cursor:pointer;list-style:none}.portrait-switch summary::-webkit-details-marker{display:none}.portrait-switch summary::after{content:' +';margin-left:10px}.portrait-switch[open] summary::after{content:' −'}.portrait-options{position:absolute;top:calc(100% + 8px);left:0;z-index:30;min-width:215px;padding:8px;background:#22251e;border:1px solid #555b4c;box-shadow:0 15px 35px #0007}.portrait-options a{display:block;padding:12px 14px!important;border:0!important;white-space:nowrap}.portrait-options a:hover,.portrait-options a[aria-current=page]{background:#ffffff10}.heading-line{display:flex;align-items:end;justify-content:space-between;gap:25px}.subpage .page-head h1{font-family:Georgia,serif;font-size:clamp(46px,5.4vw,78px);line-height:1.08;font-weight:400;letter-spacing:-.045em;margin:12px 0 0}.page-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.19em;color:#a7af97}.collection-count{color:#a5ab9d;white-space:nowrap;font-size:11px;letter-spacing:.1em;padding-bottom:8px}.subpage .page-head>p{font-size:14px;line-height:1.8;max-width:590px;margin:20px 0 0;color:#aeb4a5}.subpage .collection{max-width:1600px;margin:auto;padding:0 var(--edge) 60px}.subpage .collection>h2{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;text-align:left;color:#b8c0aa;padding:22px 0;border-top:1px solid #ffffff1a;margin:0}.subpage .photo-grid{max-width:none;gap:24px;row-gap:32px;align-items:center}.subpage .photo-grid button{overflow:hidden;background:#191c16}.subpage .photo-grid img{transition:filter .25s}.subpage .photo-grid button:hover img{filter:brightness(1.08)}.subpage .portrait-categories{max-width:1600px;padding-bottom:65px;gap:22px}.subpage .category-image{height:clamp(260px,28vw,420px)}.subpage .category-label{padding-top:18px;padding-bottom:16px}.subpage .category-label h2{font-size:clamp(24px,2vw,32px)}.subpage .category-card p{color:#aeb4a5;font-size:13px;margin-top:13px}.inner-cta{max-width:1600px;margin:10px auto 65px;padding:0 var(--edge)}.inner-cta-box{border-top:1px solid #ffffff24;padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:24px}.inner-cta h2{font-family:Georgia,serif;font-weight:400;font-size:34px;margin:0 0 8px}.inner-cta p{color:#aeb4a5;font-size:13px;margin:0}.inner-cta .button-link{margin:0;white-space:nowrap}.subpage footer{border-color:#ffffff16}.category-jump{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.category-jump a{font-size:12px;color:#aeb4a5;padding-bottom:6px;border-bottom:1px solid #ffffff24}.category-jump a[aria-current=page]{color:#e8edda;border-color:#d7dbb6}@media(max-width:1000px){.subpage .category-image{height:350px}}@media(max-width:650px){.subpage .page-head{padding-top:26px;padding-bottom:28px}.portfolio-nav{margin-bottom:28px;padding-bottom:20px}.portfolio-nav .service-tabs{gap:7px}.portfolio-nav .service-tabs>a,.portfolio-nav summary{font-size:11px;padding:9px 11px}.heading-line{display:block}.collection-count{display:block;margin-top:15px}.subpage .photo-grid{gap:16px}.subpage .category-image{height:245px}.inner-cta-box{align-items:start;flex-direction:column}.inner-cta h2{font-size:29px}.subpage .category-label h2{font-size:23px}}
.subpage .collection>h2{font-family:Georgia,serif;font-size:clamp(29px,3vw,43px);font-weight:400;line-height:1.18;letter-spacing:-.035em;text-transform:none;color:var(--ink);padding:25px 0 28px;border-top:1px solid #ffffff20;margin:0}.subpage .collection-intro{font-size:15px;line-height:1.8;color:#aeb4a5;max-width:570px;margin:-12px 0 32px}.subpage .page-kicker{font-size:12px}.subpage .category-label h2{font-size:clamp(27px,2.6vw,37px)}.subpage .inner-cta h2{font-size:clamp(32px,3vw,42px)}.atmosphere-pairs{align-items:center}.atmosphere-pairs button,.atmosphere-pairs button.wide,.atmosphere-pairs button.wide:nth-child(3n),.atmosphere-pairs button:last-child:nth-child(odd){grid-column:auto;width:100%;justify-self:stretch}@media(max-width:650px){.subpage .collection>h2{font-size:30px;padding:20px 0 24px}.subpage .category-label h2{font-size:25px}.subpage .collection-intro{font-size:14px;margin-bottom:26px}}
/* Shared inner-page layout: navigation, title, collection, contact. */
.subpage .page-head{max-width:1600px;margin:0 auto;padding:38px var(--edge) 34px}.subpage .page-head h1{font-family:Georgia,serif;font-size:clamp(46px,5.4vw,78px);line-height:1.08;font-weight:400;letter-spacing:-.045em;margin:12px 0 0}.subpage .collection{max-width:1600px;margin:0 auto;padding:0 var(--edge) 60px}.subpage .collection>h2{font-family:Georgia,serif;font-size:clamp(29px,3vw,43px);font-weight:400;line-height:1.18;letter-spacing:-.035em;text-transform:none;color:var(--ink);padding:25px 0 28px;border-top:1px solid #ffffff20;margin:0}.subpage .photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;align-items:center;max-width:none;margin:0}.subpage .photo-grid button,.subpage .photo-grid button.wide,.subpage .photo-grid button.wide:nth-child(3n),.subpage .photo-grid button:last-child:nth-child(odd){grid-column:auto;width:100%;justify-self:stretch}.subpage .photo-grid img,.subpage .photo-grid .wide img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.subpage .portrait-categories{padding:0;max-width:none;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.subpage .category-image{height:clamp(260px,28vw,420px);overflow:hidden}.subpage .category-image img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.subpage .category-card:nth-child(3) img{object-position:55% center}.subpage .category-label{display:flex;justify-content:space-between;align-items:center;padding:18px 0 16px;border-bottom:1px solid var(--line)}.subpage .category-label h2{font-family:Georgia,serif;font-size:clamp(27px,2.6vw,37px);font-weight:400;line-height:1.18;letter-spacing:-.035em;margin:0}.subpage .category-card p{font-size:13px;line-height:1.7;color:#aeb4a5}.subpage .inner-cta h2{font-family:Georgia,serif;font-size:clamp(32px,3vw,42px);font-weight:400;line-height:1.18;letter-spacing:-.035em}.subpage .page-kicker{font-size:12px}@media(max-width:1000px){.subpage .portrait-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.subpage .category-image{height:350px}}@media(max-width:650px){.subpage .page-head{padding-top:26px;padding-bottom:28px}.subpage .collection>h2{font-size:30px;padding:20px 0 24px}.subpage .photo-grid{grid-template-columns:1fr;gap:16px}.subpage .photo-grid button:nth-child(even){margin-bottom:0}.subpage .category-image{height:245px}.subpage .category-label h2{font-size:25px}.subpage .portrait-categories{gap:24px 14px}}
dialog#gallery{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:18px;box-sizing:border-box;border:0;background:#090a08}dialog#gallery[open]{display:flex;flex-direction:column;gap:0}#gallery .image-stage{flex:1;min-height:0;height:auto;width:100%;}#gallery .image-stage:not(.zoomed) img{width:100%;height:100%;object-fit:contain}#gallery .gallery-controls{flex-shrink:0;margin-top:12px}#gallery .zoom-hint{flex-shrink:0;margin-top:8px}#gallery:fullscreen{width:100vw;height:100vh}@media(max-width:650px){dialog#gallery{padding:10px}#gallery .zoom-hint{font-size:10px}#gallery .gallery-controls{gap:6px}#gallery .gallery-controls button{font-size:12px;padding:9px}}dialog#gallery:not([open]){display:none}dialog#gallery[open]{display:grid!important;grid-template-rows:minmax(0,1fr) auto auto;width:100%;height:100dvh;max-width:none;max-height:none;position:fixed;inset:0;margin:0;padding:16px;overflow:hidden;box-sizing:border-box}#gallery .image-stage{width:100%;height:100%;min-width:0;min-height:0;overflow:auto;position:relative}#gallery .image-stage:not(.zoomed) img{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;object-fit:contain}#gallery .image-stage.zoomed img{position:static;width:220%;height:auto;min-height:100%;max-width:none}#gallery .gallery-controls{min-height:44px;flex-wrap:wrap}#gallery .zoom-hint{margin:8px 0 0}html:has(#gallery[open]){overflow:hidden}@media(max-width:650px){dialog#gallery[open]{padding:8px}}
.ui-icon{display:inline-block;width:1em;height:1em;min-width:1em;vertical-align:-.14em;overflow:visible}.service-icon .ui-icon{width:24px;height:24px}.work-title .ui-icon{width:17px;height:17px}.button-link .ui-icon{width:17px;height:17px}.arrow .ui-icon{width:24px;height:24px}.menu-btn{display:inline-flex;align-items:center;gap:8px}.menu-btn .ui-icon{width:18px;height:18px}@media(min-width:851px){.menu-btn{display:none}}button{font-variant-emoji:text}