:root{
  --color-carbon:#0a0a0a;--color-graphite:#1b1b1b;--color-gold:#d4af37;--color-off-white:#f7f5f2;--color-light-gray:#a1a1a1;--color-border:rgba(255,255,255,.15);--color-overlay:rgba(0,0,0,.58);
  --font-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-serif:Georgia,"Times New Roman",serif;
  --container-wide:1680px;--container-content:1180px;--container-reading:760px;
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:5rem;--space-9:8rem;
  --header-height:84px;--transition-fast:160ms ease;--transition-normal:280ms ease;--transition-slow:480ms ease;
  --page-pad:clamp(1rem,3vw,3rem);--text-scale:1;color-scheme:dark
}
html[data-theme="light"]{--color-carbon:#f7f5f2;--color-graphite:#fff;--color-off-white:#111;--color-light-gray:#585858;--color-border:rgba(0,0,0,.16);--color-overlay:rgba(0,0,0,.52);color-scheme:light}
html.high-contrast{--color-gold:#ffe16a;--color-light-gray:#fff;--color-border:#fff}html.text-lg{--text-scale:1.125}html.text-sm{--text-scale:.9}
*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:calc(100% * var(--text-scale))}body{margin:0;overflow-x:hidden;background:var(--color-carbon);color:var(--color-off-white);font-family:var(--font-sans);line-height:1.6;text-rendering:optimizeLegibility}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.2em}button,input,textarea,select{font:inherit}button{color:inherit}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;z-index:9999;top:.5rem;left:.5rem;transform:translateY(-160%);padding:.75rem 1rem;background:var(--color-gold);color:#000;font-weight:700}.skip-link:focus{transform:none}*:focus-visible{outline:2px solid var(--color-gold);outline-offset:4px}
.site-header{position:sticky;z-index:100;top:0;min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-pad);border-bottom:1px solid transparent;background:rgba(10,10,10,.74);backdrop-filter:blur(18px);transition:border-color var(--transition-fast),background var(--transition-fast)}html[data-theme="light"] .site-header{background:rgba(247,245,242,.88)}.site-header.is-scrolled{border-color:var(--color-border)}.brand{display:flex;align-items:center;gap:1rem;text-decoration:none}.brand__mark{display:grid;place-items:center;width:48px;aspect-ratio:1;border:1px solid var(--color-gold);border-radius:50%;font-family:var(--font-serif);font-size:1.1rem;color:var(--color-gold)}.brand__name{font-size:.78rem;font-weight:700;letter-spacing:.18em;line-height:1.2}.brand__name small{display:block;margin-top:.35rem;font-size:.55rem;font-weight:400;letter-spacing:.36em;color:var(--color-light-gray)}.site-nav{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem)}.site-nav>a{position:relative;text-decoration:none;text-transform:uppercase;font-size:.7rem;letter-spacing:.15em;color:var(--color-light-gray)}.site-nav>a:hover,.site-nav>a:focus-visible,.site-nav>a[aria-current="page"]{color:var(--color-off-white)}.site-nav>a[aria-current="page"]::after{content:"";position:absolute;right:0;bottom:-.65rem;left:0;height:1px;background:var(--color-gold)}.nav-tools{display:flex;align-items:center;gap:.35rem;padding-left:1rem;border-left:1px solid var(--color-border)}.nav-tools select,.text-button{min-height:44px;border:0;background:transparent;color:var(--color-off-white);padding:.5rem}.menu-toggle{display:none;border:0;background:none;min-width:48px;min-height:48px}.a11y-menu{position:fixed;right:var(--page-pad);top:calc(var(--header-height) + .75rem);z-index:110;min-width:240px;padding:.5rem;border:1px solid var(--color-border);background:var(--color-graphite);box-shadow:0 24px 70px rgba(0,0,0,.28)}.a11y-menu button{display:flex;width:100%;gap:.75rem;border:0;border-bottom:1px solid var(--color-border);background:transparent;padding:.75rem;text-align:left}.a11y-menu button:last-child{border:0}
main{min-height:70vh}.work-intro{width:min(var(--container-content),calc(100% - var(--page-pad)*2));margin:0 auto;padding:clamp(4rem,9vw,9rem) 0 clamp(3rem,7vw,6rem)}.eyebrow{margin:0 0 1rem;color:var(--color-gold);font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.work-intro h1{max-width:980px;margin:0;font:400 clamp(1.85rem,4vw,4.25rem)/1.18 var(--font-serif);letter-spacing:-.025em}.filters{display:flex;gap:1.25rem;width:min(var(--container-wide),calc(100% - var(--page-pad)*2));margin:0 auto;padding:0 0 2rem;overflow:auto;scrollbar-width:thin}.filters a{white-space:nowrap;text-decoration:none;text-transform:uppercase;font-size:.68rem;letter-spacing:.12em;color:var(--color-light-gray)}.filters a:hover,.filters a:focus-visible,.filters a[aria-current="page"]{color:var(--color-off-white)}.filters a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--color-gold)}.project-grid{width:min(var(--container-wide),100%);margin:0 auto;columns:3;column-gap:clamp(.75rem,1.5vw,1.5rem)}.project-card{display:inline-block;width:100%;margin:0 0 clamp(2rem,4vw,4rem);break-inside:avoid}.project-card>a{display:block;text-decoration:none}.photo-placeholder{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:4/5;overflow:hidden;background:var(--color-graphite);isolation:isolate}.photo-placeholder::before,.photo-placeholder::after{content:"";position:absolute;inset:8%;border:1px solid rgba(212,175,55,.24);z-index:-1}.photo-placeholder::after{inset:36%;border-radius:50%;box-shadow:0 0 0 40px rgba(255,255,255,.025)}.photo-placeholder>span{font-size:.58rem;letter-spacing:.32em;text-align:center;color:rgba(247,245,242,.48)}.placeholder-1{background:radial-gradient(circle at 65% 28%,#6d4c3d 0 7%,transparent 8%),linear-gradient(145deg,#25211e,#0b0b0b 65%)}.placeholder-2{aspect-ratio:5/7;background:linear-gradient(28deg,#0b0b0b 35%,#3a2e35 36% 60%,#0f0f12 61%)}.placeholder-3{aspect-ratio:4/3;background:radial-gradient(ellipse at 35% 60%,#5b4332,transparent 28%),linear-gradient(105deg,#101010,#26211b)}.placeholder-4{background:linear-gradient(150deg,#161616 45%,#594f36 46% 48%,#181818 49%)}.placeholder-5{aspect-ratio:3/2;background:radial-gradient(circle at 30% 30%,#5e3761,transparent 15%),radial-gradient(circle at 70% 60%,#315364,transparent 20%),#111}.placeholder-6{background:linear-gradient(90deg,#131313 48%,#4d3427 49% 52%,#101010 53%)}.placeholder-7{aspect-ratio:4/3;background:radial-gradient(circle at 20% 70%,#5e4a21,transparent 20%),linear-gradient(#151515,#25211a)}.placeholder-8{background:radial-gradient(ellipse at 50% 35%,#5f493e 0 13%,transparent 14%),linear-gradient(120deg,#101010,#302821)}.project-card img,.project-card .photo-placeholder{transition:transform var(--transition-slow),filter var(--transition-slow)}.project-card a:hover img,.project-card a:hover .photo-placeholder{transform:scale(.987);filter:brightness(.82)}.project-card__meta{display:flex;justify-content:space-between;gap:1rem;padding:.9rem var(--page-pad) 0}.project-card__meta h2{margin:0;font:400 clamp(1.2rem,2vw,1.65rem)/1.2 var(--font-serif)}.project-card__meta p{margin:.15rem 0 0;text-transform:uppercase;text-align:right;font-size:.62rem;letter-spacing:.12em;color:var(--color-light-gray)}
.project-page{padding:clamp(3rem,8vw,8rem) 0}.project-hero{display:grid;grid-template-columns:1fr minmax(300px,660px);gap:1rem 4rem;width:min(var(--container-content),calc(100% - var(--page-pad)*2));margin:0 auto clamp(4rem,8vw,8rem)}.project-hero .eyebrow{grid-column:1/-1}.project-hero h1{margin:0;font:400 clamp(3rem,8vw,8rem)/.92 var(--font-serif);letter-spacing:-.05em}.project-description{align-self:end;font-size:clamp(1rem,1.3vw,1.2rem);color:var(--color-light-gray)}.project-facts{grid-column:2;margin:0;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(.75rem,2vw,2rem);width:min(var(--container-wide),100%);margin:0 auto}.gallery__item{grid-column:2/span 6;margin:0}.gallery__item:nth-child(3n+2){grid-column:7/span 5}.gallery__item--landscape{grid-column:1/-1}.gallery__open{display:block;width:100%;border:0;padding:0;background:none;text-align:inherit;cursor:zoom-in}.gallery__item figcaption{padding:.6rem 0;color:var(--color-light-gray);font-size:.78rem}.credits,.back-link{display:block;width:min(var(--container-reading),calc(100% - var(--page-pad)*2));margin:5rem auto}.credits h2{font:400 1.5rem var(--font-serif)}.back-link{text-transform:uppercase;font-size:.72rem;letter-spacing:.14em}.lightbox{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:0;background:#060606;color:#fff}.lightbox::backdrop{background:#060606}.lightbox__bar{position:absolute;z-index:2;top:0;right:0;left:0;display:flex;justify-content:space-between;padding:1rem}.lightbox__bar button,.lightbox__prev,.lightbox__next{min-width:48px;min-height:48px;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.5);color:#fff}.lightbox__stage{display:grid;place-items:center;width:100%;height:100%;padding:5rem}.lightbox__stage>*{max-width:100%;max-height:100%;object-fit:contain}.lightbox__stage .photo-placeholder{width:min(700px,80vw);height:min(82vh,900px)}.lightbox__prev,.lightbox__next{position:absolute;top:50%;transform:translateY(-50%)}.lightbox__prev{left:1rem}.lightbox__next{right:1rem}
.about-page,.contact-page{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1fr);gap:clamp(2rem,7vw,8rem);width:min(var(--container-content),calc(100% - var(--page-pad)*2));margin:0 auto;padding:clamp(4rem,10vw,10rem) 0}.about-portrait{aspect-ratio:4/5}.about-copy h1,.contact-page h1,.legal-page h1{margin:.2rem 0 2rem;font:400 clamp(3rem,7vw,6.5rem)/.95 var(--font-serif);letter-spacing:-.045em}.about-copy p,.contact-page .lede{font-size:clamp(1rem,1.4vw,1.2rem);color:var(--color-light-gray)}.about-copy h2{margin-top:3rem;font:400 1.5rem var(--font-serif)}.inline-list{display:flex;flex-wrap:wrap;gap:.45rem 1.2rem;padding:0;list-style:none;color:var(--color-light-gray);font-size:.82rem}.button{display:inline-block;margin-top:1.5rem;border:1px solid var(--color-gold);background:transparent;color:var(--color-off-white);padding:.9rem 1.2rem;text-decoration:none;text-transform:uppercase;font-size:.7rem;letter-spacing:.12em}.button:hover{background:var(--color-gold);color:#000}.contact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.contact-form label{display:grid;gap:.4rem;font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:var(--color-light-gray)}.contact-form input,.contact-form textarea,.contact-form select{width:100%;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent;color:var(--color-off-white);padding:.75rem .1rem}.contact-form textarea{border:1px solid var(--color-border);padding:.75rem}.contact-form .wide,.contact-form .notice{grid-column:1/-1}.contact-form .checkbox{display:flex;align-items:start;gap:.65rem;text-transform:none;letter-spacing:0}.contact-form .checkbox input{width:auto;margin-top:.25rem}.field-error,.notice--error{color:#ffaaa5}.notice--success{color:#9de5b9}.notice{padding:1rem;border:1px solid currentColor}.honeypot{position:absolute;left:-10000px}.legal-page,.error-page{width:min(var(--container-reading),calc(100% - var(--page-pad)*2));margin:0 auto;padding:clamp(5rem,12vw,11rem) 0}.legal-page section{padding:2rem 0;border-top:1px solid var(--color-border)}.legal-page h2{font:400 1.6rem var(--font-serif)}.legal-page p{color:var(--color-light-gray)}.legal-date{margin-top:4rem;font-size:.78rem}.error-page{text-align:center}.error-code{font:400 clamp(5rem,18vw,13rem)/.8 var(--font-serif);color:var(--color-graphite);text-shadow:0 0 0 var(--color-border)}.error-page h1{font:400 clamp(2rem,6vw,5rem)/1 var(--font-serif)}.error-page .text-link{margin-left:1.5rem}.single-photo{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.5fr);gap:2rem;align-items:end;width:min(var(--container-wide),calc(100% - var(--page-pad)*2));margin:0 auto;padding:3rem 0 8rem}.single-photo__copy h1{font:400 2.5rem var(--font-serif)}
.site-footer{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:2rem var(--page-pad);border-top:1px solid var(--color-border);font-size:.63rem;letter-spacing:.14em;color:var(--color-light-gray)}.site-footer p{margin:0}.site-footer nav{display:flex;gap:1rem}
@media(max-width:1024px){:root{--header-height:70px}.project-grid{columns:2}.brand__name{display:none}.project-hero{grid-template-columns:1fr}.project-description,.project-facts{grid-column:1}.gallery__item,.gallery__item:nth-child(3n+2){grid-column:1/span 6}.gallery__item:nth-child(even){grid-column:7/span 6}.gallery__item--landscape{grid-column:1/-1}.site-footer{grid-template-columns:1fr 1fr}.site-footer nav{grid-column:1/-1}}
@media(max-width:760px){.site-header{padding-right:.75rem}.menu-toggle{display:flex;align-items:center;gap:.75rem}.menu-toggle span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.menu-toggle i,.menu-toggle i::after{display:block;width:20px;height:1px;background:currentColor;content:""}.menu-toggle i::after{transform:translateY(6px)}.site-nav{position:fixed;inset:var(--header-height) 0 auto;display:none;flex-direction:column;align-items:stretch;gap:0;padding:1rem var(--page-pad) 2rem;border-bottom:1px solid var(--color-border);background:var(--color-carbon)}.site-nav.is-open{display:flex}.site-nav>a{padding:1rem 0;font-size:.8rem}.nav-tools{border-left:0;border-top:1px solid var(--color-border);padding:1rem 0 0}.work-intro{padding-top:4rem}.project-grid{columns:1}.project-card__meta{padding-right:var(--page-pad);padding-left:var(--page-pad)}.project-hero h1{font-size:clamp(3rem,17vw,5rem)}.gallery{display:block}.gallery__item{margin:0 0 1rem}.about-page,.contact-page,.single-photo{grid-template-columns:1fr}.about-copy h1,.contact-page h1,.legal-page h1{font-size:3.4rem}.contact-form{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}.site-footer nav{grid-column:auto;flex-wrap:wrap}.lightbox__stage{padding:5rem 1rem}.lightbox__prev{left:.5rem}.lightbox__next{right:.5rem}}
@media(max-width:360px){.brand__mark{width:42px}.filters{gap:1rem}.about-copy h1,.contact-page h1,.legal-page h1{font-size:2.8rem}.site-footer{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}html.reduce-motion{scroll-behavior:auto}html.reduce-motion *,html.reduce-motion *::before,html.reduce-motion *::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
@media(prefers-contrast:more){:root{--color-border:rgba(255,255,255,.65);--color-light-gray:#e8e8e8}.site-nav>a{font-weight:700}}

/* Work index — editorial portfolio experience */
[hidden]{display:none!important}
.work-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);
  gap:clamp(2rem,7vw,8rem);
  align-items:end;
  width:min(var(--container-wide),calc(100% - var(--page-pad)*2));
  min-height:clamp(470px,58svh,690px);
  margin:0 auto;
  padding:clamp(4.5rem,8vw,8.5rem) 0 clamp(3.5rem,6vw,6rem);
}
.work-hero::before{
  position:absolute;
  top:clamp(2rem,4vw,4rem);
  left:0;
  width:clamp(44px,7vw,110px);
  height:1px;
  background:var(--color-gold);
  content:"";
}
.work-hero__copy{max-width:1100px}
.work-hero__kicker{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin:0 0 clamp(2rem,4vw,4rem);
  color:var(--color-light-gray);
  font-size:.6rem;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.work-hero__kicker span:last-child{text-align:right}
.work-hero .eyebrow{margin-bottom:1.15rem}
.work-hero h1{
  max-width:13ch;
  margin:0;
  font:400 clamp(3.5rem,7.3vw,8.4rem)/.88 var(--font-serif);
  letter-spacing:-.065em;
  text-wrap:balance;
}
.work-hero__intro{
  max-width:62ch;
  margin:clamp(2rem,4vw,3.5rem) 0 0;
  color:var(--color-light-gray);
  font-size:clamp(.9rem,1.08vw,1.05rem);
  line-height:1.7;
}
.work-hero__jump{
  display:flex;
  justify-content:space-between;
  gap:2rem;
  align-items:center;
  min-height:72px;
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  text-decoration:none;
  font-size:.67rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  transition:border-color var(--transition-fast),color var(--transition-fast);
}
.work-hero__jump span:last-child{
  color:var(--color-gold);
  font:400 1.5rem/1 var(--font-serif);
  transition:transform var(--transition-fast);
}
.work-hero__jump:hover,.work-hero__jump:focus-visible{border-color:var(--color-gold)}
.work-hero__jump:hover span:last-child{transform:translateY(4px)}

.project-index{
  width:min(var(--container-wide),calc(100% - var(--page-pad)*2));
  margin:0 auto;
  padding-bottom:clamp(5rem,10vw,10rem);
}
.project-index__bar{
  position:sticky;
  z-index:45;
  top:var(--header-height);
  display:grid;
  grid-template-columns:1fr minmax(300px,430px);
  align-items:stretch;
  min-height:84px;
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  background:color-mix(in srgb,var(--color-carbon) 92%,transparent);
  backdrop-filter:blur(20px);
}
.project-index__summary{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:2rem;
  padding-right:clamp(1.25rem,3vw,3rem);
  text-transform:uppercase;
}
.project-index__summary>span{
  font-size:.65rem;
  letter-spacing:.17em;
  color:var(--color-light-gray);
}
.project-index__summary strong{
  font:400 1rem/1 var(--font-serif);
  letter-spacing:0;
  text-transform:none;
}
.filter-menu{
  position:relative;
  border-left:1px solid var(--color-border);
}
.filter-menu summary{
  display:grid;
  grid-template-columns:1fr auto 20px;
  gap:1rem;
  align-items:center;
  min-height:83px;
  padding:0 clamp(1rem,2vw,1.75rem);
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.filter-menu summary::-webkit-details-marker{display:none}
.filter-menu summary>span{
  color:var(--color-light-gray);
  font-size:.59rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.filter-menu summary strong{
  overflow:hidden;
  max-width:180px;
  font-size:.7rem;
  letter-spacing:.08em;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}
.filter-menu summary i{
  position:relative;
  display:block;
  width:16px;
  height:16px;
}
.filter-menu summary i::before,.filter-menu summary i::after{
  position:absolute;
  top:7px;
  left:1px;
  width:14px;
  height:1px;
  background:var(--color-gold);
  content:"";
  transition:transform var(--transition-fast);
}
.filter-menu summary i::after{transform:rotate(90deg)}
.filter-menu[open] summary i::after{transform:rotate(0)}
.filter-menu[open] summary{background:var(--color-graphite)}
.filter-menu__panel{
  position:absolute;
  top:calc(100% + 1px);
  right:0;
  width:min(620px,calc(100vw - var(--page-pad)*2));
  padding:clamp(1.25rem,3vw,2.5rem);
  border:1px solid var(--color-border);
  border-top:0;
  background:var(--color-graphite);
  box-shadow:0 30px 80px rgba(0,0,0,.38);
}
.filter-menu__heading{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  align-items:start;
  margin-bottom:1.5rem;
}
.filter-menu__heading>span{
  color:var(--color-gold);
  font-size:.63rem;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.filter-menu__heading p{
  margin:0;
  color:var(--color-light-gray);
  font-size:.76rem;
  line-height:1.5;
}
.filter-menu__options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--color-border);
  border-left:1px solid var(--color-border);
}
.filter-menu__options a{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  align-items:center;
  min-height:68px;
  padding:.8rem 1rem;
  border-right:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  text-decoration:none;
  font-size:.7rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:background var(--transition-fast),color var(--transition-fast);
}
.filter-menu__options a small{
  color:var(--color-light-gray);
  font-size:.6rem;
}
.filter-menu__options a:hover,.filter-menu__options a:focus-visible{background:color-mix(in srgb,var(--color-gold) 9%,transparent)}
.filter-menu__options a[aria-current="page"]{background:var(--color-gold);color:#0a0a0a}
.filter-menu__options a[aria-current="page"] small{color:#0a0a0a}

.project-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(3rem,7vw,8rem) clamp(1rem,2vw,2rem);
  width:100%;
  margin:clamp(2rem,4vw,4.5rem) auto 0;
  columns:auto;
}
.project-card{
  display:block;
  width:auto;
  margin:0;
  break-inside:auto;
  align-self:start;
}
.project-card--layout-1{grid-column:1/span 7}
.project-card--layout-2{grid-column:8/span 5;margin-top:clamp(3rem,8vw,9rem)}
.project-card--layout-3{grid-column:1/span 5}
.project-card--layout-4{grid-column:6/span 7;margin-top:clamp(1rem,4vw,4rem)}
.project-card--layout-5{grid-column:1/span 8}
.project-card--layout-6{grid-column:9/span 4;margin-top:clamp(4rem,10vw,11rem)}
.project-card>a{display:block;text-decoration:none}
.project-card__media{
  position:relative;
  overflow:hidden;
  aspect-ratio:4/5;
  background:var(--color-graphite);
}
.project-card--layout-2 .project-card__media{aspect-ratio:5/7}
.project-card--layout-3 .project-card__media{aspect-ratio:4/3}
.project-card--layout-4 .project-card__media{aspect-ratio:3/2}
.project-card--layout-5 .project-card__media{aspect-ratio:16/10}
.project-card--layout-6 .project-card__media{aspect-ratio:4/5}
.project-card__media>img,.project-card__media>.photo-placeholder{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
}
.project-card__media::after{
  position:absolute;
  inset:0;
  border:1px solid transparent;
  content:"";
  pointer-events:none;
  transition:border-color var(--transition-normal),inset var(--transition-normal);
}
.project-card a:hover .project-card__media::after,.project-card a:focus-visible .project-card__media::after{
  inset:.65rem;
  border-color:rgba(212,175,55,.64);
}
.project-card__number{
  position:absolute;
  z-index:2;
  top:1rem;
  left:1rem;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:50%;
  background:rgba(10,10,10,.35);
  color:#fff;
  font-size:.56rem;
  letter-spacing:.08em;
  backdrop-filter:blur(10px);
}
.project-card__meta{
  display:grid;
  grid-template-columns:1fr auto;
  gap:1rem;
  align-items:end;
  padding:1rem 0 0;
}
.project-card__meta p{
  margin:0 0 .35rem;
  color:var(--color-gold);
  font-size:.58rem;
  letter-spacing:.15em;
  text-align:left;
  text-transform:uppercase;
}
.project-card__meta h2{
  margin:0;
  font:400 clamp(1.35rem,2.2vw,2.15rem)/1.05 var(--font-serif);
  letter-spacing:-.025em;
}
.project-card__arrow{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid var(--color-border);
  border-radius:50%;
  color:var(--color-gold);
  transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);
}
.project-card a:hover .project-card__arrow{background:var(--color-gold);color:#0a0a0a;transform:rotate(12deg)}
.project-grid__empty{
  grid-column:1/-1;
  min-height:38vh;
  margin:0;
  padding:4rem 0;
  color:var(--color-light-gray);
  font:400 clamp(1.5rem,3vw,2.5rem)/1.2 var(--font-serif);
}

@media(max-width:1100px){
  .work-hero{grid-template-columns:1fr minmax(180px,.35fr);gap:3rem}
  .work-hero h1{font-size:clamp(3.5rem,8.5vw,6.5rem)}
  .project-index__bar{grid-template-columns:1fr minmax(290px,390px)}
  .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem 1rem}
  .project-card--layout-1,.project-card--layout-2,.project-card--layout-3,
  .project-card--layout-4,.project-card--layout-5,.project-card--layout-6{
    grid-column:auto;
    margin-top:0;
  }
  .project-card:nth-child(even){margin-top:5rem}
  .project-card--layout-4 .project-card__media,.project-card--layout-5 .project-card__media{aspect-ratio:4/5}
}

@media(max-width:760px){
  .work-hero{
    grid-template-columns:1fr;
    gap:2.5rem;
    min-height:auto;
    padding:4.5rem 0 3rem;
  }
  .work-hero::before{top:2rem}
  .work-hero__kicker{display:grid;gap:.45rem;margin-bottom:2rem}
  .work-hero__kicker span:last-child{text-align:left}
  .work-hero h1{max-width:11ch;font-size:clamp(3.4rem,15vw,5.8rem)}
  .work-hero__intro{margin-top:2rem}
  .work-hero__jump{min-height:62px}
  .project-index{width:100%}
  .project-index__bar{
    grid-template-columns:1fr;
    position:relative;
    top:auto;
    min-height:0;
    border-bottom:0;
    background:var(--color-carbon);
    backdrop-filter:none;
  }
  .project-index__summary{
    min-height:68px;
    padding:0 var(--page-pad);
    border-bottom:1px solid var(--color-border);
  }
  .filter-menu{border-left:0;border-bottom:1px solid var(--color-border)}
  .filter-menu summary{min-height:68px;padding:0 var(--page-pad)}
  .filter-menu__panel{
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    border:0;
    border-top:1px solid var(--color-border);
    box-shadow:none;
  }
  .filter-menu__heading{grid-template-columns:1fr;margin-bottom:1rem}
  .filter-menu__options{grid-template-columns:1fr}
  .project-grid{grid-template-columns:1fr;gap:3.5rem;margin-top:0;padding:2rem var(--page-pad) 0}
  .project-card:nth-child(even){margin-top:0}
  .project-card--layout-1,.project-card--layout-2,.project-card--layout-3,
  .project-card--layout-4,.project-card--layout-5,.project-card--layout-6{grid-column:1}
  .project-card__media,.project-card--layout-2 .project-card__media,
  .project-card--layout-3 .project-card__media,.project-card--layout-4 .project-card__media,
  .project-card--layout-5 .project-card__media,.project-card--layout-6 .project-card__media{aspect-ratio:4/5}
  .project-card__meta h2{font-size:1.6rem}
}

@media(max-width:420px){
  .work-hero h1{font-size:clamp(3.1rem,16.5vw,4.4rem)}
  .project-index__summary{gap:1rem}
  .filter-menu summary strong{max-width:120px}
}

/* Home — compact photographic metro */
.metro-home{width:100%;padding:0 clamp(4px,.4vw,7px) clamp(4px,.4vw,7px)}
.metro-home__intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:clamp(2rem,6vw,7rem);
  align-items:end;
  width:calc(100% - var(--page-pad)*2);
  min-height:clamp(180px,24vw,300px);
  margin:0 auto;
  padding:clamp(3rem,7vw,7rem) 0 clamp(2rem,4vw,3.5rem);
}
.metro-home__intro .eyebrow{margin-bottom:.55rem}
.metro-home__intro h1{
  margin:0;
  font:400 clamp(2.8rem,5.2vw,6rem)/.92 var(--font-serif);
  letter-spacing:-.055em;
}
.metro-home__intro>p{
  margin:0;
  color:var(--color-light-gray);
  font-size:.61rem;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.metro-home__intro>a{
  display:flex;
  gap:1.5rem;
  align-items:center;
  padding-bottom:.35rem;
  border-bottom:1px solid var(--color-gold);
  text-decoration:none;
  font-size:.61rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.metro-home__intro>a span{color:var(--color-gold);font-size:1rem}
.metro-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(3px,.35vw,6px);
}
.metro-tile{
  position:relative;
  display:block;
  overflow:hidden;
  aspect-ratio:16/9;
  background:var(--color-graphite);
  color:#fff;
  text-decoration:none;
  isolation:isolate;
}
.metro-tile__media,.metro-tile__media>img,.metro-tile__media>.photo-placeholder{
  width:100%;
  height:100%;
}
.metro-tile__media>img,.metro-tile__media>.photo-placeholder{
  aspect-ratio:auto;
  object-fit:cover;
  transform:scale(1.002);
  transition:transform 700ms cubic-bezier(.2,.7,.2,1),filter 700ms cubic-bezier(.2,.7,.2,1);
}
.metro-tile__media>.photo-placeholder::before{inset:6%}
.metro-tile__media>.photo-placeholder::after{inset:32%}
.metro-tile__veil{
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08) 20%,rgba(0,0,0,.74));
  opacity:.12;
  transition:opacity var(--transition-normal);
}
.metro-tile__number{
  position:absolute;
  z-index:2;
  top:clamp(.9rem,2vw,1.6rem);
  left:clamp(.9rem,2vw,1.6rem);
  font-size:.57rem;
  letter-spacing:.14em;
  opacity:.7;
}
.metro-tile__caption{
  position:absolute;
  z-index:2;
  right:clamp(3.5rem,5vw,5rem);
  bottom:clamp(1rem,2.3vw,2rem);
  left:clamp(1rem,2.3vw,2rem);
  display:grid;
  transform:translateY(14px);
  opacity:0;
  transition:transform var(--transition-normal),opacity var(--transition-normal);
}
.metro-tile__caption strong{
  font:400 clamp(1.5rem,3vw,3.25rem)/1 var(--font-serif);
  letter-spacing:-.04em;
}
.metro-tile__caption small{
  margin-top:.6rem;
  font-size:.58rem;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.metro-tile__arrow{
  position:absolute;
  z-index:2;
  right:clamp(1rem,2.3vw,2rem);
  bottom:clamp(1rem,2.3vw,2rem);
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:50%;
  opacity:0;
  transform:rotate(-15deg);
  transition:opacity var(--transition-normal),transform var(--transition-normal),background var(--transition-fast);
}
.metro-tile:hover .metro-tile__media>img,
.metro-tile:hover .metro-tile__media>.photo-placeholder,
.metro-tile:focus-visible .metro-tile__media>img,
.metro-tile:focus-visible .metro-tile__media>.photo-placeholder{transform:scale(1.035);filter:brightness(.7)}
.metro-tile:hover .metro-tile__veil,.metro-tile:focus-visible .metro-tile__veil{opacity:1}
.metro-tile:hover .metro-tile__caption,.metro-tile:focus-visible .metro-tile__caption,
.metro-tile:hover .metro-tile__arrow,.metro-tile:focus-visible .metro-tile__arrow{
  transform:none;
  opacity:1;
}
.metro-tile__arrow:hover{background:#fff;color:#0a0a0a}

@media(max-width:850px){
  .metro-home__intro{
    grid-template-columns:1fr auto;
    gap:1.5rem;
    min-height:210px;
  }
  .metro-home__intro>p{grid-column:1}
  .metro-home__intro>a{grid-column:2;grid-row:1/3}
}

@media(max-width:620px){
  .metro-home{padding-right:3px;padding-left:3px}
  .metro-home__intro{
    grid-template-columns:1fr;
    gap:1.2rem;
    width:calc(100% - var(--page-pad)*2);
    min-height:250px;
    padding:3.5rem 0 2rem;
  }
  .metro-home__intro h1{font-size:clamp(3rem,15vw,4.8rem)}
  .metro-home__intro>p{grid-column:auto}
  .metro-home__intro>a{grid-column:auto;grid-row:auto;justify-self:start}
  .metro-grid{grid-template-columns:1fr;gap:3px}
  .metro-tile{aspect-ratio:4/3}
  .metro-tile__veil{opacity:.72}
  .metro-tile__caption,.metro-tile__arrow{transform:none;opacity:1}
  .metro-tile__caption strong{font-size:clamp(1.55rem,8vw,2.25rem)}
}

/* Premium system refinements */
:root{
  --font-serif:"Iowan Old Style","Palatino Linotype",Palatino,Baskerville,Georgia,"Times New Roman",serif;
  --surface-raised:#151515;
  --shadow-deep:0 32px 90px rgba(0,0,0,.42);
}
html[data-theme="light"]{--surface-raised:#fff;--shadow-deep:0 32px 90px rgba(0,0,0,.14)}
body{letter-spacing:.005em}
main{overflow:clip}
main>article,main>section{animation:page-reveal 680ms cubic-bezier(.2,.7,.2,1) both}
@keyframes page-reveal{from{transform:translateY(14px)}to{transform:none}}

.site-header{
  min-height:78px;
  padding-right:clamp(1rem,2.2vw,2.5rem);
  padding-left:clamp(1rem,2.2vw,2.5rem);
}
.brand__mark{width:50px;background:color-mix(in srgb,var(--color-carbon) 68%,transparent);backdrop-filter:blur(12px)}
.site-nav{gap:clamp(.9rem,1.7vw,1.8rem)}
.nav-tools{position:relative;gap:.15rem}
.language-switcher{position:relative}
.language-switcher summary{
  display:flex;
  align-items:center;
  gap:.45rem;
  min-width:72px;
  min-height:48px;
  padding:.35rem .55rem;
  cursor:pointer;
  list-style:none;
}
.language-switcher summary::-webkit-details-marker{display:none}
.language-switcher summary strong{font-size:.75rem;letter-spacing:.12em}
.language-switcher__flag{
  position:relative;
  display:inline-block;
  width:22px;
  height:14px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.35);
  border-radius:2px;
  background:#ddd;
  box-shadow:0 1px 4px rgba(0,0,0,.2);
}
.flag--pt-pt{background:linear-gradient(90deg,#046a38 0 40%,#da291c 40%)}
.flag--pt-pt::after{
  position:absolute;
  top:4px;
  left:7px;
  width:5px;
  height:5px;
  border:1px solid #f7d117;
  border-radius:50%;
  content:"";
}
.flag--pt-br{background:#009b3a}
.flag--pt-br::before{
  position:absolute;
  top:2px;
  left:6px;
  width:9px;
  height:9px;
  background:#fedf00;
  content:"";
  transform:rotate(45deg);
}
.flag--pt-br::after{
  position:absolute;
  top:4px;
  left:8px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#002776;
  content:"";
}
.flag--en{
  background:
    linear-gradient(90deg,transparent 42%,#fff 42% 58%,transparent 58%),
    linear-gradient(transparent 34%,#fff 34% 66%,transparent 66%),
    linear-gradient(90deg,transparent 46%,#c8102e 46% 54%,transparent 54%),
    linear-gradient(transparent 42%,#c8102e 42% 58%,transparent 58%),
    #012169;
}
.language-switcher summary i{
  width:7px;
  height:7px;
  margin-left:auto;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform var(--transition-fast);
}
.language-switcher[open] summary i{transform:translateY(2px) rotate(225deg)}
.language-switcher__menu{
  position:absolute;
  z-index:130;
  top:calc(100% + 11px);
  right:0;
  width:330px;
  padding:.65rem;
  border:1px solid var(--color-border);
  background:var(--surface-raised);
  box-shadow:var(--shadow-deep);
}
.language-switcher__menu>p{
  margin:0;
  padding:.65rem .75rem .9rem;
  color:var(--color-gold);
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.language-switcher__menu a{
  display:grid;
  grid-template-columns:28px 1fr auto;
  gap:.7rem;
  align-items:center;
  min-height:55px;
  padding:.65rem .75rem;
  border-top:1px solid var(--color-border);
  text-decoration:none;
  font-size:.72rem;
  transition:background var(--transition-fast);
}
.language-switcher__menu a:hover,.language-switcher__menu a:focus-visible{background:color-mix(in srgb,var(--color-gold) 9%,transparent)}
.language-switcher__menu a[aria-current="page"]{background:var(--color-gold);color:#0a0a0a}
  .language-switcher__menu a>span:first-child{font-size:1.12rem}
.language-switcher__menu small{font-size:.58rem;letter-spacing:.14em}

.button{
  min-height:52px;
  margin-top:1.5rem;
  padding:.9rem 1.2rem;
  transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);
}
.button--arrow{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:2rem;
}
.button--arrow span{font-size:1rem}
.button--arrow:hover span{transform:rotate(12deg)}

/* Project detail */
.project-page{padding:0 0 clamp(5rem,10vw,10rem)}
.project-hero{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:1rem clamp(1rem,2vw,2rem);
  align-content:center;
  width:min(var(--container-wide),calc(100% - var(--page-pad)*2));
  min-height:clamp(560px,calc(88svh - var(--header-height)),900px);
  margin:0 auto;
  padding:clamp(4rem,7vw,7rem) 0;
  border-bottom:1px solid var(--color-border);
}
.project-hero__rail{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  margin-bottom:clamp(3rem,7vw,7rem);
  color:var(--color-light-gray);
  font-size:.58rem;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.project-hero>.eyebrow{grid-column:1/span 7;margin:0 0 .5rem}
.project-hero h1{
  grid-column:1/span 8;
  max-width:11ch;
  margin:0;
  font:400 clamp(4.5rem,9.4vw,10.5rem)/.82 var(--font-serif);
  letter-spacing:-.07em;
  text-wrap:balance;
}
.project-hero__aside{
  grid-column:9/span 4;
  align-self:end;
  padding-left:clamp(0rem,2vw,2rem);
}
.project-hero__aside .lede{font:400 clamp(1.2rem,2vw,1.75rem)/1.25 var(--font-serif)}
.project-description{color:var(--color-light-gray);font-size:.92rem;line-height:1.75}
.project-facts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  margin:2rem 0 0;
}
.project-facts div{padding-top:.75rem;border-top:1px solid var(--color-border)}
.project-facts dt{color:var(--color-light-gray);font-size:.55rem;letter-spacing:.14em;text-transform:uppercase}
.project-facts dd{margin:.25rem 0 0;font:400 1rem var(--font-serif)}
.project-hero__jump{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:2rem;
  padding:1rem 0;
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  text-decoration:none;
  font-size:.63rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.project-hero__jump span{color:var(--color-gold);font-size:1.2rem}
.gallery{
  gap:clamp(1rem,2vw,2rem);
  width:min(var(--container-wide),calc(100% - var(--page-pad)*2));
  margin:clamp(3rem,7vw,7rem) auto 0;
}
.gallery__item{grid-column:2/span 7;position:relative}
.gallery__item:nth-child(3n+2){grid-column:7/span 6}
.gallery__item:nth-child(3n){grid-column:1/span 7}
.gallery__item--landscape{grid-column:1/-1}
.gallery__item--portrait:first-child{grid-column:3/span 8}
.gallery__open{position:relative;overflow:hidden}
.gallery__open img,.gallery__open .photo-placeholder{transition:transform var(--transition-slow),filter var(--transition-slow)}
.gallery__open:hover img,.gallery__open:hover .photo-placeholder{transform:scale(.992);filter:brightness(.82)}
.gallery__index{
  position:absolute;
  top:1rem;
  left:1rem;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  background:rgba(0,0,0,.28);
  color:#fff;
  font-size:.56rem;
  letter-spacing:.08em;
  backdrop-filter:blur(10px);
}
.back-link{
  padding:1.2rem 0;
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  text-decoration:none;
}

/* About */
.about-page{
  grid-template-columns:minmax(300px,.92fr) minmax(340px,1.08fr);
  gap:clamp(3rem,8vw,9rem);
  width:min(var(--container-content),calc(100% - var(--page-pad)*2));
  padding:clamp(4rem,8vw,8rem) 0 clamp(6rem,12vw,12rem);
}
.about-page__rail{
  grid-column:1/-1;
  display:flex;
  justify-content:space-between;
  padding-bottom:1rem;
  border-bottom:1px solid var(--color-border);
  color:var(--color-light-gray);
  font-size:.58rem;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.about-portrait{position:sticky;top:calc(var(--header-height) + 2rem);align-self:start}
.about-copy{padding-top:clamp(1rem,4vw,4rem)}
.about-copy h1{font-size:clamp(4rem,7vw,7.4rem)}
.about-copy>p{max-width:55ch;font-size:clamp(1rem,1.25vw,1.14rem);line-height:1.78}
.about-copy>p:first-of-type{font:400 clamp(1.25rem,2vw,1.75rem)/1.45 var(--font-serif);color:var(--color-off-white)}
.about-copy h2{margin:4rem 0 1rem;font:400 clamp(1.8rem,3vw,2.7rem)/1 var(--font-serif)}
.speciality-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
  padding:0;
  border-top:1px solid var(--color-border);
  border-left:1px solid var(--color-border);
  list-style:none;
}
.speciality-grid li{
  display:grid;
  grid-template-columns:32px 1fr;
  align-items:center;
  min-height:66px;
  padding:.8rem 1rem;
  border-right:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  font-size:.75rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.speciality-grid li span{color:var(--color-gold);font-size:.55rem}
.about-copy .button{width:100%;margin-top:2rem}

/* Contact */
.contact-page{
  grid-template-columns:minmax(280px,.72fr) minmax(420px,1.28fr);
  gap:clamp(3rem,8vw,9rem);
  width:min(var(--container-content),calc(100% - var(--page-pad)*2));
  padding:clamp(5rem,9vw,9rem) 0 clamp(6rem,12vw,12rem);
}
.contact-page>header{position:sticky;top:calc(var(--header-height) + 3rem);align-self:start}
.contact-page h1{font-size:clamp(4.4rem,8vw,8rem)}
.contact-page .lede{max-width:36ch;line-height:1.7}
.contact-direct{
  display:grid;
  gap:.25rem;
  margin-top:2.5rem;
  font-size:.88rem;
}
.contact-direct a{justify-self:start;font:400 clamp(1rem,1.5vw,1.25rem) var(--font-serif)}
.contact-direct span{color:var(--color-light-gray)}
.contact-form{gap:1.5rem 1.75rem}
.contact-form__heading{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:1rem;
  align-items:start;
  margin-bottom:1rem;
  padding-bottom:1.5rem;
  border-bottom:1px solid var(--color-border);
}
.contact-form__heading>span{color:var(--color-gold);font-size:.6rem;letter-spacing:.14em}
.contact-form__heading h2{margin:0;font:400 clamp(1.8rem,3vw,2.6rem)/1 var(--font-serif)}
.contact-form__heading p{max-width:42ch;margin:.65rem 0 0;color:var(--color-light-gray);font-size:.82rem}
.contact-form label{gap:.55rem;font-size:.64rem;letter-spacing:.12em}
.contact-form input,.contact-form textarea,.contact-form select{
  min-height:50px;
  border-color:var(--color-border);
  transition:border-color var(--transition-fast),background var(--transition-fast);
}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{
  outline:0;
  border-color:var(--color-gold);
  background:color-mix(in srgb,var(--color-gold) 4%,transparent);
}
.contact-form textarea{min-height:170px;padding:1rem}
.contact-form .checkbox{align-items:center;padding:1rem 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.contact-form .checkbox input{width:20px;height:20px;margin:0;accent-color:var(--color-gold)}
.contact-form .button{margin-top:0}

/* Footer */
.site-footer{
  display:grid;
  grid-template-columns:minmax(220px,1.3fr) 1fr auto auto;
  gap:clamp(2rem,6vw,7rem);
  align-items:start;
  padding:clamp(3rem,6vw,6rem) var(--page-pad) 1.5rem;
  font-size:.62rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.site-footer__brand{display:flex;gap:1rem;align-items:center}
.site-footer__brand .brand__mark{width:46px}
.site-footer__brand p{color:var(--color-off-white);font-weight:700}
.site-footer__brand small{display:block;color:var(--color-light-gray);font-size:.52rem;font-weight:400;letter-spacing:.25em}
.site-footer__location span{color:var(--color-gold);font-size:.54rem}
.site-footer__location p{margin:.5rem 0 0;line-height:1.8}
.site-footer nav{display:grid;gap:.45rem}
.site-footer nav a{text-decoration:none}
.site-footer nav a:hover{text-decoration:underline;text-decoration-color:var(--color-gold)}
.site-footer__top{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--color-border);border-radius:50%;text-decoration:none}
.site-footer__top span{position:absolute;width:1px;height:1px;overflow:hidden}
.site-footer__copyright{grid-column:1/-1;margin-top:2rem!important;padding-top:1rem;border-top:1px solid var(--color-border)}

@media(min-width:820px){.brand__name{display:block}}

@media(max-width:900px){
  .project-hero h1{grid-column:1/span 7}
  .project-hero__aside{grid-column:8/span 5}
  .about-page,.contact-page{grid-template-columns:1fr;gap:3rem;width:min(680px,calc(100% - var(--page-pad)*2))}
  .about-page__rail{grid-column:1}
  .about-copy{order:2}
  .about-portrait{position:relative;top:auto;order:3}
  .contact-page>header{position:relative;top:auto}
  .contact-form{margin-top:1rem}
  .site-footer{grid-template-columns:1fr 1fr auto}
  .site-footer__brand{grid-column:1}
  .site-footer nav{grid-column:2}
}

@media(max-width:760px){
  main>article,main>section{animation-duration:440ms}
  .site-header{min-height:var(--header-height)}
  .site-nav{max-height:calc(100dvh - var(--header-height));overflow:auto}
  .nav-tools{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:.35rem}
  .language-switcher{grid-column:1/-1;min-width:0;border-right:0}
  .language-switcher summary{width:100%;padding-right:1rem;padding-left:0}
  .language-switcher summary strong::after{content:" · LANGUAGE";color:var(--color-light-gray);font-size:.55rem;font-weight:400}
  .language-switcher__menu{position:relative;top:auto;right:auto;width:100%;margin-bottom:.5rem;box-shadow:none}
  .nav-tools>.text-button{border:1px solid var(--color-border)}

  .project-hero{
    grid-template-columns:1fr;
    min-height:auto;
    padding:3rem 0 4rem;
  }
  .project-hero__rail{grid-column:1;margin-bottom:3rem}
  .project-hero__rail span:last-child{display:none}
  .project-hero>.eyebrow,.project-hero h1,.project-hero__aside{grid-column:1}
  .project-hero h1{max-width:9ch;font-size:clamp(3.7rem,17vw,6rem);line-height:.86}
  .project-hero__aside{margin-top:2rem;padding-left:0}
  .project-description{font-size:.9rem}
  .gallery{display:grid;grid-template-columns:1fr;gap:2.5rem;width:100%;margin-top:0}
  .gallery__item,.gallery__item:nth-child(3n+2),.gallery__item:nth-child(3n),.gallery__item--portrait:first-child,.gallery__item--landscape{
    grid-column:1;
    width:100%;
  }
  .gallery__item figcaption{padding-right:var(--page-pad);padding-left:var(--page-pad)}

  .about-page,.contact-page{
    grid-template-columns:1fr;
    gap:2.5rem;
    padding:3rem 0 6rem;
  }
  .about-page__rail{grid-column:1;order:1}
  .about-copy{order:2;padding-top:1rem}
  .about-portrait{position:relative;top:auto;order:3;margin-top:1rem}
  .about-copy h1,.contact-page h1{font-size:clamp(3.9rem,17vw,6rem)}
  .about-copy h2{margin-top:3rem}
  .speciality-grid{grid-template-columns:1fr}

  .contact-page>header{position:relative;top:auto}
  .contact-form{grid-template-columns:1fr;margin-top:1rem}
  .contact-form__heading{grid-column:1}
  .contact-form .wide{grid-column:1}

  .site-footer{grid-template-columns:1fr auto;gap:2.5rem 1rem;padding-top:4rem}
  .site-footer__brand{grid-column:1}
  .site-footer__location{grid-column:1}
  .site-footer nav{grid-column:1}
  .site-footer__top{grid-column:2;grid-row:1}
}

@media(max-width:380px){
  .project-hero h1,.about-copy h1,.contact-page h1{font-size:clamp(3.45rem,16.5vw,4.5rem)}
  .language-switcher summary strong::after{content:""}
}

@media(prefers-reduced-motion:reduce){main>article,main>section{animation:none}}
html.reduce-motion main>article,html.reduce-motion main>section{animation:none}
