/* SharpSigma V5.27.3 — consolidated production design system
   Final visual layer. Page-local CSS may define unique composition, while
   typography, spacing, controls, cards, containers and responsive rhythm live here. */
:root{
  --ss-max:1180px;
  --ss-gutter:48px;
  --ss-gutter-mobile:32px;
  --ss-text:#082631;
  --ss-muted:#536A70;
  --ss-teal:#00AFA3;
  --ss-teal-dark:#008D84;
  --ss-paper:#F6F9F8;
  --ss-line:#D8E6E4;
  --ss-dark:#062832;
  --ss-radius:9px;
  --ss-radius-control:7px;
  --ss-shadow:0 14px 38px rgba(8,38,49,.075);
  --ss-space-xs:16px;
  --ss-space-sm:24px;
  --ss-space-md:40px;
  --ss-space-lg:64px;
  --ss-space-xl:88px;
  --ss-section:88px;
  --ss-body:15px;
  --ss-small:13px;
  --ss-label:11px;
  --ss-lead:17px;
  --ss-card-title:20px;
  --ss-h3:30px;
  --ss-h2:clamp(36px,3.7vw,49px);
  --ss-h1:clamp(46px,5vw,64px);
  --ss-body-line:1.68;
}
*{box-sizing:border-box}
html{scroll-padding-top:92px;zoom:1!important}
body{color:var(--ss-text);font-size:var(--ss-body);line-height:var(--ss-body-line);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transform:none!important;width:auto!important}
.wrap{width:min(calc(100% - var(--ss-gutter)),var(--ss-max))!important;margin-inline:auto!important}
p{line-height:var(--ss-body-line)}
img{max-width:100%;height:auto}

/* Type hierarchy */
.page-hero h1,.premium-page-hero h1,.blog-hero h1,.contact-hero h1,.ai-hero h1{
  font-size:var(--ss-h1)!important;line-height:1.025!important;letter-spacing:-.045em!important;
  margin:0 0 20px!important;max-width:920px!important;text-wrap:balance;
}
.page-hero p,.premium-page-hero p,.blog-hero p,.contact-hero p,.ai-hero p,.hero-copy>p{
  font-size:var(--ss-lead)!important;line-height:1.68!important;max-width:760px!important;
}
.kicker,.eyebrow,.section-num,.panel-label,.ai-section-head .num,.ai-statement .eyebrow{
  font-size:var(--ss-label)!important;line-height:1.35!important;letter-spacing:.13em!important;font-weight:800!important;
}
.section-head h2,.core-capability-page .section-head h2,.ai-section-head h2,.ai-statement h2{
  font-size:var(--ss-h2)!important;line-height:1.09!important;letter-spacing:-.035em!important;margin:0!important;max-width:820px!important;text-wrap:balance;
}
.section-head p,.core-capability-page .section-head>p,.ai-section-head p,.ai-statement-copy{
  font-size:16px!important;line-height:1.7!important;color:var(--ss-muted)!important;
}
.rich h2{font-size:var(--ss-h3)!important;line-height:1.16!important;letter-spacing:-.03em!important;margin:0 0 18px!important;text-wrap:balance}
.rich h3{font-size:var(--ss-card-title)!important;line-height:1.3!important;margin:28px 0 10px!important}
.rich p,.rich li{font-size:var(--ss-body)!important;line-height:1.72!important;color:var(--ss-muted)!important}
.rich p{margin:0 0 18px}.rich p:last-child{margin-bottom:0}.rich ul,.rich ol{margin:15px 0 0;padding-left:21px}.rich li+li{margin-top:7px}

/* Containers + vertical rhythm */
.page-hero,.premium-page-hero,.blog-hero,.contact-hero,.ai-hero{padding:72px 0 64px!important}
.section,.ai-statement,.ai-solutions,.ai-governance{padding:var(--ss-section) 0!important}
.ai-process-section{padding:var(--ss-section) 0!important}
.section-head,.ai-section-head{margin-bottom:42px!important}
.section-head:has(> .section-num),.ai-section-head{grid-template-columns:180px minmax(0,1fr)!important;gap:52px!important;align-items:start!important}
.core-capability-page .section-head{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)!important;gap:64px!important;align-items:start!important}
.core-capability-page .section-head>p{margin:4px 0 0!important;max-width:540px!important}
.two-col,.ai-statement-grid{gap:64px!important;align-items:start!important}
.ai-statement-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)!important}
.ai-statement h2{margin:8px 0 20px!important}.ai-statement-copy{max-width:720px!important}
.ai-rule{font-size:20px!important;line-height:1.45!important;margin-top:28px!important;padding-top:24px!important}

/* Grid rhythm */
.grid,.detail-grid,.case-grid,.problem-grid,.cap-grid,.industry-grid,.process-grid,.topic-grid,.insight-category-grid,.capability-gateway-grid{gap:18px!important}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}

/* Card grammar */
.card,.detail,.detail-card,.case,.problem,.cap-card,.industry,.process-card,.topic-card,.insight-category-card,.capability-gateway-card,.ai-governance-panel{
  border-radius:var(--ss-radius)!important;border-color:var(--ss-line)!important;
}
.card,.detail,.detail-card,.problem,.cap-card,.industry,.process-card,.topic-card{padding:25px!important}
.card h3,.detail h3,.detail-card h3,.cap-card h3,.industry strong,.process-card h3,.topic-card h3,.case h3,.blog-card-body h2,.ai-process-step h3{
  font-size:var(--ss-card-title)!important;line-height:1.28!important;letter-spacing:-.018em!important;margin-top:0!important;text-wrap:balance;
}
.card p,.detail p,.detail-card p,.cap-card p,.industry p,.process-card p,.topic-card p,.case p,.blog-card-body p,.ai-process-step p{
  font-size:14px!important;line-height:1.67!important;color:var(--ss-muted)!important;
}
.card,.detail,.detail-card,.cap-card,.industry,.process-card,.topic-card,.insight-category-card{box-shadow:none}
.card:hover,.detail:hover,.detail-card:hover,.cap-card:hover,.industry:hover,.process-card:hover,.topic-card:hover,.insight-category-card:hover{box-shadow:var(--ss-shadow)}
.capability-gateway-card{padding:30px!important}.capability-gateway-body h2,.capability-gateway-body h3{line-height:1.15!important;letter-spacing:-.03em!important;text-wrap:balance}.capability-gateway-body p{font-size:14.5px!important;line-height:1.7!important;color:var(--ss-muted)!important}

/* Service / process rows */
.service-row{padding:24px 0!important;grid-template-columns:170px minmax(0,1fr) 28px!important;gap:26px!important}.service-row h3{font-size:19px!important;line-height:1.3!important;margin:0 0 5px!important}.service-row p{font-size:14px!important;line-height:1.62!important;margin:0!important;max-width:760px}.service-row .tag{font-size:var(--ss-label)!important;line-height:1.35!important}
.ai-process{margin-top:34px!important}.ai-process-step{padding:28px 24px 18px 0!important;min-height:170px!important}.ai-process-step:not(:first-child){padding-left:24px!important}.ai-process-step small{font-size:var(--ss-label)!important;letter-spacing:.08em!important;margin-bottom:18px!important}

/* Links + controls */
.text-link,.capability-gateway-link{display:inline-flex!important;align-items:center;margin-top:16px!important;font-size:13px!important;line-height:1.35!important;font-weight:800!important;color:var(--ss-teal-dark)!important}
.btn,.nav-cta,.btn-primary,.btn-secondary,.btn-outline,.btn-light,.btn-dark,button[type="submit"]{
  min-height:46px!important;padding:11px 18px!important;border-radius:var(--ss-radius-control)!important;font-size:13.5px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:-.005em!important;
}
.btn:hover,.nav-cta:hover,button[type="submit"]:hover{transform:translateY(-1px)!important}.btn:focus-visible,.nav-cta:focus-visible,.text-link:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(0,175,163,.25)!important;outline-offset:3px!important}

/* Forms */
label{font-size:12.5px!important;line-height:1.4!important;font-weight:750!important}input,select,textarea{font-size:14px!important;line-height:1.45!important;border-radius:var(--ss-radius-control)!important;padding:12px 13px!important}input,select{min-height:46px!important}textarea{min-height:132px!important}.field{gap:7px!important}.form-grid{gap:16px!important}.note{font-size:12px!important;line-height:1.6!important}
.contact-shell-section{padding:var(--ss-space-lg) 0 var(--ss-space-xl)!important}.contact-shell{gap:40px!important}.contact-hero p{margin:0!important}.contact-form button[type="submit"],.contact-shell button[type="submit"]{min-height:48px!important;font-size:14px!important;padding-inline:20px!important}

/* Closing bands */
.cta,.cta-band{padding:62px 0!important}.cta-grid,.cta-band .wrap{gap:36px!important}.cta h2,.cta-band h2{font-size:clamp(31px,3.6vw,44px)!important;line-height:1.09!important;letter-spacing:-.035em!important;margin:0 0 12px!important;max-width:850px!important;text-wrap:balance}.cta p,.cta-band p{font-size:15px!important;line-height:1.68!important;max-width:760px!important}
.cta-band .wrap.cta-grid{display:grid!important;width:min(calc(100% - var(--ss-gutter)),var(--ss-max))!important;margin-inline:auto!important;grid-template-columns:minmax(0,1fr) auto!important;gap:36px!important;align-items:center!important}.cta-band .wrap.cta-grid>div:first-child{min-width:0;max-width:860px}

/* Header + dropdowns */
.v520-header .nav{gap:24px!important}.v520-links{gap:22px!important}.v520-links>a,.nav-parent{font-size:13.5px!important;line-height:1.3!important;font-weight:700!important}.nav-dropdown-menu a{font-size:12.5px!important;line-height:1.35!important;padding:8px 10px!important}.nav-dropdown-label{font-size:9px!important}

/* Footer */
.mega-footer{font-size:13px!important}.mega-footer .footer-brand{font-size:23px!important;line-height:1.15!important}.mega-footer .footer-brand-block p{font-size:13px!important;line-height:1.65!important}.mega-footer .footer-heading{font-size:11px!important;line-height:1.3!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important;margin:0 0 12px!important}.mega-footer .footer-col a,.mega-footer .footer-email,.mega-footer .footer-cta{font-size:12.5px!important;line-height:1.5!important}

/* Homepage remains distinctive but uses the same metrics */
.hero{padding:54px 0 64px!important}.hero-copy{padding:54px 0 40px!important}.hero-copy>p{margin:0 0 30px!important}.hero-tags span{font-size:var(--ss-label)!important;line-height:1.3!important}.proof-strip{padding:28px 0 25px!important}.proof-item strong{font-size:clamp(30px,3vw,38px)!important}.proof-item span{font-size:13px!important}.proof-note{font-size:10px!important;line-height:1.45!important;max-width:900px!important;margin:14px auto 0!important}

/* AI is a feature variant, not a separate design system */
.ai-hero:after,.ai-hero::after{font-size:clamp(140px,19vw,280px)!important;bottom:-.24em!important}.ai-hero .hero-actions{margin-top:28px!important}.ai-solutions,.ai-governance{padding:var(--ss-section) 0!important}.ai-section-head h2{margin:0 0 12px!important}.ai-section-head p{margin:0!important}.ai-process-section .ai-section-head p{color:#b8cbd0!important}

/* Insights */
.blog-hero{padding:72px 0 60px!important}.insight-category-card{overflow:hidden}.insight-category-card h2,.insight-category-card h3{line-height:1.22!important;letter-spacing:-.025em!important}.insight-category-card p{font-size:14px!important;line-height:1.67!important}

@media(max-width:1024px){
  :root{--ss-section:72px}
  .core-capability-page .section-head,.ai-statement-grid{grid-template-columns:1fr!important;gap:18px!important}
  .core-capability-page .section-head>p{max-width:720px!important;margin-top:0!important}
  .section-head:has(> .section-num),.ai-section-head{grid-template-columns:150px minmax(0,1fr)!important;gap:34px!important}
  .two-col{gap:42px!important}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ai-process{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
  :root{--ss-section:58px;--ss-h1:clamp(38px,10vw,48px);--ss-h2:clamp(30px,8vw,39px)}html{scroll-padding-top:76px}.wrap{width:min(calc(100% - var(--ss-gutter-mobile)),var(--ss-max))!important}
  .page-hero,.premium-page-hero,.blog-hero,.contact-hero,.ai-hero{padding:50px 0 46px!important}.page-hero p,.premium-page-hero p,.blog-hero p,.contact-hero p,.ai-hero p,.hero-copy>p{font-size:16px!important;line-height:1.65!important}
  .section-head,.section-head:has(> .section-num),.ai-section-head{grid-template-columns:1fr!important;gap:10px!important;margin-bottom:30px!important}.section-num,.ai-section-head .num{padding-top:0!important;margin-bottom:4px!important}.section-head p,.ai-section-head p{font-size:15px!important;margin-top:10px!important}
  .two-col{grid-template-columns:1fr!important;gap:38px!important}.grid-3,.detail-grid,.case-grid,.problem-grid,.cap-grid,.industry-grid,.process-grid,.topic-grid,.insight-category-grid{grid-template-columns:1fr!important}
  .card,.detail,.detail-card,.problem,.cap-card,.industry,.process-card,.topic-card{padding:21px!important}.service-row{grid-template-columns:1fr 24px!important;gap:8px 16px!important;padding:20px 0!important}.service-row .tag{grid-column:1/-1!important}
  .cta,.cta-band{padding:48px 0!important}.cta-grid,.cta-band .wrap,.cta-band .wrap.cta-grid{width:min(calc(100% - var(--ss-gutter-mobile)),var(--ss-max))!important;grid-template-columns:1fr!important;gap:22px!important}
  .btn,.nav-cta,.btn-primary,.btn-secondary,.btn-outline,.btn-light,.btn-dark,button[type="submit"]{min-height:44px!important;padding:10px 16px!important;font-size:13px!important}
  .hero{padding:30px 0 50px!important}.hero-copy{padding:30px 0 28px!important}.ai-process{grid-template-columns:1fr!important}.ai-process-step,.ai-process-step:not(:first-child){padding:22px 0!important;border-right:0!important}.contact-shell-section{padding:42px 0 58px!important}
}

/* V5.27.1 — editorial layout guardrails
   Prevent long section headings from being squeezed into legacy narrow columns. */
@media (min-width:1025px){
  .section-head{
    display:grid!important;
    grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
    gap:64px!important;
    align-items:start!important;
  }
  .section-head>div:first-child{min-width:0!important}
  .section-head>div:first-child h2{max-width:680px!important}
  .section-head>p{
    margin:4px 0 0!important;
    max-width:600px!important;
    align-self:start!important;
  }
  /* Numbered editorial headers intentionally keep a narrow label rail. */
  .section-head:has(> .section-num){
    grid-template-columns:180px minmax(0,1fr)!important;
    gap:52px!important;
  }
  .section-head:has(> .section-num)>div h2{max-width:820px!important}
  .core-capability-page .section-head{
    grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
  }
  .two-col{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  }
}

/* Typography wrapping guardrails */
h1,h2,h3{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.section-head h2,.rich h2,.capability-gateway-body h2,.capability-gateway-body h3{
  text-wrap:balance;
}
.section-head p,.rich p,.card p,.detail-card p,.cap-card p,.industry p,.process-card p,.topic-card p{
  text-wrap:pretty;
}

/* Tablet: avoid narrow split layouts before they become awkward. */
@media (max-width:1024px){
  .section-head,
  .core-capability-page .section-head{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .section-head>p,
  .core-capability-page .section-head>p{
    margin-top:0!important;
    max-width:720px!important;
  }
  .section-head:has(> .section-num),
  .ai-section-head{
    grid-template-columns:150px minmax(0,1fr)!important;
    gap:34px!important;
  }
  .cap-grid,.industry-grid,.problem-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .workflow{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media (max-width:700px){
  .section-head,
  .section-head:has(> .section-num),
  .core-capability-page .section-head,
  .ai-section-head{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .cap-grid,.industry-grid,.problem-grid,.workflow{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   V5.27.2 — BRAND SURFACE GUARDRAILS
   Large surfaces use SharpSigma ink / white / restrained neutral.
   Bright teal is reserved for accents and actions.
   ========================================================= */

/* Closing / cross-navigation bands: restore industrial brand weight. */
.cta:not(.cta-band){
  background:linear-gradient(112deg,#082F37 0%,#06424A 58%,#07565B 100%) !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  color:#fff !important;
}
.cta:not(.cta-band) h1,
.cta:not(.cta-band) h2,
.cta:not(.cta-band) h3{color:#fff !important;}
.cta:not(.cta-band) p{color:#C9D9DC !important;max-width:68ch;}
.cta:not(.cta-band) .btn-primary{
  background:#00AFA3 !important;
  border-color:#00AFA3 !important;
  color:#fff !important;
}
.cta:not(.cta-band) .btn-primary:hover{
  background:#0B8F87 !important;
  border-color:#0B8F87 !important;
}

/* Prevent pastel teal from becoming a dominant full-width surface. */
.section[style*="#E9FBF9"],
.section[style*="#F6FBFB"]{
  background:#F7F9F8 !important;
}

/* Keep pale teal only as a micro-accent / interaction cue. */
.service-row:hover,
.nav-dropdown-menu a:hover{
  background:#F3F7F6 !important;
}

/* =========================================================
   V5.27.3 — STRICT SHARPSIGMA BRAND PALETTE
   Visible UI uses only SharpSigma teal, dark teal, deep ink,
   white, and alpha-tints derived from those same brand colors.
   ========================================================= */
:root{
  --ss-teal:#00AFA3;
  --ss-teal-dark:#008D84;
  --ss-text:#082631;
  --ss-dark:#082631;
  --ss-paper:#FFFFFF;
  --ss-muted:rgba(8,38,49,.70);
  --ss-line:rgba(8,38,49,.14);
  --ss-shadow:0 14px 38px rgba(8,38,49,.09);
}

/* Core page canvas + type */
html,body{background:#FFFFFF!important;color:#082631!important}
body,p,.rich p,.rich li,.card p,.detail p,.detail-card p,.cap-card p,.industry p,.process-card p,.topic-card p,.case p,.blog-card-body p,.ai-process-step p,.section-head p,.core-capability-page .section-head>p,.ai-section-head p,.ai-statement-copy{color:rgba(8,38,49,.70)!important}
h1,h2,h3,h4,h5,h6,.footer-brand{color:#082631}

/* Strong brand surfaces — solid, not decorative off-brand gradients */
.page-hero,.premium-page-hero,.blog-hero,.contact-hero,.ai-hero,
.cta:not(.cta-band),.cta-band,.mega-footer,footer{
  background:#082631!important;
  color:#FFFFFF!important;
}
.page-hero::before,.premium-page-hero::before,.blog-hero::before,.contact-hero::before,.ai-hero::before{background-image:none!important}
.page-hero h1,.premium-page-hero h1,.blog-hero h1,.contact-hero h1,.ai-hero h1,
.page-hero h2,.premium-page-hero h2,.blog-hero h2,.contact-hero h2,.ai-hero h2,
.cta h1,.cta h2,.cta h3,.cta-band h1,.cta-band h2,.cta-band h3,
.mega-footer h2,.mega-footer h3,.mega-footer h4,footer h2,footer h3,footer h4{color:#FFFFFF!important}
.page-hero p,.premium-page-hero p,.blog-hero p,.contact-hero p,.ai-hero p,
.cta p,.cta-band p,.mega-footer p,footer p{color:rgba(255,255,255,.74)!important}
.page-hero .kicker,.premium-page-hero .kicker,.blog-hero .kicker,.contact-hero .kicker,.ai-hero .kicker,
.page-hero .eyebrow,.premium-page-hero .eyebrow,.blog-hero .eyebrow,.contact-hero .eyebrow,.ai-hero .eyebrow{color:#00AFA3!important}

/* White / ink-only content surfaces */
.section,.ai-statement,.ai-solutions,.ai-governance,.ai-process-section,.contact-shell-section,
.card,.detail,.detail-card,.case,.problem,.cap-card,.industry,.process-card,.topic-card,
.insight-category-card,.capability-gateway-card,.ai-governance-panel,.contact-shell,.contact-form,.contact-panel{
  background:#FFFFFF!important;
}
.section:nth-of-type(even),.section.alt,.section.soft,.soft-section,.paper-section{background:#FFFFFF!important}

/* Cards: no pastel fills; brand color appears through borders and interaction */
.card,.detail,.detail-card,.case,.problem,.cap-card,.industry,.process-card,.topic-card,
.insight-category-card,.capability-gateway-card,.ai-governance-panel{
  border-color:rgba(8,38,49,.14)!important;
}
.card:hover,.detail:hover,.detail-card:hover,.case:hover,.problem:hover,.cap-card:hover,.industry:hover,.process-card:hover,.topic-card:hover,.insight-category-card:hover,.capability-gateway-card:hover{
  border-color:rgba(0,175,163,.55)!important;
  background:#FFFFFF!important;
}

/* Primary interaction */
a{color:inherit}
.text-link,.capability-gateway-link,.eyebrow,.kicker,.section-num,.panel-label,.ai-section-head .num,.ai-statement .eyebrow{color:#008D84!important}
.nav-cta,.btn-primary,.btn.btn-primary,button[type="submit"]{
  background:#00AFA3!important;border-color:#00AFA3!important;color:#FFFFFF!important;
}
.nav-cta:hover,.btn-primary:hover,.btn.btn-primary:hover,button[type="submit"]:hover{
  background:#008D84!important;border-color:#008D84!important;color:#FFFFFF!important;
}
.btn-secondary,.btn-outline{
  background:#FFFFFF!important;border-color:rgba(8,38,49,.28)!important;color:#082631!important;
}
.btn-secondary:hover,.btn-outline:hover{
  background:#FFFFFF!important;border-color:#00AFA3!important;color:#008D84!important;
}
.btn-light{background:#FFFFFF!important;border-color:#FFFFFF!important;color:#082631!important}
.btn-light:hover{background:#FFFFFF!important;border-color:#00AFA3!important;color:#008D84!important}
.btn-dark{background:#082631!important;border-color:#082631!important;color:#FFFFFF!important}
.btn-dark:hover{background:#082631!important;border-color:#00AFA3!important;color:#FFFFFF!important}

/* Header / menus */
.v520-header,.v520-main,.nav-dropdown-menu{background:#FFFFFF!important}
.v520-links>a,.nav-parent,.nav-dropdown-menu a{color:#082631!important}
.v520-links>a:hover,.nav-parent:hover,.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus-visible{
  color:#008D84!important;background:rgba(0,175,163,.06)!important;
}
.capability-menu .cap-overview{background:rgba(0,175,163,.06)!important;color:#008D84!important}
.capability-menu .cap-menu-rule,.nav-dropdown-menu .rule{background:rgba(8,38,49,.12)!important}

/* Lines, tags, chips, controls */
hr,.divider,.rule,.ai-rule,.ai-solution-list,.ai-solution-row,.service-row{border-color:rgba(8,38,49,.14)!important}
.tag,.chip,.pill,.ai-examples span,.hero-tags span{background:rgba(0,175,163,.07)!important;border-color:rgba(0,175,163,.22)!important;color:#008D84!important}
input,select,textarea{background:#FFFFFF!important;color:#082631!important;border-color:rgba(8,38,49,.20)!important}
input:focus,select:focus,textarea:focus{border-color:#00AFA3!important;box-shadow:0 0 0 3px rgba(0,175,163,.10)!important}

/* AI: same brand family, no orange/cyan side palette */
.ai-statement,.ai-solutions,.ai-governance,.ai-process-section{background:#FFFFFF!important}
.ai-solution-row .idx,.ai-solution-row .label,.ai-rule span,.ai-process-step small{color:#008D84!important}
.ai-solution-row,.ai-rule,.ai-process-step{border-color:rgba(8,38,49,.14)!important}
.ai-process-section .ai-section-head p{color:rgba(255,255,255,.74)!important}

/* Footer */
.mega-footer,footer{border-color:rgba(255,255,255,.10)!important}
.mega-footer a,footer a,.mega-footer .footer-email,.mega-footer .footer-col a{color:rgba(255,255,255,.74)!important}
.mega-footer a:hover,footer a:hover,.mega-footer .footer-email:hover,.mega-footer .footer-col a:hover{color:#00AFA3!important}
.mega-footer .footer-heading{color:#00AFA3!important}

/* Remove broad tinted/pastel legacy surfaces from named common components. */
.proof-strip,.proof-note,.logo-ribbon,.employer-ribbon,.case-visual,.logo-slot,.contact-note,.secure-note,.notice,.callout,.info-panel,
.problem:hover,.service-row:hover{background:#FFFFFF!important}

/* Decorative marks use brand teal at controlled opacity only. */
.page-hero::after,.premium-page-hero::after,.ai-hero::after{color:rgba(0,175,163,.12)!important}

/* Accessibility/focus remains brand-derived. */
.btn:focus-visible,.nav-cta:focus-visible,.text-link:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline-color:rgba(0,175,163,.35)!important;
}

/* =========================================================
   V5.27.4 — TEAL CLOSING-BAND VARIANT
   Closing / cross-navigation bands use SharpSigma dark teal
   while heroes and footer retain deep brand ink.
   ========================================================= */
.cta:not(.cta-band),
.cta-band{
  background:#008D84!important;
  color:#FFFFFF!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  border-bottom:1px solid rgba(8,38,49,.12)!important;
}
.cta:not(.cta-band) h1,
.cta:not(.cta-band) h2,
.cta:not(.cta-band) h3,
.cta-band h1,
.cta-band h2,
.cta-band h3{
  color:#FFFFFF!important;
}
.cta:not(.cta-band) p,
.cta-band p{
  color:rgba(255,255,255,.84)!important;
}
.cta:not(.cta-band) .kicker,
.cta-band .kicker{
  color:#FFFFFF!important;
  opacity:.82;
}
.cta:not(.cta-band) .btn,
.cta-band .btn,
.cta:not(.cta-band) .btn-primary,
.cta-band .btn-primary{
  background:#FFFFFF!important;
  border-color:#FFFFFF!important;
  color:#082631!important;
  box-shadow:0 10px 26px rgba(8,38,49,.12)!important;
}
.cta:not(.cta-band) .btn:hover,
.cta-band .btn:hover,
.cta:not(.cta-band) .btn-primary:hover,
.cta-band .btn-primary:hover{
  background:#082631!important;
  border-color:#082631!important;
  color:#FFFFFF!important;
}

/* =========================================================
   V5.27.5 — TYPOGRAPHY READABILITY
   Slightly stronger Manrope rendering for easier scanning and
   long-form reading without turning the interface visually heavy.
   ========================================================= */
body{
  font-weight:500!important;
  -webkit-font-smoothing:auto!important;
  -moz-osx-font-smoothing:auto!important;
}

/* Primary reading text */
p,.rich p,.rich li,
.page-hero p,.premium-page-hero p,.blog-hero p,.contact-hero p,.ai-hero p,.hero-copy>p,
.section-head p,.core-capability-page .section-head>p,.ai-section-head p,.ai-statement-copy,
.card p,.detail p,.detail-card p,.cap-card p,.industry p,.process-card p,.topic-card p,
.case p,.blog-card-body p,.ai-process-step p,
.service-row p,.capability-gateway-body p,
.contact-shell p,.note{
  font-weight:500!important;
}

/* Muted text stays secondary, but no longer looks washed out. */
body p,.rich p,.rich li,.card p,.detail p,.detail-card p,.cap-card p,.industry p,
.process-card p,.topic-card p,.case p,.blog-card-body p,.ai-process-step p,
.section-head p,.core-capability-page .section-head>p,.ai-section-head p,.ai-statement-copy{
  color:rgba(8,38,49,.78)!important;
}

/* Leads need a touch more presence than supporting copy. */
.page-hero p,.premium-page-hero p,.blog-hero p,.contact-hero p,.ai-hero p,.hero-copy>p{
  font-weight:500!important;
}

/* Controls and navigation remain crisp at smaller sizes. */
input,select,textarea{font-weight:500!important}
.nav-dropdown-menu a,.mega-footer .footer-col a,.mega-footer .footer-email,
.mega-footer .footer-brand-block p{font-weight:500!important}

/* Dark-surface supporting copy: stronger contrast for readability. */
.cta p,.cta-band p,.mega-footer p,footer p,.ai-process-section .ai-section-head p{
  color:rgba(255,255,255,.84)!important;
  font-weight:500!important;
}
.mega-footer a,footer a,.mega-footer .footer-email,.mega-footer .footer-col a{
  color:rgba(255,255,255,.84)!important;
}

/* Keep headline hierarchy premium rather than uniformly bold. */
.page-hero h1,.premium-page-hero h1,.blog-hero h1,.contact-hero h1,.ai-hero h1,
.section-head h2,.core-capability-page .section-head h2,.ai-section-head h2,.ai-statement h2,
.rich h2{font-weight:700!important}
.card h3,.detail h3,.detail-card h3,.cap-card h3,.process-card h3,.topic-card h3,
.case h3,.blog-card-body h2,.ai-process-step h3,.service-row h3{font-weight:700!important}

/* =========================================================
   V5.27.6 — OPTICAL READABILITY TUNING
   Improve real-world legibility without turning the site bold.
   ========================================================= */
:root{
  --ss-body:15.5px;
  --ss-lead:17.5px;
  --ss-body-line:1.66;
}
body{
  font-size:var(--ss-body)!important;
  line-height:var(--ss-body-line)!important;
  color:#082631!important;
}

/* Reading copy: a touch larger and darker, still medium weight. */
p,.rich p,.rich li,
.card p,.detail p,.detail-card p,.cap-card p,.industry p,.process-card p,.topic-card p,
.case p,.blog-card-body p,.ai-process-step p,.service-row p,.capability-gateway-body p,
.contact-shell p,.note{
  font-weight:500!important;
  color:rgba(8,38,49,.84)!important;
}
.rich p,.rich li{font-size:15.5px!important;line-height:1.70!important}
.card p,.detail p,.detail-card p,.cap-card p,.industry p,.process-card p,.topic-card p,
.case p,.blog-card-body p,.ai-process-step p,.service-row p{
  font-size:14.5px!important;
  line-height:1.65!important;
}
.capability-gateway-body p{font-size:15px!important;line-height:1.67!important}

/* Leads should visibly sit between headings and body copy. */
.page-hero p,.premium-page-hero p,.blog-hero p,.contact-hero p,.ai-hero p,.hero-copy>p{
  font-size:17.5px!important;
  line-height:1.62!important;
  font-weight:600!important;
  color:rgba(255,255,255,.86)!important;
}
/* Light-surface hero variants must keep dark readable leads. */
.hero-copy>p,.contact-hero.light p,.blog-hero.light p{
  color:rgba(8,38,49,.84)!important;
}
.section-head p,.core-capability-page .section-head>p,.ai-section-head p,.ai-statement-copy{
  font-size:16px!important;
  line-height:1.66!important;
  font-weight:500!important;
  color:rgba(8,38,49,.82)!important;
}

/* Small UI text gets optical support rather than oversized weight. */
.v520-links>a,.nav-parent{font-size:13.75px!important}
.nav-dropdown-menu a{font-size:12.75px!important;font-weight:600!important}
label{font-size:13px!important;font-weight:700!important}
input,select,textarea{font-size:14.5px!important;font-weight:500!important}
.mega-footer .footer-col a,.mega-footer .footer-email,.mega-footer .footer-brand-block p{
  font-size:13px!important;
  font-weight:500!important;
}

/* Dark surfaces: raise contrast, not weight everywhere. */
.cta p,.cta-band p,.mega-footer p,footer p,.ai-process-section .ai-section-head p{
  color:rgba(255,255,255,.90)!important;
}
.mega-footer a,footer a,.mega-footer .footer-email,.mega-footer .footer-col a{
  color:rgba(255,255,255,.88)!important;
}

/* Headings retain clear hierarchy but gain a touch more optical density. */
.page-hero h1,.premium-page-hero h1,.blog-hero h1,.contact-hero h1,.ai-hero h1{
  font-weight:700!important;
  letter-spacing:-.042em!important;
}
.section-head h2,.core-capability-page .section-head h2,.ai-section-head h2,.ai-statement h2,.rich h2{
  font-weight:700!important;
  letter-spacing:-.032em!important;
}

@media(max-width:700px){
  :root{--ss-body:15.5px;--ss-lead:16.5px}
  .page-hero p,.premium-page-hero p,.blog-hero p,.contact-hero p,.ai-hero p,.hero-copy>p{
    font-size:16.5px!important;line-height:1.62!important
  }
  .section-head p,.core-capability-page .section-head>p,.ai-section-head p,.ai-statement-copy{
    font-size:15.5px!important;line-height:1.66!important
  }
}

/* =========================================================
   V5.27.8 — HERO ACTION ALIGNMENT
   Give hero actions a consistent visual baseline and breathing room.
   ========================================================= */
.page-hero .hero-actions,
.premium-page-hero .hero-actions,
.blog-hero .hero-actions,
.contact-hero .hero-actions,
.ai-hero .hero-actions,
.hero-copy .hero-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:28px!important;
  margin-bottom:0!important;
}
.page-hero .hero-actions .btn,
.premium-page-hero .hero-actions .btn,
.blog-hero .hero-actions .btn,
.contact-hero .hero-actions .btn,
.ai-hero .hero-actions .btn,
.hero-copy .hero-actions .btn{
  margin:0!important;
  align-self:center!important;
}
.page-hero .hero-actions .text-link,
.premium-page-hero .hero-actions .text-link,
.blog-hero .hero-actions .text-link,
.contact-hero .hero-actions .text-link,
.ai-hero .hero-actions .text-link,
.hero-copy .hero-actions .text-link{
  margin:0!important;
  align-self:center!important;
}
@media(max-width:700px){
  .page-hero .hero-actions,
  .premium-page-hero .hero-actions,
  .blog-hero .hero-actions,
  .contact-hero .hero-actions,
  .ai-hero .hero-actions,
  .hero-copy .hero-actions{
    margin-top:24px!important;
    gap:10px!important;
  }
}


/* =========================================================
   V5.27.9 — FINAL ELEMENT QA GUARDRAILS
   Production cleanup after full page/component audit.
   ========================================================= */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.mega-footer .footer-brand-block strong{color:rgba(255,255,255,.92)!important}

/* Prevent individual components from escaping the shared content grid. */
.section>.wrap,.cta>.wrap,.cta-band>.wrap,.page-hero>.wrap,.premium-page-hero>.wrap,.blog-hero>.wrap,.contact-hero>.wrap,.ai-hero>.wrap{min-width:0}
.section-head>*,.two-col>*,.grid>*,.detail-grid>*,.case-grid>*,.problem-grid>*,.cap-grid>*,.industry-grid>*,.process-grid>*,.topic-grid>*,.insight-category-grid>*,.capability-gateway-grid>*{min-width:0}

/* Long technical strings/URLs may wrap, but headings retain editorial wrapping. */
p,li,td,th,.field-error,.form-status,.note{overflow-wrap:break-word}
a[href^="mailto:"],a[href^="tel:"]{overflow-wrap:anywhere}

/* Keep action groups visually separate and internally aligned. */
.hero-actions,.cta-grid{min-width:0}
.hero-actions .btn,.hero-actions .text-link,.cta-grid .btn{flex:0 0 auto}

/* Contact validation: reserve readable error rhythm without shifting controls awkwardly. */
.field-error{min-height:0;margin-top:6px;font-size:12.5px;line-height:1.45;font-weight:600;color:#008D84}
.field-error:empty{display:none}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#00AFA3!important;box-shadow:0 0 0 3px rgba(0,175,163,.10)!important}
.form-status{margin-top:8px;font-size:13px;line-height:1.5;font-weight:600;color:#008D84}

/* Ensure touch targets remain usable even when legacy local CSS is more compact. */
.mobile-toggle{min-width:44px!important;min-height:44px!important}

@media(max-width:700px){
  .hero-actions .btn,.hero-actions .text-link{max-width:100%}
  .cta-grid .btn{justify-self:start}
}
