/* Compact spacing, readable copy. Large display headings remain unchanged. */
.site-header--complete .nav-wrap nav a { font-size:14px; }
.site-header--complete .nav-wrap nav { gap:20px; }
.site-header--complete .button--small { font-size:14px; gap:18px; }
.site-header .language { font-size:14px; }
.site-footer--complete { padding-top:38px; }
.footer-directory { gap:24px; padding-bottom:28px; margin-bottom:22px; }
.footer-nav-column { gap:4px; }
.footer-nav-column h2 { font-size:14px; margin-bottom:8px; }
.footer-nav-column a { font-size:14px; line-height:1.45; padding-block:2px; color:#bbc4b1; }
.site-footer--complete .footer-main { padding-bottom:22px; }
.site-footer--complete .footer-main p,
.site-footer--complete .footer-main>a:not(.brand) { font-size:14px; }
.site-footer--complete .footer-bottom,
.site-footer--complete .footer-bottom>span:first-child,
.site-footer--complete .footer-bottom nav { font-size:12px; line-height:1.5; }
.site-footer--complete .footer-bottom { gap:14px; min-height:54px; flex-wrap:wrap; }

/* Home: bring the work closer and remove the tall stagger between cards. */
.premium-home .section-pad { padding-block:62px; }
.premium-home .section-topline { margin-bottom:18px; align-items:baseline; }
.premium-home .eyebrow,
.premium-home .section-topline>span,
.premium-home .studio-aside>.eyebrow:last-child { font-size:12px; letter-spacing:.08em; }
.premium-home .section-topline>span { color:#58604f; }
.premium-home .section-heading { gap:28px; margin-bottom:28px; }
.premium-home .section-aside { max-width:370px; min-width:280px; }
.premium-home .section-aside>p { font-size:16px; line-height:1.65; color:#56604f; }
.premium-home .filter-group { margin-top:16px; flex-wrap:wrap; }
.premium-home .filter-group button { font-size:14px; padding:8px 16px; }
.premium-home .filter-group sup { font-size:11px; }
.premium-home .project-grid { gap:30px 28px; }
.premium-home .project--offset { margin-top:0; }
.premium-home .project-visual { height:360px; }
.premium-home .project-number { font-size:12px; letter-spacing:.04em; }
.premium-home .project-view { font-size:14px; padding:10px 14px; }
.premium-home .project-info { margin-top:13px; flex-wrap:wrap; gap:8px 16px; }
.premium-home .project-info p { font-size:16px; line-height:1.55; color:#59624f; max-width:450px; }
.premium-home .project-info>span { font-size:12px; line-height:1.5; padding-top:4px; white-space:normal; }
.premium-home .work-bottom { margin-top:28px; padding-top:20px; }
.premium-home .work-bottom>span { font-size:12px; color:#5a6450; }
.premium-home .work-bottom .text-link,
.premium-home .studio .text-link,
.premium-home .service-body .text-link { font-size:15px; }
.premium-home .hero-grid { min-height:0; padding-top:24px; padding-bottom:30px; }
.premium-home .hero-copy { padding-block:16px; }
.premium-home .hero-copy .eyebrow { margin-bottom:24px; }
.premium-home .hero-description { font-size:17px; line-height:1.65; margin-top:23px; }
.premium-home .hero-actions { margin-top:23px; flex-wrap:wrap; gap:16px 24px; }
.premium-home .hero-actions .button,
.premium-home .expertise-intro>.button { font-size:15px; min-height:50px; }
.premium-home .hero-note { font-size:14px; color:#b4bdab; }
.premium-home .hero-bottom { font-size:12px; min-height:62px; letter-spacing:.04em; flex-wrap:wrap; padding-block:14px; }
.premium-home .hero-bottom>a { max-width:420px; }
.premium-home .hero-location { font-size:12px; max-width:350px; }
.premium-home .art-card-top>span:last-child { font-size:12px; }
.premium-home .art-card-bottom { font-size:12px; gap:8px; line-height:1.3; }
.premium-home .art-caption { font-size:12px; letter-spacing:.04em; }
.premium-home .art-index { font-size:12px; letter-spacing:.02em; }
.premium-home .studio-grid, .premium-home .expertise-grid { gap:55px; }
.premium-home .studio-description { font-size:16px; line-height:1.65; gap:26px; margin-top:24px; color:#56604f; }
.premium-home .studio .text-link { margin-top:20px; }
.premium-home .expertise h2 { margin-top:20px; }
.premium-home .expertise-intro>p:not(.eyebrow) { font-size:16px; line-height:1.65; margin-top:20px; }
.premium-home .expertise-intro>.button { margin-top:22px; }
.premium-home .service-list { margin-top:15px; }
.premium-home .service-list summary { padding-block:19px; }
.premium-home .service-index { font-size:12px; }
.premium-home .service-body { font-size:16px; line-height:1.65; padding-bottom:20px; }
.premium-home .service-tags { font-size:12px; gap:10px 15px; flex-wrap:wrap; margin-top:12px; }
.premium-home .service-body .text-link { margin-top:16px; }
.premium-home .method .section-heading { margin-bottom:28px; }
.premium-home .method-intro { font-size:16px; line-height:1.65; }
.premium-home .method-grid { gap:22px; }
.premium-home .method-grid article { padding-top:14px; }
.premium-home .method-grid article>span { font-size:12px; }
.premium-home .method-grid h3 { margin-top:19px; }
.premium-home .method-grid p { font-size:16px; line-height:1.6; margin-top:10px; color:#56604f; }
.premium-home .contact { padding-block:52px 38px; }
.premium-home .contact-top .eyebrow { font-size:12px; }
.premium-home .contact-top>span { font-size:12px!important; }
.premium-home .contact-heading { margin-top:30px; }
.premium-home .contact-bottom { margin-top:32px; }
.premium-home .contact-bottom p { font-size:16px; line-height:1.65; }
.premium-home .contact-orb>span:last-child { font-size:12px; }

/* Shared service and document pages. Form layouts are outside this scope. */
.page-standard .page-breadcrumbs { font-size:14px; padding-block:17px; color:#58624e; }
.page-standard .eyebrow,
.page-standard .kicker,
.page-standard .section-kicker,
.page-standard .service-section__index { font-size:12px; letter-spacing:.07em; margin-bottom:16px; }
.page-standard main .button { font-size:15px; }
.page-standard main .text-link,
.page-standard .service-text-link { font-size:15px; }
.page-standard .page-content { --section-space:46px; }
.page-standard .page-content .section,
.page-standard .service-section { padding-block:46px; }
.page-standard .page-content .section--tight { padding-block:32px; }
.page-standard .service-section p,
.page-standard .page-content .section-heading>p,
.page-standard .service-feature-grid article p,
.page-standard .service-process span,
.page-standard .service-item p,
.page-standard .service-list li,
.page-standard .bullet-list li,
.page-standard .service-faq details p,
.page-standard .faq-list details p,
.page-standard .service-cta p:not(.kicker) { font-size:16px; line-height:1.65; color:#56634c; }
.page-standard .service-section p+p { margin-top:12px; }
.page-standard .service-split { gap:45px; }
.page-standard .service-split>div:last-child { padding-top:24px; }
.page-standard .service-feature-grid { margin-top:24px; }
.page-standard .service-feature-grid article { padding:23px; min-height:0; }
.page-standard .service-feature-grid article:before { font-size:12px; margin-bottom:18px; }
.page-standard .service-process { margin-top:25px; }
.page-standard .service-process li:before { font-size:12px; margin-bottom:18px; }
.page-standard .service-cases { gap:38px; }
.page-standard .service-crosslinks>a { font-size:15px; padding-block:16px; }
.page-standard .service-faq summary,
.page-standard .faq-list summary { font-size:17px; padding-block:18px; }
.page-standard .service-faq summary:after { top:19px; }
.page-standard .service-badges { margin-block:14px; }
.page-standard .service-badges>span { font-size:13px; }
.page-standard .service-cta { padding-block:46px; }
.page-standard .section-heading { margin-bottom:26px; }
.page-standard .section-nav { font-size:14px; padding-block:18px; flex-wrap:wrap; }
.page-standard .product-hero { padding-block:20px 40px; }
.page-standard .product-hero-grid { gap:38px; }
.page-standard .product-original-title { font-size:16px!important; line-height:1.6; margin-top:19px; color:#56634c; }
.page-standard .product-lead { font-size:16px; line-height:1.65; margin-top:10px; color:#56634c; }
.page-standard .product-art-index { font-size:12px; letter-spacing:.04em; }
.page-standard .product-art-caption { font-size:14px; gap:18px; max-width:calc(100% - 40px); }
.page-standard .product-ribbon { font-size:12px; padding-block:18px; letter-spacing:.06em; }
.page-standard .product-ribbon>div>span { font-size:14px; }
.page-standard .product-scope { padding-block:20px; }
.page-standard .product-scope aside { font-size:16px; line-height:1.65; gap:24px; color:#56634c; }
.page-standard .product-scope strong { font-size:16px; }
.page-standard .directory-hero { padding-block:20px 40px; gap:45px; }
.page-standard .directory-hero p:not(.eyebrow) { font-size:16px; line-height:1.65; margin-top:20px; color:#56634c; }
.page-standard .directory-art a>span { font-size:12px; }
.page-standard .service-group { margin-bottom:38px; }
.page-standard .service-group__title { margin-bottom:22px; }
.page-standard .service-group__title>span { font-size:12px; margin-bottom:14px; }
.page-standard .service-item__tags { font-size:13px; padding-bottom:15px; color:#606c54; }
.page-standard .service-item .text-link { font-size:15px; }
.page-standard .directory-card-image { margin-bottom:18px; }
.page-standard .devops-pipeline__eyebrow,
.page-standard .devops-pipeline__health { font-size:13px; }
.page-standard .devops-pipeline__step { font-size:15px; min-width:0; overflow-wrap:anywhere; }
.page-standard .devops-capability-group li,
.page-standard .devops-hub__footer { font-size:16px; line-height:1.65; }
.page-standard .cloud-hero { padding-block:20px 40px; }
.page-standard .cloud-hero-bottom>p { font-size:16px; line-height:1.65; }
.page-standard .cloud-pipeline { margin-top:32px; padding-top:20px; }
.page-standard .cloud-pipeline span { font-size:12px; margin-bottom:12px; }
.page-standard .cloud-body .section-heading { padding-top:32px; }
.page-standard .document-page { padding-block:15px 42px; }
.page-standard .document-note { padding-bottom:18px; gap:35px; }
.page-standard .document-note p { font-size:14px; }
.page-standard .legal-hero { padding-block:38px; gap:38px; }
.page-standard .legal-hero>div>p:not(.kicker),
.page-standard .legal-summary,
.page-standard .legal-content p,
.page-standard .legal-content li { font-size:16px; line-height:1.65; }
.page-standard .legal-layout { gap:42px; }
.page-standard .legal-toc a,
.page-standard .legal-toc strong { font-size:14px; line-height:1.5; }
.page-standard .legal-update { font-size:13px; }
.page-standard table { font-size:15px; }
.page-standard .legal-content section { padding-block:22px; }
.page-standard .legal-content p+p { margin-top:12px; }
.page-standard .service-card-grid { margin-block:22px; }
.page-standard .offline-page { padding-block:52px; }
.page-standard .offline-page p:not(.eyebrow) { font-size:16px; line-height:1.65; }

@media (min-width:1101px) { .site-header--complete .nav-wrap { height:88px; } }
@media (max-width:1150px) and (min-width:1101px) {
  .site-header--complete .nav-wrap { gap:16px; }
  .site-header--complete .nav-wrap nav { gap:14px; }
  .site-header--complete .nav-actions { gap:12px; }
}
@media (max-width:1100px) {
  /* Preserve the existing large mobile menu labels. */
  .menu-open .site-header--complete .nav-wrap nav>a { font-size:clamp(24px,4vw,38px); }
  .premium-home .hero-bottom { gap:20px; }
  .premium-home .hero-location { max-width:240px; }
  .premium-home .project-info { flex-direction:column; }
  .premium-home .studio-grid, .premium-home .expertise-grid { gap:32px; }
}
@media (max-width:900px) {
  .premium-home .section-pad { padding-block:44px; }
  .premium-home .hero-bottom { font-size:12px; }
  .premium-home .project-visual { height:310px; }
  .page-standard .service-split { gap:28px; }
  .page-standard .product-hero-grid { gap:26px; }
  .page-standard .directory-hero { gap:28px; }
  .page-standard .devops-pipeline__track { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:640px) {
  .menu-open .site-header--complete .nav-wrap nav>a { font-size:29px; }
  .site-footer--complete { padding-top:30px; }
  .footer-directory { gap:22px 18px; padding-bottom:22px; margin-bottom:20px; }
  .site-footer--complete .footer-main p { max-width:150px; }
  .site-footer--complete .footer-bottom { padding-block:16px; }
  .premium-home .section-pad { padding-block:34px; }
  .premium-home .section-topline { gap:14px; margin-bottom:15px; flex-wrap:wrap; }
  .premium-home .section-heading { margin-bottom:22px; }
  .premium-home .section-aside { max-width:none; min-width:0; margin-top:18px; display:block; }
  .premium-home .section-aside>p { font-size:16px; }
  .premium-home .filter-group { max-width:none; justify-content:flex-start; margin-top:14px; }
  .premium-home .hero-grid { padding-top:20px; padding-bottom:18px; }
  .premium-home .hero-copy { padding-block:0; }
  .premium-home .hero-copy .eyebrow { font-size:12px; letter-spacing:.035em; margin-bottom:19px; }
  .premium-home .hero-actions { gap:12px; }
  .premium-home .hero-note { display:block; }
  .premium-home .hero-art { margin-top:20px; }
  .premium-home .hero-bottom { min-height:60px; padding-block:14px; }
  .premium-home .hero-bottom>a { max-width:100%; font-size:12px; }
  .premium-home .hero-location { max-width:none; font-size:12px; }
  .premium-home .project-grid { gap:26px; }
  .premium-home .project-visual { height:auto; aspect-ratio:1.2; }
  .premium-home .project-info { flex-direction:column; gap:4px; }
  .premium-home .project-info p { max-width:none; }
  .premium-home .project-info>span { max-width:none; text-align:left; }
  .premium-home .work-bottom { margin-top:24px; gap:14px; }
  .premium-home .studio-aside { margin-bottom:20px; }
  .premium-home .studio-description { margin-top:20px; }
  .premium-home .service-list { margin-top:24px; }
  .premium-home .service-list summary { padding-block:17px; }
  .premium-home .service-body { padding:0 0 18px 25px; }
  .premium-home .service-body .text-link { max-width:100%; width:auto; margin-right:12px; }
  .premium-home .method .section-heading { margin-bottom:22px; }
  .premium-home .method-grid { gap:24px 18px; }
  .premium-home .method-grid h3 { margin-top:15px; }
  .premium-home .method-grid p { max-width:none; }
  .premium-home .contact { padding-block:34px; }
  .premium-home .contact-heading { margin-top:23px; }
  .premium-home .contact-bottom { margin-top:25px; }
  .page-standard .page-breadcrumbs { padding-block:15px; }
  .page-standard .page-content .section,
  .page-standard .service-section { padding-block:30px; }
  .page-standard .service-split { gap:8px; }
  .page-standard .service-split>div:last-child { padding-top:0; }
  .page-standard .service-feature-grid article { padding:20px; }
  .page-standard .service-cases { gap:15px; }
  .page-standard .service-cta { padding-block:32px; }
  .page-standard .product-hero { padding-block:12px 30px; }
  .page-standard .product-art { margin-top:24px; }
  .page-standard .directory-hero { padding-block:12px 30px; }
  .page-standard .directory-art { margin-top:30px; }
  .page-standard .product-scope aside { display:block; }
  .page-standard .service-group { margin-bottom:30px; }
  .page-standard .legal-hero { padding-block:25px; }
  .page-standard .legal-content section { padding-block:20px; }
  .page-standard .legal-layout { display:block; }
  .page-standard .legal-toc ul { columns:1; }
  .page-standard .legal-toc { margin-bottom:22px; }
  .page-standard .document-note { display:block; }
  .page-standard .document-note p { margin-top:10px; }
  .page-standard .cloud-hero { padding-block:14px 30px; }
  .page-standard .cloud-pipeline { gap:8px 18px; }
}

/* Keep the client ribbon delicate while using a shallower frame. */
.premium-home .client-showcase { padding-block:25px 16px; }
.premium-home .client-showcase-header { margin-bottom:10px; }
.premium-home .client-logo-viewport { padding-block:10px 15px; }
.premium-home .client-logo-card { height:184px; padding:0; }
.premium-home .client-logo-card > a { padding:20px; }
.premium-home .client-logo-window { height:120px; }

@media (max-width:640px) {
  :root { --pad:18px; }
  .premium-home .section-pad { padding-block:28px; }
  .premium-home .project-visual { aspect-ratio:1.28; }
  .premium-home .project-grid { gap:22px; }
  .premium-home .method-grid { gap:20px 18px; }
  .premium-home .method-grid p { line-height:1.55; }
  .premium-home .contact { padding-block:30px; }
  .premium-home .client-showcase { padding-block:20px 14px; }
  .premium-home .client-logo-card { height:168px; padding:0; }
  .premium-home .client-logo-card > a { padding:16px; }
  .premium-home .client-logo-window { height:112px; }
  .page-standard .page-content .section,
  .page-standard .service-section { padding-block:24px; }
  .page-standard .service-section h2 { margin-bottom:16px; }
  .page-standard .service-feature-grid { margin-top:18px; }
  .page-standard .service-feature-grid article { padding:17px; }
  .page-standard .service-feature-grid article:before { margin-bottom:12px; }
  .page-standard .service-list li,
  .page-standard .bullet-list li { padding-block:9px; }
  .page-standard .service-process { margin-top:18px; gap:18px; }
  .page-standard .service-process li:before { margin-bottom:12px; }
  .page-standard .service-process strong { margin-bottom:8px; }
  .page-standard .service-crosslinks>a { padding-block:12px; }
  .page-standard .service-cta { padding-block:28px; }
  .page-standard .product-art { height:300px; margin-top:20px; }
  .page-standard .directory-card-image { height:180px; }
  .page-standard .legal-toc ul { columns:2; column-gap:18px; }
  .page-standard .legal-content p,
  .page-standard .legal-content li { line-height:1.6; }
  .page-standard .legal-content p+p { margin-top:10px; }
  .page-standard .legal-content section { padding-block:16px; }
}

@media (max-width:480px) {
  .page-standard .devops-capability-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-standard .devops-capability-group { min-width:0; }
  .page-standard .devops-capability-group ul { padding-left:18px; }
  .page-standard .devops-capability-group h3,
  .page-standard .devops-capability-group li,
  .premium-page .service-process strong,
  .premium-page .service-process span,
  .premium-page main h2 { overflow-wrap:anywhere; hyphens:auto; }
  .ti-page .ti-wizard .ti-progress { padding-inline:8px; }
}
/* Keep the homepage's longer French contact label within narrow screens. */
.expertise-intro > .button {
  max-width: 100%;
  white-space: normal;
}
