/* The service collection is intentionally separate from shared service-page styles. */
.service-hub .services-opening { padding-bottom:48px; border-bottom:0; }
.services-opening-grid { display:grid; grid-template-columns:1.45fr 1fr; align-items:end; gap:70px; }
.service-hub .services-opening h1 { max-width:none; font-size:clamp(48px,5.4vw,78px); line-height:1.03; letter-spacing:-.055em; margin:0; }
.services-opening h1 em { white-space:nowrap; }
.services-opening-copy { padding-bottom:4px; }
.services-opening-copy .lead { max-width:33ch; margin-bottom:20px; }
.services-opening-copy .text-link { font-size:14px; }
.service-explorer-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; padding-top:20px; border-top:1px solid var(--rule); }
.service-explorer-heading p { margin:0; font-size:13px; color:var(--muted); }
.service-explorer-heading .eyebrow { font-size:11px; color:var(--ink); }
.service-explorer-nav { display:grid; grid-template-columns:.95fr 1fr 1fr 1.35fr 1.2fr; gap:24px; margin-top:12px; margin-bottom:28px; }
.service-explorer-nav a { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:17px 0; min-height:56px; border-bottom:2px solid var(--rule); text-decoration:none; font-size:14px; line-height:1.35; font-weight:600; transition:color .2s,border-color .2s; }
.service-explorer-nav a span { font-size:10px; font-weight:400; color:var(--muted); font-variant-numeric:tabular-nums; }
.service-explorer-nav a:hover,.service-explorer-nav a[aria-selected="true"] { color:var(--red); border-color:var(--red); }
.service-explorer-nav a[aria-selected="true"] span { color:var(--red); }
.service-explorer-panel { display:grid; grid-template-columns:1fr 1.12fr; gap:28px; margin-bottom:32px; scroll-margin-top:20px; }
.service-explorer-panel[hidden] { display:none; }
.service-explorer.is-enhanced .service-explorer-panel { margin-bottom:0; }
.service-category-visual { position:relative; display:flex; flex-direction:column; justify-content:space-between; isolation:isolate; overflow:hidden; min-height:480px; padding:28px; color:white; background:var(--ink); }
.service-category-visual::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(15,20,18,.38),rgba(15,20,18,0) 30%,rgba(15,20,18,.86) 100%); }
.service-category-visual>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
#content-communication .service-category-visual>img { object-position:49% center; }
#design-digital .service-category-visual>img { object-position:48% top; }
#live-branded .service-category-visual>img { object-position:center 60%; }
.service-visual-top { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.service-visual-top .eyebrow { font-size:10px; text-shadow:0 1px 8px #000; }
.service-visual-caption { padding-top:50px; }
.service-visual-caption h2 { font-size:clamp(34px,3.3vw,47px); line-height:1.04; letter-spacing:-.04em; margin-bottom:14px; }
.service-visual-caption p { font-size:14px; line-height:1.5; margin:0; max-width:30ch; color:#f2f0e8; }
.service-visual-caption small { display:block; font-size:9px; letter-spacing:.06em; text-transform:uppercase; margin-top:25px; color:#e2e3da; }
.service-offers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.service-offer { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:26px 24px 22px; background:#eaece5; text-decoration:none; border:1px solid transparent; transition:background .22s,border-color .22s; scroll-margin-top:24px; }
.service-offer:nth-child(2),.service-offer:nth-child(3) { background:#efeee7; }
.service-offer h3 { margin:0 0 14px; font-size:26px; font-weight:500; line-height:1.1; letter-spacing:-.035em; }
.service-offer p { margin:0 0 22px; font-size:14px; line-height:1.55; color:var(--muted); }
.service-offer-link { display:flex; width:100%; justify-content:space-between; align-items:center; gap:20px; margin-top:auto; padding-top:12px; border-top:1px solid #cecec2; font-size:11px; font-weight:600; }
.service-offer-link>span { font-size:22px; line-height:1; font-weight:400; transition:transform .22s; }
.service-offer:hover { background:#e1e4d9; border-color:#b8bead; }
.service-offer:hover h3,.service-offer:focus-visible h3 { color:var(--red); }
.service-offer:hover .service-offer-link>span { transform:translate(2px,-2px); }
.service-offer:target { border-color:var(--red); }
.service-offers-3 .service-offer:last-child { grid-column:1 / -1; }
.service-offers-3 .service-offer:last-child p { max-width:51ch; }
.service-offers-2 { grid-template-columns:1fr; }
.service-offers-2 h3 { max-width:23ch; }
.service-offers-2 p { max-width:53ch; }
.service-category-visual-type { background:#3c493f; }
.service-category-visual-type::after { display:none; }
.service-category-visual-type .service-visual-caption h2 { font-size:30px; }
.services-quote-art { position:absolute; inset:45px 28px auto; }
.services-quote-art>span { position:absolute; top:-57px; right:3px; font-family:Georgia,serif; font-size:240px; line-height:1; color:#5b6c5e; z-index:-1; }
.services-quote-art p { padding-top:35px; font-size:clamp(34px,3.5vw,48px); line-height:1.12; letter-spacing:-.04em; }
.services-quote-art em { font-family:Georgia,serif; color:#d6dfc5; }
.service-explorer-footnote { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:22px; border-bottom:1px solid var(--rule); }
.service-explorer-footnote p { margin:0; font-size:13px; color:var(--muted); }
.service-explorer-footnote a { display:inline-flex; align-items:center; gap:24px; min-height:44px; font-size:13px; font-weight:600; text-decoration:none; white-space:nowrap; }
.service-explorer-footnote a:hover { color:var(--red); }
.services-partnership { display:grid; grid-template-columns:1fr 1fr; gap:100px; padding-block:76px; }
.services-partnership .eyebrow { color:var(--red); }
.services-partnership h2 { font-size:clamp(34px,3.2vw,46px); margin-bottom:0; line-height:1.12; }
.services-partnership p:not(.eyebrow) { font-size:17px; }
.services-partnership .services-partnership-note { font-size:13px!important; color:var(--muted); }
.service-hub .contact-invitation .section-pad { padding-block:58px; }
.service-hub .contact-invitation h2 { font-size:clamp(40px,5vw,66px); }
@media(min-width:1500px) { .service-category-visual { min-height:500px; } }
@media(max-width:1100px) {
  .services-opening-grid { gap:36px; grid-template-columns:1.4fr 1fr; }
  .service-hub .services-opening h1 { font-size:clamp(48px,5.7vw,68px); }
  .services-opening-copy .lead { font-size:19px; }
  .service-explorer-nav { gap:17px; }
  .service-explorer-nav a { font-size:12px; }
  .service-explorer-panel { gap:18px; grid-template-columns:1fr 1.2fr; }
  .service-category-visual { padding:24px; min-height:480px; }
  .service-offer { padding:22px 18px 18px; }
  .service-offer h3 { font-size:23px; }
  .service-offers { gap:12px; }
  .services-partnership { gap:50px; }
}
@media(max-width:800px) {
  .service-hub .services-opening { padding-bottom:34px; }
  .services-opening-grid { grid-template-columns:1fr; gap:24px; }
  .service-hub .services-opening h1 { font-size:clamp(43px,8vw,66px); }
  .services-opening-copy .lead { max-width:48ch; font-size:19px; margin-bottom:10px; }
  .service-explorer-heading { align-items:start; }
  .service-explorer-heading>p:last-child { display:none; }
  .service-explorer-nav { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 20px; margin-bottom:22px; }
  .service-explorer-nav a { font-size:13px; min-height:58px; }
  .service-explorer-panel { grid-template-columns:1fr; gap:16px; }
  .service-category-visual { min-height:340px; }
  .service-visual-caption { padding-top:30px; }
  .service-visual-caption h2 { font-size:39px; }
  .service-offer { min-height:230px; padding:24px; }
  .service-offer h3 { font-size:25px; }
  .service-category-visual-type { min-height:440px; }
  .service-explorer-footnote { flex-wrap:wrap; gap:8px; padding-block:18px; }
  .services-partnership { grid-template-columns:1fr; gap:28px; padding-block:52px; }
}
@media(max-width:480px) {
  .service-hub .services-opening h1 { font-size:clamp(32px,8.6vw,41px); }
  .service-explorer-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
  .service-explorer-nav a { min-height:54px; }
  .service-explorer-nav a:last-child { grid-column:1 / -1; }
  .service-explorer-nav a span { padding-right:4px; }
  .service-category-visual { min-height:330px; padding:22px; }
  .service-visual-caption h2 { font-size:36px; }
  .service-offers { grid-template-columns:1fr; gap:12px; }
  .service-offer { min-height:0; padding:24px; }
  .service-offer h3 { font-size:25px; }
  .service-offer p { margin-bottom:20px; }
  .service-category-visual-type { min-height:420px; }
  .services-quote-art { inset-inline:22px; }
  .service-explorer-footnote p { max-width:33ch; }
  .services-partnership h2 { font-size:35px; }
}
@media(prefers-reduced-motion:reduce) {
  .service-explorer-nav a,.service-offer,.service-offer-link>span { transition:none; }
}
@media print {
  .service-explorer-panel[hidden] { display:grid; }
  .service-explorer-nav,.service-explorer-heading { display:none; }
  .service-explorer-panel { break-inside:avoid; margin-block:24px!important; }
  .service-category-visual { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
}
