:root{--ink:#101010;--paper:#f2f0eb;--line:rgba(16,16,16,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Inter Tight","Helvetica Neue",Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.nav{height:96px;padding:0 4vw;display:flex;align-items:center;gap:3rem;background:var(--paper);position:relative;z-index:20}.brand{direction:ltr;margin-inline-end:auto;display:flex;flex-direction:column;font-family:"Inter Tight",sans-serif;letter-spacing:.12em;line-height:1}.brand span{font-size:1.15rem}.brand small{font-size:.55rem;letter-spacing:.42em;margin-top:7px}.nav nav{display:flex;gap:2.4rem}.nav nav a{font-size:.92rem}.nav nav a,.lang{transition:opacity .2s}.nav nav a:hover,.lang:hover{opacity:.5}.lang{border:0;background:none;font:400 .75rem "Inter Tight";cursor:pointer}.menu{display:none;border:0;background:none;width:38px;height:38px;padding:8px}.menu i{display:block;height:1px;background:#111;margin:7px 0}.hero{height:calc(100svh - 96px);min-height:620px;position:relative;color:#fff;overflow:hidden}.hero>img,.hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero>img{object-position:center 58%}.hero>video{object-position:center center}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.08),rgba(0,0,0,.43))}.hero-copy{position:absolute;right:7vw;bottom:12%;max-width:700px}.hero-copy p,.eyebrow{font-size:.76rem;letter-spacing:.2em}.hero h1{font-weight:300;font-size:clamp(3.1rem,6vw,7rem);line-height:.94;margin:.5rem 0 2.2rem}.arrow-link{display:inline-flex;align-items:center;gap:3rem;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:.55rem;min-width:190px}.scroll{position:absolute;left:4vw;bottom:9%;font:300 .65rem "Inter Tight";letter-spacing:.22em;writing-mode:vertical-rl}.section{padding:9rem 5vw}.section-head{display:grid;grid-template-columns:80px 1fr;border-top:1px solid var(--line);padding-top:1.5rem;margin-bottom:5rem}.section-head span,.story-intro>span{font:300 .7rem "Inter Tight"}.section-head h2{font-size:clamp(2.4rem,4vw,5rem);font-weight:300;margin:0}.project{display:block;margin-bottom:2rem}.project-img{overflow:hidden;height:min(70vw,780px)}.project-img img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.project:hover img{transform:scale(1.02)}.project-meta{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid var(--line);padding:1.2rem 0}.project-meta h3{font-size:1.35rem;font-weight:400;margin:0}.project-meta p{color:#666;margin:0}.project-story{background:#fff;color:#101010;padding:9rem 5vw}.story-intro{display:grid;grid-template-columns:80px minmax(320px,1.2fr) minmax(280px,.8fr);gap:4vw;border-top:1px solid rgba(16,16,16,.18);padding-top:1.5rem;margin-bottom:8rem}.story-intro h2{font-size:clamp(3rem,6vw,7rem);font-weight:300;line-height:.92;margin:.8rem 0 0}.story-intro>p{font-size:1.12rem;line-height:1.85;color:#595959;margin:2.4rem 0 0}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8vw 3vw}.gallery figure{margin:0;overflow:hidden;background:#f2f1ef}.gallery .wide{grid-column:1/-1;aspect-ratio:16/9}.gallery .landscape{aspect-ratio:4/3}.gallery .portrait{aspect-ratio:3/4}.gallery img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.gallery figure:hover img{transform:scale(1.018)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:12vw}.about-grid h3{font-size:clamp(3rem,5vw,6rem);font-weight:300;margin:0}.about-grid p{font-size:1.25rem;line-height:1.8;margin-top:0}.contact{text-align:center;padding:11rem 5vw;background:#d8d4cb}.contact>p{font-size:1.1rem}.contact>a{font-size:clamp(4rem,10vw,11rem);font-weight:300;line-height:1;border-bottom:2px solid}.contact-links{margin:7rem auto 0;max-width:1000px;border-top:1px solid var(--line);padding-top:1.5rem;display:flex;justify-content:space-between;gap:1.5rem;direction:ltr}footer{height:90px;padding:0 5vw;display:flex;justify-content:space-between;align-items:center;font:300 .7rem "Inter Tight"}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}html[dir=ltr] .hero-copy{right:auto;left:7vw}html[dir=ltr] .scroll{left:auto;right:4vw}.nav.open nav{display:flex}
@media(max-width:760px){.nav{height:76px;padding:0 22px}.brand span{font-size:.9rem}.brand small{font-size:.48rem}.nav nav{display:none;position:absolute;inset:76px 0 auto;background:var(--paper);flex-direction:column;padding:2rem 24px;border-top:1px solid var(--line);gap:1.4rem}.lang{margin-inline-start:auto}.menu{display:block}.hero{height:calc(100svh - 76px);min-height:560px}.hero>img{object-position:53% center}.hero-copy{right:24px;left:24px;bottom:12%}.hero h1{font-size:2.95rem;line-height:1.02}.scroll{display:none}.section{padding:6rem 24px}.section-head{grid-template-columns:45px;margin-bottom:3rem}.project-img{height:68vh;max-height:680px}.project-meta{display:block}.project-meta p{margin-top:.4rem}.project-story{padding:6rem 24px}.story-intro{grid-template-columns:42px 1fr;gap:0;margin-bottom:5rem}.story-intro>p{grid-column:2;margin-top:2rem}.gallery{display:block}.gallery figure,.gallery .wide,.gallery .landscape,.gallery .portrait{aspect-ratio:auto;margin-bottom:24px}.gallery img{height:auto;object-fit:contain}.about-grid{grid-template-columns:1fr;gap:3rem}.about-grid p{font-size:1.1rem}.contact{padding:7rem 24px}.contact>a{font-size:3.5rem}.contact-links{margin-top:5rem;flex-direction:column}footer{padding:0 24px}}

.nav nav a,.hero-copy>p,.eyebrow,.project-meta p{letter-spacing:.13em;text-transform:uppercase}.hero h1,.section-head h2,.story-intro h2,.about-grid h3,.contact>a{font-weight:200;letter-spacing:-.035em}.project-meta h3{font-weight:300;letter-spacing:.015em}.story-intro>p,.about-grid p{font-weight:300}.brand span{font-weight:400}.brand small{font-weight:300}

@media (prefers-reduced-motion:reduce){.hero-video{display:none}}
.hero-video::-webkit-media-controls{display:none!important}.hero-video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
.gallery video{display:block;width:100%;height:100%;object-fit:cover;background:#111}.video-frame{background:#111}.gallery video::-webkit-media-controls{display:none!important}.gallery video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
@media(max-width:760px){.gallery video{height:auto;object-fit:contain}}
.nav{position:sticky;top:0}
@media(min-width:761px) and (max-width:1200px){.nav{gap:1.4rem;padding-inline:3vw}.nav nav{gap:1.25rem}.nav nav a{font-size:.78rem}.brand span{font-size:1rem}}
@media(max-width:760px){
  .nav{height:auto;min-height:76px;padding:0 22px;flex-wrap:wrap;gap:0}
  .brand{height:76px;justify-content:center}
  .lang{margin-inline-start:auto}
  .menu{display:none}
  .nav nav{display:flex;flex-direction:row;align-items:center;position:static;order:3;width:calc(100% + 44px);margin:0 -22px;padding:0 22px 14px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;white-space:nowrap;border-top:1px solid var(--line);gap:1.65rem}
  .nav nav::-webkit-scrollbar{display:none}
  .nav nav a{flex:0 0 auto;padding-top:13px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
  .hero{height:calc(100svh - 119px);min-height:520px}
}

/* Accessibility and resilient interaction */
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;background:#fff;color:#000;border:2px solid #000;padding:.8rem 1rem;transform:translateY(-150%);transition:transform .2s}.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #0067c5;outline-offset:4px}.nav a:focus-visible,.lang:focus-visible,.access-trigger:focus-visible{outline-color:#0067c5}
.accessibility-statement{background:#ece9e2}.statement-grid{display:grid;grid-template-columns:1fr 1fr;gap:12vw}.statement-grid p{font-size:1.12rem;line-height:1.8;margin-top:0}.statement-grid a{text-decoration:underline;text-underline-offset:.2em}.statement-date{font-size:.9rem!important;color:#555}.footer-links{display:flex;gap:2rem;align-items:center}
.access-trigger{position:fixed;right:22px;bottom:22px;z-index:80;width:54px;height:54px;border:1px solid #fff;border-radius:50%;background:#101010;color:#fff;box-shadow:0 8px 28px rgba(0,0,0,.22);display:grid;place-items:center;cursor:pointer}.access-trigger svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.access-panel{position:fixed;right:22px;bottom:88px;z-index:90;width:min(350px,calc(100vw - 44px));max-height:calc(100svh - 120px);overflow:auto;background:#fff;color:#101010;border:1px solid rgba(0,0,0,.2);box-shadow:0 18px 60px rgba(0,0,0,.25);padding:1.3rem}.access-panel[hidden]{display:none}.access-panel-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.18);padding-bottom:1rem;margin-bottom:1rem}.access-panel h2{font-size:1.35rem;font-weight:400;margin:0}.access-close{border:0;background:transparent;color:inherit;font-size:2rem;line-height:1;cursor:pointer;padding:.2rem .45rem}.access-controls{display:grid;gap:.65rem}.access-controls button,.statement-link{min-height:46px;border:1px solid rgba(0,0,0,.28);background:#fff;color:#101010;padding:.75rem 1rem;font:400 .92rem "Inter Tight",Arial,sans-serif;text-align:start;cursor:pointer}.access-controls button[aria-pressed="true"]{background:#101010;color:#fff}.access-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.access-row button{text-align:center;font-size:1.05rem}.statement-link{display:flex;align-items:center;justify-content:center;text-decoration:underline;text-underline-offset:.2em}.access-status{min-height:1.2em;margin:.8rem 0 0;font-size:.8rem}
html.a11y-font-1{font-size:112.5%}html.a11y-font-2{font-size:125%}
html.a11y-contrast{--ink:#000;--paper:#fff;--line:#000}html.a11y-contrast body,html.a11y-contrast .nav,html.a11y-contrast .section,html.a11y-contrast .project-story,html.a11y-contrast footer{background:#fff;color:#000}html.a11y-contrast .contact{background:#000;color:#fff}html.a11y-contrast .shade{background:rgba(0,0,0,.72)}html.a11y-contrast .project-meta p,html.a11y-contrast .story-intro>p,html.a11y-contrast .statement-date{color:#000}html.a11y-contrast .access-trigger{background:#000;color:#fff;border:2px solid #fff}
html.a11y-grayscale body{filter:grayscale(1)}
html.a11y-links a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:.22em!important}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}.gallery video{display:none}}
@media(max-width:760px){.statement-grid{grid-template-columns:1fr;gap:2rem}.access-trigger{right:14px;bottom:14px}.access-panel{right:12px;bottom:78px;width:calc(100vw - 24px)}footer{height:auto;min-height:100px;gap:1.2rem}.footer-links{flex-direction:column;align-items:flex-end;gap:.7rem}}
.story-copy{margin:2.4rem 0 0}.story-copy>p:first-child{font-size:1.12rem;line-height:1.85;color:#595959;margin:0;font-weight:300}.story-copy .photo-credit{margin:1.25rem 0 0;font-size:.76rem;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;color:#777}html.a11y-contrast .story-copy>p:first-child,html.a11y-contrast .story-copy .photo-credit{color:#000}@media(max-width:760px){.story-copy{grid-column:2;margin-top:2rem}}
.services{background:#fff}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5vw}.services-grid>div{border-top:1px solid var(--line);padding-top:1.5rem}.services-grid h3{font-size:1.45rem;font-weight:300;margin:0 0 1.25rem}.services-grid p{font-size:1.05rem;font-weight:300;line-height:1.75;color:#595959;margin:0}html.a11y-contrast .services-grid p{color:#000}@media(max-width:760px){.services-grid{grid-template-columns:1fr;gap:3rem}}
