:root{--ember:#e0644e}
.project-number{color:#817b75}
.film-copy .eyebrow{color:#792617}
.film-copy .status{color:#3c3532}
.button{background:#b43a27;border-color:#b43a27}

.photo-shell{position:relative;margin:0;overflow:hidden;background:#100d10;pointer-events:none}
.photo-shell picture,.photo-shell img{display:block;width:100%;height:100%}
.photo-shell img{object-fit:cover;object-position:var(--fp-desktop,50% 50%)}
.photo-scrim{position:absolute;inset:0;z-index:1;pointer-events:none}
.overlay-strong-left .photo-scrim{background:linear-gradient(90deg,rgba(9,7,10,.96) 0%,rgba(9,7,10,.84) 28%,rgba(9,7,10,.24) 58%,rgba(9,7,10,.05) 100%),linear-gradient(0deg,rgba(9,7,10,.52),transparent 50%)}
.overlay-strong-right .photo-scrim{background:linear-gradient(270deg,rgba(9,7,10,.96) 0%,rgba(9,7,10,.84) 28%,rgba(9,7,10,.22) 60%,rgba(9,7,10,.04) 100%),linear-gradient(0deg,rgba(9,7,10,.5),transparent 52%)}
.overlay-strong-left-bottom .photo-scrim{background:linear-gradient(90deg,rgba(9,7,10,.9) 0%,rgba(9,7,10,.62) 36%,rgba(9,7,10,.1) 66%),linear-gradient(0deg,rgba(9,7,10,.84) 0%,rgba(9,7,10,.08) 62%)}
.photo-credit{position:absolute;z-index:3;display:inline-flex;align-items:center;min-height:30px;padding:4px 7px;background:rgba(9,7,10,.72);color:var(--paper);font-family:"Barlow",monospace;font-size:11px;line-height:1;letter-spacing:.04em;text-decoration:none;pointer-events:auto;backdrop-filter:blur(5px)}
.photo-credit:hover,.photo-credit:focus-visible{background:var(--paper);color:var(--ink)}
.credit-bottom-left .photo-credit{left:14px;bottom:14px}
.credit-bottom-right .photo-credit{right:14px;bottom:14px}

.photo-header{position:relative;min-height:clamp(610px,calc(100svh - 64px),900px);display:grid;align-items:center;isolation:isolate;border-bottom:1px solid var(--rule);overflow:hidden}
.photo-header-media{position:absolute;inset:0;z-index:0;width:100%;height:100%}
.photo-header-content{position:relative;z-index:2;width:min(100%,var(--max));margin:auto;padding:clamp(70px,8vw,120px) 24px;text-shadow:0 2px 22px rgba(0,0,0,.6);pointer-events:none}
.photo-header-content a,.photo-header-content button{pointer-events:auto}
.photo-header-content h1{font-family:"Barlow Condensed",sans-serif;font-size:clamp(4.2rem,8.2vw,8.4rem);font-weight:900;line-height:.82;letter-spacing:-.035em;text-transform:uppercase;margin:18px 0 28px}
.photo-header-content p{max-width:610px;color:rgba(232,223,208,.88)}
.photo-header-content .lede{font-family:"EB Garamond",serif;font-size:clamp(1.25rem,2.2vw,1.75rem);font-style:italic}
.photo-header.align-left .photo-header-content>*{max-width:58%}
.photo-header.align-right .photo-header-content{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.photo-header.align-right .photo-header-content>*{max-width:48%}
.home-photo-header .photo-header-content>*{max-width:58%}
.home-photo-header .display{font-size:clamp(4rem,7vw,7rem)}
.about-photo-header .photo-header-content>*{max-width:49%}
.about-photo-header .photo-header-content h1{font-size:clamp(3.5rem,6vw,6.4rem)}

.project-recognition{list-style:none;margin:15px 0 0;padding:0;display:grid;gap:6px;color:var(--dim);font-family:"Barlow Condensed",sans-serif;font-size:.78rem;letter-spacing:.04em}
.project-recognition strong{color:var(--paper);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.project-recognition.compact{margin-top:12px}
.more-recognition{position:relative;z-index:2;display:inline-flex;min-height:34px;align-items:center;margin-top:8px;color:var(--ember);font-family:"Barlow Condensed",sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-decoration:none}
.row-logline{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}
.project-synopsis{max-width:720px;margin-top:28px;color:var(--dim);font-family:"EB Garamond",serif;font-size:1.2rem;line-height:1.7}
.project-disclaimer{max-width:620px;margin-top:24px;padding-top:16px;border-top:1px solid var(--rule);color:var(--muted);font-family:"Barlow",sans-serif;font-size:.76rem;letter-spacing:.04em}
.project-aside #recognition{margin-top:30px;padding-top:25px;border-top:1px solid var(--rule)}
.sample-label{display:grid;gap:7px;margin-top:24px;padding-top:20px;border-top:1px solid var(--rule);color:var(--dim);font-family:"Barlow Condensed",sans-serif;font-size:.72rem;font-weight:600;line-height:1.35;letter-spacing:.11em}
.sample-label span:last-child{color:var(--paper)}

.about-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,430px);gap:clamp(40px,7vw,90px);align-items:start;padding:70px 0;border-top:1px solid var(--rule)}
.about-editorial-copy{display:grid;grid-template-columns:220px minmax(0,1fr);gap:45px}
.about-fullbody{min-height:650px;transform:rotate(.7deg);border:1px solid var(--rule)}
.press-profile{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:50px;align-items:center;margin-top:50px;padding:40px;background:var(--card);border-left:3px solid var(--ember)}
.press-profile h2{margin-top:12px}
.press-headshot{aspect-ratio:1;border:1px solid var(--rule)}

@media(max-width:850px){
  .photo-shell img{object-position:var(--fp-tablet,50% 50%)}
  .photo-header{min-height:760px;align-items:end}
  .photo-header-content{padding:90px 24px 82px}
  .photo-header-content h1{font-size:clamp(3.5rem,11vw,6rem)}
  .photo-header.align-left .photo-header-content>*,.photo-header.align-right .photo-header-content>*,.home-photo-header .photo-header-content>*,.about-photo-header .photo-header-content>*{max-width:68%}
  .photo-header.mobile-align-right .photo-header-content{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
  .photo-header.mobile-align-left .photo-header-content,.photo-header.mobile-align-left-bottom .photo-header-content{display:block;text-align:left}
  .about-photo-header{align-items:end}
  .about-photo-header .photo-header-content h1{font-size:clamp(3.1rem,9vw,5rem)}
  .about-editorial{grid-template-columns:1fr}
  .about-editorial-copy{grid-template-columns:1fr}
  .about-fullbody{min-height:720px;max-width:540px}
}

@media(max-width:560px){
  .photo-shell img{object-position:var(--fp-mobile,50% 50%)}
  .photo-header{min-height:calc(100svh - 64px);max-height:940px}
  .photo-header-content{padding:84px 18px 72px}
  .photo-header-content h1{font-size:clamp(3.15rem,15vw,4.8rem);margin:14px 0 22px}
  .photo-header-content p{font-size:.95rem;line-height:1.45}
  .photo-header.align-left .photo-header-content>*,.photo-header.align-right .photo-header-content>*,.home-photo-header .photo-header-content>*,.about-photo-header .photo-header-content>*{max-width:78%}
  .home-photo-header .photo-header-content{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
  .home-photo-header .display{font-size:clamp(3.15rem,14.5vw,4.5rem)}
  .work-photo-header .photo-header-content,.contact-photo-header .photo-header-content{padding-top:280px}
  .about-photo-header .photo-header-content{padding-top:350px}
  .about-photo-header .photo-header-content h1{font-size:clamp(2.9rem,12.4vw,4rem)}
  .mobile-credit-bottom-left .photo-credit{left:10px;right:auto;bottom:10px}
  .mobile-credit-bottom-right .photo-credit{right:10px;left:auto;bottom:10px}
  .photo-credit{font-size:10px;min-height:28px}
  .project-recognition.compact{font-size:.74rem}
  .about-editorial{padding:45px 0}
  .about-fullbody{min-height:600px}
  .press-profile{grid-template-columns:1fr;padding:24px}
  .press-headshot{max-width:320px}
}

@media(max-width:560px) and (max-height:700px){
  .photo-header-content{padding-top:48px;padding-bottom:48px}
  .photo-header-content h1,.home-photo-header .display,.about-photo-header .photo-header-content h1{font-size:clamp(2.55rem,12vw,3.25rem)}
  .photo-header-content h1{margin:10px 0 14px}
  .photo-header-content p{font-size:.78rem;line-height:1.3;margin:.45em 0}
  .photo-header-content .lede{font-size:1rem}
  .photo-header-content .meta{font-size:.62rem}
  .photo-header-content .button-row{margin-top:10px}
  .photo-header-content .button{min-height:40px;padding:9px 13px}
  .work-photo-header .photo-header-content,.contact-photo-header .photo-header-content,.about-photo-header .photo-header-content{padding-top:180px}
}
