/* Approved Prinil studio mockup system. Loaded after the foundation stylesheet. */
:root {
  --cobalt: #064ccf;
  --deep-blue: #063aa6;
  --ink: #06182d;
  --coral: #ff5b3b;
  --coral-action: #cf432b;
  --proof: #eef5ff;
  --paper-50: #f7f9fc;
  --rule: #c8d2df;
  --copy: #3f4b5d;
  --container: 86rem;
  --header-height: 4.6rem;
}

body {
  font-size: clamp(1rem, .97rem + .12vw, 1.075rem);
  line-height: 1.55;
}

.container { width: min(calc(100% - 2.5rem), var(--container)); }
.utility-bar { display: none !important; }
.site-header { min-height: var(--header-height); }
.site-header__main { min-height: var(--header-height); }
.site-brand__mark { display: none; }
.site-brand { gap: .35rem; font-size: clamp(1.35rem, 2.1vw, 1.75rem); }
.site-brand__text span { margin-left: .25em; color: inherit; }
.site-brand__official-logo { display: block; width: auto; height: 3rem; }
.site-brand__icon { display: block; width: 2.35rem; height: 2.35rem; object-fit: contain; }
.header-cta { border-radius: 0; background: var(--coral-action); }
.header-cta:hover { background: #b93620; }

.button {
  min-height: 3.3rem;
  padding-inline: 1.4rem;
  border-radius: 0;
}

.button--coral { background: var(--coral-action); color: #fff; }
.button--coral:visited { color: #fff; }
.button--coral:hover { background: #fff; color: var(--ink); }
.button--hero-outline { border-color: currentColor; background: transparent; color: inherit; }
.button--hero-outline:visited { color: inherit; }
.button--hero-outline:hover { border-color: var(--coral); color: var(--coral); }

/* Homepage */
.home .site-header {
  position: absolute;
  width: 100%;
  background: transparent;
  border: 0;
  color: #fff;
}
.home .site-brand,
.home .site-brand:visited,
.home .site-brand:hover,
.home .primary-menu > li > a,
.home .primary-menu > li > a:visited,
.home .primary-menu > li > button { color: #fff; }
.home .primary-menu > li > a::after,
.home .primary-menu > li > button::after { background: #fff; }
.home .nav-toggle { border-color: rgba(255,255,255,.7); background: transparent; color: #fff; }

.studio-hero {
  position: relative;
  display: grid;
  min-height: clamp(39rem, 48vw, 47rem);
  grid-template-columns: minmax(0, 49%) minmax(0, 51%);
  overflow: hidden;
  background: var(--ink);
  color: #fff;
}
.studio-hero__copy {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  padding: calc(var(--header-height) + 2rem) clamp(2rem, 4vw, 4rem) 2.25rem max(2rem, calc((100vw - var(--container)) / 2));
  background: var(--cobalt);
}
.studio-hero__copy::after {
  position: absolute;
  z-index: -1;
  top: -10%;
  right: -12rem;
  width: 19rem;
  height: 120%;
  border-radius: 0 100% 100% 0;
  background: var(--cobalt);
  content: "";
}
.studio-hero__copy-inner { position: relative; z-index: 2; max-width: 40rem; }
.studio-kicker {
  margin-bottom: 1rem;
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.studio-hero h1 {
  max-width: 13.5ch;
  margin-bottom: 1.1rem;
  font-size: clamp(2.85rem, 4.7vw, 4.8rem);
  line-height: .96;
  letter-spacing: -.04em;
}
.studio-hero__lead {
  max-width: 36rem;
  margin-bottom: 1.35rem;
  color: #ecf3ff;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.5;
}
.studio-hero__note { margin: 1rem 0 0; color: #dbe8ff; font-size: .85rem; }
.studio-hero__visual { min-width: 0; margin: 0; }
.studio-hero__visual picture,
.studio-hero__visual img { width: 100%; height: 100%; object-fit: cover; object-position: 55% center; }

.trust-bar { background: var(--ink); color: #fff; }
.trust-bar__grid { display: grid; max-width: 100rem; grid-template-columns: repeat(4, 1fr); margin-inline: auto; }
.trust-bar__grid > div {
  display: flex;
  min-height: 10rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  border-right: 1px solid rgba(255,255,255,.15);
  text-align: center;
}
.trust-bar__grid > div:last-child { border-right: 0; }
.trust-bar strong { font-family: var(--font-display); font-size: clamp(2.2rem, 4vw, 3.35rem); line-height: 1; }
.trust-bar strong i { color: #e7aa35; font-style: normal; }
.trust-bar span { margin-top: 1rem; color: #aebbd0; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.home-team-proof { padding-block: clamp(4rem, 8vw, 7rem); border-bottom: 1px solid var(--rule); background: #fff; }
.home-team-proof__grid { display: grid; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.home-team-proof__image { margin: 0; }
.home-team-proof__image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.home-team-proof__image figcaption { display: flex; flex-wrap: wrap; gap: .45rem .8rem; padding-top: .8rem; color: var(--copy); font-size: .82rem; line-height: 1.45; }
.home-team-proof__image figcaption span { color: var(--cobalt); font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.home-team-proof__copy h2 { max-width: 10ch; margin-bottom: 1.2rem; font-size: clamp(2.65rem, 5vw, 4.6rem); }
.home-team-proof__copy > p:not(.studio-kicker) { max-width: 37rem; color: var(--copy); font-size: clamp(1rem, 1.7vw, 1.16rem); line-height: 1.7; }
.home-team-proof__links { display: flex; flex-wrap: wrap; gap: 1rem 2rem; margin-top: 1.75rem; }
.home-team-proof__links a { display: inline-flex; align-items: center; gap: .45rem; font-weight: 800; }

.mockup-work { padding-block: clamp(4rem, 8vw, 7rem); background: var(--ink); color: #fff; }
.mockup-work__header { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.mockup-work__header h2 { max-width: 11ch; margin: 0; font-size: clamp(2.5rem, 5vw, 4.5rem); }
.mockup-work__header a { display: inline-flex; align-items: center; gap: .5rem; color: #fff; font-weight: 700; }
.mockup-work__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2vw, 2rem); }
.mockup-work__grid > a { color: #fff; text-decoration: none; }
.mockup-work__grid figure { margin: 0 0 .9rem; overflow: hidden; }
.mockup-work__grid picture,
.mockup-work__grid img { width: 100%; aspect-ratio: 1.18; object-fit: cover; transition: transform 350ms cubic-bezier(.2,0,0,1); }
.mockup-work__grid a:hover img { transform: scale(1.025); }
.mockup-work__grid span,
.mockup-work__grid strong { display: block; }
.mockup-work__grid span { color: #9eb7ff; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.mockup-work__grid strong { margin-top: .2rem; font-size: 1rem; }

.mockup-services { display: grid; grid-template-columns: minmax(0,40%) minmax(0,60%); min-height: 55rem; }
.mockup-services__feature { position: relative; overflow: hidden; min-height: 100%; background: var(--cobalt); color: #fff; }
.mockup-services__feature-copy { position: relative; z-index: 2; padding: clamp(3rem, 6vw, 6rem) clamp(2rem, 5vw, 5rem); }
.mockup-services__feature h2 { max-width: 9ch; font-size: clamp(2.8rem, 5vw, 4.7rem); }
.mockup-services__feature p { color: #e5efff; font-size: 1.15rem; }
.mockup-services__feature figure { position: absolute; right: -14%; bottom: -4%; left: -10%; height: 53%; margin: 0; transform: rotate(4deg); }
.mockup-services__feature img { width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.mockup-services__directory { padding: clamp(2rem, 4vw, 4.5rem) clamp(2rem, 4vw, 4rem) 2rem; background: #fff; }
.mockup-services .service-list { border-top: 0; }
.mockup-services .service-row { min-height: 4.15rem; grid-template-columns: 2.2rem 1fr auto; padding: .65rem 0; border-bottom-color: #afb8c4; }
.mockup-services .service-row__number { color: var(--ink); font-size: 1rem; }
.mockup-services .service-row__content strong { font-size: clamp(1.05rem, 1.8vw, 1.35rem); }
.mockup-services .service-row__content small { display: none; }
.mockup-services .service-row.is-active { padding: 1rem; background: #e3f1ff; }
.mockup-services .service-row.is-active .service-row__content small { display: block; max-width: 35rem; margin-top: .45rem; }

.mockup-process { padding-block: clamp(3.5rem, 7vw, 6rem); background: #fff; }
.mockup-process__grid { display: grid; grid-template-columns: minmax(15rem,.75fr) minmax(0,1.75fr); gap: clamp(3rem, 7vw, 7rem); }
.mockup-process header h2 { max-width: 10ch; font-size: clamp(2.3rem, 4vw, 3.6rem); }
.mockup-process header p { max-width: 26rem; color: var(--copy); }
.mockup-process ol { display: grid; grid-template-columns: repeat(2,1fr); gap: 0; padding: 0; margin: 0; list-style: none; }
.mockup-process li { padding: 0 2rem 2rem; border-bottom: 1px solid #9bb8ec; }
.mockup-process li:nth-child(n+3) { padding-top: 2rem; padding-bottom: 0; border-bottom: 0; }
.mockup-process li:nth-child(odd) { padding-left: 0; border-right: 1px solid #9bb8ec; }
.mockup-process li span { color: var(--cobalt); font-family: var(--font-display); font-size: 2.1rem; font-weight: 700; }
.mockup-process li h3 { margin: .3rem 0; font-size: 1.35rem; }
.mockup-process li p { max-width: 18rem; color: var(--copy); font-size: .9rem; }

.mockup-closing { background: var(--cobalt); color: #fff; }
.mockup-closing--simple > .container { display: flex; min-height: 15rem; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 3rem; }
.mockup-closing h2 { margin-bottom: .3rem; font-size: clamp(3rem, 6vw, 5.3rem); }
.mockup-closing p { color: #e1ebff; font-size: 1.2rem; }
.mockup-closing--simple > .container > .button { flex: 0 0 auto; }

/* Service hub and all service detail pages */
.post-type-archive-service .page-hero--services,
.single-service .service-hero { background: var(--ink); color: #fff; }
.single-service .breadcrumbs { max-width: none; padding: calc(var(--space-4) + .2rem) max(1.25rem, calc((100vw - var(--container)) / 2)); background: var(--ink); color: #b8c7dc; }
.single-service .breadcrumbs a { color: #d8e5f6; }
.single-service .breadcrumbs li:not(:last-child)::after { color: #7892b2; content: "→"; }
.service-hero { padding-block: 0; }
.service-hero__grid { width: 100%; max-width: none; grid-template-columns: 46% 54%; gap: 0; }
.service-hero__copy { display: flex; min-height: 38rem; flex-direction: column; justify-content: center; padding: clamp(3rem,6vw,6rem) max(2rem, calc((100vw - var(--container)) / 2)); }
.service-hero h1 { max-width: 14ch; font-size: clamp(3rem,5vw,4.8rem); }
.service-hero .eyebrow { color: #a9c5ff; }
.service-hero__lead { color: #e1eafa; }
.service-hero__scope { grid-template-columns: 1fr 1fr; border-color: rgba(255,255,255,.25); }
.service-hero__scope p { color: #c5d2e3; }
.service-hero__scope strong { color: #fff; }
.service-hero__note { color: #afc0d6; }
.service-hero .button--secondary { border-color: #fff; color: #fff; }
.service-hero .button--secondary:visited { color: #fff; }
.service-hero .button--primary { background: var(--coral); }
.service-hero__artifact { min-height: 38rem; }
.service-hero__artifact img { height: 100%; aspect-ratio: auto; object-fit: cover; }
.service-hero__artifact figcaption { position: absolute; right: 1.5rem; bottom: 1rem; left: 1.5rem; padding: .65rem; background: rgba(6,24,45,.9); color: #fff; }
.service-hero__artifact { position: relative; }
.service-hero__artifact .proof-label { color: #fff; }

.service-content { padding-block: clamp(4rem,7vw,6.5rem); }
.service-content__main > p:first-child { max-width: 58rem; color: var(--copy); font-size: 1.2rem; }
.service-content__main > section { padding-block: clamp(2.5rem,4vw,3.75rem); }
.service-content__main h2 { max-width: 18ch; }
.prinil-fit-columns,
.prinil-scope-columns { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem,5vw,5rem); }
.prinil-fit-columns > div,
.prinil-scope-columns > div { padding-top: 1.25rem; border-top: 2px solid var(--ink); }
.prinil-fit-columns > div:last-child { border-top-color: var(--coral); }
.prinil-scope-columns > div:last-child { border-top-color: var(--coral); }
.prinil-service-faq .prinil-faq-item { border-top: 1px solid var(--rule); }
.prinil-service-faq .prinil-faq-item:last-child { border-bottom: 1px solid var(--rule); }
.prinil-service-faq .prinil-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 1.15rem; color: var(--ink); font-family: var(--font-display); font-size: 1.08rem; font-weight: 700; cursor: pointer; list-style: none; }
.prinil-service-faq .prinil-faq-item summary::-webkit-details-marker { display: none; }
.prinil-service-faq .prinil-faq-item summary::after { content: "+"; flex: 0 0 auto; color: var(--cobalt); font-family: var(--font-body); font-size: 1.35rem; font-weight: 400; }
.prinil-service-faq .prinil-faq-item[open] summary::after { content: "−"; }
.prinil-service-faq .prinil-faq-item p { padding: 0 2.5rem 1.25rem 0; margin: 0; }
.service-pricing { background: #fff; }

.post-type-archive-service .page-hero__lead { color: #c5d2e3; }
.post-type-archive-service .page-hero .eyebrow { color: #a9c5ff; }
.post-type-archive-service .page-hero .button--secondary { border-color: #fff; color: #fff; }
.post-type-archive-service .page-hero__artifact img { min-height: 25rem; object-fit: cover; }
.post-type-archive-service .page-hero__artifact figcaption { color: #dbe5f4; }
.post-type-archive-service .page-hero__artifact .proof-label { color: #a9c5ff; }
.service-hub__group { border-top-width: 1px; }
.service-hub__list > a { transition: padding var(--transition), color var(--transition); }
.service-hub__list > a:hover { padding-inline: 1rem; background: var(--proof); }

/* Bring the same art direction to other page families. */
.page-hero,
.standard-page__hero { background: var(--proof); }
.page-hero--work { background: var(--ink); }
.page-hero h1,
.standard-page__hero h1 { font-size: clamp(3rem,5.5vw,5rem); }
.about-hero h1 { max-width: 16ch; font-size: clamp(2.75rem,4.5vw,3.6rem); }
.brand-heading__name { white-space: nowrap; }
.brand-heading__service { white-space: nowrap; }
.blog-hero { padding-block: clamp(3.5rem,6vw,5.5rem); background: #f4f7fc; }
.blog-hero .page-hero__grid { align-items: stretch; }
.blog-hero__copy { display: flex; flex-direction: column; justify-content: center; }
.blog-hero h1 { max-width: 12ch; margin-bottom: 1.5rem; font-size: clamp(3.1rem,5vw,4.75rem); }
.blog-hero .page-hero__lead { max-width: 44rem; margin-bottom: 2rem; line-height: 1.65; }
.blog-hero__search { display: grid; grid-template-columns: minmax(0,1fr) auto; max-width: 47rem; border: 2px solid var(--ink); background: #fff; }
.blog-hero__search input[type="search"] { min-width: 0; min-height: 3.9rem; padding: .85rem 1rem; border: 0; background: transparent; color: var(--ink); font: inherit; }
.blog-hero__search input[type="search"]:focus { outline: 3px solid var(--cobalt); outline-offset: -3px; }
.blog-hero__search button { display: inline-flex; min-height: 3.9rem; align-items: center; gap: .65rem; padding-inline: 1.2rem; border: 0; border-left: 2px solid var(--ink); background: var(--ink); color: #fff; font-weight: 800; white-space: nowrap; }
.blog-hero__search button:hover { background: var(--cobalt); }
.blog-hero__links { display: flex; flex-wrap: wrap; gap: .8rem 1.8rem; margin-top: 1.25rem; }
.blog-hero__links a { display: inline-flex; align-items: center; gap: .45rem; color: var(--ink); font-weight: 800; }
.blog-topic-index { align-self: stretch; background: var(--ink); color: #fff; }
.blog-topic-index > header { padding: clamp(1.7rem,3vw,2.5rem); }
.blog-topic-index .eyebrow { color: #9eb7ff; }
.blog-topic-index h2 { max-width: 15ch; margin: 0; font-size: clamp(1.65rem,2.8vw,2.4rem); }
.blog-topic-index nav { border-top: 1px solid rgba(255,255,255,.25); }
.blog-topic-index nav a { display: grid; min-height: 4.8rem; grid-template-columns: 2.4rem minmax(0,1fr) auto auto; gap: 1rem; align-items: center; padding: .85rem clamp(1.2rem,3vw,2rem); border-bottom: 1px solid rgba(255,255,255,.2); color: #fff; text-decoration: none; }
.blog-topic-index nav a:hover { background: var(--cobalt); }
.blog-topic-index nav a > span { color: #9eb7ff; font-weight: 800; }
.blog-topic-index nav a > strong { font-size: 1.02rem; }
.blog-topic-index nav a > small { color: #aebdd2; white-space: nowrap; }
.blog-topic-index nav a:hover > span,
.blog-topic-index nav a:hover > small { color: #fff; }
.site-footer--compact { padding-top: 0; }
.compact-footer__main {
  display: grid;
  min-height: 7.5rem;
  grid-template-columns: auto 1fr auto;
  gap: clamp(2rem,5vw,5rem);
  align-items: center;
}
.compact-footer__main .site-brand--footer { margin: 0; }
.compact-footer__main > p { margin: 0; color: #b9c7da; font-size: .8rem; text-align: right; }
.compact-footer__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem clamp(1rem,2vw,2rem); }
.compact-footer__nav a { color: #fff; font-size: .9rem; font-weight: 700; text-decoration: none; }
.compact-footer__legal {
  display: flex;
  min-height: 4rem;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  border-top: 1px solid rgba(255,255,255,.2);
  color: #aebdd2;
  font-size: .76rem;
}
.compact-footer__legal p { margin: 0; }
.compact-footer__legal > div { display: flex; flex-wrap: wrap; gap: .7rem 1.25rem; }
.compact-footer__legal a,
.compact-footer__legal button { padding: 0; border: 0; background: transparent; color: #d5deeb; font-size: inherit; }

/* Complete footer */
.agency-footer { padding-top: 0; background: #101d34; }
.agency-footer__grid {
  display: grid;
  grid-template-columns: 1.25fr repeat(3, 1fr);
  gap: clamp(3rem, 7vw, 7rem);
  padding-block: clamp(4.5rem, 8vw, 7rem);
}
.agency-footer__brand { max-width: 21rem; }
.agency-footer__logo { display: inline-flex; flex-direction: column; gap: .7rem; margin-bottom: 1.7rem; color: #fff; text-decoration: none; }
.agency-footer__logo:visited { color: #fff; }
.agency-footer__official-logo { display: block; width: min(10.5rem, 100%); height: auto; }
.agency-footer__logo > span { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: .42rem; background: #3d5ed0; font-family: var(--font-display); font-size: 1.15rem; font-weight: 700; }
.agency-footer__logo strong { font-family: var(--font-display); font-size: 1.7rem; letter-spacing: -.035em; }
.agency-footer__logo strong span { color: #6280ed; }
.agency-footer__brand p { color: #9eabc0; line-height: 1.65; }
.agency-footer__address { margin: 0 0 1rem; color: #bac5d7; font-style: normal; line-height: 1.65; }
.agency-footer__address span { color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.agency-footer__email { display: inline-flex; margin-top: .6rem; color: #fff; font-weight: 700; }
.agency-footer__column { display: flex; flex-direction: column; align-items: flex-start; }
.agency-footer__column h2 { margin-bottom: 1.35rem; color: #fff; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.agency-footer__column a { padding-block: .42rem; color: #bbc6d8; line-height: 1.4; text-decoration: none; }
.agency-footer__column a:visited { color: #bbc6d8; }
.agency-footer__column a:hover { color: #fff; }
.agency-footer__legal { display: flex; min-height: 5.2rem; align-items: center; justify-content: space-between; gap: 2rem; border-top: 1px solid rgba(255,255,255,.14); color: #8e9bb0; font-size: .8rem; }
.agency-footer__legal p { margin: 0; }
.agency-footer__legal > div { display: flex; flex-wrap: wrap; gap: .75rem 1.35rem; justify-content: flex-end; }
.agency-footer__legal a,
.agency-footer__legal button { padding: 0; border: 0; background: transparent; color: #aeb9cb; font-size: inherit; }

/* Full service-page redesign */
.single-service .site-header { box-shadow: none; }
.service-jump { position: sticky; z-index: 120; top: var(--header-height); border-bottom: 1px solid var(--rule); background: rgba(255,255,255,.97); }
.service-jump > .container { display: flex; min-height: 3.8rem; align-items: center; gap: clamp(1rem,3vw,2.4rem); overflow-x: auto; scrollbar-width: none; }
.service-jump > .container::-webkit-scrollbar { display: none; }
.service-jump span { flex: 0 0 auto; color: var(--copy); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.service-jump a { flex: 0 0 auto; color: var(--ink); font-size: .9rem; font-weight: 700; text-decoration: none; }
.service-jump a:hover { color: var(--cobalt); }

.single-service .service-content { display: grid; grid-template-columns: minmax(0,1fr) minmax(17rem,19rem); gap: clamp(3rem,6vw,6rem); align-items: start; }
.single-service .service-content__main { min-width: 0; }
.single-service .service-content__main > p:first-child { max-width: 62rem; margin-bottom: clamp(3rem,6vw,5rem); color: var(--ink); font-family: var(--font-display); font-size: clamp(1.4rem,2.5vw,2rem); font-weight: 600; line-height: 1.32; }
.single-service .service-content__main > section { display: block; padding-block: clamp(3.5rem,6vw,5.5rem); }
.single-service .service-content__main > section > h2 { max-width: 22ch; margin: 0 0 clamp(1.6rem,3vw,2.4rem); font-size: clamp(2rem,3.5vw,3.15rem); line-height: 1.05; }
.single-service .service-content__main > section > h2 + p,
.single-service .service-content__main > section > h2 + ul,
.single-service .service-content__main > section > h2 + ol,
.single-service .service-content__main > section > h2 + div { grid-column: auto; }
.single-service .service-content__main p,
.single-service .service-content__main li { max-width: 68ch; color: #35445a; font-size: clamp(1.03rem,1.15vw,1.1rem); line-height: 1.75; text-wrap: pretty; }
.single-service .service-content__main p + p { margin-top: 1.2rem; }
.single-service .service-content__main li + li { margin-top: .65rem; }
.service-sidebar { min-width: 0; align-self: stretch; }
.service-sidebar__inner { position: sticky; top: calc(var(--header-height) + 4.75rem); padding-top: 1rem; border-top: 2px solid var(--ink); }
.service-sidebar h2 { margin: 0 0 1rem; font-size: 1.4rem; }
.service-sidebar dl { margin: 0 0 1rem; border-bottom: 1px solid var(--rule); }
.service-sidebar dl > div { padding-block: .75rem; border-top: 1px solid var(--rule); }
.service-sidebar dt { margin-bottom: .35rem; color: #52647d; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.service-sidebar dd { margin: 0; color: #35445a; font-size: .88rem; line-height: 1.55; }
.service-sidebar__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .55rem; }
.service-sidebar__price strong { color: var(--ink); font-family: var(--font-display); font-size: 1.65rem; line-height: 1; }
.service-sidebar__price span { color: #52647d; font-size: .76rem; font-weight: 700; }
.service-sidebar__links { display: grid; margin-bottom: 1rem; }
.service-sidebar__links a { display: flex; min-height: 2.6rem; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--rule); color: var(--ink); font-size: .82rem; font-weight: 800; text-decoration: none; }
.service-sidebar__links a:first-child { border-top: 1px solid var(--rule); }
.service-sidebar__links a:hover { color: var(--cobalt); }
.service-sidebar__links .icon { flex: 0 0 auto; }
.service-sidebar .button { width: 100%; justify-content: space-between; }
.service-sidebar__note { margin: .6rem 0 0; color: #52647d; font-size: .73rem; line-height: 1.4; }
.single-service .prinil-fit-columns,
.single-service .prinil-scope-columns { grid-column: auto; margin-top: .75rem; }
.single-service .service-pricing { background: #fff; }
.single-service .price-panel { padding: 2rem; border: 0; background: var(--ink); color: #fff; }
.single-service .price-panel span,
.single-service .price-panel small { color: #b8c7dc; }
.single-service .price-panel p { border-color: rgba(255,255,255,.2); }
.single-service .price-panel a { color: #fff; }
.service-packages { scroll-margin-top: 8rem; padding-block: clamp(4.5rem,8vw,7.5rem); background: #f2f6fc; border-block: 1px solid #cbd7e8; }
.service-packages__intro { display: grid; grid-template-columns: minmax(0,.9fr) minmax(20rem,1.1fr); gap: clamp(2rem,7vw,7rem); align-items: end; margin-bottom: clamp(3rem,6vw,5rem); }
.service-packages__intro h2 { max-width: 15ch; margin-bottom: 0; }
.service-packages__intro > p { max-width: 42rem; margin: 0; color: #40516a; font-size: clamp(1.05rem,1.4vw,1.2rem); }
.service-package-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,19rem),1fr)); gap: 1.25rem; align-items: stretch; }
.service-package { display: flex; flex-direction: column; min-width: 0; padding: clamp(1.5rem,3vw,2rem); border: 1px solid #b9c8dc; background: #fff; box-shadow: 0 14px 32px rgba(7,25,50,.06); }
.service-package--featured { border: 2px solid var(--cobalt); box-shadow: 0 20px 44px rgba(22,75,206,.14); }
.service-package__header > div { display: flex; min-height: 1.6rem; align-items: center; justify-content: space-between; gap: 1rem; }
.service-package__number { color: #52647d; font-size: .78rem; font-weight: 800; letter-spacing: .08em; }
.service-package__flag { padding: .35rem .55rem; background: var(--cobalt); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.service-package h3 { margin: 1.1rem 0 .65rem; font-size: clamp(1.65rem,2.5vw,2.15rem); }
.service-package__header p { min-height: 4.3em; margin: 0; color: #40516a; }
.service-package__price { display: flex; align-items: baseline; gap: .65rem; margin: 1.7rem 0 1.3rem; }
.service-package__price strong { font-family: var(--font-display); color: var(--ink); font-size: clamp(2.5rem,4vw,3.55rem); line-height: .95; letter-spacing: -.035em; }
.service-package__price span { color: #52647d; font-size: .82rem; font-weight: 700; }
.service-package__facts { margin: 0 0 1.5rem; border-block: 1px solid #d6dfeb; }
.service-package__facts > div { display: grid; grid-template-columns: 7.5rem minmax(0,1fr); gap: .75rem; padding-block: .75rem; }
.service-package__facts > div + div { border-top: 1px solid #e4eaf2; }
.service-package__facts dt { color: #52647d; font-size: .75rem; font-weight: 800; }
.service-package__facts dd { margin: 0; color: var(--ink); font-size: .82rem; font-weight: 700; }
.service-package h4 { margin: 0 0 .8rem; font-size: .82rem; }
.service-package > ul { display: grid; gap: .7rem; padding: 0; margin: 0 0 1.8rem; list-style: none; }
.service-package > ul li { display: grid; grid-template-columns: 1.1rem minmax(0,1fr); gap: .6rem; align-items: start; color: #263a55; font-size: .88rem; line-height: 1.45; }
.service-package > ul .icon { width: 1rem; margin-top: .15rem; color: var(--cobalt); }
.service-package > .button { width: 100%; justify-content: space-between; margin-top: auto; }
.service-package-disclosure { margin-top: clamp(2rem,4vw,3rem); border-block: 1px solid #b9c8dc; }
.service-package-disclosure summary { display: flex; min-height: 4.5rem; align-items: center; justify-content: space-between; gap: 1.5rem; color: var(--ink); font-weight: 800; cursor: pointer; list-style: none; }
.service-package-disclosure summary::-webkit-details-marker { display: none; }
.service-package-disclosure summary::after { content: '+'; color: var(--cobalt); font-size: 1.6rem; font-weight: 500; }
.service-package-disclosure[open] summary::after { content: '−'; }
.service-package-terms { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(1.5rem,3vw,3rem); padding-block: 0 clamp(2.5rem,5vw,4rem); }
.service-package-terms h3 { margin-bottom: .8rem; font-size: 1.12rem; }
.service-package-terms p,
.service-package-terms ul { margin: 0; color: #40516a; font-size: .88rem; line-height: 1.6; }
.service-package-terms ul { display: grid; gap: .45rem; padding-left: 1rem; }
.service-packages__custom { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.5rem,4vw,2.5rem); margin-top: 2rem; background: var(--ink); color: #fff; }
.service-packages__custom strong { display: block; margin-bottom: .35rem; font-size: 1.18rem; }
.service-packages__custom p { max-width: 48rem; margin: 0; color: #c9d6e6; }
.service-packages__custom .button { flex: 0 0 auto; background: #fff; color: var(--ink); border-color: #fff; }
.service-packages__custom .button:hover { background: var(--coral); color: #fff; border-color: var(--coral); }
.selected-package { display: grid; gap: .45rem; padding: 1.1rem 1.25rem; border: 1px solid #9ab4dc; background: #edf4ff; }
.selected-package[hidden] { display: none; }
.selected-package span { color: #40516a; font-size: .76rem; font-weight: 800; }
.selected-package strong { color: var(--ink); font-size: 1rem; }
.selected-package button { width: fit-content; padding: 0; border: 0; background: transparent; color: var(--cobalt); font: inherit; font-size: .8rem; font-weight: 800; text-decoration: underline; text-underline-offset: .18em; cursor: pointer; }
.selected-package button:focus-visible { outline: 3px solid var(--coral); outline-offset: 4px; }
.single-service .related-services { background: #f7f9fc; }
.single-service .related-services__grid a { padding-block: 1.8rem; }
.service-final-cta { padding-block: clamp(2.5rem,5vw,4rem); background: var(--ink); color: #fff; }
.service-final-cta > .container { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.service-final-cta h2 { margin-bottom: .45rem; font-size: clamp(1.75rem,3vw,2.6rem); }
.service-final-cta p { max-width: 48rem; margin: 0; color: #c7d3e3; }
.service-final-cta .button { flex: 0 0 auto; background: #fff; color: var(--ink); border-color: #fff; }

@media (max-width: 63.99rem) {
  .home .primary-navigation { background: var(--ink); }
  .home .primary-menu > li { border-color: rgba(255,255,255,.2); }
  .home .mobile-utility-links a { color: #fff; }
  .studio-hero { min-height: 0; grid-template-columns: 1fr; }
  .studio-hero__copy { padding: calc(var(--header-height) + 3.5rem) 2rem 3.5rem; }
  .studio-hero__copy::after { display: none; }
  .studio-hero__visual { height: clamp(22rem,65vw,36rem); }
  .studio-hero h1 { max-width: 13ch; }
  .mockup-services { grid-template-columns: 1fr; }
  .mockup-services__feature { min-height: 42rem; }
  .mockup-services__directory { min-height: 45rem; }
  .mockup-process__grid { grid-template-columns: 1fr; }
  .service-hero__grid { grid-template-columns: 1fr; }
  .service-hero__copy { min-height: auto; padding: 3.5rem 2rem; }
  .service-hero__artifact { min-height: 28rem; }
  .compact-footer__main { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 2.5rem; }
  .compact-footer__nav { justify-content: flex-start; }
  .compact-footer__main > p { text-align: left; }
  .agency-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 3.5rem; }
  .single-service .service-content { grid-template-columns: 1fr; }
  .service-sidebar { order: -1; }
  .service-sidebar__inner { position: static; }
  .service-sidebar dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .service-sidebar dl > div { padding-inline: 1rem; border-bottom: 0; }
  .service-sidebar dl > div:first-child { padding-left: 0; }
  .service-sidebar dl > div:last-child { padding-right: 0; }
  .service-sidebar .button { width: fit-content; }
  .service-packages__intro { grid-template-columns: 1fr; }
  .service-package-terms { grid-template-columns: 1fr; }
}

@media (min-width: 64rem) {
  .home-team-proof__grid { grid-template-columns: minmax(0, 1.08fr) minmax(22rem, .92fr); }
}

@media (max-width: 47.99rem) {
  .studio-hero h1 { font-size: clamp(2.7rem,12vw,4rem); }
  .studio-hero__lead { font-size: 1rem; }
  .trust-bar__grid { grid-template-columns: repeat(2,1fr); }
  .trust-bar__grid > div { min-height: 8rem; border-bottom: 1px solid rgba(255,255,255,.15); }
  .trust-bar__grid > div:nth-child(2) { border-right: 0; }
  .mockup-work__header { align-items: flex-start; flex-direction: column; }
  .mockup-work__grid { grid-template-columns: 1fr; }
  .blog-hero h1 { font-size: clamp(2.75rem,11vw,4rem); }
  .blog-hero__search { grid-template-columns: 1fr; }
  .blog-hero__search button { justify-content: space-between; border-top: 2px solid var(--ink); border-left: 0; }
  .blog-topic-index nav a { grid-template-columns: 2rem minmax(0,1fr) auto; gap: .7rem; }
  .blog-topic-index nav a > small { display: none; }
  .home-team-proof__image img { aspect-ratio: 1 / 1; object-position: 48% center; }
  .home-team-proof__links { align-items: flex-start; flex-direction: column; }
  .mockup-services__feature { min-height: 34rem; }
  .mockup-services__feature figure { height: 48%; }
  .mockup-services__directory { padding: 2rem 1.25rem; }
  .mockup-services .service-row { min-height: 4.5rem; }
  .mockup-process ol { grid-template-columns: 1fr; }
  .mockup-process li,
  .mockup-process li:nth-child(n+3),
  .mockup-process li:nth-child(odd) { padding: 1.5rem 0; border-right: 0; border-bottom: 1px solid #9bb8ec; }
  .mockup-process li:first-child { padding-top: 0; }
  .mockup-process li:last-child { border-bottom: 0; }
  .service-hero__copy { padding-inline: 1.25rem; }
  .service-hero h1 { font-size: clamp(2.65rem,11vw,4rem); }
  .service-hero__scope { grid-template-columns: 1fr; }
  .prinil-fit-columns,
  .prinil-scope-columns { grid-template-columns: 1fr; }
  .compact-footer__legal { align-items: flex-start; flex-direction: column; padding-block: 1.5rem; }
  .agency-footer__grid { grid-template-columns: 1fr; gap: 2.8rem; }
  .agency-footer__brand { max-width: none; }
  .agency-footer__legal { align-items: flex-start; flex-direction: column; padding-block: 1.5rem; }
  .agency-footer__legal > div { justify-content: flex-start; }
  .service-sidebar dl { grid-template-columns: 1fr; }
  .service-sidebar dl > div { padding-inline: 0; }
  .service-sidebar .button { width: 100%; }
  .service-jump > .container { width: calc(100% - 2rem); }
  .service-jump span { display: none; }
  .single-service .service-content__main > section { display: block; }
  .single-service .service-content__main > section > h2 { margin-bottom: 1.5rem; }
  .single-service .prinil-fit-columns,
  .single-service .prinil-scope-columns { display: grid; }
  .service-package__header p { min-height: 0; }
  .service-packages__custom { align-items: stretch; flex-direction: column; }
  .service-packages__custom .button { width: 100%; justify-content: space-between; }
  .service-final-cta > .container,
  .mockup-closing--simple > .container { align-items: stretch; flex-direction: column; }
  .service-final-cta .button,
  .mockup-closing--simple .button { width: 100%; justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  .mockup-work__grid img { transition: none; }
}

/* Verified, image-led team directory */
.real-team-section {
  scroll-margin-top: 1.25rem;
  padding-block: clamp(5rem,9vw,8.5rem);
  border-block: 1px solid var(--rule);
  background: #fff;
}
.real-team-intro {
  display: grid;
  grid-template-columns: minmax(18rem,.9fr) minmax(0,1.1fr);
  gap: clamp(3rem,8vw,8rem);
  align-items: start;
  margin-bottom: clamp(3.5rem,7vw,6rem);
}
.real-team-intro > div:first-child > p {
  margin: 0 0 1rem;
  color: var(--cobalt);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.real-team-intro h2 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.7rem,4.8vw,4.65rem);
  line-height: 1;
}
.real-team-intro > div:last-child { max-width: 46rem; }
.real-team-intro > div:last-child p {
  margin: 0;
  color: #35465f;
  font-size: clamp(1.04rem,1.25vw,1.16rem);
  line-height: 1.75;
}
.real-team-intro > div:last-child p + p { margin-top: 1.2rem; }
.team-lead-directory { display: grid; gap: 1px; border: 1px solid #263954; background: #263954; }
.team-leader {
  display: grid;
  min-width: 0;
  min-height: 24rem;
  grid-template-columns: minmax(18rem,42%) minmax(0,58%);
  background: var(--ink);
  color: #fff;
}
.team-leader:nth-child(even) { grid-template-columns: minmax(0,58%) minmax(18rem,42%); background: var(--cobalt); }
.team-leader:nth-child(even) figure { order: 2; }
.team-leader figure { min-width: 0; margin: 0; overflow: hidden; background: #dfe7f0; }
.team-leader figure img { width: 100%; height: 100%; object-fit: cover; }
.team-leader > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem,5vw,4.5rem); }
.team-leader > div > p {
  margin: 0 0 .9rem;
  color: #a9c2ff;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.team-leader:nth-child(even) > div > p { color: #d7e4ff; }
.team-leader h3 { max-width: 13ch; margin: 0 0 1rem; color: #fff; font-size: clamp(2.25rem,4vw,4rem); line-height: 1; }
.team-leader > div > span { display: block; max-width: 36rem; color: #c7d4e5; font-size: 1.02rem; line-height: 1.7; }
.team-leader:nth-child(even) > div > span { color: #e4ecff; }
.team-department { margin-top: clamp(5rem,8vw,7.5rem); }
.team-department > header {
  display: grid;
  grid-template-columns: minmax(16rem,.75fr) minmax(0,1.25fr);
  gap: 2rem clamp(3rem,8vw,8rem);
  align-items: end;
  padding-block: 1.35rem;
  border-block: 2px solid var(--ink);
}
.team-department > header h3 { max-width: 15ch; margin: 0; font-size: clamp(2rem,3.5vw,3.15rem); }
.team-department > header p { max-width: 46rem; margin: 0; color: #44566f; line-height: 1.7; }
.team-portrait-directory {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,15rem),1fr));
  gap: clamp(1.25rem,2vw,2rem);
  padding-top: clamp(2rem,4vw,3rem);
}
.team-portrait-directory--compact { grid-template-columns: repeat(4,minmax(0,1fr)); }
.team-person { min-width: 0; }
.team-person figure { margin: 0; overflow: hidden; background: #e1e8f0; }
.team-person figure img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  transition: transform 450ms cubic-bezier(.16,1,.3,1);
}
.team-person:hover figure img { transform: scale(1.025); }
.team-person > div { min-height: 11rem; padding: 1.1rem 0 1.35rem; border-bottom: 1px solid var(--rule); }
.team-person h4 { margin: 0 0 .35rem; font-size: 1.38rem; line-height: 1.15; }
.team-person p { margin: 0 0 .7rem; color: var(--cobalt); font-size: .82rem; font-weight: 800; line-height: 1.4; }
.team-person span { display: block; color: #43536a; font-size: .84rem; line-height: 1.6; text-wrap: pretty; }
.team-ownership-note {
  display: grid;
  grid-template-columns: minmax(16rem,.75fr) minmax(0,1.25fr);
  gap: clamp(2.5rem,7vw,7rem);
  align-items: start;
  padding: clamp(2rem,5vw,4rem);
  margin-top: clamp(4rem,8vw,7rem);
  background: var(--ink);
  color: #fff;
}
.team-ownership-note h3 { margin: 0 0 .8rem; color: #fff; font-size: clamp(2rem,3.4vw,3rem); }
.team-ownership-note > div p { max-width: 34rem; margin: 0; color: #becbdb; line-height: 1.7; }
.team-ownership-note ol { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; padding: 0; margin: 0; border-block: 1px solid rgba(255,255,255,.22); list-style: none; }
.team-ownership-note li { padding: 1.4rem; }
.team-ownership-note li:first-child { padding-left: 0; }
.team-ownership-note li + li { border-left: 1px solid rgba(255,255,255,.22); }
.team-ownership-note strong,
.team-ownership-note span { display: block; }
.team-ownership-note strong { margin-bottom: .45rem; color: #fff; font-size: .88rem; }
.team-ownership-note span { color: #b8c6d8; font-size: .78rem; line-height: 1.5; }

@media (max-width: 63.99rem) {
  .real-team-intro { grid-template-columns: 1fr; gap: 2rem; }
  .real-team-intro h2 { max-width: 16ch; }
  .team-leader,
  .team-leader:nth-child(even) { grid-template-columns: minmax(16rem,42%) minmax(0,58%); }
  .team-leader:nth-child(even) figure { order: 0; }
  .team-portrait-directory--compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .team-ownership-note { grid-template-columns: 1fr; }
}

@media (max-width: 47.99rem) {
  .team-leader,
  .team-leader:nth-child(even) { grid-template-columns: 1fr; }
  .team-leader figure { min-height: 22rem; }
  .team-leader > div { padding: 2rem 1.4rem 2.4rem; }
  .team-department > header { grid-template-columns: 1fr; gap: .8rem; }
  .team-portrait-directory { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .team-person > div { min-height: 12.5rem; }
  .team-ownership-note ol { grid-template-columns: 1fr; }
  .team-ownership-note li,
  .team-ownership-note li:first-child { padding: 1.1rem 0; }
  .team-ownership-note li + li { border-top: 1px solid rgba(255,255,255,.22); border-left: 0; }
}

@media (max-width: 33.99rem) {
  .team-portrait-directory,
  .team-portrait-directory--compact { grid-template-columns: 1fr; }
  .team-person > div { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .team-person figure img { transition: none; }
  .team-person:hover figure img { transform: none; }
}

/* Approved conversion pilot: Custom T-shirt Design */
.tshirt-conversion-page {
  overflow: clip;
  background: #fff;
}
.tshirt-conversion-page .breadcrumbs {
  padding-block: .75rem;
  background: #fff;
  color: #59687d;
  font-size: .76rem;
}
.tshirt-conversion-page .breadcrumbs a { color: var(--cobalt); }
.tshirt-conversion-page .breadcrumbs li:not(:last-child)::after { color: #9aabba; }
.tshirt-sales-hero {
  display: grid;
  min-height: clamp(43rem,52vw,50rem);
  grid-template-columns: minmax(0,48%) minmax(0,52%);
  background: var(--ink);
  color: #fff;
}
.tshirt-sales-hero__copy {
  display: flex;
  align-items: center;
  padding: clamp(4rem,7vw,6rem) clamp(2.25rem,5vw,5.5rem) clamp(4rem,7vw,6rem) max(2rem,calc((100vw - var(--container)) / 2));
  background: var(--ink);
}
.tshirt-sales-hero__copy-inner { max-width: 42rem; }
.tshirt-sales-hero__kicker {
  margin: 0 0 1.35rem;
  color: #9db9ff;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.tshirt-sales-hero h1 {
  max-width: 10.5ch;
  margin: 0 0 1.35rem;
  font-size: clamp(3.2rem,5.25vw,5rem);
  line-height: .95;
  letter-spacing: -.045em;
}
.service-conversion--long-title .tshirt-sales-hero h1 { font-size: clamp(2.9rem,4.4vw,4.25rem); }
.service-conversion--extra-long-title .tshirt-sales-hero h1 { font-size: clamp(2.7rem,3.8vw,3.75rem); }
@media (min-width: 64rem) {
  .service-conversion--long-title .tshirt-sales-hero,
  .service-conversion--extra-long-title .tshirt-sales-hero { grid-template-columns: minmax(0,52%) minmax(0,48%); }
}
.tshirt-sales-hero__promise {
  max-width: 31rem;
  margin: 0 0 1rem;
  color: #fff;
  font-family: var(--font-display);
  font-size: clamp(1.3rem,2vw,1.65rem);
  font-weight: 700;
  line-height: 1.3;
  text-wrap: balance;
}
.tshirt-sales-hero__lead {
  max-width: 38rem;
  margin: 0 0 1.6rem;
  color: #c8d4e5;
  font-size: 1rem;
  line-height: 1.7;
}
.tshirt-sales-hero__facts {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  max-width: 36rem;
  margin: 0 0 1.7rem;
  border-block: 1px solid rgba(255,255,255,.2);
}
.tshirt-sales-hero__facts > div { padding: 1rem 1.25rem 1rem 0; }
.tshirt-sales-hero__facts > div + div { padding-left: 1.25rem; border-left: 1px solid rgba(255,255,255,.2); }
.tshirt-sales-hero__facts dt {
  margin-bottom: .25rem;
  color: #98a9c0;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.tshirt-sales-hero__facts dd {
  margin: 0;
  color: #fff;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
}
.tshirt-sales-hero .button-group { gap: .8rem; }
.tshirt-sales-hero .button--coral:hover { background: #b93620; color: #fff; }
.tshirt-sales-hero__note { margin: .9rem 0 0; color: #aebdd1; font-size: .78rem; }
.tshirt-sales-hero__visual { position: relative; min-width: 0; margin: 0; overflow: hidden; background: #dbe5ec; }
.tshirt-sales-hero__visual::before,
.tshirt-sales-hero__visual::after {
  position: absolute;
  z-index: 2;
  width: 2.25rem;
  height: 2.25rem;
  border-color: #fff;
  content: "";
  pointer-events: none;
}
.tshirt-sales-hero__visual::before { top: 1.5rem; left: 1.5rem; border-top: 2px solid; border-left: 2px solid; }
.tshirt-sales-hero__visual::after { right: 1.5rem; bottom: 1.5rem; border-right: 2px solid; border-bottom: 2px solid; }
.tshirt-sales-hero__visual img { width: 100%; height: 100%; object-fit: cover; object-position: 54% center; }
.tshirt-sales-hero__visual figcaption {
  position: absolute;
  right: 2rem;
  bottom: 2rem;
  left: 2rem;
  max-width: 30rem;
  padding: .8rem 1rem;
  background: rgba(6,24,45,.88);
  color: #e3ebf7;
  font-size: .76rem;
  line-height: 1.5;
}
.tshirt-sales-hero__visual .proof-label { margin-right: .55rem; color: #fff; }

.tshirt-proof-strip { display: grid; grid-template-columns: repeat(4,1fr); background: var(--ink); color: #fff; }
.tshirt-proof-strip > div {
  display: flex;
  min-height: 9.5rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  border-right: 1px solid rgba(255,255,255,.2);
  text-align: center;
}
.tshirt-proof-strip > div:last-child { border-right: 0; }
.tshirt-proof-strip strong { font-family: var(--font-display); font-size: clamp(2.1rem,3.2vw,3rem); line-height: 1; }
.tshirt-proof-strip strong i { color: #f0b33d; font-style: normal; }
.tshirt-proof-strip span { margin-top: .8rem; color: #c8d8ff; font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.tshirt-service-jump { top: var(--header-height); }
.tshirt-seo-intro { scroll-margin-top: 1.25rem; padding-block: clamp(3.5rem,5.5vw,5rem); border-bottom: 1px solid var(--rule); }
.tshirt-seo-intro__grid { display: grid; grid-template-columns: minmax(18rem,.85fr) minmax(0,1.15fr); gap: clamp(3rem,8vw,8rem); align-items: start; }
.tshirt-seo-intro h2 { max-width: 13ch; margin: 0; font-size: clamp(2.55rem,4.4vw,4.25rem); line-height: 1.02; }
.tshirt-seo-intro p { max-width: 66ch; margin: 0; color: #33445d; font-size: clamp(1.03rem,1.25vw,1.15rem); line-height: 1.8; }
.tshirt-seo-intro p + p { margin-top: 1.35rem; }

.tshirt-offer-clarity { scroll-margin-top: 1.25rem; padding-block: clamp(3.25rem,5vw,4.5rem); background: var(--proof); }
.tshirt-offer-clarity h2 { max-width: 16ch; margin: 0 0 clamp(2.5rem,5vw,4rem); font-size: clamp(2.4rem,4vw,3.8rem); }
.tshirt-offer-clarity__grid { display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid #9fb6d5; }
.tshirt-offer-clarity article { padding: clamp(1.6rem,3vw,2.5rem) clamp(1.5rem,3vw,2.7rem); }
.tshirt-offer-clarity article:first-child { padding-left: 0; }
.tshirt-offer-clarity article + article { border-left: 1px solid #9fb6d5; }
.tshirt-offer-clarity h3 { margin: 0 0 .7rem; font-size: 1.35rem; }
.tshirt-offer-clarity p { max-width: 33rem; margin: 0; color: #40516a; line-height: 1.7; }

.tshirt-details { scroll-margin-top: 1.25rem; padding-block: clamp(5rem,9vw,8rem); }
.tshirt-details__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(17rem,19rem); gap: clamp(3.5rem,7vw,7rem); align-items: start; }
.tshirt-details__body { min-width: 0; }
.tshirt-details__intro { padding-bottom: clamp(2.5rem,5vw,4rem); border-bottom: 1px solid var(--rule); }
.tshirt-details__intro h2 { max-width: 16ch; margin: 0 0 1rem; font-size: clamp(2.45rem,4.2vw,4rem); line-height: 1.03; }
.tshirt-details__intro p { max-width: 60ch; margin: 0; color: #50617a; font-size: 1.08rem; line-height: 1.7; }
.tshirt-details__body > section { padding-block: clamp(3.4rem,6vw,5.2rem); border-bottom: 1px solid var(--rule); }
.tshirt-details__body > section > h2 { max-width: 20ch; margin: 0 0 1.6rem; font-size: clamp(2rem,3.3vw,3.1rem); line-height: 1.08; }
.tshirt-details__body p,
.tshirt-details__body li { max-width: 68ch; color: #35445a; font-size: clamp(1rem,1.15vw,1.08rem); line-height: 1.78; text-wrap: pretty; }
.tshirt-details__body p + p { margin-top: 1.15rem; }
.tshirt-details__body li + li { margin-top: .6rem; }
.tshirt-details__body .prinil-fit-columns,
.tshirt-details__body .prinil-scope-columns { margin-top: 1.4rem; }
.tshirt-sidebar { min-width: 0; align-self: stretch; }
.tshirt-sidebar__inner { position: sticky; top: calc(var(--header-height) + 4.75rem); padding-top: 1rem; border-top: 3px solid var(--coral); }
.tshirt-sidebar h2 { margin: 0 0 1rem; font-size: 1.4rem; }
.tshirt-sidebar dl { margin: 0 0 1.25rem; border-bottom: 1px solid var(--rule); }
.tshirt-sidebar dl > div { padding-block: .85rem; border-top: 1px solid var(--rule); }
.tshirt-sidebar dt { margin-bottom: .3rem; color: #5b6b81; font-size: .69rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tshirt-sidebar dd { margin: 0; color: #34465f; font-size: .86rem; line-height: 1.55; }
.tshirt-sidebar dd strong { margin-right: .25rem; color: var(--ink); font-family: var(--font-display); font-size: 1.6rem; line-height: 1; }
.tshirt-sidebar dd span { color: #607087; font-size: .73rem; font-weight: 700; }
.tshirt-sidebar .button { width: 100%; justify-content: space-between; }
.tshirt-sidebar__inner > p { margin: .7rem 0 0; color: #66768c; font-size: .73rem; line-height: 1.5; }

.tshirt-packages { scroll-margin-top: 1.25rem; padding-block: clamp(3.75rem,6vw,5.5rem); border-block: 1px solid #c3d2e6; background: var(--proof); }
.tshirt-packages__intro { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(15rem,.85fr); gap: clamp(2rem,6vw,6rem); align-items: end; margin-bottom: clamp(3rem,5vw,4.5rem); }
.tshirt-packages__intro h2 { max-width: 18ch; margin: 0 0 1rem; font-size: clamp(2.55rem,4.5vw,4.25rem); line-height: 1.02; }
.tshirt-packages__intro p { max-width: 54rem; margin: 0; color: #40516a; font-size: 1.08rem; line-height: 1.7; }
.tshirt-packages__intro > a { justify-self: end; color: var(--cobalt); font-weight: 800; text-align: right; }
.tshirt-package-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.2rem; align-items: stretch; }
.tshirt-package { position: relative; display: flex; min-width: 0; flex-direction: column; padding: clamp(1.5rem,2.7vw,2rem); border: 1px solid #aebfd5; background: #fff; }
.tshirt-package--featured { border: 2px solid var(--coral); }
.tshirt-package__flag { position: absolute; top: 0; right: 0; padding: .5rem .7rem; background: var(--coral-action); color: #fff; font-size: .66rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tshirt-package__number { margin: 0 0 1rem; color: #64758b; font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.tshirt-package h3 { margin: 0 0 .65rem; font-size: clamp(1.7rem,2.3vw,2.15rem); }
.tshirt-package__fit { min-height: 4.8em; margin: 0; color: #45566d; font-size: .91rem; line-height: 1.6; }
.tshirt-package__price { display: flex; align-items: baseline; gap: .6rem; margin: 1.6rem 0 1.3rem; }
.tshirt-package__price strong { color: var(--ink); font-family: var(--font-display); font-size: clamp(2.7rem,4vw,3.6rem); line-height: .9; letter-spacing: -.04em; }
.tshirt-package__price span { color: #627287; font-size: .76rem; font-weight: 700; }
.tshirt-package__facts { margin: 0 0 1.5rem; border-block: 1px solid #cfdae8; }
.tshirt-package__facts > div { display: grid; grid-template-columns: 5.4rem 1fr; gap: .7rem; padding-block: .7rem; }
.tshirt-package__facts > div + div { border-top: 1px solid #e1e7ef; }
.tshirt-package__facts dt { color: #697a90; font-size: .69rem; font-weight: 800; text-transform: uppercase; }
.tshirt-package__facts dd { margin: 0; color: var(--ink); font-size: .8rem; font-weight: 700; }
.tshirt-package h4 { margin: 0 0 .8rem; font-size: .8rem; letter-spacing: .03em; text-transform: uppercase; }
.tshirt-package > ul { display: grid; gap: .68rem; padding: 0; margin: 0 0 1.4rem; list-style: none; }
.tshirt-package > ul li { display: grid; grid-template-columns: 1rem minmax(0,1fr); gap: .6rem; align-items: start; color: #304159; font-size: .85rem; line-height: 1.48; }
.tshirt-package > ul .icon { width: .95rem; margin-top: .15rem; color: var(--cobalt); }
.tshirt-package__source { padding-top: 1rem; margin: auto 0 1.25rem; border-top: 1px solid #e1e7ef; color: #5d6e84; font-size: .76rem; line-height: 1.5; }
.tshirt-package__source strong { color: var(--ink); }
.tshirt-package > .button { width: 100%; justify-content: space-between; }
.tshirt-package-terms { display: grid; grid-template-columns: .75fr 1fr 1.7fr; margin-top: 1.7rem; border-block: 1px solid #9fb2ca; }
.tshirt-package-terms > div { padding: 1.4rem clamp(1rem,2vw,1.7rem); }
.tshirt-package-terms > div:first-child { padding-left: 0; }
.tshirt-package-terms > div + div { border-left: 1px solid #9fb2ca; }
.tshirt-package-terms strong,
.tshirt-package-terms span { display: block; }
.tshirt-package-terms strong { margin-bottom: .4rem; color: var(--ink); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }
.tshirt-package-terms span { color: #40516a; font-size: .8rem; line-height: 1.55; }
.tshirt-package-addons { margin-top: 1.7rem; border-block: 1px solid #b2c2d7; }
.tshirt-package-addons summary { display: flex; min-height: 4.5rem; align-items: center; justify-content: space-between; gap: 1.5rem; color: var(--ink); font-weight: 800; cursor: pointer; list-style: none; }
.tshirt-package-addons summary::-webkit-details-marker { display: none; }
.tshirt-package-addons summary::after { content: "+"; color: var(--cobalt); font-size: 1.6rem; font-weight: 400; }
.tshirt-package-addons[open] summary::after { content: "−"; }
.tshirt-package-addons > div { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; padding-bottom: 1.5rem; }
.tshirt-package-addons ul { margin: 0; color: #3e5069; }
.tshirt-package-addons p { margin: 0; color: #3e5069; line-height: 1.65; }
.tshirt-monthly { padding-top: clamp(3rem,5vw,4.5rem); margin-top: clamp(3rem,5vw,4.5rem); border-top: 2px solid var(--ink); }
.tshirt-monthly__intro { display: grid; grid-template-columns: minmax(0,.8fr) minmax(18rem,1.2fr); gap: clamp(1.5rem,5vw,5rem); align-items: end; margin-bottom: 1.8rem; }
.tshirt-monthly__intro .eyebrow { margin-bottom: .7rem; color: var(--coral-action); }
.tshirt-monthly__intro h3 { margin: 0; font-size: clamp(2rem,3.6vw,3.3rem); }
.tshirt-monthly__intro > p { max-width: 50rem; margin: 0; color: #40516a; line-height: 1.7; }
.tshirt-monthly__table-wrap { overflow-x: auto; border: 1px solid #9fb2ca; background: #fff; }
.tshirt-monthly__table-wrap:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.tshirt-monthly__table { width: 100%; min-width: 74rem; border-collapse: collapse; }
.tshirt-monthly__table th,
.tshirt-monthly__table td { padding: 1.15rem 1rem; border-bottom: 1px solid #cfdae8; vertical-align: top; text-align: left; }
.tshirt-monthly__table thead th { background: var(--ink); color: #fff; font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; }
.tshirt-monthly__table tbody tr:last-child > * { border-bottom: 0; }
.tshirt-monthly__table tbody tr.is-featured > * { background: #fff8f4; }
.tshirt-monthly__table tbody th { width: 15rem; }
.tshirt-monthly__table tbody th strong,
.tshirt-monthly__table tbody th span { display: block; }
.tshirt-monthly__table tbody th strong { margin-bottom: .35rem; color: var(--ink); font-family: var(--font-display); font-size: 1.1rem; }
.tshirt-monthly__table tbody th span { color: #56677e; font-size: .75rem; font-weight: 500; line-height: 1.5; }
.tshirt-monthly__table tbody th em { display: inline-block; padding: .25rem .45rem; margin-top: .55rem; background: var(--coral-action); color: #fff; font-size: .62rem; font-style: normal; letter-spacing: .06em; text-transform: uppercase; }
.tshirt-monthly__table td { color: #33455e; font-size: .8rem; line-height: 1.5; }
.tshirt-monthly__table td > strong,
.tshirt-monthly__table td > span { display: block; }
.tshirt-monthly__table td > strong { color: var(--ink); font-family: var(--font-display); font-size: 1.18rem; }
.tshirt-monthly__table td > span { color: #687991; font-size: .69rem; font-weight: 700; }
.tshirt-monthly__table ul { min-width: 14rem; padding-left: 1rem; margin: 0; }
.tshirt-monthly__table li + li { margin-top: .3rem; }
.tshirt-monthly__table .button { width: max-content; min-height: 2.8rem; padding: .7rem .9rem; font-size: .72rem; }
.tshirt-monthly__terms { padding: 1rem 1.2rem; margin: 0; border: 1px solid #9fb2ca; border-top: 0; background: #e8eff9; color: #40516a; font-size: .78rem; line-height: 1.6; }
.tshirt-monthly__terms strong { color: var(--ink); }
.tshirt-custom-scope { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: clamp(1.6rem,3vw,2.5rem); margin-top: 2rem; background: var(--ink); color: #fff; }
.tshirt-custom-scope h3 { margin: 0 0 .45rem; color: #fff; font-size: 1.5rem; }
.tshirt-custom-scope p { max-width: 45rem; margin: 0; color: #bdcadc; line-height: 1.65; }
.tshirt-custom-scope .button { flex: 0 0 auto; background: #fff; color: var(--ink); border-color: #fff; }
.tshirt-custom-scope .button:hover { background: var(--coral-action); color: #fff; border-color: var(--coral-action); }

.tshirt-faq { padding-block: clamp(5rem,8vw,7rem); background: #fff; }
.tshirt-faq .prinil-service-faq { max-width: 58rem; margin-inline: auto; }
.tshirt-faq .prinil-service-faq > h2 { max-width: 14ch; margin-bottom: 2.5rem; font-size: clamp(2.5rem,4vw,3.8rem); }
.tshirt-related { border-top: 1px solid var(--rule); }
.tshirt-final-cta { background: var(--cobalt); }

@media (min-width: 64rem) and (max-height: 50rem) {
  .tshirt-sales-hero { min-height: 37rem; }
  .tshirt-sales-hero__copy { padding-block: 2.35rem; }
  .tshirt-sales-hero__kicker { margin-bottom: .9rem; }
  .tshirt-sales-hero h1 { margin-bottom: .9rem; font-size: clamp(3rem,4.4vw,4.1rem); }
  .service-conversion--long-title .tshirt-sales-hero h1 { font-size: clamp(2.5rem,3.25vw,3.05rem); }
  .service-conversion--extra-long-title .tshirt-sales-hero h1 { font-size: clamp(2.25rem,2.85vw,2.75rem); }
  .service-conversion--long-title .tshirt-sales-hero__promise,
  .service-conversion--extra-long-title .tshirt-sales-hero__promise { font-size: 1.18rem; }
  .service-conversion--long-title .tshirt-sales-hero__lead,
  .service-conversion--extra-long-title .tshirt-sales-hero__lead { font-size: .9rem; line-height: 1.5; }
  .tshirt-sales-hero__promise { margin-bottom: .7rem; font-size: 1.28rem; }
  .tshirt-sales-hero__lead { margin-bottom: 1rem; font-size: .94rem; line-height: 1.58; }
  .tshirt-sales-hero__facts { margin-bottom: 1rem; }
  .tshirt-sales-hero__facts > div { padding-block: .7rem; }
  .tshirt-sales-hero .button { min-height: 3rem; }
  .tshirt-sales-hero__note { margin-top: .55rem; }
}

@media (max-width: 63.99rem) {
  .tshirt-sales-hero { min-height: 0; grid-template-columns: 1fr; }
  .tshirt-sales-hero__copy { padding: clamp(3.5rem,8vw,5.5rem) 2rem; }
  .tshirt-sales-hero__copy-inner { max-width: 45rem; margin-inline: auto; }
  .tshirt-sales-hero__visual { height: clamp(26rem,62vw,38rem); }
  .tshirt-proof-strip { grid-template-columns: repeat(2,1fr); }
  .tshirt-proof-strip > div:nth-child(2) { border-right: 0; }
  .tshirt-proof-strip > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.2); }
  .tshirt-seo-intro__grid { grid-template-columns: 1fr; gap: 2rem; }
  .tshirt-seo-intro h2 { max-width: 17ch; }
  .tshirt-details__grid { grid-template-columns: 1fr; }
  .tshirt-sidebar { order: -1; }
  .tshirt-sidebar__inner { position: static; }
  .tshirt-sidebar dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .tshirt-sidebar dl > div { padding-inline: 1rem; }
  .tshirt-sidebar dl > div:first-child { padding-left: 0; }
  .tshirt-sidebar dl > div:last-child { padding-right: 0; }
  .tshirt-sidebar .button { width: fit-content; }
  .tshirt-packages__intro { grid-template-columns: 1fr; }
  .tshirt-packages__intro > a { justify-self: start; text-align: left; }
  .tshirt-package-grid { grid-template-columns: 1fr; }
  .tshirt-package__fit { min-height: 0; }
}

@media (max-width: 47.99rem) {
  .tshirt-conversion-page .breadcrumbs { padding-inline: 1rem; }
  .tshirt-sales-hero__copy { padding-inline: 1.25rem; }
  .tshirt-sales-hero h1 { font-size: clamp(2.75rem,12vw,4rem); }
  .service-conversion--long-title .tshirt-sales-hero h1 { font-size: clamp(2.3rem,10vw,3.25rem); }
  .service-conversion--extra-long-title .tshirt-sales-hero h1 { font-size: clamp(2.1rem,9vw,2.9rem); }
  .tshirt-sales-hero__facts { grid-template-columns: 1fr; }
  .tshirt-sales-hero__facts > div + div { padding-left: 0; border-top: 1px solid rgba(255,255,255,.2); border-left: 0; }
  .tshirt-sales-hero .button-group { align-items: stretch; flex-direction: column; }
  .tshirt-sales-hero .button { width: 100%; justify-content: space-between; }
  .tshirt-sales-hero__visual { height: 24rem; }
  .tshirt-sales-hero__visual figcaption { right: 1.25rem; bottom: 1.25rem; left: 1.25rem; }
  .tshirt-proof-strip > div { min-height: 7.5rem; padding-inline: .75rem; }
  .tshirt-proof-strip strong { font-size: clamp(1.7rem,8vw,2.4rem); }
  .tshirt-proof-strip span { font-size: .58rem; }
  .tshirt-offer-clarity__grid { grid-template-columns: 1fr; }
  .tshirt-offer-clarity article,
  .tshirt-offer-clarity article:first-child { padding: 1.6rem 0; }
  .tshirt-offer-clarity article + article { border-top: 1px solid #9fb6d5; border-left: 0; }
  .tshirt-sidebar dl { grid-template-columns: 1fr; }
  .tshirt-sidebar dl > div { padding-inline: 0; }
  .tshirt-sidebar .button { width: 100%; }
  .tshirt-details__body .prinil-fit-columns,
  .tshirt-details__body .prinil-scope-columns { grid-template-columns: 1fr; }
  .tshirt-package { padding: 1.35rem; }
  .tshirt-package-terms { grid-template-columns: 1fr; }
  .tshirt-package-terms > div,
  .tshirt-package-terms > div:first-child { padding: 1.15rem 0; }
  .tshirt-package-terms > div + div { border-top: 1px solid #9fb2ca; border-left: 0; }
  .tshirt-package-addons > div { grid-template-columns: 1fr; }
  .tshirt-monthly__intro { grid-template-columns: 1fr; }
  .tshirt-monthly__table-wrap { overflow: visible; border: 0; background: transparent; }
  .tshirt-monthly__table { min-width: 0; }
  .tshirt-monthly__table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .tshirt-monthly__table tbody,
  .tshirt-monthly__table tr,
  .tshirt-monthly__table th,
  .tshirt-monthly__table td { display: block; width: 100%; }
  .tshirt-monthly__table tbody tr { padding: 1rem; margin-bottom: 1rem; border: 1px solid #9fb2ca; background: #fff; }
  .tshirt-monthly__table tbody tr.is-featured { border: 2px solid var(--coral-action); }
  .tshirt-monthly__table th,
  .tshirt-monthly__table td { display: grid; grid-template-columns: 7rem minmax(0,1fr); gap: .75rem; padding: .75rem 0; border-bottom: 1px solid #d8e1ed; }
  .tshirt-monthly__table th::before,
  .tshirt-monthly__table td::before { content: attr(data-label); color: #66778e; font-size: .64rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
  .tshirt-monthly__table tbody tr > :last-child { border-bottom: 0; }
  .tshirt-monthly__table .button { width: 100%; justify-content: space-between; }
  .tshirt-monthly__terms { border-top: 1px solid #9fb2ca; }
  .tshirt-custom-scope { align-items: stretch; flex-direction: column; }
  .tshirt-custom-scope .button { width: 100%; justify-content: space-between; }
}

/* Verified service feedback ------------------------------------------------ */
.service-reviews {
  scroll-margin-top: calc(var(--header-height) + 4rem);
  padding-block: clamp(5rem,8vw,7rem);
  border-bottom: 1px solid var(--rule);
  background: #fff;
}
.service-reviews__intro {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(15rem,.75fr);
  gap: clamp(2rem,7vw,7rem);
  align-items: end;
  margin-bottom: clamp(2.5rem,5vw,4rem);
}
.service-reviews__intro h2 { max-width: 18ch; margin: 0; font-size: clamp(2.45rem,4.2vw,4rem); line-height: 1.04; }
.service-reviews__aggregate { display: grid; justify-items: start; padding-top: 1rem; border-top: 3px solid var(--coral); }
.service-reviews__aggregate strong { color: var(--ink); font-family: var(--font-display); font-size: clamp(3.4rem,5vw,5rem); line-height: .9; }
.service-reviews__stars { margin-block: .7rem .45rem; color: #e3a52f; font-size: 1.15rem; letter-spacing: .14em; }
.service-reviews__aggregate > span:last-child { color: #53647b; font-size: .85rem; font-weight: 700; }
.service-reviews__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid #b9c7d8; }
.service-review { display: flex; min-width: 0; flex-direction: column; justify-content: space-between; padding: clamp(1.6rem,3vw,2.4rem); margin: 0; }
.service-review:first-child { padding-left: 0; }
.service-review:last-child { padding-right: 0; }
.service-review + .service-review { border-left: 1px solid #b9c7d8; }
.service-review blockquote { padding: 0; margin: 0; border: 0; }
.service-review blockquote p { margin: 0; color: #253750; font-family: var(--font-display); font-size: clamp(1.15rem,1.7vw,1.45rem); font-weight: 650; line-height: 1.48; letter-spacing: -.015em; }
.service-review figcaption { display: grid; margin-top: 2rem; }
.service-review figcaption strong { color: var(--ink); font-size: .95rem; }
.service-review figcaption span { margin-top: .2rem; color: #64758b; font-size: .78rem; }
.service-review figcaption em { margin-top: .65rem; color: var(--cobalt); font-size: .76rem; font-style: normal; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.service-reviews__note { max-width: 66rem; margin: 1.25rem 0 0; color: #6a788a; font-size: .75rem; line-height: 1.6; }

@media (max-width: 63.99rem) {
  .service-reviews__intro { grid-template-columns: 1fr; }
  .service-reviews__aggregate { max-width: 20rem; }
}

@media (max-width: 47.99rem) {
  .service-reviews__grid { grid-template-columns: 1fr; }
  .service-review,
  .service-review:first-child,
  .service-review:last-child { padding: 1.6rem 0; }
  .service-review + .service-review { border-top: 1px solid #b9c7d8; border-left: 0; }
}
