/* Image-led service chapters shared by Home and What We Do. */
.home-introduction { padding-block:74px 55px; }
.home-introduction>.eyebrow { margin-bottom:32px; font-size:10px; }
.home-introduction-grid { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:65px; }
.home-introduction h1 { font-size:clamp(68px,8.3vw,116px); line-height:1.02; letter-spacing:-.065em; }
.home-introduction h1 span { color:#757b70; }
.home-introduction-copy { padding-bottom:8px; max-width:440px; }
.home-introduction-copy>p { font-size:clamp(18px,1.65vw,23px); line-height:1.65; }
.home-introduction-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 27px; margin-top:30px; }
.home-introduction-actions .button { font-size:13px; gap:25px; }
.home-introduction-actions .quiet-link { font-size:13px; padding-block:10px; }
.home-introduction-bottom { display:flex; align-items:center; gap:26px; margin-top:54px; color:var(--muted); font-family:var(--mono); font-size:10px; }
.home-introduction-bottom:before { content:''; width:44px; height:3px; background:var(--gold); flex-shrink:0; }
.home-introduction-bottom:after { content:''; height:1px; flex:1; background:var(--line); }
.story-collection-heading { display:flex; justify-content:space-between; align-items:center; gap:25px; padding-block:18px 30px; }
.story-collection-heading h2 { font-family:var(--mono); font-size:11px; letter-spacing:.08em; font-weight:400; }
.story-collection-heading>p { font-size:13px; }
.service-stories { display:grid; gap:48px; padding-bottom:72px; }
.service-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:#f3f3ef; scroll-margin-top:30px; }
.service-story>* { min-width:0; }
.service-story-photo { margin:0; display:flex; flex-direction:column; }
.service-story-photo picture { display:block; position:relative; flex:1; min-height:410px; overflow:hidden; }
.service-story-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.service-story-photo figcaption { font-size:9px; line-height:1.6; padding:10px 16px; color:var(--muted); }
.service-story-copy { padding:44px clamp(28px,3.5vw,54px); align-self:center; }
.service-story-copy>.eyebrow { font-size:10px; margin-bottom:22px; }
.service-story h2 { font-size:clamp(35px,3.8vw,52px); line-height:1.13; letter-spacing:-.045em; max-width:470px; }
.service-story-copy>p:not(.eyebrow) { max-width:400px; margin-top:24px; font-size:15px; line-height:1.85; }
.service-story-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-top:26px; }
.service-story-links .text-link { min-height:38px; }
.service-story-reverse .service-story-photo { grid-column:2; grid-row:1; }
.service-story-reverse .service-story-copy { grid-column:1; grid-row:1; }
.service-story-outdoor { background:#edf0e8; }
.service-story-outdoor .service-story-photo picture { min-height:500px; }
.service-story-outdoor .service-story-photo img { object-position:50% 58%; }
#security-and-access .service-story-photo img { object-position:20% 40%; }
.service-story-jumps { display:flex; flex-wrap:wrap; gap:10px 27px; margin-top:34px; }
.service-story-jumps a { display:inline-flex; align-items:center; gap:18px; padding-block:10px; border-bottom:1px solid var(--line); font-size:12px; }
.service-story-jumps a:hover { border-color:var(--ink); }
.services-overview-hero { padding-bottom:46px; }
@media(max-width:1100px) {
  .home-introduction-grid { gap:32px; }
  .home-introduction-copy>p { font-size:19px; }
  .service-story-copy { padding:32px; }
  .service-story h2 { font-size:37px; }
}
@media(max-width:800px) {
  .home-introduction { padding-top:50px; }
  .home-introduction-grid { grid-template-columns:1fr; gap:30px; }
  .home-introduction-copy { max-width:570px; }
  .home-introduction h1 { font-size:86px; }
  .home-introduction-bottom { margin-top:34px; }
  .service-story { display:flex; flex-direction:column; }
  .service-story-photo picture { flex:auto; min-height:0; aspect-ratio:3 / 2; }
  .service-story-copy { align-self:stretch; padding:32px; }
  .service-story h2 { max-width:600px; font-size:42px; }
  .service-story-copy>p:not(.eyebrow) { max-width:580px; }
  .service-story-outdoor .service-story-photo picture { min-height:0; aspect-ratio:4 / 3; }
  .service-story-outdoor .service-story-photo img { object-position:50% 64%; }
}
@media(max-width:650px) {
  .home-introduction { padding-block:36px 32px; }
  .home-introduction>.eyebrow { font-size:9px; margin-bottom:25px; }
  .home-introduction h1 { font-size:clamp(56px,14.7vw,86px); }
  .home-introduction-grid { gap:24px; }
  .home-introduction-copy>p { font-size:17px; line-height:1.7; }
  .home-introduction-actions { margin-top:23px; gap:12px 22px; }
  .home-introduction-bottom { gap:13px; margin-top:25px; font-size:8px; }
  .home-introduction-bottom:before { width:24px; }
  .story-collection-heading { padding-block:12px 22px; }
  .story-collection-heading h2 { font-size:10px; white-space:nowrap; }
  .story-collection-heading>p { font-size:11px; max-width:135px; text-align:right; }
  .service-stories { gap:32px; padding-bottom:42px; }
  .service-story-copy { padding:26px 24px 28px; }
  .service-story-copy>.eyebrow { font-size:9px; margin-bottom:18px; }
  .service-story h2 { font-size:clamp(30px,8.5vw,42px); }
  .service-story-copy>p:not(.eyebrow) { margin-top:20px; font-size:15px; }
  .service-story-links { margin-top:18px; gap:7px; }
  .service-story-links .text-link { min-height:44px; font-size:12px; }
  .service-story-photo figcaption { font-size:8px; padding:8px 12px; }
  .service-story-jumps { margin-top:25px; gap:6px 22px; }
  .service-story-jumps a { font-size:11px; min-height:44px; }
  .services-overview-hero { padding-bottom:30px; }
}
