/* Shared presentation for the public marketing site; portal styles are separate. */
:root {
  --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --ink: #102d46;
  --muted: #526b80;
  --line: #d9e5ed;
  --light: #f3f8fc;
  --card-radius: 18px;
  --card-shadow: 0 4px 9px #0c315103, 0 18px 44px #0c315108;
}
body { -webkit-font-smoothing: antialiased; }
::selection { background: #bdebf8; color: #082446; }
h1, h2, h3 { font-weight: 700; text-wrap: balance; }
h1 { letter-spacing: -.052em; line-height: 1.04; }
h2 { letter-spacing: -.045em; line-height: 1.12; }
h3 { letter-spacing: -.025em; }
.section { padding-block: 104px; }
.section-heading { margin-bottom: 46px; }
.heading-copy { font-size: 15px; line-height: 1.85; }
.eyebrow { color: #087da6; font-size: 11px; letter-spacing: .15em; }
.button {
  min-height: 54px;
  padding: 17px 24px;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 650;
  box-shadow: inset 0 1px 0 #ffffff26;
  transition: background 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}
.button.orange { box-shadow: 0 6px 18px #ff780a1f, inset 0 1px 0 #ffffff38; }
.button.navy { background: linear-gradient(140deg, #103b5d, #082446); }
.button.outline { border-color: #b9d1df; background: #ffffffb8; }
.button.small { min-height: 46px; padding: 13px 17px; font-size: 12px; }
.text-link { font-weight: 650; }
.nav-inner { min-height: 96px; gap: 24px; }
.nav-inner .brand-link { width: 224px; }
.nav-inner nav { font-size: 12px; gap: 21px; font-weight: 600; }
.nav-inner nav a[aria-current="page"] { color: #087da6; }
.nav-actions { gap: 19px; }
.language { font-size: 12px; }
.crisis { background: #061e31; }
.crisis-inner { min-height: 40px; }
header.is-scrolled { box-shadow: 0 8px 30px #0824460d; }

/* The shield stays the focal point; the cards now lead to real services. */
.hero {
  background: radial-gradient(ellipse at 79% 42%, #e9f7fd, transparent 49%), linear-gradient(115deg, #fff 36%, #f5faff);
}
.hero-grid { min-height: 710px; grid-template-columns: 1.04fr 1fr; gap: 28px; }
.hero-copy { padding-block: 72px; }
.hero h1 { font-size: clamp(48px, 4.7vw, 72px); font-weight: 720; max-width: 650px; }
.hero h1 span { color: #047eae; }
@supports (background-clip: text) or (-webkit-background-clip: text) {
  .hero h1 span { background: linear-gradient(115deg, #0875a4, #04a5d0); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
}
.hero .eyebrow { font-size: 10px; letter-spacing: .14em; }
.hero-intro { font-size: 17px; line-height: 1.8; max-width: 505px; }
.hero-buttons { gap: 24px; }
.hero-note { font-size: 11px; line-height: 1.65; }
.hero-art { height: 590px; margin: 0; transform: none; width: auto; mask-image: none; }
.hero-decoration { position: absolute; inset: 0; pointer-events: none; }
.hero-art::before { inset: 8%; background: radial-gradient(circle, #00c7ed1f, #078cd006 57%, transparent 72%); }
.hero-shield { filter: drop-shadow(0 24px 23px #0a486b1a); }
.art-title { top: 56px; font-size: 9px; color: #58798d; }
.hero-capabilities { position: absolute; bottom: 43px; left: 12px; right: 12px; margin: 0; color: #526e82; text-align: center; font-size: 11.5px; font-weight: 500; letter-spacing: .005em; line-height: 1.7; }
.hero-capabilities span { display: block; }
.orbit { border-color: #a7c9dc61; }
.orbit-three { opacity: .5; }
.hero-service-links { position: absolute; inset: 0; }
.orbit-label {
  min-height: 66px;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid #bcd9e8;
  border-radius: 13px;
  background: linear-gradient(125deg, #ffffffed, #eff9ffed);
  color: #163c56;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
  white-space: nowrap;
  box-shadow: 0 9px 24px #0a3c6110, inset 0 1px 0 #fff;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}
.orbit-icon { display: grid; place-items: center; width: 32px; height: 34px; flex: none; background: #def2fc; border: 1px solid #c6e8f6; border-radius: 9px; }
.orbit-label .orbit-icon svg { width: 20px; height: 20px; color: #087ba7; }
.orbit-arrow { display: flex; margin-left: 1px; color: #6e94aa; }
.orbit-label .orbit-arrow svg { width: 14px; height: 14px; transition: transform 220ms ease; }
.hero-art .label-one { right: -8px; top: 111px; }
.hero-art .label-two { left: -7px; top: 310px; }
.hero-art .label-three { right: -7px; bottom: 91px; }
.hero-service-links:is(:hover, :focus-within) .orbit-label { animation-play-state: paused; }
.orbit-label:is(:hover, :focus-visible) { border-color: #63b5d7; box-shadow: 0 12px 30px #0a3c611c, inset 0 1px 0 #fff; background: #fff; }
.orbit-label:is(:hover, :focus-visible) .orbit-arrow svg { transform: translateX(3px); }
.hero-visual > .motion-toggle { bottom: 0; right: 10px; }
.motion-toggle { color: #526e82; background: #ffffffbd; border-color: #cbdfe9; }
.working-section { padding-block: 76px 80px; border-block: 1px solid #e0eaf2; background: linear-gradient(135deg, #f7fbfe, #eef6fc); }
.working-heading { align-items: flex-end; gap: 60px; margin-bottom: 36px; }
.working-heading .eyebrow { margin-bottom: 19px; }
.working-heading h2 { font-size: clamp(34px, 3.25vw, 46px); margin: 0; line-height: 1.13; }
.working-heading h2 span { color: #087da6; }
.working-intro { max-width: 370px; flex: 0 1 370px; padding-bottom: 3px; }
.working-intro > p { color: #526b80; font-size: 15px; line-height: 1.8; margin: 0 0 18px; }
.working-intro .text-link { color: #163e59; font-size: 14px; }
.working-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.working-card { min-width: 0; padding: 30px; background: linear-gradient(145deg, #fff, #fbfdff); border: 1px solid #d4e3ee; border-radius: 18px; box-shadow: 0 5px 12px #0c315103, 0 16px 38px #0c315106; }
.working-card-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 25px; }
.working-icon { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid #cde6f2; border-radius: 12px; color: #087da6; background: linear-gradient(140deg, #f0faff, #e2f2fa); }
.working-icon svg { width: 24px; height: 24px; }
.working-index { color: #8ba4b7; font-size: 11px; font-weight: 600; letter-spacing: .08em; }
.working-card h3 { font-size: 24px; line-height: 1.24; margin: 0 0 16px; }
.working-card > p { color: #526b80; font-size: 15px; line-height: 1.8; margin: 0; }

/* Surfaces, spacing and typography shared across every public page. */
:is(.overview-card, .service, .build-card, .project-card, .review-card, .plan, .scope-grid article, .app-service-card, .blog-card, .founder-card, .review-summary) {
  border-color: #d8e5ee;
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}
.service-icon, .blog-card-icon, .plan-badge {
  width: 48px;
  height: 48px;
  border: 1px solid #d0e8f4;
  border-radius: 13px;
  background: linear-gradient(140deg, #f0faff, #e3f2fb);
  color: #087da6;
}
.overview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.overview-card { padding: 32px; background: linear-gradient(135deg, #fff, #fbfdff); }
.overview-card h3 { font-size: 25px; margin: 27px 0 15px; }
.overview-card > p { font-size: 15px; line-height: 1.8; }
.overview-card > .text-link { font-size: 13px; padding-top: 18px; border-top: 1px solid #e4edf3; width: 100%; justify-content: space-between; }
.home-overview { padding-bottom: 94px; }
.services-grid { border: 0; gap: 22px; }
.service { border: 1px solid #d8e5ee; padding: 32px; background: #fff; }
.service:hover { background: #fbfdff; }
.service h3 { font-size: 24px; min-height: 58px; line-height: 1.2; }
.service p { font-size: 14px; line-height: 1.85; min-height: 104px; }
.service-meta { font-size: 10px; line-height: 1.65; }
.service a { min-height: 44px; font-size: 13px; }
.scope-section { background: #f3f8fc; padding-top: 88px; }
.scope-grid { gap: 24px; }
.scope-grid article { padding: 32px; }
.scope-grid article[id] { scroll-margin-top: 24px; }
.scope-grid h3 { font-size: 25px; line-height: 1.25; }
.scope-grid p { font-size: 14px; line-height: 1.85; }
.scope-grid ul { font-size: 15px; }
.build-section, .app-platforms, .app-proof { background: #f2f8fc; border-color: #e0ebf2; }
.build-card-copy { padding: 34px; }
.build-card-copy > p, .build-card li { font-size: 14px; }
.build-visual { background: radial-gradient(ellipse at 50% 100%, #cce9f8, #edf7fc); }
.app-visual { background: radial-gradient(ellipse at 50% 100%, #dde1fa, #f1f3ff); }
.visual-window { box-shadow: 0 20px 35px #154a771a; }
.technology-band { padding-block: 52px; background: #fff; }
.technology-grid { gap: 36px; }
.technology { box-shadow: none; border-radius: 0; }
.technology h3 { font-size: 16px; }
.technology p { font-size: 13px; line-height: 1.8; }

/* Real client work provides the visual contrast in the page. */
.clients-section { background: radial-gradient(ellipse at 100% 0, #104a66, transparent 65%), #08283f; border-color: #153f56; }
.clients-section .section-heading { color: #f3faff; }
.clients-section .eyebrow { color: #69d5ee; }
.clients-section h2 span { color: #64d3f1; }
.clients-section .heading-copy { color: #bcd2e0; }
.client-grid { gap: 20px; }
.client-tile { border-radius: 15px; border-color: #ffffff40; box-shadow: 0 7px 28px #0318271a; }
.client-caption strong { font-size: 14px; font-weight: 650; }
.client-caption > span { font-size: 11px; line-height: 1.65; }
.client-next { background: linear-gradient(135deg, #e7f6ff, #cde9f8); }
.project-card { box-shadow: var(--card-shadow); }
.project-body { padding: 27px; }
.project-body h3 { font-size: 24px; }
.app-project { border-radius: 22px; box-shadow: var(--card-shadow); }
.reviews-section { background: #f3f8fc; }
.review-summary { padding: 28px 32px; }
.review-card { padding: 31px; }
.review-card blockquote p { font-size: 18px; line-height: 1.75; }
.review-card figcaption strong { font-size: 14px; }
.review-card figcaption > div > span { font-size: 12px; }
.review-card > a, .review-note { font-size: 11px; }

.page-hero, .blog-hero, .blog-article-hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(ellipse at 92% 12%, #dceffa, transparent 60%), linear-gradient(125deg, #fff, #f1f7fc);
  border-color: #e0eaf2;
}
.page-hero { padding-block: 42px 72px; }
.page-hero::before { content: ""; position: absolute; width: 540px; height: 540px; right: -130px; top: -260px; border: 1px solid #8dbdd52b; border-radius: 50%; box-shadow: 0 0 0 65px #a9cfdf0b, 0 0 0 130px #a9cfdf0a; pointer-events: none; }
.page-hero > .container { position: relative; }
.page-hero h1 { font-size: clamp(42px, 4.4vw, 64px); max-width: 960px; line-height: 1.08; }
.page-hero > .container > p:last-child { font-size: 18px; max-width: 780px; }
.breadcrumbs { font-size: 12px; }
.pricing-section { background: #f4f8fc; }
.pricing-section .plans { gap: 24px; }
.pricing-section .plans > .plan { border-radius: 18px; padding: 30px; background: linear-gradient(145deg, #fff, #fbfdff); }
.pricing-section .plan.featured { border-color: #7eb9d1; box-shadow: 0 12px 36px #087da615; background: linear-gradient(145deg, #f4fbff, #fff); }
.pricing-section .plan .button { border-radius: 9px; }
.price strong, .calc-result strong, .it-volume-rates dd { font-variant-numeric: tabular-nums; }
.pricing-section .calculator { background: #fff; border-color: #c7dce9; border-radius: 18px; box-shadow: var(--card-shadow); }
.package-assurance, .app-store-fees { border-radius: 16px; }
.pricing-jump { background: #fff; }
.pricing-jump a { border-radius: 11px; }
.app-service-card { padding: 30px; }
.blog-hero-note { border-radius: 18px; box-shadow: 0 18px 36px #08244614; background: radial-gradient(ellipse at 100% 0, #14536b, transparent 80%), #08283f; border-bottom-width: 3px; }
.blog-card { padding: 34px; background: linear-gradient(145deg, #fff, #fbfdff); }
.blog-card h2 { font-size: 28px; line-height: 1.2; }
.blog-card h2 a::after { border-radius: 18px; }
.blog-prose h2 { letter-spacing: -.035em; }
.article-toc { border-color: #76bcd9; }
.blog-prose .article-next { border-radius: 16px; background: #f1f8fc; }
.blog-highlights, .blog-related { background: #f5f9fc; }
.founder-card { background: #fff; }
.founder-copy { padding: 32px; }
.founder-copy p:not(.eyebrow) { font-size: 15px; }
.about-story .about-grid > div > p:not(.eyebrow) { font-size: 17px; }
.history-section { background: #f3f8fc; }
.policy-layout aside { background: #f3f8fc; border: 1px solid #dce8f0; padding: 25px; border-radius: 16px; }
.policy-page h2 { font-size: 27px; }
.policy-page article section { margin-bottom: 42px; }
.contact-section { background: #f5f9fc; }
#contact-form { border: 1px solid #d4e3ee; border-radius: 20px; background: #fff; padding: 36px; box-shadow: var(--card-shadow); }
#contact-form h3 { font-size: 27px; }
#contact-form label { font-size: 13px; font-weight: 600; }
#contact-form :is(input:not([type="checkbox"]), select, textarea) { min-height: 50px; border-color: #bdd1df; border-radius: 8px; background: #fbfdff; font-size: 16px; }
#contact-form :is(input, select, textarea):focus { background: #fff; }
.contact-items { display: grid; gap: 12px; }
.contact-items > a { padding: 18px; background: #fff; border: 1px solid #dce7ef; border-radius: 12px; }
.contact-items small { font-size: 11px; }
.contact-items strong { font-size: 16px; }
.mailbox-note { border-radius: 12px; background: #eaf4fa; }
.faq-list details { border-color: #d8e5ee; }
.faq-list summary { font-size: 16px; }
.page-cta { position: relative; overflow: hidden; padding-block: 72px; background: radial-gradient(ellipse at 100% 0, #15516a, transparent 70%), #08283f; border-top: 1px solid #20495f; color: #f6fbff; }
.page-cta .eyebrow { color: #6ed4ed; }
.page-cta h2 { font-size: 38px; line-height: 1.15; max-width: 700px; }
.page-cta .button { box-shadow: 0 8px 24px #020e1a24, inset 0 1px 0 #ffffff38; }
footer { background: #061e31; padding-top: 64px; border-top: 1px solid #204156; }
.footer-top { padding-bottom: 42px; border-color: #294559; }
.footer-top p, .footer-top a:not(.footer-brand) { font-size: 13px; }
.footer-top a:not(.footer-brand) { margin-bottom: 10px; }
.footer-top .footer-heritage { color: #a7bdcd; }
.footer-bottom { line-height: 1.8; }
.footer-bottom a, .footer-bottom button { font-size: 12px; }
.request-chat-toggle { border-color: #45778f; background: linear-gradient(140deg, #103b5d, #082446); box-shadow: 0 8px 28px #06263c2b, inset 0 1px 0 #ffffff1a; }
.request-chat-panel { border-radius: 20px; border-color: #c5dce9; box-shadow: 0 20px 64px #06263c29; }
.cookie-banner, dialog { border-radius: 18px; }

@media (hover: hover) and (pointer: fine) {
  :is(.overview-card, .service, .build-card, .project-card, .review-card, .scope-grid article, .app-service-card, .blog-card) { transition: transform 260ms ease, border-color 260ms ease, box-shadow 260ms ease; }
  :is(.overview-card, .service, .build-card, .project-card, .review-card, .scope-grid article, .app-service-card, .blog-card):hover { transform: translateY(-4px); border-color: #9dc6db; box-shadow: 0 14px 36px #0c315112; }
  .technology:hover { transform: none; box-shadow: none; }
  .button:hover { box-shadow: 0 10px 24px #08244613; }
}
@media (min-width: 1450px) { .hero-grid { min-height: 730px; } .hero-art { height: 610px; } }
@media (min-width: 1001px) and (max-width: 1250px) {
  .nav-inner { gap: 16px; } .nav-inner .brand-link { width: 200px; } .nav-inner nav { font-size: 11px; gap: 12px; }
  .nav-actions { gap: 12px; } .button.small { padding-inline: 13px; font-size: 11px; }
}
@media (max-width: 1100px) {
  .working-card { padding: 26px; }
  .working-card h3 { font-size: 22px; }
}
@media (max-width: 900px) {
  .working-heading { flex-direction: column; align-items: flex-start; gap: 24px; }
  .working-intro { flex: none; max-width: 650px; padding: 0; }
  .working-grid { grid-template-columns: 1fr; gap: 18px; }
  .working-card { display: grid; grid-template-columns: 46px minmax(0, 1fr); column-gap: 22px; padding: 27px; }
  .working-card-top { display: block; grid-column: 1; grid-row: 1 / 3; margin: 0; }
  .working-index { display: none; }
  .working-card h3 { grid-column: 2; margin-bottom: 12px; font-size: 24px; }
  .working-card > p { grid-column: 2; max-width: 600px; }
}
@media (max-width: 1150px) {
  .section { padding-block: 80px; }
  .hero-grid { gap: 20px; }
  .hero h1 { font-size: clamp(45px, 4.8vw, 60px); }
  .hero-intro { font-size: 16px; }
  .hero-art { height: 550px; }
  .hero-art .label-one { right: -12px; top: 105px; }
  .hero-art .label-two { left: -10px; top: 300px; }
  .hero-art .label-three { right: -12px; bottom: 75px; }
  .orbit-label { font-size: 12px; padding: 10px; min-height: 60px; gap: 8px; }
  .orbit-icon { width: 30px; height: 32px; }
  .overview-card, .service, .scope-grid article { padding: 27px; }
  .service h3 { font-size: 22px; }
  .service p { min-height: 130px; }
  .pricing-section .plans > .plan { padding: 25px; }
}
@media (max-width: 1000px) {
  .nav-inner { min-height: 83px; }
  .nav-inner nav { font-size: 15px; gap: 0; }
  .nav-inner nav a::after { display: none; }
  .nav-inner nav { border-radius: 0 0 16px 16px; padding: 16px 30px 26px; }
  .overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-grid { grid-template-columns: 1fr; max-width: 820px; gap: 0; }
  .hero-copy { padding: 62px 0 28px; }
  .hero h1 { max-width: 750px; font-size: clamp(46px, 6.4vw, 62px); }
  .hero-intro { max-width: 660px; }
  .hero-buttons { flex-direction: row; align-items: center; }
  .hero-visual { width: 100%; max-width: 600px; margin-inline: auto; padding-bottom: 30px; }
  .hero-art { width: 100%; margin: 0; height: 560px; }
  .hero-art .label-one { right: 8px; top: 105px; }
  .hero-art .label-two { left: 0; top: 300px; }
  .hero-art .label-three { right: 8px; bottom: 80px; }
  .hero-visual > .motion-toggle { bottom: 14px; right: 0; }
  .service p { min-height: 90px; }
  .client-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .client-tile { padding: 26px; }
  .client-caption strong { font-size: 15px; }
  .client-caption > span { font-size: 12px; }
  .client-arrow { right: 22px; bottom: 27px; }
  .client-next h3 { font-size: 26px; }
  .client-next p { font-size: 14px; }
  .client-next span { font-size: 12px; }
  .client-logo img { max-width: 140px; }
  .review-card { padding: 25px; }
  .review-card blockquote p { font-size: 17px; }
}
@media (max-width: 760px) {
  .working-section { padding-block: 56px; }
  .working-heading { margin-bottom: 28px; }
  .working-heading h2 { font-size: 34px; }
  .working-card { column-gap: 18px; padding: 25px; }
  .working-card h3 { font-size: 23px; }
  .working-card > p { font-size: 14px; line-height: 1.8; }
  .section { padding-block: 64px; }
  .section-heading { margin-bottom: 32px; gap: 20px; }
  .heading-copy { font-size: 15px; }
  .nav-inner .brand-link { width: 205px; }
  .hero-copy { padding-top: 46px; }
  .hero h1 { font-size: clamp(43px, 7.6vw, 57px); line-height: 1.06; }
  .hero .eyebrow { font-size: 9px; }
  .hero-intro { font-size: 16px; }
  .hero-note { font-size: 10px; }
  .hero-buttons .button { font-size: 13px; padding: 16px 19px; }
  .hero-visual { max-width: 510px; padding-bottom: 45px; }
  .hero-art { height: 455px; }
  .hero-shield { width: 185px; height: 225px; }
  .hero-art .label-one { right: -4px; top: 80px; }
  .hero-art .label-two { left: -4px; top: 248px; }
  .hero-art .label-three { right: -4px; bottom: 65px; }
  .orbit-label { font-size: 12px; min-height: 56px; padding: 9px 11px; gap: 8px; border-radius: 11px; }
  .orbit-arrow { display: none; }
  .orbit-icon { width: 28px; height: 30px; border-radius: 8px; }
  .orbit-label .orbit-icon svg { width: 18px; height: 18px; }
  .art-title { top: 20px; font-size: 8px; }
  .hero-capabilities { bottom: 12px; font-size: 10.5px; }
  .hero-visual > .motion-toggle { bottom: 14px; right: 50%; transform: translateX(50%); }
  .services-grid { gap: 18px; }
  .service h3, .service p { min-height: 0; }
  .service p { font-size: 15px; }
  .service h3 { font-size: 25px; }
  .scope-grid h3 { font-size: 25px; }
  .scope-grid article { padding: 27px; }
  .overview-card { padding: 28px; }
  .overview-card h3 { font-size: 24px; }
  .technology-band { padding-block: 40px; }
  .page-hero { padding-block: 30px 48px; }
  .page-hero h1 { font-size: clamp(36px, 7.5vw, 48px); }
  .page-hero > .container > p:last-child { font-size: 16px; }
  .page-hero::before { right: -360px; }
  .pricing-section .plans > .plan { padding: 26px; }
  .pricing-section .plans { gap: 22px; }
  .app-service-card, .blog-card, .build-card-copy { padding: 28px; }
  .blog-card h2 { font-size: 27px; }
  .review-card { padding: 28px; }
  .review-card blockquote p { font-size: 18px; }
  .founder-copy { padding: 28px; }
  .about-story .about-grid > div > p:not(.eyebrow) { font-size: 16px; }
  #contact-form { padding: 27px; }
  .page-cta { padding-block: 56px; }
  .page-cta h2 { font-size: 33px; }
  footer { padding-top: 48px; }
}
@media (max-width: 600px) {
  .hero-art .label-two { top: auto; bottom: 65px; }
  .overview-grid { grid-template-columns: 1fr; gap: 18px; }
  .client-grid { gap: 14px; }
  .client-tile { padding: 18px; border-radius: 12px; }
  .client-caption { padding-right: 14px; }
  .client-caption strong { font-size: 12px; }
  .client-caption > span { font-size: 10px; }
  .client-arrow { right: 12px; bottom: 21px; }
  .client-next h3 { font-size: 20px; }
  .client-next p { font-size: 11px; }
  .client-next span { font-size: 10px; }
}
@media (max-width: 440px) {
  .working-heading h2 { font-size: 31px; }
  .working-heading .eyebrow { font-size: 9px; }
  .working-card { grid-template-columns: 38px minmax(0, 1fr); column-gap: 16px; padding: 23px 21px; }
  .working-icon { width: 38px; height: 40px; border-radius: 10px; }
  .working-icon svg { width: 21px; height: 21px; }
  .working-card h3 { font-size: 21px; }
  .container { padding-inline: 20px; }
  .nav-inner .brand-link { width: 185px; }
  .hero h1 { font-size: 42px; }
  .hero .eyebrow { font-size: 8px; }
  .hero-buttons { gap: 18px; }
  .hero-buttons .button { font-size: 12px; padding: 15px 17px; }
  .hero-intro { font-size: 15px; }
  .hero-art { height: 430px; }
  .hero-shield { width: 169px; height: 205px; top: 48%; }
  .hero-art .label-one { right: -4px; top: 73px; }
  .hero-art .label-two { left: -4px; top: auto; bottom: 51px; }
  .hero-art .label-three { right: -4px; bottom: 51px; }
  .hero-capabilities { bottom: 10px; font-size: 10px; }
  .orbit-label { font-size: 11px; gap: 7px; padding: 9px; min-height: 53px; }
  .orbit-label .orbit-icon { width: 25px; height: 28px; }
  .orbit-label .orbit-icon svg { width: 17px; height: 17px; }
  .client-tile { padding: 15px; }
  .client-next h3 { font-size: 18px; }
  .client-caption strong { font-size: 11px; }
  .client-caption > span { font-size: 9px; }
  .client-next span { font-size: 9px; }
  #contact-form { padding: 23px; }
  .contact-items strong { font-size: 14px; }
  .page-cta h2 { font-size: 31px; }
}
@media (max-width: 359px) {
  .hero-art { height: 500px; }
  .hero-shield { top: 44%; }
  .hero-art .label-two { left: 0; bottom: 108px; }
  .hero-art .label-three { right: 0; bottom: 43px; }
  .hero-capabilities { bottom: 8px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.overview-card, .service, .build-card, .project-card, .review-card, .scope-grid article, .app-service-card, .blog-card):hover { transform: none; }
  .orbit-label:is(:hover, :focus-visible) .orbit-arrow svg { transform: none; }
}
/* Focused service pages and the downloadable DITC handbook. */
.service-directory { background: #f5f9fc; }
.service-directory-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.scope-service-card { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; padding: 32px; border: 1px solid #d8e5ee; border-radius: 18px; background: #fff; box-shadow: var(--card-shadow); }
.scope-service-card h3 { font-size: 27px; margin: 24px 0 14px; }
.scope-service-card h3 a { text-decoration: none; }
.scope-service-card p { color: #526b80; font-size: 15px; line-height: 1.8; max-width: 48ch; }
.scope-service-card .text-link { margin-top: auto; padding-top: 10px; font-size: 14px; }
.service-lead { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 70px; margin-bottom: 38px; }
.service-lead h2 { max-width: 530px; }
.service-lead > p { color: #526b80; font-size: 17px; line-height: 1.8; margin: 4px 0 0; }
.service-detail-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.service-detail-grid article { min-width: 0; background: #fff; }
.service-detail-grid h3 { min-height: 62px; }
.service-detail-grid .eyebrow { margin-bottom: 23px; }
.service-detail-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-top: 34px; }
.service-detail-actions .text-link { font-size: 14px; }
.service-onboarding { background: #f2f8fc; border-block: 1px solid #e0eaf2; }
.service-onboarding-grid { display: grid; grid-template-columns: 1.35fr .8fr; gap: 80px; align-items: start; }
.service-step-list, .guide-contents ol { list-style: none; padding: 0; margin: 30px 0 0; }
.service-step-list li, .guide-contents li { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 20px; padding: 24px 0; border-top: 1px solid #d6e3ed; }
.service-step-list li > span, .guide-contents li > span { color: #087da6; font-size: 12px; font-weight: 650; padding-top: 6px; }
.service-step-list h3, .guide-contents h3 { font-size: 23px; margin: 0 0 9px; }
.service-step-list p, .guide-contents li p { margin: 0; font-size: 15px; color: #526b80; line-height: 1.8; }
.service-prepare { min-width: 0; padding: 32px; border: 1px solid #d1e2ed; border-radius: 18px; background: #fff; }
.service-prepare h2 { font-size: 27px; }
.service-prepare ul { padding-left: 20px; color: #526b80; font-size: 15px; line-height: 1.8; }
.service-prepare li { margin-bottom: 14px; padding-left: 4px; }
.service-prepare > p { font-size: 12px; color: #526b80; line-height: 1.8; border-top: 1px solid #dce7ef; padding-top: 18px; }
.service-related { padding-block: 50px 65px; background: #f7fafc; }
.service-related h2 { font-size: 28px; }
.service-related nav { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.service-related a { display: inline-flex; align-items: center; gap: 24px; border: 1px solid #cfdfeb; background: #fff; border-radius: 11px; padding: 17px 20px; font-size: 14px; text-decoration: none; }
.service-related a svg { width: 17px; height: 17px; color: #087da6; }
.guide-promo { background: #fff; }
.guide-promo-panel { display: grid; grid-template-columns: 230px minmax(0,1fr); align-items: center; gap: 70px; border: 1px solid #cee1ee; border-radius: 22px; padding: 52px 65px; background: radial-gradient(ellipse at 0 50%,#d9edf8,transparent 55%),#f4f9fd; }
.guide-cover-link { display: block; width: 100%; }
.guide-cover-link img, .guide-book img { display: block; width: 100%; height: auto; border-radius: 3px; box-shadow: 0 20px 35px #08304d26; transform: rotate(-3deg); }
.guide-promo-panel h2 { font-size: clamp(31px,3vw,43px); max-width: 650px; line-height: 1.15; }
.guide-promo-panel p:not(.eyebrow) { max-width: 640px; font-size: 16px; color: #526b80; line-height: 1.8; margin-bottom: 26px; }
.guide-promo-panel small { display: block; margin-top: 15px; font-size: 12px; color: #526b80; }
.guide-download-grid { display: grid; grid-template-columns: minmax(220px,340px) minmax(0,1fr); gap: 100px; align-items: center; max-width: 1160px; }
.guide-book { padding: 10px 24px; }
.guide-download h2 { font-size: 40px; line-height: 1.16; }
.guide-download p { color: #526b80; line-height: 1.8; font-size: 16px; }
.guide-download-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; margin: 28px 0; }
.guide-download-actions .button { max-width: 100%; white-space: normal; text-align: left; }
.guide-download-actions > span { color: #526b80; font-size: 12px; }
.guide-download-actions .text-link { font-size: 14px; }
.guide-download .guide-note, .guide-source-note { font-size: 13px; color: #526b80; line-height: 1.8; }
.guide-contents { background: #f3f8fc; }
.guide-contents > .container { max-width: 920px; }
.project-evidence { background: #f2f8fc; }
.project-evidence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-top: 36px; }
.project-evidence-card { min-width: 0; padding: 32px; border: 1px solid #d1e2ed; border-radius: 18px; background: #fff; }
.project-evidence-card h3 { font-size: 28px; margin: 0 0 28px; }
.project-evidence-card dl { margin: 0; }
.project-evidence-card dl > div { margin-bottom: 22px; }
.project-evidence-card dt { font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: #087da6; margin-bottom: 8px; }
.project-evidence-card dd { margin: 0; font-size: 15px; line-height: 1.8; color: #526b80; }
.project-evidence-links { display: flex; flex-wrap: wrap; gap: 24px; padding-top: 20px; border-top: 1px solid #dce7ef; }
.project-evidence-links .text-link { font-size: 13px; }
.guide-source-note { border-top: 1px solid #d6e3ed; margin-top: 20px; padding-top: 26px; }
@media(max-width:1000px) {
  .service-lead { gap: 35px; }
  .service-onboarding-grid { gap: 35px; grid-template-columns: 1.2fr 1fr; }
  .service-detail-grid { grid-template-columns: 1fr; }
  .service-detail-grid h3 { min-height: 0; }
  .guide-promo-panel { gap: 42px; padding: 40px; grid-template-columns: 180px minmax(0,1fr); }
  .guide-download-grid { gap: 45px; }
}
@media(max-width:760px) {
  .project-evidence-grid { grid-template-columns: 1fr; }
  .project-evidence-card { padding: 26px; }
  .service-directory-grid, .service-lead, .service-onboarding-grid { grid-template-columns: 1fr; gap: 24px; }
  .scope-service-card, .service-prepare { padding: 26px; }
  .scope-service-card h3 { font-size: 25px; }
  .service-lead > p { font-size: 16px; }
  .service-related nav, .service-related a { width: 100%; }
  .service-related a { justify-content: space-between; }
  .guide-promo-panel { grid-template-columns: 1fr; gap: 38px; padding: 32px 26px; }
  .guide-cover-link { width: 150px; margin: 0 auto; }
  .guide-promo-panel h2 { font-size: 31px; }
  .guide-promo-panel p:not(.eyebrow) { font-size: 15px; }
  .guide-download-grid { grid-template-columns: 1fr; gap: 40px; }
  .guide-book { width: 200px; padding: 0; margin: 0 auto; }
  .guide-download h2 { font-size: 32px; }
  .guide-download-actions .button { font-size: 13px; padding: 17px; }
  .service-step-list li, .guide-contents li { gap: 10px; grid-template-columns: 30px minmax(0,1fr); }
}
@media print {
  .hero h1 span { background: none; color: #047eae; -webkit-text-fill-color: #047eae; }
  .clients-section, .page-cta { background: #fff; color: #102d46; }
  .clients-section .section-heading, .clients-section .heading-copy, .clients-section .eyebrow { color: #102d46; }
  :is(.overview-card, .service, .build-card, .project-card, .review-card, .plan, .scope-grid article, .app-service-card, .blog-card, .founder-card) { box-shadow: none; }
}
