/* Service landing pages: shared Odecapture identity, with lightweight page layouts. */
.service-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 34px 0 42px; }
.service-links a, .service-page__nav a { color: var(--ice); transition: color .25s ease, border-color .25s ease, background .25s ease; }
.service-links a { padding: 12px 17px; border: 1px solid var(--glass-border); border-radius: 999px; background: rgba(7, 11, 18, .5); }
.service-links a:hover, .service-page__nav a:hover { color: var(--white); border-color: var(--glass-border-hi); }
.service-page { min-height: 100vh; position: relative; z-index: 2; }
.bg.page-bg .bg__video.page-bg__video { opacity: .38; }
.service-page__top { position: relative; z-index: 3; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding: 22px var(--gutter); border-bottom: 1px solid rgba(158,220,255,.12); background: rgba(7,11,18,.55); backdrop-filter: blur(14px); }
.service-page__brand { font-family: var(--font-display); letter-spacing: .4em; text-indent: .4em; font-size: .95rem; }
.service-page__nav { display: flex; flex-wrap: wrap; gap: 18px; font-size: .82rem; }
.service-page__nav a { padding: 4px 0; }
.service-page__main { width: min(1120px, calc(100% - var(--gutter) - var(--gutter))); margin: 0 auto; padding: clamp(76px, 11vw, 145px) 0 90px; }
.service-page__crumb { color: var(--grey); font-size: .82rem; margin-bottom: 20px; }
.service-page__crumb a { color: var(--ice); }
.service-page__eyebrow { color: var(--ice-electric); font-size: .72rem; letter-spacing: .28em; text-transform: uppercase; margin-bottom: 16px; }
.service-page__title { max-width: 18ch; font-family: var(--font-display); font-weight: 400; font-size: clamp(3rem, 8vw, 6.6rem); line-height: .96; letter-spacing: -.025em; text-wrap: balance; }
.service-page__lede { max-width: 68ch; margin-top: 24px; color: var(--grey); font-size: clamp(1rem, 1.6vw, 1.2rem); }
.service-page__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.service-page__section { margin-top: clamp(70px, 10vw, 120px); }
.service-page__section h2 { max-width: 22ch; margin-bottom: 18px; font-family: var(--font-display); font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 400; line-height: 1.05; }
.service-page__section > p { max-width: 75ch; color: var(--grey); }
.service-page__media-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 330px), 1fr)); gap: 22px; margin-top: 28px; }
.service-project { min-width: 0; overflow: hidden; border-radius: var(--radius); background: rgba(13,21,36,.78); border: 1px solid var(--glass-border); box-shadow: var(--shadow); }
.service-project video, .service-project img { display: block; width: 100%; aspect-ratio: 16 / 9; background: #02040a; object-fit: contain; }
.service-project--portrait img { aspect-ratio: 4 / 5; object-fit: contain; background: #080b10; }
.service-project figcaption { padding: 15px 18px 18px; }
.service-project__title { font-family: var(--font-display); font-size: 1.45rem; }
.service-project__meta { margin-top: 3px; color: var(--ice); font-size: .69rem; letter-spacing: .2em; text-transform: uppercase; }
.service-page__note { color: var(--grey); font-size: .86rem; margin-top: 18px; }
.service-page__crosslinks { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 24px; }
.service-page__crosslinks a { color: var(--ice); text-decoration: underline; text-decoration-color: rgba(158,220,255,.35); text-underline-offset: 4px; }
.service-page__contact { padding: clamp(26px, 5vw, 52px); border: 1px solid var(--glass-border); border-radius: var(--radius); background: rgba(13,21,36,.7); backdrop-filter: blur(14px); }
.service-page__footer { position: relative; z-index: 2; padding: 24px var(--gutter); border-top: 1px solid rgba(158,220,255,.12); color: var(--grey); text-align: center; font-size: .82rem; }
.service-page__footer a { color: var(--ice); }
@media (max-width: 680px) {
  .service-page__top { align-items: flex-start; }
  .service-page__nav { width: 100%; gap: 10px 16px; }
  .service-page__main { padding-top: 72px; }
  .service-page__actions .btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) { .page-bg__video { display: none; } }
