/* Shared full-name wordmark and native portfolio. */
:root{--text-2xl:clamp(2rem,1.3rem + 2.5vw,3.5rem)}
.brand-name{white-space:nowrap}
.brand svg{flex-shrink:0}
.signature-logo{width:280px;height:auto;max-height:84px;object-fit:contain}
[data-theme="dark"] .signature-logo{filter:brightness(0) invert(1)}
.brand{min-height:64px}
.site-header{gap:var(--space-6)}
.carousel-image{display:block;width:100%;touch-action:pan-y}
.carousel-image img{display:block;width:100%;height:auto;object-fit:contain;transform:none}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--line);width:100%;color:var(--fg)}
.carousel-controls button,.viewer-navigation button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:var(--text-base)}
.carousel-controls button,.viewer-navigation button,.viewer-close,.viewer-thumbnails button{touch-action:manipulation}
.carousel-controls button:hover{background:var(--accent);color:#242822}
.carousel-status{font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--muted)}
.portfolio-main{padding-bottom:var(--space-16)}
.portfolio-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);padding-block:var(--space-6) var(--space-12)}
.back-home{display:inline-flex;align-items:center;min-height:44px;font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-8)}
.portfolio-intro .eyebrow{color:var(--muted);margin-bottom:var(--space-4)}
.portfolio-intro h1{font-size:var(--text-2xl);font-weight:700}
.portfolio-intro h1>span{color:var(--muted)}
.portfolio-intro>p{font-size:var(--text-base);line-height:1.6;color:var(--muted);max-width:34ch}
.portfolio-main>.back-home{margin-block:var(--space-3) var(--space-5)}
.elevated-intro{align-items:center;padding-top:0}
.elevated-logo-plate{background:transparent;padding:0;width:min(460px,100%);margin-bottom:var(--space-5)}
.elevated-logo-plate img{width:100%;height:auto}
.ep-logo-light{display:none}
[data-theme="dark"] .ep-logo-dark{display:none}
[data-theme="dark"] .ep-logo-light{display:block}
.gateway-brand{display:flex;align-items:center;justify-content:center;padding:var(--space-10) var(--space-6);min-height:220px;width:100%}
.gateway-brand img{width:100%;height:auto;object-fit:contain}
.portfolio-gateway .photo-bottom p{font-size:var(--text-base);color:var(--muted);line-height:1.7;margin-bottom:var(--space-8)}
.portfolio-gateway .photo-bottom h2{font-family:var(--font-display);font-weight:500;font-size:var(--text-2xl)}
.coast-photo .carousel-image{aspect-ratio:4/3;background:color-mix(in oklch,var(--surface),var(--fg) 5%);display:flex;align-items:center;justify-content:center}
.coast-photo .carousel-image img{width:100%;height:100%;object-fit:contain}
.portfolio-brand .eyebrow{font-size:var(--text-xs);margin-bottom:0}
.portfolio-statement h1{margin-bottom:var(--space-4)}
.portfolio-statement{width:340px;max-width:100%}
.portfolio-statement p{font-size:var(--text-base);line-height:1.6;color:var(--muted)}
.collection-nav{display:flex;gap:var(--space-3);padding-bottom:var(--space-10);flex-wrap:wrap}
.collection-nav a{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-3) var(--space-5);min-height:52px;border:1px solid var(--line);border-radius:8px;font-size:var(--text-sm);background:var(--surface)}
.collection-nav a[aria-current="true"]{background:var(--fg);color:var(--bg)}
.collection-count{font-size:var(--text-xs);opacity:.7;font-variant-numeric:tabular-nums}
.collection-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6);border-top:1px solid var(--line);padding-block:var(--space-8)}
.collection-heading .eyebrow{color:var(--muted);margin-bottom:var(--space-3)}
.collection-heading p{max-width:32ch;line-height:1.6;color:var(--muted);font-size:var(--text-sm)}
.photo-grid{columns:2;column-gap:var(--space-6)}
.gallery-photo{min-width:0;margin:0 0 var(--space-10);break-inside:avoid;display:inline-block;width:100%}
.gallery-photo[hidden]{display:none}
.gallery-open{display:block;width:100%;padding:0;text-align:left;background:var(--surface);border-radius:12px;overflow:hidden}
.gallery-open img{display:block;width:100%;height:auto;object-fit:contain}
.open-photo-label{display:flex;align-items:center;justify-content:flex-end;padding:var(--space-3) var(--space-4);font-size:var(--text-xs);color:var(--muted)}
.gallery-open:hover .open-photo-label{color:var(--fg);background:color-mix(in oklch,var(--surface),var(--accent) 15%)}
.gallery-photo figcaption{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-5)}
.gallery-photo .eyebrow{font-size:var(--text-xs);color:var(--muted);letter-spacing:.06em;margin-bottom:var(--space-2)}
.gallery-photo h3{font-family:var(--font-body);font-size:var(--text-base);font-weight:500;letter-spacing:-.01em}
.photo-number{font-size:var(--text-xs);color:var(--muted)}
.gallery-count{margin-top:var(--space-8);font-size:var(--text-xs);color:var(--muted);letter-spacing:.05em}
.portfolio-outro{margin-top:var(--space-16);padding-top:var(--space-8);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:var(--space-6)}
.portfolio-outro .eyebrow{color:var(--muted);margin-bottom:var(--space-3)}
.photo-viewer{--line:#ffffff35;max-width:min(1100px,calc(100vw - 32px));width:100%;max-height:calc(100dvh - 32px);padding:var(--space-4) var(--space-6);background:#14191c;color:#f0f2ee;overflow:auto}
.viewer-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}
.viewer-top .eyebrow{margin:0;padding:0;color:#b8c1c2}
.viewer-close{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;font-size:var(--text-xl);flex-shrink:0}
.viewer-stage{display:flex;align-items:center;justify-content:center;padding-block:var(--space-3);touch-action:pan-y}
.viewer-stage img{display:block;max-height:calc(100dvh - 290px);height:auto;max-width:100%;width:auto;object-fit:contain}
.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-2)}
.photo-viewer h2{font-family:var(--font-body);font-size:var(--text-base);margin:0 0 var(--space-1);font-weight:500;letter-spacing:0}
.photo-viewer p{font-size:var(--text-xs);margin:0;color:#b8c1c2}
.viewer-navigation{display:flex;align-items:center;gap:var(--space-3);white-space:nowrap}
.viewer-navigation>span{font-size:var(--text-xs);font-variant-numeric:tabular-nums}
.viewer-navigation button:hover,.viewer-close:hover{background:#ffffff18}
.viewer-navigation button:disabled{opacity:.3;cursor:default}
.viewer-thumbnails{display:flex;justify-content:center;gap:var(--space-2);padding-top:var(--space-3);overflow-x:auto}
.viewer-thumbnails button{flex-shrink:0;width:54px;height:54px;padding:var(--space-1);border:1px solid transparent;border-radius:4px}
.viewer-thumbnails button[aria-current="true"]{border-color:var(--accent)}
.viewer-thumbnails img{width:100%;height:100%;object-fit:contain}
.photo-viewer :focus-visible{outline-color:var(--accent)}
@media(max-width:1000px){
  .site-header nav{gap:var(--space-3)}
  .site-header nav>button:first-child{display:none}
  .brand{font-size:var(--text-xl)}
}
@media(max-width:700px){
  .site-header{height:auto;min-height:112px;flex-wrap:wrap;gap:var(--space-2);padding-block:var(--space-4)}
  .brand{font-size:var(--text-xl);gap:var(--space-2)}
  .brand svg{width:24px;height:24px}
  .signature-logo{width:245px;max-height:76px}
  .brand{min-height:64px}
  .site-header nav{width:100%;justify-content:flex-end;gap:var(--space-3)}
  .site-header nav>a.gallery-nav{display:flex;margin-right:auto}
  .portfolio-intro{display:block;padding-block:var(--space-4) var(--space-8)}
  .back-home{margin-bottom:var(--space-5)}
  .portfolio-intro>p{margin-top:var(--space-5)}
  .portfolio-statement{margin-top:var(--space-6)}
  .elevated-logo-plate{padding:0;max-width:390px}
  .collection-nav{gap:var(--space-2);padding-bottom:var(--space-6)}
  .collection-nav a{padding:var(--space-3);gap:var(--space-3);flex:1 1 auto;min-height:48px}
  .collection-heading{display:block;padding-block:var(--space-6)}
  .collection-heading p{margin-top:var(--space-3);max-width:none}
  .photo-grid{columns:1}
  .portfolio-outro{align-items:flex-start;flex-direction:column}
  .photo-viewer{padding:var(--space-3);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}
  .viewer-bottom{align-items:flex-start;flex-direction:column;gap:var(--space-3)}
  .viewer-navigation{align-self:center}
  .viewer-stage img{max-height:calc(100dvh - 330px)}
}
@media(max-height:500px) and (orientation:landscape){
  .viewer-stage img{max-height:55dvh}
  .viewer-thumbnails{display:none}
}
