/*
 * V41 — Full surface contract and reliability pass.
 * Loaded after V40. Every override is component-scoped to avoid layout regressions.
 */

:root{
  --v41-navy:#0A1D33;
  --v41-navy-2:#10324F;
  --v41-cyan:#00B5D4;
  --v41-cyan-dark:#006E82;
  --v41-cyan-pale:#E9F9FC;
  --v41-ink:#16293B;
  --v41-slate:#4B5E6D;
  --v41-muted:#5F6D79;
  --v41-line:#B8C7D0;
  --v41-line-strong:#758897;
  --v41-dark-copy:#D7E7EF;
  --v41-dark-muted:#B8CEDA;
  --v41-focus:#007D93;
}

body.v41-site{font-size:16px;line-height:1.65;font-synthesis-weight:none}

/* Content must never depend on a scroll observer or animation timer to be readable. */
html.v33-js .v41-site [data-v33-reveal]{
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
.v41-site :is(h1,h2,h3,h4){overflow-wrap:break-word;text-wrap:balance}
.v41-site p{text-wrap:pretty}
.v41-site :is(a,button,input,select,textarea){-webkit-tap-highlight-color:rgba(0,181,212,.18)}
.v41-site :is(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--v41-focus)!important;
  outline-offset:3px!important;
}
.v41-site :is(.v30-btn-secondary,.v29-btn-outline,.btn-outline){border-color:var(--v41-line-strong)!important}

/* Solid header/navigation contract, including the 1024px English navigation case. */
.v41-site .v30-menu-toggle{border-color:#A8B8C2;background:#fff;color:var(--v41-navy)}
.v41-site .v30-menu-toggle:hover{border-color:var(--v41-focus);background:var(--v41-cyan-pale)}
.v41-site .v30-menu-toggle span{background:var(--v41-navy)}

/* Homepage: dark hero and technical surfaces must keep light copy. */
.v41-site .v32-hero-metrics{
  border-color:rgba(255,255,255,.24)!important;
  background:rgba(255,255,255,.055)!important;
}
.v41-site .v32-hero-metric{
  border-color:rgba(255,255,255,.2)!important;
  background:rgba(255,255,255,.06)!important;
}
.v41-site .v32-hero-metric strong{color:#fff!important}
.v41-site .v32-hero-metric span{color:var(--v41-dark-copy)!important}
.v41-site .v32-hero-metric strong{overflow-wrap:anywhere}

.v41-site .v32-product-visual{
  border-color:rgba(255,255,255,.18)!important;
  background:var(--v41-navy)!important;
}
.v41-site :is(.v32-product-visual-head,.v32-product-visual-foot),
.v41-site :is(.v32-product-visual-head,.v32-product-visual-foot) span{color:var(--v41-dark-copy)!important}
.v41-site .v32-product-visual-head b{color:#88E6F2!important}
.v41-site .v32-product-bars{background:linear-gradient(180deg,#0F304C,#0A1D33)!important}
.v41-site .v32-product-bars i{background:linear-gradient(180deg,#5ED9E9,var(--v41-cyan))!important;opacity:1}

body.v41-site .v30-process-section .v30-section-heading :is(h2,h3,strong){color:#fff!important}
body.v41-site .v30-process-section .v30-section-heading p{color:var(--v41-dark-copy)!important}
body.v41-site .v30-process-section :is(.v30-eyebrow,.v32-section-index){color:#A7ECF5!important}
body.v41-site .v30-process-section .v30-process-grid li>span{color:#8BE3EF!important}
body.v41-site .v30-process-section .v30-process-grid li{background:#fff!important}
body.v41-site .v30-process-section .v30-process-grid h3{color:var(--v41-navy)!important}
body.v41-site .v30-process-section .v30-process-grid p{color:var(--v41-slate)!important}

/* Catalog technical band: dark copy column beside an intentionally light card. */
.v41-site .v29-technical-band-inner>div:first-child :is(h2,h3,strong){color:#fff!important}
.v41-site .v29-technical-band-inner>div:first-child p{color:var(--v41-dark-copy)!important}
.v41-site .v29-technical-band-inner>div:first-child .eyebrow{color:#A7ECF5!important}

/* Builder dark split sections used by all service, solution and industry pages. */
.v41-site .sector-split-section :is(h2,h3,strong){color:#fff!important}
.v41-site .sector-split-section :is(p,li){color:var(--v41-dark-copy)!important}
.v41-site .sector-split-section .eyebrow{color:#A7ECF5!important}
.v41-site .sector-split-section .sector-split-grid>div{
  border-color:rgba(255,255,255,.2)!important;
  background:rgba(255,255,255,.07)!important;
}

/* Dark call-to-action surfaces remain explicit even when global paragraph rules change. */
.v41-site :is(.landing-cta,.brand-final-cta,.v25-cta-box) :is(h2,h3,strong){color:#fff!important}
.v41-site :is(.landing-cta,.brand-final-cta,.v25-cta-box) :is(p,li){color:var(--v41-dark-copy)!important}
.v41-site :is(.landing-cta,.brand-final-cta,.v25-cta-box) .eyebrow{color:#A7ECF5!important}

/* Light inner-page heroes: readable chips, metrics and restored content-matched imagery. */
.v41-site .v24-category-stats span{
  border-color:#A8BBC6!important;
  background:rgba(255,255,255,.94)!important;
  color:var(--v41-slate)!important;
  box-shadow:0 5px 14px rgba(10,29,51,.05);
}
.v41-site .v24-category-stats{
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.v41-site .v24-category-stats span strong{color:var(--v41-cyan-dark)!important}

.v41-site :is(.service-hero-v23,.value-hero-v22,.sector-hero-v20) .sector-metrics{
  border:1px solid var(--v41-line)!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(10,29,51,.06);
}
.v41-site :is(.service-hero-v23,.value-hero-v22,.sector-hero-v20) .sector-metrics>div{
  border-color:var(--v41-line)!important;
  background:#fff!important;
}
.v41-site :is(.service-hero-v23,.value-hero-v22,.sector-hero-v20) .sector-metrics strong{color:var(--v41-navy)!important}
.v41-site :is(.service-hero-v23,.value-hero-v22,.sector-hero-v20) .sector-metrics span{color:var(--v41-slate)!important}

.v41-site :is(.service-hero-media,.sector-hero-media,.value-hero-media){display:block!important}
.v41-site :is(.service-hero-grid,.sector-hero-grid,.value-hero-grid,.service-hero-copy,.sector-hero-copy,.value-hero-copy,.service-hero-media,.sector-hero-media,.value-hero-media){min-width:0}
.v41-site :is(.service-hero-media,.sector-hero-media,.value-hero-media) img{
  display:block;
  width:100%;
  aspect-ratio:5/3;
  height:auto;
  object-fit:cover!important;
  border-radius:16px;
}
.v41-site .page-hero .container.v38-simple-hero-grid{display:grid!important}

/* Product and category presentation. */
.v41-site .v38-representative-badge,
.v41-site .v29-product-main-image>.v38-representative-badge{
  border-color:rgba(255,255,255,.5)!important;
  background:rgba(5,20,34,.88)!important;
  color:#fff!important;
}
.v41-site .v24-card-brand-logo{display:block!important}
.v41-site .v24-card-specs{display:flex!important}
.v41-site .v24-card-kicker{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:4px 8px;
}
.v41-site .v24-card-kicker>*{min-width:0;overflow-wrap:anywhere}
.v41-site .v24-card-specs span{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.v41-site .v24-card-kicker>span{color:var(--v41-cyan-dark)!important}
.v41-site .v24-product-visual>span:not(.v38-representative-badge){
  z-index:4;
  max-width:calc(100% - 44px);
  padding:6px 9px;
  border-radius:6px;
  background:rgba(5,20,34,.84);
  color:#fff!important;
}
.v41-site .brand-process-grid>div>strong,
.v41-site .v24-capability-grid article>span{color:#607482!important}
.v41-site .mini-whatsapp{
  border:1px solid #0E6941!important;
  background:#147A4B!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(20,122,75,.2);
}
.v41-site .sector-breadcrumb>span{color:var(--v41-cyan-dark)!important}
.v41-site .sector-breadcrumb{
  min-width:0;
  overflow:visible!important;
  white-space:normal!important;
  color:#60717F!important;
}
.v41-site .sector-breadcrumb strong{
  min-width:0;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere;
  white-space:normal!important;
}
.v41-site :is(.v29-product-card-meta,.v24-card-actions,.product-meta){flex-wrap:wrap!important}
.v41-site :is(.v29-product-card-meta,.v24-card-actions,.product-meta)>*{min-width:0;overflow-wrap:anywhere}
.v41-site :is(.v29-product-card-body>small,.v24-card-kicker,.product-body .tag,.v29-product-card-meta,.v24-card-actions,.product-meta){font-size:12px!important;line-height:1.45}

.v41-site .v29-quote-sidebar .v29-btn-light{
  border:1px solid var(--v41-cyan)!important;
  background:var(--v41-cyan)!important;
  color:var(--v41-navy)!important;
}
.v41-site .v29-quote-sidebar .v29-btn-outline-light{
  border:1px solid var(--v41-line-strong)!important;
  background:#fff!important;
  color:var(--v41-navy)!important;
}
.v41-site .v29-quote-sidebar .v29-btn-outline-light:hover{border-color:var(--v41-navy)!important;background:var(--v41-cyan-pale)!important}
.v41-site :is(.v29-page-hero-aside,.v29-builder-hero-aside,.quote-guide-v26,.v29-quote-sidebar) li{border-color:#D5E0E6!important}

/* Primary button arrows must follow the dark-on-cyan button contract. */
.v41-site :is(.btn-primary,.v29-btn-primary,.v30-btn-primary,.v30-quote-button)>span{color:var(--v41-navy)!important}
.v41-site .v30-prefooter .v30-btn span{color:inherit!important}

/* Minmax columns prevent long English labels from widening the document. */
.v41-site .v32-industry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.v41-site .v32-industry-grid>a{min-width:0}
.v41-site .v32-industry-grid>a>span:not(.v32-icon-wrap){min-width:0}
.v41-site .v32-industry-grid strong{overflow-wrap:anywhere}

/* Forms: visible boundaries, labels, upload controls, validation and native checks. */
.v41-site :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),select,textarea){
  border-color:var(--v41-line-strong)!important;
}
.v41-site :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),textarea)::placeholder{
  color:var(--v41-muted)!important;
  opacity:1!important;
}
.v41-site :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),select,textarea):focus{
  border-color:var(--v41-focus)!important;
  box-shadow:0 0 0 3px rgba(0,125,147,.18)!important;
}
.v41-site .file-upload-ui{border-color:#6E8290!important;background:var(--v41-cyan-pale)!important}
.v41-site .file-upload-ui strong{background:var(--v41-navy)!important;color:#fff!important}
.v41-site .file-upload-ui small{color:var(--v41-slate)!important}
.v41-site .file-upload-ui em{color:#005F73!important}
.v41-site .quote-form-v26 legend span{background:var(--v41-cyan)!important;color:var(--v41-navy)!important}
.v41-site .consent-check input{
  appearance:auto;
  width:20px!important;
  height:20px!important;
  margin-top:2px;
  padding:0!important;
  border-radius:4px!important;
  accent-color:var(--v41-cyan-dark);
}
.v41-site button:disabled{
  opacity:1!important;
  border-color:#9AAAB4!important;
  background:#DCE5EA!important;
  color:#405363!important;
  cursor:wait;
}
.v41-site :is(.flash-error,.v31-file-feedback){border-color:#B42318!important;background:#FFF2F0!important;color:#7A271A!important}
.v41-site .form-error-summary{
  position:relative;
  z-index:2;
  width:min(calc(100% - 32px),1240px);
  margin:18px auto 0;
  padding:15px 18px;
  border:1px solid #B42318;
  border-left-width:5px;
  border-radius:8px;
  background:#FFF2F0;
  color:#7A271A;
  box-shadow:0 8px 22px rgba(122,39,26,.08);
}
.v41-site .form-error-link{display:inline-block;margin-left:6px;color:#7A271A!important;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.v41-site .contact-grid .content-panel a{
  color:var(--v41-cyan-dark)!important;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

/* Keep supporting type readable without competing with primary content. */
.v41-site :is(.v32-section-index,.v30-eyebrow,.eyebrow){font-size:max(11px,.6875rem)}
.v41-site .v29-product-facts span{font-size:11px!important;line-height:1.4}
.v41-site .v30-footer-bottom{font-size:12px}

/* Sitemap cards need distinct, scannable rows in both languages. */
.v41-site main .link-card>a{
  display:block;
  margin:8px 0;
  color:var(--v41-slate)!important;
  line-height:1.5;
}

/* The Turkish sitemap uses the former footer grid class inside main content. */
.v41-site main .footer-sitemap-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}

/* Builder/page imagery and navigation breakpoints. */
@media (min-width:981px){
  .v41-site :is(.service-hero-grid,.sector-hero-grid,.value-hero-grid){
    grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
    gap:48px!important;
  }
}

@media (max-width:1120px){
  .v41-site .v30-navbar-inner{min-height:82px}
  .v41-site .v30-menu-toggle{display:block!important}
  .v41-site .v30-nav{
    position:fixed!important;
    z-index:160;
    top:82px!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    display:block!important;
    width:100%!important;
    height:calc(100dvh - 82px)!important;
    max-height:none!important;
    margin:0!important;
    padding:12px 24px calc(28px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    visibility:hidden;
    opacity:1!important;
    transform:translateY(-8px);
    pointer-events:none;
    border-top:1px solid var(--v41-line)!important;
    background:#fff!important;
    box-shadow:0 24px 54px rgba(10,29,51,.2)!important;
    transition:transform .18s ease,visibility 0s linear .18s!important;
  }
  .v41-site .v30-nav.open{
    visibility:visible;
    transform:none;
    pointer-events:auto;
    transition:transform .18s ease,visibility 0s!important;
  }
  .v41-site .v30-nav>a{
    display:flex!important;
    width:100%!important;
    min-height:52px!important;
    justify-content:space-between!important;
    padding:0 5px!important;
    border-bottom:1px solid #D6E0E6!important;
    color:var(--v41-navy)!important;
    font-size:14px!important;
    text-align:left!important;
  }
  .v41-site .v30-nav .v30-language{
    width:100%!important;
    margin:8px 0 0!important;
    border:0!important;
    border-bottom:1px solid #D6E0E6!important;
    border-radius:0!important;
    background:#fff!important;
    justify-content:flex-start!important;
  }
  .v41-site .v30-nav .v30-quote-button{
    min-height:50px!important;
    margin:16px 0 0!important;
    padding-inline:18px!important;
    border:1px solid var(--v41-cyan)!important;
    border-radius:7px!important;
    justify-content:center!important;
  }
}

@media (max-width:980px){
  .v41-site :is(.service-hero-grid,.sector-hero-grid,.value-hero-grid){grid-template-columns:1fr!important;gap:30px!important}
  .v41-site :is(.service-hero-media,.sector-hero-media,.value-hero-media){width:min(760px,100%);padding:14px!important}
  .v41-site .page-hero .container.v38-simple-hero-grid{grid-template-columns:1fr!important;gap:28px!important}
  .v41-site .quote-layout-v26>aside{order:2}
  .v41-site .quote-layout-v26>div{order:1}
  .v41-site .v32-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v41-site main .footer-sitemap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:720px){
  .v41-site .v30-navbar-inner{min-height:70px}
  .v41-site .v30-nav{
    top:70px!important;
    height:calc(100dvh - 70px)!important;
    padding:8px 18px calc(24px + env(safe-area-inset-bottom))!important;
  }
  .v41-site .v30-nav>a{min-height:50px!important}
  .v41-site :is(.service-hero-media,.sector-hero-media,.value-hero-media){padding:10px!important}
  .v41-site :is(.service-hero-media,.sector-hero-media,.value-hero-media) img{aspect-ratio:4/3}
  .v41-site :is(.btn,.v29-btn,.v30-btn){min-height:48px}
  .v41-site :is(.v29-results-head,.v29-directory-meta){align-items:stretch!important;flex-direction:column!important}
  .v41-site .v32-industry-grid{grid-template-columns:1fr}
  .v41-site main .footer-sitemap-grid{grid-template-columns:1fr}
  .v41-site .v24-card-kicker{grid-template-columns:1fr}
  .v41-site :is(.service-hero-v23,.value-hero-v22,.sector-hero-v20) .sector-metrics{grid-template-columns:1fr!important}
  .v41-site :is(.service-hero-v23,.value-hero-v22,.sector-hero-v20) .sector-metrics>div+div{
    border-top:1px solid var(--v41-line)!important;
    border-left:0!important;
  }
}

@media (max-width:470px){
  .v41-site .v24-category-stats{display:grid;grid-template-columns:1fr}
  .v41-site .v24-category-stats span{width:100%}
  .v41-site .v32-hero-metric:last-child{border-top-color:rgba(255,255,255,.2)!important}
}

@media (prefers-contrast:more){
  .v41-site{--v41-line:#758897;--v41-slate:#334A5B;--v41-muted:#405363}
  .v41-site :is(.v29-content-card,.v29-info-card,.form-card,.content-panel,.link-card){box-shadow:none!important}
}
