/* ============================================================
   YAW STUDIO — Services page
   Compact cinematic sections · same system as Home/Work/About
   ============================================================ */

/* ---- compact hero ---- */
/* CMS theme injects huge section padding */
.page-services section[id],
.page-services .sec{
  padding-block:0;
}

/* ---- hero fills the first viewport ---- */
.page-services .svc-hero.st-hero{
  min-height:100vh;
  min-height:100svh;
  max-height:none;
  height:auto;
}
.page-services .svc-hero .st-hero-inner{
  padding:clamp(88px,12vh,120px) var(--st-pad, clamp(16px,3.5vw,40px)) clamp(36px,6vh,56px);
  max-width:min(44rem,94vw);
}
.page-services .svc-hero .st-hero-title{
  font-size:clamp(26px,4.6vw,48px);
  line-height:.96;
}
.page-services .svc-hero .st-hero-lead{
  font-size:clamp(14px,1.35vw,16px);
  line-height:1.55;
  max-width:46ch;
}
.page-services .svc-hero .st-hero-points{
  margin-top:18px;max-width:36rem;
}
.page-services .svc-hero .st-hero-points li{
  font-size:10px;padding:7px 0;
}
.page-services .svc-hero .st-kicker{margin-bottom:12px;font-size:9px}
.page-services .svc-hero .st-cta{margin-top:20px}

/* ---- intro ---- */
.page-services .svc-intro{
  padding:clamp(32px,5vh,56px) clamp(28px,5.5vw,72px);
  border-top:1px solid rgba(255,255,255,.05);background:#060708;
}
.page-services .svc-intro-inner{max-width:38rem}
.page-services .svc-intro-title{
  margin:0;font-family:var(--disp);font-variation-settings:"wdth" 114;
  font-weight:900;font-size:clamp(22px,3.6vw,40px);
  letter-spacing:-.03em;line-height:.98;text-transform:uppercase;
}
.page-services .svc-intro-lead{
  margin:14px 0 0;font-family:var(--read);font-size:clamp(14px,1.4vw,16px);
  line-height:1.55;color:rgba(242,240,236,.48);max-width:44ch;
}

/* ---- 01 documentary feature (shorter) ---- */
.page-services .svc-feature{
  position:relative;
  min-height:0;
  min-height:min(70vh,580px);
  display:grid;align-items:end;overflow:hidden;
  border-top:1px solid rgba(255,255,255,.05);
}
.page-services .svc-feature-media{position:absolute;inset:0}
.page-services .svc-feature-ph{position:absolute;inset:0}
.page-services .svc-feature-ph img{
  width:100%;height:100%;object-fit:cover;object-position:center 30%;
  filter:saturate(.68) contrast(1.12) brightness(.52);
  transform:scale(1.03);
  transition:transform 1.1s cubic-bezier(.16,1,.3,1),filter .7s;
}
.page-services .svc-feature:hover .svc-feature-ph img,
.page-services .svc-feature.is-in .svc-feature-ph img{
  transform:scale(1.07);
  filter:saturate(.76) contrast(1.14) brightness(.58);
}
.page-services .svc-feature-grade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(4,5,6,.9) 0%,rgba(4,5,6,.55) 48%,rgba(4,5,6,.3) 100%),
    linear-gradient(180deg,transparent 18%,rgba(4,5,6,.78) 100%);
}
.page-services .svc-feature-inner{
  position:relative;z-index:2;
  padding:clamp(56px,9vh,96px) clamp(28px,5.5vw,72px) clamp(40px,7vh,64px);
  max-width:min(38rem,92vw);
}
.page-services .svc-feature-title{
  margin:0 0 12px;font-family:var(--disp);font-variation-settings:"wdth" 116;
  font-weight:900;font-size:clamp(28px,5vw,52px);
  letter-spacing:-.04em;line-height:.92;text-transform:uppercase;
}
.page-services .svc-feature .st-pull{font-size:clamp(15px,1.5vw,18px);margin-bottom:14px}
.page-services .svc-feature .st-list li{font-size:14px;padding:6px 0 6px 12px}
.page-services .svc-feature .st-cta{margin-top:18px}

/* ---- 02 split journalism ---- */
.page-services .svc-split{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr);
  gap:clamp(16px,3vw,32px);align-items:center;
  padding:clamp(36px,6vh,64px) clamp(28px,5.5vw,72px);
  border-top:1px solid rgba(255,255,255,.05);max-width:1200px;margin:0 auto;
}
.page-services .svc-split-title{
  margin:0 0 12px;font-family:var(--disp);font-variation-settings:"wdth" 114;
  font-weight:900;font-size:clamp(24px,3.6vw,40px);
  letter-spacing:-.03em;line-height:.96;text-transform:uppercase;
}
.page-services .svc-split .st-pull{font-size:clamp(15px,1.45vw,17px)}
.page-services .svc-split-visual{position:relative}
.page-services .svc-split-visual .ph{
  aspect-ratio:3/4;max-height:min(52vh,420px);width:min(100%,360px);
  margin-left:auto;box-shadow:0 22px 48px rgba(0,0,0,.4);
}
.page-services .svc-split-visual img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.65) contrast(1.1) brightness(.74);
  transition:transform .9s cubic-bezier(.16,1,.3,1),filter .6s;
}
.page-services .svc-split:hover .svc-split-visual img{
  transform:scale(1.04);filter:saturate(.78) contrast(1.12) brightness(.8);
}
.page-services .svc-split-vert{
  position:absolute;left:-.1em;top:10%;
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-family:var(--disp);font-variation-settings:"wdth" 125;font-weight:900;
  font-size:clamp(36px,5vw,64px);letter-spacing:-.04em;text-transform:uppercase;
  color:rgba(242,240,236,.07);pointer-events:none;line-height:.85;
}
.page-services .svc-split-signal{
  margin:18px 0 0;font-family:var(--mono);font-size:9px;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(255,255,255,.75);
}
.page-services .svc-split .st-list-dense li{font-size:13px;padding:5px 0 5px 12px}

/* ---- 03 humanitarian (restrained) ---- */
.page-services .svc-human{
  padding:clamp(32px,5vh,56px) clamp(28px,5.5vw,72px);
  border-top:1px solid rgba(255,255,255,.05);background:#070809;
}
.page-services .svc-human-inner{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(16px,2.8vw,28px);max-width:1100px;margin:0 auto;align-items:center;
}
.page-services .svc-human-visual .ph{
  aspect-ratio:4/5;max-height:min(48vh,400px);width:100%;
}
.page-services .svc-human-visual img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.52) contrast(1.06) brightness(.8);
}
.page-services .svc-human-title{
  margin:0 0 12px;font-family:var(--disp);font-variation-settings:"wdth" 114;
  font-weight:900;font-size:clamp(22px,3.2vw,36px);
  letter-spacing:-.03em;line-height:.96;text-transform:uppercase;
}
.page-services .svc-human .st-pull{font-size:clamp(15px,1.45vw,17px)}
.page-services .svc-human .st-list li{font-size:13px;padding:7px 0 7px 12px}

/* ---- 04 photography ---- */
.page-services .svc-photo{
  position:relative;
  min-height:0;
  min-height:min(62vh,500px);
  display:grid;align-items:end;overflow:hidden;
  border-top:1px solid rgba(255,255,255,.05);
}
.page-services .svc-photo-media{position:absolute;inset:0}
.page-services .svc-photo-ph{position:absolute;inset:0}
.page-services .svc-photo-ph img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.72) contrast(1.08) brightness(.55);
  transform:scale(1.04);
}
.page-services .svc-photo-veil{
  position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(4,5,6,.9) 0%,rgba(4,5,6,.45) 55%,rgba(4,5,6,.28) 100%);
}
.page-services .svc-photo-inner{
  position:relative;z-index:2;
  padding:clamp(48px,8vh,88px) clamp(28px,5.5vw,72px);
  max-width:min(34rem,92vw);
}
.page-services .svc-photo-title{
  margin:0 0 12px;font-family:var(--disp);font-variation-settings:"wdth" 116;
  font-weight:900;font-size:clamp(32px,5.5vw,64px);
  letter-spacing:-.04em;line-height:.9;text-transform:uppercase;
}
.page-services .svc-photo .st-pull{font-size:clamp(15px,1.45vw,17px)}
.page-services .svc-photo .st-list-inline li{font-size:9px}

/* ---- 05 research / intelligence ---- */
.page-services .svc-intel{
  padding:clamp(36px,6vh,64px) clamp(28px,5.5vw,72px);
  border-top:1px solid rgba(255,255,255,.05);background:#050607;
}
.page-services .svc-intel-layout{
  display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:clamp(14px,2.5vw,28px);max-width:1100px;margin:0 auto;align-items:start;
}
.page-services .svc-intel-visual .ph{
  aspect-ratio:4/3;max-height:min(36vh,280px);width:100%;
}
.page-services .svc-intel-visual img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(.55) contrast(1.1) brightness(.7) grayscale(.1);
}
.page-services .svc-intel-title{
  margin:0 0 12px;font-family:var(--disp);font-variation-settings:"wdth" 114;
  font-weight:900;font-size:clamp(22px,3.2vw,36px);
  letter-spacing:-.03em;line-height:.96;text-transform:uppercase;
}
.page-services .svc-intel .st-pull{font-size:clamp(15px,1.45vw,17px)}
.page-services .svc-intel-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  margin-top:16px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.06);
}
.page-services .svc-intel-grid > div{background:#08090b;padding:12px 12px}
.page-services .svc-intel-grid h3{
  margin:0 0 6px;font-family:var(--mono);font-size:9px;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(255,255,255,.7);font-weight:500;
}
.page-services .svc-intel-grid p{
  margin:0;font-family:var(--read);font-size:13px;color:rgba(242,240,236,.6);line-height:1.4;
}

/* ---- 06 screenings typographic ---- */
.page-services .svc-type{
  padding:clamp(36px,6vh,64px) clamp(28px,5.5vw,72px);
  border-top:1px solid rgba(255,255,255,.05);
}
.page-services .svc-type-inner{max-width:36rem}
.page-services .svc-type-title{
  margin:0 0 8px;font-family:var(--disp);font-variation-settings:"wdth" 112;
  font-weight:900;font-size:clamp(22px,3.2vw,36px);
  letter-spacing:-.03em;text-transform:uppercase;
}
.page-services .svc-type-lead{
  font-family:var(--read);font-size:clamp(14px,1.4vw,16px);line-height:1.55;
  color:rgba(242,240,236,.48);margin:0 0 14px;max-width:42ch;
}
.page-services .svc-type-rail{list-style:none;margin:0;padding:0}
.page-services .svc-type-rail li{
  font-family:var(--read);font-size:15px;color:rgba(242,240,236,.62);
  padding:8px 0;border-top:1px solid rgba(255,255,255,.07);
  line-height:1.4;
}
.page-services .svc-type-rail li:last-child{border-bottom:1px solid rgba(255,255,255,.07)}

/* ---- technical ---- */
.page-services .svc-tech{
  padding:clamp(36px,6vh,64px) clamp(28px,5.5vw,72px);
  border-top:1px solid rgba(255,255,255,.05);background:#07080a;overflow:hidden;
}
.page-services .svc-tech-inner{max-width:1000px;margin:0 auto}
.page-services .svc-tech-title{
  margin:0;font-family:var(--disp);font-variation-settings:"wdth" 114;
  font-weight:900;font-size:clamp(22px,3.4vw,36px);
  letter-spacing:-.03em;text-transform:uppercase;
}
.page-services .svc-tech-lead{
  margin:8px 0 18px;font-family:var(--read);font-size:clamp(14px,1.4vw,16px);
  color:rgba(242,240,236,.48);max-width:42ch;
}
/* Image sits behind the copy on the right, fading into the page. */
.page-services .svc-tech-inner{position:relative;isolation:isolate}
.page-services .svc-tech-inner > :not(.svc-tech-media){position:relative;z-index:2}
.page-services .svc-tech-media{
  position:absolute;z-index:0;top:-12%;bottom:-12%;right:calc(-1 * clamp(28px,5.5vw,72px));width:62%;
  margin:0;overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 55%),linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0%,#000 55%),linear-gradient(180deg,transparent 0%,#000 22%,#000 78%,transparent 100%);
  mask-composite:intersect;
}
.page-services .svc-tech-media img{
  display:block;width:100%;height:100%;object-fit:cover;
  filter:saturate(.85) contrast(1.05) brightness(.6);
}
/* darken + red wash so the text stays readable over the photo */
.page-services .svc-tech-media::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(7,8,10,.55) 0%,rgba(7,8,10,.15) 100%),
    linear-gradient(135deg,rgba(224,27,24,.14) 0%,rgba(224,27,24,0) 50%);
}
.page-services .svc-tech-media figcaption{display:none}
.page-services .svc-tech-cols{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,20px);
}
.page-services .svc-tech-cols article{
  padding-top:12px;border-top:1px solid rgba(224,27,24,.35);
}
.page-services .svc-tech-num{
  font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:rgba(242,240,236,.28);
}
.page-services .svc-tech-cols h3{
  margin:8px 0 6px;font-family:var(--disp);font-variation-settings:"wdth" 112;
  font-weight:900;font-size:clamp(14px,1.4vw,17px);
  letter-spacing:-.02em;text-transform:uppercase;line-height:1.2;
}
.page-services .svc-tech-cols p{
  margin:0;font-family:var(--read);font-size:13px;line-height:1.45;
  color:rgba(242,240,236,.48);
}
/* Long body text (a sentence or paragraph, not a short heading): reading size, not display caps. */
.page-services .svc-tech-cols .svc-tech-text{
  margin-top:8px;font-size:clamp(13px,1.2vw,15px);line-height:1.6;
  color:rgba(242,240,236,.72);
}
.page-services .svc-tech-cols h3{overflow-wrap:anywhere}

@media (max-width:820px){
  .page-services .svc-tech-media{width:100%;right:calc(-1 * clamp(28px,5.5vw,72px));left:calc(-1 * clamp(28px,5.5vw,72px));top:0;bottom:0;opacity:.45}
}

/* ---- ethical note ---- */
.page-services .svc-ethic{
  padding:clamp(40px,7vh,72px) clamp(28px,5.5vw,72px);
  border-top:1px solid rgba(255,255,255,.04);background:#030405;text-align:center;
}
.page-services .svc-ethic-inner{max-width:34rem;margin:0 auto}
.page-services .svc-ethic-title{
  margin:0 0 14px;font-family:var(--disp);font-variation-settings:"wdth" 110;
  font-weight:900;font-size:clamp(16px,2vw,22px);
  letter-spacing:-.02em;text-transform:uppercase;color:rgba(242,240,236,.55);
}
.page-services .svc-ethic-inner p{
  margin:0;font-family:var(--read);font-size:clamp(15px,1.6vw,18px);
  line-height:1.6;color:rgba(242,240,236,.42);
}

/* ---- brief guide ---- */
.page-services .svc-brief{
  padding:clamp(36px,6vh,64px) clamp(28px,5.5vw,72px);
  border-top:1px solid rgba(255,255,255,.05);
}
.page-services .svc-brief-inner{max-width:48rem}
.page-services .svc-brief-title{
  margin:0 0 8px;font-family:var(--disp);font-variation-settings:"wdth" 114;
  font-weight:900;font-size:clamp(22px,3.4vw,36px);
  letter-spacing:-.03em;text-transform:uppercase;
}
.page-services .svc-brief-lead{
  margin:0 0 14px;font-family:var(--read);font-size:clamp(14px,1.4vw,16px);
  color:rgba(242,240,236,.48);max-width:42ch;line-height:1.55;
}
.page-services .svc-brief-steps{
  list-style:none;margin:0 0 8px;padding:0;
}
.page-services .svc-brief-steps li{
  display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:4px 12px;
  align-items:start;padding:8px 0;
  border-top:1px solid rgba(255,255,255,.07);
  opacity:.42;transition:opacity .4s,border-color .35s;
  outline:none;
}
.page-services .svc-brief-steps li:last-child{border-bottom:1px solid rgba(255,255,255,.07)}
.page-services .svc-brief-steps li.is-active{
  opacity:1;border-top-color:rgba(224,27,24,.5);
}
.page-services .svc-brief-steps li:focus-visible{
  outline:2px solid rgba(224,27,24,.55);outline-offset:3px;
}
.page-services .svc-brief-steps li > span{
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;
  color:rgba(242,240,236,.28);padding-top:3px;line-height:1.35;
}
.page-services .svc-brief-steps li.is-active > span{color:rgba(255,255,255,.85)}
.page-services .svc-brief-steps h3{
  margin:0;font-family:var(--disp);font-variation-settings:"wdth" 114;
  font-weight:900;font-size:clamp(15px,1.6vw,18px);
  letter-spacing:-.02em;text-transform:uppercase;
}
.page-services .svc-brief-steps p{
  margin:3px 0 0;font-family:var(--read);font-size:13px;
  color:rgba(242,240,236,.48);line-height:1.35;
}
/* Long step text: normal reading size instead of display caps. */
.page-services .svc-brief-steps .svc-brief-text{
  margin:0;font-size:clamp(13px,1.2vw,14.5px);line-height:1.55;
  color:rgba(242,240,236,.8);
}
.page-services .svc-brief-steps li:not(.is-active) .svc-brief-text{color:rgba(242,240,236,.6)}

.page-services .partner-cta-inner{
  padding:clamp(56px,9vh,100px) var(--st-pad, clamp(16px,3.5vw,40px)) clamp(48px,8vh,80px);
}
.page-services .partner-cta-head h2{font-size:clamp(24px,3.8vw,44px)}
.page-services .page-services .st-list,
.page-services .st-list{max-width:36rem}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:980px){
  .page-services .svc-split,
  .page-services .svc-human-inner,
  .page-services .svc-intel-layout{grid-template-columns:1fr}
  .page-services .svc-split-visual .ph{
    max-width:300px;margin:0 auto;max-height:min(46vh,360px);
  }
  .page-services .svc-split-vert{right:4%;left:auto;color:rgba(242,240,236,.1)}
  .page-services .svc-human-visual .ph{max-height:min(42vh,320px);max-width:360px;margin:0 auto}
  .page-services .svc-intel-visual .ph{max-height:220px}
  .page-services .svc-intel-grid{grid-template-columns:1fr 1fr}
  .page-services .svc-tech-cols{grid-template-columns:1fr}
}
@media(max-width:720px){
  .page-services .svc-hero.st-hero{
    min-height:min(92vh,900px);max-height:none;
  }
  .page-services .svc-hero .st-hero-title{font-size:clamp(24px,7.5vw,34px)}
  .page-services .svc-feature{
    min-height:0;
  }
  .page-services .svc-feature-inner{padding-top:clamp(100px,24vh,160px)}
  .page-services .svc-photo{min-height:0}
  .page-services .svc-photo-media{position:relative;height:min(34vh,220px)}
  .page-services .svc-photo-ph{position:absolute;inset:0}
  .page-services .svc-photo-inner{padding:clamp(28px,5vh,40px) var(--st-pad, 16px)}
  .page-services .svc-intel-grid{grid-template-columns:1fr}
  .page-services .svc-feature-title{font-size:clamp(26px,8vw,36px)}
  .page-services .svc-photo-title{font-size:clamp(28px,10vw,40px)}
}
@media(prefers-reduced-motion:reduce){
  .page-services .svc-feature-ph img,
  .page-services .svc-split-visual img,
  .page-services .svc-brief-steps li{
    transition:none!important;transform:none!important;
  }
  .page-services .svc-brief-steps li{opacity:1}
}
