:root{--paper:#f2f4ec;--ink:#435739;--muted:#64735b;--line:#43573935;--sage:#a7b194;--pale:#d9dfcc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-weight:400}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--ink);outline-offset:6px}a:hover{opacity:.76}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;background:var(--paper);z-index:100;padding:15px}.skip:focus{top:10px}header{height:108px;padding:30px 3.2%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.brand{display:block;width:64px;height:44px;background:var(--ink);display:grid;place-items:center}.brand img{object-fit:contain;max-width:90%;height:32px}nav{display:flex;gap:20px;position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}nav a{font-size:18px;letter-spacing:-.7px;padding:8px 0}nav a[aria-current=page]{border-bottom:1px solid}.edition{font-size:10px;letter-spacing:1.8px}.home{height:calc(100svh - 168px);min-height:580px;position:relative;overflow:hidden}.signature{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:38%;max-width:650px;text-align:center;z-index:3;pointer-events:none}.signature img{display:block;width:100%;height:auto}.signature p{font-size:11px;letter-spacing:2px;margin-top:22px}.gallery{position:absolute;inset:0}.tile{position:absolute;display:flex;flex-direction:column;justify-content:space-between;padding:17px;background:var(--pale);overflow:hidden;transition:transform .6s,background .6s,opacity .3s}.tile:after{content:'';position:absolute;inset:14px;border:1px solid #4357391c;pointer-events:none}.tile:hover{opacity:1;transform:translateY(-7px);background:#c5cfb6}.tile-number,.tile-bottom{font-size:9px;letter-spacing:1px;position:relative;z-index:1}.tile-bottom{letter-spacing:0;font-size:10px}.reserved{font-size:9px;letter-spacing:.5px;opacity:.75;align-self:center}.tile-a{width:18%;height:68%;left:3.2%;top:1%;background:#d9dfcc}.tile-b{width:15%;height:27%;left:28%;top:-3%;background:#e4e8db}.tile-c{width:24%;height:38%;right:3.2%;top:0;background:#a7b194}.tile-d{width:13%;height:29%;left:27%;bottom:0;background:#c8d1bb}.tile-e{width:18%;height:42%;right:10%;bottom:0;background:#6b7c61;color:var(--paper)}.tile-e:after{border-color:#f2f4ec33}.tile-f{width:10%;height:20%;left:51%;bottom:-2%;background:#e2e5d8}.tile-f .tile-bottom{display:none}.home-caption{position:absolute;left:3.2%;bottom:14px}.home-caption>span{font-size:9px;letter-spacing:1.5px}.home-caption p{font-size:12px;line-height:1.6;margin-bottom:0}.home-cta{position:absolute;right:3.2%;bottom:48%;font-size:10px;writing-mode:vertical-rl;letter-spacing:.5px}.home-cta span{font-size:20px;margin-top:10px}footer{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:24px 3.2%;font-size:10px;min-height:60px}.preview-label{font-size:8px;letter-spacing:1px;opacity:.75}.interior{max-width:1600px;margin:auto;padding:45px 7% 90px;min-height:calc(100svh - 168px)}.section-top{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;font-size:9px;letter-spacing:1.4px}:is(h1.page-title,h2){font-weight:400;font-size:clamp(52px,7.4vw,115px);letter-spacing:-5px;line-height:1.02;margin:64px 0 45px}:is(h1.page-title,h2) em{font-weight:400;font-style:normal;color:#7c8b70}.project-intro{display:flex;justify-content:space-between;align-items:start;margin-bottom:55px;gap:25px;font-size:16px;line-height:1.5}.project-intro p{max-width:340px}.preview-note{font-size:12px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:50px 30px}.project-slot:nth-child(2){padding-top:95px}.project-slot:nth-child(3){width:80%}.slot-art{height:380px;background:var(--pale);padding:24px;display:flex;flex-direction:column;justify-content:space-between}.project-slot:nth-child(2) .slot-art{background:var(--sage);height:450px}.project-slot:nth-child(3) .slot-art{background:#6b7c61;color:var(--paper);height:300px}.slot-art>span{font-size:60px;letter-spacing:-4px;opacity:.4}.slot-art small{font-size:9px;letter-spacing:1px}.project-slot>p{font-size:13px;display:flex;justify-content:space-between}.text-link{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:25px 0;font-size:23px;letter-spacing:-.6px;margin-top:65px}.text-link span{font-size:40px}.studio-copy{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;margin:65px 0 90px;line-height:1.6}.lead{font-size:30px;letter-spacing:-1px;line-height:1.25;margin:0}.studio-copy>div{font-size:16px}.studio-copy>div p:first-child{margin-top:0}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.services article{border-top:1px solid var(--line);padding-top:20px}.services article>span{font-size:10px}.services h3{font-size:25px;font-weight:400;letter-spacing:-1px;margin-top:35px}.services p{font-size:13px;line-height:1.6;max-width:230px}.region{margin-top:70px;display:flex;gap:10%;align-items:baseline}.region>span{font-size:9px;letter-spacing:1px}.region p{font-size:19px;line-height:1.5}.contact :is(h1.page-title,h2){font-size:clamp(54px,7vw,108px);margin-bottom:65px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.contact-card{border-top:1px solid var(--line);padding:22px 0;display:flex;flex-direction:column;gap:18px}.contact-card>span{font-size:10px;letter-spacing:1px}.contact-card strong{font-size:clamp(22px,2.7vw,40px);font-weight:400;letter-spacing:-1px;overflow-wrap:anywhere}.contact-card small{font-size:12px}.contact-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:55px;font-size:13px;line-height:1.6}.view{animation:appear .6s ease both}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1550px){.signature{width:35%}.tile-a{height:65%}}@media(max-width:750px){header{height:90px;padding:22px 5%}.brand{width:46px;height:34px}.brand img{height:24px}nav{position:static;transform:none;gap:12px}nav a{font-size:14px;letter-spacing:-.5px}.edition{display:none}.home{height:calc(100svh - 178px);min-height:620px}.signature{width:77%;top:48%}.signature p{font-size:9px;letter-spacing:1px;margin-top:16px}.tile{padding:11px}.tile:after{inset:8px}.tile-number{font-size:7px}.tile-bottom{font-size:8px}.reserved{font-size:7px}.tile-a{left:5%;top:2%;width:39%;height:27%}.tile-b{left:55%;top:0;width:30%;height:19%}.tile-c{right:-5%;top:25%;width:20%;height:18%}.tile-c .reserved,.tile-c .tile-bottom{display:none}.tile-d{left:-8%;bottom:17%;width:36%;height:17%}.tile-d .reserved{display:none}.tile-e{right:5%;bottom:12%;width:41%;height:23%}.tile-f{display:none}.home-caption{left:5%;bottom:0}.home-caption>span{font-size:8px}.home-caption p{font-size:11px}.home-cta{writing-mode:initial;bottom:1%;right:5%;width:135px;line-height:1.6}.home-cta span{font-size:16px;margin-left:8px}footer{padding:22px 5%;flex-wrap:wrap;font-size:9px}.preview-label{order:3;width:100%;font-size:7px}.interior{padding:30px 5% 55px}.section-top{font-size:8px;gap:20px}:is(h1.page-title,h2){font-size:58px;letter-spacing:-2.8px;margin-top:48px}.project-intro{display:block;font-size:15px}.project-grid{display:block}.project-slot{margin:0 0 35px!important;width:100%!important;padding-top:0!important}.slot-art,.project-slot:nth-child(2) .slot-art{height:330px}.studio-copy{display:block;margin:45px 0}.lead{font-size:27px;margin-bottom:25px}.services{grid-template-columns:1fr 1fr;gap:25px}.services h3{font-size:23px}.region{display:block}.region p{font-size:17px}.text-link{font-size:20px;gap:15px}.contact :is(h1.page-title,h2){font-size:56px}.contact-grid{grid-template-columns:1fr;gap:20px}.contact-card strong{font-size:30px}.contact-bottom{display:block}.contact-bottom a{display:inline-block;margin-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.view{animation:none}.tile{transition:none}}
.tile{color:white;padding:15px;background:#435739;isolation:isolate}.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .9s cubic-bezier(.2,.65,.3,1)}.tile:after{inset:0;border:0;background:linear-gradient(180deg,#0002,transparent 35%,transparent 60%,#0007);z-index:-1}.tile:hover img{transform:scale(1.045)}.tile:hover{background:#435739}.tile-number{opacity:.9}.tile-bottom{font-size:11px;line-height:1.4}.tile-c img{object-position:42% center}.tile-f img{object-position:45% center}.project-slot{display:block;width:100%!important}.project-slot:nth-child(3){width:100%}.project-grid{align-items:start;row-gap:65px}.project-cover{position:relative;overflow:hidden;height:440px;background:var(--pale)}.project-slot:nth-child(2n) .project-cover{height:500px}.project-slot:nth-child(2){padding-top:95px}.project-slot:nth-child(2n+3){margin-top:-65px}.project-cover img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.project-slot:hover{opacity:1}.project-slot:hover img{transform:scale(1.035)}.project-slot>p{margin:16px 0 6px;font-size:17px;letter-spacing:-.4px}.project-slot>small{font-size:11px;color:var(--muted)}.cover-open{position:absolute;bottom:18px;right:18px;background:var(--paper);padding:12px 15px;font-size:11px;opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s}.project-slot:hover .cover-open,.project-slot:focus-visible .cover-open{opacity:1;transform:none}.project-detail :is(h1.page-title,h2){font-size:clamp(48px,7vw,100px);overflow-wrap:anywhere}.detail-meta{display:flex;justify-content:space-between;gap:15px;font-size:11px;letter-spacing:1px;margin:0 0 42px}.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}.detail-photo{position:relative;display:block;padding:0;border:0;background:transparent;color:var(--ink);cursor:zoom-in;font:inherit;overflow:hidden}.detail-photo:first-child{grid-column:1/-1}.detail-photo img{display:block;width:100%;height:auto;max-height:820px;object-fit:contain;background:#e8ebdf;transition:transform .7s}.detail-photo:not(:first-child) img{max-height:700px}.detail-photo span{position:absolute;bottom:15px;right:15px;padding:10px 14px;background:var(--paper);font-size:11px;opacity:0;transition:opacity .3s}.detail-photo:hover span,.detail-photo:focus-visible span{opacity:1}.detail-photo:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.project-next{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:35px;padding-top:25px;font-size:14px}.lightbox-open{overflow:hidden}#lightbox{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#172015;color:var(--paper);border:0;padding:70px 65px 60px;overflow:hidden}#lightbox::backdrop{background:#172015}#lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox-bar{position:absolute;top:20px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:1px}#lightbox button{color:inherit;background:transparent;border:1px solid #f2f4ec44;padding:10px 14px;font:inherit;cursor:pointer;min-height:44px;min-width:44px}#lightbox button:focus-visible{outline:2px solid var(--paper);outline-offset:4px}#lightbox-image{display:block;max-width:100%;max-height:100%;object-fit:contain}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:12px}.lightbox-next{right:12px}#lightbox-caption{position:absolute;left:25px;bottom:16px;font-size:12px}.project-detail .text-link{margin-top:40px}@media(max-width:750px){.tile{padding:10px}.tile-number{font-size:7px}.tile-bottom{font-size:8px}.tile-c .tile-bottom,.tile-d .tile-bottom{display:none}.project-cover,.project-slot:nth-child(2n) .project-cover{height:390px}.project-slot:nth-child(2n+3){margin-top:0}.cover-open{opacity:1;transform:none;font-size:10px;padding:10px}.detail-meta{font-size:9px;line-height:1.5}.detail-gallery{gap:15px}.detail-photo:first-child{grid-column:1/-1}.detail-photo img{max-height:none}.detail-photo:not(:first-child) img{max-height:none}.detail-photo span{display:none}.project-next{font-size:12px}.project-detail :is(h1.page-title,h2){font-size:52px}.project-detail .section-top{font-size:8px}#lightbox{padding:70px 12px 110px}.lightbox-prev,.lightbox-next{top:auto;bottom:48px;transform:none}.lightbox-prev{left:calc(50% - 60px)}.lightbox-next{right:calc(50% - 60px)}#lightbox-caption{left:15px;bottom:8px;font-size:11px}.lightbox-bar{left:15px;right:15px}}@media(prefers-reduced-motion:reduce){.tile img,.project-cover img,.cover-open,.detail-photo img,.detail-photo span{transition:none}}

.project-story{display:grid;grid-template-columns:1fr 1fr;gap:24px 8%;margin:20px 0 45px}.project-story>p:not(.lead){font-size:16px;line-height:1.7;margin:0}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px 35px;margin:0 0 35px}.project-facts>div{border-top:1px solid var(--line);padding-top:14px}.project-facts dt{font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-bottom:9px}.project-facts dd{margin:0;font-size:13px;line-height:1.6}.publication-link{display:block;border-block:1px solid var(--line);padding:20px 0;margin:0 0 45px}.publication-link span{display:block;font-size:9px;letter-spacing:1px;margin-bottom:12px;line-height:1.6}.publication-link strong{font-weight:400;font-size:19px;line-height:1.5}@media(max-width:750px){.project-story{grid-template-columns:1fr;gap:22px}.project-facts{grid-template-columns:1fr}.publication-link strong{font-size:17px}}
/* Native scrolling remains available for touch, wheel and keyboard. */
header{position:sticky;top:0;background:var(--paper);z-index:20}
.home{height:280svh;min-height:0;overflow:visible;animation:none}
.home-stage{position:sticky;top:108px;height:calc(100svh - 108px);min-height:520px;overflow:hidden}
.gallery{height:100%}.tile{will-change:translate;transition:opacity .3s;transform:none!important}.tile img{transition:transform .9s cubic-bezier(.2,.65,.3,1)}
.tile-g{left:5%;top:125%;width:22%;height:41%;background:var(--sage)}
.tile-h{left:38%;top:141%;width:15%;height:29%;background:var(--pale)}
.tile-i{right:5%;top:145%;width:21%;height:50%;background:var(--ink)}
.tile-j{left:27%;top:192%;width:20%;height:38%;background:var(--pale)}
.tile-f{bottom:auto;top:98%}.tile-d{bottom:auto;top:83%}.tile-e{bottom:auto;top:67%}
.home-caption{bottom:60px}.home-cta{bottom:48%}
.signature{top:46%;width:36%}.signature p{background:var(--paper);display:inline-block;padding:5px 9px}
.motion-controls{position:absolute;bottom:20px;left:3.2%;right:3.2%;display:flex;justify-content:space-between;align-items:center;gap:20px;pointer-events:none}
.scroll-cue{font-size:10px;letter-spacing:.7px}.motion-controls button{pointer-events:auto;cursor:pointer;border:1px solid var(--line);color:var(--ink);background:var(--paper);padding:10px 14px;min-height:44px;font:inherit;font-size:10px}
.motion-controls button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.view{animation:none}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.65,.3,1)}.reveal.is-visible{opacity:1;transform:none}
.project-slot.reveal{transition-delay:var(--reveal-delay,0ms)}
.home-stage .tile:focus-visible{z-index:5;outline:3px solid var(--ink);outline-offset:5px}
::view-transition-old(root){animation:route-out .24s ease both}
::view-transition-new(root){animation:route-in .6s cubic-bezier(.2,.7,.2,1) both}
::view-transition-group(project-photo){animation-duration:.72s;animation-timing-function:cubic-bezier(.22,.7,.2,1)}
::view-transition-old(project-photo),::view-transition-new(project-photo){height:100%;object-fit:cover;mix-blend-mode:normal}
@keyframes route-out{to{opacity:0;transform:translateY(-8px)}}
@keyframes route-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
#lightbox[open]{animation:lightbox-in .25s ease both}@keyframes lightbox-in{from{opacity:0}to{opacity:1}}
/* A static, complete gallery is offered whenever movement is disabled. */
.motion-paused .home{height:auto}.motion-paused .home-stage{position:relative;top:0;height:auto;min-height:0;overflow:visible;padding:35px 3.2% 120px;display:flex;flex-direction:column}
.motion-paused .signature{position:static;transform:none;order:-1;width:45%;max-width:550px;margin:30px auto 65px}
.motion-paused .gallery{position:static;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.motion-paused .tile{position:relative;inset:auto;width:100%;height:360px;translate:none!important;will-change:auto;display:flex}
.motion-paused .tile-f .tile-bottom{display:block}.motion-paused .home-caption{display:none}.motion-paused .home-cta{writing-mode:initial;bottom:32px;right:3.2%;font-size:13px}
.motion-paused .motion-controls{right:auto;bottom:22px}.motion-paused .scroll-cue{display:none}
@media(max-width:750px){
 header{height:90px}.home{height:320svh}.home-stage{top:90px;height:calc(100svh - 90px);min-height:540px}
 .signature{width:77%;top:45%}.tile-a{left:5%;top:1%;width:39%;height:27%}.tile-b{left:56%;top:0;width:31%;height:20%}
 .tile-c{right:-4%;top:25%;width:23%;height:20%}.tile-d{left:-6%;top:68%;width:32%;height:22%}.tile-e{right:5%;top:66%;width:41%;height:28%}.tile-f{display:flex;left:30%;top:108%;width:33%;height:23%}
 .tile-g{left:4%;top:130%;width:40%;height:30%}.tile-h{left:55%;top:142%;width:40%;height:27%}.tile-i{right:5%;top:190%;width:39%;height:30%}.tile-j{left:4%;top:185%;width:37%;height:28%}
 .home-caption{bottom:90px}.home-cta{bottom:90px}.motion-controls{left:5%;right:5%;bottom:20px}.scroll-cue{font-size:9px}.motion-controls button{font-size:9px}
 .motion-paused .home-stage{padding:20px 5% 130px}.motion-paused .signature{width:90%;margin:20px auto 45px}.motion-paused .gallery{grid-template-columns:1fr 1fr;gap:12px}.motion-paused .tile{height:240px}.motion-paused .tile-bottom{display:block}.motion-paused .tile-number{display:none}.motion-paused .home-cta{bottom:85px;left:5%;width:auto}.motion-paused .motion-controls{left:5%}
}
@media(prefers-reduced-motion:reduce){
 :root:not(.motion-enabled) .reveal{opacity:1;transform:none;transition:none}:root:not(.motion-enabled) .tile img,:root:not(.motion-enabled) .project-cover img{transition:none}:root:not(.motion-enabled) #lightbox[open]{animation:none}
 :root:not(.motion-enabled)::view-transition-group(*),:root:not(.motion-enabled)::view-transition-old(*),:root:not(.motion-enabled)::view-transition-new(*){animation:none!important}
}

.detail-hero{margin-bottom:42px}.detail-hero .detail-photo{width:100%}.detail-hero img{width:100%;max-height:76svh;object-fit:cover}#detail-gallery .detail-photo:first-child{grid-column:auto}#detail-information:not([hidden]){margin-top:50px}.detail-hero+.detail-information{margin-top:40px}@media(max-width:750px){.detail-hero{margin-bottom:25px}.detail-hero img{max-height:65svh}}

.signature{isolation:isolate}.signature:before{content:"";position:absolute;inset:-30px -45px;background:radial-gradient(ellipse at center,#f2f4ec 30%,#f2f4ece8 53%,#f2f4ec00 74%);z-index:-1;pointer-events:none}.home-caption{background:#f2f4ecee;padding:9px 12px;margin-left:-12px}.motion-paused .signature:before{display:none}

.home-stage{min-height:0}

.motion-controls{left:0;right:0;bottom:0;min-height:68px;padding:10px 3.2%;z-index:8;background:linear-gradient(#f2f4ec00,#f2f4ec 24%)}.motion-paused .motion-controls{left:0;bottom:0;padding:10px 3.2%;min-width:170px}.home-caption{z-index:4}@media(max-width:750px){.motion-controls{left:0;right:0;padding:10px 5%}.motion-paused .motion-controls{left:0;padding:10px 5%}}

/* Brand refinement requested in browser comments. */
.brand{position:relative;width:112px;height:64px;background:none}.brand img{width:112px;height:64px;max-width:none;opacity:0}.brand:before{content:'';position:absolute;inset:0;background:var(--ink);mask:url('assets/green-symbol-w384.webp') center/contain no-repeat}
.signature{width:26%;isolation:auto}.signature:before{display:none}.wordmark{aspect-ratio:2176/560;overflow:hidden}.signature .wordmark img{width:100%;height:auto;clip-path:polygon(0 0,100% 0,100% 55%,31% 55%,31% 78%,0 78%)}.motion-paused .signature{width:32%}
@media(max-width:750px){.brand{width:92px;height:48px}.brand img{width:92px;height:48px}.signature{width:52%}.motion-paused .signature{width:65%}nav{gap:10px}}
@media(max-width:380px){.brand{width:76px}nav{gap:8px}nav a{font-size:13px}}

.brand:before{clip-path:inset(25% 8% 25% 8%)}.tile:after{background:none}.motion-controls{background:var(--paper)}

.motion-paused .motion-controls{position:sticky;top:108px;order:-2;left:auto;right:auto;bottom:auto;align-self:stretch;justify-content:center;width:100%;background:var(--paper);padding:10px;min-height:64px}.motion-paused .motion-controls button{font-size:13px;border-color:var(--ink)}@media(max-width:750px){.motion-paused .motion-controls{top:90px;padding:10px}}

/* Continuous gallery, contrast lettering and opening sequence. */
.gallery-loop{scrollbar-width:none}.gallery-loop::-webkit-scrollbar{display:none}.gallery-loop .home{height:calc(12000px + 100svh)}.gallery-loop .home-stage{background:var(--paper);isolation:isolate}.gallery-loop .signature{mix-blend-mode:difference;isolation:auto}.gallery-loop .signature img{filter:brightness(0) invert(1)}.motion-controls{display:none!important}
.green-cursor{display:none;position:fixed;left:0;top:0;translate:-50% -50%;width:14px;height:14px;border-radius:50%;border:1px solid var(--ink);background:var(--paper);pointer-events:none;z-index:300;align-items:center;justify-content:center;font-size:10px;white-space:nowrap;opacity:0;transition:width .22s,height .22s,opacity .15s}.green-cursor.visible{opacity:1}.green-cursor.over-link{width:80px;height:80px;background:var(--ink);color:var(--paper)}
@media(hover:hover) and (pointer:fine){.green-cursor{display:flex}body:has(.green-cursor.visible),body:has(.green-cursor.visible) a,body:has(.green-cursor.visible) button{cursor:none}}
.green-intro{position:fixed;inset:0;background:var(--paper);z-index:200;overflow:hidden;pointer-events:none}.intro-symbol{position:absolute;inset:30% 30%;background:var(--ink);mask:url('assets/green-symbol-w384.webp') center/contain no-repeat;clip-path:inset(25% 8% 25% 8%)}.intro-photo{position:absolute;object-fit:cover;width:18vw;height:30vh}.intro-0{left:6%;top:13%;height:46vh}.intro-1{left:33%;top:5%;width:14vw;height:25vh}.intro-2{right:6%;top:10%;height:42vh}.intro-3{left:27%;bottom:3%;width:16vw;height:28vh}.intro-4{right:15%;bottom:4%;width:17vw;height:28vh}
@media(max-width:750px){.intro-photo{width:29vw;height:28vh}.intro-0{left:3%;top:12%;height:32vh}.intro-1{left:36%;width:22vw;height:20vh}.intro-2{right:3%;top:13%;height:30vh}.intro-3{left:10%;bottom:7%;width:30vw;height:27vh}.intro-4{right:9%;bottom:5%;width:30vw;height:27vh}.intro-symbol{inset:24% 10%}}
@media(prefers-reduced-motion:reduce){.green-cursor{transition:none}}

.gallery-loop header{position:fixed;top:0;left:0;right:0}.gallery-loop .home-stage{position:fixed;top:108px;left:0;width:100%;height:calc(100svh - 108px)}@media(max-width:750px){.gallery-loop .home-stage{top:90px;height:calc(100svh - 90px)}}

.gallery-loop .home{height:500svh}

.gallery-loop{scrollbar-width:auto}.gallery-loop::-webkit-scrollbar{display:block}

.gallery-loop{overflow:hidden}.gallery-loop .home{height:calc(100svh - 108px)}.gallery-loop footer{display:none}.gallery-loop .home-stage{touch-action:pinch-zoom}@media(max-width:750px){.gallery-loop .home{height:calc(100svh - 90px)}}

/* Legal footer remains accessible during the endless gallery. */
footer{justify-content:center;gap:8px;min-height:44px;padding:14px 4%;font-size:10px;line-height:1.6;text-align:center}footer a{text-decoration:underline;text-underline-offset:3px}.gallery-loop footer{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--paper)}.gallery-loop .home-stage{height:calc(100svh - 152px)}
.legal-page{max-width:1150px}.legal-page :is(h1.page-title,h2){font-size:clamp(42px,6vw,82px);letter-spacing:-2px;line-height:1.12}.legal-intro{font-size:19px;line-height:1.6;max-width:670px;margin-bottom:55px}.legal-copy{max-width:780px}.legal-copy article{border-top:1px solid var(--line);padding:24px 0 10px}.legal-copy h3{font-size:19px;line-height:1.4;font-weight:500;margin:0 0 16px}.legal-copy p{font-size:15px;line-height:1.85;margin:0 0 18px}.legal-copy a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.legal-copy strong{font-weight:600}
@media(max-width:750px){.gallery-loop .home-stage{height:calc(100svh - 146px)}footer{font-size:9px;gap:5px;min-height:56px;flex-wrap:wrap;padding:10px 4%}.legal-page .section-top{flex-wrap:wrap}.legal-page :is(h1.page-title,h2){font-size:44px}.legal-intro{font-size:17px;margin-bottom:35px}.legal-copy h3{font-size:18px}.legal-copy p{font-size:14px}}

.services{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:750px){.services{grid-template-columns:1fr 1fr}}@media(max-width:450px){.services{grid-template-columns:1fr}}

/* Publication review: quieter typography and mobile captions. */
.view :is(h1.page-title,h2):focus{outline:none}.section-top{border-top:0}.home-caption{background:transparent;padding:0;margin:0;opacity:.68;pointer-events:none}.home-cta{z-index:4}.lightbox-prev svg,.lightbox-next svg{display:block}
@media(max-width:750px){.gallery-loop .home-caption{left:5%;bottom:12px;max-width:52%}.gallery-loop .home-caption>span{font-size:8px;letter-spacing:1px}.gallery-loop .home-caption p{font-size:clamp(9px,2.5vw,10px);line-height:1.55;margin-top:7px}.gallery-loop .home-cta,.motion-paused .home-cta{left:auto;right:5%;bottom:12px;width:auto;max-width:none;writing-mode:horizontal-tb;white-space:nowrap;font-size:clamp(9px,2.6vw,11px);letter-spacing:0;line-height:1.55;min-height:44px;display:flex;align-items:flex-end;opacity:.75}.home-caption p{margin-bottom:0}}

/* Smaller, transparent custom pointer. */
.green-cursor{width:8px;height:8px;border-color:#fff;background:transparent;color:#fff;mix-blend-mode:difference}.green-cursor.over-link{width:42px;height:42px;background:transparent;color:#fff;border-color:#fff;font-size:8px;line-height:1.15;white-space:normal;text-align:center;padding:4px}.green-cursor.over-link:empty{width:22px;height:22px}

/* White canvas and centered opening, requested 2026-11-02. */
:root{--paper:#ffffff}body,.view,.green-intro,.project-cover,.detail-photo img{background-color:#ffffff}nav a{font-weight:700}.brand:before{inset:-50%}.green-cursor,.green-cursor.over-link{color:#fff;border-color:#fff;background:transparent;mix-blend-mode:difference}
.intro-photos{position:absolute;inset:0}.green-intro .intro-symbol{inset:30% 30%;transform:scale(.25);transform-origin:center;z-index:3;background:#fff;mix-blend-mode:difference}.green-intro .intro-photo{left:50%;top:50%;right:auto;bottom:auto;width:clamp(145px,18vw,260px);height:clamp(200px,34vh,360px);margin:0;opacity:0;object-fit:cover}
#lightbox,#lightbox::backdrop{background:#fff;color:var(--ink)}#lightbox button{border-color:var(--line)}
.motion-enable{order:-2;align-self:center;min-height:44px;padding:10px 16px;background:transparent;border:1px solid var(--line);border-radius:0;color:var(--ink);font:inherit;font-size:12px;cursor:pointer}.motion-enable:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(max-width:750px){.green-intro .intro-symbol{inset:24% 10%;transform:scale(.25)}.green-intro .intro-photo{width:32vw;height:28vh}}

/* Reserve the motion activation control before the interactive bundle loads. */
html.motion-paused #enable-motion[hidden]{display:block!important;visibility:hidden}

/* Text contrast on white, while retaining translucent captions. */
.home-caption,.home-cta{opacity:.86}
@media(max-width:750px){.gallery-loop .home-cta,.motion-paused .home-cta{opacity:.86}}
