.portfolio-page{background:var(--paper)}
.portfolio-masthead{position:relative;overflow:hidden;padding:28px 10vw 72px;background:var(--plum);color:white}
.back-link{display:inline-block;margin-bottom:68px;color:rgba(255,255,255,.8);font-size:11px;border-bottom:1px solid rgba(255,255,255,.42);padding-bottom:5px}
.back-link:hover{color:white}
.portfolio-masthead-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);align-items:end;gap:8vw;max-width:1180px;margin:0 auto}
.portfolio-masthead h1{position:relative;z-index:1;margin:0;font:500 clamp(68px,10vw,132px)/.87 var(--serif);letter-spacing:-.085em}
.portfolio-masthead h1 em{color:#f1d9e3;font-weight:500}
.portfolio-masthead-note{max-width:320px;padding:0 0 8px 20px;border-left:2px solid var(--berry)}
.portfolio-masthead-note p{margin:0 0 18px;font-size:16px;line-height:1.65;color:rgba(255,255,255,.94)}
.portfolio-masthead-note span{font-size:10px;letter-spacing:.04em;color:#f1d9e3}
.tmo-work{padding:74px 8vw 110px}
.work-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;max-width:1240px;margin:0 auto 30px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.work-heading h2{margin:0;font:500 clamp(35px,5vw,60px)/1 var(--serif);letter-spacing:-.065em}
.work-heading>p{margin:0 0 5px;color:var(--muted);font-size:11px}
.tmo-work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(18px,2.3vw,30px);gap:16px;max-width:1240px;margin:auto}
.tmo-work-item{grid-column:span 4;grid-row:span 14;min-width:0;margin:0;overflow:hidden;background:var(--cream)}
.tmo-work-item:nth-child(6n+1){grid-column:1/span 7;grid-row:span 17}
.tmo-work-item:nth-child(6n+2){grid-column:9/span 4;grid-row:span 12;margin-top:54px}
.tmo-work-item:nth-child(6n+3){grid-column:2/span 4;grid-row:span 13}
.tmo-work-item:nth-child(6n+4){grid-column:7/span 6;grid-row:span 17;margin-top:34px}
.tmo-work-item:nth-child(6n+5){grid-column:1/span 5;grid-row:span 14}
.tmo-work-item:nth-child(6n){grid-column:7/span 6;grid-row:span 15;margin-top:38px}
.work-photo-trigger{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.work-photo-trigger:focus-visible{outline:3px solid var(--berry);outline-offset:-4px}
.tmo-work-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s}
.tmo-work-item:hover img{transform:scale(1.025)}
.gallery-empty{padding:clamp(58px,9vw,110px) 10vw;background:#f5ecf2}
.gallery-empty h2{max-width:850px;margin:0 0 18px;font:500 clamp(54px,9vw,110px)/.9 var(--serif);letter-spacing:-.08em;color:var(--ink)}
.gallery-empty h2 em{color:var(--plum);font-weight:500}
.gallery-empty>p:not(.eyebrow){max-width:400px;margin:0 0 24px;color:var(--muted);font-size:13px;line-height:1.8}
.portfolio-end{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:48px 10vw;background:var(--plum);color:white}
.portfolio-end p{margin:0 0 6px;color:#f1e9f0;font-size:12px}
.portfolio-end h2{margin:0;font:500 clamp(38px,5vw,58px)/1 var(--serif);letter-spacing:-.06em}
.portfolio-end .button{background:var(--cream);color:var(--ink)}
.photo-viewer{display:none;position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:58px 18px 24px;border:0;background:transparent;place-items:center}
.photo-viewer[open]{display:grid}
.photo-viewer::backdrop{background:rgba(28,18,31,.94)}
.photo-viewer>img{display:block;width:min(100%,1300px);height:min(86dvh,100%);object-fit:contain}
.photo-viewer-close{position:absolute;top:18px;right:20px;min-height:42px;padding:9px 18px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:var(--cream);color:var(--ink);font:500 12px/1 var(--sans);cursor:pointer}
@media(max-width:760px){
  .portfolio-masthead{padding:25px 7vw 54px}
  .back-link{margin-bottom:58px}
  .portfolio-masthead-layout{grid-template-columns:1fr;gap:28px}
  .portfolio-masthead h1{font-size:clamp(64px,13vw,92px)}
  .portfolio-masthead-note{margin-left:8vw;max-width:350px}
  .tmo-work{padding:55px 6vw 75px}
  .work-heading{align-items:start;flex-direction:column;gap:8px;margin-bottom:22px}
  .tmo-work-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:clamp(17px,4vw,25px);gap:10px}
  .tmo-work-item:nth-child(6n+1){grid-column:1/span 4;grid-row:span 15}
  .tmo-work-item:nth-child(6n+2){grid-column:5/span 2;grid-row:span 11;margin-top:38px}
  .tmo-work-item:nth-child(6n+3){grid-column:2/span 3;grid-row:span 12}
  .tmo-work-item:nth-child(6n+4){grid-column:1/span 3;grid-row:span 13;margin-top:0}
  .tmo-work-item:nth-child(6n+5){grid-column:4/span 3;grid-row:span 12}
  .tmo-work-item:nth-child(6n){grid-column:2/span 5;grid-row:span 14;margin-top:16px}
  .gallery-empty{padding:62px 8vw 70px}
  .portfolio-end{padding:38px 7vw;align-items:flex-start;flex-direction:column;gap:22px}
}
@media(max-width:420px){.portfolio-masthead h1{font-size:clamp(57px,13vw,72px)}.work-heading h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){.tmo-work-item img{transition:none}}

.portfolio-rule{display:none!important}
/* Gallery: steady two-column rhythm, with only a subtle corner radius. */
.tmo-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:20px}
.tmo-work-item,.tmo-work-item:nth-child(n){grid-column:auto;grid-row:auto;aspect-ratio:4/5;margin:0;border-radius:10px}
.work-photo-trigger{overflow:hidden;border-radius:inherit}
.tmo-work-item img{border-radius:inherit}
@media(max-width:760px){.tmo-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:11px}.tmo-work-item,.tmo-work-item:nth-child(n){grid-column:auto;grid-row:auto;aspect-ratio:4/5;margin:0;border-radius:8px}}
