
.portfolio-page{background:#455563;color:#fff;padding-bottom:28px}.portfolio-page *{box-sizing:border-box}.portfolio-intro,.featured-work,.portfolio-albums,.gallery-search-cta{width:min(1120px,calc(100% - 48px));margin-inline:auto}.portfolio-intro{padding:42px 0 24px;text-align:center}.portfolio-intro h1,.section-heading h2,.gallery-search-cta h2{font-family:Georgia,'Times New Roman',serif;font-weight:500}.portfolio-intro h1{font-size:clamp(36px,4.5vw,52px);margin:.08em 0;color:#f0c34b}.portfolio-intro>p:last-child{max-width:760px;margin:0 auto;font-size:1.08rem;line-height:1.6;color:#eef1ef}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:clamp(.9rem,1.7vw,1.08rem);font-weight:700;color:#e6ebe8;margin:0}.ornate-rule{display:flex;align-items:center;gap:12px;margin:13px 0 22px;color:#d7ad42}.ornate-rule span{height:1px;background:#d7ad42;flex:1}.ornate-rule b{font-family:Georgia,serif;font-size:25px;line-height:1;font-weight:400}.section-heading{display:flex;align-items:center;gap:18px;margin-bottom:18px}.section-heading h2{font-size:clamp(30px,4vw,43px);margin:0;color:#f0c34b;white-space:nowrap}.section-heading span{height:1px;background:#d7ad42;flex:1}.featured-work{padding:18px 0 34px}.feature-fader{position:relative;background:#1f2e38;border:1px solid rgba(223,185,70,.45);box-shadow:0 12px 32px #18242c55}
.feature-slide{display:none;margin:0}.feature-slide.is-active{display:block}
.feature-idbar{height:36px;display:flex;align-items:center;background:#050505;color:#fff;padding:0 14px;font-size:.88rem;letter-spacing:.02em}.feature-idbar strong{color:#f0c34b;font-size:.98rem;margin-left:6px}
.feature-image-button{position:relative;display:block;width:100%;padding:0;border:0;background:#111;cursor:zoom-in;aspect-ratio:16/8.2;overflow:hidden}
.feature-image-button img{width:100%;height:100%;object-fit:cover;display:block}.enlarge-hint{position:absolute;right:13px;top:13px;background:#050505aa;color:#fff;border:1px solid #ffffff66;border-radius:4px;padding:5px 8px;font-size:18px}
.feature-slide figcaption{position:static;padding:13px 18px 15px;background:#253943;text-shadow:none;display:flex;flex-direction:column;gap:4px}.feature-slide figcaption strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(19px,2.4vw,27px);line-height:1.25;color:#f0c34b}.feature-slide figcaption span{font-size:.95rem;line-height:1.45;color:#eef2ef}
.fader-nav{position:absolute;top:calc(36px + (100% - 36px)/2);z-index:6;translate:0 -50%;width:48px;height:72px;border:0;background:#10202aaa;color:#fff;font-size:42px;cursor:pointer}.fader-nav:hover{background:#10202add}.fader-nav.prev{left:0}.fader-nav.next{right:0}
.fader-dots{position:absolute;right:14px;top:13px;z-index:8;display:flex;gap:7px}.fader-dots button{width:10px;height:10px;border-radius:50%;border:1px solid #fff;background:#ffffff55;padding:0}.fader-dots button.is-active{background:#efc348;border-color:#efc348}.feature-empty{min-height:260px;border:1px solid #d7ad4266;display:grid;place-content:center;text-align:center;background:#344550;padding:30px}.feature-empty strong{font-family:Georgia,serif;color:#f0c34b;font-size:28px}.feature-empty span{margin-top:8px;color:#dce3df}.gallery-search-cta{margin-top:18px;margin-bottom:44px;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px;background:#354953;border-top:1px solid #d7ad42;border-bottom:1px solid #d7ad42}.gallery-search-cta h2{margin:3px 0 5px;color:#fff;font-size:31px}.gallery-search-cta p{margin:0;color:#e6ebe8}.gallery-button{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;background:#176fa6;color:#fff!important;text-decoration:none!important;border:1px solid #80c9ef;padding:13px 18px;border-radius:5px;font-weight:750;box-shadow:0 4px 12px #17252b55}.gallery-button:hover{background:#2386c1}.portfolio-albums{padding:10px 0 34px}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.album-card{display:block;background:#354750;color:#fff!important;text-decoration:none!important;border:1px solid #607079;box-shadow:0 6px 16px #26333a55;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.album-card:hover{transform:translateY(-3px);box-shadow:0 10px 22px #26333a88;border-color:#d7ad42}.album-image{position:relative;aspect-ratio:4/3;background:#263842;overflow:hidden}.album-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.album-card:hover .album-image img{transform:scale(1.025)}.album-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:90px;color:#ffffff35}.album-count{position:absolute;right:9px;bottom:9px;background:#17262ddd;border:1px solid #ffffff44;border-radius:999px;padding:4px 9px;font-size:.75rem}.album-copy{padding:15px 16px 17px}.album-copy h3{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:500;line-height:1.2;color:#f0c34b;margin:0 0 11px}.album-copy span{font-size:.84rem;font-weight:750;color:#fff}.gallery-search-cta.bottom{margin-top:2px;margin-bottom:18px}.portfolio-notice{text-align:center;padding:40px;background:#354750}.portfolio-debug{display:none}
@media(max-width:900px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-fader{aspect-ratio:4/3}.gallery-search-cta{align-items:flex-start}}
@media(max-width:620px){.portfolio-intro,.featured-work,.portfolio-albums,.gallery-search-cta{width:min(100% - 28px,1120px)}.portfolio-intro{padding-top:30px}.album-grid{grid-template-columns:1fr}.feature-fader{aspect-ratio:4/3}.feature-slide figcaption{padding:46px 52px 17px 16px}.feature-slide figcaption span{display:none}.fader-nav{width:38px;height:60px;font-size:34px}.gallery-search-cta{display:block;padding:20px}.gallery-button{margin-top:17px;width:100%;justify-content:center}.section-heading{gap:12px}.section-heading h2{white-space:normal}}
@media(prefers-reduced-motion:reduce){.feature-slide,.album-card,.album-image img{transition:none!important}}

body.portfolio-lightbox-open{overflow:hidden}.portfolio-lightbox{display:none;position:fixed;inset:0;z-index:9999;background:#000e;color:#fff}.portfolio-lightbox.open{display:flex;flex-direction:column}.plb-top{display:flex;align-items:center;gap:8px;background:#050505;padding:10px 14px;border-bottom:1px solid #333}.plb-top>span{flex:1}.plb-top strong{color:#f0c34b}.plb-top button{background:#18262e;color:#fff;border:1px solid #53636a;border-radius:5px;padding:7px 10px;cursor:pointer}.plb-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#000}.plb-stage img{max-width:100%;max-height:100%;object-fit:contain}.plb-nav{position:absolute;top:50%;translate:0 -50%;width:54px;height:76px;border:0;background:#101820aa;color:#fff;font-size:44px;cursor:pointer}.plb-prev{left:0}.plb-next{right:0}.plb-caption{background:#111923;padding:12px 18px 16px;display:flex;flex-direction:column;gap:4px;min-height:58px}.plb-caption strong{font-family:Georgia,serif;color:#f0c34b;font-size:1.25rem}.plb-caption span{color:#dce4e7;line-height:1.4}
@media(max-width:620px){.feature-image-button{aspect-ratio:4/3}.plb-top{flex-wrap:wrap}.plb-top>span{display:none}.plb-top strong{width:100%}.plb-nav{width:40px;height:64px;font-size:34px}}

/* v1.1C — portfolio rhythm/polish */
.portfolio-intro>p:last-child{
  max-width:820px;
  font-size:clamp(1.12rem,1.55vw,1.28rem);
  line-height:1.62;
}
.feature-slide figcaption{
  box-sizing:border-box;
  height:84px;
  min-height:84px;
  max-height:84px;
  overflow:hidden;
  justify-content:center;
}
.feature-slide figcaption strong{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
}
.feature-slide figcaption span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:620px){
  .feature-slide figcaption{
    height:96px;
    min-height:96px;
    max-height:96px;
  }
}

/* v1.1D — attach metadata to the photo frame */
.feature-frame{
  position:relative;
  padding-top:24px;
}
.feature-idbar{
  position:absolute;
  top:0;
  left:0;
  z-index:9;
  height:auto;
  min-height:24px;
  display:inline-flex;
  align-items:center;
  width:auto;
  padding:4px 9px;
  background:#050505;
  border:1px solid rgba(223,185,70,.45);
  border-bottom:0;
  color:#fff;
  font-size:.82rem;
  line-height:1.1;
}
.feature-idbar strong{
  color:#f0c34b;
  font-size:.9rem;
  margin-left:5px;
}
.feature-slide figcaption{
  height:104px;
  min-height:104px;
  max-height:104px;
  padding:14px 18px 16px;
  justify-content:center;
  text-align:left;
}
.feature-slide figcaption strong{
  line-height:1.18;
}

/* Full-window viewer: image, Asset ID, and caption are one centered object. */
.portfolio-lightbox.open{
  display:flex;
  flex-direction:column;
}
.plb-top{
  flex:0 0 auto;
}
.plb-stage{
  position:relative;
  flex:1 1 auto;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:44px 72px 28px;
  background:#000;
}
.plb-figure{
  position:relative;
  display:flex;
  flex-direction:column;
  width:max-content;
  max-width:calc(100vw - 160px);
  max-height:calc(100vh - 120px);
  align-items:stretch;
}
.plb-figure img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:calc(100vh - 230px);
  object-fit:contain;
}
.plb-asset{
  position:absolute;
  left:0;
  bottom:100%;
  margin-bottom:0;
  background:#050505;
  border:1px solid #34414a;
  border-bottom:0;
  color:#f0c34b;
  padding:7px 10px;
  font-size:.9rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.plb-caption{
  position:static;
  width:100%;
  box-sizing:border-box;
  background:#111923;
  border-top:1px solid #2f3e47;
  padding:11px 14px 13px;
  min-height:0;
  text-align:left;
}
.plb-caption strong{
  display:block;
  font-family:Georgia,serif;
  color:#f0c34b;
  font-size:1.15rem;
  line-height:1.25;
}
.plb-caption span{
  display:block;
  margin-top:3px;
  color:#dce4e7;
  line-height:1.35;
}
@media(max-width:620px){
  .feature-slide figcaption{
    height:112px;
    min-height:112px;
    max-height:112px;
  }
  .plb-stage{
    padding:42px 46px 18px;
  }
  .plb-figure{
    max-width:calc(100vw - 92px);
  }
  .plb-figure img{
    max-height:calc(100vh - 250px);
  }
}

/* v1.3 — legacy workflow restored: Album card -> sales/gallery page -> slideshow */
.album-sales-copy,
.album-gallery{
  width:min(1120px,calc(100% - 48px));
  margin-inline:auto;
}
.album-sales-copy{
  padding:4px 0 26px;
  font-size:clamp(1.12rem,1.55vw,1.28rem);
  line-height:1.62;
  color:#eef1ef;
}
.album-sales-copy p{
  max-width:980px;
  margin:0 auto 15px;
}
.album-page-actions{
  max-width:980px;
  margin:24px auto 0;
  padding-top:16px;
  border-top:1px solid #d7ad42;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
}
.album-back-link{
  color:#fff!important;
  font-weight:700;
}
.album-play-button{
  border:1px solid #80c9ef;
  border-radius:5px;
  background:#176fa6;
  color:#fff;
  font-weight:800;
  padding:11px 16px;
  cursor:pointer;
}
.album-gallery{padding:8px 0 34px}
.album-thumb-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px 24px;
}
.album-thumb{
  border:0;
  background:transparent;
  color:#fff;
  padding:0;
  text-align:center;
  cursor:pointer;
}
.album-thumb-image{
  display:block;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#25343d;
  border:1px solid #6a7880;
  box-shadow:0 5px 14px #1d2b3255;
}
.album-thumb-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .2s ease;
}
.album-thumb:hover .album-thumb-image img{transform:scale(1.025)}
.album-thumb-title{
  display:block;
  margin-top:8px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:1rem;
  line-height:1.25;
  color:#fff;
}
.album-thumb-id{
  display:block;
  margin-top:3px;
  font-size:.72rem;
  color:#c9d2d5;
}
.album-slideshow-data{
  display:none!important;
}
.album-cta-buttons{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.secondary-gallery-button{
  background:#344852;
  border-color:#758891;
}
@media(max-width:900px){
  .album-thumb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .album-sales-copy,.album-gallery{width:min(100% - 28px,1120px)}
  .album-thumb-grid{grid-template-columns:1fr}
  .album-page-actions{display:grid;grid-template-columns:1fr}
  .album-play-button{width:100%}
  .album-cta-buttons{display:grid;grid-template-columns:1fr;width:100%}
}

/* Video media — Portfolio 1.4 */
.portfolio-video-badge{position:absolute;left:12px;bottom:12px;z-index:4;padding:6px 10px;border-radius:999px;background:#050505d9;border:1px solid #e9bf6980;color:#f0c34b;font-weight:800;font-size:12px;letter-spacing:.02em;pointer-events:none}
.album-thumb-image{position:relative}
.thumb-video-badge{left:8px;bottom:8px;font-size:11px;padding:4px 7px}
.plb-figure video{display:block;max-width:100%;max-height:calc(100vh - 190px);width:auto;height:auto;object-fit:contain;background:#000}
.plb-figure video[hidden],.plb-figure img[hidden]{display:none!important}
@media(max-width:620px){.plb-figure video{max-height:calc(100vh - 220px)}}
