:root{
  --paper:#f3f0e9;
  --ink:#11110f;
  --muted:#706f69;
  --line:rgba(17,17,15,.18);
  --white:#fff;
  --black:#0d0d0c;
  --max:1300px;
  --pad:clamp(26px,5vw,80px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.35;overflow-x:hidden}
img{width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit}
::selection{background:var(--ink);color:var(--paper)}
.nav{position:fixed;z-index:100;left:0;right:0;top:0;height:74px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid transparent;transition:.25s ease;color:white;mix-blend-mode:difference}
.nav.scrolled{mix-blend-mode:normal;background:rgba(243,240,233,.9);backdrop-filter:blur(16px);border-color:var(--line);color:var(--ink)}
.wordmark{font-size:.84rem;font-weight:900;letter-spacing:.08em}.navlinks{display:flex;gap:28px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.navlinks a,.nav-cta{position:relative}.navlinks a:after,.nav-cta:after{content:"";position:absolute;height:1px;left:0;right:100%;bottom:-4px;background:currentColor;transition:.2s}.navlinks a:hover:after,.nav-cta:hover:after{right:0}.nav-cta{justify-self:end;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.hero{min-height:100svh;position:relative;background:#0d0d0c;color:white;padding:120px var(--pad) 48px;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto 1fr auto;overflow:hidden}
.hero-kicker{position:absolute;top:94px;left:var(--pad);font-size:.72rem;font-weight:800;letter-spacing:.14em;z-index:3}.hero-kicker span{opacity:.5;margin:0 8px}
.hero-title{z-index:3;align-self:center;grid-row:2}.hero h1{margin:0;font-size:clamp(5.1rem,14vw,13.5rem);line-height:.72;letter-spacing:-.085em;font-weight:900}.hero h1 span{display:inline-block;margin-left:8vw}
.hero-bottom{grid-row:3;grid-column:1;z-index:3;display:grid;grid-template-columns:1fr 1.25fr;gap:28px;max-width:760px;align-items:end}.hero-role{margin:0;font-size:.86rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.hero-copy{margin:0;color:#d5d5d2;font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:520px}
.hero-image{position:absolute;right:0;top:0;width:46vw;height:100%;opacity:.9}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d0d0c 0%,rgba(13,13,12,.42) 30%,rgba(13,13,12,.02) 70%),linear-gradient(0deg,rgba(13,13,12,.5),transparent 28%)}.hero-image img{height:100%;object-fit:cover;object-position:58% 38%;filter:saturate(.82) contrast(1.04);transform:scale(1.28);transform-origin:58% 38%}
.scroll-hint{position:absolute;right:var(--pad);bottom:46px;z-index:4;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ticker{overflow:hidden;background:var(--paper);border-bottom:1px solid var(--line);border-top:1px solid var(--line);padding:17px 0;white-space:nowrap}.ticker-track{display:inline-flex;align-items:center;gap:26px;min-width:max-content;animation:ticker 34s linear infinite;font-weight:900;font-size:.78rem;letter-spacing:.12em}.ticker i{font-style:normal;font-size:.65rem}@keyframes ticker{to{transform:translateX(-50%)}}
.section{padding:clamp(90px,11vw,165px) var(--pad);max-width:var(--max);margin:auto}.section-head{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end;margin-bottom:70px}.section-head p{margin:0 0 12px;color:var(--muted);font-size:1.08rem;max-width:430px}.eyebrow{display:block;font-size:.68rem;font-weight:900;letter-spacing:.17em;margin-bottom:20px}.eyebrow.light{color:#d6d5cf}h2{font-size:clamp(3.6rem,7.2vw,8rem);line-height:.82;letter-spacing:-.075em;margin:0;font-weight:900}
.work-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.work-card{grid-column:span 4;border:0;background:none;padding:0;text-align:left;cursor:pointer;position:relative;overflow:hidden;color:var(--ink)}.work-card.tall{grid-column:span 5;grid-row:span 2}.work-card.wide{grid-column:span 7}.work-card img{aspect-ratio:4/5;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s}.work-card.tall img{height:100%;min-height:820px}.work-card.wide img{aspect-ratio:1.45/1}.work-card:hover img{transform:scale(1.025);filter:contrast(1.04)}.work-meta{display:flex;justify-content:space-between;gap:20px;padding-top:12px;border-top:1px solid var(--line);margin-top:10px}.work-meta b{font-size:.78rem;letter-spacing:.08em}.work-meta em{font-style:normal;color:var(--muted);font-size:.76rem;text-align:right}
.dark-section{background:var(--black);color:white}.impact{min-height:92vh;position:relative;display:flex;align-items:end;overflow:hidden}.impact-photo{position:absolute;inset:0}.impact-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.22)),linear-gradient(0deg,rgba(0,0,0,.8),transparent 55%)}.impact-photo img{height:100%;object-fit:cover;object-position:center}.impact-content{position:relative;z-index:2;padding:100px var(--pad);width:min(100%,var(--max));margin:auto}.impact h2{max-width:1100px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:64px}.metrics div{border-top:1px solid rgba(255,255,255,.35);padding-top:16px}.metrics strong{display:block;font-size:clamp(2.8rem,4.6vw,5.3rem);letter-spacing:-.06em}.metrics span{display:block;max-width:190px;color:#c9c9c4;font-size:.88rem}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start}.about-copy{position:sticky;top:120px}.about .lede{font-size:clamp(1.35rem,2.2vw,2.05rem);letter-spacing:-.03em;color:var(--ink);max-width:690px}.about p{color:var(--muted);font-size:1.04rem;max-width:620px}.about h2{margin-bottom:38px}.text-link{display:inline-block;margin-top:18px;font-weight:900;border-bottom:2px solid;padding-bottom:3px}.about-collage{display:grid;grid-template-columns:1fr 1fr;gap:16px}.about-collage img{object-fit:cover}.about-collage .a1{grid-column:1/3;height:640px}.about-collage .a2{height:430px}.about-collage .a3{height:430px}
.process-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr)}.process-item{padding:38px 28px;min-height:190px;border-right:1px solid var(--line);display:flex;flex-direction:column}.process-item:last-child{border-right:0}.process-item span{font-size:.7rem;color:var(--muted);font-weight:900}.process-item b{font-size:1.25rem;margin-top:auto;letter-spacing:-.03em}.process-item em{font-style:normal;color:var(--muted);font-size:.82rem;margin-top:4px}
.cap-head{display:grid;grid-template-columns:1fr 1fr;margin-bottom:72px}.cap-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.cap-grid article{padding:42px 50px 50px 0;border-bottom:1px solid var(--line)}.cap-grid article:nth-child(odd){border-right:1px solid var(--line)}.cap-grid article:nth-child(even){padding-left:50px}.cap-grid span{font-size:.67rem;font-weight:900;letter-spacing:.16em;color:var(--muted)}.cap-grid h3{font-size:clamp(2rem,3.1vw,3.5rem);letter-spacing:-.055em;margin:18px 0 18px}.cap-grid p{max-width:520px;color:var(--muted);margin:0;font-size:1rem}
.bts-section{background:#171715;color:white;padding:clamp(90px,10vw,150px) var(--pad)}.bts-heading{max-width:var(--max);margin:0 auto 65px}.bts-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.bts-grid img{height:330px;object-fit:cover}.bts-grid img:nth-child(1){grid-column:span 5;height:520px}.bts-grid img:nth-child(2){grid-column:span 7;height:520px}.bts-grid img:nth-child(n+3){grid-column:span 3}.bts-grid img:nth-child(5){grid-column:span 3}.bts-grid img:nth-child(6){grid-column:span 3}
.proof-list{border-top:1px solid var(--line)}.proof-list article{display:grid;grid-template-columns:1fr 1.1fr 1.4fr;gap:34px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}.proof-list article span{font-size:.7rem;font-weight:900;letter-spacing:.13em}.proof-list h3{font-size:clamp(2.2rem,4vw,4.6rem);letter-spacing:-.06em;margin:0}.proof-list p{color:var(--muted);max-width:520px;margin:0}
.contact{min-height:88vh;display:grid;grid-template-columns:.8fr 1.2fr}.contact-media{overflow:hidden}.contact-media img{height:100%;object-fit:cover;filter:saturate(.7) contrast(1.05)}.contact-copy{padding:clamp(70px,8vw,130px) var(--pad);display:flex;flex-direction:column;justify-content:center}.contact-copy p{color:#bcbcb6;font-size:1.2rem;max-width:520px}.giant-link{font-size:clamp(1.1rem,2.2vw,2.4rem);font-weight:900;letter-spacing:-.04em;border-bottom:2px solid white;padding-bottom:8px;width:max-content;max-width:100%;overflow-wrap:anywhere;margin-top:25px}.socials{display:flex;gap:26px;margin-top:38px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em}
footer{padding:26px var(--pad);display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);font-size:.7rem;font-weight:900;letter-spacing:.12em}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.show{opacity:1;transform:none}
.lightbox{width:min(94vw,1200px);height:min(92vh,900px);border:0;padding:0;background:#0b0b0a;color:white;box-shadow:0 30px 100px rgba(0,0,0,.5)}.lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(8px)}.lightbox img{height:calc(100% - 82px);object-fit:contain;background:#050505}.lightbox>div{height:82px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.lightbox strong{font-size:.82rem;letter-spacing:.09em}.lightbox span{font-size:.8rem;color:#aaa}.lightbox-close{position:absolute;right:14px;top:14px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:25px;cursor:pointer;z-index:2}
@media(max-width:980px){.nav{grid-template-columns:1fr 1fr}.navlinks{display:none}.hero{grid-template-columns:1fr;padding-top:105px}.hero-image{width:58vw;opacity:.72}.hero h1{font-size:clamp(5rem,19vw,10rem)}.hero-bottom{grid-template-columns:1fr;max-width:480px}.section-head{grid-template-columns:1fr;gap:35px}.work-card,.work-card.tall,.work-card.wide{grid-column:span 6}.work-card.tall img{min-height:0;height:auto;aspect-ratio:4/5}.metrics{grid-template-columns:1fr 1fr}.about-grid{grid-template-columns:1fr}.about-copy{position:static}.process-strip{grid-template-columns:1fr 1fr 1fr}.process-item{border-bottom:1px solid var(--line)}.cap-head{grid-template-columns:1fr}.bts-grid img:nth-child(n){grid-column:span 6;height:380px}.proof-list article{grid-template-columns:1fr 1fr}.proof-list p{grid-column:2}.contact{grid-template-columns:1fr}.contact-media{height:55vh}}
@media(max-width:640px){:root{--pad:24px}.nav{height:62px}.nav-cta{font-size:.68rem}.hero{min-height:900px;padding-top:90px}.hero-kicker{top:80px;font-size:.6rem}.hero-image{width:100%;height:58%;top:auto;bottom:0}.hero-image:after{background:linear-gradient(0deg,rgba(13,13,12,.35),rgba(13,13,12,.15)),linear-gradient(180deg,#0d0d0c 0%,rgba(13,13,12,.1) 45%)}.hero-title{align-self:start;margin-top:100px}.hero h1{font-size:22vw;line-height:.76}.hero h1 span{margin-left:0}.hero-bottom{position:absolute;bottom:85px;left:var(--pad);right:var(--pad)}.hero-role{font-size:.72rem}.hero-copy{font-size:1rem}.scroll-hint{bottom:28px}.section{padding:85px var(--pad)}h2{font-size:15vw}.work-grid{gap:28px 10px}.work-card,.work-card.tall,.work-card.wide{grid-column:span 12}.work-card img,.work-card.wide img{aspect-ratio:4/5}.work-meta{align-items:flex-start}.impact{min-height:900px}.impact-content{padding:85px var(--pad)}.metrics{grid-template-columns:1fr 1fr;gap:26px 12px}.metrics strong{font-size:12vw}.about-collage .a1{height:430px}.about-collage .a2,.about-collage .a3{height:260px}.process-strip{grid-template-columns:1fr}.process-item{min-height:120px;border-right:0}.cap-grid{grid-template-columns:1fr}.cap-grid article,.cap-grid article:nth-child(even){padding:30px 0;border-right:0!important}.bts-grid{gap:10px}.bts-grid img:nth-child(n){grid-column:span 12;height:330px}.proof-list article{grid-template-columns:1fr;gap:12px;padding:27px 0}.proof-list p{grid-column:1}.contact{min-height:auto}.contact-media{height:55vh}.contact-copy{padding:75px var(--pad)}.giant-link{font-size:1rem}footer{flex-direction:column}.lightbox{width:100vw;height:100vh;max-height:none}.lightbox>div{height:auto;min-height:82px;align-items:flex-start;gap:8px;flex-direction:column}.lightbox img{height:calc(100% - 92px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}.reveal{opacity:1;transform:none;transition:none}.work-card img{transition:none}}

/* 2026-09-14 portfolio refinements */
.instagram-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:980px;margin:0 auto}.instagram-grid .work-card,.instagram-grid .work-card.tall,.instagram-grid .work-card.wide{grid-column:auto;grid-row:auto;aspect-ratio:4/5;overflow:hidden}.instagram-grid .work-card img,.instagram-grid .work-card.tall img,.instagram-grid .work-card.wide img{width:100%;height:100%;min-height:0;aspect-ratio:4/5;object-fit:cover;display:block}.instagram-grid .work-card:hover img{transform:scale(1.03)}
.about-editorial{padding-top:110px;padding-bottom:120px}.about-editorial-inner{max-width:930px;margin:0 auto}.about-photo-row{display:grid;grid-template-columns:2.05fr .92fr 1.02fr;gap:14px;align-items:stretch;margin-bottom:70px}.about-photo-row img{width:100%;height:255px;object-fit:cover}.about-story{max-width:760px}.about-story p{font-size:clamp(1.35rem,2.2vw,2.05rem);line-height:1.28;letter-spacing:-.025em;color:var(--ink);margin:0 0 36px}.about-story .about-intro{font-size:clamp(1.3rem,2vw,1.85rem);margin-bottom:42px}.about-story p:last-child{margin-bottom:0}
@media(max-width:980px){.instagram-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.about-photo-row{grid-template-columns:1.8fr 1fr 1fr}.about-photo-row img{height:220px}}
@media(max-width:640px){.instagram-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.instagram-grid .work-card,.instagram-grid .work-card.tall,.instagram-grid .work-card.wide{grid-column:auto}.instagram-grid .work-card img,.instagram-grid .work-card.wide img{aspect-ratio:4/5}.about-editorial{padding-top:70px;padding-bottom:80px}.about-photo-row{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:46px}.about-photo-row .about-photo-main{grid-column:1/3;height:260px}.about-photo-row img{height:180px}.about-story p{font-size:1.35rem;margin-bottom:28px}.about-story .about-intro{font-size:1.25rem;margin-bottom:34px}}

.logo-mark{display:flex;align-items:center;width:38px;height:38px}.logo-mark img{width:38px;height:38px;display:block;border-radius:8px}
@media(max-width:640px){.logo-mark,.logo-mark img{width:34px;height:34px}}


/* 2026-09-14 requested refinements — current working package */
/* Hero: remove the previous kicker/band and let the title breathe. */
.hero-title{align-self:center}

/* Selected Work: compact enough for the full 3x3 to read in one desktop viewport. */
.work.section{padding-top:clamp(58px,7vh,86px);padding-bottom:clamp(42px,5vh,68px)}
.work .section-head{margin-bottom:clamp(22px,3vh,34px);grid-template-columns:1fr .55fr;gap:5vw}
.work .section-head h2{font-size:clamp(2.9rem,5.3vw,5.8rem)}
.work .section-head .eyebrow{margin-bottom:12px}
.work .section-head p{font-size:.96rem;max-width:390px}
.instagram-grid{width:min(100%,600px,calc((100svh - 270px) * .8));max-width:none;gap:10px}

/* About: return to the split editorial layout with copy left and photos right. */
.about{padding-top:clamp(88px,9vw,130px);padding-bottom:clamp(88px,9vw,130px)}
.about-grid{grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(55px,7vw,110px);align-items:start}
.about-copy{position:sticky;top:108px}
.about .lede{font-size:clamp(1.55rem,2.45vw,2.35rem);line-height:1.22;margin:0 0 34px;max-width:700px}
.about p:not(.lede){font-size:clamp(1rem,1.25vw,1.22rem);line-height:1.45;max-width:680px;margin:0 0 26px}
.about .text-link{margin-top:14px;font-size:1.12rem}
.about-collage{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.about-collage .a2,.about-collage .a3{width:100%;height:min(58vw,660px);max-height:660px;min-height:470px;object-fit:cover}
.about-collage .a2{object-position:center}
.about-collage .a3{object-position:center top}

@media(max-width:980px){
  .instagram-grid{width:min(100%,560px)}
  .about-grid{grid-template-columns:1fr;gap:48px}
  .about-copy{position:static}
  .about-collage .a2,.about-collage .a3{height:62vw;min-height:360px}
}
@media(max-width:640px){
  .work.section{padding-top:74px;padding-bottom:74px}
  .work .section-head{gap:24px;margin-bottom:28px}
  .work .section-head h2{font-size:14vw}
  .instagram-grid{width:100%;gap:5px}
  .about-collage{gap:8px}
  .about-collage .a2,.about-collage .a3{height:67vw;min-height:250px}
}


/* 2026-09-14 corrected follow-up — verified CSS */
/* Hero: keep the location/discipline line, but eliminate the visible vertical image boundary. */
.hero-kicker{display:block;z-index:4}
.hero-image{
  width:66vw;
  left:auto;
  right:0;
  opacity:1;
}
.hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:61% 37%;
  transform:scale(1.18);
  transform-origin:61% 37%;
}
.hero-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      #0d0d0c 0%,
      rgba(13,13,12,.99) 4%,
      rgba(13,13,12,.93) 13%,
      rgba(13,13,12,.72) 25%,
      rgba(13,13,12,.42) 38%,
      rgba(13,13,12,.15) 52%,
      rgba(13,13,12,0) 67%),
    linear-gradient(0deg,rgba(13,13,12,.48),rgba(13,13,12,0) 30%);
  pointer-events:none;
}

/* Selected Work: true two-column desktop composition, copy left / 3x3 grid right. */
.work.section{
  max-width:1500px;
  padding-top:clamp(58px,7vh,86px);
  padding-bottom:clamp(52px,6vh,78px);
}
.work-layout{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(440px,560px);
  gap:clamp(56px,7vw,120px);
  align-items:start;
}
.work .section-head{
  display:block;
  margin:0;
  max-width:720px;
  align-self:start;
}
.work .section-head h2{font-size:clamp(3.35rem,6vw,6.8rem)}
.work .section-head p{
  margin:32px 0 0;
  max-width:510px;
  font-size:clamp(1rem,1.2vw,1.16rem);
}
.instagram-grid{
  width:min(100%,560px);
  max-width:560px;
  margin:0;
  justify-self:end;
  align-self:start;
  gap:10px;
}

@media(max-width:980px){
  .hero-image{width:78vw}
  .work-layout{grid-template-columns:1fr;gap:38px}
  .work .section-head{max-width:760px}
  .instagram-grid{justify-self:center;width:min(100%,560px)}
}
@media(max-width:640px){
  .hero-image{width:100%;height:58%;top:auto;bottom:0}
  .hero-image img{transform:scale(1.08);object-position:61% 35%}
  .hero-image:after{
    background:
      linear-gradient(180deg,#0d0d0c 0%,rgba(13,13,12,.78) 14%,rgba(13,13,12,.12) 43%),
      linear-gradient(0deg,rgba(13,13,12,.38),rgba(13,13,12,0) 38%);
  }
  .work-layout{gap:28px}
}

/* 2026-09-14 v5 — original Film 2 hero, full-bleed with no image seam */
.hero-image{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  left:0 !important;
  right:0 !important;
  top:0 !important;
  bottom:0 !important;
  opacity:1 !important;
  overflow:hidden;
}
.hero-image img{
  display:block;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:61% 43% !important;
  transform:none !important;
  transform-origin:center !important;
  filter:none !important;
}
.hero-image:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(13,13,12,.96) 0%,
      rgba(13,13,12,.90) 18%,
      rgba(13,13,12,.70) 34%,
      rgba(13,13,12,.36) 50%,
      rgba(13,13,12,.10) 68%,
      rgba(13,13,12,0) 84%),
    linear-gradient(0deg,rgba(13,13,12,.34) 0%,rgba(13,13,12,0) 34%);
}
@media(max-width:980px){
  .hero-image{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
  }
  .hero-image img{
    object-position:60% 42% !important;
  }
}
@media(max-width:640px){
  .hero-image{
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    top:0 !important;
    bottom:0 !important;
  }
  .hero-image img{
    object-position:58% 44% !important;
    transform:none !important;
  }
  .hero-image:after{
    background:
      linear-gradient(180deg,
        rgba(13,13,12,.56) 0%,
        rgba(13,13,12,.22) 26%,
        rgba(13,13,12,.08) 52%,
        rgba(13,13,12,.28) 100%),
      linear-gradient(90deg,
        rgba(13,13,12,.74) 0%,
        rgba(13,13,12,.34) 42%,
        rgba(13,13,12,.05) 78%,
        rgba(13,13,12,0) 100%);
  }
}

/* 2026-09-14 v6 — mobile hero: remove dead space above title */
@media(max-width:640px){
  .hero{
    min-height:100svh;
    padding-top:62px;
    display:block;
  }
  .hero-kicker{
    top:108px;
    left:var(--pad);
    right:var(--pad);
  }
  .hero-title{
    position:absolute;
    top:245px;
    left:var(--pad);
    right:var(--pad);
    margin-top:0 !important;
    align-self:auto;
  }
  .hero h1{
    margin:0;
  }
}


/* 2026-09-14 v9 — desktop Selected Work editorial balance */
@media(min-width:981px){
  .work-layout{align-items:stretch}
  .work .section-head{
    display:flex;
    flex-direction:column;
    align-self:stretch;
    min-height:100%;
  }
  .work .section-head h2{
    font-size:clamp(3.7rem,6.25vw,7rem);
  }
  .work .section-head p{
    margin-top:auto;
    margin-bottom:0;
    max-width:500px;
  }
  .work-cta{
    display:inline-block;
    width:max-content;
    margin-top:24px;
    padding-bottom:4px;
    border-bottom:2px solid currentColor;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.11em;
  }
}
@media(max-width:980px){.work-cta{display:none}}

/* 2026-09-14 v10 — centered desktop gallery composition */
@media(min-width:981px){
  .work.section{
    max-width:1500px;
    padding-top:clamp(54px,6vh,76px);
    padding-bottom:clamp(58px,7vh,88px);
  }
  .work-layout{
    display:block;
    width:100%;
  }
  .work .section-head{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);
    grid-template-rows:auto auto;
    column-gap:clamp(70px,9vw,150px);
    row-gap:16px;
    max-width:none;
    min-height:0;
    align-items:end;
    margin:0 0 clamp(38px,5vh,58px);
  }
  .work .section-head > div{
    grid-column:1;
    grid-row:1 / span 2;
  }
  .work .section-head h2{
    font-size:clamp(4rem,6.2vw,6.9rem);
    line-height:.82;
    margin-top:18px;
  }
  .work .section-head p{
    grid-column:2;
    grid-row:2;
    margin:0 0 4px;
    max-width:470px;
    font-size:clamp(1rem,1.15vw,1.15rem);
  }
  .work-cta{display:none}
  .instagram-grid{
    width:min(100%,650px);
    max-width:650px;
    margin:0 auto;
    justify-self:auto;
    gap:10px;
  }
}

/* 2026-09-14 v11 — center Selected Work intro over desktop gallery */
@media(min-width:981px){
  .work .section-head{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:min(100%,650px);
    max-width:650px;
    margin:0 auto clamp(34px,4.5vh,52px);
    text-align:center;
  }
  .work .section-head > div{
    width:100%;
  }
  .work .section-head h2{
    margin-top:18px;
  }
  .work .section-head p{
    margin:26px auto 0;
    max-width:560px;
    text-align:center;
  }
}

/* 2026-09-15 v12 — exact handwritten script-note margins from approved reference */
.work{position:relative;isolation:isolate}
.work-layout{position:relative;z-index:2}
.work-notes{display:none;position:absolute;z-index:1;pointer-events:none;user-select:none;width:auto;object-fit:contain;opacity:.72}
@media(min-width:1180px){
  .work-notes{display:block;top:48px;height:calc(100% - 82px);max-height:900px}
  .work-notes-left{left:clamp(18px,2.4vw,42px)}
  .work-notes-right{right:clamp(18px,2.4vw,42px)}
  .work-layout{width:min(100%,760px);margin-inline:auto}
  .work .section-head,.instagram-grid{position:relative;z-index:2}
}
@media(min-width:1180px) and (max-width:1399px){
  .work-notes{opacity:.58;transform:scale(.88);transform-origin:top center}
  .work-notes-left{left:-20px}
  .work-notes-right{right:-20px}
}

/* 2026-09-15 v13 — crisp margin notes aligned to the gallery, not the title */
@media(min-width:1180px){
  .work-notes{
    top:clamp(350px,38vh,410px);
    height:clamp(520px,57vh,650px);
    max-height:none;
    opacity:.82;
    image-rendering:auto;
    transform:none;
  }
  .work-notes-left{left:clamp(22px,2.8vw,48px)}
  .work-notes-right{right:clamp(22px,2.8vw,48px)}
}
@media(min-width:1180px) and (max-width:1399px){
  .work-notes{
    top:clamp(340px,37vh,390px);
    height:clamp(500px,55vh,610px);
    opacity:.72;
    transform:none;
  }
  .work-notes-left{left:8px}
  .work-notes-right{right:8px}
}

/* 2026-09-15 v14 — Selected Work desktop gallery 10% smaller */
@media(min-width:981px){
  .instagram-grid{
    width:min(100%,585px);
    max-width:585px;
  }
}

/* 2026-09-15 v15 — supplied full-height handwritten note columns, locked to gallery */
.work-gallery-stage{position:relative;width:min(100%,585px);margin-inline:auto}
.work-gallery-stage .instagram-grid{width:100%;max-width:none;margin:0}
.work-gallery-stage .work-notes{display:none}
@media(min-width:1180px){
  .work-gallery-stage .work-notes{
    display:block;
    position:absolute;
    top:0;
    height:100%;
    width:auto;
    max-height:none;
    object-fit:contain;
    opacity:1;
    transform:none;
    image-rendering:auto;
    z-index:1;
  }
  .work-gallery-stage .work-notes-left{
    right:calc(100% + clamp(28px,3vw,58px));
    left:auto;
    object-position:right top;
  }
  .work-gallery-stage .work-notes-right{
    left:calc(100% + clamp(28px,3vw,58px));
    right:auto;
    object-position:left top;
  }
}
@media(min-width:1180px) and (max-width:1399px){
  .work-gallery-stage .work-notes{opacity:1;transform:none}
  .work-gallery-stage .work-notes-left{right:calc(100% + 24px);left:auto}
  .work-gallery-stage .work-notes-right{left:calc(100% + 24px);right:auto}
}

/* 2026-09-15 v17 — keep Selected Work notes visible down through 801px; hide at 800px */
@media (min-width:981px) and (max-width:1000px){
  .work .section-head{
    display:grid;
    grid-template-columns:1fr;
    align-items:initial;
    width:100%;
    max-width:none;
    margin:0 0 35px;
    text-align:left;
  }
  .work .section-head > div{width:100%}
  .work .section-head h2{margin-top:18px}
  .work .section-head p{
    margin:20px 0 0;
    max-width:560px;
    text-align:left;
  }
}

@media (min-width:801px){
  .work-gallery-stage .work-notes{
    display:block;
    position:absolute;
    top:0;
    height:100%;
    width:auto;
    max-height:none;
    object-fit:contain;
    opacity:1;
    transform:none;
    image-rendering:auto;
    z-index:1;
  }
  .work-gallery-stage .work-notes-left{
    right:calc(100% + clamp(18px,2vw,42px));
    left:auto;
    object-position:right top;
  }
  .work-gallery-stage .work-notes-right{
    left:calc(100% + clamp(18px,2vw,42px));
    right:auto;
    object-position:left top;
  }
}

@media (max-width:800px){
  .work-gallery-stage .work-notes{display:none!important}
}

/* 2026-09-15 v18 — inline portfolio video players */
.video-card{position:relative;background:#000;cursor:pointer}
.video-card .video-poster,.video-card .work-video{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;display:block}
.video-card .work-video{opacity:0;z-index:2;background:#000}
.video-card.is-playing .work-video,.video-card.has-started .work-video{opacity:1}
.video-card.has-started .video-poster{opacity:0}
.video-play{position:absolute;left:50%;top:50%;z-index:4;width:54px;height:54px;transform:translate(-50%,-50%) scale(.94);border:1.5px solid #fff;border-radius:50%;background:rgba(0,0,0,.72);display:grid;place-items:center;opacity:0;transition:opacity .2s ease,transform .2s ease,background .2s ease;pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.18)}
.video-play-triangle{width:0;height:0;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:11px solid #fff;margin-left:3px}
.video-card::after{content:"";position:absolute;inset:0;z-index:3;background:rgba(0,0,0,0);transition:background .2s ease;pointer-events:none}
.video-card:hover:not(.has-started)::after,.video-card:focus-visible:not(.has-started)::after{background:rgba(0,0,0,.12)}
.video-card:hover:not(.has-started) .video-play,.video-card:focus-visible:not(.has-started) .video-play{opacity:1;transform:translate(-50%,-50%) scale(1)}
.video-card.has-started .video-play{display:none}
.video-card:focus-visible{outline:2px solid #111;outline-offset:3px}
.video-card.has-started{cursor:default}
.video-card.has-started .work-video{z-index:5}
@media(hover:none){.video-card:not(.has-started) .video-play{opacity:.9;width:46px;height:46px;background:rgba(0,0,0,.62)}}
@media(max-width:640px){.video-play{width:42px;height:42px}.video-play-triangle{border-top-width:6px;border-bottom-width:6px;border-left-width:9px}}


/* Section 02 / IMPACT — Stio scroll-driven opacity ticker */
.impact .impact-content{opacity:1;transform:none}
.impact-ticker-heading .impact-tick{display:inline-block}
.impact .impact-tick{
  opacity:.22;
  will-change:opacity;
  transition:opacity .12s linear;
}
.impact .impact-tick.is-lit{opacity:1}
@media(prefers-reduced-motion:reduce){
  .impact .impact-tick{opacity:1!important;transition:none}
}


/* 2026-09-15 v30 — Section 03 / Personal Work photo album */
.personal-work{
  position:relative;
  isolation:isolate;
  color:#171714;
  background:var(--paper) url("assets/img/personal-work/paper/fieldwork-paper-desktop.png") center top/cover repeat-y;
  overflow:hidden;
  padding:clamp(92px,9vw,145px) var(--pad) clamp(110px,12vw,190px);
}
.personal-work::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(65,48,30,.055),transparent 18%,transparent 82%,rgba(65,48,30,.05));
  mix-blend-mode:multiply;
}
.personal-work-inner{width:min(100%,1420px);margin:0 auto}
.personal-work-head{max-width:1050px;margin:0 auto clamp(70px,8vw,120px);text-align:center}
.personal-work-head .eyebrow{margin-bottom:20px}
.personal-work-head h2{font-size:clamp(4.2rem,8vw,9rem);line-height:.8;letter-spacing:-.075em}
.photo-album{display:flex;flex-direction:column;gap:clamp(44px,6vw,88px);padding:0 clamp(0px,1vw,16px)}
.album-row{display:grid;align-items:center;justify-content:center;gap:clamp(18px,2.5vw,42px);position:relative}
.album-row-3{grid-template-columns:repeat(3,minmax(0,1fr));padding-inline:clamp(0px,2vw,30px)}
.album-row-2{grid-template-columns:repeat(2,minmax(0,420px));gap:clamp(34px,7vw,110px);padding-inline:clamp(20px,8vw,130px)}
.album-photo{margin:0;background:#f6f2e9;padding:clamp(7px,.8vw,12px) clamp(7px,.8vw,12px) clamp(22px,2.3vw,34px);box-shadow:0 13px 30px rgba(35,26,18,.13),0 2px 5px rgba(35,26,18,.10);transform:rotate(var(--tilt));transform-origin:center;transition:transform .28s ease,box-shadow .28s ease;position:relative}
.album-photo::before{content:"";position:absolute;inset:0;border:1px solid rgba(45,36,25,.08);pointer-events:none}
.album-photo img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;background:#ddd7ca}
.album-photo:hover{transform:rotate(0deg) translateY(-5px);box-shadow:0 18px 38px rgba(35,26,18,.18),0 3px 7px rgba(35,26,18,.10);z-index:2}
.album-row-index-2,.album-row-index-6{transform:translateX(2.5%)}
.album-row-index-4,.album-row-index-8{transform:translateX(-2.5%)}
@media(max-width:980px){
  .personal-work{background-image:url("assets/img/personal-work/paper/fieldwork-paper-tablet.png");padding-top:90px}
  .personal-work-head{text-align:left;margin-bottom:65px}
  .personal-work-head h2{font-size:clamp(4rem,11vw,7rem)}
  .photo-album{gap:42px}
  .album-row-3{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:0}
  .album-row-3 .album-photo:last-child{grid-column:1 / -1;width:48%;justify-self:center}
  .album-row-2{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:0;gap:24px}
  .album-row-index-2,.album-row-index-4,.album-row-index-6,.album-row-index-8{transform:none}
}
@media(max-width:640px){
  .personal-work{background-image:url("assets/img/personal-work/paper/fieldwork-paper-mobile.png");padding:82px var(--pad) 105px}
  .personal-work-head{margin-bottom:48px}
  .personal-work-head h2{font-size:15vw;line-height:.82}
  .photo-album{gap:30px;padding:0}
  .album-row,.album-row-2,.album-row-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0}
  .album-row-3 .album-photo:last-child{grid-column:1 / -1;width:calc(50% - 6px)}
  .album-photo{padding:5px 5px 15px;box-shadow:0 7px 16px rgba(35,26,18,.13),0 1px 3px rgba(35,26,18,.10)}
  .album-photo:hover{transform:rotate(var(--tilt));box-shadow:0 7px 16px rgba(35,26,18,.13),0 1px 3px rgba(35,26,18,.10)}
}


/* 2026-09-15 v31 — Personal Work editorial album refinement */
.personal-work-inner{width:min(100%,1440px);margin:0 auto}
.personal-work-head{max-width:none;margin:0 0 clamp(58px,6vw,92px);text-align:left}
.personal-work-head h2{max-width:920px;font-size:clamp(4.4rem,7.2vw,8.2rem);line-height:.82}
.photo-album{width:min(100%,1320px);margin:0 auto;gap:clamp(34px,4.5vw,66px)}
.album-row{width:100%;align-items:start}
.album-row-3{grid-template-columns:repeat(3,minmax(0,330px));justify-content:space-between;padding-inline:clamp(12px,4vw,70px)}
.album-row-2{grid-template-columns:repeat(2,minmax(0,390px));justify-content:center;gap:clamp(70px,10vw,150px);padding-inline:clamp(50px,10vw,160px)}
.album-photo{width:100%;justify-self:center}
.album-row-index-1 .album-photo:nth-child(2),
.album-row-index-3 .album-photo:nth-child(1),
.album-row-index-5 .album-photo:nth-child(3),
.album-row-index-7 .album-photo:nth-child(2){margin-top:clamp(24px,4vw,58px)}
.album-row-index-2,.album-row-index-6{transform:translateX(1.5%)}
.album-row-index-4,.album-row-index-8{transform:translateX(-1.5%)}
@media(max-width:980px){
  .personal-work-head{margin-bottom:54px}
  .photo-album{width:min(100%,820px)}
  .album-row-3,.album-row-2{grid-template-columns:repeat(2,minmax(0,330px));justify-content:center;gap:24px;padding-inline:0}
  .album-row-3 .album-photo:last-child{width:min(100%,330px)}
  .album-row-index-1 .album-photo:nth-child(2),.album-row-index-3 .album-photo:nth-child(1),.album-row-index-5 .album-photo:nth-child(3),.album-row-index-7 .album-photo:nth-child(2){margin-top:0}
}
@media(max-width:640px){
  .personal-work-head h2{font-size:14vw}
  .photo-album{width:100%}
  .album-row,.album-row-2,.album-row-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .album-row-3 .album-photo:last-child{width:calc(50% - 6px)}
}

/* 2026-09-15 v32 — Personal Work compact photo-album collage
   Smaller prints, tighter editorial pacing, deliberate crops. */
@media (min-width:981px){
  .personal-work{padding-top:clamp(86px,7vw,118px);padding-bottom:clamp(105px,9vw,145px)}
  .personal-work-head{margin-bottom:clamp(38px,3.8vw,58px)}
  .personal-work-head h2{max-width:800px;font-size:clamp(4rem,6.2vw,7.2rem)}
  .photo-album.photo-album-collage{
    width:min(100%,1240px);margin:0 auto;display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-auto-rows:58px;gap:18px 20px;padding:10px 22px 22px;
    align-items:start;
  }
  .photo-album-collage .collage-photo{margin:0;width:auto;height:100%;min-width:0;padding:6px 6px 18px;align-self:stretch;justify-self:stretch;overflow:hidden}
  .photo-album-collage .collage-photo img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;display:block}
  /* Four compact album spreads. Every print is roughly half the old footprint. */
  .collage-01{grid-column:1/4;grid-row:1/5}.collage-02{grid-column:4/8;grid-row:1/4}.collage-03{grid-column:8/10;grid-row:2/5}.collage-04{grid-column:10/13;grid-row:1/5}.collage-05{grid-column:4/8;grid-row:4/7}
  .collage-06{grid-column:1/5;grid-row:6/9}.collage-07{grid-column:5/7;grid-row:6/10}.collage-08{grid-column:7/10;grid-row:6/9}.collage-09{grid-column:10/13;grid-row:6/10}.collage-10{grid-column:1/5;grid-row:9/12}
  .collage-11{grid-column:5/8;grid-row:11/15}.collage-12{grid-column:8/10;grid-row:10/13}.collage-13{grid-column:10/13;grid-row:11/14}.collage-14{grid-column:1/4;grid-row:13/17}.collage-15{grid-column:4/8;grid-row:15/18}
  .collage-16{grid-column:8/11;grid-row:15/18}.collage-17{grid-column:11/13;grid-row:15/19}.collage-18{grid-column:1/5;grid-row:18/21}.collage-19{grid-column:5/8;grid-row:19/23}.collage-20{grid-column:8/13;grid-row:20/23}
  .photo-album-collage .crop-wide img,.photo-album-collage .crop-landscape img{object-position:center}
  .photo-album-collage .collage-01 img{object-position:center 44%}.photo-album-collage .collage-03 img{object-position:center 38%}.photo-album-collage .collage-04 img{object-position:center 42%}.photo-album-collage .collage-07 img{object-position:center 34%}.photo-album-collage .collage-09 img{object-position:center 42%}.photo-album-collage .collage-11 img{object-position:center 35%}.photo-album-collage .collage-14 img{object-position:center 38%}.photo-album-collage .collage-17 img{object-position:center 40%}.photo-album-collage .collage-19 img{object-position:center 42%}
}
@media (max-width:980px){
  .photo-album.photo-album-collage{display:grid;width:min(100%,760px);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:16px;margin:0 auto;padding:0}
  .photo-album-collage .collage-photo{width:100%;height:auto;margin:0;padding:6px 6px 18px;grid-column:span 2}
  .photo-album-collage .collage-photo:nth-child(5n+2),.photo-album-collage .collage-photo:nth-child(5n+4){grid-column:span 1}
  .photo-album-collage .collage-photo img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover}
  .photo-album-collage .crop-wide img,.photo-album-collage .crop-landscape img{aspect-ratio:4/3}
}
@media (max-width:640px){
  .photo-album.photo-album-collage{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .photo-album-collage .collage-photo,.photo-album-collage .collage-photo:nth-child(5n+2),.photo-album-collage .collage-photo:nth-child(5n+4){grid-column:span 1;padding:4px 4px 12px}
  .photo-album-collage .collage-photo:nth-child(6n+1){grid-column:span 2;width:72%;justify-self:center}
  .photo-album-collage .collage-photo img{aspect-ratio:4/5}
  .photo-album-collage .crop-wide img,.photo-album-collage .crop-landscape img{aspect-ratio:4/3}
}

/* 2026-09-15 v33 — Personal Work uniform print system
   All 20 photographs use the exact same print dimensions and crop ratio. */
.photo-album.photo-album-collage{
  display:grid;
  grid-auto-flow:row;
  align-items:start;
}
.photo-album-collage .collage-photo,
.photo-album-collage .collage-photo:nth-child(n){
  width:100%;
  height:auto;
  min-width:0;
  margin:0;
  grid-column:auto;
  grid-row:auto;
  align-self:start;
  justify-self:stretch;
  padding:6px 6px 17px;
  box-sizing:border-box;
  overflow:hidden;
}
.photo-album-collage .collage-photo img,
.photo-album-collage .crop-wide img,
.photo-album-collage .crop-landscape img,
.photo-album-collage .crop-square img,
.photo-album-collage .crop-tall img,
.photo-album-collage .crop-portrait img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 5;
  object-fit:cover;
}
@media (min-width:981px){
  .photo-album.photo-album-collage{
    width:min(100%,1120px);
    margin:0 auto;
    grid-template-columns:repeat(5,minmax(0,1fr));
    grid-auto-rows:auto;
    gap:28px 24px;
    padding:8px 18px 24px;
  }
  /* A restrained contact-sheet rhythm: identical prints, subtly hand-placed. */
  .photo-album-collage .collage-photo:nth-child(5n+2){transform:translateY(18px) rotate(var(--tilt));}
  .photo-album-collage .collage-photo:nth-child(5n+3){transform:translateY(-8px) rotate(var(--tilt));}
  .photo-album-collage .collage-photo:nth-child(5n+4){transform:translateY(12px) rotate(var(--tilt));}
  .photo-album-collage .collage-photo:nth-child(5n+5){transform:translateY(-4px) rotate(var(--tilt));}
}
@media (max-width:980px){
  .photo-album.photo-album-collage{
    width:min(100%,720px);
    margin:0 auto;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px 16px;
    padding:0;
  }
  .photo-album-collage .collage-photo:nth-child(n){transform:rotate(var(--tilt));}
}
@media (max-width:640px){
  .photo-album.photo-album-collage{
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 12px;
  }
  .photo-album-collage .collage-photo:nth-child(n){
    width:100%;
    grid-column:auto;
    padding:4px 4px 12px;
  }
}

/* 2026-09-15 v34 — Section 03 rebuilt from scratch.
   One compact editorial photo-album spread using the supplied ten photographs. */
.personal-work{
  background:var(--paper) url("assets/img/personal-work/paper/fieldwork-paper-desktop.png") center top/cover repeat-y;
  padding:clamp(86px,7vw,116px) var(--pad) clamp(92px,8vw,128px);
}
.personal-work-inner{width:min(100%,1480px);margin:0 auto}
.personal-work-head{margin:0 0 clamp(42px,4vw,64px);text-align:left}
.personal-work-head h2{max-width:900px;font-size:clamp(4.2rem,6.6vw,7.7rem);line-height:.81}
.photo-album-v34{
  width:min(100%,1380px);margin:0 auto;
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(10,54px);
  gap:12px;position:relative;
}
.photo-album-v34 .pw-shot{margin:0;min-width:0;overflow:hidden;background:#ddd7ca;box-shadow:0 2px 8px rgba(35,26,18,.08)}
.photo-album-v34 .pw-shot img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.photo-album-v34 .pw-shot:hover img{transform:scale(1.018)}
/* Asymmetric magazine/contact-sheet composition inspired by the supplied reference. */
.photo-album-v34 .pw-01{grid-column:1/5;grid-row:1/7}.photo-album-v34 .pw-01 img{object-position:center 43%}
.photo-album-v34 .pw-02{grid-column:5/7;grid-row:1/7}.photo-album-v34 .pw-02 img{object-position:center 45%}
.photo-album-v34 .pw-03{grid-column:7/10;grid-row:1/4}.photo-album-v34 .pw-03 img{object-position:center 39%}
.photo-album-v34 .pw-04{grid-column:10/13;grid-row:1/4}.photo-album-v34 .pw-04 img{object-position:center 52%}
.photo-album-v34 .pw-05{grid-column:7/10;grid-row:4/7}.photo-album-v34 .pw-05 img{object-position:center 47%}
.photo-album-v34 .pw-06{grid-column:10/13;grid-row:4/7}.photo-album-v34 .pw-06 img{object-position:center 51%}
.photo-album-v34 .pw-07{grid-column:1/7;grid-row:7/11}.photo-album-v34 .pw-07 img{object-position:center 51%}
.photo-album-v34 .pw-08{grid-column:7/9;grid-row:7/11}.photo-album-v34 .pw-08 img{object-position:center 38%}
.photo-album-v34 .pw-09{grid-column:9/11;grid-row:7/11}.photo-album-v34 .pw-09 img{object-position:center 46%}
.photo-album-v34 .pw-10{grid-column:11/13;grid-row:7/11}.photo-album-v34 .pw-10 img{object-position:center 34%}
@media(max-width:980px){
  .personal-work{background-image:url("assets/img/personal-work/paper/fieldwork-paper-tablet.png");padding-top:82px}
  .personal-work-head{margin-bottom:42px}.personal-work-head h2{font-size:clamp(4rem,11vw,7rem)}
  .photo-album-v34{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(15,44px);gap:10px}
  .photo-album-v34 .pw-01{grid-column:1/4;grid-row:1/6}.photo-album-v34 .pw-02{grid-column:4/7;grid-row:1/6}
  .photo-album-v34 .pw-03{grid-column:1/5;grid-row:6/9}.photo-album-v34 .pw-04{grid-column:5/7;grid-row:6/9}
  .photo-album-v34 .pw-05{grid-column:1/3;grid-row:9/12}.photo-album-v34 .pw-06{grid-column:3/5;grid-row:9/13}
  .photo-album-v34 .pw-07{grid-column:5/7;grid-row:9/13}.photo-album-v34 .pw-08{grid-column:1/3;grid-row:12/16}
  .photo-album-v34 .pw-09{grid-column:3/5;grid-row:13/16}.photo-album-v34 .pw-10{grid-column:5/7;grid-row:13/16}
}
@media(max-width:640px){
  .personal-work{background-image:url("assets/img/personal-work/paper/fieldwork-paper-mobile.png");padding:76px var(--pad) 92px}
  .personal-work-head{margin-bottom:34px}.personal-work-head h2{font-size:14vw;line-height:.82}
  .photo-album-v34{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:150px;gap:8px}
  .photo-album-v34 .pw-shot{grid-column:auto;grid-row:auto}
  .photo-album-v34 .pw-01,.photo-album-v34 .pw-07{grid-column:1/-1;grid-row:span 2}
  .photo-album-v34 .pw-02,.photo-album-v34 .pw-06,.photo-album-v34 .pw-08{grid-row:span 2}
  .photo-album-v34 .pw-03,.photo-album-v34 .pw-04,.photo-album-v34 .pw-05,.photo-album-v34 .pw-09,.photo-album-v34 .pw-10{grid-row:span 1}
}


/* 2026-09-15 v37 — carry the Film 2 hero photograph through the Section 01 title.
   The fixed background creates one continuous photographic plane while the title scrolls over it;
   the portfolio grid and handwritten notes remain on paper below. */
.work.section{overflow:visible}
.work-hero-intro{
  position:relative;
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  margin-top:calc(-1 * clamp(58px,7vh,86px));
  margin-bottom:clamp(34px,4.5vh,54px);
  padding:clamp(88px,10vh,132px) max(var(--pad),calc((100vw - 760px)/2)) clamp(78px,9vh,118px);
  color:#fff;
  background-image:
    linear-gradient(90deg,rgba(13,13,12,.62) 0%,rgba(13,13,12,.30) 48%,rgba(13,13,12,.14) 100%),
    linear-gradient(0deg,rgba(13,13,12,.38),rgba(13,13,12,.08) 55%,rgba(13,13,12,.22)),
    url("assets/img/film-2-original.png");
  background-size:cover;
  background-position:61% 37%;
  background-repeat:no-repeat;
  background-attachment:fixed;
  overflow:hidden;
}
.work-hero-intro .section-head{
  width:min(100%,760px);
  margin:0 auto;
  color:#fff;
}
.work-hero-intro .section-head .eyebrow{color:#fff}
.work-hero-intro .section-head p{color:rgba(255,255,255,.82)}
.work-hero-intro .work-cta{color:#fff}
.work-hero-intro:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:1px;
  background:rgba(255,255,255,.22);
  pointer-events:none;
}
@media(max-width:1000px){
  .work-hero-intro{
    padding-left:var(--pad);
    padding-right:var(--pad);
    background-position:61% 37%;
  }
  .work-hero-intro .section-head{width:100%;max-width:760px;margin:0 auto}
}
@media(max-width:640px){
  .work-hero-intro{
    margin-top:-74px;
    margin-bottom:34px;
    padding-top:94px;
    padding-bottom:74px;
    /* Fixed backgrounds are unreliable on mobile Safari; preserve the same visual without jank. */
    background-attachment:scroll;
    background-position:63% 42%;
  }
}
@media(prefers-reduced-motion:reduce){.work-hero-intro{background-attachment:scroll}}

/* 2026-09-15 v38 — cream paper stays intact; the cinematic film/theater texture moves ONLY inside the Section 01 headline. */
.work.section{
  overflow:visible;
  background:var(--paper);
}
.work-hero-intro{
  position:relative;
  width:auto;
  margin:0 0 clamp(34px,4.5vh,54px);
  padding:0;
  color:var(--ink);
  background:none;
  overflow:visible;
}
.work-hero-intro:after{display:none}
.work-hero-intro .section-head{
  color:var(--ink);
}
.work-hero-intro .section-head .eyebrow{color:var(--ink)}
.work-hero-intro .section-head p{color:inherit}
.work-hero-intro .work-cta{color:var(--ink)}
.work-hero-intro .section-head h2{
  /* The photograph is clipped to the glyphs, leaving the surrounding section untouched. */
  color:transparent;
  -webkit-text-fill-color:transparent;
  background-image:url("assets/img/section-01-title-film-texture.png");
  background-repeat:no-repeat;
  background-size:max(100vw,1280px) auto;
  background-position:61% var(--work-photo-y, 38%);
  -webkit-background-clip:text;
  background-clip:text;
  will-change:background-position;
}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .work-hero-intro .section-head h2{color:var(--ink);-webkit-text-fill-color:currentColor;background:none}
}
@media(max-width:1000px){
  .work-hero-intro{padding:0;margin-bottom:35px}
  .work-hero-intro .section-head{width:100%;max-width:none;margin-left:0;margin-right:0}
  .work-hero-intro .section-head h2{
    background-size:max(145vw,1100px) auto;
    background-position:61% var(--work-photo-y, 40%);
  }
}
@media(max-width:640px){
  .work-hero-intro{margin-top:0;margin-bottom:28px;padding:0}
  .work-hero-intro .section-head h2{
    background-size:auto 150vh;
    background-position:61% var(--work-photo-y, 42%);
  }
}
@media(prefers-reduced-motion:reduce){
  .work-hero-intro .section-head h2{background-position:61% 40%}
}

/* 2026-09-15 v42 — Personal Work mobile crop/alignment refinement. */
@media(max-width:640px){
  /* First mountain image: half the previous height; keep the ridgeline centered in the crop. */
  .photo-album-v34 .pw-01{
    grid-column:1/-1;
    grid-row:span 1;
  }
  .photo-album-v34 .pw-01 img{
    object-position:center 28%;
  }

  /* Franklin Falls now matches the two-row Ice Cave height, eliminating the blank lower-left gap. */
  .photo-album-v34 .pw-05{
    grid-row:span 2;
  }
}

/* 2026-09-15 v43 — mobile Personal Work crop + Impact headline fit. */
@media(max-width:640px){
  /* Opening mountain frame: cinematic wide crop like the supplied reference. */
  .photo-album-v34{
    grid-auto-rows:clamp(155px,42vw,190px);
  }
  .photo-album-v34 .pw-01{
    grid-column:1/-1;
    grid-row:span 1;
  }
  .photo-album-v34 .pw-01 img{
    object-fit:cover;
    object-position:center 22%;
  }

  /* Keep the complete Impact statement inside the mobile viewport. */
  .impact-content{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }
  .impact-ticker-heading{
    width:100%;
    max-width:100%;
    font-size:13vw;
    line-height:.82;
    letter-spacing:-.075em;
  }
}

/* 2026-09-15 v44 — About section dark treatment */
.about{
  max-width:none;
  margin:0;
  background:var(--black);
  color:var(--white);
}
.about-grid{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
}
.about .eyebrow,
.about h2,
.about .lede,
.about p:not(.lede),
.about .text-link{
  color:var(--white);
}
.about p:not(.lede){color:#bcbcb6}
.about .lede{color:#f3f0e9}
.about .text-link{border-bottom-color:rgba(255,255,255,.9)}

/* 2026-09-15 v47 — Personal Work: white field behind the physical paper sheet. */
.personal-work{
  position:relative;
  isolation:isolate;
  background:#fff;
  padding-left:max(var(--pad),clamp(58px,6vw,108px));
  padding-right:max(var(--pad),clamp(58px,6vw,108px));
}
.personal-work::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:clamp(24px,3.2vw,58px);
  right:clamp(24px,3.2vw,58px);
  background:var(--paper) url("assets/img/personal-work/paper/fieldwork-paper-desktop.png") center center/100% 100% no-repeat;
  pointer-events:none;
}
.personal-work-inner{
  width:min(100%,1380px);
  margin:0 auto;
}
.photo-album-v34{
  width:100%;
  max-width:1320px;
}
@media(max-width:980px){
  .personal-work{
    background:#fff;
    padding-left:max(var(--pad),clamp(42px,5vw,68px));
    padding-right:max(var(--pad),clamp(42px,5vw,68px));
  }
  .personal-work::before{
    left:clamp(18px,2.8vw,34px);
    right:clamp(18px,2.8vw,34px);
    background-image:url("assets/img/personal-work/paper/fieldwork-paper-tablet.png");
  }
}
@media(max-width:640px){
  .personal-work{
    background:#fff;
    padding-left:34px;
    padding-right:34px;
  }
  .personal-work::before{
    left:10px;
    right:10px;
    background-image:url("assets/img/personal-work/paper/fieldwork-paper-mobile.png");
  }
  .photo-album-v34{
    width:100%;
    max-width:100%;
  }
}

/* 2026-09-15 v50 — Personal Work: extend the site's off-white field fully to both viewport edges. */
.personal-work{
  background:var(--paper);
}
@media(max-width:980px){
  .personal-work{background:var(--paper);}
}
@media(max-width:640px){
  .personal-work{background:var(--paper);}
}


/* 2026-09-15 v52 — About Me: single supplied Polaroid portrait. */
.about-collage.about-single-photo{
  display:block;
  width:100%;
}
.about-collage .about-only-photo{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
@media(max-width:980px){
  .about-collage.about-single-photo{max-width:760px;}
}
@media(max-width:640px){
  .about-collage.about-single-photo{max-width:none;}
}

/* 2026-09-15 v53 — client ticker: analog movie-projector light / film-gate treatment. */
.ticker{
  position:relative;
  isolation:isolate;
  background:#171612;
  color:#f3f0e9;
  border-color:rgba(243,240,233,.22);
  --projector-x:48%;
  --projector-y:50%;
  --projector-alpha:.12;
  --projector-bloom:.04;
  --projector-shift:0px;
}
.ticker::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-35% -8%;
  pointer-events:none;
  opacity:var(--projector-alpha);
  transform:translate3d(var(--projector-shift),0,0) scale(1.06);
  background:
    radial-gradient(ellipse at var(--projector-x) var(--projector-y), rgba(255,244,211,.92) 0%, rgba(255,193,104,.48) 17%, rgba(194,72,30,.18) 34%, transparent 58%),
    linear-gradient(103deg, transparent 12%, rgba(255,224,164,.08) 42%, rgba(255,248,222,.22) 50%, rgba(255,154,76,.07) 59%, transparent 78%);
  filter:blur(8px) saturate(.9);
  transition:opacity 70ms linear,transform 90ms linear;
}
.ticker::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  opacity:.25;
  background-image:
    radial-gradient(circle at 14% 32%, rgba(255,255,255,.38) 0 1px, transparent 1.5px),
    radial-gradient(circle at 71% 68%, rgba(255,255,255,.26) 0 1px, transparent 1.5px),
    radial-gradient(circle at 43% 19%, rgba(0,0,0,.5) 0 1px, transparent 1.5px),
    repeating-linear-gradient(90deg, transparent 0 83px, rgba(255,255,255,.018) 84px, transparent 85px);
  background-size:137px 91px,181px 127px,211px 149px,auto;
  mix-blend-mode:screen;
  animation:projectorDust 7s steps(7,end) infinite;
}
.ticker-track{
  position:relative;
  z-index:2;
  text-shadow:0 0 calc(8px * var(--projector-bloom)) rgba(255,242,210,.9);
  filter:brightness(calc(1 + var(--projector-bloom)));
  transition:filter 70ms linear,text-shadow 70ms linear;
}
.ticker i{color:#e8cfa0;text-shadow:0 0 8px rgba(255,196,92,.22)}
@keyframes projectorDust{
  0%{background-position:0 0,0 0,0 0,0 0}
  33%{background-position:11px -7px,-8px 5px,4px 9px,0 0}
  66%{background-position:-6px 8px,9px -4px,-7px 2px,0 0}
  100%{background-position:3px -2px,-3px 7px,8px -5px,0 0}
}
@media(prefers-reduced-motion:reduce){
  .ticker::after{animation:none}
  .ticker::before,.ticker-track{transition:none}
}


/* 2026-09-16 v54 — Section 01 texture pulled back for a broader, more dramatic film-frame read. */
.work-hero-intro .section-head h2{
  background-size:max(86vw,1080px) auto;
}
@media(max-width:1000px){
  .work-hero-intro .section-head h2{
    background-size:max(118vw,900px) auto;
  }
}
@media(max-width:640px){
  .work-hero-intro .section-head h2{
    background-size:auto 122vh;
  }
}

/* v56 — About copy scaled to stay visually within the single portrait column. */
@media (min-width:1001px){
  .about .about-copy .lede{
    font-size:clamp(.88rem, .92vw, 1.03rem);
    line-height:1.34;
    letter-spacing:-.018em;
    margin-top:.72em;
    margin-bottom:.72em;
    max-width:650px;
  }
  .about .about-copy h2{margin-bottom:24px}
}


/* v57 — About heading spans the full section; portrait is slightly smaller in its column. */
.about-section-head{
  width:100%;
  margin:0 0 clamp(34px,4.2vw,58px);
}
.about-section-head h2{
  margin:14px 0 0;
}
@media (min-width:1001px){
  .about-grid{
    grid-template-columns:.9fr 1.1fr;
    gap:8vw;
    align-items:start;
  }
  .about-collage.about-single-photo{
    width:88%;
    max-width:620px;
    justify-self:end;
  }
}
@media (max-width:1000px){
  .about-section-head{
    margin-bottom:34px;
  }
  .about-collage.about-single-photo{
    width:94%;
    max-width:700px;
  }
}
@media (max-width:640px){
  .about-collage.about-single-photo{
    width:92%;
  }
}

/* v58 — About title genuinely spans the full two-column composition. */
.about-section-head{
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  column-gap:8vw;
}
.about-section-head .eyebrow{
  grid-column:1 / -1;
}
.about-section-head h2{
  grid-column:1 / -1;
  width:100%;
  max-width:none;
  white-space:normal;
}
.about-section-head h2 br{
  display:none;
}
@media (max-width:1000px){
  .about-section-head{
    display:block;
  }
  .about-section-head h2 br{
    display:none;
  }
}


/* v59 — About: static equal-height columns, smaller portrait, restored lead-paragraph hierarchy. */
.about-section-head h2{
  white-space:normal;
  word-spacing:.08em;
}

/* The copy and portrait participate in one normal grid row: no sticky/parallax behavior. */
.about .about-grid{
  align-items:stretch;
}
.about .about-copy{
  position:relative;
  top:auto;
  height:100%;
  display:flex;
  flex-direction:column;
}
.about .about-collage.about-single-photo{
  position:relative;
  top:auto;
  align-self:stretch;
  justify-self:end;
  height:100%;
  width:82%;
  max-width:580px;
  overflow:hidden;
}
.about .about-collage .about-only-photo{
  display:block;
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  object-position:center center;
  transform:none !important;
}

/* Bring back the stronger editorial lead while keeping the remaining body copy compact. */
@media (min-width:1001px){
  .about .about-copy .lede:first-of-type{
    font-size:clamp(1.15rem,1.32vw,1.48rem);
    line-height:1.28;
    letter-spacing:-.028em;
    margin-top:0;
    margin-bottom:.82em;
  }
  .about .about-copy .lede:not(:first-of-type){
    font-size:clamp(.86rem,.90vw,1rem);
    line-height:1.32;
  }
}

/* At responsive sizes the columns stack, so preserve the image's natural ratio instead
   of forcing it to match a separate text row. */
@media (max-width:1000px){
  .about .about-copy{
    height:auto;
  }
  .about .about-collage.about-single-photo{
    width:88%;
    max-width:620px;
    height:auto;
    justify-self:start;
  }
  .about .about-collage .about-only-photo{
    height:auto;
    object-fit:contain;
  }
  .about .about-copy .lede:first-of-type{
    font-size:clamp(1.2rem,2.8vw,1.55rem);
    line-height:1.3;
  }
}
@media (max-width:640px){
  .about .about-collage.about-single-photo{
    width:86%;
  }
}


/* v60 — About: restore compact CTA underline and lock desktop copy/photo to one shared height. */

/* The underline belongs only to the link itself, ending just beyond the arrow. */
.about .about-copy .text-link{
  display:inline-block;
  align-self:flex-start;
  width:auto;
  max-width:max-content;
  border-bottom:2px solid currentColor;
  padding-bottom:3px;
}

/* Desktop: both columns use the exact same grid-row height.
   The portrait fills that shared height; typography scales with viewport width
   so the complete copy block remains the height-defining partner. */
@media (min-width:1001px){
  .about .about-grid{
    align-items:stretch;
  }
  .about .about-copy{
    position:relative;
    top:auto;
    height:100%;
    min-height:0;
  }
  .about .about-collage.about-single-photo{
    width:82%;
    max-width:580px;
    height:100%;
    min-height:0;
    align-self:stretch;
    justify-self:end;
  }
  .about .about-collage .about-only-photo{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }

  .about .about-copy .lede:first-of-type{
    font-size:clamp(1.05rem,1.18vw,1.34rem);
    line-height:1.28;
    margin-top:0;
    margin-bottom:.72em;
  }
  .about .about-copy .lede:not(:first-of-type){
    font-size:clamp(.80rem,.82vw,.94rem);
    line-height:1.29;
    margin-top:.60em;
    margin-bottom:.60em;
  }
  .about .about-copy .text-link{
    margin-top:.72em;
  }
}


/* v61 — About heading returned to the left copy column. */
.about .about-copy > .eyebrow{
  display:block;
}
.about .about-copy > h2{
  margin:14px 0 24px;
}


/* v62 — At 990px and below, place the About portrait between the title and body copy. */
.about-mobile-photo{
  display:none;
}
@media (max-width:990px){
  .about .about-grid{
    display:block;
  }
  .about .about-copy{
    display:block;
    height:auto;
  }
  .about-mobile-photo{
    display:block;
    width:min(88%,620px);
    margin:0 0 32px;
  }
  .about-mobile-photo img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
  }
  /* Hide the desktop/right-column instance at this breakpoint to avoid duplication. */
  .about .about-grid > .about-collage.about-single-photo{
    display:none;
  }
}
@media (max-width:640px){
  .about-mobile-photo{
    width:86%;
    margin-bottom:26px;
  }
}


/* v63 — Significantly smaller responsive About portrait from 990px down. */
@media (max-width:990px){
  .about-mobile-photo{
    width:min(62%,460px);
    margin-left:0;
    margin-right:0;
  }
}
@media (max-width:640px){
  .about-mobile-photo{
    width:min(68%,390px);
  }
}
@media (max-width:420px){
  .about-mobile-photo{
    width:72%;
    max-width:320px;
  }
}


/* v64 — About tablet refinement: small portrait directly below title from 990px–620px. */
@media (min-width:620px) and (max-width:990px){
  .about .about-grid{
    display:block;
  }
  .about .about-copy{
    display:block;
    width:100%;
    height:auto;
  }
  .about-mobile-photo{
    display:block;
    width:min(44vw,360px);
    max-width:360px;
    margin:0 0 30px;
  }
  .about-mobile-photo img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
  }
  .about .about-grid > .about-collage.about-single-photo{
    display:none;
  }
}


/* v65 — About responsive handoff now begins at 1000px.
   Portrait moves below the title; all body paragraphs share the same type size on tablet/mobile. */
@media (max-width:1000px){
  .about .about-grid{
    display:block;
  }
  .about .about-copy{
    display:block;
    width:100%;
    height:auto;
  }
  .about-mobile-photo{
    display:block;
    margin:0 0 30px;
  }
  .about .about-grid > .about-collage.about-single-photo{
    display:none;
  }

  /* Override the earlier first-paragraph lead treatment at responsive sizes. */
  .about .about-copy .lede,
  .about .about-copy .lede:first-of-type,
  .about .about-copy .lede:not(:first-of-type){
    font-size:1rem;
    line-height:1.38;
    letter-spacing:-.015em;
  }
}

/* Tablet: keep the portrait deliberately compact. */
@media (min-width:620px) and (max-width:1000px){
  .about-mobile-photo{
    width:min(44vw,360px);
    max-width:360px;
  }
}

/* Mobile: same body type size, with a slightly more generous portrait width. */
@media (max-width:619px){
  .about-mobile-photo{
    width:min(68%,390px);
  }
  .about .about-copy .lede,
  .about .about-copy .lede:first-of-type,
  .about .about-copy .lede:not(:first-of-type){
    font-size:1rem;
  }
}


/* v66 — About portrait scales continuously from 1000px down with no breakpoint jumps. */
@media (max-width:1000px){
  .about-mobile-photo{
    width:clamp(238px, calc(180px + 18vw), 360px);
    max-width:100%;
  }
}

/* v68 — one-page editorial BTS gallery */
.bts-gallery-v68{background:#171715;color:#fff;padding:clamp(74px,7vw,108px) var(--pad);overflow:hidden}.bts-gallery-v68 .bts-gallery-shell{width:min(100%,var(--max));min-height:min(900px,calc(100vh - 80px));margin:0 auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto repeat(8,minmax(48px,1fr));gap:12px}.bts-gallery-v68 .bts-gallery-head{grid-column:1/span 4;grid-row:1/span 3;z-index:3;align-self:start;padding:0 24px 24px 0}.bts-gallery-v68 .bts-gallery-head h2{margin:13px 0 20px;font-size:clamp(3.4rem,5.7vw,6.7rem);line-height:.82;letter-spacing:-.055em}.bts-gallery-v68 .bts-gallery-head p{max-width:29ch;margin:0;font-size:clamp(.64rem,.72vw,.78rem);line-height:1.45;letter-spacing:.09em;font-weight:700}.bts-editorial-grid{display:contents}.bts-shot{margin:0;overflow:hidden;position:relative;background:#242421}.bts-shot img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.25,1)}@media(hover:hover){.bts-shot:hover img{transform:scale(1.025)}}
.bts-shot-1{grid-column:5/span 5;grid-row:1/span 4}.bts-shot-2{grid-column:10/span 3;grid-row:1/span 3}.bts-shot-3{grid-column:1/span 3;grid-row:4/span 3}.bts-shot-4{grid-column:4/span 4;grid-row:5/span 4}.bts-shot-5{grid-column:8/span 5;grid-row:4/span 3}.bts-shot-6{grid-column:1/span 3;grid-row:7/span 3}.bts-shot-7{grid-column:8/span 3;grid-row:7/span 3}.bts-shot-8{grid-column:11/span 2;grid-row:7/span 2}.bts-shot-9{grid-column:11/span 2;grid-row:9/span 1;min-height:110px}
@media(max-width:1000px){.bts-gallery-v68{padding-top:88px;padding-bottom:88px}.bts-gallery-v68 .bts-gallery-shell{min-height:0;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:auto;gap:10px}.bts-gallery-v68 .bts-gallery-head{grid-column:1/-1;grid-row:auto;padding:0 0 38px}.bts-gallery-v68 .bts-gallery-head h2{font-size:clamp(4rem,11vw,7rem)}.bts-shot{grid-row:auto!important;min-height:0!important}.bts-shot-1{grid-column:1/span 4;height:48vw;max-height:520px}.bts-shot-2{grid-column:5/span 2;height:48vw;max-height:520px}.bts-shot-3{grid-column:1/span 2;height:34vw}.bts-shot-4{grid-column:3/span 4;height:34vw}.bts-shot-5{grid-column:1/span 4;height:36vw}.bts-shot-6{grid-column:5/span 2;height:36vw}.bts-shot-7{grid-column:1/span 3;height:38vw}.bts-shot-8{grid-column:4/span 3;height:38vw}.bts-shot-9{grid-column:3/span 2;height:34vw}}
@media(max-width:640px){.bts-gallery-v68{padding-top:78px;padding-bottom:78px}.bts-gallery-v68 .bts-gallery-shell{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bts-gallery-v68 .bts-gallery-head{grid-column:1/-1;padding-bottom:28px}.bts-gallery-v68 .bts-gallery-head h2{font-size:15vw}.bts-gallery-v68 .bts-gallery-head p{font-size:.65rem}.bts-shot-1{grid-column:1/-1;height:72vw}.bts-shot-2{grid-column:1;height:64vw}.bts-shot-3{grid-column:2;height:64vw}.bts-shot-4{grid-column:1/-1;height:70vw}.bts-shot-5{grid-column:1/-1;height:62vw}.bts-shot-6{grid-column:1;height:68vw}.bts-shot-7{grid-column:2;height:68vw}.bts-shot-8{grid-column:1;height:60vw}.bts-shot-9{grid-column:2;height:60vw}}


/* v69 — BTS gallery refinement.
   Match the Personal Work philosophy: smaller overall composition,
   preserve supplied image aspect ratios, and avoid aggressive cropping. */
.bts-gallery-v68 .bts-gallery-shell{
  width:min(88vw,1180px);
  min-height:0;
}

.bts-gallery-v68 .bts-editorial-grid{
  display:grid;
  grid-column:1 / -1;
  grid-row:auto;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(10px,1vw,16px);
  align-items:start;
}

.bts-gallery-v68 .bts-gallery-head{
  grid-column:1 / span 4;
  grid-row:auto;
  margin-bottom:clamp(28px,3vw,46px);
}

.bts-gallery-v68 .bts-shot{
  grid-row:auto !important;
  height:auto !important;
  min-height:0 !important;
  align-self:start;
  overflow:hidden;
}

.bts-gallery-v68 .bts-shot img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}

/* Editorial masonry-like arrangement while respecting each source image. */
.bts-gallery-v68 .bts-shot-1{grid-column:1 / span 5;}
.bts-gallery-v68 .bts-shot-2{grid-column:6 / span 3;}
.bts-gallery-v68 .bts-shot-3{grid-column:9 / span 4;}
.bts-gallery-v68 .bts-shot-4{grid-column:1 / span 4;}
.bts-gallery-v68 .bts-shot-5{grid-column:5 / span 5;}
.bts-gallery-v68 .bts-shot-6{grid-column:10 / span 3;}
.bts-gallery-v68 .bts-shot-7{grid-column:1 / span 4;}
.bts-gallery-v68 .bts-shot-8{grid-column:5 / span 4;}
.bts-gallery-v68 .bts-shot-9{grid-column:9 / span 3;}

@media(max-width:1000px){
  .bts-gallery-v68 .bts-gallery-shell{
    width:min(90vw,900px);
    display:block;
  }
  .bts-gallery-v68 .bts-editorial-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:10px;
  }
  .bts-gallery-v68 .bts-gallery-head{
    width:100%;
    padding:0 0 34px;
    margin:0;
  }
  .bts-gallery-v68 .bts-shot-1{grid-column:1 / span 4;}
  .bts-gallery-v68 .bts-shot-2{grid-column:5 / span 2;}
  .bts-gallery-v68 .bts-shot-3{grid-column:1 / span 2;}
  .bts-gallery-v68 .bts-shot-4{grid-column:3 / span 4;}
  .bts-gallery-v68 .bts-shot-5{grid-column:1 / span 4;}
  .bts-gallery-v68 .bts-shot-6{grid-column:5 / span 2;}
  .bts-gallery-v68 .bts-shot-7{grid-column:1 / span 3;}
  .bts-gallery-v68 .bts-shot-8{grid-column:4 / span 3;}
  .bts-gallery-v68 .bts-shot-9{grid-column:2 / span 3;}
}

@media(max-width:640px){
  .bts-gallery-v68 .bts-gallery-shell{
    width:90vw;
  }
  .bts-gallery-v68 .bts-editorial-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .bts-gallery-v68 .bts-shot-1,
  .bts-gallery-v68 .bts-shot-4,
  .bts-gallery-v68 .bts-shot-5{
    grid-column:1 / -1;
  }
  .bts-gallery-v68 .bts-shot-2,
  .bts-gallery-v68 .bts-shot-3,
  .bts-gallery-v68 .bts-shot-6,
  .bts-gallery-v68 .bts-shot-7,
  .bts-gallery-v68 .bts-shot-8,
  .bts-gallery-v68 .bts-shot-9{
    grid-column:auto;
  }
}


/* v70 — BTS gallery rebuilt from scratch from the supplied reference.
   Symmetrical 3×3 editorial mosaic, static imagery, restrained cropping. */
.bts-gallery-v70{
  background:#171715;
  color:#fff;
  padding:clamp(76px,7vw,112px) var(--pad) clamp(86px,8vw,126px);
  overflow:hidden;
}
.bts-v70-shell{
  width:min(92vw,1320px);
  margin:0 auto;
}
.bts-v70-head{
  margin:0 0 clamp(34px,4vw,58px);
}
.bts-v70-head h2{
  margin:13px 0 0;
  font-size:clamp(3.7rem,6.2vw,7rem);
  line-height:.83;
  letter-spacing:-.055em;
}

/* Three equal columns and three equal visual rows, like the reference.
   Row heights are responsive but capped so the gallery stays controlled. */
.bts-v70-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:
    clamp(220px,21vw,340px)
    clamp(220px,21vw,340px)
    clamp(220px,21vw,340px);
  gap:clamp(6px,.7vw,10px);
  width:100%;
}
.bts-v70-shot{
  margin:0;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#242421;
}
.bts-v70-shot img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:none !important;
  transition:none !important;
  filter:none !important;
}

/* Small, intentional crop adjustments only — no hover or motion. */
.bts-v70-a img{object-position:center 42%;}
.bts-v70-b img{object-position:center center;}
.bts-v70-c img{object-position:center 38%;}
.bts-v70-d img{object-position:center center;}
.bts-v70-e img{object-position:center 48%;}
.bts-v70-f img{object-position:center center;}
.bts-v70-g img{object-position:center center;}
.bts-v70-h img{object-position:center center;}
.bts-v70-i img{object-position:center center;}

.bts-gallery-v70 .bts-v70-shot:hover img{
  transform:none !important;
  filter:none !important;
}

/* v71 — Preserve the same symmetrical 3×3 BTS gallery on tablet and mobile. */
@media(max-width:900px){
  .bts-v70-shell{
    width:92vw;
  }
  .bts-v70-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:repeat(3,clamp(150px,28vw,250px));
    grid-auto-rows:unset;
    gap:clamp(4px,.7vw,8px);
  }
  .bts-v70-i{
    grid-column:auto;
    width:auto;
    justify-self:stretch;
  }
}

@media(max-width:560px){
  .bts-gallery-v70{
    padding-top:76px;
    padding-bottom:86px;
  }
  .bts-v70-shell{
    width:94vw;
  }
  .bts-v70-head{
    margin-bottom:30px;
  }
  .bts-v70-head h2{
    font-size:15vw;
  }
  .bts-v70-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:repeat(3,30vw);
    grid-auto-rows:unset;
    gap:4px;
  }
  .bts-v70-i{
    grid-column:auto;
    width:auto;
    justify-self:stretch;
  }
}


/* v72 — Always retain a small right-side breathing room around the BTS gallery. */
.bts-gallery-v70{
  box-sizing:border-box;
}
.bts-v70-shell{
  box-sizing:border-box;
  max-width:calc(100% - 24px);
}
@media(max-width:560px){
  .bts-v70-shell{
    width:calc(100% - 20px);
    max-width:none;
    margin-left:auto;
    margin-right:auto;
  }
}


/* v74 — CAPABILITIES: typography-first graphic design section.
   Oversized type, thin rules and restrained production annotations. */
.capabilities-v74{
  background:var(--paper);
  color:var(--ink);
  padding:clamp(82px,8vw,132px) var(--pad);
  overflow:hidden;
}
.cap-v74-shell{
  width:min(100%,var(--max));
  margin:0 auto;
}
.cap-v74-head{
  display:grid;
  grid-template-columns:minmax(120px,.28fr) 1fr;
  align-items:start;
  gap:clamp(24px,4vw,70px);
  margin-bottom:clamp(54px,6vw,92px);
}
.cap-v74-head .eyebrow{
  padding-top:.5em;
}
.cap-v74-head h2{
  margin:0;
  font-size:clamp(4.4rem,8.8vw,10.5rem);
  line-height:.79;
  letter-spacing:-.06em;
  max-width:8ch;
}
.cap-v74-list{
  border-top:1.5px solid currentColor;
}
.cap-v74-row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(70px,.12fr) minmax(0,1fr) minmax(140px,.22fr);
  gap:clamp(18px,3vw,52px);
  align-items:center;
  min-height:clamp(150px,14vw,215px);
  border-bottom:1.5px solid currentColor;
  padding:clamp(25px,3vw,42px) 0;
}
.cap-v74-num{
  align-self:start;
  padding-top:.48em;
  font-size:clamp(.72rem,.8vw,.88rem);
  font-weight:700;
  letter-spacing:.08em;
}
.cap-v74-main h3{
  margin:0;
  font-size:clamp(2.55rem,5.3vw,6.3rem);
  line-height:.84;
  letter-spacing:-.055em;
  font-weight:800;
  transition:transform .35s cubic-bezier(.2,.7,.2,1);
}
.cap-v74-main p{
  margin:clamp(14px,1.4vw,20px) 0 0;
  max-width:70ch;
  font-size:clamp(.72rem,.82vw,.9rem);
  line-height:1.45;
  letter-spacing:.015em;
}
.cap-v74-mark{
  justify-self:end;
  align-self:center;
  white-space:nowrap;
  font-size:clamp(.64rem,.72vw,.78rem);
  line-height:1;
  letter-spacing:.1em;
  font-weight:700;
  transform:rotate(-2deg);
}
.cap-v74-mark-rec{transform:rotate(1.5deg);}
.cap-v74-mark-ratio{transform:rotate(-1deg);}
.cap-v74-mark-test{transform:rotate(2deg);}
.cap-rec-dot{
  display:inline-block;
  width:.58em;
  height:.58em;
  border-radius:50%;
  background:currentColor;
  margin-right:.45em;
  vertical-align:.08em;
}

@media(hover:hover) and (pointer:fine){
  .cap-v74-row:hover .cap-v74-main h3{
    transform:translateX(14px);
  }
  .cap-v74-row:hover .cap-v74-mark{
    opacity:.55;
  }
}

@media(max-width:1000px){
  .cap-v74-head{
    display:block;
  }
  .cap-v74-head .eyebrow{
    display:block;
    padding:0;
    margin-bottom:18px;
  }
  .cap-v74-head h2{
    font-size:clamp(4.5rem,12vw,8rem);
  }
  .cap-v74-row{
    grid-template-columns:54px minmax(0,1fr);
    min-height:0;
    padding:30px 0 32px;
  }
  .cap-v74-main h3{
    font-size:clamp(2.6rem,7vw,5rem);
  }
  .cap-v74-mark{
    grid-column:2;
    justify-self:start;
    margin-top:-8px;
  }
}

@media(max-width:640px){
  .capabilities-v74{
    padding-top:78px;
    padding-bottom:86px;
  }
  .cap-v74-head{
    margin-bottom:48px;
  }
  .cap-v74-head h2{
    font-size:15vw;
  }
  .cap-v74-row{
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    padding:24px 0 26px;
  }
  .cap-v74-num{
    font-size:.66rem;
  }
  .cap-v74-main h3{
    font-size:clamp(2.1rem,10.5vw,4rem);
    line-height:.88;
  }
  .cap-v74-main p{
    font-size:.72rem;
    line-height:1.45;
  }
  .cap-v74-mark{
    grid-column:2;
    font-size:.61rem;
    margin-top:-4px;
  }
}


/* v76 — Capabilities hero: Sony FX6 image paired with FULL STACK CREATIVE. */
.capabilities-v74 .cap-v76-head{
  display:grid;
  grid-template-columns:minmax(110px,.18fr) minmax(0,1.25fr) minmax(280px,.78fr);
  gap:clamp(22px,3.2vw,54px);
  align-items:end;
}
.cap-v76-title{
  min-width:0;
}
.capabilities-v74 .cap-v76-title h2{
  max-width:none;
}
.cap-v76-photo{
  margin:0;
  width:100%;
  align-self:stretch;
  overflow:hidden;
  min-height:clamp(250px,26vw,410px);
}
.cap-v76-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transform:none;
  transition:none;
}

/* Tablet keeps the title/photo relationship, just more compact. */
@media(max-width:1000px){
  .capabilities-v74 .cap-v76-head{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);
    gap:clamp(20px,3vw,36px);
    align-items:stretch;
  }
  .capabilities-v74 .cap-v76-head .eyebrow{
    grid-column:1 / -1;
    margin-bottom:0;
  }
  .cap-v76-title{
    grid-column:1;
  }
  .cap-v76-photo{
    grid-column:2;
    min-height:clamp(210px,31vw,330px);
  }
}

/* Mobile: title first, then a restrained wide image. */
@media(max-width:640px){
  .capabilities-v74 .cap-v76-head{
    display:block;
  }
  .capabilities-v74 .cap-v76-head .eyebrow{
    margin-bottom:18px;
  }
  .cap-v76-photo{
    width:100%;
    min-height:0;
    height:auto;
    aspect-ratio:16 / 7;
    margin-top:24px;
  }
  .cap-v76-photo img{
    object-fit:cover;
    object-position:center 46%;
  }
}


/* v77 — full-image CAPABILITIES hero */
.capabilities-v74 .cap-v77-hero{
  position:relative !important;
  display:block !important;
  width:100%;
  min-height:clamp(500px,58vw,820px);
  margin:0;
  overflow:hidden;
  background:#090909;
}
.cap-v77-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}
.cap-v77-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.24) 42%,rgba(0,0,0,0) 72%);
  pointer-events:none;
}
.cap-v77-overlay{
  position:absolute;
  z-index:2;
  left:clamp(28px,5.5vw,88px);
  bottom:clamp(38px,7vw,96px);
  width:min(48%,720px);
  color:#f3efe5;
}
.capabilities-v74 .cap-v77-overlay .eyebrow{
  display:block;
  color:#f3efe5;
  margin:0 0 clamp(18px,2vw,30px);
}
.capabilities-v74 .cap-v77-overlay h2{
  margin:0;
  max-width:none;
  color:#f3efe5;
}
.cap-v77-rec-dot{
  display:inline-block !important;
  width:10px !important;
  height:10px !important;
  min-width:10px;
  border-radius:50% !important;
  background:#e32219 !important;
  border:0 !important;
  margin-right:12px;
  vertical-align:middle;
  opacity:1 !important;
}

@media(max-width:1000px){
  .capabilities-v74 .cap-v77-hero{
    min-height:clamp(430px,68vw,650px);
  }
  .cap-v77-overlay{
    left:clamp(24px,5vw,52px);
    bottom:clamp(30px,6vw,58px);
    width:min(58%,560px);
  }
}
@media(max-width:640px){
  .capabilities-v74 .cap-v77-hero{
    min-height:clamp(430px,118vw,590px);
  }
  .cap-v77-hero-image{ object-position:55% center; }
  .cap-v77-hero::after{
    background:linear-gradient(90deg,rgba(0,0,0,.64) 0%,rgba(0,0,0,.28) 68%,rgba(0,0,0,.06) 100%);
  }
  .cap-v77-overlay{
    left:22px;
    right:22px;
    bottom:30px;
    width:auto;
  }
}


/* v78 — CAPABILITIES header refinements */
.capabilities-v74 .cap-v77-overlay,
.capabilities-v74 .cap-v77-overlay .eyebrow,
.capabilities-v74 .cap-v77-overlay h2{
  color:#fff !important;
}

/* Half the previous header height at each breakpoint. */
.capabilities-v74 .cap-v77-hero{
  min-height:clamp(250px,29vw,410px) !important;
}

@media(max-width:1000px){
  .capabilities-v74 .cap-v77-hero{
    min-height:clamp(215px,34vw,325px) !important;
  }
}

@media(max-width:640px){
  .capabilities-v74 .cap-v77-hero{
    min-height:clamp(215px,59vw,295px) !important;
  }
}


/* v79 — capability recording indicator */
.cap-v79-rec-dot{
  display:inline-block !important;
  width:10px !important;
  height:10px !important;
  min-width:10px;
  border-radius:50% !important;
  background:#e32219 !important;
  border:0 !important;
  margin-left:7px;
  margin-right:8px;
  vertical-align:middle;
  opacity:1 !important;
}


/* v80 — use the original 02 REC dot/button; remove the added v79 dot */
.cap-v79-rec-dot{
  display:none !important;
}
.cap-v74-row:nth-of-type(2) .cap-v74-dot,
.cap-v74-row:nth-of-type(2) .cap-v74-mark::before,
.cap-v74-row:nth-of-type(2) .cap-v74-mark-rec::before{
  background:#e32219 !important;
  border-color:#e32219 !important;
}


/* v81 — exact REC indicator fix */
.cap-v81-rec .cap-v74-dot,
.cap-v81-rec::before,
.cap-v81-rec::after{
  background-color:#e32219 !important;
  border-color:#e32219 !important;
}
.cap-v81-rec .cap-v74-dot{
  background:#e32219 !important;
}


/* v82 — actual existing REC dot */
.capabilities-v74 .cap-v74-mark-rec .cap-rec-dot,
.cap-v74-mark-rec .cap-rec-dot{
  display:inline-block !important;
  background:#e32219 !important;
  background-color:#e32219 !important;
  border-color:#e32219 !important;
  opacity:1 !important;
}


/* v83 — BTS gallery hover behavior, matching the site's other galleries */
#bts img,
.bts-gallery img,
.bts-grid img,
.behind-scenes img,
.behind-the-scenes img{
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
  transform:scale(1);
}
@media (hover:hover) and (pointer:fine){
  #bts a:hover img,
  #bts figure:hover img,
  #bts .bts-item:hover img,
  .bts-gallery > *:hover img,
  .bts-grid > *:hover img,
  .behind-scenes > *:hover img,
  .behind-the-scenes > *:hover img{
    transform:scale(1.035);
  }
}
#bts a,
#bts figure,
#bts .bts-item,
.bts-gallery > *,
.bts-grid > *,
.behind-scenes > *,
.behind-the-scenes > *{
  overflow:hidden;
}


/* v83 — video grid lightbox */
.video-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:clamp(18px,4vw,64px);
  background:rgba(0,0,0,.92);
  backdrop-filter:blur(8px);
}
.video-lightbox.is-open{display:flex;}
.video-lightbox-inner{
  width:min(92vw,1440px);
  max-height:88vh;
  position:relative;
}
.video-lightbox-stage{
  width:100%;
  aspect-ratio:16/9;
  background:#000;
}
.video-lightbox-stage iframe,
.video-lightbox-stage video{
  width:100%;
  height:100%;
  display:block;
  border:0;
  object-fit:contain;
}
.video-lightbox-close{
  position:absolute;
  top:18px;
  right:24px;
  z-index:2;
  appearance:none;
  border:0;
  background:transparent;
  color:#fff;
  font:300 44px/1 Arial,sans-serif;
  cursor:pointer;
}
body.video-lightbox-open{overflow:hidden;}


/* v84 — BTS hover zoom: target the actual v70 gallery markup */
.bts-gallery-v70 .bts-v70-shot{
  overflow:hidden !important;
}

.bts-gallery-v70 .bts-v70-shot img{
  display:block;
  width:100%;
  height:100%;
  transition:transform .42s cubic-bezier(.2,.7,.2,1) !important;
  transform:scale(1) !important;
  will-change:transform;
}

/* Mouse/trackpad hover only — preserves touch behavior on tablet/mobile */
@media (hover:hover) and (pointer:fine){
  .bts-gallery-v70 .bts-v70-shot:hover img{
    transform:scale(1.045) !important;
  }
}

/* v85 capabilities hero */
.cap-v85-eyebrow{
  color:#fff;
  font:600 14px/1.2 Arial,sans-serif;
  letter-spacing:.12em;
  margin-bottom:24px;
}


/* v86 — keep CAPABILITIES eyebrow visible in the reduced-height hero */
.capabilities-v74 .cap-v77-overlay{
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
  left:clamp(28px,5.5vw,88px) !important;
  width:min(52%,760px) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  overflow:visible !important;
}

.capabilities-v74 .cap-v77-overlay .eyebrow{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:4 !important;
  margin:0 0 clamp(8px,1vw,14px) !important;
  padding:0 !important;
  color:#fff !important;
  font-size:clamp(10px,.85vw,14px) !important;
  line-height:1.1 !important;
  letter-spacing:.12em !important;
  white-space:nowrap !important;
}

.capabilities-v74 .cap-v77-overlay h2{
  display:block !important;
  margin:0 !important;
  font-size:clamp(2.7rem,6.2vw,6.7rem) !important;
  line-height:.82 !important;
  color:#fff !important;
}

@media(max-width:1000px){
  .capabilities-v74 .cap-v77-overlay{
    left:clamp(22px,5vw,48px) !important;
    width:min(64%,580px) !important;
  }
  .capabilities-v74 .cap-v77-overlay h2{
    font-size:clamp(2.6rem,8.5vw,5.5rem) !important;
  }
}

@media(max-width:640px){
  .capabilities-v74 .cap-v77-overlay{
    left:22px !important;
    right:22px !important;
    width:auto !important;
  }
  .capabilities-v74 .cap-v77-overlay .eyebrow{
    font-size:10px !important;
    margin-bottom:8px !important;
  }
  .capabilities-v74 .cap-v77-overlay h2{
    font-size:clamp(2.4rem,12vw,4.4rem) !important;
  }
}


/* v87 — Full Stack Creative + Marketing */
.capabilities-v74 .cap-v77-overlay{
  width:min(72%,980px) !important;
}
.capabilities-v74 .cap-v77-overlay h2{
  font-size:clamp(2.25rem,5.25vw,5.7rem) !important;
  line-height:.84 !important;
  letter-spacing:-.055em !important;
}
.cap-v87-list .cap-v74-row{
  grid-template-columns:minmax(70px,.12fr) minmax(0,1fr) minmax(170px,.25fr);
}
.cap-v87-list .cap-v74-main h3{
  font-size:clamp(2.3rem,4.75vw,5.75rem);
}
.cap-v87-list .cap-v74-mark{
  text-align:right;
}

@media(max-width:1000px){
  .capabilities-v74 .cap-v77-overlay{
    width:min(78%,760px) !important;
  }
  .capabilities-v74 .cap-v77-overlay h2{
    font-size:clamp(2.25rem,7vw,4.8rem) !important;
  }
}
@media(max-width:640px){
  .capabilities-v74 .cap-v77-overlay{
    width:auto !important;
  }
  .capabilities-v74 .cap-v77-overlay h2{
    font-size:clamp(2rem,9.7vw,3.7rem) !important;
  }
  .cap-v87-list .cap-v74-main h3{
    font-size:clamp(1.85rem,9vw,3.5rem);
  }
}


/* v88 — On tablet/mobile, never strand "+" on its own line.
   Keep the plus attached to the first title word. */
@media(max-width:1000px){
  .cap-v88-keep{
    white-space:nowrap;
  }
}


/* v89 — Keep the full 01–05 process strip on one row at every screen size */
@media(max-width:1000px){
  .process-strip{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    grid-template-rows:1fr !important;
    flex-wrap:nowrap !important;
    overflow:visible !important;
  }

  .process-strip .process-item{
    min-width:0 !important;
    width:auto !important;
  }
}

@media(max-width:640px){
  .process-strip{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:0 !important;
  }

  .process-strip .process-item{
    min-width:0 !important;
    padding-left:clamp(4px,1.5vw,8px) !important;
    padding-right:clamp(4px,1.5vw,8px) !important;
  }

  .process-strip .process-item span,
  .process-strip .process-item b,
  .process-strip .process-item em{
    max-width:100%;
  }

  .process-strip .process-item b{
    font-size:clamp(.43rem,2.25vw,.68rem) !important;
    white-space:nowrap !important;
  }

  .process-strip .process-item span{
    font-size:clamp(.42rem,2vw,.62rem) !important;
  }

  .process-strip .process-item em{
    font-size:clamp(.39rem,1.85vw,.58rem) !important;
    line-height:1.15 !important;
  }
}


/* v90 — Process strip: mathematically even at every viewport */
.process-strip{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  align-items:stretch !important;
  width:100% !important;
  gap:0 !important;
}

.process-strip .process-item{
  box-sizing:border-box !important;
  min-width:0 !important;
  width:100% !important;
  height:auto !important;
  min-height:clamp(205px,23vw,380px) !important;
  padding:clamp(24px,4vw,58px) clamp(14px,3.5vw,56px) !important;
  display:grid !important;
  grid-template-rows:auto 1fr !important;
  align-content:stretch !important;
  border-right:1px solid rgba(20,20,18,.16) !important;
}

.process-strip .process-item:last-child{
  border-right:0 !important;
}

.process-strip .process-item > span:first-child{
  align-self:start !important;
  display:block !important;
  margin:0 !important;
}

.process-strip .process-item > div{
  align-self:center !important;
  width:100% !important;
  min-width:0 !important;
}

.process-strip .process-item b{
  display:block !important;
  margin:0 0 clamp(7px,1vw,13px) !important;
  font-size:clamp(.88rem,2.05vw,2.35rem) !important;
  line-height:.95 !important;
  letter-spacing:-.045em !important;
  white-space:nowrap !important;
}

.process-strip .process-item em{
  display:block !important;
  margin:0 !important;
  font-size:clamp(.72rem,1.42vw,1.55rem) !important;
  line-height:1.2 !important;
  font-style:normal !important;
}

/* Tablet: retain five equal columns and one consistent vertical rhythm. */
@media(max-width:1000px){
  .process-strip .process-item{
    min-height:clamp(180px,25vw,250px) !important;
    padding:clamp(20px,3vw,34px) clamp(10px,2.25vw,24px) !important;
  }
  .process-strip .process-item b{
    font-size:clamp(.72rem,2.15vw,1.35rem) !important;
    letter-spacing:-.05em !important;
  }
  .process-strip .process-item em{
    font-size:clamp(.64rem,1.7vw,1rem) !important;
  }
}

/* Mobile: same five-column geometry, just proportionally smaller type/spacing. */
@media(max-width:640px){
  .process-strip .process-item{
    min-height:clamp(145px,39vw,190px) !important;
    padding:clamp(14px,4vw,22px) clamp(5px,1.7vw,10px) !important;
  }
  .process-strip .process-item > span:first-child{
    font-size:clamp(.55rem,2.4vw,.76rem) !important;
  }
  .process-strip .process-item b{
    font-size:clamp(.50rem,2.55vw,.78rem) !important;
    margin-bottom:clamp(5px,1.4vw,8px) !important;
    letter-spacing:-.055em !important;
  }
  .process-strip .process-item em{
    font-size:clamp(.47rem,2.15vw,.68rem) !important;
    line-height:1.16 !important;
  }
}

/* Very narrow phones: preserve the exact same alignment without horizontal overflow. */
@media(max-width:420px){
  .process-strip .process-item{
    padding-left:4px !important;
    padding-right:4px !important;
  }
  .process-strip .process-item b{
    font-size:clamp(.43rem,2.42vw,.64rem) !important;
  }
  .process-strip .process-item em{
    font-size:clamp(.42rem,2vw,.58rem) !important;
  }
}


/* v91 — compact process strip: preserve alignment without the huge vertical gap */
.process-strip .process-item{
  min-height:0 !important;
  height:auto !important;
  padding:clamp(24px,3.2vw,48px) clamp(14px,3.5vw,56px) clamp(28px,3.6vw,52px) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}

.process-strip .process-item > span:first-child{
  margin:0 0 clamp(26px,3.2vw,46px) !important;
}

.process-strip .process-item > div{
  align-self:auto !important;
  margin:0 !important;
}

.process-strip .process-item b{
  margin:0 0 clamp(8px,.9vw,12px) !important;
}

@media(max-width:1000px){
  .process-strip .process-item{
    min-height:0 !important;
    padding:clamp(18px,3vw,30px) clamp(9px,2.2vw,22px) clamp(22px,3.2vw,34px) !important;
  }
  .process-strip .process-item > span:first-child{
    margin-bottom:clamp(18px,3vw,30px) !important;
  }
}

@media(max-width:640px){
  .process-strip .process-item{
    min-height:0 !important;
    padding:clamp(13px,3.4vw,20px) clamp(5px,1.7vw,10px) clamp(16px,4vw,24px) !important;
  }
  .process-strip .process-item > span:first-child{
    margin-bottom:clamp(13px,3.8vw,20px) !important;
  }
}


/* v92 — 07 / SELECTED RESULTS: editorial performance report */
.results-v92{
  background:#f3f0e8 !important;
  color:#11110f !important;
  overflow:hidden;
}
.results-v92-inner{
  width:100%;
}
.results-v92-head{
  padding:clamp(58px,8vw,120px) clamp(28px,5.5vw,88px) clamp(48px,6vw,90px);
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);
  grid-template-areas:"kicker kicker" "title note";
  align-items:end;
  column-gap:clamp(30px,7vw,120px);
}
.results-v92-kicker{
  grid-area:kicker;
  font-size:clamp(.72rem,.9vw,.95rem);
  font-weight:800;
  letter-spacing:.16em;
  margin-bottom:clamp(26px,3.5vw,50px);
}
.results-v92-head h2{
  grid-area:title;
  margin:0;
  font-size:clamp(4rem,10.5vw,11rem);
  line-height:.77;
  letter-spacing:-.065em;
  font-weight:900;
}
.results-v92-head p{
  grid-area:note;
  margin:0 0 .45em;
  max-width:390px;
  font-size:clamp(1.15rem,2vw,2rem);
  line-height:1.05;
  font-weight:600;
}

.results-v92-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(17,17,15,.25);
  border-bottom:1px solid rgba(17,17,15,.25);
}
.results-v92-metric{
  min-width:0;
  padding:clamp(28px,3.5vw,56px) clamp(20px,3vw,48px) clamp(32px,4vw,64px);
  border-right:1px solid rgba(17,17,15,.20);
  position:relative;
}
.results-v92-metric:last-child{border-right:0}
.results-v92-index{
  font-size:clamp(.62rem,.75vw,.82rem);
  letter-spacing:.12em;
  font-weight:700;
  opacity:.58;
  margin-bottom:clamp(34px,5vw,80px);
}
.results-v92-metric strong{
  display:block;
  white-space:nowrap;
  font-size:clamp(2.25rem,5.2vw,6.5rem);
  line-height:.82;
  letter-spacing:-.065em;
  font-weight:900;
}
.results-v92-metric span{
  display:block;
  margin-top:clamp(12px,1.4vw,20px);
  font-size:clamp(.88rem,1.2vw,1.35rem);
  line-height:1.15;
  max-width:240px;
}
.results-v92-metric i{
  display:block;
  margin-top:clamp(28px,4vw,60px);
  font-size:clamp(.58rem,.72vw,.78rem);
  font-style:normal;
  letter-spacing:.14em;
  font-weight:800;
  opacity:.58;
}
.results-v92-tape{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:clamp(18px,2vw,28px) clamp(28px,5.5vw,88px);
  font-size:clamp(.65rem,.82vw,.9rem);
  letter-spacing:.14em;
  font-weight:800;
  white-space:nowrap;
}
.results-v92-tape b{font-weight:400; opacity:.42}

/* subtle entrance: proof arrives like a report, not a slot machine */
.results-v92-metric{
  transition:transform .45s ease, background-color .45s ease;
}
@media(hover:hover){
  .results-v92-metric:hover{
    transform:translateY(-5px);
    background:rgba(255,255,255,.22);
  }
}

@media(max-width:1000px){
  .results-v92-head{
    grid-template-columns:1fr;
    grid-template-areas:"kicker" "title" "note";
  }
  .results-v92-head p{
    margin-top:28px;
  }
  .results-v92-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .results-v92-metric:nth-child(2){border-right:0}
  .results-v92-metric:nth-child(-n+2){border-bottom:1px solid rgba(17,17,15,.20)}
  .results-v92-metric strong{
    font-size:clamp(3rem,9vw,6rem);
  }
}

@media(max-width:640px){
  .results-v92-head{
    padding-left:22px;
    padding-right:22px;
  }
  .results-v92-head h2{
    font-size:clamp(3.6rem,18vw,6.6rem);
  }
  .results-v92-metrics{
    grid-template-columns:1fr 1fr;
  }
  .results-v92-metric{
    padding:24px 14px 30px;
  }
  .results-v92-index{
    margin-bottom:32px;
  }
  .results-v92-metric strong{
    font-size:clamp(2.05rem,10.5vw,3.7rem);
  }
  .results-v92-metric span{
    font-size:clamp(.72rem,3.4vw,.95rem);
  }
  .results-v92-tape{
    overflow:hidden;
    padding-left:22px;
    padding-right:22px;
    gap:14px;
    font-size:.55rem;
  }
}


/* v93 — restored original Selected Results titles + copy */
.results-v92-metric .results-v92-index{
  min-height:2.4em;
  line-height:1.2;
}
.results-v92-metric strong{
  font-size:clamp(2rem,3.75vw,4.8rem);
  white-space:normal;
}
.results-v92-metric span{
  max-width:420px;
  line-height:1.35;
}
@media(max-width:1000px){
  .results-v92-metric strong{
    font-size:clamp(2.3rem,7vw,4.6rem);
  }
}
@media(max-width:640px){
  .results-v92-metric strong{
    font-size:clamp(1.65rem,7.8vw,2.8rem);
  }
  .results-v92-metric .results-v92-index{
    font-size:clamp(.52rem,2.4vw,.7rem);
  }
}


/* v94 — prevent long Selected Results metrics from bleeding into adjacent columns */
.results-v92-metric{
  overflow:hidden !important;
}

.results-v92-metric strong{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  line-height:.9 !important;
}

/* The Chamber metric is the widest phrase; let the type scale to the cell
   instead of crossing its column boundary. */
.results-v92-metric:nth-child(3) strong{
  font-size:clamp(1.65rem,3.05vw,4rem) !important;
  letter-spacing:-.06em !important;
}

@media(max-width:1000px){
  .results-v92-metric:nth-child(3) strong{
    font-size:clamp(2rem,6vw,4rem) !important;
  }
}

@media(max-width:640px){
  .results-v92-metric strong{
    overflow-wrap:anywhere !important;
  }
  .results-v92-metric:nth-child(3) strong{
    font-size:clamp(1.45rem,6.6vw,2.45rem) !important;
  }
}


/* v95 — uniform Selected Results metric titles */
.results-v92-metric strong,
.results-v92-metric:nth-child(3) strong{
  font-size:clamp(1.55rem,2.8vw,3.65rem) !important;
  line-height:.9 !important;
  letter-spacing:-.06em !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
.results-v92-metric:nth-child(3){
  padding-right:clamp(26px,3.8vw,60px) !important;
}
@media(max-width:1000px){
  .results-v92-metric strong,
  .results-v92-metric:nth-child(3) strong{
    font-size:clamp(1.8rem,5.2vw,3.5rem) !important;
    white-space:nowrap !important;
  }
  .results-v92-metric:nth-child(3){
    padding-right:clamp(22px,3.5vw,40px) !important;
  }
}
@media(max-width:640px){
  .results-v92-metric strong,
  .results-v92-metric:nth-child(3) strong{
    font-size:clamp(1.08rem,4.9vw,1.85rem) !important;
    white-space:nowrap !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    letter-spacing:-.065em !important;
  }
  .results-v92-metric:nth-child(3){
    padding-right:clamp(18px,4vw,26px) !important;
  }
}


/* v96 — keep every Selected Results metric safely inside its column.
   Same type size for all four; responsive scaling instead of clipping. */
.results-v92-metric{
  box-sizing:border-box !important;
  min-width:0 !important;
}

.results-v92-metric strong,
.results-v92-metric:nth-child(3) strong{
  width:auto !important;
  max-width:100% !important;
  font-size:clamp(1.35rem,2.35vw,3.15rem) !important;
  line-height:.92 !important;
  letter-spacing:-.065em !important;
  white-space:nowrap !important;
  overflow:visible !important;
}

/* Retain a little extra breathing room on Production without squeezing it excessively. */
.results-v92-metric:nth-child(3){
  padding-right:clamp(22px,3.2vw,48px) !important;
}

@media(max-width:1000px){
  .results-v92-metric strong,
  .results-v92-metric:nth-child(3) strong{
    font-size:clamp(1.3rem,4.25vw,2.65rem) !important;
  }
}

@media(max-width:640px){
  .results-v92-metric{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  .results-v92-metric:nth-child(3){
    padding-right:14px !important;
  }

  .results-v92-metric strong,
  .results-v92-metric:nth-child(3) strong{
    font-size:clamp(.88rem,3.85vw,1.45rem) !important;
    letter-spacing:-.07em !important;
    white-space:nowrap !important;
  }
}


/* v97 — desktop/tablet Selected Results metrics.
   Size all four against the longest label ($1M PRODUCTION) so nothing clips. */
@media(min-width:1001px){
  .results-v92-metric{
    padding-left:clamp(20px,2.4vw,40px) !important;
    padding-right:clamp(20px,2.4vw,40px) !important;
    overflow:hidden !important;
  }

  .results-v92-metric:nth-child(3){
    padding-right:clamp(24px,2.8vw,46px) !important;
  }

  .results-v92-metric strong,
  .results-v92-metric:nth-child(3) strong{
    font-size:clamp(1.25rem,2.05vw,2.8rem) !important;
    letter-spacing:-.07em !important;
    line-height:.92 !important;
    white-space:nowrap !important;
    max-width:100% !important;
  }
}

/* Slightly tighter scaling through the wide-tablet range as four cards remain in one row. */
@media(min-width:641px) and (max-width:1000px){
  .results-v92-metric strong,
  .results-v92-metric:nth-child(3) strong{
    font-size:clamp(1.15rem,3.8vw,2.35rem) !important;
    white-space:nowrap !important;
  }
}


/* v98 — remove oversized dead space above 07 / Selected Results */
.results-v92-head{
  padding-top:clamp(42px,4vw,68px) !important;
}

/* The section itself should begin immediately after the preceding section,
   without inherited/min-height spacing creating a giant blank field. */
.results-v92{
  min-height:0 !important;
  height:auto !important;
  padding-top:0 !important;
  margin-top:0 !important;
}

.results-v92-inner{
  padding-top:0 !important;
  margin-top:0 !important;
}

@media(max-width:1000px){
  .results-v92-head{
    padding-top:clamp(34px,5vw,54px) !important;
  }
}

@media(max-width:640px){
  .results-v92-head{
    padding-top:32px !important;
  }
}


/* v99 — imagery in first two Selected Results columns */
.results-v99-with-image{
  padding-top:0 !important;
}
.results-v99-image{
  width:calc(100% + (2 * clamp(22px,3vw,48px)));
  margin:0 calc(-1 * clamp(22px,3vw,48px)) clamp(24px,2.2vw,38px);
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-bottom:1px solid rgba(15,15,13,.18);
}
.results-v99-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
@media (hover:hover){
  .results-v99-image:hover img{ transform:scale(1.025); }
}
@media(max-width:1000px){
  .results-v99-image{
    width:calc(100% + (2 * clamp(16px,2.6vw,28px)));
    margin-left:calc(-1 * clamp(16px,2.6vw,28px));
    margin-right:calc(-1 * clamp(16px,2.6vw,28px));
    margin-bottom:20px;
  }
}


/* v113 — mobile hero kicker + contact overflow fixes */
@media(max-width:640px){
  .hero-kicker{
    left:var(--pad) !important;
    right:var(--pad) !important;
    width:auto !important;
    line-height:1.45 !important;
  }
  .hero-kicker .hero-location,
  .hero-kicker .hero-disciplines{
    display:block !important;
  }
  .hero-kicker .hero-dot{
    display:none !important;
  }
  .hero-kicker .hero-disciplines{
    margin-top:3px !important;
  }

  .contact{
    min-width:0 !important;
    overflow:hidden !important;
  }
  .contact-copy{
    min-width:0 !important;
    width:100% !important;
    padding-left:var(--pad) !important;
    padding-right:var(--pad) !important;
    overflow:hidden !important;
  }
  .contact-copy h2{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(3.2rem,14.1vw,5.25rem) !important;
    line-height:.84 !important;
    letter-spacing:-.075em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }
  .contact-copy p{
    width:100% !important;
    max-width:100% !important;
    font-size:clamp(1rem,4.6vw,1.2rem) !important;
    line-height:1.35 !important;
    overflow-wrap:break-word !important;
  }
  .giant-link{
    width:fit-content !important;
    max-width:100% !important;
    font-size:clamp(.88rem,4.2vw,1rem) !important;
  }
}


/* v112 — Selected Work uses one cinematic lightbox player only. */
.video-card .work-video{pointer-events:none!important;}
.video-card.has-started .work-video,.video-card.is-playing .work-video{opacity:0!important;}
.video-card.has-started .video-poster{opacity:1!important;}
.video-card{cursor:pointer!important;}
.video-lightbox-stage video{background:#000;}
@media (max-width:640px){
  .video-lightbox{padding:12px;}
  .video-lightbox-inner{width:100%;max-height:92vh;}
  .video-lightbox-close{top:12px;right:14px;}
}

/* v113 — compact intrinsic-size video lightbox */
.video-lightbox{
  padding:clamp(20px,3vw,44px)!important;
  background:rgba(10,10,9,.48)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.video-lightbox-inner{
  width:auto!important;
  max-width:82vw!important;
  max-height:82vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.video-lightbox-stage{
  width:auto!important;
  height:auto!important;
  max-width:82vw!important;
  max-height:82vh!important;
  aspect-ratio:auto!important;
  background:transparent!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.video-lightbox-stage video{
  width:auto!important;
  height:auto!important;
  max-width:82vw!important;
  max-height:82vh!important;
  object-fit:contain!important;
  background:transparent!important;
}
.video-lightbox-close{
  top:14px!important;
  right:18px!important;
  text-shadow:0 1px 8px rgba(0,0,0,.55);
}
@media (max-width:640px){
  .video-lightbox{padding:18px!important;}
  .video-lightbox-inner,
  .video-lightbox-stage,
  .video-lightbox-stage video{
    max-width:92vw!important;
    max-height:80vh!important;
  }
  .video-lightbox-close{top:10px!important;right:12px!important;}
}
