/* Preserve the original breathing room and centre content in that space. */
:root{--section-breath:112px;--how-bottom:96px;--reel-height:210px;--reel-padding:25px;--delivery-top:26px}

/* Numbered labels and open space separate sections. */
.section-kicker,.trust-foot,.reel-panel,.delivery-line,.jury-line,.collective-note,.site-footer{border:0}
.service-row:first-child{border:0}
.service-row:last-child,.award-list article:last-child{border:0}
.trust-foot{padding-top:0;align-items:center}
.trust{padding-bottom:0}
.trust-foot{min-height:calc(32px + 44px + var(--section-breath));padding-block:calc((44px + var(--section-breath)) / 2)}
.trust+.work{padding-top:0}

/* Stable portrait and caption columns, including longer names and roles. */
.team-member{container-type:inline-size;min-width:0}
.team-member h3{font-size:clamp(16px,10.6cqw,28px);line-height:1.1;margin-bottom:9px}
.team-member figcaption>p:not(.memorial){min-height:3em}
.team-member figcaption .memorial{margin-top:10px}

/* Filled fields make the next action obvious without relying on an underline. */
.field input,.field textarea{background:#131820;border:0;border-radius:5px;padding:15px 17px;transition:background .2s}
.field input{min-height:54px}
.field textarea{min-height:165px}
.field label small{display:inline;margin-left:0}

/* The next section's top space now belongs inside each closing callout. */
.work,.how,.awards{padding-bottom:0}
.how,.services,.contact{padding-top:0}
.reel-panel{
  min-height:calc(var(--reel-height) + 2 * var(--section-breath));
  padding-block:calc(var(--reel-padding) + var(--section-breath));
  border:0;align-items:center;align-content:center;margin-top:0;
}
.reel-art{margin:0}
.reel-copy{min-width:0}
.reel-frame-label{display:block;position:static;margin-top:12px;font-size:9px;line-height:1.6;white-space:normal}
.delivery-line{
  grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center;
  padding-block:calc((var(--delivery-top) + var(--how-bottom) + var(--section-breath)) / 2);
}
.delivery-copy{min-width:0;display:grid;gap:18px}
.delivery-copy>.eyebrow{font-size:11px;line-height:1.5;color:var(--blue)}
.delivery-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;margin:0;padding:0;list-style:none;font-size:13px;line-height:1.6;color:var(--muted)}
.delivery-items li{position:relative;padding-left:16px}
.delivery-items li:before{content:'/';position:absolute;left:0;color:var(--blue)}
.delivery-line>.button{align-self:center;justify-self:end;margin:0}
.jury-line{align-items:center;padding-block:calc(10px + var(--section-breath))}

/* Balance adjacent columns and existing margins without reducing their room. */
.trust{padding-top:44px}
.how-layout{align-items:center}
.how-statement{position:relative;top:auto;align-self:center}
.how-details article:not(:last-child)::before{content:'';position:absolute;left:-33px;top:8px;bottom:-8px;width:1px;background:#3b82f660;pointer-events:none}
.step-dot{z-index:1}
[data-theme=light] .how-details article:not(:last-child)::before{background:#205dcc50}
.service-row{padding-block:37.5px;align-items:center}
.service-row>div{padding-top:0}
.service-index{align-self:center;margin-top:0}
.awards-layout,.contact-layout{align-items:center}
.awards-heading{padding-top:0}
.collective-note{display:flex;flex-direction:column;justify-content:center;padding-block:10px}
.closing-art{margin-top:0;padding-block:133px}

@media(min-width:1200px){.delivery-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.delivery-line{gap:48px}}
@media(max-width:1050px){
  :root{--section-breath:84px;--how-bottom:84px;--reel-height:180px}
  .delivery-line{gap:28px}.delivery-items{gap:12px 24px;font-size:12px}
}
@media(max-width:700px){
  :root{--section-breath:65px;--how-bottom:65px;--reel-height:175px;--reel-padding:24px;--delivery-top:22px}
  .trust{padding-top:27px}
  .trust-foot{min-height:0;padding-block:46px}
  .reel-panel{grid-template-rows:auto auto;row-gap:0}
  .reel-frame-label{font-size:8px;margin-top:10px}
  .reel-panel>.text-link{margin-top:16px}
  .delivery-line{grid-template-columns:1fr;gap:24px}
  .delivery-copy{gap:16px}
  .delivery-line>.button{justify-self:start}
  .delivery-items{font-size:11px;gap:12px 18px}
  .jury-line{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
  .jury-line p{margin-top:0}
  .service-row{padding-block:26px;align-items:start}
  .how-details article:not(:last-child)::before{left:-27px}
  .service-index{align-self:start;margin-top:5px}
  .collective-note{padding-block:6px}
  .closing-art{padding-block:78.5px}
}
