.quote-mark{font:8px var(--mono);text-transform:uppercase;letter-spacing:.07em;margin:0}
.quote-statement{font:500 clamp(3rem,6vw,7rem)/1 var(--serif);letter-spacing:-.055em;max-width:1100px;margin:10vh auto 15vh;text-align:center}
.quote-statement em{font-weight:500}
@media(max-width:800px){.quote-statement{text-align:left;font-size:3.3rem;margin:7vh 0 12vh}}

.topbar nav,.topbar-meta{white-space:nowrap}
.topbar-meta{justify-self:end;display:flex;align-items:center;gap:22px;min-width:max-content}
.language-link{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border:1px solid currentColor;border-radius:50%;font:500 10px/1 var(--mono);letter-spacing:.06em;color:inherit;text-decoration:none;opacity:.78;transition:opacity .25s,background .25s}
.language-link:hover,.language-link:focus-visible{opacity:1;background:rgba(244,239,230,.12)}
.language-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* Photography and copy remain visible in every browser; motion never gates content. */
.reveal,.can-reveal .reveal{opacity:1;transform:none}
.reveal-image,.can-reveal .reveal-image{clip-path:inset(0)}

.category-nav{display:grid;grid-template-columns:repeat(4,1fr);margin:-5vh 6vw 12vh;border-top:1px solid rgba(244,239,230,.34);border-bottom:1px solid rgba(244,239,230,.34)}
.category-tab{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:baseline;min-width:0;padding:22px 18px;border:0;border-left:1px solid rgba(244,239,230,.2);background:transparent;color:inherit;text-align:left;cursor:pointer;opacity:.52;transition:opacity .3s var(--ease),background .3s var(--ease)}
.category-tab:first-child{border-left:0}
.category-tab:hover,.category-tab:focus-visible,.category-tab.is-active{opacity:1;background:rgba(244,239,230,.07)}
.category-tab:focus-visible{outline:1px solid var(--chalk);outline-offset:-5px}
.category-tab span,.category-tab em{font:400 12px/1 var(--mono);font-style:normal;letter-spacing:.05em}
.category-tab strong{overflow:hidden;font:500 clamp(1.05rem,1.5vw,1.65rem)/1.1 var(--serif);text-overflow:ellipsis}
.category-tab.is-active:after{position:absolute;right:18px;bottom:-1px;left:18px;height:3px;background:var(--clay);content:""}
.category-project-list{min-height:120px}
.index-row.is-static{cursor:default}
.index-row.is-static i{font:400 12px/1 var(--mono);opacity:.38}
.index-row.is-static:hover i{transform:none}

/* Every category begins with photography; the text-only archive stays secondary. */
.category-showcase{min-height:52vh}
.category-showcase .work-card{opacity:0;transform:translateY(54px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.category-showcase .work-card.is-visible{opacity:1;transform:none}
.category-showcase .work-card-primary{margin-bottom:18vh}
.category-showcase .work-card-secondary:last-child{margin-bottom:8vh}
.archive-panel{margin:4vh 6vw 0;padding:8vh 0 5vh;border-top:1px solid rgba(244,239,230,.34)}
.archive-heading{display:grid;grid-template-columns:1fr 3fr;gap:15px;align-items:baseline;margin-bottom:7vh}
.archive-heading>span{font:8px var(--mono);text-transform:uppercase;letter-spacing:.07em;opacity:.65}
.archive-heading h3{margin:0;font:500 clamp(2.6rem,5vw,6rem)/.95 var(--serif);letter-spacing:-.045em}
.archive-panel .work-index{margin:0}
.archive-panel .index-head,.archive-panel .index-row{grid-template-columns:50px minmax(0,1fr) 220px minmax(150px,auto) 25px}

/* The studio image acts as a small, controllable editorial sequence. */
.studio-image img{transition:opacity .55s var(--ease),transform 1.1s var(--ease)}
.studio-image.is-changing img{opacity:0;transform:scale(1.015)}
.hero-image img{transition:opacity .7s var(--ease),transform 1.2s var(--ease)}
.hero-image.is-changing img{opacity:0;transform:scale(1.015)}
.studio-image figcaption{color:var(--chalk);text-shadow:0 1px 12px rgba(0,0,0,.45)}
.studio-image-nav{position:absolute;right:16px;bottom:13px;display:flex;align-items:center;gap:12px;color:var(--chalk);font:8px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.studio-image-nav button{width:34px;height:34px;border:1px solid rgba(244,239,230,.55);border-radius:50%;background:rgba(30,32,27,.18);color:inherit;cursor:pointer;backdrop-filter:blur(8px);transition:background .25s,border-color .25s}
.studio-image-nav button:hover,.studio-image-nav button:focus-visible{background:rgba(30,32,27,.58);border-color:var(--chalk)}
.studio-image-nav button:focus-visible{outline:2px solid var(--chalk);outline-offset:2px}
.studio-image-nav b{font-weight:500}

@media(min-width:801px) and (max-width:1100px){
  .topbar{grid-template-columns:1fr auto auto;column-gap:24px}
  .topbar nav{gap:22px}
  .topbar-meta{gap:0}
  .topbar-meta .location{display:none}
}
@media(max-width:800px){
  .topbar{grid-template-columns:1fr auto auto;column-gap:12px}
  .topbar-meta{gap:0}
  .language-link{width:32px;height:32px}
  .category-nav{grid-template-columns:repeat(2,1fr);margin:-3vh 0 8vh}
  .category-tab{grid-template-columns:auto 1fr;padding:18px 12px;border-bottom:1px solid rgba(244,239,230,.2)}
  .category-tab:nth-child(odd){border-left:0}
  .category-tab:nth-child(n+3){border-bottom:0}
  .category-tab em{display:none}
  .category-tab strong{font-size:1rem}
  .category-showcase{min-height:38vh}
  .category-showcase .work-card-primary,.category-showcase .work-card-secondary{width:100%;margin:0 0 10vh}
  .archive-panel{margin:2vh 0 0;padding:7vh 0 2vh}
  .archive-heading{display:block;margin-bottom:5vh}
  .archive-heading>span{display:block;margin-bottom:16px}
  .archive-heading h3{font-size:2.8rem}
  .studio-image-nav{right:14px;bottom:12px}
  .studio-image figcaption{left:14px;bottom:58px}
}

@media(prefers-reduced-motion:reduce){
  .category-showcase .work-card{opacity:1;transform:none;transition:none}
  .studio-image img{transition:none}
}

/* The team portrait anchors a restrained editorial profile, keeping biography and person equally present. */
.team{min-height:auto;padding:14vh 8vw}
.team .section-label{border-color:rgba(244,239,230,.35)}
.team-profiles{display:grid;gap:18vh;margin-top:11vh}
.team-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:10vw;align-items:start}
.team-profile-secondary{grid-template-columns:minmax(300px,.55fr) minmax(360px,.72fr);align-items:end;padding-top:12vh;border-top:1px solid rgba(244,239,230,.35)}
.team-heading{margin:0 0 10vh}
.team-heading p{margin:0 0 18px;font:8px var(--mono);letter-spacing:.07em;text-transform:uppercase}
.team-heading h2{margin:0;font:500 clamp(4rem,7vw,8rem)/.86 var(--serif);letter-spacing:-.065em}
.team-heading h2 em{font-weight:500}
.team-bio{max-width:760px;margin-left:18%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 4vw}
.team-bio p{margin:0;font-size:16px;line-height:1.62}
.team-bio p:first-child{grid-column:1/-1;max-width:580px;font:500 clamp(1.45rem,2.2vw,2.25rem)/1.28 var(--serif);letter-spacing:-.025em}
.team-portrait{position:sticky;top:11vh;margin:0;align-self:start}
.team-portrait img{display:block;width:100%;height:min(82vh,920px);object-fit:cover;object-position:center 38%;filter:contrast(1.02)}
.team-portrait figcaption{display:flex;justify-content:space-between;margin-top:11px;font:7px var(--mono);letter-spacing:.05em;text-transform:uppercase}
.team-profile-secondary .team-portrait{position:static}
.team-profile-reverse .team-member-copy{grid-column:2;grid-row:1}
.team-profile-reverse .team-portrait{grid-column:1;grid-row:1}
.team-member-heading p{margin:0 0 18px;font:8px var(--mono);letter-spacing:.07em;text-transform:uppercase}
.team-member-heading h3{margin:0;font:500 clamp(3.3rem,5.7vw,6.8rem)/.9 var(--serif);letter-spacing:-.055em}
.team-member-heading h3 em{font-weight:500}
.team-member-bio{display:grid;gap:24px;max-width:650px;margin-top:8vh}
.team-member-bio p{margin:0;font-size:16px;line-height:1.62}
.team-member-bio p:first-child{max-width:580px;font:500 clamp(1.35rem,1.8vw,1.9rem)/1.32 var(--serif);letter-spacing:-.02em}

@media(max-width:800px){
  .team{padding:12vh 20px}
  .team-profiles{gap:12vh;margin-top:8vh}
  .team-profile,.team-profile-secondary{display:flex;flex-direction:column;gap:7vh}
  .team-profile-secondary{padding-top:10vh}
  .team-copy{display:contents}
  .team-heading{order:1;margin:0}
  .team-profile-featured .team-portrait{order:2}
  .team-portrait{position:static;order:2;width:100%}
  .team-portrait img{height:auto;max-height:none}
  .team-bio{order:3;margin:0;display:block}
  .team-bio p{margin:0 0 28px;font-size:16px}
  .team-bio p:first-child{font-size:1.65rem}
  .team-member-heading{order:1}
  .team-member-copy{display:contents}
  .team-member-bio{order:3;margin:0}
  .team-member-bio p{font-size:16px}
  .team-member-bio p:first-child{font-size:1.55rem}
  .team-profile-secondary .team-portrait{order:2}
  .team-profile-reverse .team-member-copy,.team-profile-reverse .team-portrait{grid-column:auto;grid-row:auto}
}

@media(prefers-reduced-motion:reduce){.hero-image img{transition:none}}

.dialog-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12vh 3vw;margin:0;padding:0 6vw 18vh}
.dialog-gallery-item{grid-column:1/-1;margin:0}
.dialog-gallery-item.portrait{grid-column:2/8}
.dialog-gallery-item.portrait:nth-child(3n){grid-column:6/12}
.dialog-gallery-item img{display:block;width:100%;height:auto;background:#d2c4b2}
.dialog-gallery-item figcaption{margin-top:9px;font:7px var(--mono);letter-spacing:.04em;text-transform:uppercase}

/* Press coverage is presented as an editorial index, with the publication and story sharing equal weight. */
.press{padding:15vh 8vw 16vh}
.press-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.45fr);align-items:end;gap:10vw;margin:12vh 0 13vh}
.press-heading h2{margin:0;font:500 clamp(3.2rem,6.5vw,7.2rem)/.93 var(--serif);letter-spacing:-.06em}
.press-heading h2 em{font-weight:500}
.press-heading p{max-width:310px;margin:0 0 8px;font-size:14px;line-height:1.55}
.press-list{border-top:1px solid var(--line)}
.press-item{display:grid;grid-template-columns:45px 190px minmax(0,1fr) 42px;gap:28px;align-items:start;padding:32px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none;transition:padding .35s var(--ease),background .35s var(--ease)}
.press-item:hover,.press-item:focus-visible{padding-right:18px;padding-left:18px;background:rgba(30,32,27,.055)}
.press-item:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.press-number,.press-source,.press-copy small{font:8px/1.5 var(--mono);letter-spacing:.055em;text-transform:uppercase}
.press-source{display:flex;flex-direction:column;gap:8px}
.press-source small,.press-copy small{font:inherit;opacity:.58}
.press-copy{display:flex;max-width:840px;flex-direction:column;gap:13px}
.press-copy strong{font:500 clamp(1.55rem,2.6vw,3.25rem)/1.08 var(--serif);letter-spacing:-.035em}
.press-copy small{max-width:580px;line-height:1.6}
.press-item>i{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--line);border-radius:50%;font-style:normal;transition:transform .3s var(--ease),background .3s}
.press-item:hover>i,.press-item:focus-visible>i{transform:translate(4px,-4px);background:var(--ink);color:var(--chalk)}
@media(max-width:800px){
  .dialog-gallery{display:block;padding:0 20px 12vh}
  .dialog-gallery-item{margin:0 0 8vh}
  .dialog-gallery-item:last-child{margin-bottom:0}
  .press{padding:12vh 20px}
  .press-heading{display:block;margin:9vh 0 8vh}
  .press-heading h2{font-size:3.3rem}
  .press-heading p{margin-top:36px}
  .press-item{grid-template-columns:30px minmax(0,1fr) 36px;gap:12px;padding:24px 0}
  .press-item:hover,.press-item:focus-visible{padding-right:8px;padding-left:8px}
  .press-source{grid-column:2;grid-row:1}
  .press-copy{grid-column:2;grid-row:2}
  .press-copy strong{font-size:1.55rem}
  .press-item>i{grid-column:3;grid-row:1/3;width:34px;height:34px}
}
