.services-page{background:linear-gradient(180deg,#46535d,#394751);color:#f4f6f5;padding:38px 0 52px}.services-intro,.service-group,.services-closing,.services-jump{width:min(1120px,calc(100% - 56px));margin-inline:auto}.services-intro{padding-bottom:26px}.eyebrow{margin:0 0 7px;color:#dcb84f;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:800}.services-intro h1{margin:0;color:#f0ca5b;font:400 clamp(38px,5vw,58px)/1.05 Georgia,serif}.section-rule{height:2px;margin:14px 0 18px;background:linear-gradient(90deg,#d7a62a,#f0c95b 72%,#f0c95b2e)}.services-intro .lede{max-width:900px;margin:0;color:#e7ece9;font-size:clamp(17px,2vw,20px);line-height:1.6}.services-jump{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:34px;background:#253740;border:1px solid #e3b5418c;box-shadow:0 8px 18px #0003}.services-jump a{padding:12px;text-align:center;color:#fff!important;text-decoration:none!important;font-family:Georgia,serif;font-size:18px;border-right:1px solid #e3b54159}.services-jump a:last-child{border:0}.service-group{scroll-margin-top:64px;margin-bottom:46px}.group-hero{display:grid;grid-template-columns:minmax(280px,42%) 1fr;min-height:255px;background:#263943;border:1px solid #e3b54173;box-shadow:0 8px 24px #0003}.group-hero img{width:100%;height:100%;min-height:255px;object-fit:cover;display:block}.group-copy{position:relative;padding:30px 34px;display:flex;flex-direction:column;justify-content:center}.group-number{position:absolute;right:24px;top:13px;color:#f0ca5b33;font:700 54px/1 Georgia,serif}.group-copy h2{margin:0 0 12px;color:#f0ca5b;font:400 38px/1.05 Georgia,serif}.group-copy p{margin:0;color:#e8ecea;font-size:17px;line-height:1.55}.service-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;align-items:start}.service-card{background:#31414beb;border:1px solid #e3b5416b;box-shadow:0 5px 15px #0003}.service-card-toggle{width:100%;min-height:148px;border:0;background:transparent;color:inherit;padding:22px 52px 22px 22px;text-align:left;cursor:pointer;position:relative}.service-card-copy strong{display:block;color:#f0ca5b;font:400 21px/1.22 Georgia,serif;margin-bottom:10px}.service-card-copy>span{display:block;color:#edf0ef;font-size:15px;line-height:1.46}.service-card-plus{position:absolute;right:18px;top:22px;width:25px;height:25px;border:1px solid #f0ca5bb3;border-radius:50%}.service-card-plus:before,.service-card-plus:after{content:"";position:absolute;background:#f0ca5b;left:6px;right:6px;top:11px;height:1px}.service-card-plus:after{top:6px;bottom:6px;left:11px;width:1px;height:auto}.service-card.is-open .service-card-plus:after{display:none}.service-card.is-open{border-color:#e0b747;background:#344a55}.service-card-detail{border-top:1px solid #e3b54152}.detail-inner{padding:19px 22px 22px}.detail-inner p{margin:0;font-size:15px;line-height:1.58}.related-work{margin-top:18px;width:100%;padding:10px 12px;border:1px solid #64747d;background:#273a44;color:#dfe5e2;text-align:left;font-weight:700;opacity:.78}.related-work span{float:right;color:#b9c2c5;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.services-closing{padding:27px 30px;background:#263943;border-block:1px solid #d7ad42}.services-closing h2{margin:0 0 8px;color:#f0ca5b;font:400 28px/1.2 Georgia,serif}.services-closing p{max-width:820px;margin:0 0 15px;line-height:1.55}.services-closing a{color:#fff!important;font-weight:800;text-decoration:none!important}@media(max-width:850px){.group-hero{grid-template-columns:38% 1fr}.service-card-grid{grid-template-columns:1fr}.service-card-toggle{min-height:0}.group-copy{padding:25px}}@media(max-width:620px){.services-page{padding-top:28px}.services-intro,.service-group,.services-closing,.services-jump{width:min(100% - 28px,1120px)}.services-jump a{font-size:16px;padding:10px 6px}.group-hero{grid-template-columns:1fr}.group-hero img{height:190px;min-height:190px}.group-copy{padding:23px 21px}.group-copy p{font-size:15px}.service-card-grid{gap:11px;margin-top:11px}.service-card-toggle{padding:19px 48px 19px 18px}.detail-inner{padding:17px 18px}.services-closing{padding:23px 21px}}

/* v2.2 — eye candy + state-aware card symmetry. */
.service-eye-candy{margin:18px 0;overflow:hidden;border:1px solid #e3b54152;background:#23343d;aspect-ratio:16/9}
.service-eye-candy img{display:block;width:100%;height:100%;object-fit:cover}
@media(min-width:851px){
  .service-card.is-open .detail-inner{display:flex;flex-direction:column}
  .service-card.is-open .related-work{margin-top:auto}
}

/* v2.3 — align expanded copy, imagery and Related Work controls. */
@media(min-width:851px){
  .service-card.is-open .service-card-detail,
  .service-card.is-open .detail-inner{height:100%}
  .service-card.is-open .detail-inner{display:grid;grid-template-rows:auto 1fr auto auto;align-content:stretch}
  .service-card.is-open .detail-inner>p{grid-row:1}
  .service-card.is-open .service-eye-candy{grid-row:3;width:100%;aspect-ratio:16/9;margin:22px 0 18px}
  .service-card.is-open .related-work{grid-row:4;margin-top:0}
}

/* v2.4 — deterministic internal card rows: header / prose / image / related work. */
@media(min-width:851px){
  .service-card.is-open .service-card-detail{height:auto}
  .service-card.is-open .detail-inner{height:auto;display:flex;flex-direction:column;align-items:stretch}
  .service-card.is-open .detail-inner>p{flex:0 0 auto;margin:0}
  .service-card.is-open .service-eye-candy{flex:0 0 auto;width:100%;height:auto;aspect-ratio:16/9;margin:22px 0 18px}
  .service-card.is-open .related-work{flex:0 0 auto;margin-top:0}
}

/* v2.5 — normalize the card header itself: title row + teaser row. */
@media(min-width:851px){
  .service-card-toggle{display:block}
  .service-card-copy{display:block}
  .service-card-copy strong,.service-card-copy>span{display:block}
}

/* v2.7 — Services Related Work lightbox, matching Portfolio presentation rules. */
.related-work:not(:disabled){cursor:pointer;opacity:1;border-color:#e3b5418c}.related-work:not(:disabled):hover{background:#304954}.related-work:disabled span{font-size:0}.related-work:disabled span:after{content:"No tagged public photos yet";font-size:11px}
.service-lb{position:fixed;inset:0;z-index:10000;display:none;flex-direction:column;background:#000e;color:#fff}.service-lb.open{display:flex}.service-lb-top{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:max(9px,env(safe-area-inset-top)) 12px 9px;background:#050505;border-bottom:1px solid #333;color:#c9d1d4;font-weight:700}.service-lb-spacer{flex:1}.service-lb-top button{border:1px solid #53636a;background:#18262e;color:#fff;border-radius:6px;padding:7px 11px;font:inherit;cursor:pointer}.service-lb-main{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:42px 58px 22px;background:#000}.service-lb-figure{position:relative;display:flex;flex-direction:column;width:max-content;max-width:94vw;max-height:calc(100vh - 110px);align-items:stretch}.service-lb-img{display:block;width:auto;height:auto;max-width:94vw;max-height:76vh;object-fit:contain;background:#000}.service-lb-asset{position:absolute;left:0;bottom:100%;background:#050505;border:1px solid #34414a;border-bottom:0;color:#f0ca5b;padding:7px 10px;font-size:.9rem;font-weight:800;line-height:1;white-space:nowrap}.service-lb-caption{position:static;width:100%;box-sizing:border-box;background:#111923;border-top:1px solid #2f3e47;padding:11px 14px 13px;text-align:left}.service-lb-caption strong{display:block;font-family:Georgia,"Times New Roman",serif;color:#f0ca5b;font-size:1.15rem;line-height:1.25}.service-lb-caption span{display:block;margin-top:3px;color:#dce4e7;line-height:1.35}.service-lb-nav{position:absolute;top:50%;transform:translateY(-50%);border:0;background:#101820cc;color:#fff;border-radius:6px;font-size:44px;width:54px;height:76px;cursor:pointer}.service-lb-prev{left:0}.service-lb-next{right:0}@media(max-width:650px){.service-lb-main{padding:42px 46px 18px}.service-lb-figure{max-width:calc(100vw - 92px);max-height:calc(100vh - 105px)}.service-lb-img{max-width:calc(100vw - 92px);max-height:70vh}.service-lb-nav{width:40px;height:64px;font-size:34px}}
