/* Event portfolio refinement — keeps the editorial system while adding richer asset access. */

.hero{
  grid-template-columns:minmax(500px,46%) minmax(0,1fr);
}
.hero-copy{
  padding-left:max(32px,calc((100vw - 1320px)/2));
  padding-right:clamp(42px,5vw,78px);
}
.hero-copy-inner{max-width:560px}
.hero h1{
  max-width:540px;
  font-size:clamp(48px,5vw,82px);
  line-height:.96;
  letter-spacing:-.052em;
}
.hero-copy-inner>p{max-width:500px;margin-top:28px}
.hero-meta{right:clamp(42px,5vw,78px)}
.hero-visual img{object-position:center 48%}

.featured-list{gap:clamp(82px,9vw,145px)}
.featured-case{
  grid-template-columns:minmax(300px,.7fr) minmax(0,1.55fr);
  gap:clamp(38px,6vw,92px);
}
.featured-case:nth-child(even){grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr)}
.featured-copy h3{font-size:clamp(36px,4.2vw,62px)}
.featured-copy p{max-width:420px}
.featured-copy small{margin-top:36px}

.featured-collage{
  aspect-ratio:16/10;
  display:grid;
  grid-template-columns:minmax(0,1.48fr) minmax(160px,.52fr);
  grid-template-rows:1fr 1fr;
  gap:8px;
  overflow:hidden;
  background:#d8d5ce;
  cursor:default;
}
.featured-shot{
  position:relative;
  width:100%;
  height:100%;
  border:0;
  padding:0;
  overflow:hidden;
  background:#cbc8c2;
  cursor:pointer;
}
.featured-main{grid-row:1 / 3}
.featured-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .7s var(--ease),filter .35s var(--ease);
}
.featured-shot:hover img{transform:scale(1.025);filter:saturate(1.04)}
.featured-main:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(4,11,16,.68),transparent 50%);
  pointer-events:none;
}
.featured-caption{
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:16px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.52);
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:18px;
  color:#fff;
  text-align:left;
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:8px;
}
.featured-caption b{font-size:9px}
.featured-caption em{font-style:normal;opacity:.8;text-align:right}

.project-row{padding:23px 0}
.project-row:focus-visible,.featured-shot:focus-visible,.case-link:focus-visible{
  outline:2px solid var(--yellow);
  outline-offset:4px;
}
.project-thumb{border:1px solid rgba(255,255,255,.08)}

.asset-summary{
  margin-top:42px;
  padding-top:20px;
  border-top:1px solid rgba(9,23,31,.18);
  display:flex;
  align-items:flex-end;
  gap:14px;
}
.asset-summary strong{
  font-family:Georgia,serif;
  font-size:42px;
  line-height:.85;
  font-weight:400;
  color:#9a8123;
}
.asset-summary span{
  color:#68737a;
  font-size:8px;
  line-height:1.45;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.modal-gallery{column-gap:16px}
.gallery-item{margin-bottom:16px}
.close-project-bottom{
  color:#101c24;
  border-bottom:1px solid #9a8123;
  padding-bottom:6px;
}

@media(max-height:820px) and (min-width:761px){
  .hero h1{font-size:clamp(44px,4.5vw,70px)}
  .hero-copy-inner>p{font-size:15px;line-height:1.65;margin-top:22px}
  .hero-actions{margin-top:26px}
  .hero-meta{bottom:18px}
}

@media(max-width:1080px){
  .hero{grid-template-columns:minmax(390px,45%) minmax(0,1fr)}
  .hero h1{font-size:clamp(46px,6vw,72px)}
  .featured-collage{grid-template-columns:minmax(0,1.35fr) minmax(125px,.65fr)}
}

@media(max-width:760px){
  .hero{display:flex}
  .hero-copy{padding:58px 20px 92px}
  .hero h1{max-width:340px;font-size:clamp(47px,13.8vw,66px);line-height:.98}
  .hero-visual img{object-position:center center}
  .featured-collage{
    aspect-ratio:4/3;
    grid-template-columns:1.35fr .65fr;
    gap:5px;
  }
  .featured-caption{left:12px;right:12px;bottom:11px;display:block}
  .featured-caption em{display:none}
  .asset-summary{margin-top:28px}
}
