.reports{padding:110px clamp(24px,7vw,110px);background:#fffdf8}
.life-story{padding:105px clamp(24px,7vw,110px);background:var(--cream)}
.life-heading{display:grid;grid-template-columns:180px 1fr 1fr;gap:4vw;align-items:end;margin-bottom:60px}
.life-heading .eyebrow{align-self:start}
.life-heading h2{font-size:clamp(40px,5vw,70px);letter-spacing:-.035em}
.life-heading>p:last-child{font-size:17px;line-height:1.6;color:#666}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.timeline article{position:relative;padding:34px 28px 30px 0;border-right:1px solid var(--line);min-height:310px}
.timeline article+article{padding-left:28px}
.timeline time{font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--red)}
.timeline article>span{display:block;font:700 56px "Fraunces";color:rgba(23,23,19,.12);margin:24px 0 10px}
.timeline h3{font-size:25px;margin-bottom:14px}
.timeline p{font-size:14px;line-height:1.65;color:#666}
.timeline .future{background:var(--red);color:white;padding-right:28px}
.timeline .future time,.timeline .future p{color:white}
.timeline .future>span{color:rgba(255,255,255,.25)}
.profile-facts{display:grid;grid-template-columns:1fr 1fr;margin:28px 0 4px;border-top:1px solid var(--line)}
.profile-facts div{padding:14px 12px 14px 0;border-bottom:1px solid var(--line)}
.profile-facts dt{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--red);font-weight:700}
.profile-facts dd{margin:5px 0 0;font-size:14px;font-weight:600}
.reports-intro{max-width:430px;line-height:1.65;color:#666}
.report{display:grid;grid-template-columns:minmax(300px,.8fr) 1.2fr;border-top:1px solid var(--line);padding:70px 0;gap:7vw;scroll-margin-top:70px}
.report.reverse .report-image{order:2}
.report-image{position:relative;min-height:620px}
.report-image img{height:100%;object-fit:cover}
.report-image>span{position:absolute;top:18px;left:18px;width:52px;height:52px;display:grid;place-items:center;background:var(--red);color:#fff;font:700 22px "Fraunces"}
.report-body{align-self:center;max-width:760px}
.report-body h3{font-size:clamp(38px,4.5vw,66px);margin:20px 0 24px;letter-spacing:-.035em}
.report-body p{font-size:16px;line-height:1.75;color:#555}
.report-body .lead{font:600 23px/1.5 "Fraunces";color:var(--ink)}
.observation{margin:28px 0;padding:22px 24px;background:var(--cream);border-left:4px solid var(--red);display:flex;flex-direction:column;gap:7px}
.observation span{font-size:14px;line-height:1.6;color:#555}
.report-body .sources{font-size:12px;color:#777;border-top:1px solid var(--line);padding-top:16px}
.sources a{text-decoration:underline;text-underline-offset:3px}
.gallery-section{padding:110px clamp(24px,7vw,110px);background:#20221c;color:white}
.gallery-section .section-head>p{max-width:450px;color:#c6c8be;line-height:1.65}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;gap:12px}
.gallery-item{position:relative;border:0;padding:0;overflow:hidden;background:#111;cursor:zoom-in;color:white}
.gallery-item.wide{grid-column:span 2}
.gallery-item.tall{grid-row:span 2}
.gallery-item img{height:100%;object-fit:cover;transition:transform .4s ease,opacity .4s ease}
.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.035);opacity:.78}
.gallery-item span{position:absolute;left:0;right:0;bottom:0;padding:32px 16px 14px;text-align:left;background:linear-gradient(transparent,rgba(0,0,0,.76));font-weight:600;font-size:13px;opacity:0;transition:opacity .25s}
.gallery-item:hover span,.gallery-item:focus-visible span{opacity:1}
.lightbox{width:min(1100px,92vw);height:min(820px,90vh);padding:0;border:0;background:#111;color:white;overflow:hidden}
.lightbox::backdrop{background:rgba(0,0,0,.86)}
.lightbox img{width:100%;height:calc(100% - 56px);object-fit:contain}
.lightbox p{margin:0;padding:16px 22px;font-size:13px}
.lightbox-close{position:absolute;right:12px;top:10px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:rgba(0,0,0,.72);color:white;font-size:28px;cursor:pointer}
@media(max-width:900px){
  .life-heading{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr 1fr}
  .report,.report.reverse{grid-template-columns:1fr;gap:32px;padding:55px 0}
  .report.reverse .report-image{order:0}
  .report-image{min-height:460px}
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:210px}
}
@media(max-width:520px){
  .life-story{padding-top:75px;padding-bottom:75px}
  .timeline{grid-template-columns:1fr}
  .timeline article{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:30px 0}
  .timeline article+article{padding-left:0}
  .timeline .future{padding:30px 22px}
  .profile-facts{grid-template-columns:1fr}
  .reports,.gallery-section{padding-top:75px;padding-bottom:75px}
  .report-image{min-height:390px}
  .gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}
  .gallery-item.wide{grid-column:span 1}
  .gallery-item.tall{grid-row:span 1}
  .gallery-item span{opacity:1}
}
