/* Shared inner-page components. Preserve article typography and native controls. */
body:not(.home):not(.single-post) #main .hero { background:#f7f9fc; }
body:not(.home) #main :is(.hero-orbit,.service-hero-decor,.all-products-hero-orbit,.all-products-hero-decor,.all-products-products-decor,.all-products-pathways-decor,.all-products-values-ribbon,.all-products-faq-decor,.all-products-cta-orbit,.overview-scene-ribbon,.overview-scene-connector) { display:none; }
body:not(.home) #main :is(.eyebrow,.section-kicker) { font-size:12px; letter-spacing:.025em; text-transform:none; }
body:not(.home) #main .section-kicker { display:none; }
body:not(.home) #main :is(.hero-visual,.service-hero-visual,.all-products-hero-media) { max-width:480px; margin-inline:auto; }
body:not(.home) #main :is(.hero-visual,.all-products-hero-illustration) img { filter:none; }
body:not(.home) #main .hero--text .hero-copy { max-width:850px; }
body:not(.home):not(.single-post) #main .variant--subtle { background:#f7f9fc; }
body:not(.home) #main :is(.solution-card,.all-products-card) { border-radius:8px; box-shadow:none; border-color:#dce3eb; }
body:not(.home) #main :is(.solution-card-copy,.all-products-card-copy) { padding:22px; }
body:not(.home) #main :is(.solution-card h3,.all-products-card h3) { font-size:20px; line-height:1.4; }
body:not(.home) #main .solution-card-image { background:#f5f7fa; aspect-ratio:16/9; }
body:not(.home) #main .feature-card { padding-block:18px; border-top:1px solid #dce3eb; }
body:not(.home) #main .icon-disc { background:#edf3ff; border-radius:5px; width:40px; height:40px; }
body:not(.home) #main .service-hero { background:#f7f9fc; }
body:not(.home) #main .service-hero-title { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-bottom:22px; }
body:not(.home) #main .service-hero-title h1 { flex:1 1 360px; min-width:0; margin-bottom:0; }
body:not(.home) #main .service-partner-badge { display:inline-flex; align-items:center; max-width:100%; min-height:30px; padding:5px 10px; border:1px solid #c8d8ef; border-radius:999px; background:#edf3ff; color:var(--blue); font-size:13px; font-weight:600; line-height:1.35; overflow-wrap:anywhere; }
body:not(.home) #main .service-highlights { padding-top:18px; border-top:1px solid #dce3eb; }
body:not(.home) #main .service-subnav { background:#fff; box-shadow:0 1px 0 #dce3eb; }
body:not(.home) #main :is(.service-engagement-grid article,.integration-card,.service-audience-not-fit) { border-radius:6px; box-shadow:none; background:#fff; }
body:not(.home) #main .service-subnav~.section--cta { background:#17344b; }
body:not(.home) #main .service-project-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
body:not(.home) #main .service-project-card { display:flex; flex-direction:column; min-width:0; padding:22px; border:1px solid #dce3eb; border-radius:8px; background:#fff; }
body:not(.home) #main .service-project-logo { display:flex; align-items:center; width:100%; height:72px; margin:0 0 20px; }
body:not(.home) #main .service-project-logo img { display:block; width:auto; max-width:100%; height:auto; max-height:72px; object-fit:contain; }
body:not(.home) #main .service-project-copy { display:flex; flex:1; flex-direction:column; min-width:0; }
body:not(.home) #main .service-project-card h3 { max-width:100%; margin:0 0 10px; font-size:20px; line-height:1.4; overflow-wrap:anywhere; word-break:normal; }
body:not(.home) #main .service-project-card p { margin:0; color:var(--muted); font-size:14px; }
body:not(.home) #main .service-project-card .text-link { align-self:flex-start; margin-top:18px; }
body:not(.home) #main :is(.faq-list summary,.all-products-faq-item summary) { font-size:16px; padding-block:18px; }
body:not(.home) #main :is(.all-products-hero,.all-products-products,.all-products-pathways,.all-products-values,.all-products-faq,.all-products-cta) { padding-block:var(--section-space); }
body:not(.home) #main :is(.all-products-hero,.all-products-pathways,.all-products-values) { background:#f7f9fc; }
body:not(.home) #main .all-products-hero h1 { max-width:22ch; }
body:not(.home) #main .all-products-hero-media { aspect-ratio:4/3; }
body:not(.home) #main .all-products-hero-grid { gap:32px; }
body:not(.home) #main :is(.all-products-products-heading,.all-products-values-heading) { margin-bottom:28px; }
body:not(.home) #main :is(.all-products-products-heading,.all-products-pathways-heading,.all-products-values-heading,.all-products-faq-heading) h2 { max-width:28ch; }
body:not(.home) #main :is(.all-products-pathway,.all-products-value) { border:0; border-top:1px solid #dce3eb; border-radius:0; box-shadow:none; padding:20px 0; background:transparent; }
body:not(.home) #main :is(.all-products-pathway-icon,.all-products-value-icon) { background:transparent; border-radius:0; }
body:not(.home) #main .all-products-card-media { aspect-ratio:16/9; }
body:not(.home) #main .all-products-card-media img { object-fit:contain; }
body:not(.home) #main .all-products-cta { background:#17344b; }
body:not(.home) #main .all-products-cta-media { display:none; }
body:not(.home) #main .all-products-cta-panel { grid-template-columns:minmax(0,1fr); min-height:0; padding:24px 0; background:transparent; box-shadow:none; border-radius:0; }
body:not(.home) #main .all-products-cta-copy { max-width:760px; }
body:not(.home) #main .all-products-cta-copy h2 { max-width:30ch; }
/* Contact: form first on mobile, contextual information beside it on desktop. */
body #main .contact-layout { display:grid; gap:32px; padding-block:var(--section-space); }
body #main .contact-layout :is(.section,.section--cta) { padding:0; background:transparent; color:var(--ink); }
body #main .contact-layout .section>.container { width:100%; max-width:none; }
body #main .contact-layout .section .cta-content h2 { font-size:24px; line-height:1.35; color:var(--navy); }
body #main .contact-layout :is(p,.text-link) { color:var(--ink); }
body #main .contact-sidebar { display:grid; align-content:start; gap:28px; }
body #main .contact-sidebar>.section { padding-bottom:24px; border-bottom:1px solid #dce3eb; }
body #main .contact-details { padding:28px; border:1px solid #dce3eb; border-radius:8px; background:#f7f9fc; }
body #main .contact-details h2 { margin-bottom:24px; font-size:24px; line-height:1.35; }
body #main .contact-details-list { display:grid; gap:20px; font-style:normal; }
body #main .contact-detail { display:grid; gap:5px; min-width:0; padding-bottom:20px; border-bottom:1px solid #dce3eb; }
body #main .contact-detail:last-child { padding-bottom:0; border-bottom:0; }
body #main .contact-detail>span { color:var(--muted); font-size:13px; font-weight:600; }
body #main .contact-detail p { margin:0; white-space:pre-line; }
body #main .contact-detail-link { display:inline-flex; align-items:center; width:fit-content; max-width:100%; min-height:44px; color:var(--blue); overflow-wrap:anywhere; }
body #main .contact-sidebar .cta-content { display:block; }
body #main .contact-sidebar .cta-action { margin-top:16px; }
body #main .contact-form-column { min-width:0; }
/* The page owns the two-column layout; do not nest the generic lead-form split. */
body #main .contact-form-column .cta-content { grid-template-columns:minmax(0,1fr); gap:20px; }
body #main .contact-layout .contact-form-column .section--lead_form { background:transparent; }
body #main .contact-form-column .wata-lead-grid { align-items:end; }
body #main .contact-form-column .wata-lead-form { padding:20px; box-shadow:none; }
/* Search and empty states share one accessible form and navigation pattern. */
body #main .utility-page { padding-block:var(--section-space); }
body #main .utility-heading { max-width:760px; margin-bottom:28px; }
body #main .utility-search { max-width:760px; margin-block:24px 36px; }
body .search-form { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
body .search-form label { display:grid; gap:8px; font-size:14px; font-weight:600; }
body .search-field { width:100%; min-width:0; min-height:48px; font-size:16px; background:#fff; color:var(--ink); }
body .search-submit { min-height:48px; align-self:end; }
body #main .empty-state { max-width:720px; padding:28px; background:#f7f9fc; border:1px solid #dce3eb; border-radius:8px; }
body #main .utility-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:24px; }
@media(min-width:640px) {
  body .search-form { grid-template-columns:minmax(0,1fr) auto; }
}
@media(min-width:768px) {
  body:not(.home) #main .service-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(min-width:960px) {
  body:not(.home) #main .all-products-card--featured { grid-column:auto; grid-row:auto; }
  body:not(.home) #main .all-products-products-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:auto; }
  body:not(.home) #main .section--listing .solution-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body:not(.home) #main .section--overview>.container:has(>.split-content) .split-content { gap:48px; }
  body #main .contact-layout { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:start; gap:56px; }
}
@media(min-width:1024px) {
  body:not(.home) #main .service-project-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:639px) {
  body:not(.home) #main :is(.hero-visual,.service-hero-visual,.all-products-hero-media) { max-width:320px; }
  body:not(.home) #main :is(.solution-card-copy,.all-products-card-copy) { padding:18px; }
  body:not(.home) #main .all-products-card-link { display:grid; grid-template-columns:96px minmax(0,1fr); align-items:start; }
  body:not(.home) #main .all-products-card-media { width:96px; aspect-ratio:1; margin-top:18px; background:transparent; }
  body:not(.home) #main .all-products-card p { font-size:14px; }
  body:not(.home) #main .all-products-card h3 { font-size:18px; }
}
