@font-face{font-family:Manrope;src:url('assets/manrope-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
:root{--ink:#192429;--paper:#fafafa;--blue:#c4dbe6;--line:#cbd1d3;--muted:#566168;--rail:90px;--gutter:clamp(24px,5vw,88px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #1c76b0;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500;line-height:1.07;letter-spacing:-.045em;text-wrap:balance}h2{font-size:clamp(38px,4.8vw,72px)}p{text-wrap:pretty}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}.skip-link{position:fixed;top:12px;left:110px;background:white;padding:10px 20px;z-index:200;transform:translateY(-160%)}.skip-link:focus{transform:none}
main{margin-left:var(--rail)}.rail{position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:40;background:var(--paper);border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column}.menu-toggle{width:60px;height:72px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;margin-top:12px}.menu-toggle>span:not(.sr-only){width:26px;height:2px;background:var(--ink);transition:width .3s}.menu-toggle>span:nth-child(2){width:19px;margin-right:7px}.menu-toggle:hover>span:nth-child(2){width:26px;margin-right:0}.rail-brand{position:absolute;top:122px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:40px;line-height:.9;font-weight:800;letter-spacing:-.045em;display:flex;align-items:center;gap:18px}.rail-brand>span{font-size:9px;letter-spacing:.14em;font-weight:600}.rail-contact{position:absolute;bottom:42px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;display:flex;gap:16px;align-items:center}.rail-contact>span{font-size:24px}.rail-progress{position:absolute;right:-1px;top:0;width:2px;height:100%;pointer-events:none}.rail-progress>span{display:block;background:var(--ink);height:0;transition:height .1s}.mobile-brand{display:none}.section-pad{padding:96px var(--gutter)}.section-label{font-size:14px;font-weight:500;margin-bottom:24px}.line-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:48px;border-bottom:1px solid currentColor;padding-bottom:9px;font-size:14px;font-weight:600}.line-link>span{font-size:26px;font-weight:400;transition:transform .3s var(--ease)}.line-link:hover>span{transform:translate(3px,-3px)}.line-link.light{color:white}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:24px;border:1px solid currentColor;transition:background .2s,color .2s}.icon-button:hover{background:var(--blue);color:var(--ink)}
.hero{min-height:690px;height:100svh;max-height:1100px;position:relative;isolation:isolate;background:var(--ink);color:white;display:flex;flex-direction:column;justify-content:space-between;padding:30px var(--gutter) 26px;overflow:hidden}.hero-images,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 48%;opacity:0;transition:opacity 1.1s ease;transform:scale(1.025)}.hero-image.is-active{opacity:1;animation:hero-pan 12s linear forwards}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,15,19,.71),rgba(5,15,19,.20)),linear-gradient(0deg,rgba(5,15,19,.75),transparent 26%,transparent 76%,rgba(5,15,19,.3))}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-logo{width:158px;height:auto}.hero-contact{font-size:13px;display:flex;align-items:center;gap:28px;border-bottom:1px solid #ffffff80;padding:10px 0}.hero-contact span{font-size:23px}.hero-copy{padding:62px 0 64px;animation:copy-in 1.1s var(--ease) both}.hero-kicker{font-size:11px;font-weight:500;letter-spacing:.13em;margin-bottom:26px}.hero h1{font-size:clamp(56px,6.6vw,96px);font-weight:500;letter-spacing:-.04em;line-height:1.04}.hero-description{margin:25px 0 26px;color:#f2f4f5;font-size:clamp(16px,1.35vw,20px);line-height:1.6}.hero-bottom{display:flex;justify-content:space-between;align-items:end;border-top:1px solid #ffffff50;padding-top:20px;gap:24px}.hero-project{display:grid;grid-template-columns:1fr auto;gap:4px 30px;font-size:13px;align-items:center;min-height:50px}.hero-project .project-caption{grid-column:1/-1;font-size:10px;color:#e1e7ea}.hero-project>span:last-child{font-size:22px}.hero-controls{display:flex;align-items:center;gap:17px;flex-shrink:0}.hero-controls .icon-button{border:0}.hero-controls #hero-counter{font-size:12px;min-width:48px;font-variant-numeric:tabular-nums}.hero-controls #hero-counter>span{color:#d0d5d8;margin-left:5px}.hero-controls .pause-button{font-size:17px;border-left:1px solid #ffffff50;width:38px}
.section-top{display:flex;justify-content:space-between;gap:20px;font-size:12px;padding-bottom:38px}.section-top>span:last-child{color:var(--muted)}.intro{padding-top:84px;padding-bottom:94px}.intro h2{max-width:980px;font-size:clamp(40px,5.5vw,80px)}.intro h2 em{font-style:normal;color:#6b818c}.intro-bottom{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:64px}.experience{display:flex;align-items:center;gap:25px}.experience>span{font-size:98px;line-height:1;letter-spacing:-.07em;font-weight:500}.experience .plus{font-size:50px;vertical-align:top;letter-spacing:-.05em}.experience p{font-size:12px;color:var(--muted)}.intro-text{max-width:580px}.intro-text p{font-size:16px;margin-bottom:20px;color:#435159}.intro-text .line-link{margin-top:8px}
.projects{background:#f0f2f2}.projects-heading{display:flex;justify-content:space-between;align-items:end;gap:35px}.projects-heading>p{font-size:13px;color:var(--muted);padding-bottom:5px}.projects h2{font-size:clamp(38px,4.6vw,68px)}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 28px}.project-card{min-width:0;display:block}.project-card:first-child{grid-column:1/-1}.project-image-wrap{position:relative;overflow:hidden;background:#d9e0e2;aspect-ratio:1.5}.project-card:first-child .project-image-wrap{aspect-ratio:2.05}.project-card img{height:100%;width:100%;object-fit:cover;transition:transform .7s var(--ease),filter .7s}.project-card:hover img{transform:scale(1.035);filter:brightness(.87)}.project-card:focus-visible{outline-offset:7px}.card-arrow{position:absolute;bottom:20px;right:20px;width:45px;height:45px;background:white;display:grid;place-items:center;font-size:23px;transition:transform .3s,background .3s}.project-card:hover .card-arrow{background:var(--blue);transform:translate(2px,-2px)}.project-meta{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-top:18px}.project-meta h3{font-size:clamp(19px,1.8vw,28px);line-height:1.2;letter-spacing:-.035em}.project-meta p{font-size:12px;color:var(--muted);margin-top:6px}.project-category{font-size:10px;border:1px solid #abb8bd;border-radius:20px;padding:4px 10px;flex-shrink:0}
.capabilities{display:grid;grid-template-columns:1fr 1fr;background:var(--blue);min-height:740px}.capabilities-copy{padding:74px 46px 76px var(--gutter)}.capabilities h2{font-size:clamp(32px,3.35vw,51px);line-height:1.12}.capabilities-copy>p:not(.section-label){font-size:14px;margin-top:28px;max-width:430px;color:#344650}.services{margin:36px 0 29px;border-top:1px solid #859faa}.services details{border-bottom:1px solid #859faa}.services summary{list-style:none;font-size:15px;font-weight:600;display:flex;justify-content:space-between;gap:12px;padding:18px 0;cursor:pointer}.services summary::-webkit-details-marker{display:none}.services summary>span{font-size:22px;line-height:1.2;transition:transform .2s}.services details[open] summary>span{transform:rotate(45deg)}.services details p{font-size:13px;color:#344650;padding:0 28px 20px 0;max-width:430px}.capabilities-image{position:relative;background:var(--ink);overflow:hidden;min-height:520px}.capabilities-image img{height:100%;width:100%;object-fit:cover;object-position:50% 50%}.capabilities-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#101b25c7,transparent 45%)}.capabilities-image figcaption{position:absolute;bottom:40px;left:36px;right:30px;color:white;z-index:1;font-size:12px}.capabilities-image strong{font-weight:500;font-size:19px;display:block;margin-top:5px}
.clients-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.clients-heading h2{font-size:clamp(32px,3.8vw,56px)}.clients-heading>p{font-size:13px;color:var(--muted)}.client-grid{display:grid;grid-template-columns:repeat(6,1fr);margin-top:52px;gap:22px 30px;align-items:center}.client-logo{display:flex;align-items:center;justify-content:center;min-height:100px}.client-logo img{width:105px;height:92px;object-fit:contain;filter:grayscale(1);transition:filter .3s}.client-logo:hover img{filter:none}.craft{height:540px;position:relative;isolation:isolate;color:white;background:var(--ink);overflow:hidden}.craft>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 40%;z-index:-2}.craft:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0f1b21dd,#0f1b2144);z-index:-1}.craft-content{padding:70px var(--gutter);height:100%;display:flex;align-items:start;flex-direction:column;justify-content:center}.craft-content>p{font-size:13px;margin-bottom:26px}.craft-content h2{font-size:clamp(36px,4.7vw,68px)}.craft-content .line-link{margin-top:34px}
.contact{background:var(--ink);color:white;padding-top:94px;padding-bottom:80px}.contact .section-label{color:var(--blue)}.contact h2{font-size:clamp(38px,5.5vw,80px);max-width:1040px}.contact h2>span{color:var(--blue)}.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:58px}.contact-bottom>p{font-size:14px;color:#c7d0d5}.contact-actions{display:flex;flex-direction:column;align-items:stretch;gap:18px}.contact-main{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;padding:16px 24px;background:var(--blue);color:var(--ink);font-weight:600;font-size:14px;transition:background .3s}.contact-main>span{font-size:25px}.contact-main:hover{background:#e0eef5}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;min-height:48px;padding:8px 0;border-bottom:1px solid #657178}.contact-email>span{font-size:24px}.footer{background:#121b20;color:white;padding:55px var(--gutter) 22px}.footer-top{display:grid;grid-template-columns:1.15fr 1fr 1.1fr .65fr;gap:40px;font-size:12px}.footer-top img{width:145px;height:auto}.footer h3{font-size:12px;font-weight:500;letter-spacing:0;color:var(--blue);margin-bottom:18px}.footer a{display:block}.footer-top div>a,.footer nav>a{padding-bottom:7px;overflow-wrap:anywhere}.footer a:hover{color:var(--blue)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:28px;margin-top:48px;border-top:1px solid #374248;font-size:10px;color:#b9c5cc}.footer-bottom>a{display:flex;gap:20px}
dialog{border:0;padding:0;color:var(--ink);max-width:none;max-height:none}dialog::backdrop{background:#0a141bc9;backdrop-filter:blur(5px)}.close-button{width:48px;height:48px;display:grid;place-items:center;font-size:22px;border:1px solid #9aaab2;background:transparent;flex-shrink:0;transition:background .2s}.close-button:hover{background:var(--blue);color:var(--ink)}.menu-dialog{position:fixed;inset:0;margin:0 0 0 var(--rail);width:calc(100% - var(--rail));height:100dvh;background:var(--ink);color:white;padding:32px var(--gutter);overflow-y:auto}.menu-dialog[open]{display:flex;flex-direction:column;animation:menu-in .4s var(--ease)}.menu-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.menu-top img{width:155px;height:auto}.menu-dialog nav{margin:auto 0;padding:45px 0;max-width:850px}.menu-dialog nav>a{font-size:clamp(32px,4.8vw,70px);letter-spacing:-.045em;line-height:1.3;border-bottom:1px solid #51626c;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0;transition:color .2s}.menu-dialog nav>a:hover{color:var(--blue)}.menu-dialog nav>a>span{font-size:.6em;color:var(--blue)}.menu-bottom{display:flex;justify-content:space-between;gap:25px;align-items:end;font-size:12px;color:#c5d3da;padding-bottom:15px}.menu-bottom a{overflow-wrap:anywhere}.project-dialog{position:fixed;inset:30px;margin:auto;width:min(1200px,calc(100% - 60px));max-height:calc(100dvh - 60px);background:var(--paper);overflow-y:auto}.project-dialog[open]{animation:copy-in .4s var(--ease)}.dialog-top{position:sticky;top:0;background:var(--paper);z-index:1;display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--line);gap:15px}.dialog-back{font-size:12px;min-height:44px;display:flex;align-items:center}.project-detail{display:grid;grid-template-columns:1.15fr 1fr}.detail-gallery{position:relative;background:#e4e8e9;align-self:start}.detail-gallery>img{width:100%;height:auto;aspect-ratio:1.32;object-fit:cover}.gallery-controls{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;font-size:12px}.detail-copy{padding:36px}.detail-copy h2{font-size:clamp(30px,3.2vw,47px)}.detail-copy>.section-label{font-size:11px;color:var(--muted);margin-bottom:15px}.detail-copy>p:not(.section-label){margin-top:23px;font-size:14px;color:#435159}.detail-copy dl{margin:28px 0;border-top:1px solid var(--line)}.detail-copy dl>div{padding:14px 0;border-bottom:1px solid var(--line)}dt{font-size:10px;color:var(--muted);margin-bottom:5px}dd{margin:0;font-size:13px}.detail-copy .contact-main{font-size:12px;padding:13px 17px}.share-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;margin-top:14px;padding:8px 0;font-size:12px;border-bottom:1px solid var(--line)}.detail-copy #share-status{font-size:11px;min-height:18px;margin-top:8px}.share-fallback{width:100%;border:1px solid var(--line);padding:10px;font-size:12px;background:white}.noscript{padding:20px}
@keyframes hero-pan{from{transform:scale(1.025)}to{transform:scale(1.085)}}@keyframes copy-in{from{opacity:.6;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-in{from{opacity:.5;transform:translateX(-25px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.section-pad{padding-left:max(88px,calc((100vw - 1440px)/2));padding-right:max(88px,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){:root{--rail:74px;--gutter:40px}.hero h1{font-size:clamp(56px,6.6vw,80px)}.rail-brand{font-size:34px}.intro-bottom{gap:35px}.experience>span{font-size:78px}.experience{gap:15px}.experience .plus{font-size:38px}.capabilities-copy{padding:55px 30px 55px var(--gutter)}.client-grid{gap:14px}.footer-top{grid-template-columns:1fr 1fr;gap:35px}.project-meta{flex-wrap:wrap}.project-category{font-size:9px}.detail-copy{padding:25px}.project-dialog{width:calc(100% - 36px);inset:18px;max-height:calc(100dvh - 36px)}}
@media(max-width:760px){:root{--rail:0px;--gutter:24px}html{scroll-padding-top:84px}main{margin-left:0;padding-top:68px}.rail{width:100%;height:68px;inset:0 0 auto;flex-direction:row;justify-content:space-between;padding:0 18px 0 24px;border-right:0;border-bottom:1px solid var(--line)}.mobile-brand{display:block}.mobile-brand img{width:112px;height:auto;filter:brightness(0)}.rail-brand,.rail-contact,.rail-progress{display:none}.menu-toggle{margin-top:0;width:48px;height:48px}.skip-link{left:20px}.hero{height:calc(100svh - 68px);min-height:625px;max-height:850px;padding:24px var(--gutter) 18px}.hero-logo{display:none}.hero-top{justify-content:end}.hero-contact{font-size:11px;gap:18px;min-height:44px}.hero-contact span{font-size:20px}.hero-copy{padding:34px 0 45px}.hero-kicker{font-size:9px;letter-spacing:.08em;max-width:300px;margin-bottom:22px}.hero h1{font-size:clamp(42px,8.6vw,64px);line-height:1.08;letter-spacing:-.045em}.hero-description{font-size:15px;margin:24px 0 22px}.line-link{font-size:12px;gap:28px}.hero-bottom{flex-direction:column;align-items:stretch;gap:10px;padding-top:15px}.hero-project{font-size:11px;grid-template-columns:1fr auto;gap:3px 12px;min-height:43px}.hero-project .project-caption{font-size:9px}.hero-controls{justify-content:end;gap:10px}.hero-controls .icon-button{width:44px;height:44px}.hero-controls .pause-button{width:44px}.hero-image{object-position:53% center}.hero-shade{background:linear-gradient(90deg,#0b1921bf,#0b192159),linear-gradient(0deg,#0b1921bf,transparent 35%,transparent 85%,#0b192159)}.section-pad{padding:62px var(--gutter)}.section-top{font-size:11px;padding-bottom:28px}.section-top>span:last-child{max-width:145px;text-align:right;font-size:9px}.intro h2{font-size:clamp(35px,8vw,55px)}.intro-bottom{grid-template-columns:1fr;gap:36px;margin-top:36px}.experience>span{font-size:76px}.experience{gap:25px}.experience p{font-size:11px}.intro-text p{font-size:14px;margin-bottom:15px}.projects-heading{display:block}.projects-heading>p{font-size:12px;margin-top:23px}.projects h2{font-size:clamp(35px,8.1vw,54px)}.section-label{font-size:12px;margin-bottom:19px}.project-grid{grid-template-columns:1fr;gap:29px}.project-card:first-child{grid-column:auto}.project-card:first-child .project-image-wrap,.project-image-wrap{aspect-ratio:1.3}.project-meta{padding-top:14px;gap:9px;flex-wrap:nowrap}.project-meta h3{font-size:21px;max-width:235px}.project-meta p{font-size:11px}.project-category{font-size:8px;padding:3px 7px;margin-top:2px}.card-arrow{right:14px;bottom:14px;width:44px;height:44px}.capabilities{grid-template-columns:1fr;min-height:0}.capabilities-copy{padding:58px var(--gutter)}.capabilities h2{font-size:clamp(32px,7.5vw,46px)}.capabilities-copy>p:not(.section-label){font-size:14px}.services summary{min-height:62px;font-size:14px}.services details p{font-size:13px}.capabilities-image{min-height:0;height:370px}.capabilities-image figcaption{left:24px;bottom:26px;font-size:11px}.capabilities-image strong{font-size:17px}.clients-heading{display:block}.clients-heading h2{font-size:clamp(33px,7.8vw,50px)}.clients-heading>p{font-size:12px;margin-top:22px}.client-grid{grid-template-columns:repeat(3,1fr);gap:14px 12px;margin-top:30px}.client-logo{min-height:82px}.client-logo img{height:75px;width:82px}.craft{height:470px}.craft-content{padding:50px var(--gutter)}.craft-content h2{font-size:clamp(35px,8vw,52px)}.craft-content>p{font-size:11px}.craft-content .line-link{font-size:11px;gap:20px}.craft>img{object-position:58% center}.contact h2{font-size:clamp(35px,8.4vw,57px);line-height:1.12}.contact-bottom{grid-template-columns:1fr;gap:30px;margin-top:32px}.contact-bottom>p{font-size:13px}.contact-main{font-size:13px;padding:16px 18px}.contact-email{font-size:12px}.footer{padding:48px var(--gutter) 23px}.footer-top{grid-template-columns:1fr 1fr;gap:31px 20px;font-size:11px}.footer-top>a{grid-column:1/-1}.footer-top img{width:136px}.footer-top nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:13px 25px}.footer-top nav>a{min-height:44px;display:flex;align-items:center}.footer-bottom{margin-top:22px;padding-top:20px;font-size:9px;gap:10px;align-items:start}.footer-bottom>a{gap:8px;flex-shrink:0}.menu-dialog{margin:0;width:100%;padding:20px 24px;height:100dvh}.menu-top img{width:120px}.menu-dialog nav{padding:35px 0}.menu-dialog nav>a{font-size:clamp(28px,7.4vw,46px);min-height:62px;padding:12px 0}.menu-bottom{flex-direction:column;align-items:start;gap:20px;font-size:11px}.project-dialog{inset:0;width:100%;max-height:100dvh;height:100dvh;margin:0}.dialog-top{padding:12px 18px}.project-detail{grid-template-columns:1fr}.detail-gallery>img{aspect-ratio:1.4;max-height:390px}.detail-copy{padding:28px 24px 40px}.detail-copy h2{font-size:36px}.detail-copy>p:not(.section-label){font-size:14px}.gallery-controls{padding:10px 24px}.detail-copy .contact-main{font-size:12px}.menu-dialog nav>a:focus-visible{outline-offset:1px}}
@media(max-width:380px){:root{--gutter:20px}.hero h1{font-size:40px}.hero-kicker{font-size:8px}.hero{min-height:600px}.project-meta h3{font-size:19px}.project-meta{gap:6px}.project-category{font-size:8px;padding:3px 6px}.contact h2{font-size:33px}.footer-top{gap:28px 15px}.contact-main{font-size:12px}.hero-project{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-image{transform:none}.project-card:hover img{transform:none}}

.hero.is-paused .hero-image{animation-play-state:paused}
@media(max-width:760px){.footer-top div>a{min-height:44px;padding:10px 0}.footer-bottom>a{min-height:44px;align-items:center}}

/* Photo-led header spacing and client subtitle, October 2026. */
.hero{height:auto;min-height:max(740px,100svh);max-height:none;padding-bottom:56px}
.experience .plus{margin-right:.08em}
.clients-heading{display:flex;flex-direction:column;align-items:stretch;gap:20px}
.clients-heading>p{margin:0;max-width:none}
@media(max-width:760px){.hero{min-height:max(660px,calc(100svh - 68px));padding-bottom:calc(36px + env(safe-area-inset-bottom,0px))}.clients-heading{gap:20px}}

/* Project galleries: full photos, direct selection. */
.photo-count{position:absolute;left:18px;bottom:18px;background:#192429e6;color:white;padding:7px 11px;font-size:11px;line-height:1.4;pointer-events:none}
.project-detail,.detail-gallery{min-width:0}.detail-gallery>img{width:100%;height:clamp(320px,52vw,620px);max-height:65dvh;aspect-ratio:auto;object-fit:contain;background:#eef1f1;touch-action:pan-y pinch-zoom}
.gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:4px 24px 20px;max-width:100%;scrollbar-width:thin}.gallery-thumbnails[hidden]{display:none}.gallery-thumbnail{flex:0 0 80px;width:80px;height:60px;padding:2px;border:2px solid transparent;background:transparent;opacity:.65;cursor:pointer}.gallery-thumbnail[aria-pressed=true]{border-color:var(--ink);opacity:1}.gallery-thumbnail:hover,.gallery-thumbnail:focus-visible{opacity:1}.gallery-thumbnail img{width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.project-meta{flex-wrap:wrap}.project-meta h3{max-width:none}.photo-count{left:14px;bottom:14px}.detail-gallery>img{height:340px;max-height:52dvh}.gallery-thumbnails{padding:0 18px 16px}.gallery-thumbnail{flex-basis:64px;width:64px;height:48px}}

/* Clip the zoom inside its layer so focused controls cannot scroll the hero internally. */
.hero-images{overflow:hidden}

/* Show every project, with a clear gap after the section introduction. */
.project-grid{margin-top:46px}
@media(max-width:760px){.project-grid{margin-top:32px}}
