@font-face{font-family:'Quicksand';font-style:normal;font-weight:500;font-display:optional;src:url('/assets/fonts/quicksand-500.ttf') format('truetype');}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:600;font-display:optional;src:url('/assets/fonts/quicksand-600.ttf') format('truetype');}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:700;font-display:optional;src:url('/assets/fonts/quicksand-700.ttf') format('truetype');}

/* Accessibility and rendering stability */
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 70%,#fff);outline-offset:3px}
img{max-width:100%;height:auto}
.turnstile-holder{position:absolute;width:1px;height:1px;overflow:hidden}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


:root {
  --primary: #0057b8;
  --primary-dark: #003f88;
  --secondary: #0aa6c2;
  --accent: #f4b63f;
  --ink: #071a3d;
  --muted: #5f6f89;
  --line: #dce6f4;
  --soft: #f4f8fd;
  --white: #fff;
  --radius: 8px;
  --shadow: 0 18px 50px rgba(4, 35, 82, .13);
  font-family: Quicksand, Arial, Helvetica, sans-serif;
}

/* Homepage solution, application, process, FAQ and document blocks. */
.home-enhancement-inner { width:min(1240px,calc(100% - 48px)); margin:0 auto; }
.home-enhancement-heading { max-width:760px; margin:0 0 28px; }
.home-enhancement-heading.is-centered { margin-right:auto; margin-left:auto; text-align:center; }
.home-enhancement-heading .eyebrow { display:block; margin-bottom:9px; color:#0a68c8; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.home-enhancement-heading h2 { margin:0 0 10px; color:#071f43; font-size:clamp(28px,3vw,42px); line-height:1.12; letter-spacing:-.01em; }
.home-enhancement-heading p { max-width:680px; margin:0; color:#60758d; font-size:15px; line-height:1.65; }
.home-enhancement-heading.is-centered p { margin-right:auto; margin-left:auto; }
.home-solution-selector { padding:68px 0 72px; background:#fff; }
.home-solution-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.home-solution-grid a { display:flex; min-height:188px; flex-direction:column; align-items:flex-start; padding:22px 20px 18px; color:#102d50; border:1px solid #dce8f4; border-radius:8px; background:#fff; box-shadow:0 10px 26px rgba(11,54,96,.06); text-decoration:none; transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.home-solution-grid a:hover { transform:translateY(-4px); border-color:#8cbbe8; box-shadow:0 16px 32px rgba(11,74,137,.12); }
.home-solution-grid > a > svg { width:28px; height:28px; margin-bottom:20px; color:#0867c8; stroke-width:1.8; }
.home-solution-grid strong { min-height:42px; font-size:15px; line-height:1.35; }
.home-solution-grid span { display:flex; align-items:center; gap:5px; margin-top:auto; color:#66809b; font-size:11px; line-height:1.4; }
.home-solution-grid span svg { width:14px; height:14px; color:#0a68c8; }
.home-application-areas { padding:74px 0 78px; background:#f4f8fc; }
.home-area-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.home-area-grid a { position:relative; display:block; min-height:232px; overflow:hidden; color:#fff; border-radius:8px; background:#0c2d52; box-shadow:0 12px 28px rgba(14,49,83,.12); text-decoration:none; }
.home-area-grid img { display:block; width:100%; height:232px; object-fit:cover; opacity:.75; transition:transform .3s ease,opacity .3s ease; }
.home-area-grid a::after { position:absolute; inset:35% 0 0; background:linear-gradient(180deg,transparent,rgba(3,22,48,.9)); content:""; }
.home-area-grid a:hover img { transform:scale(1.05); opacity:.9; }
.home-area-grid span { position:absolute; z-index:1; right:16px; bottom:16px; left:16px; display:flex; align-items:center; gap:8px; font-size:14px; font-weight:800; }
.home-area-grid span svg { width:20px; height:20px; color:#9fd1ff; }
.home-workflow { position:relative; overflow:hidden; padding:76px 0 0; background:#fff; }
.home-workflow::before { position:absolute; inset:0 0 118px; pointer-events:none; opacity:.46; background-image:linear-gradient(#edf4fb 1px,transparent 1px),linear-gradient(90deg,#edf4fb 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,rgba(0,0,0,.34),transparent 23%,transparent 77%,rgba(0,0,0,.34)); content:""; }
.home-workflow .home-enhancement-inner { position:relative; z-index:1; width:min(1480px,calc(100% - 48px)); padding-bottom:70px; }
.home-workflow .home-enhancement-heading { max-width:920px; margin-bottom:38px; }
.home-workflow .home-enhancement-heading .eyebrow { color:#0870cf; font-size:12px; letter-spacing:.12em; }
.home-workflow .home-enhancement-heading h2 { color:#061d3d; font-size:42px; line-height:1.12; }
.home-workflow .home-enhancement-heading p { max-width:850px; margin-right:auto; margin-left:auto; color:#62768c; font-size:15px; }
.home-workflow-grid { position:relative; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px; }
.home-workflow-grid::before { position:absolute; top:68px; right:7.5%; left:7.5%; height:2px; background:#1d78d0; content:""; }
.home-workflow-grid article { position:relative; z-index:1; display:flex; min-width:0; flex-direction:column; align-items:center; margin:0; text-align:center; }
.home-workflow-grid b { display:grid; width:38px; height:38px; margin-bottom:10px; place-items:center; color:#fff; border:4px solid #fff; border-radius:50%; background:#0867c8; box-shadow:0 5px 14px rgba(8,103,200,.2); font-size:11px; }
.home-workflow-grid .workflow-icon { display:grid; width:96px; height:96px; place-items:center; color:#0759a8; border:1px solid #a9d0f2; border-radius:50%; background:#fff; box-shadow:0 15px 34px rgba(11,74,137,.12); }
.home-workflow-grid .workflow-icon svg { width:40px; height:40px; stroke-width:1.8; }
.home-workflow-grid article:nth-child(3n+2) .workflow-icon svg { color:#078c86; }
.home-workflow-grid strong { min-height:40px; margin-top:16px; color:#092d58; font-size:15px; line-height:1.3; }
.home-workflow-grid p { max-width:190px; margin:6px auto 0; color:#6a7f94; font-size:12px; line-height:1.55; }
.home-workflow-trust { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); min-height:112px; padding:0 max(24px,calc((100% - 1180px)/2)); color:#fff; background:#062b59; }
.home-workflow-trust span { position:relative; display:flex; align-items:center; justify-content:center; gap:16px; }
.home-workflow-trust span + span::before { position:absolute; top:25%; bottom:25%; left:0; width:1px; background:rgba(255,255,255,.28); content:""; }
.home-workflow-trust svg { width:38px; height:38px; color:#3fc6ad; stroke-width:1.7; }
.home-workflow-trust span:last-child svg { color:#f2b441; }
.home-workflow-trust strong { font-size:15px; }
.home-faq-section { padding:74px 0 78px; background:#f6f9fc; }
.home-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; max-width:1040px; margin:0 auto; }
.home-faq-grid details { border:1px solid #dce8f4; border-radius:7px; background:#fff; box-shadow:0 5px 14px rgba(15,51,88,.04); }
.home-faq-grid summary { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:12px; padding:0 18px; color:#15385d; cursor:pointer; list-style:none; font-size:13px; font-weight:750; }
.home-faq-grid summary::-webkit-details-marker { display:none; }
.home-faq-grid summary svg { width:17px; color:#0867c8; transition:transform .2s ease; }
.home-faq-grid details[open] summary svg { transform:rotate(45deg); }
.home-faq-grid details p { margin:0; padding:0 18px 18px; color:#60758d; font-size:12px; line-height:1.65; }
.home-document-section { padding:70px 0 74px; background:#fff; }
.home-document-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.home-document-grid a { display:grid; grid-template-columns:44px minmax(0,1fr) 18px; grid-template-rows:auto auto; gap:3px 12px; align-items:center; min-height:88px; padding:15px 17px; color:#14375c; border:1px solid #dce8f4; border-radius:8px; background:#fff; text-decoration:none; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.home-document-grid a:hover { transform:translateY(-2px); border-color:#8cbbe8; box-shadow:0 12px 24px rgba(11,74,137,.1); }
.home-document-grid a > span { display:grid; width:44px; height:44px; grid-row:1 / span 2; place-items:center; color:#0867c8; border-radius:6px; background:#edf6ff; }
.home-document-grid a > span svg { width:21px; }
.home-document-grid strong { font-size:13px; }
.home-document-grid small { color:#70859b; font-size:11px; }
.home-document-grid > a > svg { grid-column:3; grid-row:1 / span 2; width:17px; color:#0867c8; }
@media (max-width:1050px) { .home-solution-grid,.home-area-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .home-workflow-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 18px; } .home-workflow-grid::before { display:none; } .home-document-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) { .home-enhancement-inner { width:calc(100% - 32px); } .home-solution-selector,.home-application-areas,.home-faq-section,.home-document-section { padding:48px 0 52px; } .home-workflow { padding-top:50px; } .home-workflow .home-enhancement-inner { width:calc(100% - 32px); padding-bottom:44px; } .home-workflow .home-enhancement-heading { margin-bottom:28px; } .home-workflow .home-enhancement-heading h2 { font-size:30px; } .home-enhancement-heading p { font-size:13px; } .home-solution-grid,.home-area-grid,.home-workflow-grid,.home-document-grid { grid-template-columns:1fr; } .home-solution-grid a { min-height:136px; } .home-solution-grid > a > svg { margin-bottom:12px; } .home-area-grid a,.home-area-grid img { min-height:190px; height:190px; } .home-workflow-grid { gap:14px; } .home-workflow-grid article { display:grid; grid-template-columns:38px 58px minmax(0,1fr); grid-template-rows:auto auto; gap:2px 12px; align-items:center; min-height:82px; text-align:left; } .home-workflow-grid b { grid-column:1; grid-row:1 / span 2; margin:0; } .home-workflow-grid .workflow-icon { width:58px; height:58px; grid-column:2; grid-row:1 / span 2; } .home-workflow-grid .workflow-icon svg { width:26px; height:26px; } .home-workflow-grid strong { min-height:0; grid-column:3; grid-row:1; margin:0; } .home-workflow-grid p { max-width:none; grid-column:3; grid-row:2; margin:2px 0 0; font-size:11px; } .home-workflow-trust { grid-template-columns:1fr; padding:14px 20px; } .home-workflow-trust span { min-height:72px; justify-content:flex-start; } .home-workflow-trust span + span::before { top:0; right:0; bottom:auto; left:0; width:auto; height:1px; } .home-faq-grid { grid-template-columns:1fr; } .home-document-grid a { min-height:78px; } }

* { box-sizing: border-box; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  line-height: 1.5;
}
a { color: inherit; text-decoration: none; }
img {
  display: block;
  max-width: 100%;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
  user-select: none;
}
picture {
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
  user-select: none;
}
button, input { font: inherit; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
}
.site-header.compact { position: static; }
.topbar {
  display: flex;
  justify-content: flex-end;
  gap: 22px;
  padding: 7px clamp(16px, 4vw, 48px);
  color: var(--muted);
  font-size: 13px;
  border-bottom: 1px solid #edf3fa;
}
.topbar span, .topbar button, .quote-btn, .btn, .feature-grid span, .support-icons span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.topbar svg { width: 15px; }
.search-trigger {
  border: 0;
  background: transparent;
  color: var(--primary);
  cursor: pointer;
}
.navbar {
  min-height: 70px;
  padding: 0 clamp(16px, 4vw, 48px);
  display: flex;
  align-items: center;
  gap: 28px;
}
.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 178px;
}
.brand-logo {
  display: block;
  width: 148px;
  height: 38px;
  object-fit: cover;
}

/*
 * Premium glass reflection for the header logo.
 * The image stays completely static; only this composited overlay moves.
 */
.brand-logo-frame {
  position: relative;
  display: block;
  overflow: hidden;
  isolation: isolate;
  line-height: 0;
}

.brand-logo-frame::after {
  position: absolute;
  z-index: 2;
  top: -55%;
  left: -40%;
  width: 38%;
  height: 210%;
  content: "";
  pointer-events: none;
  opacity: 0;
  background:
    linear-gradient(90deg, transparent, #fff 46%, #fff 54%, transparent) 68% 47% / 17px 1px no-repeat,
    linear-gradient(0deg, transparent, #fff 46%, #fff 54%, transparent) 68% 47% / 1px 17px no-repeat,
    radial-gradient(circle at 68% 47%, #fff 0 2px, rgba(202, 240, 255, .96) 2.5px 5px, transparent 8px),
    radial-gradient(ellipse at 58% 50%, rgba(190, 233, 255, .58) 0 18%, rgba(212, 241, 255, .28) 30%, transparent 60%),
    linear-gradient(105deg, transparent 0 18%, rgba(109, 203, 255, .16) 30%, rgba(190, 235, 255, .62) 40%, #fff 48%, #fff 52%, rgba(189, 233, 255, .62) 61%, rgba(98, 194, 255, .16) 70%, transparent 82%);
  box-shadow: 0 0 22px rgba(127, 207, 255, .38);
  mix-blend-mode: screen;
  transform: translate3d(-165%, 0, 0) rotate(13deg);
  transform-origin: center;
  backface-visibility: hidden;
  will-change: transform, opacity;
  animation: rst-logo-glass-shine 1s cubic-bezier(.22, .61, .36, 1) infinite;
}

@keyframes rst-logo-glass-shine {
  0% {
    opacity: 0;
    transform: translate3d(-165%, 0, 0) rotate(13deg);
  }
  4% {
    opacity: .22;
    transform: translate3d(-130%, 0, 0) rotate(13deg);
  }
  15% {
    opacity: 1;
    transform: translate3d(75%, 0, 0) rotate(13deg);
  }
  26% {
    opacity: .28;
    transform: translate3d(145%, 0, 0) rotate(13deg);
  }
  30% {
    opacity: 0;
    transform: translate3d(160%, 0, 0) rotate(13deg);
  }
  100% {
    opacity: 0;
    transform: translate3d(160%, 0, 0) rotate(13deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .brand-logo-frame::after {
    animation: none;
    opacity: 0;
  }
}
.brand-mark {
  display: inline-grid;
  place-items: center;
  width: 78px;
  height: 42px;
  border: 2px solid #d4e0f0;
  color: #e5242a;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0;
  transform: skew(-8deg);
}
.brand strong {
  display: block;
  color: #e5242a;
  font-size: 15px;
  line-height: 1;
}
.brand small {
  display: block;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
}
.nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex: 1;
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}
.nav-links a:hover { color: var(--primary); }
.quote-btn {
  background: var(--primary);
  color: var(--white);
  border-radius: 6px;
  padding: 13px 18px;
  font-weight: 800;
  font-size: 13px;
  text-transform: uppercase;
}
.quote-btn svg, .btn svg { width: 18px; }
.menu-toggle {
  display: none;
  margin-left: auto;
  border: 1px solid var(--line);
  background: var(--white);
  border-radius: 6px;
  width: 44px;
  height: 44px;
}

.hero {
  position: relative;
  min-height: 620px;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  align-items: stretch;
  overflow: hidden;
  background: linear-gradient(90deg, #f8fbff 0%, #eef6ff 42%, #e8f2fb 100%);
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: var(--line);
}
.hero-copy {
  position: relative;
  z-index: 2;
  padding: clamp(54px, 8vw, 100px) clamp(22px, 7vw, 104px);
}
.hero.is-content-custom .hero-copy {
  position: absolute;
  top: var(--slide-content-y-desktop, 20%);
  left: var(--slide-content-x-desktop, 6%);
  z-index: 5;
  width: min(var(--slide-content-width-desktop,44%), 680px);
  padding: 0;
}
.hero[data-button-position-mode="custom"] .hero-actions { position:absolute; z-index:7; top:var(--slide-button-y-desktop,68%); left:var(--slide-button-x-desktop,6%); margin:0; transform:translate(-50%,-50%); }
.hero[data-layer-order="media-front"] .hero-visual { z-index:6; }.hero[data-layer-order="badge-front"] > .trust-badges { z-index:9; }.hero.show-safe-area::before { content:""; position:absolute; inset:7% 5%; z-index:20; pointer-events:none; border:1px dashed rgba(8,117,209,.45); }
.eyebrow {
  display: inline-block;
  color: var(--primary);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.hero h1 {
  max-width: 620px;
  margin: 0;
  font-size: 58px;
  line-height: .98;
  letter-spacing: 0;
}
.hero p {
  max-width: 470px;
  margin: 24px 0;
  color: #11284e;
  font-size: 19px;
}
.hero h1 { transform:translate(var(--slide-title-x-desktop,0%),var(--slide-title-y-desktop,0%)); }
.hero p { transform:translate(var(--slide-subtitle-x-desktop,0%),var(--slide-subtitle-y-desktop,0%)); }
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 28px 0 34px;
}
.hero-actions [hidden],
.hero-actions .btn.primary:has([data-slide-button]:empty) { display: none !important; }
.btn {
  min-height: 48px;
  border-radius: 6px;
  padding: 0 22px;
  font-size: 14px;
  font-weight: 900;
  text-transform: uppercase;
  border: 1px solid transparent;
}
.btn.primary { background: var(--primary); color: var(--white); }
.btn.secondary { background: var(--white); color: var(--primary); border-color: #b8ccea; }
.btn.light { background: var(--white); color: var(--primary-dark); }
.trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}
.trust-badges[hidden] { display: none !important; }
.hero > .trust-badges {
  position: absolute;
  z-index: 6;
  right: clamp(24px, 5vw, 78px);
  bottom: 42px;
  width: var(--slide-badge-width-desktop, 350px);
  max-width: calc(100% - 36px);
  margin: 0;
}
.hero.is-badge-left > .trust-badges { right: auto; left: clamp(24px, 5vw, 78px); }
.hero.is-badge-right > .trust-badges { right: clamp(24px, 5vw, 78px); left: auto; }
.trust-badges > img {
  width: 100%;
  max-width: 100%;
  height: var(--slide-badge-height-desktop, 48px);
  object-fit: contain;
}
.trust-badges span {
  color: var(--primary-dark);
  border: 1px dashed #9ab4d5;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 900;
  background: rgba(255,255,255,.75);
}
.hero-visual {
  position: relative;
  min-height: 520px;
  isolation: isolate;
  background: var(--slide-media-canvas, #eef6ff);
}
.hero-visual img,
.hero-visual video,
.hero-visual iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: var(--slide-media-fit, cover);
  object-position: var(--slide-media-focus, center bottom);
  opacity: .62;
}
.hero-visual iframe { border: 0; pointer-events: none; }
.hero.is-media-contain .hero-visual iframe { object-fit: contain; }
.hero-visual [hidden] { display: none !important; }
.hero.has-no-media { grid-template-columns: minmax(0, 1fr); }
.hero.has-no-media .hero-visual { display: none; }
.hero.has-no-media .hero-copy { width: auto; max-width: 980px; }
.hero.is-media-left .hero-visual { order: -1; }
.hero.is-content-right .hero-copy { text-align: right; }
.hero.is-content-right .hero-copy h1,
.hero.is-content-right .hero-copy p { margin-left: auto; }
.hero.is-content-right .hero-actions,
.hero.is-content-right .trust-badges { justify-content: flex-end; }
.hero.is-media-full { grid-template-columns: minmax(0, 1fr); }
.hero.is-media-full .hero-visual { position: absolute; inset: 0; z-index: 0; min-height: 100%; order: 0; }
.hero.is-media-full .hero-visual img,
.hero.is-media-full .hero-visual video,
.hero.is-media-full .hero-visual iframe { opacity: .42; }
.hero.is-media-full .hero-visual::before { background: linear-gradient(90deg, rgba(238,246,255,.96), rgba(238,246,255,.66) 48%, rgba(255,255,255,.2)); }
.hero.is-media-full.is-content-right .hero-visual::before { background: linear-gradient(270deg, rgba(238,246,255,.96), rgba(238,246,255,.66) 48%, rgba(255,255,255,.2)); }
.hero.is-media-full .hero-copy { width: min(58%, 920px); }
.hero.is-media-full.is-content-right .hero-copy { margin-left: auto; }
.hero-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #eef6ff 0%, rgba(238,246,255,.35) 28%, rgba(255,255,255,.16));
  z-index: 1;
}
@media (max-width:760px) {
  .hero.is-content-custom .hero-copy {
    top: var(--slide-content-y-mobile, 46%);
    left: var(--slide-content-x-mobile, 5%);
    width: min(90%, 620px);
    min-height: 0;
    margin: 0;
    padding: 0;
  }
}

/* Full-area media should remain visible without the default readability wash. */
.hero.is-media-full .hero-visual::before {
  background: transparent;
}
.hero.is-media-full .hero-visual img,
.hero.is-media-full .hero-visual video,
.hero.is-media-full .hero-visual iframe {
  opacity: 1;
}
.hero.is-media-full.is-media-contain .hero-visual img,
.hero.is-media-full.is-media-contain .hero-visual video,
.hero.is-media-full.is-media-contain .hero-visual iframe {
  object-fit: contain;
}

/* Slider Pro: advanced typography, transitions and responsive media. */
.hero { --slide-font-family: inherit; --slide-title-color: #071f43; --slide-subtitle-color: #263d59; --slide-title-size: 52px; --slide-title-size-mobile: 34px; --slide-subtitle-size: 19px; --slide-subtitle-size-mobile: 17px; --slide-title-weight: 700; --slide-animation-duration: .6s; --slide-animation-delay: 0s; }
.hero h1 { color:var(--slide-title-color); font-family:var(--slide-font-family); font-size:var(--slide-title-size); font-weight:var(--slide-title-weight); text-shadow:none; }
.hero p { color:var(--slide-subtitle-color); font-family:var(--slide-font-family); font-size:var(--slide-subtitle-size); }
.hero[data-badge-position-mode="custom"] > .trust-badges { right:auto; left:var(--slide-badge-x-desktop,6%); top:var(--slide-badge-y-desktop,84%); bottom:auto; transform:translate(-50%,-50%); }
.hero.has-slide-text-shadow h1,.hero.has-slide-text-shadow p { text-shadow:0 3px 16px rgba(0,25,58,.22); }
.hero[data-button-style="outline"] .hero-actions .btn.primary { color:var(--primary); background:transparent; border-color:var(--primary); }
.hero[data-button-style="ghost"] .hero-actions .btn.primary { color:var(--primary); background:rgba(255,255,255,.48); border-color:transparent; }
.hero.is-slide-active[data-animation-in="fade-up"] .hero-copy { animation:sliderFadeUp var(--slide-animation-duration) var(--slide-animation-delay) both; }
.hero.is-slide-active[data-animation-in="fade-right"] .hero-copy { animation:sliderFadeRight var(--slide-animation-duration) var(--slide-animation-delay) both; }
.hero.is-slide-active[data-animation-in="zoom-in"] .hero-copy { animation:sliderZoomIn var(--slide-animation-duration) var(--slide-animation-delay) both; }
.hero[data-transition="slide"] .hero-visual { animation:sliderVisualSlide var(--slide-animation-duration) both; }
.hero[data-transition="zoom"] .hero-visual { animation:sliderVisualZoom var(--slide-animation-duration) both; }
@keyframes sliderFadeUp { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@keyframes sliderFadeRight { from { opacity:0; transform:translateX(-24px); } to { opacity:1; transform:none; } }
@keyframes sliderZoomIn { from { opacity:0; transform:scale(.96); } to { opacity:1; transform:none; } }
@keyframes sliderVisualSlide { from { opacity:.35; transform:translateX(28px); } to { opacity:1; transform:none; } }
@keyframes sliderVisualZoom { from { opacity:.35; transform:scale(1.04); } to { opacity:1; transform:none; } }
@media (max-width:760px) { .hero h1 { font-size:var(--slide-title-size-mobile); } }
.device-card {
  position: absolute;
  z-index: 3;
  left: 13%;
  top: 18%;
  width: min(390px, 58vw);
  height: 390px;
  border-radius: 8px;
  background: linear-gradient(90deg, var(--primary) 0 23%, #f9fbfd 23% 100%);
  box-shadow: var(--shadow);
  border: 1px solid #d7e3ef;
  display: grid;
  place-items: center;
  color: #0d3d79;
  font-size: 34px;
  text-align: center;
}
.device-card::after {
  content: "";
  position: absolute;
  right: -22px;
  top: 45px;
  width: 24px;
  height: 300px;
  background: #e7edf4;
  border-radius: 0 8px 8px 0;
}
.device-screen {
  position: absolute;
  left: 36px;
  top: 70px;
  width: 48px;
  height: 64px;
  background: #061d3e;
  border-radius: 5px;
  border: 4px solid #193d72;
}
.experience-badge {
  position: absolute;
  z-index: 4;
  right: 12%;
  bottom: 23%;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: var(--white);
  display: grid;
  place-items: center;
  text-align: center;
  box-shadow: var(--shadow);
  color: var(--primary);
  text-transform: uppercase;
}
.experience-badge strong { font-size: 40px; line-height: 1; }
.experience-badge span { font-size: 14px; font-weight: 900; color: var(--ink); }

.section {
  padding: 36px clamp(16px, 5vw, 70px) 28px;
}
.section-title {
  text-align: center;
  margin-bottom: 26px;
}
h2 {
  margin: 0 0 18px;
  font-size: 27px;
  color: var(--ink);
}
.section-title h2::after {
  content: "";
  display: block;
  width: 62px;
  height: 3px;
  margin: 10px auto 0;
  background: var(--primary);
}
.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.product-card {
  position: relative;
  min-height: 295px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  overflow: hidden;
  box-shadow: 0 8px 26px rgba(11,45,91,.06);
  transition: transform .2s ease, box-shadow .2s ease;
}
.product-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow);
}
.product-visual {
  width: 100%;
  height: 145px;
  background: linear-gradient(145deg, #f9fbff, #dfeaf7);
  position: relative;
}
.product-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-visual:has(img)::before,
.product-visual:has(img)::after { display: none; }
.product-visual::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  width: 84px;
  height: 108px;
  border-radius: 6px;
  background: linear-gradient(90deg, #dbe4ed 0 23%, #fff 23% 100%);
  border: 1px solid #bccadd;
  box-shadow: 0 14px 24px rgba(24, 53, 90, .16);
}
.product-visual::after {
  content: "";
  position: absolute;
  left: calc(50% - 20px);
  top: 48px;
  width: 22px;
  height: 28px;
  border-radius: 4px;
  background: #09295b;
}
.product-visual.peroxide::before { height: 122px; width: 72px; }
.product-visual.passbox::before { width: 110px; height: 96px; }
.product-visual.washer::before { width: 118px; background: linear-gradient(90deg, #cbd5e2, #fff 50%, #dbe8f5); }
.product-visual.cssd::before { width: 120px; height: 112px; }
.product-visual.operating::before {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  background: radial-gradient(circle, #fff, #cdd9e8);
}
.product-icon {
  width: 52px;
  height: 52px;
  margin-top: -26px;
  border: 5px solid var(--white);
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--primary);
  color: var(--white);
  z-index: 1;
}
.product-icon svg { width: 22px; }
.product-card h3 {
  min-height: 48px;
  padding: 0 12px;
  margin: 18px 0 12px;
  font-size: 14px;
  line-height: 1.25;
  text-transform: uppercase;
}
.product-card small {
  margin-top: auto;
  margin-bottom: 20px;
  color: var(--primary);
  font-weight: 900;
  text-transform: uppercase;
}

.why {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  background: var(--soft);
}
.why > img {
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
}
.why-content {
  padding: clamp(34px, 5vw, 70px);
}
.feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}
.feature-grid span {
  color: #173056;
  font-weight: 800;
}

.feature-grid [data-home-line] > b {
  font: inherit;
}
.feature-grid svg {
  width: 34px;
  height: 34px;
  color: var(--primary);
  stroke-width: 1.6;
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  background: linear-gradient(90deg, var(--primary-dark), var(--primary));
  color: var(--white);
}
.stats div {
  min-height: 120px;
  display: grid;
  place-items: center;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.2);
}
.stats strong {
  display: block;
  font-size: 38px;
  line-height: 1;
}
.stats span {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.media-area, .news-support {
  padding: 38px clamp(16px, 5vw, 70px);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) minmax(0, .9fr);
  gap: 24px;
}
.video-card {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 22px;
  align-items: center;
}
.video-card p { color: var(--muted); }
.video-thumb {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 220px;
}
.video-thumb img {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  filter: saturate(.8);
}
.video-thumb span {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--white);
  color: var(--primary);
}
.logo-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px;
  background: var(--white);
}
.logo-grid, .cert-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.cert-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.logo-grid span, .cert-grid span {
  min-height: 68px;
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--primary-dark);
  font-weight: 900;
  font-size: 12px;
  background: #fbfdff;
}
.logo-grid img,
.cert-grid img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
}
.news-support {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  align-items: stretch;
}
.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.news-grid a {
  min-height: 150px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(180deg, #f9fbff, #fff);
}
.news-grid a > img {
  width: calc(100% + 32px);
  height: 78px;
  margin: -16px -16px 8px;
  object-fit: cover;
}
.news-grid span {
  align-self: flex-start;
  padding: 4px 8px;
  border-radius: 4px;
  background: var(--primary);
  color: var(--white);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  margin-bottom: 22px;
}
.news-grid strong { font-size: 15px; line-height: 1.3; }
.news-grid small { margin-top: 12px; color: var(--muted); }
.support {
  border-radius: var(--radius);
  padding: 32px;
  color: var(--white);
  background: linear-gradient(90deg, #00458f 0%, rgba(0,76,157,.96) 64%, rgba(0,72,150,.48) 100%), url("../img/reference/support-agent.jpg") right center/auto 100% no-repeat;
}
.support h2 { color: var(--white); }
.support-icons {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 28px 0;
}
.support-icons span {
  flex-direction: column;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
}
.support-icons svg { width: 34px; height: 34px; }

.footer {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
  gap: 34px;
  padding: 36px clamp(16px, 5vw, 70px);
  background: #00346f;
  color: var(--white);
}
.footer h3 { margin: 0 0 12px; font-size: 16px; }
.footer a, .footer p {
  display: block;
  color: rgba(255,255,255,.82);
  margin: 7px 0;
  font-size: 14px;
}
.footer .brand-mark {
  background: var(--white);
  margin-bottom: 14px;
}
.footer-logo {
  width: 146px;
  height: 49px;
  object-fit: cover;
  margin-bottom: 12px;
}

.search-modal {
  width: min(680px, calc(100vw - 28px));
  border: 0;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 28px;
}
.search-modal::backdrop { background: rgba(4, 20, 46, .5); }
.search-modal form {
  display: flex;
  justify-content: flex-end;
}
.search-modal form button {
  border: 0;
  background: transparent;
  cursor: pointer;
}
.search-modal label span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
}
.search-modal input {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0 14px;
}
.quick-search {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.quick-search button {
  border: 1px solid var(--line);
  background: var(--soft);
  border-radius: 999px;
  padding: 8px 12px;
}

.product-detail {
  padding: 34px clamp(16px, 5vw, 70px) 60px;
}
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
  color: var(--muted);
  font-size: 14px;
}
.detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
  gap: 38px;
  align-items: start;
}
.gallery-main {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--soft);
}
.gallery-main img {
  width: 100%;
  height: 460px;
  object-fit: cover;
}
.gallery-thumbs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 12px;
}
.gallery-thumbs button {
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: hidden;
  padding: 0;
  background: var(--white);
}
.gallery-thumbs img {
  width: 100%;
  height: 96px;
  object-fit: cover;
}
.product-summary {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px;
  box-shadow: 0 10px 32px rgba(11,45,91,.08);
}
.product-summary h1 {
  margin: 0 0 16px;
  font-size: 38px;
  line-height: 1.05;
}
.summary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0;
}
.spec-list {
  padding-left: 20px;
  color: var(--muted);
}
.tabs {
  margin-top: 42px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.tab-list {
  display: flex;
  gap: 0;
  overflow-x: auto;
  background: var(--soft);
  border-bottom: 1px solid var(--line);
}
.tab-list button {
  min-height: 56px;
  white-space: nowrap;
  padding: 0 18px;
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  color: var(--muted);
  font-weight: 900;
  cursor: pointer;
}
.tab-list button.active {
  color: var(--primary);
  background: var(--white);
}
.tab-panel {
  display: none;
  padding: 26px;
}
.tab-panel.active { display: block; }
.tab-panel table {
  width: 100%;
  border-collapse: collapse;
}
.tab-panel th, .tab-panel td {
  border: 1px solid var(--line);
  padding: 13px;
  text-align: left;
}
.tab-panel th { background: var(--soft); }

.admin-flow-body { background: #eef4fb; }
.admin-flow {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 260px 1fr;
}
.admin-flow aside {
  background: #002d62;
  color: var(--white);
  padding: 24px;
}
.admin-flow aside strong {
  display: block;
  font-size: 22px;
  margin-bottom: 28px;
}
.admin-flow aside a {
  display: block;
  padding: 12px 0;
  color: rgba(255,255,255,.82);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.admin-flow section { padding: 36px; }
.admin-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.admin-cards article {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px;
}

.page-hero {
  padding: clamp(25px, 1vw, 4px) clamp(16px, 2vw, 70px);
  background: linear-gradient(110deg, #f8fbff, #eaf4ff);
  border-bottom: 1px solid var(--line);
}
.page-hero h1 {
  max-width: 1260px;
  margin: 0;
  font-size: clamp(33px, 2vw, 38px);
  line-height: 1.02;
}
.page-slug-hakkimizda .page-hero h1 {
  max-width: 1060px;
}
.page-hero p {
  max-width: 1400px;
  color: var(--muted);
  font-size: 18px;
}
.certificate-listing-hero p {
  max-width: 1060px;
  margin: 18px 0 0;
  color: #60728b;
  font-size: 18px;
  line-height: 1.55;
}
.service-premium-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(390px, .82fr);
  gap: clamp(28px, 4vw, 58px);
  align-items: center;
  width: min(1660px, calc(100% - 80px));
  margin: 18px auto 0;
  padding: clamp(58px, 6vw, 88px) clamp(38px, 5vw, 72px) clamp(38px, 5vw, 72px);
  overflow: hidden;
  border: 1px solid rgba(196, 216, 235, .82);
  border-radius: 8px;
  background: linear-gradient(120deg, rgba(255, 255, 255, .97) 0%, rgba(248, 252, 255, .94) 48%, rgba(234, 245, 255, .92) 100%);
  box-shadow: 0 24px 80px rgba(6, 42, 82, .10);
}
.service-premium-hero::before {
  position: absolute;
  inset: 22px;
  z-index: -1;
  content: "";
  border: 1px solid rgba(0, 87, 184, .07);
  border-radius: 8px;
  pointer-events: none;
}
.service-premium-copy { min-width: 0; }
.service-premium-topline {
  position: absolute;
  top: 26px;
  right: clamp(30px, 4vw, 64px);
  z-index: 2;
}
.service-premium-topline a,
.service-premium-phone-pill {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 9px;
  padding: 0 16px;
  color: #15375c;
  border: 1px solid rgba(0, 87, 184, .14);
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 12px 28px rgba(0, 50, 110, .06);
  font-size: 14px;
  font-weight: 700;
  backdrop-filter: blur(10px);
}
.service-premium-topline strong,
.service-premium-phone-pill strong {
  color: #0057b8;
  font-weight: 900;
}
.service-premium-topline svg,
.service-premium-phone-pill svg {
  width: 19px;
  height: 19px;
  color: #0057b8;
  stroke-width: 2.25;
}
.service-premium-phone-pill {
  margin: 0 0 26px;
}
.service-premium-copy .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 22px;
  color: #0057b8;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}
.service-premium-copy .eyebrow svg {
  width: 22px;
  height: 22px;
  padding: 4px;
  border: 1px solid rgba(0, 87, 184, .18);
  border-radius: 50%;
  background: #f1f8ff;
}
.service-premium-copy h1 {
  max-width: 780px;
  margin: 0;
  color: #061f47;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Google Sans", "Product Sans", Inter, "Segoe UI", Arial, sans-serif;
  font-size: clamp(36px, 3.4vw, 54px);
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: 0;
}
.service-premium-copy > p {
  max-width: 760px;
  margin: 22px 0 0;
  color: #536a84;
  font-size: clamp(16px, 1.2vw, 20px);
  line-height: 1.7;
}
.service-premium-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 24px;
  align-items: center;
  margin-top: 34px;
}
.service-premium-actions .btn {
  min-height: 56px;
  padding-inline: 24px;
  border-radius: 6px;
  box-shadow: 0 16px 34px rgba(0, 87, 184, .18);
}
.service-premium-link {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  gap: 10px;
  color: #0057b8;
  font-weight: 850;
}
.service-premium-link svg {
  width: 20px;
  height: 20px;
  transition: transform .18s ease;
}
.service-premium-link:hover svg { transform: translateX(4px); }
.service-premium-badges {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  max-width: 860px;
  margin-top: 42px;
  padding-top: 24px;
  border-top: 1px solid rgba(0, 87, 184, .11);
}
.service-premium-badges span {
  display: grid;
  min-height: 102px;
  place-items: center;
  gap: 10px;
  padding: 16px 12px;
  color: #12395f;
  border: 1px solid rgba(0, 87, 184, .10);
  border-radius: 8px;
  background: rgba(247, 251, 255, .86);
  box-shadow: 0 12px 26px rgba(0, 56, 118, .05);
  font-size: 13px;
  font-weight: 800;
  text-align: center;
}
.service-premium-badges svg {
  width: 31px;
  height: 31px;
  color: #0057b8;
  stroke-width: 1.85;
}
.service-premium-visual {
  position: relative;
  display: grid;
  min-height: 560px;
  place-items: center;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(185, 209, 232, .88);
  border-radius: 8px;
  background:
    radial-gradient(circle at 50% 82%, rgba(0, 87, 184, .10) 0 18%, transparent 19%),
    radial-gradient(circle at 56% 45%, rgba(0, 87, 184, .08) 0 34%, transparent 35%),
    linear-gradient(140deg, #f8fcff 0%, #eaf6ff 100%);
  box-shadow: 0 26px 70px rgba(6, 42, 82, .14);
}
.service-product-cluster {
  position: relative;
  z-index: 1;
  width: min(94%, 670px);
  min-height: 510px;
  transform: translateY(-16px);
}
.service-product-cluster::before {
  position: absolute;
  right: 8%;
  bottom: 6%;
  left: 8%;
  height: 18%;
  content: "";
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(0, 87, 184, .18), rgba(0, 87, 184, .04) 48%, transparent 70%);
  filter: blur(2px);
}
.cluster-device {
  position: absolute;
  bottom: 7%;
  display: block;
  max-width: none;
  max-height: none;
  object-fit: contain;
  object-position: center bottom;
  filter: drop-shadow(0 24px 30px rgba(8, 45, 90, .16));
}
.cluster-device-main {
  left: 50%;
  z-index: 4;
  width: 50%;
  transform: translateX(-50%);
}
.cluster-device-left {
  left: 1%;
  z-index: 2;
  width: 38%;
  opacity: .94;
}
.cluster-device-right {
  right: 0;
  z-index: 3;
  width: 45%;
  opacity: .95;
}
.service-premium-visual::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .32), transparent 45%),
    linear-gradient(180deg, rgba(255, 255, 255, .08), rgba(2, 33, 67, .04));
  pointer-events: none;
}
.service-premium-visual figcaption {
  position: absolute;
  right: 34px;
  bottom: 18px;
  z-index: 2;
  display: flex;
  min-width: 260px;
  align-items: center;
  gap: 16px;
  padding: 18px 20px;
  color: #0c315f;
  border: 1px solid rgba(255, 255, 255, .74);
  border-radius: 8px;
  background: rgba(255, 255, 255, .90);
  box-shadow: 0 18px 46px rgba(8, 45, 90, .18);
  backdrop-filter: blur(10px);
}
.service-premium-visual figcaption > svg {
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  padding: 10px;
  color: #0057b8;
  border: 1px solid rgba(0, 87, 184, .18);
  border-radius: 50%;
  background: #edf7ff;
}
.service-premium-visual figcaption span { display: grid; gap: 3px; }
.service-premium-visual figcaption strong {
  color: #06356c;
  font-size: 21px;
  line-height: 1.1;
}
.service-premium-visual figcaption small {
  color: #526b84;
  font-size: 14px;
  font-weight: 700;
}
.service-anchor {
  display: block;
  height: 1px;
  scroll-margin-top: 110px;
}
.filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}
.filter-bar button {
  min-height: 40px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0 15px;
  background: var(--white);
  color: var(--primary-dark);
  font-weight: 800;
}
.filter-bar button.active {
  background: var(--primary);
  color: var(--white);
  border-color: var(--primary);
}
.catalog-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.project-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.project-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--white);
  box-shadow: 0 8px 26px rgba(11,45,91,.06);
}
.project-card img {
  width: 100%;
  height: 210px;
  object-fit: cover;
}
.project-card div {
  padding: 18px;
}
.project-card span {
  color: var(--primary);
  font-weight: 900;
  text-transform: uppercase;
  font-size: 12px;
}
.project-card h2 {
  margin: 8px 0;
  font-size: 21px;
}
.project-card p {
  color: var(--muted);
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 34px;
}
.gallery-grid img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: var(--radius);
  border: 1px solid var(--line);
}
.video-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.video-list article {
  min-height: 150px;
  display: grid;
  align-content: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px;
  background: var(--soft);
}
.video-list svg {
  width: 38px;
  height: 38px;
  color: var(--primary);
}
.video-list strong {
  font-size: 18px;
}
.video-list span {
  color: var(--muted);
}
.contact-layout {
  padding: 42px clamp(16px, 5vw, 70px);
  display: grid;
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.38fr);
  gap: 24px;
}
.contact-info,
.request-form {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px;
  background: var(--white);
  box-shadow: 0 8px 26px rgba(11,45,91,.06);
}
.contact-info p {
  display: flex;
  gap: 10px;
  color: var(--muted);
}
.contact-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.contact-map {
  min-height: 310px;
  margin-top: 14px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--soft);
}
.contact-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 310px;
  border: 0;
}
.contact-info svg {
  width: 20px;
  color: var(--primary);
  flex: 0 0 auto;
}
.request-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.request-form h2,
.request-form .request-full {
  grid-column: 1 / -1;
}
.request-form label {
  display: grid;
  gap: 7px;
  color: var(--ink);
  font-weight: 800;
}
.request-form input,
.request-form select,
.request-form textarea {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 9px 12px;
}
.request-form textarea {
  min-height: 120px;
  resize: vertical;
}
.hp-field {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.status-page {
  min-height: calc(100vh - 72px);
  display: grid;
  place-items: center;
  align-content: center;
  gap: 16px;
  text-align: center;
  padding: 48px clamp(16px, 5vw, 70px);
  background: linear-gradient(120deg, #f8fbff, #eaf4ff);
}
.status-page h1 {
  margin: 0;
  font-size: clamp(36px, 6vw, 62px);
  line-height: 1;
}
.status-page p {
  max-width: 620px;
  color: var(--muted);
  font-size: 18px;
}
.status-icon {
  width: 86px;
  height: 86px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e6f6ee;
  color: #15803d;
}
.status-icon.warning {
  background: #fff7ed;
  color: #b45309;
}
.status-icon svg {
  width: 46px;
  height: 46px;
}
.not-found-page {
  background: #f2f7fc;
}
.not-found-status {
  position: relative;
  min-height: calc(100vh - 180px);
  overflow: hidden;
  isolation: isolate;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(231,243,255,.92)),
    radial-gradient(circle at 18% 18%, rgba(0,87,184,.16), transparent 32%),
    radial-gradient(circle at 84% 78%, rgba(10,166,194,.14), transparent 34%);
}
.not-found-status::before {
  position: absolute;
  z-index: -1;
  width: min(58vw, 620px);
  aspect-ratio: 1;
  content: "";
  border: 1px solid rgba(0,87,184,.12);
  border-radius: 50%;
  background: repeating-conic-gradient(from -12deg, rgba(0,87,184,.08) 0deg 5deg, transparent 5deg 14deg);
  opacity: .8;
}
.not-found-status .status-code {
  margin-bottom: -8px;
  color: color-mix(in srgb, var(--primary) 18%, transparent);
  font-size: clamp(86px, 16vw, 190px);
  font-weight: 800;
  line-height: .78;
}
.not-found-status .eyebrow {
  color: var(--primary);
}
.not-found-status h1 {
  max-width: 780px;
  color: #061b3d;
}
.not-found-search {
  display: flex;
  width: min(100%, 560px);
  gap: 10px;
  margin-top: 8px;
}
.not-found-search input {
  min-width: 0;
  flex: 1;
  border: 1px solid #c8daeb;
  border-radius: 8px;
  padding: 0 16px;
  color: var(--ink);
  background: #fff;
  font: inherit;
  min-height: 48px;
  box-shadow: 0 12px 26px rgba(4,35,71,.06);
}
.not-found-search input:focus {
  outline: 2px solid color-mix(in srgb, var(--primary) 22%, transparent);
  border-color: var(--primary);
}
.not-found-status .hero-actions {
  justify-content: center;
}
@media(max-width:640px) {
  .not-found-search {
    flex-direction: column;
  }
  .not-found-search .btn,
  .not-found-status .hero-actions .btn {
    width: 100%;
    justify-content: center;
  }
}
.search-page {
  display: grid;
  gap: 22px;
}
.search-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px;
  background: var(--white);
  box-shadow: 0 8px 26px rgba(11,45,91,.06);
}
.search-panel label {
  display: grid;
  gap: 7px;
  color: var(--ink);
  font-weight: 800;
}
.search-panel input {
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0 14px;
}
.search-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.search-results a {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px;
  background: var(--white);
}
.search-results a.is-hidden {
  display: none;
}
.search-results strong,
.search-results span {
  display: block;
}
.search-results span {
  margin: 6px 0;
  color: var(--primary);
  font-weight: 900;
  text-transform: uppercase;
  font-size: 12px;
}
.legal-page {
  max-width: 920px;
  margin: 0 auto;
  padding: 42px clamp(16px, 5vw, 70px);
  color: #243a5e;
}
.legal-page h2 {
  margin-top: 28px;
}
.cookie-banner {
  position: fixed;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 60;
  display: none;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  max-width: 920px;
  margin: 0 auto;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 16px;
  background: var(--white);
  box-shadow: var(--shadow);
}
.cookie-banner.is-visible {
  display: grid;
}
.cookie-banner p {
  margin: 4px 0 0;
  color: var(--muted);
}
.cookie-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}
.cookie-actions a,
.cookie-actions button {
  min-height: 38px;
  border-radius: 6px;
  padding: 0 12px;
  font-weight: 900;
}
.cookie-actions a {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line);
}
.cookie-actions button {
  border: 1px solid var(--primary);
  background: var(--primary);
  color: var(--white);
  cursor: pointer;
}
.article-grid,
.certificate-list,
.service-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.article-card,
.certificate-list article,
.service-steps article {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 22px;
  background: var(--white);
  box-shadow: 0 8px 26px rgba(11,45,91,.06);
}
.article-card span {
  display: inline-block;
  padding: 5px 9px;
  border-radius: 4px;
  background: var(--primary);
  color: var(--white);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}
.article-card h2 {
  margin-top: 16px;
  font-size: 23px;
}
.article-card p,
.service-steps p {
  color: var(--muted);
}
.article-card small {
  color: var(--primary-dark);
  font-weight: 900;
}
.certificate-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.certificate-list article {
  min-height: 190px;
  display: grid;
  align-content: center;
  gap: 9px;
  text-align: center;
}
.certificate-list svg,
.service-steps svg {
  width: 40px;
  height: 40px;
  color: var(--primary);
}
.certificate-list svg {
  margin: 0 auto;
}
.certificate-list strong,
.service-steps strong {
  font-size: 18px;
}
.certificate-list span {
  color: var(--muted);
  font-size: 13px;
}
.certificate-list a {
  color: var(--primary);
  font-weight: 900;
}
.service-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 22px;
}
.service-cta {
  margin-top: 6px;
}
.download-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.download-grid article {
  display: grid;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
  background: var(--white);
  box-shadow: 0 8px 26px rgba(11,45,91,.06);
}
.download-grid svg {
  width: 42px;
  height: 42px;
  color: var(--primary);
}
.download-grid strong {
  font-size: 20px;
}
.download-grid span {
  color: var(--muted);
}
.download-grid a {
  color: var(--primary);
  font-weight: 900;
}
.faq-list {
  display: grid;
  gap: 10px;
}
.faq-list details {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 14px;
  background: var(--soft);
}
.faq-list summary {
  cursor: pointer;
  font-weight: 900;
  color: var(--primary-dark);
}
.faq-list p {
  color: var(--muted);
}

@media (max-width: 1180px) {
  .nav-links { gap: 14px; font-size: 12px; }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .media-area { grid-template-columns: 1fr; }
  .certificate-list,
  .service-steps,
  .download-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .topbar { display: none; }
  .hero-arrow, .slider-dots { display: none; }
  .navbar { min-height: 64px; gap: 12px; }
  .menu-toggle { display: inline-grid; place-items: center; }
  .nav-links {
    position: absolute;
    left: 16px;
    right: 16px;
    top: 70px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--white);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 8px;
  }
  .nav-links.open { display: flex; }
  .nav-links a { padding: 13px; }
  .quote-btn { margin-left: auto; padding: 11px 12px; }
  .hero {
    min-height: auto;
    grid-template-columns: 1fr;
  }
  .hero-copy { padding: 42px 18px 26px; }
  .hero.is-media-full .hero-copy { width: 100%; min-height: 560px; }
  .hero.is-media-full .hero-visual { min-height: 100%; }
  .hero > .trust-badges { bottom: 18px; max-width: calc(100% - 36px); }
  .hero.is-badge-left > .trust-badges { left: 18px; right: auto; }
  .hero.is-badge-right > .trust-badges { right: 18px; left: auto; }
  .hero[data-badge-position-mode="custom"] > .trust-badges { left:var(--slide-badge-x-mobile,5%); top:var(--slide-badge-y-mobile,84%); right:auto; bottom:auto; transform:translate(-50%,-50%); }
  .hero p { font-size:var(--slide-subtitle-size-mobile,17px); }
  .hero.is-content-custom .hero-copy { width:var(--slide-content-width-mobile,90%); }
  .hero[data-button-position-mode="custom"] .hero-actions { top:var(--slide-button-y-mobile,72%); left:var(--slide-button-x-mobile,5%); }
  .hero h1 { transform:translate(var(--slide-title-x-mobile,0%),var(--slide-title-y-mobile,0%)); }
  .hero p { transform:translate(var(--slide-subtitle-x-mobile,0%),var(--slide-subtitle-y-mobile,0%)); }
  .hero h1 { font-size: 42px; }
  .hero p { font-size: 17px; }
  .hero-visual { min-height: 380px; }
  .device-card {
    left: 10%;
    top: 14%;
    width: 260px;
    height: 260px;
    font-size: 24px;
  }
  .device-card::after { height: 195px; }
  .experience-badge {
    right: 7%;
    bottom: 12%;
    width: 112px;
    height: 112px;
  }
  .why, .detail-grid, .news-support, .admin-flow {
    grid-template-columns: 1fr;
  }
  .project-grid, .gallery-grid, .video-list, .contact-layout {
    grid-template-columns: 1fr;
  }
  .article-grid {
    grid-template-columns: 1fr;
  }
  .search-results {
    grid-template-columns: 1fr;
  }
  .support-icons { grid-template-columns: repeat(2, 1fr); }
  .footer { grid-template-columns: 1fr 1fr; }
  .admin-flow aside { display: none; }
}

/* Keep desktop slider copy inside a readable, consistent safe area. */
@media (min-width: 901px) {
  .hero:not(.is-content-custom) .hero-copy {
    padding-left: clamp(52px, 5vw, 92px);
    padding-right: clamp(36px, 4vw, 76px);
  }
  .hero.is-content-custom .hero-copy {
    left: max(52px, var(--slide-content-x-desktop, 6%));
  }
  .hero[data-button-position-mode="custom"] .hero-actions {
    left: max(52px, var(--slide-button-x-desktop, 6%));
  }
}

/* Footer confidence badges use Lucide icons rather than image files. */
.footer-trust-badges span > svg {
  width: 30px;
  height: 30px;
  color: #075fbd;
  stroke-width: 2.15;
  transition: color .24s ease, filter .24s ease, transform .24s ease;
}
.footer-trust-badges span > strong {
  color: #123c6d;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  transition: color .24s ease;
}
.footer-trust-badges span:hover > svg {
  color: #0a82e8;
  filter: drop-shadow(0 3px 7px rgba(10, 130, 232, .34));
  transform: scale(1.1);
}
.footer-trust-badges span:hover > strong { color: #07539e; }

.document-toolbar {
  display: flex;
  margin-bottom: 20px;
  padding: 14px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid #d9e5ef;
  border-radius: 7px;
  background: #fff;
}

.document-toolbar label {
  display: flex;
  width: min(560px,100%);
  height: 44px;
  padding: 0 13px;
  align-items: center;
  gap: 9px;
  border: 1px solid #cfdeeb;
  border-radius: 5px;
}

.document-toolbar svg { width: 18px; color: var(--primary); }
.document-toolbar input { width: 100%; border: 0; outline: 0; font: inherit; }
.document-toolbar > span { color: #64788b; font-size: 12px; font-weight: 800; }

.document-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 13px;
}

.document-grid article {
  display: grid;
  min-height: 120px;
  padding: 18px;
  align-items: center;
  grid-template-columns: 48px minmax(0,1fr) 36px;
  gap: 13px;
  border: 1px solid #dbe6ef;
  border-radius: 7px;
  background: #fff;
}

.document-grid article > span {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  color: var(--primary);
  border-radius: 50%;
  background: #eaf5ff;
}

.document-grid article > span svg { width: 21px; }
.document-grid small { color: #0870c8; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.document-grid h2 { margin: 5px 0; font-size: 15px; }
.document-grid p { margin: 0; color: #6b7f92; font-size: 12px; }

@media (max-width: 900px) {
  .document-grid { grid-template-columns: 1fr; }
  .document-toolbar { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 640px) {
  .brand { min-width: auto; }
  .brand-mark { width: 64px; height: 36px; font-size: 23px; }
  .brand strong { font-size: 13px; }
  .brand small { font-size: 10px; }
  .quote-btn { font-size: 0; width: 44px; height: 44px; justify-content: center; padding: 0; }
  .quote-btn svg { width: 20px; }
  .hero h1 { font-size: 36px; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .product-grid, .feature-grid, .stats, .news-grid, .footer, .admin-cards {
    grid-template-columns: 1fr;
  }
  .request-form {
    grid-template-columns: 1fr;
  }
  .contact-layout { padding: 24px 16px; }
  .contact-info, .request-form { padding: 20px; }
  .contact-map, .contact-map iframe { min-height: 270px; }
  .search-panel,
  .cookie-banner {
    grid-template-columns: 1fr;
  }
  .certificate-list,
  .service-steps,
  .download-grid {
    grid-template-columns: 1fr;
  }
  .cookie-actions {
    justify-content: stretch;
  }
  .cookie-actions a,
  .cookie-actions button {
    flex: 1;
    justify-content: center;
  }
  .stats div { min-height: 92px; }
  .video-card { grid-template-columns: 1fr; }
  .cert-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-main img { height: 300px; }
  .product-summary h1 { font-size: 30px; }
}

/* Public media directory */
.public-gallery-page { background:#fff; }
.gallery-masthead { position:relative; display:flex; min-height:250px; align-items:center; justify-content:space-between; gap:28px; width:100%; margin:0; padding:42px max(5vw,48px); overflow:hidden; border:0; border-bottom:1px solid #dbe6f1; border-radius:0; background:#f5faff; }
.gallery-masthead::after { position:absolute; inset:0 0 0 34%; z-index:0; background:linear-gradient(90deg,#f5faff 0%,rgba(245,250,255,.8) 17%,rgba(245,250,255,.05) 54%),var(--gallery-hero-image,url('/assets/img/reference/hero-device.jpg')) center/cover no-repeat; content:""; opacity:.86; }
.gallery-masthead > div:first-child { position:relative; z-index:1; max-width:540px; }
.gallery-masthead h1 { margin:12px 0 10px; color:#071b3d; font-size:clamp(36px,4vw,58px); line-height:1.05; }
.gallery-masthead p { max-width:720px; margin:0; color:#59708e; font-size:17px; line-height:1.65; }
.gallery-masthead-visual { position:absolute; inset:0 0 0 56%; z-index:0; overflow:hidden; }
.gallery-masthead-visual img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.02; }
.gallery-directory,.gallery-results { width:min(1680px,calc(100% - 72px)); margin:0 auto; padding:24px 0 0; }
.gallery-results { padding-top:8px; padding-bottom:72px; }
.gallery-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:0 0 18px; }
.gallery-section-heading h2 { margin:6px 0 0; color:#071b3d; font-size:28px; }
.gallery-count { color:#59708e; font-size:14px; font-weight:700; }
.gallery-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.gallery-category-card { display:flex; min-height:78px; align-items:center; gap:12px; padding:10px 12px; color:#153d69; border:1px solid #d9e5f0; border-radius:7px; background:#fff; box-shadow:0 5px 16px rgba(23,52,82,.045); transition:transform .2s,border-color .2s,box-shadow .2s; }
.gallery-category-card:hover,.gallery-category-card.is-active { border-color:var(--primary); box-shadow:0 12px 26px rgba(0,87,184,.14); transform:translateY(-2px); }
.gallery-category-card > img { width:104px; height:58px; flex:0 0 104px; object-fit:cover; border-radius:5px; }
.gallery-category-card > span:last-child { display:grid; gap:5px; }
.gallery-category-card strong { color:#092c57; font-size:14px; }
.gallery-category-card small { color:#71849a; font-size:12px; line-height:1.35; }
.gallery-category-icon { display:grid; width:52px; height:52px; flex:0 0 52px; place-items:center; color:var(--primary); border-radius:50%; background:#edf5ff; }
.gallery-category-icon svg { width:24px; height:24px; }
.public-gallery-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.public-gallery-card { display:block; padding:0; text-align:left; color:inherit; border:1px solid #d9e5f0; border-radius:8px; overflow:hidden; background:#fff; cursor:pointer; box-shadow:0 8px 22px rgba(23,52,82,.05); transition:transform .2s,box-shadow .2s,border-color .2s; }
.public-gallery-card:hover { border-color:#9cc4e8; box-shadow:0 14px 28px rgba(23,52,82,.12); transform:translateY(-3px); }
.public-gallery-image { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:#eef5fb; }
.public-gallery-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.public-gallery-card:hover .public-gallery-image img { transform:scale(1.035); }
.public-gallery-image > svg { position:absolute; right:12px; bottom:12px; width:32px; height:32px; padding:8px; color:#fff; border-radius:50%; background:rgba(0,69,137,.88); }
.public-gallery-card-body { display:grid; gap:6px; padding:15px 16px 17px; }
.public-gallery-card-body small { color:var(--primary); font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.public-gallery-card-body strong { color:#092c57; font-size:16px; }
.public-gallery-card-body em { overflow:hidden; color:#72869e; font-size:13px; font-style:normal; line-height:1.45; text-overflow:ellipsis; white-space:nowrap; }
.public-video-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.public-video-card { overflow:hidden; border:1px solid #d9e5f0; border-radius:8px; background:#fff; box-shadow:0 8px 22px rgba(23,52,82,.05); }
.public-video-frame { position:relative; display:grid; aspect-ratio:16/9; place-items:center; overflow:hidden; background:#071b3d; }
.public-video-frame iframe,.public-video-frame video { display:block; width:100%; height:100%; border:0; object-fit:cover; }
.gallery-video-placeholder { display:grid; width:64px; height:64px; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.5); border-radius:50%; }
.gallery-video-placeholder svg { width:30px; height:30px; }
.gallery-video-fallback-icon { position:absolute; z-index:2; top:50%; left:50%; display:grid; width:58px; height:58px; place-items:center; color:#fff; background:rgba(0,73,142,.9); border:2px solid rgba(255,255,255,.9); border-radius:50%; box-shadow:0 8px 22px rgba(0,0,0,.24); transform:translate(-50%,-50%); pointer-events:none; }
.gallery-video-fallback-icon svg { width:26px; height:26px; }
.gallery-empty { display:grid; min-height:240px; place-items:center; align-content:center; gap:8px; color:#72869e; border:1px dashed #c9d9e8; border-radius:8px; background:#fff; text-align:center; }
.gallery-empty svg { width:38px; height:38px; color:var(--primary); }
.gallery-empty h3 { margin:4px 0 0; color:#092c57; }
.gallery-empty p { margin:0; }
.nav-links .product-mega-menu { opacity:1; isolation:isolate; }
@media (min-width:1181px) {
  .nav-links .product-mega-dropdown .product-mega-menu { width:min(900px,calc(100vw - 48px)); min-height:344px; grid-template-columns:238px minmax(0,1fr); gap:18px; padding:16px; overflow:hidden; background:#fff; }
  .nav-links .product-mega-dropdown .product-mega-content { min-width:0; overflow:hidden; }
  .nav-links .product-mega-dropdown .product-mega-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; row-gap:0; }
  .nav-links .product-mega-dropdown .product-mega-category-grid a { min-width:0; min-height:48px; overflow-wrap:anywhere; white-space:normal; }
}
@media (max-width:1180px) {
  .nav-links .product-mega-dropdown .product-mega-menu { position:static; display:block; width:100%; min-height:0; overflow:visible; }
  .nav-links .product-mega-dropdown .product-mega-visual { display:none; }
}
@media (max-width:1050px) { .gallery-category-grid,.public-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .public-video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .gallery-masthead { width:100%; min-height:230px; align-items:flex-start; padding:30px 24px; } .gallery-directory,.gallery-results { width:calc(100% - 24px); } .gallery-masthead::after { inset:30% 0 0; background:linear-gradient(180deg,#f5faff 0%,rgba(245,250,255,.2) 55%),var(--gallery-hero-image,url('/assets/img/reference/hero-device.jpg')) center/cover no-repeat; } .gallery-masthead-visual { display:none; } .gallery-masthead h1 { font-size:36px; } .gallery-masthead p { font-size:15px; } .gallery-category-grid,.public-gallery-grid,.public-video-grid { grid-template-columns:1fr; } .gallery-section-heading { align-items:flex-start; flex-direction:column; } }

/* Reference-matched home layout */
@media (min-width: 901px) {
  .site-header { box-shadow: 0 2px 10px rgba(10, 35, 70, .06); }
  .topbar { display: none; }
  .navbar { min-height: 52px; padding: 0 10px; gap: 20px; }
  .brand { min-width: 146px; }
  .brand-logo { width: 148px; height: 38px; }
  .brand-mark { width: 88px; height: 35px; font-size: 26px; border-color: #d9e3f0; }
  .brand strong { font-size: 13px; }
  .brand small { font-size: 9px; }
  .nav-links { gap: 25px; font-size: 8px; letter-spacing: 0; white-space: nowrap; }
  .nav-links a { flex: 0 0 auto; white-space: nowrap; }
  .nav-links a.is-current { color: var(--primary); }
  .nav-links a[href="en.html"] { display: none; }
  .quote-btn { min-height: 38px; padding: 0 16px; border-radius: 5px; font-size: 12px; }

  .hero {
    min-height: 386px;
    height: 386px;
    grid-template-columns: 47% 53%;
    background: linear-gradient(90deg, #f6fbff 0%, #eef6ff 52%, #eaf3fb 100%);
    border-bottom: 1px solid #e7eef8;
  }
  .hero-copy { padding: 48px 0 0 82px; }
  .hero h1 { max-width: 410px; font-size: 40px; line-height: 1.05; font-weight: 900; }
  .hero p { max-width: 330px; margin: 18px 0 18px; font-size: 16px; line-height: 1.32; }
  .hero-actions { gap: 12px; margin: 18px 0 24px; }
  .btn { min-height: 39px; padding: 0 18px; border-radius: 5px; font-size: 12px; }
  .trust-badges { display: block; width: 350px; height: 48px; overflow: hidden; }
  .trust-badges > img { width: 350px; height: 48px; }
  .hero > .trust-badges { width: var(--slide-badge-width-mobile, 70%); height: var(--slide-badge-height-mobile, 48px); }
  .hero > .trust-badges > img { width: 100%; height: var(--slide-badge-height-mobile, 48px); object-fit: contain; }
  .trust-badges span {
    width: 62px;
    min-height: 48px;
    display: grid;
    place-items: center;
    gap: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #0057b8;
    text-align: center;
    text-transform: uppercase;
  }
  .trust-badges span::before {
    content: "";
    width: 37px;
    height: 37px;
    display: block;
    border: 2px solid #0057b8;
    border-radius: 50%;
    margin-bottom: 4px;
    background: radial-gradient(circle, #fff 45%, #dbeeff 46%);
  }
  .trust-badges strong { font-size: 11px; line-height: 1; }
  .trust-badges small { font-size: 9px; font-weight: 800; color: #163866; }

  .hero-visual { min-height: 386px; }
  .hero-visual img { opacity: 1; filter: none; object-position: var(--slide-media-focus, center bottom); }
  .hero-visual::before {
    background: linear-gradient(90deg, #eef6ff 0%, rgba(238,246,255,.18) 15%, transparent 34%);
  }
  .device-card, .experience-badge { display: none; }
  .device-card {
    left: 12%;
    top: 49px;
    width: 245px;
    height: 268px;
    font-size: 25px;
    border-radius: 4px;
    background: linear-gradient(90deg, #0057b8 0 25%, #f9fbfd 25% 100%);
  }
  .device-card::after {
    right: -58px;
    top: 18px;
    width: 60px;
    height: 220px;
    border-radius: 0 4px 4px 0;
    background: linear-gradient(90deg, #dfe7f0, #f8fbff);
    border: 1px solid #c8d5e3;
  }
  .device-screen { left: 25px; top: 52px; width: 33px; height: 48px; border-width: 3px; }
  .experience-badge { right: 12%; bottom: 90px; width: 111px; height: 111px; }
  .experience-badge strong { font-size: 32px; }
  .experience-badge span { max-width: 78px; font-size: 12px; }

  .hero-arrow {
    position: absolute;
    z-index: 6;
    top: 50%;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    color: #0057b8;
    box-shadow: 0 5px 16px rgba(10, 35, 70, .14);
  }
  .hero-arrow.left { left: 8px; }
  .hero-arrow.right { right: 8px; }
  .hero-arrow svg { width: 18px; }
  .slider-dots {
    position: absolute;
    left: 50%;
    bottom: 14px;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 5;
  }
  .slider-dots span, .slider-dots button { width: 16px; height: 4px; padding: 0; border: 0; border-radius: 999px; background: #d7e1ed; cursor: pointer; }
  .slider-dots span.active, .slider-dots button.active { background: #0057b8; }

  .section { padding: 6px 54px 10px; }
  .section-title { margin-bottom: 4px; }
  h2 { font-size: 19px; }
  .section-title h2::after { width: 54px; height: 2px; margin-top: 7px; }
  .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .product-card { min-height: 238px; border-color: #e0e8f2; box-shadow: 0 7px 20px rgba(11,45,91,.045); }
  .product-visual { height: 136px; background: #f4f8fd; }
  .product-visual img { object-fit: cover; }
  .product-visual::before { width: 72px; height: 90px; bottom: 14px; }
  .product-visual::after { top: 43px; width: 18px; height: 24px; }
  .product-icon { width: 38px; height: 38px; margin-top: -19px; border-width: 3px; }
  .product-icon svg { width: 17px; }
  .product-card h3 { margin: 8px 0 4px; min-height: 34px; font-size: 10px; }
  .product-card small { margin-bottom: 8px; font-size: 8px; }

  .why { grid-template-columns: 46.5% 53.5%; height: 191px; margin-top: 0; overflow: hidden; }
  .why > img { min-height: 191px; height: 191px; }
  .why-content { padding: 20px 42px 16px; }
  .why-content h2 { margin-bottom: 14px; }
  .feature-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; row-gap: 12px; }
  .feature-grid span { align-items: flex-start; gap: 8px; font-size: 11px; line-height: 1.25; }
  .feature-grid svg { width: 29px; height: 29px; flex: 0 0 auto; }

  .stats, .stats div { min-height: 85px; }
  .stats strong { font-size: 32px; }
  .stats span { font-size: 12px; }

  .media-area { grid-template-columns: 49% 17% 34%; gap: 14px; padding: 14px 24px 7px; }
  .video-card { grid-template-columns: 34% 66%; gap: 18px; height: 170px; overflow: hidden; }
  .video-card h2, .logo-panel h2 { font-size: 18px; margin-bottom: 11px; }
  .video-card p { font-size: 12px; }
  .video-thumb, .video-thumb img { height: 170px; min-height: 170px; }
  .logo-panel { height: 170px; padding: 0; overflow: hidden; border-color: transparent; box-shadow: none; }
  .logo-panel h2 { margin-bottom: 6px; }
  .logo-grid, .cert-grid { gap: 8px; }
  .logo-grid span, .cert-grid span { min-height: 66px; font-size: 9px; }
  .logo-grid img { height: 66px; object-fit: cover; }
  .cert-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .cert-grid img { height: 91px; object-fit: cover; }

  .news-support { grid-template-columns: 49% 51%; gap: 18px; padding: 10px 24px 2px; }
  .news h2 { font-size: 19px; }
  .news-grid { gap: 9px; }
  .news-grid a { height: 128px; min-height: 128px; padding: 8px; overflow: hidden; justify-content: flex-start; }
  .news-grid a > img { width: calc(100% + 16px); height: 52px; margin: -8px -8px 5px; }
  .news-grid span { font-size: 8px; margin: -2px 0 4px; }
  .news-grid strong { font-size: 10px; }
  .news-grid small { margin-top: 4px; font-size: 8px; }
  .support { height: 182px; min-height: 182px; padding: 14px 30px; overflow: hidden; }
  .support h2 { margin-bottom: 10px; font-size: 24px; }
  .support p { margin-top: -6px; font-size: 13px; }
  .support-icons { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 8px 0; }
  .support-icons svg { width: 25px; height: 25px; }
  .support-icons span { gap: 3px; font-size: 8px; }
  .support .btn { min-height: 31px; padding: 0 14px; font-size: 10px; }

  .footer { grid-template-columns: 1.35fr repeat(5, 1fr); gap: 18px; padding: 10px 24px; }
  .footer .brand-mark { width: 146px; height: 54px; font-size: 42px; }
  .footer h3 { margin-bottom: 6px; font-size: 10px; }
  .footer a, .footer p { margin: 3px 0; font-size: 8px; line-height: 1.35; }
}

/* Professional constrained desktop layout */
@media (min-width: 901px) {
  body {
    background: #edf2f7;
  }

  .site-header {
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 4px 20px rgba(12, 42, 78, .08);
  }

  .topbar {
    width: min(1280px, calc(100% - 48px));
    max-width: 1280px;
    min-height: 34px;
    margin: 0 auto;
    padding: 6px 0;
    display: flex;
    border-bottom-color: #e5edf6;
    font-size: 12px;
  }

  .navbar {
    width: min(1280px, calc(100% - 48px));
    max-width: 1280px;
    min-height: 76px;
    margin: 0 auto;
    padding: 0;
    gap: 20px;
  }

  .brand {
    min-width: 176px;
  }

  .brand-logo {
    width: 176px;
    height: 45px;
    object-fit: cover;
  }

  .nav-links {
    gap: 16px;
    font-size: 10px;
    line-height: 1;
  }

  .nav-links a[href="en.html"] {
    display: inline-flex;
    color: var(--primary);
  }

  .quote-btn {
    min-height: 42px;
    padding: 0 17px;
    font-size: 11px;
    white-space: nowrap;
  }

  main {
    width: min(1280px, calc(100% - 48px));
    max-width: 1280px;
    margin: 20px auto 32px;
    overflow: hidden;
    border: 1px solid #dce6f1;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(13, 44, 82, .10);
  }

  .hero {
    height: 470px;
    min-height: 470px;
    grid-template-columns: 46% 54%;
  }

  .hero-copy {
    padding: 142px 6px 34px 8px;
  }

  .hero h1 {
    max-width: 650px;
    font-size: 48px;
    line-height: 1.2;
  }

  .hero p {
    max-width: 630px;
    margin: 22px 0;
    font-size: 17px;
    line-height: 1.8;
  }

  .hero-actions {
    margin: 24px 0 28px;
  }

  .hero .btn {
    min-height: 44px;
    padding: 0 20px;
    font-size: 11px;
  }

  .hero-visual {
    min-height: 470px;
  }

  .hero-visual img {
    object-position: var(--slide-media-focus, center bottom);
  }

  .hero-arrow.left { left: 16px; }
  .hero-arrow.right { right: 16px; }

  .section {
    padding: 34px 36px 36px;
  }

  .section-title {
    margin-bottom: 24px;
  }

  .section-title h2 {
    font-size: 23px;
  }

  .product-grid {
    gap: 16px;
  }

  .product-card {
    min-height: 278px;
  }

  .product-visual {
    height: 150px;
  }

  .product-icon {
    width: 44px;
    height: 44px;
    margin-top: -22px;
    border-width: 4px;
  }

  .product-icon svg { width: 19px; }

  .product-card h3 {
    min-height: 42px;
    margin: 13px 0 7px;
    font-size: 11px;
  }

  .product-card small {
    margin-bottom: 14px;
    font-size: 9px;
  }

  .why {
    height: 230px;
    grid-template-columns: 46% 54%;
  }

  .why > img {
    height: 230px;
    min-height: 230px;
  }

  .why-content {
    padding: 30px 42px;
  }

  .why-content h2 {
    margin-bottom: 22px;
    font-size: 23px;
  }

  .feature-grid {
    column-gap: 24px;
    row-gap: 22px;
  }

  .feature-grid span {
    font-size: 11px;
  }

  .feature-grid svg {
    width: 31px;
    height: 31px;
  }

  .stats,
  .stats div {
    min-height: 105px;
  }

  .stats strong { font-size: 34px; }
  .stats span { font-size: 11px; }

  .media-area {
    grid-template-columns: 48% 18% 34%;
    gap: 20px;
    padding: 30px 28px;
  }

  .video-card,
  .logo-panel {
    height: 200px;
  }

  .video-card {
    grid-template-columns: 35% 65%;
    gap: 18px;
  }

  .video-card h2,
  .logo-panel h2 {
    margin-bottom: 12px;
    font-size: 18px;
  }

  .video-card p {
    font-size: 12px;
  }

  .video-thumb,
  .video-thumb img {
    height: 200px;
    min-height: 200px;
  }

  .logo-grid img {
    height: 76px;
    object-fit: cover;
  }

  .cert-grid img {
    height: 108px;
    object-fit: cover;
  }

  .news-support {
    grid-template-columns: 48% 52%;
    gap: 20px;
    padding: 12px 28px 30px;
  }

  .news h2 {
    margin-bottom: 16px;
    font-size: 21px;
  }

  .news-grid a {
    height: 158px;
    min-height: 158px;
    padding: 10px;
  }

  .news-grid a > img {
    width: calc(100% + 20px);
    height: 68px;
    margin: -10px -10px 7px;
  }

  .news-grid strong { font-size: 11px; }
  .news-grid small { font-size: 9px; }

  .support {
    height: 210px;
    min-height: 210px;
    padding: 23px 30px;
  }

  .support h2 { font-size: 25px; }
  .support-icons { margin: 16px 0; }
  .support-icons svg { width: 28px; height: 28px; }
  .support-icons span { font-size: 9px; }
  .support .btn { min-height: 36px; font-size: 10px; }

  .footer {
    width: min(1280px, calc(100% - 48px));
    max-width: 1280px;
    margin: 0 auto 24px;
    gap: 24px;
    padding: 26px 30px;
    border-radius: 8px;
    box-shadow: 0 14px 40px rgba(0, 41, 88, .16);
  }

  .footer-logo {
    width: 160px;
    height: 54px;
  }

  .footer h3 {
    margin-bottom: 10px;
    font-size: 12px;
  }

  .footer a,
  .footer p {
    margin: 5px 0;
    font-size: 10px;
    line-height: 1.45;
  }
}

/* Homepage news widget: match the five-card editorial reference. */
@media (min-width: 901px) {
  .news-support { display: block; padding: 32px 30px 36px; }
  .news-support .news { min-height: 0; padding: 42px 40px 48px; border: 1px solid #edf1f6; border-radius: 20px; background: #fff; box-shadow: 0 16px 40px rgba(20,54,94,.08); }
  .news-support .news > h2 { display: flex; align-items: center; min-height: 58px; margin: 0; padding: 0; border: 0; color: #101b31; font-size: 30px; line-height: 1.1; letter-spacing: 0; }
  .news-support .news > h2::before { width: 58px; height: 58px; margin-right: 22px; border-radius: 17px; background-size: 30px; }
  .news-support .news > h2::after,
  .news-support .news > h2 > svg { display: none; }
  .news-support .news-widget-subtitle { margin: 0 0 30px 80px; padding: 0 0 26px; color: #536681; font-size: 17px; line-height: 1.4; border-bottom: 1px solid #e7edf5; }
  .news-support .news-all-link { position: absolute; top: 54px; right: 40px; display: inline-flex; align-items: center; gap: 15px; min-height: 52px; padding: 0 24px; color: #0867c8; border-radius: 999px; background: #fff; box-shadow: 0 8px 22px rgba(16,55,100,.11); font-size: 16px; font-weight: 700; }
  .news-support .news-grid { grid-template-columns: repeat(var(--news-count, 5), minmax(0, 1fr)); gap: 28px; }
  .news-support .news-grid a,
  .news-support .news-grid a:nth-child(n+3) { display: flex; min-height: 542px; padding: 0 18px 26px; border: 0; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(15,48,89,.09); }
  .news-support .news-grid a > img { width: calc(100% + 36px); height: 198px; margin: 0 -18px 22px; border-radius: 16px 16px 0 0; object-fit: cover; }
  .news-support .news-grid a > time { top: 216px; right: 18px; color: #78879c; font-size: 14px; }
  .news-support .news-grid a > .news-card-category { margin: 0 0 18px; padding: 7px 12px; color: #1768c4; border-radius: 999px; background: #edf5ff; font-size: 12px; font-weight: 700; }
  .news-support .news-grid a > strong { min-height: 76px; color: #111d32; font-size: 18px; line-height: 1.5; }
  .news-support .news-grid a > strong::after { display: none; content: none; }
  .news-support .news-grid a > .news-card-excerpt { margin: 0; color: #64738a; font-size: 16px; line-height: 1.55; }
  .news-support .news-grid a > .news-card-link { display: inline-flex; align-items: center; gap: 12px; margin-top: auto; padding: 0; color: #0867c8; background: transparent; font-size: 16px; font-weight: 700; }
  .news-support .news-grid a > .news-card-link svg { width: 20px; height: 20px; }
  .news-support .news-widget-arrow,
  .news-support .news-widget-dots,
  .news-support .support { display: none; }
}

@media (max-width: 900px) {
  .media-area .video-card { display: none; }
  .news-support .news-all-link { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 20px; color: #0867c8; font-weight: 700; }
  .news-support .news-widget-subtitle { margin: 0 0 20px; color: #536681; }
  .news-support .news-card-excerpt { color: #64738a; line-height: 1.5; }
  .news-support .news-card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: #0867c8; font-weight: 700; }
}

/* References map page. */
.references-page { width:min(1640px,calc(100% - 48px)); margin:0 auto; background:#fff; box-shadow:0 14px 48px rgba(12,46,82,.08); }
.references-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.78fr); gap:30px; align-items:end; padding:54px clamp(22px,4vw,64px) 32px; background:linear-gradient(120deg,#fff 0%,#f5faff 62%,#eaf4ff 100%); border-bottom:1px solid #dfebf6; }
.references-hero h1 { margin:10px 0 12px; color:#071f43; font-size:clamp(34px,4vw,58px); line-height:1; }
.references-hero p { max-width:720px; margin:0; color:#506781; font-size:17px; line-height:1.7; }
.references-hero-copy { max-width:720px; margin-top:16px; color:#516a83; font-size:15px; line-height:1.7; }
.references-hero-copy p { margin:0 0 10px; font-size:inherit; }
.references-hero-copy > :last-child { margin-bottom:0; }
.references-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:hidden; border:1px solid #dce8f4; border-radius:8px; background:rgba(255,255,255,.86); box-shadow:0 18px 42px rgba(0,61,128,.09); backdrop-filter:blur(14px); }
.references-stats span { display:grid; grid-template-columns:48px 1fr; gap:12px; align-items:center; min-height:92px; padding:18px; border-right:1px solid #e2edf7; }
.references-stats span:last-child { border-right:0; }
.references-stats svg { grid-row:1/3; width:26px; height:26px; padding:11px; color:#0057b8; background:#eef6ff; border-radius:50%; box-sizing:content-box; }
.references-stats strong { color:#0057b8; font-size:32px; line-height:1; }
.references-stats small { color:#5b7088; font-size:13px; font-weight:700; }
.references-shell { padding:30px clamp(18px,3vw,48px) 54px; }
.references-tabs { display:flex; gap:10px; margin-bottom:-1px; }
.references-tabs a { display:inline-flex; min-height:58px; align-items:center; gap:10px; padding:0 28px; color:#526a83; border:1px solid #dce8f4; border-bottom:0; border-radius:8px 8px 0 0; background:#f8fbff; font-weight:800; }
.references-tabs a.is-active { color:#0057b8; background:#fff; box-shadow:0 -8px 22px rgba(0,70,140,.05); }
.references-tabs svg { width:20px; height:20px; }
.references-filter { display:grid; grid-template-columns:minmax(260px,1.2fr) minmax(220px,.7fr); gap:14px; margin-bottom:18px; padding:18px; border:1px solid #dce8f4; border-radius:0 8px 8px 8px; background:#fff; box-shadow:0 10px 24px rgba(0,52,105,.05); }
.references-filter label { display:flex; align-items:center; gap:10px; min-height:46px; padding:0 14px; border:1px solid #d7e5f2; border-radius:6px; }
.references-filter label svg { width:18px; height:18px; color:#6181a2; }
.references-filter input,.references-filter select { width:100%; min-height:46px; color:#233d5a; border:0; background:transparent; outline:0; font:inherit; font-weight:700; }
.references-filter select { padding:0 14px; border:1px solid #d7e5f2; border-radius:6px; background:#fff; }
.references-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(390px,.74fr); gap:24px; align-items:start; }
.reference-map-card,.reference-results { border:1px solid #d8e7f4; border-radius:8px; background:#fff; box-shadow:0 22px 60px rgba(0,50,110,.09); }
.reference-map-card { padding:20px; }
.reference-map { position:relative; min-height:560px; overflow:hidden; border-radius:8px; background:linear-gradient(180deg,#f2f8ff 0%,#e8f3ff 100%); }
.reference-map-surface { position:absolute; inset:8% 5%; opacity:.9; filter:drop-shadow(0 22px 22px rgba(42,93,140,.1)); }
.reference-map.is-turkey .reference-map-surface { clip-path:polygon(3% 38%,13% 29%,26% 33%,38% 25%,50% 34%,64% 30%,78% 37%,96% 36%,91% 53%,78% 59%,66% 57%,56% 70%,44% 62%,31% 67%,20% 57%,7% 60%); background:linear-gradient(135deg,#dbeaf8,#c7ddf0); }
.reference-map.is-world .reference-map-surface { clip-path:ellipse(44% 30% at 52% 49%); background:radial-gradient(circle at 28% 42%,#cde1f3 0 13%,transparent 14%),radial-gradient(circle at 54% 42%,#cde1f3 0 19%,transparent 20%),radial-gradient(circle at 70% 56%,#cde1f3 0 13%,transparent 14%); }
.reference-map::before,.reference-map::after { position:absolute; inset:14% 8%; content:""; border:1px dashed rgba(0,87,184,.13); border-radius:50%; transform:rotateX(64deg); }
.reference-map::after { inset:23% 22%; opacity:.65; }
.reference-map.is-svg-map { display:grid; min-height:0; padding:18px; place-items:center; background:linear-gradient(180deg,#f7fbff 0%,#eaf4ff 100%); }
.reference-map.is-svg-map::before,.reference-map.is-svg-map::after { display:none; }
.reference-turkey-svg { position:relative; z-index:1; display:block; width:100%; max-width:980px; height:auto; filter:drop-shadow(0 24px 30px rgba(0,50,110,.1)); }
.reference-turkey-svg .reference-province { cursor:pointer; outline:0; }
.reference-turkey-svg .reference-province path { fill:#d6e6f5; stroke:#fff; stroke-width:1.15; transition:fill .18s ease,filter .18s ease,transform .18s ease; }
.reference-turkey-svg .reference-province.has-reference path { fill:#0057b8; }
.reference-turkey-svg .reference-province.no-reference path { fill:#c9dceb; }
.reference-turkey-svg .reference-province.is-active path { fill:#003f88; filter:drop-shadow(0 6px 10px rgba(0,63,136,.3)); }
.reference-turkey-svg .reference-province:hover path,.reference-turkey-svg .reference-province:focus path { fill:#0b72d9; filter:drop-shadow(0 7px 12px rgba(0,87,184,.25)); }
.reference-world-svg { position:relative; z-index:1; display:block; width:100%; max-width:1000px; height:auto; filter:drop-shadow(0 24px 30px rgba(0,50,110,.1)); }
.reference-world-svg .reference-country { fill:#c9dceb; stroke:#fff; stroke-width:.75; cursor:pointer; outline:0; transition:fill .18s ease,filter .18s ease; }
.reference-world-svg .reference-country.has-reference { fill:#0057b8; }
.reference-world-svg .reference-country.is-active { fill:#003f88; filter:drop-shadow(0 5px 9px rgba(0,63,136,.3)); }
.reference-world-svg .reference-country:hover,.reference-world-svg .reference-country:focus { fill:#0b72d9; filter:drop-shadow(0 6px 10px rgba(0,87,184,.22)); }
.reference-map-legend { position:absolute; right:16px; bottom:14px; z-index:2; display:flex; flex-wrap:wrap; gap:10px; padding:8px 10px; border:1px solid rgba(0,87,184,.13); border-radius:8px; background:rgba(255,255,255,.88); box-shadow:0 10px 24px rgba(0,50,110,.08); backdrop-filter:blur(10px); }
.reference-map-legend span { display:inline-flex; align-items:center; gap:7px; color:#496b8c; font-size:12px; font-weight:800; }
.reference-map-legend i { display:block; width:12px; height:12px; border-radius:3px; background:#c9dceb; }
.reference-map-legend i.has-reference { background:#0057b8; }
.reference-map-tooltip { position:fixed; z-index:9999; max-width:220px; padding:8px 11px; color:#fff; border:1px solid rgba(255,255,255,.18); border-radius:8px; background:rgba(5,32,72,.92); box-shadow:0 12px 30px rgba(0,32,72,.22); font-size:12px; font-weight:850; line-height:1.35; pointer-events:none; opacity:0; transform:translateY(4px); transition:opacity .14s ease,transform .14s ease; backdrop-filter:blur(10px); }
.reference-map-tooltip.is-visible { opacity:1; transform:translateY(0); }
.reference-map-pin { position:absolute; left:var(--x); top:var(--y); z-index:2; display:flex; align-items:center; gap:8px; color:#0b4381; transform:translate(-50%,-50%); text-decoration:none; }
.reference-map-pin span { display:grid; width:34px; height:34px; place-items:center; color:#fff; border:3px solid #fff; border-radius:50%; background:#0057b8; box-shadow:0 10px 24px rgba(0,87,184,.28); font-size:12px; font-weight:900; }
.reference-map-pin b { max-width:130px; padding:6px 10px; border:1px solid rgba(0,87,184,.14); border-radius:999px; background:rgba(255,255,255,.9); box-shadow:0 8px 20px rgba(0,50,110,.08); font-size:12px; white-space:nowrap; }
.reference-map-pin.is-active span { background:#003f88; box-shadow:0 0 0 8px rgba(0,87,184,.13),0 12px 28px rgba(0,87,184,.32); }
.reference-map-empty { position:absolute; inset:0; display:grid; place-items:center; color:#5d7690; font-weight:800; }
.reference-results { padding:24px; }
.reference-results header { margin-bottom:18px; padding-bottom:16px; border-bottom:1px solid #e3edf6; }
.reference-results header span { color:#0057b8; font-size:12px; font-weight:900; text-transform:uppercase; }
.reference-results h2 { margin:6px 0 0; color:#082145; font-size:27px; line-height:1.15; }
.reference-card-list { display:grid; gap:14px; }
.reference-card { display:grid; grid-template-columns:132px minmax(0,1fr); gap:16px; padding:12px; border:1px solid #dfeaf4; border-radius:8px; background:linear-gradient(180deg,#fff 0%,#f8fbff 100%); box-shadow:0 8px 22px rgba(0,52,105,.05); }
.reference-card[hidden] { display:none; }
.reference-card img,.reference-card-placeholder { display:grid; width:132px; height:104px; place-items:center; object-fit:cover; border-radius:7px; background:#eef5fc; }
.reference-card-placeholder svg { width:28px; height:28px; color:#7a9bbb; }
.reference-card-institution { display:inline-flex; max-width:100%; margin-bottom:7px; color:#0057b8; font-size:12px; font-weight:900; line-height:1.3; }
.reference-card strong { display:block; margin-bottom:10px; color:#071f43; font-size:16px; line-height:1.35; }
.reference-card dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:0; }
.reference-card dt { color:#0057b8; font-size:11px; font-weight:900; }
.reference-card dd { margin:3px 0 0; color:#4e647d; font-size:12px; line-height:1.35; }
.reference-card p { margin:12px 0 0; color:#627891; font-size:13px; line-height:1.5; }
.reference-empty { display:grid; min-height:260px; place-items:center; color:#668098; text-align:center; }
.reference-empty svg { width:42px; height:42px; color:#9cb7d0; }
@media (max-width:1050px) { .references-hero,.references-layout { grid-template-columns:1fr; }.references-stats { max-width:720px; }.reference-map { min-height:430px; } }
@media (max-width:640px) { .references-page { width:100%; box-shadow:none; }.references-hero { padding:34px 18px 24px; }.references-hero p { font-size:14px; }.references-stats { grid-template-columns:1fr; }.references-stats span { min-height:76px; border-right:0; border-bottom:1px solid #e2edf7; }.references-tabs { display:grid; grid-template-columns:1fr 1fr; }.references-tabs a { justify-content:center; min-height:50px; padding:0 10px; }.references-filter { grid-template-columns:1fr; padding:14px; }.reference-map-card { padding:10px; }.reference-map { min-height:360px; }.reference-map.is-svg-map { min-height:0; padding:8px; }.reference-map-legend { position:relative; right:auto; bottom:auto; justify-content:center; width:100%; margin-top:8px; }.reference-map-pin b { display:none; }.reference-results { padding:16px; }.reference-card { grid-template-columns:92px minmax(0,1fr); gap:12px; }.reference-card img,.reference-card-placeholder { width:92px; height:86px; }.reference-card dl { grid-template-columns:1fr; gap:7px; } }

/* Mobile homepage slider: product-first visual with a readable glass panel. */
@media (max-width: 900px) {
  .hero {
    display: flex;
    box-sizing: border-box;
    height: calc(100svh - 65px);
    min-height: 680px;
    max-height: 790px;
    padding: 12px 16px 112px;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
    background:
      radial-gradient(circle at 78% 12%, rgba(0, 87, 184, .10), transparent 30%),
      linear-gradient(180deg, #ffffff 0%, #f1f8ff 100%);
  }

  .hero::before {
    content: "";
    position: absolute;
    inset: 8% -28% auto;
    height: 42%;
    opacity: .46;
    background:
      linear-gradient(115deg, transparent 0 42%, rgba(0, 87, 184, .08) 42% 43%, transparent 43% 100%),
      repeating-linear-gradient(170deg, rgba(0, 87, 184, .07) 0 1px, transparent 1px 18px);
    pointer-events: none;
  }

  .hero::after {
    display: none;
  }

  .hero.is-media-left .hero-visual,
  .hero.is-media-full .hero-visual,
  .hero-visual {
    position: relative;
    inset: auto;
    order: 1;
    min-height: 0;
    height: clamp(240px, 36svh, 330px);
    margin: 0;
    background: transparent;
  }

  .hero-visual::before,
  .hero.is-media-full .hero-visual::before {
    display: none;
  }

  .hero-visual img,
  .hero-visual video,
  .hero-visual iframe,
  .hero.is-media-full .hero-visual img,
  .hero.is-media-full .hero-visual video,
  .hero.is-media-full .hero-visual iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    opacity: 1;
    filter: drop-shadow(0 18px 28px rgba(9, 41, 78, .16));
  }

  .hero-copy,
  .hero.is-content-custom .hero-copy,
  .hero.is-media-full .hero-copy {
    position: relative;
    inset: auto;
    z-index: 4;
    order: 2;
    width: auto;
    min-height: 0;
    margin: -4px 0 0;
    padding: 18px;
    text-align: left;
    border: 1px solid rgba(211, 229, 246, .86);
    border-radius: 8px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 22px 48px rgba(15, 55, 96, .13);
    backdrop-filter: blur(16px);
  }

  .hero h1,
  .hero.is-content-right .hero-copy h1 {
    max-width: none;
    margin: 0;
    color: #071f43;
    font-size: clamp(24px, 6.8vw, 30px);
    line-height: 1.08;
    letter-spacing: 0;
    text-align: left;
    transform: none;
  }

  .hero p,
  .hero.is-content-right .hero-copy p {
    max-width: none;
    display: -webkit-box;
    margin: 11px 0 0;
    overflow: hidden;
    color: #536780;
    font-size: 14px;
    line-height: 1.45;
    text-align: left;
    transform: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .hero-actions,
  .hero.is-content-right .hero-actions,
  .hero[data-button-position-mode="custom"] .hero-actions {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 15px 0 0;
    transform: none;
  }

  .hero-actions .btn,
  .hero .btn {
    width: auto;
    min-height: 46px;
    justify-content: center;
    padding: 0 14px;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.2;
    white-space: normal;
  }

  .hero-actions .btn:only-child {
    grid-column: 1 / -1;
  }

  .hero > .trust-badges {
    display: none;
  }

  .hero-arrow {
    position: absolute;
    z-index: 8;
    bottom: 58px;
    top: auto;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    color: #0057b8;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 26px rgba(12, 54, 99, .14);
  }

  .hero-arrow.left {
    left: 24px;
  }

  .hero-arrow.right {
    right: 24px;
  }

  .hero-arrow svg {
    width: 22px;
    height: 22px;
  }

  .slider-dots {
    position: absolute;
    left: 50%;
    bottom: 74px;
    z-index: 7;
    display: flex;
    align-items: center;
    gap: 13px;
    transform: translateX(-50%);
  }

  .slider-dots::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 30px;
    width: min(220px, 48vw);
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #0057b8 0 38%, #d9e3ee 38% 100%);
    transform: translateX(-50%);
  }

  .slider-dots span,
  .slider-dots button {
    display: block;
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #d6dee8;
  }

  .slider-dots span.active,
  .slider-dots button.active {
    background: #0057b8;
  }
}

@media (max-width: 420px) {
  .hero {
    padding-right: 12px;
    padding-left: 12px;
  }

  .hero-copy,
  .hero.is-content-custom .hero-copy,
  .hero.is-media-full .hero-copy {
    padding: 20px 18px;
  }

  .hero-actions,
  .hero.is-content-right .hero-actions,
  .hero[data-button-position-mode="custom"] .hero-actions {
    grid-template-columns: 1fr;
  }
}

.mobile-action-bar { display: none; }

/* Final mobile bottom action bar. */
@media (max-width: 900px) {
  html,
  body {
    padding-bottom: calc(74px + env(safe-area-inset-bottom));
  }

  .mobile-action-bar {
    position: fixed;
    z-index: 96;
    right: max(10px, env(safe-area-inset-right));
    bottom: max(8px, env(safe-area-inset-bottom));
    left: max(10px, env(safe-area-inset-left));
    display: grid;
    min-height: 58px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px;
    padding: 6px;
    border: 1px solid rgba(196,216,235,.88);
    border-radius: 12px;
    background: rgba(255,255,255,.98);
    box-shadow: 0 16px 38px rgba(5,34,68,.18);
    backdrop-filter: blur(12px);
  }

  .mobile-action-bar a,
  .mobile-action-bar button {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 46px;
    place-items: center;
    gap: 3px;
    padding: 4px 2px;
    color: #0b376b;
    border: 0;
    border-radius: 8px;
    background: transparent;
    font: inherit;
    font-size: 10px;
    font-weight: 850;
    line-height: 1.05;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
  }

  .mobile-action-bar a:hover,
  .mobile-action-bar button:hover,
  .mobile-action-bar a:focus-visible,
  .mobile-action-bar button:focus-visible {
    color: var(--primary);
    background: #edf6ff;
  }

  .mobile-action-bar svg {
    width: 20px;
    height: 20px;
  }

  .mobile-action-bar span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .mobile-action-bar [data-quote-count] {
    position: absolute;
    top: 2px;
    right: 10px;
    display: grid;
    min-width: 18px;
    height: 18px;
    place-items: center;
    padding: 0 5px;
    color: #fff;
    border-radius: 999px;
    background: #e12a35;
    font-size: 10px;
    font-weight: 900;
  }

  .quote-list-dock,
  .quick-contact-toggle {
    display: none !important;
  }

  .quick-contact-widget {
    bottom: calc(78px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 430px) {
  .mobile-action-bar {
    right: max(8px, env(safe-area-inset-right));
    left: max(8px, env(safe-area-inset-left));
    min-height: 56px;
    padding: 5px;
    border-radius: 11px;
  }

  .mobile-action-bar a,
  .mobile-action-bar button {
    min-height: 44px;
    font-size: 9px;
  }
}

/* Footer settings: selectable mobile quick-menu appearances. */
@media (max-width: 900px) {
  .mobile-action-bar.is-style-colorful a,
  .mobile-action-bar.is-style-colorful button {
    color: #fff;
    border-radius: 8px;
  }
  .mobile-action-bar.is-style-colorful > :nth-child(1) { background: #1479d3; }
  .mobile-action-bar.is-style-colorful > :nth-child(2) { background: #e8a11a; }
  .mobile-action-bar.is-style-colorful > :nth-child(3) { background: #25d366; }
  .mobile-action-bar.is-style-colorful > :nth-child(4) { background: #123f73; }
  .mobile-action-bar.is-style-colorful a:hover,
  .mobile-action-bar.is-style-colorful button:hover,
  .mobile-action-bar.is-style-colorful a:focus-visible,
  .mobile-action-bar.is-style-colorful button:focus-visible {
    color: #fff;
    background-image: linear-gradient(rgba(0,0,0,.1), rgba(0,0,0,.1));
  }

  .mobile-action-bar.is-style-whatsapp > :nth-child(3) {
    color: #fff;
    background: #25d366;
  }
  .mobile-action-bar.is-style-whatsapp > :nth-child(3):hover,
  .mobile-action-bar.is-style-whatsapp > :nth-child(3):focus-visible {
    color: #fff;
    background: #159947;
  }

  .mobile-action-bar.is-style-minimal > :nth-child(3) {
    color: #087a31;
  }
  .mobile-action-bar.is-style-minimal > :nth-child(3) svg {
    box-sizing: content-box;
    padding: 6px;
    color: #fff;
    border-radius: 999px;
    background: #25d366;
  }
}

/* Final mobile hardening: prevent horizontal drift and keep quick contact usable on phones. */
@media (max-width: 900px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  img,
  video,
  iframe,
  model-viewer {
    max-width: 100%;
  }

  .quick-contact-widget {
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    left: auto !important;
    width: min(336px, calc(100vw - 20px)) !important;
    max-width: calc(100vw - 20px) !important;
    align-items: flex-end;
    gap: 8px;
  }

  .quick-contact-widget.is-left {
    right: auto !important;
    left: max(10px, env(safe-area-inset-left)) !important;
    align-items: flex-start;
  }

  .quick-contact-panel {
    width: 100%;
    max-height: min(72vh, 520px);
    overflow: hidden auto;
    border-radius: 10px;
    -webkit-overflow-scrolling: touch;
  }

  .quick-contact-panel > header {
    min-height: 64px;
    padding: 13px 14px;
  }

  .quick-contact-panel > header strong,
  .quick-contact-panel > header small,
  .quick-contact-panel nav a > b,
  .quick-contact-panel nav a > small {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .quick-contact-panel nav a {
    min-height: 58px;
    grid-template-columns: 36px minmax(0, 1fr) 14px;
    column-gap: 10px;
    padding: 8px 13px;
  }

  .quick-contact-panel nav a > span {
    width: 36px;
    height: 36px;
  }

  .quick-contact-panel nav a > span svg {
    width: 18px;
    height: 18px;
  }

  .quick-contact-panel nav a > small {
    white-space: normal;
  }

  .quick-contact-toggle {
    min-height: 48px;
    max-width: calc(100vw - 20px);
    padding: 0 12px;
    gap: 8px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 1;
    white-space: nowrap;
  }

  .quick-contact-toggle > svg {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
  }

  .quick-contact-toggle span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .quote-list-dock {
    right: max(10px, env(safe-area-inset-right)) !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    min-height: 48px;
    padding: 5px 7px;
    border-radius: 10px;
    z-index: 94;
  }

  .quote-list-dock > span {
    width: 36px;
    height: 36px;
  }

  .quote-list-dock > span svg {
    width: 19px;
    height: 19px;
  }

  .quote-list-dock b {
    min-width: 28px;
    height: 28px;
  }

  .nav-links > a,
  .nav-links > .nav-dropdown > summary {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    box-sizing: border-box;
    padding: 13px !important;
    color: #102d4f;
    line-height: 1.2;
  }

  .nav-links > .nav-dropdown {
    width: 100%;
  }

  .nav-links > .nav-dropdown:not([open]) > .nav-submenu {
    display: none !important;
  }

  .nav-links > .nav-dropdown > summary svg {
    flex: 0 0 auto;
    margin-left: auto;
  }
}

@media (max-width: 430px) {
  .navbar {
    padding-right: 12px;
    padding-left: 12px;
  }

  .nav-links {
    right: 10px;
    left: 10px;
    max-height: calc(100vh - 88px);
    overflow: auto;
  }

  .nav-links > a,
  .nav-links > .nav-dropdown > summary {
    display: flex;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    box-sizing: border-box;
    padding: 13px !important;
    color: #102d4f;
    line-height: 1.2;
  }

  .nav-links > .nav-dropdown {
    width: 100%;
  }

  .nav-links > .nav-dropdown:not([open]) > .nav-submenu {
    display: none !important;
  }

  .nav-links > .nav-dropdown > summary svg {
    flex: 0 0 auto;
    margin-left: auto;
  }

  .quick-contact-widget {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    right: max(8px, env(safe-area-inset-right)) !important;
  }

  .quick-contact-widget.is-left {
    left: max(8px, env(safe-area-inset-left)) !important;
  }

  .quick-contact-toggle {
    min-height: 46px;
    padding: 0 11px;
    font-size: 12px;
  }

  .quick-contact-panel {
    max-height: min(70vh, 480px);
  }

  .contact-layout {
    width: calc(100% - 20px);
    margin-right: auto;
    margin-left: auto;
    padding: 22px 14px;
  }

  .contact-info,
  .request-form {
    padding: 18px 14px;
  }
}

/* RST logo loader, enabled from the admin settings screen. */
.rst-site-loader {
  position: fixed;
  z-index: 9999;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: radial-gradient(circle at 50% 46%, #ffffff 0 30%, #eef7ff 72%, #e5f2fb 100%);
  opacity: 1;
  visibility: visible;
  transition: opacity .38s ease, visibility .38s ease;
}
.rst-site-loader.is-done { opacity: 0; visibility: hidden; }
.rst-loader-mark {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .02em;
  color: var(--rst-loader-primary, #075b88);
  font-family: Quicksand, Arial, sans-serif;
  font-size: clamp(calc(29px * var(--rst-loader-scale, 1)), calc(4.59vw * var(--rst-loader-scale, 1)), calc(60px * var(--rst-loader-scale, 1)));
  font-weight: 800;
  letter-spacing: 0;
  line-height: .8;
  filter: drop-shadow(0 8px 14px color-mix(in srgb, var(--rst-loader-primary, #075b88) 22%, transparent));
}
.rst-loader-mark::before,
.rst-loader-mark::after {
  position: absolute;
  z-index: -1;
  right: -14%;
  left: -14%;
  height: 5px;
  content: "";
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--rst-loader-primary, #075b88) 24%, transparent), color-mix(in srgb, var(--rst-loader-accent, #ef1822) 30%, transparent), transparent);
  animation: rstLoaderStreak 1.18s cubic-bezier(.45, 0, .18, 1) infinite;
}
.rst-loader-mark::before { top: 34%; }
.rst-loader-mark::after { bottom: 22%; animation-duration: .86s; animation-delay: -.24s; }
.rst-loader-mark span {
  display: block;
  min-width: .72em;
  transform-origin: center;
  animation: rstLoaderColor 1.72s cubic-bezier(.6, 0, .18, 1) infinite;
  animation-delay: calc(var(--rst-letter-index, 0) * .14s);
}
.rst-loader-ring {
  position: absolute;
  width: clamp(calc(99px * var(--rst-loader-scale, 1)), calc(14.54vw * var(--rst-loader-scale, 1)), calc(199px * var(--rst-loader-scale, 1)));
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    repeating-conic-gradient(from -25deg, color-mix(in srgb, var(--rst-loader-primary, #075b88) 20%, transparent) 0deg 3deg, transparent 3deg 9deg),
    conic-gradient(from 0deg, color-mix(in srgb, var(--rst-loader-accent, #ef1822) 92%, transparent), transparent 26%, color-mix(in srgb, var(--rst-loader-secondary, #004f83) 54%, transparent), transparent 68%, color-mix(in srgb, var(--rst-loader-accent, #ef1822) 74%, transparent));
  mask: radial-gradient(circle, transparent 0 66%, #000 67% 72%, transparent 73%);
  opacity: .76;
  animation: rstLoaderRing 1.45s cubic-bezier(.62, 0, .16, 1) infinite;
}
@keyframes rstLoaderColor {
  0%, 22% { color: var(--rst-loader-primary, #075b88); text-shadow: 0 0 0 transparent; transform: translateY(0) scale(1); }
  36% { color: var(--rst-loader-accent, #ef1822); text-shadow: 0 0 12px color-mix(in srgb, var(--rst-loader-accent, #ef1822) 34%, transparent); transform: translateY(-1px) scale(1.025); }
  58% { color: var(--rst-loader-secondary, #004f83); text-shadow: 0 0 10px color-mix(in srgb, var(--rst-loader-secondary, #004f83) 30%, transparent); transform: translateY(0) scale(1); }
  78%, 100% { color: var(--rst-loader-primary, #075b88); text-shadow: 0 0 0 transparent; transform: translateY(0) scale(1); }
}
@keyframes rstLoaderRing {
  0% { transform: rotate(0deg) scale(.96); filter: blur(.1px); }
  45% { transform: rotate(138deg) scale(1); filter: blur(0); }
  100% { transform: rotate(360deg) scale(.96); filter: blur(.1px); }
}
@keyframes rstLoaderStreak {
  0% { transform: translateX(-34%) scaleX(.28); opacity: 0; }
  34% { opacity: .72; }
  100% { transform: translateX(34%) scaleX(1); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .rst-loader-mark span,
  .rst-loader-ring,
  .rst-loader-mark::before,
  .rst-loader-mark::after { animation: none; }
}

/* Persistent multi-product quote list */
.catalog-product-card { position: relative; }
.catalog-product-main-link { display: block; }
.catalog-product-card h3 a { color: inherit; text-decoration: none; }
.catalog-product-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; }
.catalog-product-actions > button { display: inline-grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; padding: 0; color: var(--primary); border: 1px solid #c9dcf1; border-radius: 5px; background: #f5f9ff; cursor: pointer; transition: color .2s ease, background .2s ease, border-color .2s ease; }
.catalog-product-actions > button:hover { color: #fff; border-color: var(--primary); background: var(--primary); }
.catalog-product-actions svg { width: 18px; height: 18px; }
.quote-list-dock { position: fixed; z-index: 74; right: 26px; bottom: 92px; display: flex; align-items: center; min-height: 52px; padding: 6px 8px 6px 7px; color: #fff; border: 1px solid rgba(255,255,255,.2); border-radius: 6px; background: #073b78; box-shadow: 0 14px 35px rgba(4,35,71,.24); cursor: pointer; opacity: 0; pointer-events: none; transform: translate3d(0,10px,0); transition: opacity .2s ease, transform .2s ease; }
.quote-list-dock.is-visible { opacity: 1; pointer-events: auto; transform: translate3d(0,0,0); }
@media (min-width: 901px) {
  body[data-product-compare-enabled="0"][data-product-favorites-enabled="0"] .quote-list-dock {
    bottom: 22px;
  }
}
.quote-list-dock > span { display: grid; width: 38px; height: 38px; place-items: center; border-right: 1px solid rgba(255,255,255,.2); }
.quote-list-dock > span svg { width: 20px; height: 20px; }
.quote-list-dock strong { padding: 0 12px; font-size: 13px; }
.quote-list-dock b { display: grid; min-width: 28px; height: 28px; place-items: center; color: #073b78; border-radius: 4px; background: #fff; font-size: 12px; }
.quote-list-dock.has-items b { color: #fff; background: #e12a35; }
.quote-list-modal { width: min(1080px,calc(100% - 34px)); max-width: none; max-height: min(850px,calc(100vh - 34px)); padding: 0; color: #071b3d; border: 0; border-radius: 7px; background: #fff; box-shadow: 0 34px 90px rgba(3,30,62,.34); }
.quote-list-modal::backdrop { background: rgba(5,24,47,.66); backdrop-filter: blur(5px); }
.quote-list-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 25px 28px 22px; border-bottom: 1px solid #dce7f2; background: #f5f9fe; }
.quote-list-modal-head span { color: var(--primary); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.quote-list-modal-head h2 { margin: 5px 0 4px; font-size: 27px; line-height: 1.15; }
.quote-list-modal-head p { margin: 0; color: #60728a; font-size: 14px; }
.quote-list-modal-head > button { display: grid; flex: 0 0 40px; width: 40px; height: 40px; place-items: center; padding: 0; color: #34516f; border: 1px solid #cfdeec; border-radius: 50%; background: #fff; cursor: pointer; }
.quote-list-layout { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(340px,.82fr); max-height: calc(100vh - 180px); overflow: auto; }
.quote-list-products,.quote-list-form { padding: 24px 28px 28px; }
.quote-list-products { border-right: 1px solid #e0e9f2; }
.quote-list-products > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; }
.quote-list-products > header strong,.quote-list-form h3 { font-size: 17px; }
.quote-list-products > header button { padding: 0; color: #b3212c; border: 0; background: transparent; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.quote-list-item { position: relative; display: grid; grid-template-columns: 90px minmax(0,1fr) auto 34px; align-items: center; gap: 14px; min-height: 112px; padding: 12px 8px 12px 0; border-top: 1px solid #e2eaf2; }
.quote-list-item:last-child { border-bottom: 1px solid #e2eaf2; }
.quote-list-image { display: grid; width: 90px; height: 82px; place-items: center; padding: 7px; overflow: hidden; border: 1px solid #dbe6f0; border-radius: 5px; background: #fff; }
.quote-list-image img { width: 100%; height: 100%; object-fit: contain; }
.quote-list-image svg { color: #82a3c7; }
.quote-list-item-copy { min-width: 0; }
.quote-list-item-copy small { display: block; margin-bottom: 3px; color: #70839a; font-size: 10px; font-weight: 700; }
.quote-list-item-copy > a { display: block; overflow: hidden; color: #09264b; font-size: 14px; font-weight: 750; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.quote-list-item-copy input { width: 100%; height: 32px; margin-top: 8px; padding: 0 9px; color: #405774; border: 1px solid #dbe5ef; border-radius: 4px; background: #f9fbfd; font: inherit; font-size: 11px; }
.quote-quantity > span { display: block; margin-bottom: 5px; color: #71839a; font-size: 10px; text-align: center; }
.quote-quantity > div { display: grid; grid-template-columns: 30px 40px 30px; height: 34px; overflow: hidden; border: 1px solid #cad9e8; border-radius: 4px; }
.quote-quantity button,.quote-quantity input { display: grid; width: 100%; height: 100%; min-width: 0; place-items: center; padding: 0; color: #174a82; border: 0; background: #f3f8fd; font: inherit; text-align: center; }
.quote-quantity input { border-right: 1px solid #d7e2ed; border-left: 1px solid #d7e2ed; background: #fff; appearance: textfield; }
.quote-quantity svg { width: 13px; height: 13px; }
.quote-list-remove { display: grid; width: 32px; height: 32px; place-items: center; padding: 0; color: #a02b34; border: 0; border-radius: 4px; background: #fff3f4; cursor: pointer; }
.quote-list-remove svg { width: 15px; height: 15px; }
.quote-list-empty { padding: 55px 20px; color: #62778f; text-align: center; }
.quote-list-empty > svg { width: 42px; height: 42px; color: #5b95d2; }
.quote-list-empty h3 { margin: 12px 0 5px; color: #0b2d55; }
.quote-list-empty p { max-width: 360px; margin: 0 auto 16px; font-size: 13px; }
.quote-list-empty a { color: var(--primary); font-size: 13px; font-weight: 750; }
.quote-list-form { background: #fbfdff; }
.quote-list-form h3 { margin: 0 0 18px; }
.quote-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.quote-list-form label { display: grid; gap: 6px; margin-bottom: 14px; color: #183858; font-size: 12px; font-weight: 700; }
.quote-list-form input,.quote-list-form textarea { width: 100%; padding: 11px 12px; color: #102d4f; border: 1px solid #cad9e8; border-radius: 5px; background: #fff; font: inherit; font-weight: 400; }
.quote-list-form textarea { resize: vertical; }
.quote-honeypot { position: absolute !important; left: -9999px !important; }
.quote-form-assurance { display: flex; align-items: center; gap: 7px; margin: 3px 0 16px; color: #687d94; font-size: 11px; }
.quote-form-assurance svg { width: 15px; height: 15px; color: #27865b; }
.quote-submit { width: 100%; justify-content: center; }
.compare-toolbar-actions { display: flex; align-items: center; gap: 8px; }
.compare-toolbar-actions button,.compare-toolbar-actions a { display: inline-flex; align-items: center; gap: 7px; }
.compare-toolbar-actions button { min-height: 38px; padding: 0 13px; color: #fff; border: 1px solid var(--primary); border-radius: 4px; background: var(--primary); font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }

@media (max-width:760px) {
  .quote-list-dock { right: 14px; bottom: 76px; }
  .quote-list-dock strong { display: none; }
  .quote-list-modal { width: 100%; max-height: calc(100vh - 12px); margin: auto 0 0; border-radius: 7px 7px 0 0; }
  .quote-list-modal-head { padding: 19px 18px 16px; }
  .quote-list-modal-head h2 { font-size: 23px; }
  .quote-list-modal-head p { font-size: 12px; }
  .quote-list-layout { display: block; max-height: calc(100vh - 128px); }
  .quote-list-products,.quote-list-form { padding: 18px; }
  .quote-list-products { border-right: 0; border-bottom: 1px solid #e0e9f2; }
  .quote-list-item { grid-template-columns: 68px minmax(0,1fr) 32px; gap: 10px; }
  .quote-list-image { width: 68px; height: 68px; }
  .quote-quantity { grid-column: 2 / 4; display: flex; align-items: center; justify-content: space-between; }
  .quote-quantity > span { margin: 0; }
  .quote-list-remove { grid-column: 3; grid-row: 1; }
  .quote-form-grid { grid-template-columns: 1fr; gap: 0; }
  .compare-toolbar-actions { width: 100%; flex-wrap: wrap; }
}

/* Final corporate footer: balanced columns, clear contact details and legal bar. */
.footer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(250px, 1.45fr) repeat(3, minmax(145px, .72fr)) minmax(280px, 1.2fr);
  gap: clamp(28px, 3vw, 58px);
  padding: 44px clamp(28px, 4vw, 68px) 0;
  overflow: hidden;
  color: #fff;
  border-radius: 8px 8px 0 0;
  background-color: var(--footer-bg, #032c5b);
  background-image:
    linear-gradient(rgba(2, 31, 67, var(--footer-overlay, 0)), rgba(2, 31, 67, var(--footer-overlay, 0))),
    var(--footer-image, none),
    linear-gradient(115deg, rgba(13, 91, 171, .2), transparent 34%);
  background-position: center, var(--footer-position, center), center;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: 0 18px 52px rgba(2, 28, 61, .2);
}

.footer::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 3px;
  content: "";
  background: linear-gradient(90deg, #e5242a 0 9%, #fff 9% 12%, var(--footer-accent, #4aa7f5) 12% 100%);
}

.footer > div { min-width: 0; }

.footer-brand {
  padding-right: clamp(0px, 2vw, 28px);
}

.footer-logo {
  display: block;
  width: 190px;
  height: 54px;
  margin: 0 0 20px;
  object-fit: contain;
}

.footer .footer-brand p {
  max-width: 310px;
  margin: 0;
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
  line-height: 1.75;
}

.footer-trust {
  display: grid;
  max-width: 410px;
  gap: 16px;
  margin-top: 28px;
}

.footer-trust-head {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}

.footer-trust-head > svg {
  width: 58px;
  height: 58px;
  color: var(--footer-accent, #4aa7f5);
  stroke-width: 1.8;
}

.footer-trust-head strong,
.footer-trust-head span {
  display: block;
}

.footer-trust-head strong {
  color: #fff;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.25;
}

.footer-trust-head span {
  max-width: 290px;
  margin-top: 6px;
  color: rgba(255, 255, 255, .76);
  font-size: 12px;
  line-height: 1.55;
}

.footer-trust-badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.footer-trust-badges span {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 76px;
  place-items: center;
  overflow: hidden;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(0, 24, 58, .16);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.footer-trust-badges span::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(110deg, transparent 0%, rgba(74, 167, 245, .2) 46%, transparent 78%);
  opacity: 0;
  transform: translateX(-70%);
  transition: opacity .24s ease, transform .55s ease;
}

.footer-trust-badges img {
  display: block;
  width: 100%;
  height: 58px;
  object-fit: contain;
  transition: transform .24s ease, filter .24s ease;
}

.footer-trust-badges span:hover {
  border-color: rgba(74, 167, 245, .72);
  box-shadow: 0 16px 34px rgba(0, 87, 184, .28), 0 0 0 1px rgba(74, 167, 245, .16);
  transform: translateY(-4px);
}

.footer-trust-badges span:hover::after {
  opacity: 1;
  transform: translateX(70%);
}

.footer-trust-badges span:hover img {
  filter: saturate(1.06) contrast(1.02);
  transform: scale(1.045);
}

.footer h3 {
  position: relative;
  margin: 3px 0 22px;
  padding-bottom: 12px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.footer h3::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  content: "";
  border-radius: 2px;
  background: var(--footer-accent, #4aa7f5);
}

.footer-column nav {
  display: grid;
  gap: 11px;
}

.footer a,
.footer-contact > span {
  margin: 0;
  color: rgba(255, 255, 255, .74);
  font-size: 12px;
  line-height: 1.55;
}

.footer-column a {
  position: relative;
  width: max-content;
  max-width: 100%;
  padding-left: 13px;
  transition: color .18s ease, transform .18s ease;
}

.footer-column a::before {
  position: absolute;
  top: .68em;
  left: 0;
  width: 4px;
  height: 4px;
  content: "";
  border-radius: 50%;
  background: #5eb1f6;
}

.footer-column a:hover {
  color: #fff;
  transform: translateX(3px);
}

.footer-contact {
  display: grid;
  align-content: start;
  gap: 14px;
}

.footer-contact > span,
.footer-contact > a {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
}

.footer-contact svg {
  width: 30px;
  height: 30px;
  padding: 7px;
  color: #8acbff;
  border: 1px solid rgba(138, 203, 255, .22);
  border-radius: 6px;
  background: rgba(255, 255, 255, .06);
}

.footer-contact a {
  transition: color .18s ease;
}

.footer-contact a:hover { color: #fff; }

.footer-bottom {
  grid-column: 1 / -1;
  display: flex;
  min-height: 58px;
  margin-top: 4px;
  padding: 17px 0;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  color: rgba(255, 255, 255, .58);
  border-top: 1px solid rgba(255, 255, 255, .12);
  font-size: 11px;
}

.footer-bottom nav {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
}

.footer-bottom a {
  color: rgba(255, 255, 255, .68);
  font-size: 11px;
}

.footer-bottom a:hover { color: #fff; }
.footer-credit { color: rgba(255,255,255,.62); font-size: 10px; }
.footer-credit strong { color: rgba(255,255,255,.82); font-weight: 700; }

@media (max-width: 1100px) {
  .footer {
    grid-template-columns: 1.25fr repeat(3, minmax(130px, .75fr));
    gap: 34px 24px;
  }

  .footer-contact {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .footer-contact h3 { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .footer {
    width: calc(100% - 20px);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 22px;
    margin: 0 auto 10px;
    padding: 34px 24px 0;
    border-radius: 7px;
  }

  .footer-brand,
  .footer-contact { grid-column: 1 / -1; }
  .footer-contact { grid-template-columns: 1fr; }
  .footer-contact h3 { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .footer-trust { max-width: 100%; }
  .footer-trust-badges { max-width: 430px; }
}

@media (max-width: 430px) {
  .footer {
    grid-template-columns: 1fr;
    padding-right: 20px;
    padding-left: 20px;
  }

  .footer-brand,
  .footer-contact,
  .footer-bottom { grid-column: auto; }
  .footer-trust-head {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
  }
  .footer-trust-head > svg {
    width: 44px;
    height: 44px;
  }
  .footer-trust-head strong { font-size: 15px; }
  .footer-trust-head span { font-size: 11px; }
  .footer-trust-badges {
    gap: 6px;
  }
  .footer-trust-badges span {
    min-height: 60px;
    padding: 6px;
  }
  .footer-trust-badges img {
    height: 46px;
  }
}

/* Definitive mobile news widget - keep this block last. */
@media (max-width: 900px) {
  .news-support {
    display: block !important;
    width: 100% !important;
    padding: 22px 12px 30px !important;
    overflow: visible !important;
    background: #f5f8fc !important;
  }

  .news-support .support {
    display: none !important;
  }

  .news-support .news {
    position: relative !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 20px 14px 16px !important;
    overflow: hidden !important;
    border: 1px solid #e1e9f2 !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 48, 89, .06) !important;
  }

  .news-support .news > h2 {
    display: flex !important;
    min-height: 38px !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    color: #0a1d3b !important;
    font-size: 20px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }

  .news-support .news > h2::before,
  .news-support .news > h2::after {
    display: none !important;
    content: none !important;
  }

  .news-support .news > h2 > svg {
    display: block !important;
    order: -1 !important;
    width: 38px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    padding: 9px !important;
    color: #0867c8 !important;
    border-radius: 7px !important;
    background: #eaf4ff !important;
  }

  .news-support .news-widget-subtitle {
    margin: 7px 0 0 48px !important;
    padding: 0 0 15px !important;
    color: #63758b !important;
    border-bottom: 1px solid #e6edf4 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  .news-support .news-all-link {
    position: static !important;
    display: inline-flex !important;
    min-height: 38px !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 8px 0 10px !important;
    padding: 0 !important;
    color: #0867c8 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 800 !important;
  }

  .news-support .news-all-link svg {
    width: 16px !important;
    height: 16px !important;
  }

  .news-support .news-grid {
    display: grid !important;
    width: 100% !important;
    grid-auto-flow: row !important;
    grid-auto-columns: auto !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  .news-support .news-grid > a,
  .news-support .news-grid > a:nth-child(n+3) {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 190px !important;
    height: 190px !important;
    grid-template-columns: 116px minmax(0, 1fr) !important;
    grid-template-rows: auto auto auto 1fr auto !important;
    column-gap: 12px !important;
    padding: 0 12px 10px 0 !important;
    overflow: hidden !important;
    color: #102a43 !important;
    border: 1px solid #dce7f2 !important;
    border-radius: 7px !important;
    background: #fff !important;
    box-shadow: 0 5px 16px rgba(17, 53, 91, .055) !important;
  }

  .news-support .news-grid > a > img {
    display: block !important;
    width: 116px !important;
    max-width: none !important;
    height: 190px !important;
    grid-column: 1 !important;
    grid-row: 1 / 6 !important;
    margin: 0 !important;
    border-radius: 6px 0 0 6px !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .news-support .news-grid > a > time {
    position: static !important;
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
    margin: 11px 0 5px !important;
    color: #7a8ca1 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }

  .news-support .news-grid > a > .news-card-category {
    display: inline-flex !important;
    width: max-content !important;
    max-width: 100% !important;
    min-height: 22px !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-items: center !important;
    margin: 0 0 5px !important;
    padding: 0 7px !important;
    color: #0867c8 !important;
    border-radius: 4px !important;
    background: #edf5ff !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
  }

  .news-support .news-grid > a > strong {
    display: -webkit-box !important;
    min-height: 0 !important;
    grid-column: 2 !important;
    grid-row: 3 !important;
    margin: 0 0 5px !important;
    overflow: hidden !important;
    color: #0a1d3b !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .news-support .news-grid > a > strong::after {
    display: none !important;
    content: none !important;
  }

  .news-support .news-grid > a > .news-card-excerpt {
    display: -webkit-box !important;
    min-height: 0 !important;
    grid-column: 2 !important;
    grid-row: 4 !important;
    margin: 0 0 5px !important;
    overflow: hidden !important;
    color: #60738b !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
  }

  .news-support .news-grid > a > .news-card-link {
    display: inline-flex !important;
    width: max-content !important;
    min-height: 24px !important;
    grid-column: 2 !important;
    grid-row: 5 !important;
    align-items: center !important;
    align-self: end !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #0867c8 !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 11px !important;
    font-weight: 800 !important;
  }

  .news-support .news-grid > a > .news-card-link svg {
    width: 14px !important;
    height: 14px !important;
  }

  .news-support .news-widget-arrow,
  .news-support .news-widget-dots {
    display: none !important;
  }
}

@media (max-width: 390px) {
  .news-support {
    padding-right: 8px !important;
    padding-left: 8px !important;
  }
  .news-support .news {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .news-support .news > h2 {
    font-size: 18px !important;
  }
  .news-support .news-grid > a,
  .news-support .news-grid > a:nth-child(n+3) {
    grid-template-columns: 104px minmax(0, 1fr) !important;
  }
  .news-support .news-grid > a > img {
    width: 104px !important;
  }
}

/* Final mobile homepage news layout. */
@media (max-width: 900px) {
  .news-support {
    display: block;
    width: 100%;
    padding: 24px 0 32px;
    overflow: hidden;
    background: #f7faff;
  }

  .news-support .support {
    display: none !important;
  }

  .news-support .news {
    position: relative;
    width: 100%;
    min-height: 0;
    padding: 22px 0 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .news-support .news > h2 {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: 12px;
    margin: 0 18px 4px;
    color: #0a1d3b;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: 0;
  }

  .news-support .news > h2::before,
  .news-support .news > h2::after {
    display: none;
    content: none;
  }

  .news-support .news > h2 > svg {
    display: grid;
    order: -1;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    padding: 10px;
    color: #0867c8;
    border-radius: 8px;
    background: #e9f3ff;
  }

  .news-support .news-widget-subtitle {
    margin: 0 18px 14px;
    padding: 0;
    color: #60738b;
    border: 0;
    font-size: 14px;
    line-height: 1.45;
  }

  .news-support .news-all-link {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 8px;
    margin: 0 18px 18px;
    padding: 0;
    color: #0867c8;
    background: transparent;
    box-shadow: none;
    font-size: 14px;
    font-weight: 800;
  }

  .news-support .news-all-link svg {
    width: 17px;
    height: 17px;
  }

  .news-support .news-grid {
    display: grid;
    width: 100%;
    grid-auto-columns: min(86vw, 360px);
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 14px;
    padding: 2px 18px 16px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-padding-inline: 18px;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }

  .news-support .news-grid::-webkit-scrollbar {
    display: none;
  }

  .news-support .news-grid > a,
  .news-support .news-grid > a:nth-child(n+3) {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 478px;
    height: 478px;
    flex-direction: column;
    padding: 0 0 20px;
    overflow: hidden;
    color: #102a43;
    border: 1px solid #dce7f2;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(17, 53, 91, .08);
    scroll-snap-align: start;
  }

  .news-support .news-grid > a > img {
    display: block;
    width: 100%;
    height: 190px;
    flex: 0 0 190px;
    margin: 0 0 12px;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
  }

  .news-support .news-grid > a > time {
    position: static;
    display: block;
    margin: 0 16px 8px;
    color: #71849a;
    font-size: 11px;
    line-height: 1.3;
  }

  .news-support .news-grid > a > .news-card-category {
    display: inline-flex;
    width: max-content;
    max-width: calc(100% - 32px);
    min-height: 25px;
    align-items: center;
    margin: 0 16px 10px;
    padding: 0 9px;
    color: #0867c8;
    border-radius: 5px;
    background: #edf5ff;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
  }

  .news-support .news-grid > a > strong {
    display: -webkit-box;
    min-height: 46px;
    margin: 0 16px 10px;
    overflow: hidden;
    color: #0a1d3b;
    font-size: 16px;
    line-height: 1.4;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .news-support .news-grid > a > strong::after {
    display: none;
    content: none;
  }

  .news-support .news-grid > a > .news-card-excerpt {
    display: -webkit-box;
    min-height: 78px;
    margin: 0 16px 14px;
    overflow: hidden;
    color: #60738b;
    font-size: 14px;
    line-height: 1.42;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
  }

  .news-support .news-grid > a > .news-card-link {
    display: inline-flex;
    width: max-content;
    min-height: 34px;
    align-items: center;
    gap: 8px;
    margin: auto 16px 0;
    padding: 0;
    color: #0867c8;
    background: transparent;
    font-size: 13px;
    font-weight: 800;
  }

  .news-support .news-grid > a > .news-card-link svg {
    width: 16px;
    height: 16px;
  }

  .news-support .news-widget-arrow,
  .news-support .news-widget-dots {
    display: none !important;
  }
}

@media (max-width: 420px) {
  .news-support .news > h2 {
    font-size: 20px;
  }
  .news-support .news-grid {
    grid-auto-columns: calc(100vw - 42px);
    padding-right: 12px;
    padding-left: 12px;
    scroll-padding-inline: 12px;
  }
}

/* Managed floating quick-contact widget. */
.quick-contact-widget {
  position: fixed;
  z-index: 95;
  bottom: var(--qc-bottom, 24px);
  display: flex;
  width: min(330px, calc(100vw - 28px));
  align-items: flex-end;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
}
.quick-contact-widget.is-right { right: var(--qc-side, 24px); }
.quick-contact-widget.is-left { left: var(--qc-side, 24px); align-items: flex-start; }
.quick-contact-panel {
  width: 100%;
  overflow: hidden;
  color: #102a43;
  border: 1px solid #dce6f0;
  border-radius: 8px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 22px 55px rgba(8, 37, 72, .2);
  opacity: 0;
  pointer-events: none;
  transform: translateY(14px) scale(.98);
  transform-origin: bottom right;
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
  visibility: hidden;
}
.quick-contact-widget.is-left .quick-contact-panel { transform-origin: bottom left; }
.quick-contact-widget.is-open .quick-contact-panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  visibility: visible;
}
.quick-contact-panel > header {
  display: flex;
  min-height: 74px;
  align-items: center;
  justify-content: space-between;
  padding: 15px 16px;
  color: #fff;
  background: linear-gradient(120deg, color-mix(in srgb, var(--qc-color) 88%, #041d3a), var(--qc-color));
}
.quick-contact-panel > header span { display: grid; gap: 3px; }
.quick-contact-panel > header strong { font-size: 16px; line-height: 1.2; }
.quick-contact-panel > header small { color: rgba(255,255,255,.82); font-size: 11px; line-height: 1.3; }
.quick-contact-panel > header button {
  display: none;
  width: 34px;
  height: 34px;
  place-items: center;
  color: #fff;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
}
.quick-contact-panel > header button svg { width: 16px; height: 16px; }
.quick-contact-panel nav { display: grid; padding: 6px 0; }
.quick-contact-panel nav a {
  display: grid;
  min-height: 64px;
  grid-template-columns: 40px minmax(0, 1fr) 16px;
  grid-template-rows: auto auto;
  column-gap: 11px;
  align-items: center;
  padding: 9px 15px;
  color: #16324f;
  border-bottom: 1px solid #edf2f7;
  transition: background .16s ease, color .16s ease;
}
.quick-contact-panel nav a:last-child { border-bottom: 0; }
.quick-contact-panel nav a:hover { color: var(--qc-color); background: #f5f9fd; }
.quick-contact-panel nav a > span {
  display: grid;
  width: 40px;
  height: 40px;
  grid-row: 1 / 3;
  place-items: center;
  color: var(--qc-icon);
  border-radius: 8px;
  background: color-mix(in srgb, var(--qc-color) 10%, #fff);
}
.quick-contact-panel nav a > span svg { width: 20px; height: 20px; }
.quick-contact-panel nav a > b { align-self: end; font-size: 13px; line-height: 1.2; }
.quick-contact-panel nav a > small {
  min-width: 0;
  align-self: start;
  overflow: hidden;
  color: #71849a;
  font-size: 11px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.quick-contact-panel nav a > svg { width: 15px; height: 15px; grid-column: 3; grid-row: 1 / 3; color: #8ba0b5; }
.quick-contact-panel nav a.is-whatsapp > span { color: #159447; background: #eaf8ef; }
.quick-contact-panel nav a.is-priority { background: color-mix(in srgb, var(--qc-color) 7%, #fff); }
.quick-contact-panel > footer {
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
  color: #6b7f94;
  border-top: 1px solid #e7edf4;
  background: #f8fafc;
  font-size: 10px;
}
.quick-contact-panel > footer svg { width: 14px; height: 14px; color: var(--qc-color); }
.quick-contact-toggle {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  gap: 10px;
  padding: 0 10px;
  color: var(--qc-text);
  border: 0;
  border-radius: 10px;
  background: var(--qc-color);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--qc-color) 36%, transparent);
  pointer-events: auto;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  transition: transform .18s ease, box-shadow .18s ease;
}
.quick-contact-toggle:hover { transform: translateY(-2px); box-shadow: 0 16px 34px color-mix(in srgb, var(--qc-color) 42%, transparent); }
.quick-contact-toggle > svg { width: 22px; height: 22px; }
.quick-contact-toggle .quick-contact-toggle-chevron { width: 16px; height: 16px; transition: transform .2s ease; }
.quick-contact-widget.is-open .quick-contact-toggle-chevron { transform: rotate(180deg); }

@media (hover: hover) and (min-width: 901px) {
  .quick-contact-widget:hover .quick-contact-panel,
  .quick-contact-widget:focus-within .quick-contact-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    visibility: visible;
  }
}

@media (max-width: 900px) {
  .quick-contact-widget {
    right: 14px !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    left: auto !important;
    width: min(330px, calc(100vw - 28px));
  }
  .quick-contact-panel > header button { display: grid; }
  .quick-contact-toggle { min-height: 50px; padding: 0 15px; font-size: 13px; }
}

/* Compact, equal-height homepage news cards. */
@media (min-width: 901px) {
  .news-support { padding: 26px 30px 32px; }
  .news-support .news { padding: 34px 36px 36px; }
  .news-support .news > h2 { min-height: 48px; font-size: 26px; }
  .news-support .news > h2::before { width: 48px; height: 48px; margin-right: 18px; border-radius: 14px; background-size: 25px; }
  .news-support .news-widget-subtitle { margin: 0 0 24px 66px; padding: 0 0 20px; font-size: 15px; }
  .news-support .news-all-link { top: 36px; right: 36px; min-height: 44px; padding: 0 20px; font-size: 14px; }
  .news-support .news-grid { gap: 18px; }
  .news-support .news-grid a,
  .news-support .news-grid a:nth-child(n+3) { min-height: 452px; padding: 0 0 20px; border-radius: 13px; box-shadow: 0 6px 18px rgba(15,48,89,.075); }
  .news-support .news-grid a > img { height: 160px; margin: 0 0 14px; border-radius: 13px 13px 0 0; }
  .news-support .news-grid a > time { margin: 0 16px 10px; font-size: 12px; }
  .news-support .news-grid a > .news-card-category { margin: 0 16px 12px; padding: 6px 10px; font-size: 10px; }
  .news-support .news-grid a > strong { min-height: 47px; margin: 0 16px 10px; font-size: 16px; line-height: 1.42; }
  .news-support .news-grid a > .news-card-excerpt { display: -webkit-box; min-height: 78px; margin: 0 16px 16px; overflow: hidden; color: #64738a; font-size: 14px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
  .news-support .news-grid a > .news-card-link { margin: auto 16px 0; font-size: 14px; }
}

/* Keep the automatic translation engine entirely out of the visual interface. */
.site-translate-anchor {
  position: fixed;
  top: -10000px;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  pointer-events: none;
  white-space: nowrap;
}
.site-translate-anchor *,
.goog-te-gadget,
.goog-te-gadget-simple,
.goog-logo-link,
.goog-te-menu-value,
.goog-te-menu-value span,
.goog-te-gadget > span {
  visibility: hidden !important;
}
body,
html.translated-ltr body,
html.translated-rtl body { top: 0 !important; }
html,
html.translated-ltr,
html.translated-rtl { margin-top: 0 !important; }
iframe.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
.goog-te-banner,
.goog-te-balloon-frame,
body > iframe.skiptranslate,
body > .skiptranslate:not(.site-translate-anchor),
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
}

@media (min-width: 901px) and (max-width: 1100px) {
  .topbar,
  .navbar,
  main,
  .footer {
    width: calc(100% - 32px);
  }

  .navbar { gap: 13px; }
  .brand { min-width: 158px; }
  .brand-logo { width: 158px; height: 41px; }
  .nav-links { gap: 10px; font-size: 9px; }
  .quote-btn { padding: 0 12px; font-size: 10px; }
  .hero-copy { padding-left: 54px; }
  .hero h1 { font-size: 44px; }
}

/* Nexus-inspired corporate navigation typography and language switcher */
.language-switcher {
  position: relative;
  flex: 0 0 auto;
  font-family: Quicksand, Arial, sans-serif;
}

.voice-command { position:relative; flex:0 0 auto; }
.voice-command [hidden] { display:none !important; }
.voice-command-button { display:grid; width:42px; height:42px; place-items:center; padding:0; color:#0b457d; border:1px solid #cfd9e5; border-radius:6px; background:#fff; cursor:pointer; transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease; }
.voice-command-button svg { width:18px; height:18px; }
.voice-command-button:hover { color:#0057b8; border-color:#9ab7da; background:#f7fbff; }
.voice-command.is-listening .voice-command-button { color:#fff; border-color:#0057b8; background:#0057b8; box-shadow:0 0 0 4px rgba(0,87,184,.12); animation:voice-command-pulse 1.4s ease-in-out infinite; }
.voice-command-panel { position:absolute; z-index:80; top:calc(100% + 9px); right:0; display:grid; width:286px; min-height:70px; grid-template-columns:34px minmax(0,1fr) 28px; gap:10px; align-items:center; padding:12px; color:#173b63; border:1px solid #cfdeec; border-radius:7px; background:#fff; box-shadow:0 18px 44px rgba(0,38,82,.17); }
.voice-command-panel > svg { width:22px; height:22px; color:#0057b8; }
.voice-command-panel div { min-width:0; }
.voice-command-panel strong,.voice-command-panel span { display:block; }
.voice-command-panel strong { margin-bottom:3px; color:#082c55; font-size:12px; }
.voice-command-panel span { overflow:hidden; color:#5b7088; font-size:11px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.voice-command-panel > button { display:grid; width:28px; height:28px; place-items:center; padding:0; color:#6a7d91; border:0; border-radius:5px; background:transparent; cursor:pointer; }
.voice-command-panel > button:hover { color:#0057b8; background:#eef6ff; }
.voice-command-panel > button svg { width:15px; height:15px; }
@keyframes voice-command-pulse { 0%,100% { box-shadow:0 0 0 3px rgba(0,87,184,.1); } 50% { box-shadow:0 0 0 7px rgba(0,87,184,.05); } }
@media (max-width:900px) { .voice-command-panel { position:fixed; top:76px; right:12px; width:min(286px,calc(100vw - 24px)); } }

.language-switcher summary {
  min-width: 72px;
  height: 42px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #cfd9e5;
  border-radius: 7px;
  background: #fff;
  color: #111827;
  font-size: 14px;
  font-weight: 700;
  list-style: none;
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.language-switcher summary::-webkit-details-marker { display: none; }
.language-switcher summary:hover,
.language-switcher[open] summary {
  border-color: #9ab7da;
  background: #fff;
  color: #111827;
}

.language-switcher summary > svg {
  width: 16px;
  height: 16px;
}
.language-switcher .language-flag { position:relative; display:inline-block; flex:0 0 24px; width:24px; height:16px; overflow:hidden; border-radius:2px; box-shadow:0 0 0 1px rgba(10,30,60,.12); }
.language-switcher .flag-tr { background-color:#e11d2e; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 20'%3E%3Crect width='28' height='20' rx='2' fill='%23E11D2E'/%3E%3Ccircle cx='11' cy='10' r='5' fill='%23fff'/%3E%3Ccircle cx='12.3' cy='10' r='4' fill='%23E11D2E'/%3E%3Cpath d='M16.8 10l4.03-1.31-2.49 3.43v-4.24l2.49 3.43z' fill='%23fff'/%3E%3C/svg%3E"); background-position:center; background-size:100% 100%; background-repeat:no-repeat; }
.language-switcher .flag-tr::before { content:none; }
.language-switcher .flag-tr::after { content:none; }
.language-switcher .flag-en { background:linear-gradient(25deg,transparent 43%,#fff 44%,#fff 56%,transparent 57%),linear-gradient(-25deg,transparent 43%,#fff 44%,#fff 56%,transparent 57%),linear-gradient(90deg,transparent 38%,#fff 39%,#fff 61%,transparent 62%),linear-gradient(0deg,transparent 35%,#fff 36%,#fff 64%,transparent 65%),#17458f; }
.language-switcher .flag-en::after { content:""; position:absolute; inset:0; background:linear-gradient(25deg,transparent 46%,#cf142b 47%,#cf142b 53%,transparent 54%),linear-gradient(-25deg,transparent 46%,#cf142b 47%,#cf142b 53%,transparent 54%),linear-gradient(90deg,transparent 43%,#cf142b 44%,#cf142b 56%,transparent 57%),linear-gradient(0deg,transparent 40%,#cf142b 41%,#cf142b 59%,transparent 60%); }
.language-switcher .flag-pt { background:linear-gradient(90deg,#046a38 0 40%,#da291c 40% 100%); }
.language-switcher .flag-pt::before { content:""; position:absolute; z-index:1; top:50%; left:40%; width:8px; height:8px; border:1px solid #f7c948; border-radius:50%; background:#fff; transform:translate(-50%,-50%); }
.language-switcher .flag-pt::after { content:""; position:absolute; z-index:2; top:50%; left:40%; width:3px; height:3px; border-radius:50%; background:#046a38; transform:translate(-50%,-50%); }
.language-switcher .flag-ar { background:linear-gradient(180deg,#007a3d 0 33%,#fff 33% 66%,#000 66% 100%); }
.language-switcher .flag-ar::before { content:""; position:absolute; left:0; top:0; width:9px; height:100%; background:#ce1126; clip-path:polygon(0 0,100% 50%,0 100%); }
.language-switcher .flag-ar::after { content:none; }

.language-switcher .language-chevron {
  width: 14px;
  height: 14px;
  transition: transform .2s ease;
}

.language-switcher[open] .language-chevron { transform: rotate(180deg); }

.language-menu {
  position: absolute;
  z-index: 50;
  top: calc(100% + 9px);
  right: 0;
  width: 142px;
  padding: 7px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(15, 40, 77, .10);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(12, 42, 78, .16);
}

.language-menu a {
  min-height: 44px;
  padding: 7px 9px;
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 8px;
  border-radius: 6px;
  color: #0f284d;
}

.language-menu a:hover,
.language-menu a.is-active {
  background: #f1f6fc;
  color: var(--primary);
}

.language-menu span {
  font-size: 14px;
  font-weight: 700;
}
.language-menu .language-flag { margin-right:2px; }

.language-menu small {
  display:none;
  font-size: 11px;
  font-weight: 600;
  color: #6b7e98;
}

html[dir="rtl"] .language-menu { right: auto; left: 0; text-align: right; }
html[dir="rtl"] .language-menu a { grid-template-columns: 1fr 28px; }
html[dir="rtl"] .language-menu .language-flag { grid-column: 2; margin-right: 0; margin-left: 2px; }
html[dir="rtl"] .language-menu a > span:not(.language-flag) { grid-column: 1; grid-row: 1; }

@media (min-width: 901px) {
  .navbar { min-height: 82px; gap: 19px; }
  .brand { min-width: 190px; }
  .brand-logo { width: 190px; height: 49px; }

  .nav-links {
    gap: 14px;
    font-family: Quicksand, Arial, sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
  }

  .nav-links a {
    position: relative;
    padding: 17px 0;
  }

  .nav-links a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    height: 2px;
    transform: scaleX(0);
    transform-origin: center;
    background: var(--primary);
    transition: transform .2s ease;
  }

  .nav-links a:hover::after,
  .nav-links a.is-current::after { transform: scaleX(1); }

  .quote-btn {
    min-height: 44px;
    font-family: Quicksand, Arial, sans-serif;
    font-size: 12px;
    font-weight: 700;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .brand { min-width: 164px; }
  .brand-logo { width: 164px; height: 42px; }
  .nav-links { gap: 9px; font-size: 10px; }
  .language-switcher summary { min-width: 62px; padding: 0 7px; }
}

@media (max-width: 900px) {
  .language-switcher { margin-left: auto; }

  .language-switcher summary {
    width: 44px;
    min-width: 44px;
    padding: 0;
    font-size: 0;
  }

  .language-switcher summary > svg:first-child {
    width: 19px;
    height: 19px;
  }

  .language-switcher .language-chevron { display: none; }
  .language-menu { right: 0; }
}

/* Requested desktop width, navigation weight and certificate-focused media band */
@media (min-width: 901px) {
  .topbar,
  .navbar,
  main,
  .footer {
    width: min(1295px, calc(100% - 33px));
    max-width: 1295px;
  }

  .nav-links {
    gap: 15px;
    font-family: Quicksand, Arial, sans-serif;
    font-size: 13px;
    font-weight: 650;
    text-transform: uppercase;
  }

  .media-area {
    grid-template-columns: 35% 65%;
    gap: 24px;
  }

  .media-area .video-card {
    display: none;
  }

  .media-area .logo-panel {
    height: 200px;
  }

  .media-area .logo-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .media-area .logo-grid img {
    height: 126px;
    object-fit: contain;
  }

  .media-area .cert-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .media-area .cert-grid img {
    height: 154px;
    object-fit: contain;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .topbar,
  .navbar,
  main,
  .footer {
    width: calc(100% - 17px);
  }

  .nav-links {
    gap: 15px;
    font-family: Quicksand, Arial, sans-serif;
    font-size: 13px;
    font-weight: 650;
    text-transform: uppercase;
  }
}

/* Final requested width and certificate-only homepage band */
@media (min-width: 901px) {
  .topbar,
  .navbar,
  main,
  .footer {
    width: min(1310px, calc(100% - 18px));
    max-width: 1310px;
  }

  .media-area {
    grid-template-columns: 1fr;
  }

  .media-area #sertifikalar {
    width: 100%;
    height: 210px;
    padding: 4px 18px 0;
  }

  .media-area #sertifikalar h2 {
    text-align: center;
  }

  .media-area #sertifikalar .cert-grid {
    max-width: 880px;
    margin: 0 auto;
    gap: 16px;
  }

  .media-area #sertifikalar .cert-grid img {
    height: 160px;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .topbar,
  .navbar,
  main,
  .footer {
    width: calc(100% - 2px);
  }
}

/* Wider shell, technology statistics and professional certificate showcase */
@media (min-width: 901px) {
  .topbar,
  .navbar,
  main,
  .footer {
    width: min(1330px, 100%);
    max-width: 1330px;
  }
}

.stats {
  position: relative;
  overflow: hidden;
  background-color: #07182f;
  background-image:
    linear-gradient(rgba(111, 180, 225, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(111, 180, 225, .07) 1px, transparent 1px);
  background-size: 28px 28px;
  border-top: 1px solid rgba(158, 222, 255, .22);
  border-bottom: 1px solid rgba(158, 222, 255, .22);
}

.stats .stat-item {
  min-width: 0;
  min-height: 132px;
  padding: 20px 24px;
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) 48px;
  align-items: center;
  column-gap: 14px;
  text-align: left;
  border-right: 1px solid rgba(158, 222, 255, .15);
}

.stats .stat-item:last-child { border-right: 0; }

.stat-ring {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  border: 3px solid #c8efff;
  border-radius: 50%;
  background: rgba(25, 58, 91, .66);
  box-shadow:
    0 0 0 7px rgba(84, 187, 238, .10),
    0 0 22px rgba(116, 211, 255, .72),
    inset 0 0 16px rgba(120, 211, 255, .30);
}

.stats .stat-ring strong {
  font-size: 16px;
  line-height: 1;
  color: #d9f4ff;
}

.stat-copy {
  min-width: 0;
  display: grid;
  gap: 7px;
}

.stats .stat-copy strong {
  font-size: 27px;
  line-height: 1;
  color: #fff;
}

.stats .stat-copy span {
  margin: 0;
  font-size: 10px;
  line-height: 1.25;
  color: #d3deec;
  white-space: normal;
}

.stat-icon {
  width: 45px;
  height: 45px;
  color: #6da7ce;
  stroke-width: 1.25;
  filter: drop-shadow(0 0 8px rgba(105, 184, 232, .28));
}

.certificate-showcase {
  padding: 28px 32px 32px;
  border: 1px solid #dbe6f2;
  border-radius: 8px;
  background: #f7faff;
}

.certificate-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 22px;
}

.certificate-heading > div > span {
  display: block;
  margin-bottom: 5px;
  color: var(--primary);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.certificate-heading h2 {
  margin: 0 0 7px;
  font-size: 24px;
}

.certificate-heading p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.certificate-heading > a {
  min-height: 40px;
  padding: 0 15px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #c7d7e9;
  border-radius: 6px;
  background: #fff;
  color: var(--primary-dark);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.certificate-heading > a svg { width: 16px; }

.certificate-showcase .cert-grid {
  display: grid;
  gap: 14px;
}

.certificate-card {
  min-width: 0;
  min-height: 166px;
  padding: 18px 14px 14px;
  display: grid;
  justify-items: center;
  align-content: start;
  text-align: center;
  border: 1px solid #d8e3ef;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(20, 54, 92, .06);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.certificate-card:hover {
  transform: translateY(-3px);
  border-color: #9fbcdc;
  box-shadow: 0 14px 30px rgba(20, 54, 92, .11);
}

.certificate-symbol {
  width: 48px;
  height: 48px;
  margin-bottom: 10px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #eaf3fd;
  color: var(--primary);
}

.certificate-symbol svg { width: 25px; height: 25px; }
.certificate-card > strong { font-size: 16px; color: var(--primary-dark); }
.certificate-card > small { min-height: 32px; margin-top: 4px; color: #667892; font-size: 10px; }

.certificate-status {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #247251;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}

.certificate-status svg { width: 13px; height: 13px; }

.certificate-card .certificate-symbol {
  min-height: 48px;
  border: 0;
}

.certificate-card .certificate-status {
  min-height: 0;
  border: 0;
  background: transparent;
}

@media (min-width: 901px) {
  .stats,
  .stats .stat-item { min-height: 132px; }

  .media-area #sertifikalar.certificate-showcase {
    width: 100%;
    height: auto;
    padding: 28px 32px 32px;
  }

  .certificate-showcase .cert-grid {
    max-width: none;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0;
  }

  .media-area #sertifikalar.certificate-showcase .cert-grid {
    max-width: none;
  }
}

@media (max-width: 900px) {
  .stats .stat-item {
    min-height: 118px;
    grid-template-columns: 72px minmax(0, 1fr) 42px;
    padding: 16px 20px;
  }

  .stat-ring { width: 66px; height: 66px; }
  .certificate-showcase { padding: 24px 18px; }
  .certificate-heading { align-items: flex-start; flex-direction: column; }
  .certificate-showcase .cert-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .stats .stat-item { grid-template-columns: 68px minmax(0, 1fr) 38px; }
  .stats .stat-copy strong { font-size: 23px; }
  .certificate-showcase .cert-grid { grid-template-columns: 1fr; }
}

/* Product reviews */
.product-reviews {
  margin-top: 28px;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid #d9e7f4;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(7, 50, 98, .08);
}

.product-reviews-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e2ebf4;
}

.product-reviews-heading h2 {
  margin: 7px 0 8px;
  color: #062852;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.2;
}

.product-reviews-heading p {
  max-width: 700px;
  margin: 0;
  color: #60758c;
  line-height: 1.65;
}

.product-rating-summary {
  display: grid;
  min-width: 180px;
  justify-items: end;
}

.product-rating-summary > strong {
  color: #062852;
  font-size: 40px;
  line-height: 1;
}

.product-rating-summary small {
  margin-top: 4px;
  color: #698098;
  font-weight: 650;
}

.product-rating-stars {
  --percent: calc(var(--rating) / 5 * 100%);
  position: relative;
  display: inline-block;
  color: #d9e1ea;
  font-size: 20px;
  line-height: 1;
}

.product-rating-stars::before { content: "★★★★★"; }
.product-rating-stars::after {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--percent);
  overflow: hidden;
  color: #f3a712;
  content: "★★★★★";
  white-space: nowrap;
}

.product-review-layout {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  gap: 28px;
  padding-top: 28px;
}

.product-review-form {
  align-self: start;
  padding: 24px;
  border: 1px solid #d9e7f4;
  border-radius: 8px;
  background: #f7fbff;
}

.product-review-form fieldset {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
}

.product-review-form legend,
.product-review-form label > span {
  display: block;
  margin-bottom: 8px;
  color: #12365d;
  font-size: 13px;
  font-weight: 800;
}

.product-review-form label > span small { color: #7890a8; font-weight: 600; }

.review-star-input {
  display: flex;
  width: max-content;
  flex-direction: row-reverse;
  gap: 5px;
}

.review-star-input input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.review-star-input label {
  color: #cbd7e4;
  cursor: pointer;
  font-size: 32px;
  line-height: 1;
  transition: color .16s ease, transform .16s ease;
}

.review-star-input label:hover,
.review-star-input label:hover ~ label,
.review-star-input input:checked ~ label { color: #f3a712; }
.review-star-input label:hover { transform: translateY(-2px); }
.review-star-input input:focus-visible + label { outline: 2px solid var(--primary); outline-offset: 3px; }

.review-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.product-review-form > label { display: block; margin-top: 16px; }
.product-review-form input:not([type="radio"]),
.product-review-form textarea {
  width: 100%;
  border: 1px solid #cbdced;
  border-radius: 6px;
  background: #fff;
  color: #173a60;
  font: inherit;
}
.product-review-form input:not([type="radio"]) { min-height: 46px; padding: 0 13px; }
.product-review-form textarea { min-height: 118px; padding: 12px 13px; resize: vertical; }
.product-review-form input:focus,
.product-review-form textarea:focus { border-color: var(--primary); outline: 3px solid rgba(0,87,184,.1); }
.review-honeypot { position: absolute !important; left: -10000px !important; }

.review-form-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
}
.review-form-footer > small { max-width: 245px; color: #71869b; line-height: 1.5; }
.review-form-footer .btn { flex: 0 0 auto; }
.review-form-footer .btn:disabled { cursor: wait; opacity: .65; }

.review-form-message {
  margin-top: 14px;
  padding: 11px 13px;
  border: 1px solid #b9cde0;
  border-radius: 6px;
  color: #274d73;
  background: #fff;
  font-size: 13px;
  font-weight: 700;
}
.review-form-message.is-success { color: #087649; border-color: #a8dfc5; background: #effbf5; }
.review-form-message.is-error { color: #ad2630; border-color: #efb7bc; background: #fff4f5; }

.approved-review-list { display: grid; align-content: start; gap: 12px; }
.approved-review-card {
  padding: 20px;
  border: 1px solid #dbe7f2;
  border-radius: 8px;
  background: #fff;
}
.approved-review-card header { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 11px; }
.review-avatar { display: grid; width: 42px; height: 42px; place-items: center; color: #fff; border-radius: 50%; background: var(--primary); font-weight: 850; }
.approved-review-card header div { display: grid; }
.approved-review-card header strong { color: #12365d; }
.approved-review-card header small,
.approved-review-card time { color: #7a8fa4; font-size: 12px; }
.approved-review-stars { margin: 13px 0 8px; color: #f3a712; letter-spacing: 0; }
.approved-review-stars i { color: #d9e1ea; font-style: normal; }
.approved-review-card p { margin: 0; color: #49647e; line-height: 1.65; }
.review-empty { display: grid; min-height: 260px; place-items: center; align-content: center; padding: 30px; text-align: center; border: 1px dashed #bfd2e4; border-radius: 8px; background: #fbfdff; }
.review-empty svg { width: 34px; height: 34px; margin-bottom: 12px; color: var(--primary); }
.review-empty strong { color: #12365d; }
.review-empty p { margin: 6px 0 0; color: #758ba0; }
.editorial-main-column .content-reviews { margin-top: 24px; padding: 24px; }
.editorial-main-column .content-reviews .product-reviews-heading { align-items: flex-start; }
.editorial-main-column .content-reviews .product-review-layout { grid-template-columns: 1fr; }
.editorial-main-column .content-reviews .approved-review-list:not(:has(.review-empty)) { grid-template-columns: repeat(2,minmax(0,1fr)); }

@media (max-width: 900px) {
  .product-review-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .product-reviews { margin-top: 18px; padding: 20px 16px; }
  .product-reviews-heading { align-items: flex-start; flex-direction: column; }
  .product-rating-summary { min-width: 0; justify-items: start; }
  .product-review-form { padding: 18px 15px; }
  .review-form-row { grid-template-columns: 1fr; }
  .review-form-footer { align-items: stretch; flex-direction: column; }
  .review-form-footer .btn { width: 100%; }
  .approved-review-card header { grid-template-columns: 42px 1fr; }
  .approved-review-card time { grid-column: 2; }
  .editorial-main-column .content-reviews { padding: 18px 14px; }
  .editorial-main-column .content-reviews .approved-review-list:not(:has(.review-empty)) { grid-template-columns: 1fr; }
}

/* Balanced responsive shell, refreshed logo and restored corporate counters */
@media (min-width: 1181px) {
  .topbar,
  .navbar {
    width: min(1360px, calc(100% - 32px));
    max-width: 1360px;
  }

  main,
  .footer {
    width: min(1280px, calc(100% - 40px));
    max-width: 1280px;
  }

  .brand { min-width: 195px; }
  .brand-logo { width: 195px; height: 54px; object-fit: contain; }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .topbar { display: none; }

  .navbar,
  main,
  .footer {
    width: calc(100% - 32px);
    max-width: none;
  }

  .navbar {
    position: relative;
    min-height: 76px;
    gap: 10px;
  }

  .brand { min-width: 174px; }
  .brand-logo { width: 174px; height: 48px; object-fit: contain; }

  .menu-toggle {
    margin-left: auto;
    display: inline-grid;
    place-items: center;
  }

  .nav-links {
    position: absolute;
    z-index: 45;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    box-shadow: var(--shadow);
  }

  .nav-links.open { display: flex; }
  .nav-links a { padding: 13px; font-size: 12px; }
  .language-switcher { margin-left: 0; }
}

.stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: visible;
  background-color: #0758ad;
  background-image: none;
  border-top: 0;
  border-bottom: 0;
}

.stats > div {
  min-height: 108px;
  padding: 18px 14px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  text-align: center;
  border-right: 1px solid rgba(255,255,255,.24);
}

.stats > div:last-child { border-right: 0; }

.stats > div > strong {
  font-size: 34px;
  line-height: 1;
  color: #fff;
}

.stats > div > span {
  margin: 0;
  color: rgba(255,255,255,.92);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.footer-logo {
  width: 190px;
  height: 54px;
  object-fit: contain;
}

@media (max-width: 900px) {
  .navbar { gap: 8px; }
  .brand { min-width: 150px; }
  .brand-logo { width: 150px; height: 42px; object-fit: contain; }
  .language-switcher { margin-left: 0; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats > div:nth-child(2) { border-right: 0; }
  .stats > div { min-height: 98px; }
}

@media (max-width: 560px) {
  .brand { min-width: 132px; }
  .brand-logo { width: 132px; height: 37px; }
  .stats { grid-template-columns: 1fr; }
  .stats > div { min-height: 86px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
  .stats > div:last-child { border-bottom: 0; }
  .stats > div > strong { font-size: 29px; }
}

/* Approved corporate factory, strengths and statistics concept */
.why-eyebrow {
  display: block;
  width: max-content;
  margin-bottom: 10px;
  color: var(--primary);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.why-eyebrow::after {
  content: "";
  display: block;
  width: 54px;
  height: 2px;
  margin-top: 8px;
  background: var(--primary);
}

@media (min-width: 901px) {
  .why {
    height: 320px;
    grid-template-columns: 43% 57%;
    background: #f5f8fc;
  }

  .why > img {
    width: 100%;
    height: 320px;
    min-height: 320px;
    object-fit: cover;
  }

  .why-content {
    padding: 32px 46px 28px;
  }

  .why-content h2 {
    margin-bottom: 18px;
    font-size: 31px;
    line-height: 1.1;
  }

  .why .feature-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid #dce6f1;
    border-left: 1px solid #dce6f1;
  }

  .why .feature-grid span {
    min-width: 0;
    min-height: 86px;
    padding: 12px 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-right: 1px solid #dce6f1;
    border-bottom: 1px solid #dce6f1;
    color: #102b52;
    font-size: 10px;
    line-height: 1.25;
    text-align: center;
  }

  .why .feature-grid svg {
    width: 34px;
    height: 34px;
    color: var(--primary);
    stroke-width: 1.65;
  }
}

.stats {
  position: relative;
  background-color: #06294f;
  background-image:
    linear-gradient(rgba(104, 177, 221, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(104, 177, 221, .07) 1px, transparent 1px);
  background-size: 32px 32px;
  border-top: 1px solid rgba(158, 222, 255, .18);
  border-bottom: 1px solid rgba(158, 222, 255, .18);
}

.stats > div {
  min-height: 150px;
  padding: 20px 14px;
  gap: 8px;
  border-right-color: rgba(182, 224, 250, .26);
}

.stats > div > svg {
  width: 38px;
  height: 38px;
  color: #a6d9f5;
  stroke-width: 1.35;
}

.stats > div > strong {
  font-size: 38px;
}

.stats > div > span {
  color: #e5f0fa;
  font-size: 11px;
}

@media (max-width: 900px) {
  .why {
    background: #f5f8fc;
  }

  .why > img {
    width: 100%;
    height: 260px;
    min-height: 260px;
    object-fit: cover;
  }

  .why-content {
    padding: 28px 20px 30px;
  }

  .why-content h2 {
    margin-bottom: 18px;
    font-size: 27px;
  }

  .why .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid #dce6f1;
    border-left: 1px solid #dce6f1;
  }

  .why .feature-grid span {
    min-height: 104px;
    padding: 13px 9px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-right: 1px solid #dce6f1;
    border-bottom: 1px solid #dce6f1;
    font-size: 11px;
    text-align: center;
  }

  .why .feature-grid svg { width: 31px; height: 31px; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .stats > div { min-height: 124px; }
}

@media (max-width: 560px) {
  .why > img { height: 220px; min-height: 220px; }
  .why-content { padding: 24px 16px 26px; }
  .why-content h2 { font-size: 24px; }
  .why .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .why .feature-grid span { min-height: 112px; font-size: 10px; }
  .stats { grid-template-columns: 1fr; }
  .stats > div { min-height: 112px; }
  .stats > div > svg { width: 32px; height: 32px; }
  .stats > div > strong { font-size: 32px; }
}

/* Requested 200px wider desktop shell */
@media (min-width: 1181px) {
  .topbar,
  .navbar {
    width: min(1560px, calc(100% - 32px));
    max-width: 1560px;
  }

  main,
  .footer {
    width: min(1480px, calc(100% - 40px));
    max-width: 1480px;
  }
}

/* Additional requested 150px desktop width */
@media (min-width: 1181px) {
  .topbar,
  .navbar {
    width: min(1710px, calc(100% - 32px));
    max-width: 1710px;
  }

  main,
  .footer {
    width: min(1630px, calc(100% - 40px));
    max-width: 1630px;
  }
}

/* Reference-matched news and technical support band */
.news h2 {
  display: flex;
  align-items: center;
  gap: 8px;
}

.news h2 > svg {
  width: 20px;
  height: 20px;
  color: #6f91b5;
  stroke-width: 1.5;
}

.news-grid a > time {
  display: block;
  margin: 0 0 5px;
  color: #79889c;
  font-size: 9px;
}

.news-grid span > svg {
  width: 11px;
  height: 11px;
}

@media (min-width: 901px) {
  .hero {
    height: 570px;
    min-height: 570px;
    grid-template-columns: 46% 54%;
  }

  .news-support {
    grid-template-columns: 55% 45%;
    gap: 14px;
    padding: 18px 24px 24px;
    align-items: start;
  }

  .news h2 {
    margin-bottom: 12px;
    font-size: 20px;
  }

  .news-grid {
    gap: 10px;
  }

  .news-grid a {
    height: 158px;
    min-height: 158px;
    padding: 8px 10px 10px;
    display: flex;
    justify-content: flex-start;
    border-color: #d8e3ef;
    background: #fff;
  }

  .news-grid a > img {
    width: calc(100% + 20px);
    height: 54px;
    margin: -8px -10px 5px;
    object-fit: cover;
  }

  .news-grid span {
    width: max-content;
    margin: 0 0 5px;
    padding: 3px 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 8px;
  }

  .news-grid strong {
    font-size: 10px;
    line-height: 1.25;
  }

  .news-grid small {
    margin-top: auto;
    color: #8492a5;
    font-size: 8px;
  }

  .support {
    height: 190px;
    min-height: 190px;
    padding: 18px 24px;
    border-radius: 7px;
    background:
      linear-gradient(90deg, #064e9c 0%, rgba(4,80,158,.96) 64%, rgba(5,71,139,.42) 100%),
      url("../img/reference/support-agent.jpg") right center / auto 100% no-repeat;
  }

  .support h2 {
    margin-bottom: 6px;
    font-size: 20px;
  }

  .support p {
    margin: 0;
    font-size: 10px;
  }

  .support-icons {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 13px 0 12px;
  }

  .support-icons span {
    gap: 4px;
    font-size: 8px;
  }

  .support-icons svg {
    width: 27px;
    height: 27px;
  }

  .support .btn {
    min-height: 32px;
    padding: 0 16px;
    border-color: rgba(255,255,255,.88);
    border-radius: 999px;
    background: transparent;
    color: #fff;
    font-size: 9px;
  }
}

@media (max-width: 900px) {
  .news-support {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 24px 16px;
  }

  .news-grid {
    grid-template-columns: 1fr;
  }

  .news-grid a {
    min-height: 190px;
  }

  .support {
    min-height: 250px;
    padding: 24px 20px;
  }
}

/* Exact supplied technical support panel on desktop */
@media (min-width: 901px) {
  .news-support .support {
    position: relative;
    height: auto;
    min-height: 0;
    padding: 0;
    aspect-ratio: 435 / 166;
    overflow: hidden;
    border-radius: 7px;
    background: #0755a5 url("../img/reference/support-panel-exact.png") center / 100% 100% no-repeat;
  }

  .news-support .support > h2,
  .news-support .support > p,
  .news-support .support > .support-icons {
    opacity: 0;
    pointer-events: none;
  }

  .news-support .support > .btn {
    position: absolute;
    left: 3.5%;
    bottom: 7%;
    width: 35%;
    height: 24%;
    min-height: 0;
    padding: 0;
    opacity: 0;
  }

  .news-grid a {
    height: auto;
    min-height: 0;
    aspect-ratio: 1.37 / 1;
  }
}

/* Homepage news and support widget: editorial cards beside the support panel. */
@media (min-width: 901px) {
  .news-support {
    grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
    gap: 24px;
    padding: 28px 30px 30px;
    align-items: stretch;
  }

  .news-support .news {
    position: relative;
    min-width: 0;
    padding: 28px 30px 30px;
    border: 1px solid #e7edf5;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(8, 39, 78, .07);
  }

  .news-support .news h2 {
    display: flex;
    align-items: center;
    min-height: 42px;
    margin: 0 0 24px;
    padding: 0 0 18px;
    border-bottom: 0;
    color: #111d32;
    font-size: 0;
    font-weight: 800;
    letter-spacing: .01em;
  }

  .news-support .news h2::before {
    content: "";
    width: 42px;
    height: 42px;
    margin-right: 16px;
    border-radius: 50%;
    background: #eef5ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b61bd' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11v2'/%3E%3Cpath d='M6 9v6'/%3E%3Cpath d='M9 7v10'/%3E%3Cpath d='M12 5v14'/%3E%3Cpath d='M15 8h5a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1h-5z'/%3E%3Cpath d='m15 8-5-3v14l5-3'/%3E%3C/svg%3E") center / 23px no-repeat;
    flex: 0 0 auto;
  }

  .news-support .news h2::after {
    content: "DUYURULAR & HABERLER";
    color: #111d32;
    font-size: 22px;
    font-weight: 800;
  }

  .news-support .news h2 > svg { display: none; }
  .news-support .news::after {
    display: none;
  }

  .news-support .news-all-link {
    position: absolute;
    top: 43px;
    right: 30px;
    color: #0964bf;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
  }

  .news-support .news-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
  }

  .news-support .news-grid a {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 360px;
    height: auto;
    padding: 0 16px 20px;
    overflow: hidden;
    border: 1px solid #edf1f6;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(8, 39, 78, .06);
    transition: transform .2s ease, box-shadow .2s ease;
  }

  .news-support .news-grid a:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(8, 39, 78, .12);
  }

  .news-support .news-grid a:nth-child(n+3) { display: none; }
  .news-support .news-grid a > img {
    width: calc(100% + 32px);
    height: 175px;
    margin: 0 -16px 18px;
    object-fit: cover;
    flex: 0 0 auto;
  }

  .news-support .news-grid a > time {
    position: absolute;
    top: 192px;
    right: 16px;
    margin: 0;
    color: #74839a;
    font-size: 12px;
  }

  .news-support .news-grid a > span {
    width: max-content;
    margin: 0 0 12px;
    padding: 5px 10px;
    border-radius: 999px;
    background: #edf4ff;
    color: #1764ba;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .02em;
  }

  .news-support .news-grid a > strong {
    min-height: 48px;
    color: #152238;
    font-size: 17px;
    line-height: 1.35;
  }

  .news-support .news-grid a > strong::after {
    display: block;
    margin-top: 19px;
    color: #0b61bd;
    content: "Devamını Oku  ›";
    font-size: 14px;
    font-weight: 700;
  }

  .news-support .news-grid a > small { display: none; }
  .news-support .support { border-radius: 18px; }
}

@media (max-width: 900px) {
  .news-support .news { border-radius: 12px; }
  .news-support .news-grid a:nth-child(n+3) { display: none; }
}

/* Align header logo with the main content edge */
@media (min-width: 1181px) {
  .topbar,
  .navbar {
    width: min(1630px, calc(100% - 40px));
    max-width: 1630px;
  }
}

/* Corporate navigation and About page */
.nav-dropdown {
  position: relative;
  flex: 0 0 auto;
}

.nav-dropdown summary {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 17px 0;
  color: var(--ink);
  font: inherit;
  font-weight: 650;
  text-transform: uppercase;
  white-space: nowrap;
  list-style: none;
  cursor: pointer;
}

.nav-dropdown summary::-webkit-details-marker { display: none; }
.nav-dropdown summary svg { width: 14px; height: 14px; transition: transform .2s ease; }
.nav-dropdown[open] summary svg { transform: rotate(180deg); }
.nav-dropdown[open] summary,
.nav-dropdown.is-current summary { color: var(--primary); }

.nav-submenu {
  position: absolute;
  z-index: 80;
  top: calc(122% + 5px);
  left: -16px;
  display: grid;
  width: 225px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 1px;
  box-shadow: 0 18px 45px rgba(4, 35, 71, .16);
}

.nav-links .nav-submenu a {
  padding: 11px 12px;
  border-radius: 5px;
  color: #20364f;
  font-size: 12px;
  line-height: 1.25;
  text-transform: none;
}

.nav-links .nav-submenu a::after { display: none; }
.nav-links .nav-submenu a:hover,
.nav-links .nav-submenu a.is-current { color: var(--primary); background: #eef5fc; }

.home-about {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 5vw, 80px);
  align-items: center;
  min-height: 264px;
  padding: clamp(34px, 4vw, 62px) clamp(22px, 4vw, 70px);
  background: #fff;
  border-top: 1px solid var(--line);
}

.home-about h2 {
  max-width: 680px;
  margin: 8px 0 0;
  color: #052a55;
  font-size: clamp(26px, 2.5vw, 40px);
  line-height: 1.12;
}

.home-about p { max-width: 760px; margin: 0 0 20px; color: var(--muted); font-size: 16px; line-height: 1.72; }
.home-about a { display: inline-flex; align-items: center; gap: 8px; color: var(--primary); font-weight: 750; }
.home-about a svg { width: 17px; }

.about-hero { background: linear-gradient(110deg, #f8fbff, #eaf4ff); }
.about-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 76px); align-items: center; }
.about-intro-image { position: relative; min-height: 420px; overflow: hidden; }
.about-intro-image > img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; }
.about-image-note { position: absolute; right: 0; bottom: 0; display: grid; min-width: 210px; padding: 22px 26px; color: #fff; background: var(--primary); }
.about-image-note strong { font-size: 32px; line-height: 1; }
.about-image-note span { margin-top: 6px; font-size: 12px; font-weight: 650; }
.about-intro-copy h2,
.section-heading-left h2,
.quality-policy h2,
.career-strip h2 { margin: 8px 0 18px; color: #052a55; font-size: clamp(27px, 3vw, 42px); line-height: 1.14; }
.about-intro-copy p { margin: 0 0 15px; color: #4c6178; font-size: 15px; line-height: 1.8; }
.about-intro-copy p a { color: var(--primary); }
.about-intro-copy .btn { margin-top: 8px; }

.about-expertise { background: #f5f8fc; }
.section-heading-left { max-width: 1250px; margin-bottom: 28px; }
.section-heading-left p { color: var(--muted); line-height: 1.7; }
.expertise-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid #d8e4f0; border-bottom: 1px solid #d8e4f0; }
.expertise-grid article { padding: 30px 26px; border-right: 1px solid #d8e4f0; }
.expertise-grid article:last-child { border-right: 0; }
.expertise-grid svg { width: 32px; height: 32px; color: var(--primary); stroke-width: 1.6; }
.expertise-grid h3 { margin: 18px 0 10px; color: #082f5d; font-size: 17px; line-height: 1.35; }
.expertise-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }

.corporate-principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding-top: 0; padding-bottom: 0; background: #c9d9e9; }
.corporate-principles article { position: relative; min-height: 260px; padding: 46px clamp(28px, 4vw, 64px); background: #fff; }
.corporate-principles article > span { position: absolute; top: 25px; right: 30px; color: #dce7f2; font-size: 52px; font-weight: 800; }
.corporate-principles svg { width: 34px; height: 34px; color: var(--primary); }
.corporate-principles h2 { margin: 20px 0 10px; color: #052a55; }
.corporate-principles p { max-width: 600px; margin: 0; color: var(--muted); line-height: 1.75; }

.quality-policy { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); gap: clamp(35px, 6vw, 90px); align-items: center; background: #062b54; color: #fff; }
.quality-policy h2 { color: #fff; }
.quality-policy p { margin: 0; color: #cbdbea; line-height: 1.8; }
.quality-policy ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.quality-policy li { display: flex; align-items: center; gap: 13px; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.quality-policy li svg { flex: 0 0 auto; width: 21px; color: #75c9ff; }

.career-strip { display: flex; align-items: center; justify-content: space-between; gap: 30px; background: #0871c7; color: #fff; }
.career-strip h2 { margin-bottom: 10px; color: #fff; }
.career-strip p { margin: 0; color: #e2f2ff; }
.career-strip .eyebrow { color: #bce5ff; }
.career-strip .btn { flex: 0 0 auto; }

@media (max-width: 1180px) {
  .nav-dropdown { width: 100%; }
  .nav-dropdown summary { justify-content: space-between; width: 100%; padding: 13px 0; }
  .nav-submenu { position: static; width: 100%; margin: 0 0 7px; padding: 3px 0 3px 12px; border: 0; border-left: 2px solid var(--primary); border-radius: 0; box-shadow: none; }
  .nav-links .nav-submenu a { padding: 10px 12px; }
  .expertise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .expertise-grid article:nth-child(2) { border-right: 0; }
  .expertise-grid article:nth-child(-n+2) { border-bottom: 1px solid #d8e4f0; }
}

@media (max-width: 760px) {
  .home-about,
  .about-intro,
  .quality-policy { grid-template-columns: 1fr; }
  .home-about { min-height: 0; gap: 16px; }
  .about-intro-image,
  .about-intro-image > img { min-height: 280px; }
  .about-image-note { min-width: 175px; padding: 17px 20px; }
  .expertise-grid,
  .corporate-principles { grid-template-columns: 1fr; }
  .expertise-grid article { border-right: 0; border-bottom: 1px solid #d8e4f0; }
  .expertise-grid article:last-child { border-bottom: 0; }
  .quality-policy { gap: 24px; }
  .career-strip { display: grid; }
  .career-strip .btn { justify-self: start; }
}

/* Standalone corporate pages */
.corporate-page-hero p { max-width: 800px; }

/* News listing */
.news-listing-page {
  width: min(1630px, calc(100% - 40px));
  max-width: 1630px;
  margin: 18px auto 34px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce6f0;
  border-radius: 6px;
  box-shadow: 0 18px 48px rgba(15, 43, 77, .09);
}
.news-listing-hero {
  padding: 28px 34px 23px;
  background: linear-gradient(110deg, #f8fbff, #eef5fb);
}
.news-listing-hero .eyebrow {
  display: block;
  margin-bottom: 8px;
  color: #0057b8;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
.news-listing-hero h1 {
  max-width: none;
  font-size: clamp(30px, 3vw, 48px);
  line-height: 1.08;
}
.news-listing-hero p {
  max-width: 850px;
  margin-top: 10px;
  color: #6b7a8e;
  font-size: 14px;
}
.news-listing-section { padding: 24px 34px 34px; }
.news-listing-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.news-listing-card {
  min-width: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dbe4ed;
  border-radius: 6px;
  box-shadow: 0 7px 20px rgba(17, 49, 84, .055);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.news-listing-card:hover {
  transform: translateY(-3px);
  border-color: #b8cee3;
  box-shadow: 0 14px 30px rgba(17, 49, 84, .11);
}
.news-card-media {
  position: relative;
  display: block;
  height: 205px;
  overflow: hidden;
  background: #edf3f8;
}
.news-card-media > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.news-listing-card:hover .news-card-media > img { transform: scale(1.025); }
.news-image-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: #7fa5c7; }
.news-image-placeholder svg { width: 46px; height: 46px; }
.news-card-category {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 5px 8px;
  color: #fff;
  background: #004eaa;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
.news-card-body { display: flex; min-height: 214px; padding: 15px 16px 16px; flex-direction: column; align-items: flex-start; }
.news-card-body time { color: #7a8797; font-size: 11px; }
.news-card-body h2 { margin: 8px 0 9px; font-size: 19px; line-height: 1.28; }
.news-card-body h2 a { color: #071b3d; }
.news-card-body p { margin: 0 0 15px; color: #56657a; font-size: 12px; line-height: 1.55; }
.news-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  margin-top: auto;
  padding: 7px 12px;
  color: #fff;
  background: #0057b8;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 800;
}
.news-card-link svg { width: 13px; height: 13px; }

@media (max-width: 900px) {
  .news-listing-page { width: calc(100% - 20px); margin-top: 10px; }
  .news-listing-hero, .news-listing-section { padding-left: 22px; padding-right: 22px; }
  .news-listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .news-listing-page { width: 100%; margin: 0; border-right: 0; border-left: 0; border-radius: 0; box-shadow: none; }
  .news-listing-hero { padding: 24px 18px 20px; }
  .news-listing-hero h1 { font-size: 31px; }
  .news-listing-hero p { font-size: 13px; line-height: 1.55; }
  .news-listing-section { padding: 18px; }
  .news-listing-grid { grid-template-columns: 1fr; gap: 15px; }
  .news-card-media { height: 190px; }
  .news-card-body { min-height: 0; }
}

/* Professional editorial detail */
.editorial-detail-page {
  width: min(1630px, calc(100% - 40px));
  max-width: 1630px;
  margin: 18px auto 36px;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dce6f0;
  border-radius: 6px;
  box-shadow: 0 18px 48px rgba(15, 43, 77, .08);
}
.editorial-breadcrumb {
  display: flex;
  min-height: 52px;
  padding: 0 42px;
  align-items: center;
  gap: 9px;
  color: #63738a;
  border-bottom: 1px solid #e4ebf2;
  font-size: 11px;
}
.editorial-breadcrumb a { display: inline-flex; align-items: center; gap: 6px; color: #35628f; }
.editorial-breadcrumb > svg { width: 13px; height: 13px; color: #98a7b7; }
.editorial-breadcrumb a svg { width: 13px; height: 13px; color: #0057b8; }
.editorial-breadcrumb span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.editorial-masthead {
  padding: 32px 42px 30px;
  background: #f7faff;
  border-bottom: 1px solid #dce6f0;
}
.editorial-meta-line { display: flex; align-items: center; gap: 15px; color: #53647a; }
.editorial-meta-line > span {
  color: #0057b8;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.editorial-meta-line time { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; }
.editorial-meta-line time svg { width: 14px; height: 14px; color: #0057b8; }
.editorial-masthead h1 {
  max-width: 1480px;
  margin: 12px 0 10px;
  color: #071b3d;
  font-size: clamp(36px, 4vw, 36px);
  line-height: 1.08;
  letter-spacing: 0;
}
.editorial-masthead p {
  max-width: 1600px;
  margin: 0;
  color: #4f6076;
  font-size: 16px;
  line-height: 1.65;
}
.editorial-reading-tools { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; margin-top:22px; padding-top:15px; border-top:1px solid rgba(207,220,232,.85); }
.editorial-reading-meta, .editorial-reading-actions, .editorial-font-controls, .editorial-inline-share { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.editorial-reading-meta { color:#5a6d82; font-size:11px; }
.editorial-reading-meta span { display:inline-flex; align-items:center; gap:5px; }
.editorial-reading-meta svg { width:14px; height:14px; color:#0057b8; }
.editorial-font-controls { overflow:hidden; border:1px solid #cbddec; border-radius:5px; background:#fff; }
.editorial-font-controls button, .editorial-print-button, .editorial-inline-share a, .editorial-inline-share button { display:inline-flex; min-height:32px; align-items:center; justify-content:center; gap:6px; padding:0 10px; color:#0b457d; border:1px solid #cbddec; background:#fff; font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.editorial-font-controls button { min-width:31px; padding:0 7px; border:0; border-right:1px solid #e0e8f0; }
.editorial-font-controls button:last-child { border-right:0; }
.editorial-print-button { color:#fff; border-color:#0057b8; background:#0057b8; border-radius:5px; }
.editorial-print-button svg, .editorial-inline-share svg { width:15px; height:15px; }
.editorial-inline-share > span { color:#53677e; font-size:11px; font-weight:700; }
.editorial-inline-share a, .editorial-inline-share button { width:32px; padding:0; border-radius:5px; text-decoration:none; }
.editorial-inline-share .share-brand { font-size:12px; font-weight:800; }
.editorial-inline-share button.is-copied { color:#087847; border-color:#8bd1ad; background:#effaf4; }
.editorial-reading-tools button:hover, .editorial-reading-tools a:hover { border-color:#0057b8; color:#000000; }
.editorial-speech-controls { display:flex; align-items:center; gap:6px; }
.editorial-speech-controls [hidden] { display:none !important; }
.editorial-speech-controls button { display:inline-flex; min-height:32px; align-items:center; justify-content:center; gap:6px; padding:0 10px; color:#0b457d; border:1px solid #cbddec; border-radius:5px; background:#fff; font:inherit; font-size:11px; font-weight:700; cursor:pointer; }
.editorial-speech-controls button[data-speech-toggle][aria-pressed="true"] { color:#fff; border-color:#0057b8; background:#0057b8; }
.editorial-speech-controls button svg { width:15px; height:15px; }
.editorial-speech-controls label { display:flex; min-height:32px; align-items:center; gap:5px; padding-left:8px; color:#53677e; border:1px solid #cbddec; border-radius:5px; background:#fff; font-size:10px; font-weight:700; }
.editorial-speech-controls label[hidden] { display:none !important; }
.editorial-speech-controls select { min-height:30px; padding:0 7px 0 3px; color:#0b457d; border:0; background:#fff; font-size:11px; font-weight:700; outline:none; }
.editorial-speech-controls .editorial-voice-select select { max-width:150px; }
.editorial-speech-controls [data-speech-summary][aria-pressed="true"] { color:#fff; border-color:#0878a8; background:#0878a8; }
.editorial-speech-status { max-width:110px; overflow:hidden; color:#53677e; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.editorial-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.45fr) minmax(280px, .85fr);
  gap: 42px;
  padding: 30px 42px 42px;
}
.editorial-main-column { min-width: 0; }
.editorial-featured-image { margin: 0 0 28px; }
.editorial-featured-image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 8.4;
  object-fit: cover;
  background: #eef3f8;
  border: 1px solid #dce6f0;
  border-radius: 5px;
}
.editorial-featured-image figcaption { margin-top: 8px; color: #7a8797; font-size: 10px; font-style: italic; text-align: center; }
.editorial-rich-content { color: #263a54; font-size: 15px; line-height: 1.78; }
.editorial-rich-content > :first-child { margin-top: 0; }
.editorial-rich-content h2 { margin: 30px 0 10px; color: #0752a1; font-size: 25px; line-height: 1.25; }
.editorial-rich-content h3 { margin: 24px 0 9px; color: #0b2548; font-size: 20px; }
.editorial-rich-content p { margin: 0 0 16px; }
.editorial-rich-content ul, .editorial-rich-content ol { margin: 12px 0 20px; padding-left: 22px; }
.editorial-rich-content li { margin: 7px 0; }
.editorial-rich-content blockquote {
  margin: 24px 0;
  padding: 15px 18px;
  color: #294c72;
  background: #f4f8fc;
  border-left: 3px solid #0057b8;
}
.editorial-rich-content img { max-width: 100%; height: auto; border-radius: 4px; }
.editorial-rich-content table { width: 100%; margin: 20px 0; border-collapse: collapse; }
.editorial-rich-content th, .editorial-rich-content td { padding: 11px 12px; border: 1px solid #dce6f0; text-align: left; }
.editorial-rich-content th { color: #0b315f; background: #f1f6fb; }
.editorial-rich-content [data-speech-sentence],
.editorial-masthead h1,
.editorial-masthead > p { transition: color .2s ease,background-color .2s ease,box-shadow .2s ease; }
.editorial-rich-content [data-speech-sentence].is-speech-active {
  color: #073e78;
  border-radius: 3px;
  background: rgba(39, 137, 230, .16);
  box-shadow: 0 0 0 3px rgba(39, 137, 230, .16);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.editorial-masthead h1.is-speech-active {
  border-radius: 5px;
  background: rgba(39, 137, 230, .12);
  box-shadow: 0 0 0 7px rgba(39, 137, 230, .12);
}
.editorial-masthead > p.is-speech-active {
  color: #164d82;
  border-radius: 4px;
  background: rgba(39, 137, 230, .12);
  box-shadow: 0 0 0 5px rgba(39, 137, 230, .12);
}
.editorial-article-footer {
  display: flex;
  margin-top: 34px;
  padding-top: 18px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid #dce6f0;
}
.editorial-article-footer > div { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.editorial-article-footer > div strong { margin-right: 3px; color: #0b2548; font-size: 11px; text-transform: uppercase; }
.editorial-article-footer > div span { padding: 5px 7px; color: #4b6179; background: #f3f7fb; border-radius: 3px; font-size: 10px; }
.editorial-article-footer .editorial-bottom-share { display:flex; align-items:center; gap:7px; }
.editorial-bottom-share a, .editorial-bottom-share button { display:inline-flex; width:30px; height:30px; align-items:center; justify-content:center; padding:0; color:#0b457d; border:1px solid #cbddec; border-radius:5px; background:#fff; font:inherit; font-size:11px; font-weight:800; cursor:pointer; text-decoration:none; }
.editorial-bottom-share a:hover, .editorial-bottom-share button:hover { color:#0057b8; border-color:#0057b8; }
.editorial-bottom-share svg { width:15px; height:15px; }
.editorial-article-footer > a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; color: #0057b8; font-size: 11px; font-weight: 800; }
.editorial-article-footer > a svg { width: 14px; height: 14px; }
.editorial-sidebar {
  position: sticky;
  top: 110px;
  align-self: start;
  padding-left: 30px;
  border-left: 1px solid #cfdce8;
}
.editorial-sidebar h2 {
  position: relative;
  margin: 0 0 17px;
  padding-bottom: 9px;
  color: #0b2548;
  font-size: 16px;
  text-transform: uppercase;
}
.editorial-sidebar h2::after { position: absolute; bottom: 0; left: 0; width: 72px; height: 2px; background: #0057b8; content: ""; }
.editorial-info-panel { padding-bottom: 20px; border-bottom: 1px solid #d6e1eb; }
.editorial-info-panel > div { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 10px; margin: 0 0 16px; }
.editorial-info-panel > div > svg { width: 22px; height: 22px; color: #0063c8; }
.editorial-info-panel p { display: grid; gap: 3px; margin: 0; }
.editorial-info-panel strong { color: #0752a1; font-size: 11px; }
.editorial-info-panel span { color: #53647a; font-size: 11px; line-height: 1.45; }
.editorial-share { padding: 18px 0; border-bottom: 1px solid #d6e1eb; }
.editorial-share h2 { margin-bottom: 12px; padding-bottom: 0; font-size: 12px; }
.editorial-share h2::after { display: none; }
.editorial-share > div { display: flex; gap: 7px; }
.editorial-share a {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  color: #fff;
  background: #0752a1;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 800;
}
.editorial-share a:nth-child(2) { background: #111; }
.editorial-share a:nth-child(4) { background: #6b7280; }
.editorial-share a svg { width: 15px; height: 15px; }
.editorial-share .share-brand,.project-detail-share .share-brand { color:#fff; font-size:12px; font-weight:900; line-height:1; text-transform:none; }
.editorial-product-cta {
  display: grid;
  grid-template-columns: 26px 1fr 18px;
  min-height: 52px;
  margin: 18px 0 22px;
  padding: 0 14px;
  align-items: center;
  color: #0057b8;
  border: 1px solid #0057b8;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 800;
}
.editorial-product-cta svg { width: 18px; height: 18px; }
.editorial-related > div { display: grid; gap: 12px; }
.editorial-related > div > a { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: 11px; align-items: center; }
.editorial-related img, .related-image-placeholder { display: grid; width: 82px; height: 56px; object-fit: cover; place-items: center; color: #6c8ead; background: #eef3f8; border-radius: 4px; }
.related-image-placeholder svg { width: 22px; height: 22px; }
.editorial-related a > span:last-child { display: grid; gap: 5px; }
.editorial-related strong { color: #0b315f; font-size: 11px; line-height: 1.35; }
.editorial-related small { color: #7a8797; font-size: 9px; }

@media (max-width: 980px) {
  .editorial-detail-page { width: calc(100% - 20px); margin-top: 10px; }
  .editorial-breadcrumb, .editorial-masthead { padding-left: 26px; padding-right: 26px; }
  .editorial-layout { grid-template-columns: 1fr; gap: 32px; padding: 26px; }
  .editorial-sidebar { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; padding: 24px 0 0; border-top: 1px solid #cfdce8; border-left: 0; }
  .editorial-info-panel { grid-row: span 2; border-bottom: 0; }
  .editorial-share { padding-top: 0; }
  .editorial-product-cta { margin: 0; }
  .editorial-related { grid-column: 1 / -1; }
  .editorial-related > div { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .editorial-detail-page { width: 100%; margin: 0; border-right: 0; border-left: 0; border-radius: 0; box-shadow: none; }
  .editorial-breadcrumb { min-height: 46px; padding: 0 18px; }
  .editorial-breadcrumb span { display: none; }
  .editorial-masthead { padding: 24px 18px 22px; }
  .editorial-meta-line { flex-wrap: wrap; gap: 10px; }
  .editorial-masthead h1 { margin-top: 10px; font-size: 33px; }
  .editorial-masthead p { font-size: 14px; line-height: 1.55; }
  .editorial-reading-tools { align-items:stretch; flex-direction:column; }
  .editorial-reading-meta, .editorial-reading-actions { width:100%; }
  .editorial-reading-actions { justify-content:space-between; }
  .editorial-speech-controls { order:3; width:100%; }
  .editorial-speech-status { max-width:none; }
  .editorial-inline-share > span { display:none; }
  .editorial-layout { padding: 18px; }
  .editorial-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; }
  .editorial-rich-content { font-size: 14px; line-height: 1.72; }
  .editorial-rich-content h2 { font-size: 22px; }
  .editorial-article-footer { align-items: flex-start; flex-direction: column; }
  .editorial-sidebar { grid-template-columns: 1fr; gap: 20px; }
  .editorial-info-panel { grid-row: auto; }
  .editorial-related { grid-column: auto; }
  .editorial-related > div { grid-template-columns: 1fr; }
}

@media print {
  body { background:#fff !important; }
  .site-header, .footer, .rst-site-loader, .mobile-action-bar, .quick-contact, .quote-drawer, .editorial-breadcrumb, .editorial-sidebar, .editorial-reading-tools, .editorial-article-footer, .content-reviews, .editorial-featured-image figcaption { display:none !important; }
  .editorial-detail-page, .editorial-detail, .editorial-layout, .editorial-main-column { width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; background:#fff !important; }
  .editorial-masthead { padding:0 0 18px !important; border-bottom:1px solid #bbb; }
  .editorial-masthead h1 { color:#000 !important; font-size:25pt !important; }
  .editorial-masthead p, .editorial-rich-content { color:#000 !important; }
  .is-speech-active { background:transparent !important; box-shadow:none !important; }
  .editorial-featured-image img { max-height:240px; object-fit:contain; }
  a { color:#000 !important; text-decoration:none !important; }
}

/* Project directory */
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.project-listing-page {
  width: min(1630px, calc(100% - 40px));
  max-width: 1630px;
  margin: 18px auto 36px;
  overflow: hidden;
  background: #f8fbfe;
  border: 1px solid #dce6f0;
  border-radius: 6px;
  box-shadow: 0 18px 48px rgba(15,43,77,.08);
}
.project-listing-hero {
  position: relative;
  min-height: 150px;
  padding: 34px 42px;
  overflow: hidden;
  background-color: #edf5fb;
  background-image: url('/assets/img/reference/hero-device.jpg');
  background-repeat: no-repeat;
  background-position: right center;
  background-size: auto 190%;
}
.project-listing-hero::before { position:absolute; inset:0; background:rgba(241,247,252,.82); content:""; }
.project-listing-hero h1, .project-listing-hero nav { position:relative; z-index:1; }
.project-listing-hero h1 { margin:0 0 16px; color:#0b315f; font-size:clamp(30px,3.2vw,46px); line-height:1.05; }
.project-listing-hero nav { display:flex; align-items:center; gap:8px; color:#68798d; font-size:11px; }
.project-listing-hero nav a { color:#3b5878; }
.project-listing-hero nav svg { width:13px; height:13px; }
.project-listing-section { padding:0; }
.project-directory { padding:0 0 28px; }
.project-filters {
  display:grid;
  grid-template-columns:minmax(260px,2fr) minmax(135px,1fr) minmax(150px,1fr) minmax(100px,.75fr) auto auto;
  gap:16px;
  padding:28px 26px 24px;
  align-items:end;
  background:#fff;
  border-bottom:1px solid #e2eaf2;
}
.project-filters label { display:grid; gap:7px; color:#4c5f76; font-size:10px; }
.project-filters input, .project-filters select {
  width:100%;
  min-height:44px;
  padding:0 13px;
  color:#173452;
  background:#fff;
  border:1px solid #cddae6;
  border-radius:5px;
  font:inherit;
  font-size:13px;
}
.project-search-field { position:relative; }
.project-search-field input { padding-right:40px; }
.project-search-field > svg { position:absolute; right:13px; bottom:13px; width:17px; height:17px; color:#315c87; }
.project-filter-submit, .project-filter-reset {
  display:inline-flex;
  min-height:44px;
  padding:0 15px;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:5px;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}
.project-filter-submit { color:#fff; background:#064b96; border:1px solid #064b96; cursor:pointer; }
.project-filter-reset { color:#314e6d; background:#fff; border:1px solid #cddae6; }
.project-filter-submit svg, .project-filter-reset svg { width:15px; height:15px; }
.project-table-wrap { padding:18px 24px 0; }
.project-table-head, .project-table-row {
  display:grid;
  grid-template-columns:minmax(300px,3fr) minmax(120px,1.35fr) minmax(90px,.95fr) minmax(125px,1.3fr) minmax(46px,.45fr) minmax(90px,.9fr) minmax(82px,.72fr);
  gap:14px;
  align-items:center;
}
.project-table-head { min-height:36px; padding:0 16px; color:#50637a; font-size:12px; font-weight:800; text-transform:uppercase; }
.project-table-body { display:grid; gap:8px; }
.project-table-row {
  min-height:104px;
  padding:13px 16px;
  color:#2d455e;
  background:#fff;
  border:1px solid #e0e8f0;
  border-radius:6px;
  box-shadow:0 5px 15px rgba(23,52,82,.045);
  font-size:11px;
}
.project-name-cell { display:grid; grid-template-columns:110px minmax(0,1fr); gap:16px; align-items:center; }
.project-name-cell img, .project-thumb-placeholder { display:grid; width:110px; height:72px; object-fit:cover; place-items:center; color:#6f93b6; background:#edf3f8; border-radius:5px; }
.project-thumb-placeholder svg { width:28px; height:28px; }
.project-name-cell > span:last-child { display:grid; gap:8px; min-width:0; }
.project-name-cell strong { color:#0b315f; font-size:12px; line-height:1.35; }
.project-name-cell small { display:-webkit-box; overflow:hidden; color:#68798d; font-size:10px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.project-category-badge, .project-status-badge { display:inline-flex; min-height:23px; padding:4px 8px; align-items:center; border-radius:4px; font-size:9px; white-space:nowrap; }
.project-category-badge.is-1 { color:#0752a1; background:#e9f3ff; }
.project-category-badge.is-2 { color:#087443; background:#e9f8ef; }
.project-category-badge.is-3 { color:#7047a5; background:#f3ecfb; }
.project-status-badge.is-completed { color:#16834b; background:#e8f8ed; }
.project-status-badge.is-ongoing { color:#0864bd; background:#e8f3ff; }
.project-status-badge.is-planned { color:#8a5800; background:#fff3d5; }
.project-status-badge.is-paused { color:#a13731; background:#ffedeb; }
.project-detail-cell a { display:inline-flex; min-height:36px; padding:0 13px; align-items:center; justify-content:center; gap:9px; color:#254568; border:1px solid #cbd9e6; border-radius:5px; font-size:10px; font-weight:700; white-space:nowrap; }
.project-detail-cell svg { width:14px; height:14px; }
.project-empty { display:grid; min-height:240px; place-items:center; align-content:center; gap:8px; color:#68798d; background:#fff; border:1px solid #e0e8f0; border-radius:6px; text-align:center; }
.project-empty svg { width:34px; height:34px; color:#4f7da7; }
.project-empty strong { color:#183a5d; }
.project-empty p { margin:0; font-size:11px; }
.project-table-footer { display:flex; min-height:66px; padding:0 6px; align-items:center; justify-content:space-between; gap:18px; }
.project-table-footer p { margin:0; color:#728196; font-size:10px; }
.project-pagination { display:flex; gap:5px; }
.project-pagination a { display:grid; width:42px; height:42px; place-items:center; color:#294c72; background:#fff; border:1px solid #d4e0ea; border-radius:4px; font-size:10px; font-weight:800; }
.project-pagination a.is-active { color:#fff; background:#064b96; border-color:#064b96; }
.project-pagination svg { width:14px; height:14px; }
.news-pagination { justify-content:center; align-items:center; flex-wrap:wrap; gap:7px; margin:34px auto 0; }
.news-pagination a { display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center; gap:6px; color:#294c72; background:#fff; border:1px solid #d4e0ea; border-radius:4px; font-size:12px; font-weight:800; white-space:nowrap; }
.news-pagination a.is-active { color:#fff; background:#064b96; border-color:#064b96; }
.news-pagination a:first-child:has(span),.news-pagination a:last-child:has(span) { width:auto; padding:0 14px; }
.news-pagination a span { display:inline-flex; align-items:center; line-height:1; }
.news-pagination a svg { flex:0 0 auto; width:14px; height:14px; }
.news-pagination .pagination-ellipsis { display:grid; width:24px; height:38px; place-items:center; color:#718096; font-weight:700; }

@media (max-width:1150px) {
  .project-filters { grid-template-columns:2fr 1fr 1fr .8fr; }
  .project-filter-submit, .project-filter-reset { grid-column:auto; }
  .project-table-wrap { overflow-x:auto; }
  .project-table-head, .project-table-row { min-width:1050px; }
}
@media (max-width:760px) {
  .project-listing-page { width:100%; margin:0; border-right:0; border-left:0; border-radius:0; box-shadow:none; }
  .project-listing-hero { min-height:128px; padding:28px 18px; background-position:70% center; }
  .project-listing-hero h1 { font-size:32px; }
  .project-filters { grid-template-columns:1fr 1fr; gap:12px; padding:18px; }
  .project-search-field { grid-column:1 / -1; }
  .project-filter-submit, .project-filter-reset { width:100%; }
  .project-table-wrap { padding:16px 14px 0; overflow:visible; }
  .project-table-head { display:none; }
  .project-table-row { display:grid; min-width:0; grid-template-columns:1fr 1fr; gap:14px 18px; padding:14px; }
  .project-table-row > div:not(.project-name-cell):not(.project-detail-cell)::before { display:block; margin-bottom:5px; color:#7a899a; content:attr(data-label); font-size:8px; font-weight:800; text-transform:uppercase; }
  .project-name-cell { grid-column:1 / -1; grid-template-columns:96px minmax(0,1fr); }
  .project-name-cell img, .project-thumb-placeholder { width:96px; height:68px; }
  .project-detail-cell { grid-column:1 / -1; }
  .project-detail-cell a { width:100%; }
  .project-table-footer { padding:16px 0; align-items:flex-start; flex-direction:column; }
}
@media (max-width:460px) {
  .project-filters { grid-template-columns:1fr; }
  .project-search-field { grid-column:auto; }
  .project-table-row { grid-template-columns:1fr; }
  .project-name-cell, .project-detail-cell { grid-column:auto; }
}

/* Project detail */
.project-detail-page {
  width:min(1630px,calc(100% - 40px));
  max-width:1630px;
  margin:18px auto 36px;
  padding:0 42px 28px;
  background:#fff;
  border:1px solid #dce6f0;
  border-radius:6px;
  box-shadow:0 18px 48px rgba(15,43,77,.08);
}
.project-detail-breadcrumb { display:flex; min-height:54px; align-items:center; gap:8px; color:#66788d; font-size:10px; }
.project-detail-breadcrumb a { color:#315c87; }
.project-detail-breadcrumb svg { width:13px; height:13px; }
.project-detail-breadcrumb span { min-width:0; overflow:hidden; color:#0b315f; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.project-detail-intro { display:grid; grid-template-columns:minmax(0,.92fr) minmax(620px,1.08fr); gap:36px; padding:10px 0 34px; align-items:center; }
.project-detail-intro h3 { max-width:660px; margin:0 0 14px; color:#0a2d5c; font-size:18px; line-height:1.35; }
.project-detail-intro p { max-width:690px; margin:0; color:#5c6e82; font-size:13px; line-height:1.6; }
.project-summary-bar {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  min-height:142px;
  padding:18px 8px;
  align-items:stretch;
  background:#fff;
  border:1px solid #dbe6f0;
  border-radius:7px;
  box-shadow:0 12px 30px rgba(19,54,91,.08);
}
.project-summary-bar > div { display:flex; min-width:0; padding:5px 16px; align-items:center; justify-content:center; flex-direction:column; gap:7px; text-align:center; }
.project-summary-bar > div + div { border-left:1px solid #e1e9f1; }
.project-summary-bar svg { width:25px; height:25px; color:#0a4e9b; }
.project-summary-bar small { color:#48617b; font-size:9px; }
.project-summary-bar strong { color:#0b315f; font-size:10px; line-height:1.45; overflow-wrap:anywhere; }
.project-detail-media-layout { display:grid; grid-template-columns:minmax(0,2.55fr) minmax(300px,.9fr); gap:34px; align-items:start; }
.project-detail-image { margin:0; overflow:hidden; background:#eef4f8; border:1px solid #dce6ef; border-radius:6px; }
.project-detail-image img { display:block; width:100%; aspect-ratio:16 / 8.1; object-fit:cover; }
.project-gallery-stage { position:relative; }
.project-gallery-stage > img { cursor:zoom-in; }
.project-gallery-arrow { position:absolute; top:50%; display:grid; width:42px; height:42px; place-items:center; color:#0a4d91; background:rgba(255,255,255,.94); border:1px solid #d2e0ed; border-radius:50%; box-shadow:0 6px 18px rgba(9,44,78,.16); transform:translateY(-50%); cursor:pointer; }
.project-gallery-arrow.is-prev { left:14px; }
.project-gallery-arrow.is-next { right:14px; }
.project-gallery-arrow svg { width:20px; height:20px; }
.project-gallery-thumbs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:10px; }
.project-gallery-thumbs button { padding:0; overflow:hidden; background:#fff; border:1px solid #d8e4ef; border-radius:5px; cursor:pointer; }
.project-gallery-thumbs button.is-active { border-color:#0968c7; box-shadow:0 0 0 2px rgba(9,104,199,.16); }
.project-gallery-thumbs img { display:block; width:100%; aspect-ratio:16 / 9; object-fit:cover; }
.project-detail-image > span { display:grid; width:100%; aspect-ratio:16 / 8.1; place-items:center; color:#7a9dbc; }
.project-detail-image > span svg { width:64px; height:64px; }
.project-detail-info { padding:20px 22px 18px; background:#fff; border:1px solid #dce6f0; border-radius:6px; box-shadow:0 9px 24px rgba(20,51,84,.07); }
.project-detail-info > h2 { position:relative; margin:0 0 22px; padding-bottom:10px; color:#0b315f; font-size:16px; }
.project-detail-info > h2::after { position:absolute; bottom:0; left:0; width:70px; height:2px; background:#0057b8; content:""; }
.project-detail-info > div { display:grid; grid-template-columns:25px minmax(0,1fr); gap:10px; margin-bottom:16px; }
.project-detail-info > div > svg { width:20px; height:20px; color:#0662bd; }
.project-detail-info p { display:grid; gap:3px; margin:0; }
.project-detail-info p strong { color:#0752a1; font-size:10px; }
.project-detail-info p span { color:#5c6e82; font-size:10px; line-height:1.5; }
.project-detail-share { margin-top:18px; padding-top:17px; border-top:1px solid #dce6f0; }
.project-detail-share h3 { margin:0 0 12px; color:#203f61; font-size:10px; }
.project-detail-share > div { display:flex; gap:7px; }
.project-detail-share a { display:grid; width:30px; height:30px; place-items:center; color:#fff; background:#0752a1; border-radius:4px; font-size:11px; font-weight:800; }
.project-detail-share a:nth-child(2) { background:#111; }
.project-detail-share a:nth-child(4) { background:#7b828c; }
.project-detail-share svg { width:14px; height:14px; }
.project-brochure-link { display:grid; grid-template-columns:20px 1fr 16px; min-height:46px; margin-top:18px; padding:0 12px; align-items:center; color:#0752a1; border:1px solid #c8d8e7; border-radius:5px; font-size:10px; font-weight:800; }
.project-brochure-link svg { width:15px; height:15px; }
.project-detail-lower { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(600px,1.85fr); gap:34px; margin-top:28px; align-items:start; }
.project-about h2 { margin:0 0 10px; color:#0b315f; font-size:16px; }
.project-about .rich-content { color:#52657a; font-size:11px; line-height:1.75; }
.project-about .rich-content p { margin:0 0 10px; }
.project-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.project-feature-grid article { display:grid; grid-template-columns:42px minmax(0,1fr); min-height:106px; padding:16px; gap:12px; align-items:start; background:#fff; border:1px solid #dfe8f0; border-radius:6px; }
.project-feature-grid article > svg { width:36px; height:36px; padding:8px; color:#0563c3; background:#edf5ff; border-radius:50%; }
.project-feature-grid article div { display:grid; gap:6px; }
.project-feature-grid strong { color:#0b315f; font-size:11px; }
.project-feature-grid p { margin:0; color:#68798d; font-size:9px; line-height:1.5; }

@media (max-width:1100px) {
  .project-detail-intro { grid-template-columns:1fr; }
  .project-detail-media-layout { grid-template-columns:minmax(0,1.9fr) minmax(270px,.85fr); }
  .project-detail-lower { grid-template-columns:1fr; }
}
@media (max-width:820px) {
  .project-detail-page { width:calc(100% - 20px); padding:0 24px 28px; }
  .project-summary-bar { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .project-summary-bar > div:nth-child(3) { border-left:0; }
  .project-summary-bar > div:nth-child(n+3) { border-top:1px solid #e1e9f1; }
  .project-detail-media-layout { grid-template-columns:1fr; }
  .project-detail-info { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
  .project-detail-info > h2, .project-detail-share, .project-brochure-link { grid-column:1 / -1; }
}
@media (max-width:640px) {
  .project-detail-page { width:100%; margin:0; padding:0 18px 24px; border-right:0; border-left:0; border-radius:0; box-shadow:none; }
  .project-detail-breadcrumb span { display:none; }
  .project-detail-intro { gap:24px; padding-top:4px; }
  .project-detail-intro h3 { font-size:18px; }
  .project-summary-bar { min-height:0; padding:8px; }
  .project-summary-bar > div { min-height:108px; padding:12px 8px; }
  .project-detail-image img, .project-detail-image > span { aspect-ratio:4 / 3; }
  .project-detail-info { grid-template-columns:1fr; }
  .project-detail-info > h2, .project-detail-share, .project-brochure-link { grid-column:auto; }
  .project-feature-grid { grid-template-columns:1fr; }
  .project-feature-grid article { min-height:0; }
}
.corporate-principles-page { margin-top: clamp(30px, 4vw, 58px); margin-bottom: clamp(30px, 4vw, 58px); }
.corporate-values { background: #f5f8fc; }
.value-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #d8e4f0; border-bottom: 1px solid #d8e4f0; }
.value-grid article { padding: 30px; border-right: 1px solid #d8e4f0; }
.value-grid article:last-child { border-right: 0; }
.value-grid svg { width: 31px; height: 31px; color: var(--primary); stroke-width: 1.7; }
.value-grid h3 { margin: 17px 0 9px; color: #082f5d; font-size: 18px; }
.value-grid p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.corporate-cta,
.hr-application { display: flex; align-items: center; justify-content: space-between; gap: 35px; color: #fff; background: #0871c7; }
.corporate-cta h2,
.hr-application h2 { max-width: 900px; margin: 8px 0 0; color: #fff; font-size: clamp(25px, 3vw, 40px); line-height: 1.15; }
.corporate-cta .eyebrow,
.hr-application .eyebrow { color: #c4e8ff; }
.corporate-cta .btn,
.hr-application .btn { flex: 0 0 auto; }
.quality-policy-page { margin: clamp(30px, 4vw, 58px) 0 0; }
.hr-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 78px); align-items: center; }
.hr-intro h2 { margin: 8px 0 18px; color: #052a55; font-size: clamp(28px, 3vw, 43px); line-height: 1.14; }
.hr-intro p { color: var(--muted); line-height: 1.8; }
.hr-visual { min-height: 390px; overflow: hidden; }
.hr-visual img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; }
.hr-application p { max-width: 790px; margin: 11px 0 0; color: #e2f2ff; line-height: 1.7; }

@media (max-width: 760px) {
  .value-grid,
  .hr-intro { grid-template-columns: 1fr; }
  .value-grid article { border-right: 0; border-bottom: 1px solid #d8e4f0; }
  .value-grid article:last-child { border-bottom: 0; }
  .corporate-cta,
  .hr-application { display: grid; }
  .corporate-cta .btn,
  .hr-application .btn { justify-self: start; }
  .hr-visual,
  .hr-visual img { min-height: 280px; }
}

/* Managed page templates */
.cms-section { padding:64px clamp(20px,5vw,76px); border-bottom:1px solid var(--line); background:#fff; }
.cms-section.cms-spacing-small { padding-top:38px; padding-bottom:38px; }
.cms-section.cms-spacing-large { padding-top:92px; padding-bottom:92px; }
.cms-section-inner { width:100%; max-width:1280px; margin:0 auto; }
.cms-section h2 { margin:0 0 14px; color:#06234b; font-size:36px; line-height:1.15; }
.cms-lead { max-width:820px; margin:0 0 30px; color:#58708c; font-size:18px; line-height:1.7; }
.cms-rich-section .rich-content { max-width:900px; color:#314b68; font-size:16px; line-height:1.85; }
.cms-rich-section.cms-rich-columns-2 .rich-content,.cms-rich-section.cms-rich-columns-3 .rich-content { max-width:none; column-gap:clamp(28px,5vw,64px); }
.cms-rich-section.cms-rich-columns-2 .rich-content { column-count:2; }
.cms-rich-section.cms-rich-columns-3 .rich-content { column-count:3; }
.cms-rich-section .rich-content > * { break-inside:avoid; }
.cms-image-text .cms-section-inner { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(36px,6vw,86px); }
.cms-image-text.is-reverse figure { order:2; }
.cms-image-text figure { margin:0; min-height:360px; aspect-ratio:4/3; overflow:hidden; border-radius:6px; background:#edf3f9; }
.cms-image-text figure img { width:100%; height:100%; object-fit:var(--cms-image-fit,cover); object-position:var(--cms-image-focus,center center); display:block; }
.cms-image-text .rich-content { color:#415b76; font-size:16px; line-height:1.8; }
.cms-image-text .btn { margin-top:20px; }
.cms-features { background:#f7fafe; }
.cms-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; margin-top:30px; border:1px solid #dce7f2; background:#dce7f2; }
.cms-feature-grid article { display:flex; gap:16px; min-height:148px; padding:26px; background:#fff; }
.cms-feature-grid article > svg { flex:0 0 auto; width:30px; height:30px; color:var(--primary); }
.cms-feature-grid h3 { margin:0 0 8px; color:#082b59; font-size:17px; }
.cms-feature-grid p { margin:0; color:#61758c; line-height:1.6; }
.cms-stats { color:#fff; background:#07264b; }
.cms-stats h2 { color:#fff; }
.cms-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.cms-stat-grid > div { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; gap:2px 14px; align-items:center; min-height:130px; padding:24px 30px; border-right:1px solid rgba(255,255,255,.16); }
.cms-stat-grid > div:last-child { border-right:0; }
.cms-stat-grid svg { grid-row:1/3; width:34px; height:34px; color:#65c9ee; }
.cms-stat-grid strong { font-size:32px; line-height:1; }
.cms-stat-grid span { color:#c6d8eb; font-size:13px; text-transform:uppercase; }
.cms-cta { color:#fff; background:#075eb5; }
.cms-cta .cms-section-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.cms-cta h2 { color:#fff; }
.cms-cta p { margin:0; color:#dcecff; font-size:17px; }
.cms-cta .btn { flex:0 0 auto; }
.cms-faq-list { max-width:960px; margin-top:24px; border-top:1px solid #dce6f0; }
.cms-faq-list details { border-bottom:1px solid #dce6f0; }
.cms-faq-list summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 4px; color:#0a315f; font-weight:700; cursor:pointer; list-style:none; }
.cms-faq-list summary::-webkit-details-marker { display:none; }
.cms-faq-list summary svg { width:20px; color:var(--primary); }
.cms-faq-list details[open] summary svg { transform:rotate(45deg); }
.cms-faq-list details p { margin:0; padding:0 34px 22px 4px; color:#5b7189; line-height:1.75; }
@media (max-width:900px){.cms-section.cms-mobile-hide{display:none!important}.cms-section{padding:42px 20px}.cms-section.cms-spacing-small{padding-top:30px;padding-bottom:30px}.cms-section.cms-spacing-large{padding-top:58px;padding-bottom:58px}.cms-rich-section.cms-rich-columns-2 .rich-content,.cms-rich-section.cms-rich-columns-3 .rich-content{column-count:1}.cms-image-text .cms-section-inner{grid-template-columns:1fr;gap:28px}.cms-image-text.is-reverse figure{order:0}.cms-image-text figure{min-height:260px}.cms-feature-grid{grid-template-columns:1fr}.cms-stat-grid{grid-template-columns:repeat(2,1fr)}.cms-stat-grid>div:nth-child(2){border-right:0}.cms-cta .cms-section-inner{align-items:flex-start;flex-direction:column}}
@media (max-width:520px){.cms-stat-grid{grid-template-columns:1fr}.cms-stat-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.cms-stat-grid>div:last-child{border-bottom:0}.cms-feature-grid article{min-height:0;padding:22px}.cms-section h2{font-size:28px}}

@media (max-width:1180px){
  .service-premium-hero {
    grid-template-columns: 1fr;
    width: min(980px, calc(100% - 42px));
    padding: 42px;
  }
  .service-premium-topline { display: none; }
  .service-premium-visual { min-height: 480px; }
  .service-product-cluster {
    width: min(92%, 620px);
    min-height: 430px;
    transform: translateY(-10px);
  }
}

@media (max-width:720px){
  .service-premium-hero {
    width: calc(100% - 24px);
    margin-top: 10px;
    padding: 26px 18px 20px;
  }
  .service-premium-hero::before { inset: 10px; }
  .service-premium-phone-pill {
    width: 100%;
    justify-content: center;
    margin-bottom: 20px;
    padding: 0 12px;
    font-size: 12px;
  }
  .service-premium-copy .eyebrow {
    align-items: flex-start;
    font-size: 11px;
    line-height: 1.35;
  }
  .service-premium-copy h1 {
    font-size: 31px;
    line-height: 1.08;
  }
  .service-premium-copy > p {
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.6;
  }
  .service-premium-actions {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
    margin-top: 22px;
  }
  .service-premium-actions .btn,
  .service-premium-link {
    justify-content: center;
    width: 100%;
  }
  .service-premium-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 24px;
    padding-top: 16px;
  }
  .service-premium-badges span {
    min-height: 86px;
    padding: 12px 8px;
    font-size: 12px;
  }
  .service-premium-badges svg {
    width: 25px;
    height: 25px;
  }
  .service-premium-visual {
    min-height: 360px;
  }
  .service-product-cluster {
    width: 100%;
    min-height: 310px;
    transform: translateY(-6px);
  }
  .cluster-device-main {
    width: 43%;
  }
  .cluster-device-left {
    left: 2%;
    width: 31%;
  }
  .cluster-device-right {
    right: 0;
    width: 38%;
  }
  .service-premium-visual figcaption {
    right: 12px;
    bottom: 10px;
    left: 12px;
    min-width: 0;
    padding: 13px;
  }
  .service-premium-visual figcaption > svg {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    padding: 8px;
  }
  .service-premium-visual figcaption strong { font-size: 17px; }
  .service-premium-visual figcaption small { font-size: 12px; }
}

.cms-section.cms-width-normal .cms-section-inner { max-width:960px; }
.cms-section.cms-theme-soft { background:#f3f7fb; }
.cms-section.cms-theme-dark { color:#fff; background:#071f3d; }
.cms-section.cms-theme-brand { color:#fff; background:var(--primary); }
.cms-section.cms-theme-dark h2,.cms-section.cms-theme-dark h3,.cms-section.cms-theme-dark .cms-lead,.cms-section.cms-theme-dark .rich-content,.cms-section.cms-theme-brand h2,.cms-section.cms-theme-brand h3,.cms-section.cms-theme-brand .cms-lead,.cms-section.cms-theme-brand .rich-content { color:inherit; }
.cms-section.cms-theme-dark .eyebrow,.cms-section.cms-theme-brand .eyebrow { color:#9bd3ff; }
.cms-feature-grid,.cms-stat-grid { grid-template-columns:repeat(var(--cms-columns,3),minmax(0,1fr)); }
@media (max-width:900px){.cms-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cms-feature-grid,.cms-stat-grid{grid-template-columns:1fr}}

/* Dynamic product detail */
.product-page { padding:0 0 42px; background:#fff; }
.product-page .product-detail { width:100%; margin:0; padding:22px 20px 42px; background:#fff; border:0; border-radius:0; box-shadow:none; }
.product-page .breadcrumb { margin-bottom:28px; font-size:13px; }
.product-page .breadcrumb a { color:#526b86; }
.product-page .breadcrumb strong { color:#24476c; }
.product-page .detail-grid { grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr); gap:34px; }
.product-page .gallery-main { display:grid; place-items:center; width:100%; height:430px; padding:0; border:1px solid #d5e2ef; border-radius:7px; overflow:hidden; background:#ffffff; cursor:zoom-in; }
.product-page .gallery-main img { display:block; width:auto !important; height:auto !important; max-width:65% !important; max-height:90% !important; object-fit:contain; object-position:center; }
.product-image-empty { display:grid; place-items:center; width:100%; height:100%; color:#8ca3b8; }
.product-image-empty svg { width:54px; height:54px; }
.product-page .gallery-thumbs { display:flex; flex-wrap:wrap; gap:10px; }
.product-tags { display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:18px; }
.product-tags small { width:100%; color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; }
.product-tags span { padding:5px 9px; color:#18558c; background:#eef6fd; border:1px solid #d6e7f5; border-radius:4px; font-size:11px; }
.product-page .gallery-thumbs button { flex:0 0 140px; width:140px; height:90px; cursor:pointer; transition:border-color .15s,box-shadow .15s; }
.product-page .gallery-thumbs button { max-width:140px; }
@media (max-width:600px) { .product-page .gallery-thumbs button { flex-basis:180px; width:180px; } }
.product-page .gallery-thumbs button.active { border-color:var(--primary); box-shadow:0 0 0 2px rgba(0,87,184,.12); }
.product-page .gallery-thumbs img { display:block; width:auto !important; height:auto !important; max-width:96% !important; max-height:96% !important; object-fit:contain; object-position:center; background:#fff; }
.product-page .product-summary { min-height:336px; padding:30px 28px; border-radius:7px; box-shadow:0 12px 34px rgba(11,45,91,.08); }
.product-page .product-summary .eyebrow { display:block; margin-bottom:14px; color:var(--primary); font-size:12px; font-weight:800; }
.product-page .product-summary h1 { margin:0 0 16px; font-size:clamp(28px,2.2vw,10px); line-height:1.12; }
.product-page .product-summary > p { margin:0; color:#173451; line-height:1.65; }
.product-page .summary-actions .btn { min-height:42px; padding:0 17px; border-radius:5px; font-size:12px; }
.product-page .spec-list { display:grid; gap:5px; margin:0; color:#60738a; font-size:14px; line-height:1.45; }
.product-page .tabs { margin-top:38px; border-radius:7px; }
.product-page .tab-list { scrollbar-width:thin; }
.product-page .tab-list button { min-height:52px; padding:0 18px; font-size:13px; }
.product-page .tab-panel { min-height:124px; padding:26px; }
.product-page .tab-panel h2:first-child,.product-page .tab-panel h3:first-child { margin-top:0; }
.product-documents { gap:10px; }
.product-documents.active { display:grid; }
.product-documents a { display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:center; padding:15px; border:1px solid var(--line); border-radius:6px; }
.product-documents a > svg { width:22px; color:var(--primary); }
.product-documents span strong,.product-documents span small { display:block; }
.product-documents span small { margin-top:3px; color:var(--muted); }
.product-videos.active { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.product-videos video { width:100%; background:#061b35; border-radius:6px; }
.product-lightbox { width:min(94vw,1500px); max-width:none; padding:0; overflow:hidden; background:#f7fbff; border:0; border-radius:7px; }
.product-lightbox::backdrop { background:rgba(2,12,25,.88); }
.product-lightbox > button { position:absolute; z-index:2; top:12px; right:12px; display:grid; place-items:center; width:42px; height:42px; color:#fff; background:rgba(2,15,30,.74); border:1px solid rgba(255,255,255,.3); border-radius:50%; cursor:pointer; }
.product-lightbox > img { width:100%; max-height:90vh; object-fit:contain; }
@media (max-width:1050px){.product-page .product-detail{padding:20px 18px 36px}.product-page .detail-grid{grid-template-columns:1fr}.product-page .gallery-main{height:min(58vw,520px)}.product-page .product-summary{min-height:0}}
@media (max-width:600px){.product-page{padding:12px 0 36px}.product-page .product-detail{width:calc(100% - 20px);padding:20px 14px 30px}.product-page .gallery-main{height:270px}.product-page .gallery-thumbs{gap:7px}.product-page .gallery-thumbs button{height:68px}.product-page .product-summary{padding:22px 18px}.product-page .summary-actions{align-items:stretch;flex-direction:column}.product-page .summary-actions .btn{justify-content:center}.product-page .tab-panel{padding:20px 16px}.product-videos.active{grid-template-columns:1fr}}
/* Catalog-style featured product cards. */
.product-card { min-height:230px; align-items:stretch; text-align:left; border:1px solid #e4e4e4; border-radius:8px; box-shadow:none; }
.product-card:hover { transform:none; border-color:#c9d8e5; box-shadow:0 8px 22px rgba(10,45,80,.08); }
.product-visual { height:178px; background:#fff; }
.product-visual img { object-fit:contain; padding:10px 14px 4px; }
.product-card h3 { margin:0; padding:10px 8px 2px; color:#00639e; font-size:14px; font-weight:600; line-height:1.25; text-align:left; }
.product-card .product-model { display:block; margin:0; padding:0 8px 10px; color:#9099a3; font-size:11px; font-weight:400; text-align:left; }
.product-card .product-icon,.product-card > small:not(.product-model) { display:none; }
@media (max-width:700px) { .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .product-visual { height:140px; } .product-card h3 { font-size:12px; } }

/* Premium product showroom */
.product-showroom-page { color:#061d3d; background:linear-gradient(180deg,#f7fbff 0%,#fff 56%); }
.product-showroom-hero { width:min(1680px,calc(100% - 48px)); min-height:calc(100vh - 124px); margin:0 auto; padding:24px 0 34px; }
.showroom-breadcrumb { margin:0 0 20px; }
.product-showroom-grid { display:grid; grid-template-columns:minmax(360px,.86fr) minmax(520px,1.14fr); gap:34px; align-items:stretch; }
.showroom-copy { display:flex; min-height:620px; flex-direction:column; justify-content:flex-start; padding:76px 42px 46px; border:1px solid rgba(191,213,235,.78); border-radius:8px; background:rgba(255,255,255,.78); box-shadow:0 24px 70px rgba(9,44,83,.11); backdrop-filter:blur(18px); }
.showroom-copy .eyebrow { margin-bottom:14px; color:var(--primary); font-size:12px; font-weight:900; text-transform:uppercase; }
.showroom-copy h1 { max-width:760px; margin:0 0 18px; color:#061d3d; font-size:58px; line-height:1.02; letter-spacing:0; }
.showroom-copy > p { max-width:680px; margin:0; color:#506982; font-size:17px; line-height:1.72; }
.showroom-badges { display:flex; flex-wrap:wrap; gap:10px; margin:28px 0 0; }
.showroom-badges span { display:inline-flex; min-height:36px; align-items:center; gap:8px; padding:0 12px; color:#0c447d; border:1px solid rgba(0,87,184,.18); background:rgba(240,247,255,.86); font-size:12px; font-weight:850; }
.showroom-badges svg { width:16px; height:16px; color:var(--primary); }
.showroom-actions { margin:30px 0 0; }
.showroom-actions .btn { min-height:50px; border-radius:8px; font-size:13px; font-weight:850; }
.showroom-actions .btn[disabled] { opacity:.62; cursor:not-allowed; }
.showroom-seo-tags { display:grid; gap:13px; max-width:620px; margin-top:auto; padding-top:42px; }
.showroom-seo-tags small { color:#7b8fa5; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.showroom-seo-tags div { display:flex; flex-wrap:wrap; gap:9px; }
.showroom-seo-tags a { display:inline-flex; min-height:34px; align-items:center; padding:0 12px; color:#0c447d; border:1px solid rgba(0,87,184,.16); background:linear-gradient(180deg,#fff 0%,#f2f8ff 100%); box-shadow:0 8px 20px rgba(0,87,184,.06); font-size:12px; font-weight:800; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.showroom-seo-tags a:hover { border-color:rgba(0,87,184,.38); box-shadow:0 12px 26px rgba(0,87,184,.11); transform:translateY(-1px); }
.showroom-analysis-card { display:grid; gap:10px; max-width:560px; margin-top:30px; padding:18px; border:1px solid rgba(172,203,232,.7); border-radius:8px; background:rgba(246,251,255,.74); box-shadow:inset 0 1px 0 rgba(255,255,255,.8); }
.showroom-analysis-card strong { color:#06284f; font-size:15px; }
.showroom-analysis-card span { display:flex; align-items:flex-start; gap:8px; color:#47627b; font-size:13px; line-height:1.45; }
.showroom-analysis-card svg { width:16px; height:16px; flex:0 0 auto; color:#08a16a; }
.showroom-gallery { display:grid; align-content:center; gap:14px; min-height:620px; }
.showroom-product-frame { position:relative; isolation:isolate; display:grid; min-height:560px; place-items:center; overflow:hidden; border:1px solid rgba(196,216,235,.88); border-radius:8px; background:#fff; box-shadow:0 28px 90px rgba(0,50,110,.13); transform-style:preserve-3d; }
.showroom-orbit { position:absolute; }
.showroom-orbit::before,.showroom-orbit::after { content:none; }
.product-showroom-page .showroom-product-stage { position:relative; z-index:1; width:100%; height:520px; border:0; background:transparent; box-shadow:none; transition:transform .45s ease; }
.product-showroom-page .showroom-product-stage img { max-width:65% !important; max-height:90% !important; filter:drop-shadow(0 34px 28px rgba(4,31,65,.18)); animation:showroomFloat 6s ease-in-out infinite; }
.product-showroom-page .showroom-model-viewer { display:block; width:100%; min-height:520px; --poster-color:transparent; }
.showroom-model-ar-button { position:absolute; right:22px; bottom:22px; display:inline-flex; min-height:46px; align-items:center; gap:9px; padding:0 16px; color:#fff; border:0; border-radius:8px; background:var(--primary); box-shadow:0 14px 34px rgba(0,87,184,.26); font:inherit; font-size:13px; font-weight:850; cursor:pointer; }
.showroom-model-ar-button svg { width:18px; height:18px; }
.showroom-hotspots { position:absolute; inset:0; z-index:3; pointer-events:none; }
.showroom-hotspots-hidden .showroom-hotspots { opacity:0; visibility:hidden; }
.showroom-motion-off .showroom-product-stage { transform:none !important; }
.showroom-motion-off .showroom-product-stage img { animation:none !important; }
.showroom-hotspot { position:absolute; left:var(--x); top:var(--y); width:34px; height:34px; padding:0; color:#fff; border:0; border-radius:50%; background:var(--primary); box-shadow:0 10px 28px rgba(0,87,184,.28); cursor:pointer; pointer-events:auto; transform:translate(-50%,-50%); }
.showroom-hotspot > span { position:absolute; inset:-7px; border:1px solid rgba(0,87,184,.26); border-radius:inherit; animation:showroomPulse 1.8s ease-out infinite; }
.showroom-hotspot::after { position:absolute; inset:12px; border-radius:inherit; background:#fff; content:""; }
.showroom-hotspot strong,.showroom-hotspot em { position:absolute; left:50%; display:none; width:230px; color:#09294e; border:1px solid rgba(196,216,235,.9); background:rgba(255,255,255,.94); box-shadow:0 18px 40px rgba(5,35,72,.16); backdrop-filter:blur(16px); transform:translateX(-50%); }
.showroom-hotspot strong { bottom:78px; padding:13px 13px 4px; border-bottom:0; border-radius:8px 8px 0 0; font-size:13px; line-height:1.25; }
.showroom-hotspot em { bottom:42px; padding:3px 13px 13px; color:#526b86; border-top:0; border-radius:0 0 8px 8px; font-size:12px; font-style:normal; line-height:1.42; }
.showroom-hotspot:not(.has-description) strong { bottom:42px; padding:12px 13px; border:1px solid rgba(196,216,235,.9); border-radius:8px; }
.showroom-hotspot:hover strong,.showroom-hotspot:hover em,.showroom-hotspot.is-active strong,.showroom-hotspot.is-active em { display:block; }
.showroom-toolbar { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; padding:10px; border:1px solid rgba(194,215,235,.82); border-radius:8px; background:rgba(255,255,255,.78); box-shadow:0 14px 40px rgba(13,55,96,.08); backdrop-filter:blur(16px); }
.showroom-toolbar button { display:inline-flex; min-height:40px; align-items:center; gap:8px; padding:0 12px; color:#0a3769; border:1px solid rgba(0,87,184,.14); border-radius:7px; background:#fff; font-size:12px; font-weight:850; cursor:pointer; transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.showroom-toolbar button:hover { border-color:rgba(0,87,184,.45); background:#f1f7ff; transform:translateY(-1px); }
.showroom-toolbar button[aria-pressed="true"] { color:#fff; border-color:var(--primary); background:var(--primary); box-shadow:0 10px 22px rgba(0,87,184,.2); }
.showroom-toolbar button[aria-pressed="true"] svg { color:#fff; }
.showroom-toolbar svg { width:16px; height:16px; color:var(--primary); }
.showroom-thumbs { justify-content:center; }
.showroom-measure-strip { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; width:min(1680px,calc(100% - 48px)); margin:6px auto 0; }
.showroom-measure-strip article { min-height:132px; padding:18px; border:1px solid rgba(198,217,235,.86); border-radius:8px; background:#fff; box-shadow:0 12px 34px rgba(18,58,94,.07); }
.showroom-measure-strip small { display:block; margin-bottom:9px; color:var(--primary); font-size:12px; font-weight:900; }
.showroom-measure-strip p { margin:0; color:#536d86; font-size:13px; line-height:1.52; }
.showroom-feature-scroll { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; width:min(1680px,calc(100% - 48px)); margin:28px auto 0; }
.showroom-feature-scroll article { min-height:230px; padding:24px; overflow:hidden; border:1px solid #d9e7f3; border-radius:8px; background:linear-gradient(145deg,#fff 0%,#f6fbff 100%); box-shadow:0 16px 45px rgba(12,48,88,.08); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.showroom-feature-scroll article:hover { border-color:#b6d6f2; box-shadow:0 22px 56px rgba(0,87,184,.12); transform:translateY(-4px); }
.showroom-feature-scroll span { display:inline-flex; width:38px; height:38px; align-items:center; justify-content:center; margin-bottom:22px; color:#fff; border-radius:50%; background:var(--primary); font-size:12px; font-weight:900; }
.showroom-feature-scroll h2 { margin:0 0 12px; color:#061d3d; font-size:24px; line-height:1.2; }
.showroom-feature-scroll p { margin:0; color:#5b7188; font-size:14px; line-height:1.65; }
.product-detail-lower { width:min(1680px,calc(100% - 48px)) !important; margin:30px auto 0 !important; padding:0 0 42px !important; }
.showroom-modal { width:min(920px,calc(100% - 28px)); padding:0; overflow:hidden; color:#061d3d; border:1px solid rgba(206,224,241,.9); border-radius:8px; background:rgba(255,255,255,.96); box-shadow:0 28px 80px rgba(2,19,39,.28); }
.showroom-modal::backdrop { background:rgba(4,18,36,.64); backdrop-filter:blur(5px); }
.showroom-modal-close { position:absolute; top:14px; right:14px; z-index:2; display:grid; width:40px; height:40px; place-items:center; color:#082b53; border:1px solid #d5e4f1; border-radius:50%; background:#fff; cursor:pointer; }
.showroom-modal-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:22px; padding:36px; }
.showroom-modal h2 { margin:8px 0 12px; font-size:30px; line-height:1.16; }
.showroom-modal p { margin:0 0 22px; color:#58718a; line-height:1.65; }
.showroom-modal-panel { display:grid; align-content:center; gap:12px; padding:22px; border-radius:8px; background:linear-gradient(150deg,#eef7ff,#fff); border:1px solid #d4e5f4; }
.showroom-modal-panel strong { color:#06284f; font-size:16px; }
.showroom-modal-panel span { display:flex; gap:9px; color:#435e78; font-size:13px; line-height:1.45; }
.showroom-modal-panel svg { width:17px; height:17px; flex:0 0 auto; color:#08a16a; }
@keyframes showroomFloat { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-12px) rotate(1deg); } }
@keyframes showroomPulse { 0% { opacity:.8; transform:scale(.72); } 100% { opacity:0; transform:scale(1.9); } }
@media (prefers-reduced-motion:reduce){.product-showroom-page .showroom-product-stage img,.showroom-hotspot > span{animation:none}.showroom-feature-scroll article,.showroom-toolbar button,.product-showroom-page .showroom-product-stage{transition:none}}
@media (max-width:1150px){.product-showroom-hero{min-height:0}.product-showroom-grid{grid-template-columns:1fr}.showroom-copy,.showroom-gallery{min-height:0}.showroom-copy h1{font-size:44px}.showroom-measure-strip,.showroom-feature-scroll{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.product-showroom-hero,.showroom-measure-strip,.showroom-feature-scroll,.product-detail-lower{width:calc(100% - 24px) !important}.showroom-copy{padding:28px 20px}.showroom-copy h1{font-size:34px}.showroom-copy > p{font-size:15px}.showroom-actions{align-items:stretch;flex-direction:column}.showroom-actions .btn{justify-content:center}.showroom-seo-tags{margin-top:26px;padding-top:0}.showroom-product-frame{min-height:360px}.product-showroom-page .showroom-product-stage{height:340px}.product-showroom-page .showroom-model-viewer{min-height:340px}.product-showroom-page .showroom-product-stage img{max-width:65% !important;max-height:90% !important}.showroom-model-ar-button{right:14px;bottom:14px}.showroom-hotspot strong,.showroom-hotspot em{width:190px}.showroom-toolbar{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.showroom-toolbar button{flex:0 0 auto}.showroom-measure-strip,.showroom-feature-scroll,.showroom-modal-grid{grid-template-columns:1fr}.showroom-modal-grid{padding:26px 18px}.showroom-modal h2{font-size:24px}}

@media (max-width:700px){
  .product-showroom-page .showroom-breadcrumb{display:none}
  .product-showroom-page .showroom-gallery{order:-1}
}

/* Premium featured product catalog section. */
.featured-products-section { padding-top:58px; padding-bottom:54px; background:#fff; }
.featured-products-head { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin:0 0 28px; }
.featured-products-head > div { max-width:700px; }
.featured-products-eyebrow { display:flex; align-items:center; gap:10px; margin-bottom:10px; color:#526a86; font-size:11px; font-weight:800; letter-spacing:.12em; }
.featured-products-eyebrow i { width:4px; height:4px; border-radius:50%; background:var(--primary); }
.featured-products-head .section-title { margin:0; text-align:left; }
.featured-products-head .section-title h2 { margin:0 0 12px; font-size:clamp(28px,3vw,42px); letter-spacing:-.01em; }
.featured-products-head .section-title h2::after { width:58px; height:3px; margin:12px 0 0; }
.featured-products-head p { max-width:650px; margin:0; color:#64788d; font-size:14px; line-height:1.7; }
.featured-products-all { display:inline-flex; align-items:center; gap:10px; flex:0 0 auto; align-self:flex-start; padding:7px 0 10px; color:var(--primary); border-bottom:1px solid #9dbde3; font-size:13px; font-weight:800; text-decoration:none; }
.featured-products-all svg { width:16px; transition:transform .2s ease; }
.featured-products-all:hover svg { transform:translateX(4px); }
.featured-product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-top:1px solid #e4ebf2; }
.featured-product-card { min-height:338px; align-items:stretch; justify-content:flex-start; padding:0 14px 16px; border:0; border-right:1px solid #e4ebf2; border-bottom:1px solid #e4ebf2; border-radius:0; box-shadow:none; text-align:left; background:#fff; }
.featured-product-card:nth-child(4n+1) { border-left:1px solid #e4ebf2; }
.featured-product-card:hover { transform:none; border-color:#b8d0e9; box-shadow:0 12px 28px rgba(11,55,97,.08); z-index:1; }
.featured-product-card .product-visual { display:grid; place-items:center; height:236px; padding:16px 8px 8px; background:#fff; }
.featured-product-card .product-visual img { width:94%; height:94%; object-fit:contain; }
.featured-product-badge { position:absolute; top:14px; left:14px; z-index:1; display:inline-flex; align-items:center; gap:5px; padding:5px 9px; color:#fff; background:var(--primary); border-radius:4px; font-size:9px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.featured-product-badge svg { width:12px; height:12px; }
.featured-product-copy { display:flex; min-height:85px; flex-direction:column; align-items:flex-start; padding:0 2px; }
.featured-product-category { display:inline-flex; align-items:center; gap:6px; margin-bottom:8px; color:#526f92; font-size:7px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.featured-product-category svg { width:13px; color:var(--primary); }
.featured-product-card h3 { margin:0 0 5px; padding:0; color:#0b2345; font-size:15px; font-weight:800; line-height:1.25; }
.featured-product-card .product-model { margin:0; padding:0; color:#7b8a9a; font-size:11px; }
.featured-product-detail { display:inline-flex; align-items:center; gap:9px; margin-top:auto; padding-top:12px; color:var(--primary); font-size:11px; font-weight:800; }
.featured-product-detail svg { width:15px; transition:transform .2s ease; }
.featured-product-card:hover .featured-product-detail svg { transform:translateX(4px); }
.featured-product-card { display:flex !important; flex-direction:column !important; overflow:hidden; isolation:isolate; }
.featured-product-card .product-visual { position:relative; flex:0 0 236px; width:100%; overflow:hidden; }
.featured-product-card .product-visual img { position:relative; display:block; z-index:0; }
.featured-product-card .featured-product-copy { position:relative; z-index:2; display:flex !important; flex:1 1 auto; width:100%; min-height:102px; box-sizing:border-box; background:#fff; }
.featured-product-card .featured-product-category, .featured-product-card h3, .featured-product-card .product-model, .featured-product-card .featured-product-detail { position:relative; z-index:3; opacity:1; visibility:visible; }
.featured-product-card .featured-product-category { position:absolute; right:2px; bottom:2px; margin:0; flex:0 0 auto; }
.featured-product-card h3 { display:block; min-height:0; overflow:visible; }
@media (max-width:900px) { .featured-products-head { align-items:flex-start; flex-direction:column; gap:16px; } .featured-products-all { align-self:flex-start; } .featured-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .featured-product-card:nth-child(4n+1) { border-left:0; } .featured-product-card:nth-child(2n+1) { border-left:1px solid #e4ebf2; } }
@media (max-width:560px) { .featured-products-section { padding-top:40px; padding-bottom:36px; } .featured-products-head .section-title h2 { font-size:28px; } .featured-products-head p { font-size:13px; } .featured-product-grid { grid-template-columns:1fr; } .featured-product-card, .featured-product-card:nth-child(2n+1) { border-left:1px solid #e4ebf2; } .featured-product-card .product-visual { height:210px; } }
.featured-product-card .featured-product-category { position:absolute; right:2px; bottom:0px; margin:0; }
.featured-product-card h3 { margin-top:50px; }
.featured-product-grid { gap:14px; border-top:0; }
.featured-product-card, .featured-product-card:nth-child(4n+1), .featured-product-card:nth-child(2n+1) { border:1px solid #dce8f2; border-radius:8px; padding:10px 12px 16px; box-shadow:0 7px 20px rgba(11,55,97,.06); }
.featured-product-card:hover { border-color:#9fc7ea; box-shadow:0 14px 30px rgba(11,55,97,.13); }
.featured-product-card .product-visual { flex-basis:236px; background:#ffffff; border-radius:6px; }
.featured-product-card .product-visual img { transition:transform .28s ease; }
.featured-product-card:hover .product-visual img { transform:scale(1.03); }
.featured-product-category { padding:4px 7px; border:1px solid #d8e8f6; border-radius:4px; background:#f0f7ff; }
.featured-product-card .product-model { display:inline-flex; align-items:center; width:max-content; margin-top:4px; padding:4px 7px; border-radius:4px; color:#075db9; background:#eaf3ff; font-size:10px; font-weight:800; letter-spacing:.03em; }
.featured-product-detail svg { display:inline-grid; place-items:center; width:24px; height:24px; padding:5px; box-sizing:border-box; border-radius:50%; background:#eaf3ff; transition:transform .22s ease,background .22s ease; }
.featured-product-card:hover .featured-product-detail svg { background:#d8ebff; }

/* Search surfaces: keep the modal and result page aligned with the site system. */
.search-modal {
  width:min(720px, calc(100vw - 32px));
  max-width:none;
  margin:auto;
  padding:0;
  border:1px solid #d9e6f2;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 24px 70px rgba(7,35,73,.22);
}
.search-modal::backdrop { background:rgba(5,24,50,.62); backdrop-filter:blur(3px); }
.search-modal form {
  position:relative;
  display:grid;
  gap:18px;
  padding:34px 38px 38px;
}
.search-modal form > button[type="button"] {
  position:absolute;
  top:16px;
  right:18px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0;
  color:#536b84;
  border:1px solid #dbe6f0;
  border-radius:50%;
  background:#f7fafc;
}
.search-modal form > button[type="button"] svg { width:17px; height:17px; }
.search-modal label {
  display:block;
  padding-right:36px;
  color:#0b2345;
  font-size:20px;
  font-weight:800;
}
.search-modal form > div {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
}
.search-modal input {
  width:100%;
  min-height:50px;
  box-sizing:border-box;
  border:1px solid #cbdceb;
  border-radius:7px;
  padding:0 15px;
  color:#122b4c;
  background:#fff;
  font:inherit;
  outline:none;
}
.search-modal input:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(0,94,184,.12); }
.search-modal form > div button[type="submit"] {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:50px;
  padding:0 20px;
  white-space:nowrap;
}

.search-page-hero { padding-bottom:34px; }
.search-page-hero h1 { margin-bottom:22px; }
.search-page-form {
  display:flex;
  width:min(680px,100%);
  gap:10px;
  margin:0;
}
.search-page-form input {
  flex:1 1 auto;
  min-width:0;
  min-height:50px;
  box-sizing:border-box;
  border:1px solid #cbdceb;
  border-radius:7px;
  padding:0 15px;
  color:#122b4c;
  background:#fff;
  font:inherit;
}
.search-page-form input:focus { border-color:var(--primary); outline:0; box-shadow:0 0 0 3px rgba(0,94,184,.12); }
.search-page-form .btn { min-height:50px; padding:0 22px; }
.search-page-section > h2 { margin:0 0 22px; color:#0b2345; font-size:clamp(22px,2.5vw,30px); }
.search-result-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.search-result-list > a {
  position:relative;
  display:grid;
  gap:9px;
  min-height:132px;
  box-sizing:border-box;
  padding:20px 48px 20px 20px;
  border:1px solid #dce8f2;
  border-radius:8px;
  background:#fff;
  box-shadow:0 7px 20px rgba(11,55,97,.05);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.search-result-list > a:hover { transform:translateY(-2px); border-color:#9fc7ea; box-shadow:0 13px 28px rgba(11,55,97,.1); }
.search-result-list strong { color:#0b3971; font-size:16px; line-height:1.35; }
.search-result-list span { display:-webkit-box; overflow:hidden; margin:0; color:#657992; font-size:13px; font-weight:400; line-height:1.6; text-transform:none; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.search-result-list > a > svg { position:absolute; top:20px; right:18px; width:18px; height:18px; color:var(--primary); transition:transform .2s ease; }
.search-result-list > a:hover > svg { transform:translateX(4px); }
.search-result-list > p { grid-column:1 / -1; margin:0; padding:28px; border:1px dashed #cbdceb; border-radius:8px; color:#657992; text-align:center; background:#f8fbfe; }
@media (max-width:700px) {
  .search-modal form { padding:30px 20px 24px; }
  .search-modal form > div { grid-template-columns:1fr; }
  .search-modal form > div button[type="submit"] { width:100%; }
  .search-page-form { flex-direction:column; }
  .search-page-form .btn { width:100%; }
  .search-result-list { grid-template-columns:1fr; }
}

/* Final search modal alignment: use the complete dialog width without an empty side. */
.search-modal {
  display:block;
}
.search-modal:not([open]) { display:none; }
.search-modal[open] { display:block; }

/* Product catalogue presentation. */
.product-listing-page .page-hero {
  padding:42px clamp(24px,4vw,64px) 34px;
  background:#f7fbff;
}
.product-listing-page .page-hero h1 { max-width:860px; margin:10px 0 12px; }
.product-listing-page .page-hero p { max-width:760px; margin:0; }
.page-hero.has-custom-hero { position:relative; isolation:isolate; min-height:220px; background-image:linear-gradient(90deg,rgba(248,251,255,.98) 0%,rgba(248,251,255,.92) 34%,rgba(248,251,255,.42) 67%,rgba(248,251,255,.14) 100%),var(--page-hero-image); background-position:center; background-size:cover; background-repeat:no-repeat; }
.page-hero.has-custom-hero > * { position:relative; z-index:1; }
.page-hero.has-custom-hero h1,.page-hero.has-custom-hero p,.page-hero.has-custom-hero .eyebrow { text-shadow:0 1px 1px rgba(255,255,255,.55); }
.product-listing-page > .section { padding:30px clamp(18px,3vw,48px) 58px; }
.product-listing-page .product-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.catalog-product-card {
  position:relative;
  display:flex !important;
  flex-direction:column;
  min-height:360px;
  overflow:hidden;
  border:1px solid #dce7f1;
  border-radius:9px;
  background:#fff;
  box-shadow:0 8px 24px rgba(14,54,93,.05);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.catalog-product-card:hover { transform:translateY(-3px); border-color:#a9cbed; box-shadow:0 16px 32px rgba(14,54,93,.12); }
.product-listing-page .catalog-product-card .product-visual {
  display:grid;
  place-items:center;
  flex:0 0 220px;
  height:220px;
  padding:16px;
  background:#fff;
  overflow:hidden;
}
.product-listing-page .catalog-product-card .product-visual img {
  width:90%;
  height:90%;
  object-fit:contain;
  transition:transform .28s ease;
}
.catalog-product-card:hover .product-visual img { transform:scale(1.035); }
.catalog-product-copy { display:flex; flex:1 1 auto; flex-direction:column; align-items:flex-start; padding:16px 70px 18px 16px; background:#fff; }
.catalog-product-category { display:inline-flex; align-items:center; gap:6px; color:#59718d; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.catalog-product-category svg { width:14px; height:14px; color:var(--primary); }
.catalog-product-copy h3 { min-height:42px; margin:10px 0 4px; color:#0b2345; font-size:15px; font-weight:800; line-height:1.35; }
.catalog-product-model { display:inline-flex; margin-top:2px; padding:4px 7px; border-radius:4px; color:#075db9; background:#eaf3ff; font-size:10px; font-weight:800; }
.catalog-product-link { display:inline-flex; align-items:center; gap:8px; margin-top:auto; padding-top:14px; color:var(--primary); font-size:11px; font-weight:800; }
.catalog-product-link svg { width:17px; transition:transform .2s ease; }
.catalog-product-card:hover .catalog-product-link svg { transform:translateX(4px); }
.catalog-product-actions { display:block; width:100%; margin-top:auto; }
.catalog-product-actions [data-quote-product] { position:absolute; right:18px; bottom:18px; display:grid; width:38px; height:38px; place-items:center; padding:0; color:var(--primary); border:1px solid #bfd4ea; border-radius:6px; background:#f2f8ff; box-shadow:none; cursor:pointer; transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease; }
.catalog-product-actions [data-quote-product] svg { width:18px; height:18px; }
.catalog-product-actions [data-quote-product]:hover { color:#fff; border-color:var(--primary); background:var(--primary); transform:translateY(-1px); }
.catalog-product-actions [data-quote-product].is-added { color:#fff; border-color:#0b7a48; background:#0b7a48; }
.product-catalog-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 18px; color:#58708e; font-size:12px; }
.product-catalog-heading strong { display:inline-flex; align-items:center; gap:8px; color:#294b72; font-size:12px; font-weight:700; }
.product-catalog-heading strong::before { content:none !important; display:none !important; }
@media (min-width:901px) {
  .news-grid a > img {
    width:calc(100% + 20px);
    height:104px;
    margin:-8px -10px 5px;
    object-fit:cover;
  }
}
.product-catalog-heading strong svg { width:17px; height:17px; color:var(--primary); stroke-width:1.8; }
.product-catalog-toolbar { margin:0 0 22px; padding:18px; border:1px solid #dce7f1; border-radius:9px; background:#fff; box-shadow:0 8px 24px rgba(14,54,93,.05); }
.product-catalog-filters { display:grid; grid-template-columns:minmax(260px,1.5fr) minmax(170px,1fr) minmax(170px,1fr) auto auto; gap:12px; align-items:center; }
.product-catalog-search { position:relative; display:flex; align-items:center; min-width:0; }
.product-catalog-search svg { position:absolute; left:13px; width:17px; color:#1d4f85; pointer-events:none; }
.product-catalog-search input, .product-catalog-filters select { width:100%; min-height:44px; box-sizing:border-box; border:1px solid #cfdeeb; border-radius:6px; padding:0 13px; color:#2b4565; background:#fff; outline:none; font:inherit; font-size:12px; }
.product-catalog-search input { padding-left:39px; }
.product-catalog-search input:focus, .product-catalog-filters select:focus { border-color:var(--primary); box-shadow:0 0 0 3px rgba(0,87,184,.1); }
.product-filter-submit, .product-filter-reset { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:44px; padding:0 15px; border-radius:6px; white-space:nowrap; font-size:11px; font-weight:800; }
.product-filter-submit { border:1px solid var(--primary); color:#fff; background:var(--primary); cursor:pointer; }
.product-filter-submit svg, .product-filter-reset svg { width:15px; }
.product-filter-reset { border:1px solid #d5e1ec; color:#3f5875; background:#fff; }
.product-filter-reset:hover { border-color:#9fc7ea; color:var(--primary); }
@media (max-width:900px) { .product-listing-page .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .product-catalog-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .product-catalog-search { grid-column:1 / -1; } }
@media (max-width:560px) { .product-listing-page .page-hero { padding:30px 18px 26px; } .product-listing-page > .section { padding:22px 14px 42px; } .product-listing-page .product-grid { grid-template-columns:1fr; gap:14px; } .product-listing-page .catalog-product-card .product-visual { flex-basis:210px; height:210px; } .catalog-product-copy { padding-right:64px; } .catalog-product-actions [data-quote-product] { right:16px; bottom:16px; } .product-catalog-heading { align-items:flex-start; flex-direction:column; gap:8px; } .product-catalog-filters { grid-template-columns:1fr; } .product-catalog-search { grid-column:auto; } .product-filter-submit, .product-filter-reset { width:100%; } }

/* Cookie policy: structured legal reading experience with an anchored section index. */
.cookie-policy-page { width:min(1630px,calc(100% - 48px)); margin:0 auto; background:#fff; box-shadow:0 12px 42px rgba(17,48,83,.08); }
.cookie-policy-hero { position:relative; display:grid; min-height:330px; grid-template-columns:minmax(0,1fr) 280px; align-items:center; gap:40px; padding:48px clamp(30px,5vw,82px); overflow:hidden; border-bottom:1px solid #d9e5f0; background:linear-gradient(110deg,#f8fbff 0%,#edf6ff 62%,#e4f1ff 100%); }
.cookie-policy-hero.has-custom-hero { isolation:isolate; background-image:linear-gradient(90deg,rgba(248,251,255,.98) 0%,rgba(243,249,255,.93) 53%,rgba(230,242,255,.68) 100%),var(--page-hero-image); background-position:center; background-size:cover; }
.cookie-policy-hero::after { position:absolute; right:-130px; bottom:-240px; width:560px; height:560px; content:""; border:1px solid rgba(0,91,184,.13); border-radius:50%; box-shadow:0 0 0 55px rgba(0,91,184,.035),0 0 0 112px rgba(0,91,184,.025); }
.cookie-policy-hero-copy { position:relative; z-index:2; min-width:0; }
.cookie-policy-hero .eyebrow { display:block; margin-bottom:14px; color:#0062bd; font-size:12px; font-weight:800; text-transform:uppercase; }
.cookie-policy-hero h1 { max-width:880px; margin:0; color:#071d43; font-size:clamp(38px,4vw,58px); line-height:1.04; }
.cookie-policy-hero-copy > p { max-width:780px; margin:18px 0 0; color:#536a84; font-size:17px; line-height:1.7; }
.cookie-policy-meta { display:flex; flex-wrap:wrap; gap:0; margin-top:32px; }
.cookie-policy-meta > span { display:grid; min-width:165px; grid-template-columns:30px auto; grid-template-rows:auto auto; align-items:center; padding:0 24px; border-left:1px solid #cbddea; }
.cookie-policy-meta > span:first-child { padding-left:0; border-left:0; }
.cookie-policy-meta svg { width:21px; height:21px; grid-row:1/3; color:#0870ce; }
.cookie-policy-meta small { color:#71839a; font-size:10px; }
.cookie-policy-meta strong { color:#183c63; font-size:12px; }
.cookie-policy-hero-mark { position:relative; z-index:2; display:grid; width:190px; height:190px; place-items:center; justify-self:center; color:#0870ce; border:1px solid rgba(0,100,199,.18); border-radius:50%; background:rgba(255,255,255,.72); box-shadow:0 24px 60px rgba(10,75,139,.13); backdrop-filter:blur(8px); }
.cookie-policy-hero-mark > svg { width:80px; height:80px; stroke-width:1.35; }
.cookie-policy-hero-mark > span { position:absolute; right:15px; bottom:18px; display:grid; width:48px; height:48px; place-items:center; color:#fff; border:5px solid #eef7ff; border-radius:50%; background:#0870ce; }
.cookie-policy-hero-mark > span svg { width:22px; height:22px; }
.cookie-policy-page.is-kvkk .cookie-policy-hero { background:linear-gradient(110deg,#f8fbff 0%,#edf5ff 58%,#e8f3ff 100%); }
.cookie-policy-page.is-kvkk .cookie-policy-hero-mark { color:#0758ad; }
.cookie-policy-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:64px; padding:52px clamp(30px,5vw,82px) 80px; }
.cookie-policy-nav { position:sticky; top:138px; align-self:start; padding-right:28px; border-right:1px solid #dce6ef; }
.cookie-policy-nav > span { display:block; margin-bottom:13px; color:#6a7d94; font-size:10px; font-weight:800; text-transform:uppercase; }
.cookie-policy-nav nav { display:grid; }
.cookie-policy-nav nav a { display:grid; min-height:47px; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:8px; color:#4b627c; border-bottom:1px solid #e5ecf3; font-size:11px; font-weight:650; line-height:1.35; text-decoration:none; transition:color .16s,padding-left .16s; }
.cookie-policy-nav nav a:hover { padding-left:5px; color:#0065c2; }
.cookie-policy-nav nav b { color:#8ca0b5; font-size:9px; }
.cookie-policy-help { display:flex; align-items:flex-start; gap:10px; margin-top:24px; padding-top:22px; color:#516983; }
.cookie-policy-help > svg { width:19px; flex:0 0 19px; color:#0870ce; }
.cookie-policy-help strong { display:block; margin-bottom:5px; color:#173b61; font-size:11px; }
.cookie-policy-help a { display:inline-flex; align-items:center; gap:4px; color:#0870ce; font-size:10px; font-weight:750; text-decoration:none; }
.cookie-policy-help a svg { width:13px; height:13px; }
.cookie-policy-content { min-width:0; }
.cookie-policy-content > header { max-width:850px; margin-bottom:42px; padding-bottom:28px; border-bottom:1px solid #dce6ef; }
.cookie-policy-content > header > span { color:#0870ce; font-size:10px; font-weight:800; text-transform:uppercase; }
.cookie-policy-content > header h2 { margin:10px 0 12px; color:#0a2348; font-size:clamp(26px,2.4vw,36px); line-height:1.2; }
.cookie-policy-content > header p { margin:0; color:#60738a; font-size:15px; line-height:1.75; }
.cookie-policy-rich { max-width:940px; color:#405873; font-size:15px; line-height:1.82; }
.cookie-policy-rich h2 { scroll-margin-top:145px; margin:46px 0 14px; padding-left:18px; color:#0a2b56; border-left:3px solid #0870ce; font-size:23px; line-height:1.3; }
.cookie-policy-rich h2:first-child { margin-top:0; }
.cookie-policy-rich h3 { margin:27px 0 9px; color:#124474; font-size:17px; }
.cookie-policy-rich p { margin:0 0 16px; }
.cookie-policy-rich ul,.cookie-policy-rich ol { display:grid; gap:9px; margin:13px 0 24px; padding-left:22px; }
.cookie-policy-rich li { padding-left:4px; }
.cookie-policy-rich li::marker { color:#0870ce; }
.cookie-policy-rich a { color:#0067c7; font-weight:650; text-underline-offset:3px; }
.cookie-policy-rich strong { color:#193b60; }
.cookie-policy-page > .cms-section:empty,.cookie-policy-page .cms-section-inner:empty,.cookie-policy-page .cms-feature-grid:empty { display:none; }
@media (max-width:980px) {
  .cookie-policy-page { width:calc(100% - 28px); }
  .cookie-policy-hero { grid-template-columns:minmax(0,1fr) 170px; padding:38px 34px; }
  .cookie-policy-hero-mark { width:145px; height:145px; }
  .cookie-policy-hero-mark > svg { width:60px; height:60px; }
  .cookie-policy-layout { grid-template-columns:220px minmax(0,1fr); gap:36px; padding:42px 34px 64px; }
}
@media (max-width:760px) {
  .cookie-policy-page { width:100%; box-shadow:none; }
  .cookie-policy-hero { min-height:auto; grid-template-columns:1fr; padding:34px 20px 30px; }
  .cookie-policy-hero-mark { display:none; }
  .cookie-policy-hero h1 { font-size:36px; }
  .cookie-policy-hero-copy > p { font-size:15px; }
  .cookie-policy-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:25px; }
  .cookie-policy-meta > span { min-width:0; grid-template-columns:24px minmax(0,1fr); padding:0 10px; }
  .cookie-policy-meta svg { width:17px; height:17px; }
  .cookie-policy-meta small { font-size:8px; }
  .cookie-policy-meta strong { font-size:10px; }
  .cookie-policy-layout { display:block; padding:30px 20px 52px; }
  .cookie-policy-nav { position:static; margin-bottom:34px; padding:0 0 24px; border-right:0; border-bottom:1px solid #dce6ef; }
  .cookie-policy-nav nav { grid-template-columns:1fr 1fr; column-gap:18px; }
  .cookie-policy-help { display:none; }
  .cookie-policy-content > header { margin-bottom:32px; }
  .cookie-policy-rich { font-size:14px; line-height:1.75; }
  .cookie-policy-rich h2 { scroll-margin-top:90px; margin-top:36px; font-size:20px; }
}
@media (max-width:480px) {
  .cookie-policy-meta { grid-template-columns:1fr; gap:12px; }
  .cookie-policy-meta > span { padding:0; border-left:0; }
  .cookie-policy-nav nav { grid-template-columns:1fr; }
}
.search-modal::before {
  display:none;
}
.search-modal form {
  display:grid;
  grid-template-columns:minmax(150px,.62fr) minmax(0,1.38fr);
  gap:16px;
  align-items:center;
  min-height:178px;
  padding:34px 38px;
}
.search-modal label {
  grid-column:1;
  padding:0;
  font-size:20px;
  line-height:1.3;
}
.search-modal form > div {
  grid-column:2;
  min-width:0;
}
@media (max-width:700px) {
  .search-modal form {
    display:grid;
    grid-template-columns:1fr;
    min-height:0;
    padding:32px 20px 24px;
  }
  .search-modal label,
  .search-modal form > div { grid-column:1; }
}

/* Search modal split layout: a branded information panel balances the form. */
.search-modal {
  display:grid;
  grid-template-columns:minmax(190px,.78fr) minmax(0,1.42fr);
  align-items:stretch;
}
.search-modal::before {
  content:"RST MEDIKAL\A\A Sterilizasyon ve tıbbi cihaz çözümleri\A\A Aradığınız ürün, haber, proje veya sayfaya hızlıca ulaşın.";
  display:flex;
  align-items:center;
  min-height:250px;
  box-sizing:border-box;
  padding:32px 26px;
  color:#fff;
  white-space:pre-wrap;
  background:linear-gradient(145deg,#063b78 0%,#075fba 58%,#0a78d2 100%);
  font-size:13px;
  font-weight:600;
  line-height:1.65;
}
.search-modal form {
  width:100%;
  box-sizing:border-box;
  justify-content:stretch;
  align-content:center;
  min-width:0;
}
.search-modal label { font-size:19px; }
.product-quote-modal {
  width: min(92vw, 560px);
  max-width: none;
  padding: 0;
  border: 1px solid #d5e2ef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(4, 25, 51, .28);
}
.product-quote-modal::backdrop { background: rgba(4, 25, 51, .62); }
.product-quote-modal form { display: grid; gap: 14px; padding: 30px; }
.product-quote-modal h2 { margin: 0; color: var(--ink); font-size: 28px; }
.product-quote-modal label { display: grid; gap: 7px; color: var(--ink); font-size: 13px; font-weight: 700; }
.product-quote-modal input,
.product-quote-modal textarea { width: 100%; box-sizing: border-box; border: 1px solid #cbdceb; border-radius: 5px; padding: 12px 13px; font: inherit; }
.product-quote-modal textarea { min-height: 120px; resize: vertical; }
.product-quote-selected { margin: 0; color: #526b86; font-size: 13px; }
.product-quote-selected strong { color: var(--primary); }
.product-quote-close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #d5e2ef; border-radius: 50%; background: #fff; cursor: pointer; }
.product-quote-close svg { width: 17px; }

.summary-actions .btn.is-active {
  color: #fff;
  border-color: var(--primary);
  background: var(--primary);
}

.product-tool-dock {
  position: fixed;
  z-index: 76;
  right: 22px;
  bottom: 22px;
  display: flex;
  min-height: 48px;
  align-items: center;
  overflow: hidden;
  border: 1px solid #c9daeb;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(8,45,83,.2);
}

.product-tool-dock a,
.product-tool-dock > span {
  display: inline-flex;
  min-height: 48px;
  padding: 0 15px;
  align-items: center;
  gap: 8px;
  color: #173b61;
  font-size: 12px;
  font-weight: 800;
}

.product-tool-dock a {
  color: #fff;
  background: var(--primary);
}

.product-tool-dock svg { width: 17px; }

.product-compare-page {
  width: min(1680px, calc(100% - 72px));
  margin: 0 auto 46px;
  overflow: hidden;
  border: 1px solid #d8e3ed;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(10, 45, 82, .1);
}

.compare-masthead {
  display: flex;
  min-height: 230px;
  padding: 36px 46px;
  align-items: flex-end;
  justify-content: space-between;
  gap: 36px;
  background: linear-gradient(110deg, #f8fbff 0%, #edf5fd 68%, #e8f2fc 100%);
  border-bottom: 1px solid #dce7f1;
}

.compare-breadcrumb {
  display: flex;
  margin-bottom: 28px;
  align-items: center;
  gap: 7px;
  color: #71859b;
  font-size: 12px;
}

.compare-breadcrumb a { color: #526d89; }
.compare-breadcrumb svg { width: 14px; height: 14px; }
.compare-masthead .eyebrow { color: var(--primary); font-size: 11px; font-weight: 800; }
.compare-masthead h1 { margin: 8px 0 10px; color: #071b3d; font-size: clamp(34px, 3vw, 46px); line-height: 1.08; }
.compare-masthead p { max-width: 760px; margin: 0; color: #536a82; font-size: 16px; line-height: 1.65; }

.compare-count {
  display: grid;
  min-width: 210px;
  padding: 20px 22px;
  grid-template-columns: 44px auto;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 13px;
  border-left: 3px solid var(--primary);
  background: rgba(255,255,255,.76);
}

.compare-count > svg {
  grid-row: 1 / 3;
  width: 26px;
  height: 26px;
  color: var(--primary);
}

.compare-count strong { color: #071b3d; font-size: 25px; line-height: 1; }
.compare-count span { color: #60758c; font-size: 12px; }
.compare-section { padding: 28px 32px 34px; }

.compare-toolbar {
  display: flex;
  min-height: 48px;
  padding: 0 16px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid #dbe6ef;
  border-bottom: 0;
  background: #f8fbfe;
  color: #61778e;
  font-size: 12px;
}

.compare-toolbar div,
.compare-toolbar a { display: inline-flex; align-items: center; gap: 8px; }
.compare-toolbar svg { width: 16px; height: 16px; }
.compare-toolbar a { color: var(--primary); font-weight: 800; }
.compare-matrix-scroll { overflow-x: auto; border: 1px solid #dbe6ef; }
.compare-matrix { min-width: calc(180px + (var(--compare-count) * 260px)); }
.compare-matrix-head,
.compare-matrix-row { display: grid; grid-template-columns: 180px repeat(var(--compare-count), minmax(0, 1fr)); }
.compare-matrix-head { background: #fff; }

.compare-row-label {
  display: flex;
  min-width: 0;
  padding: 20px 18px;
  align-items: flex-start;
  gap: 9px;
  color: #203d5b;
  background: #f7fafe;
  border-right: 1px solid #dfe8f1;
  font-size: 12px;
}

.compare-row-label svg { width: 17px; height: 17px; flex: 0 0 17px; color: var(--primary); }
.compare-product-label { flex-direction: column; justify-content: flex-end; }
.compare-product-label svg { width: 24px; height: 24px; }
.compare-product-label strong { margin-top: 8px; font-size: 15px; }
.compare-product-label span { color: #8293a5; font-size: 11px; }

.compare-product-head {
  position: relative;
  display: flex;
  min-width: 0;
  padding: 18px 20px 20px;
  flex-direction: column;
  border-right: 1px solid #dfe8f1;
}

.compare-product-head:last-child,
.compare-value:last-child { border-right: 0; }
.compare-image {
  display: flex;
  height: 230px;
  min-width: 0;
  min-height: 0;
  margin-bottom: 15px;
  padding: 12px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff;
}
.compare-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-width: 0;
  min-height: 0;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain;
  object-position: center;
  transition: transform .25s ease;
}
.compare-image:hover img { transform: scale(1.025); }
.compare-image > svg { width: 42px; height: 42px; color: #9bb0c4; }
.compare-product-head > span { color: #567390; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.compare-product-head h2 { min-height: 48px; margin: 7px 42px 10px 0; color: #0b2747; font-size: 18px; line-height: 1.35; }
.compare-detail-link { display: inline-flex; margin-top: auto; align-items: center; gap: 6px; color: var(--primary); font-size: 12px; font-weight: 800; }
.compare-detail-link svg { width: 15px; height: 15px; }

.compare-matrix-row { border-top: 1px solid #dfe8f1; }
.compare-matrix-row:nth-child(even) .compare-value { background: #fbfdff; }
.compare-value {
  min-width: 0;
  padding: 19px 20px;
  color: #264765;
  border-right: 1px solid #dfe8f1;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.55;
}

.compare-value.is-description { color: #526b82; font-weight: 500; }

.compare-remove {
  position: absolute;
  z-index: 2;
  top: 16px;
  right: 16px;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: #60778d;
  border: 1px solid #d6e1eb;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}

.compare-remove:hover { color: #b42318; border-color: #f0b8b2; background: #fff7f6; }
.compare-remove svg { width: 16px; }

.compare-empty {
  display: grid;
  min-height: 390px;
  place-items: center;
  align-content: center;
  text-align: center;
}

.compare-empty > span { display: grid; width: 76px; height: 76px; place-items: center; color: var(--primary); background: #edf5ff; border-radius: 50%; }
.compare-empty > span svg { width: 34px; height: 34px; }
.compare-empty h2 { margin: 18px 0 5px; color: #0b2747; }
.compare-empty p { max-width: 560px; margin: 0 0 20px; color: #60778d; }
.compare-mobile-hint { display: none; margin: 12px 0 0; align-items: center; gap: 7px; color: #71869a; font-size: 11px; }
.compare-mobile-hint svg { width: 15px; height: 15px; }

@media (max-width: 900px) {
  .product-compare-page { width: calc(100% - 24px); margin-bottom: 28px; }
  .compare-masthead { min-height: 0; padding: 26px 22px; align-items: flex-start; flex-direction: column; gap: 20px; }
  .compare-breadcrumb { margin-bottom: 20px; }
  .compare-masthead h1 { font-size: 34px; }
  .compare-masthead p { font-size: 14px; }
  .compare-count { min-width: 0; width: 100%; box-sizing: border-box; }
  .compare-section { padding: 18px 12px 24px; }
  .compare-toolbar { align-items: flex-start; padding: 12px; flex-direction: column; }
  .compare-matrix { min-width: calc(130px + (var(--compare-count) * 245px)); }
  .compare-matrix-head,
  .compare-matrix-row { grid-template-columns: 130px repeat(var(--compare-count), minmax(0, 1fr)); }
  .compare-row-label { position: sticky; z-index: 3; left: 0; padding: 16px 12px; }
  .compare-product-label { z-index: 4; }
  .compare-product-head { padding: 14px 16px 18px; }
  .compare-image { height: 190px; padding: 10px; }
  .compare-product-head h2 { font-size: 16px; }
  .compare-value { padding: 16px; }
  .compare-mobile-hint { display: flex; }
  .product-tool-dock { right: 12px; bottom: 12px; left: 12px; justify-content: center; }
  .product-tool-dock a, .product-tool-dock > span { flex: 1; justify-content: center; }
}
@media (max-width:700px) {
  .search-modal { display:block; }
  .search-modal::before { min-height:112px; padding:22px 24px; font-size:12px; }
  .search-modal form { min-height:245px; }
}
@media (max-width:600px) {
  .product-quote-modal form { padding: 24px 18px; }
  .product-quote-modal h2 { font-size: 24px; }
}
.product-photos-tab-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.product-photos-tab-grid button { display:grid; place-items:center; min-height:150px; padding:8px; background:#fff; border:1px solid #d5e2ef; border-radius:6px; cursor:zoom-in; }
.product-photos-tab-grid img { display:block; width:100%; height:150px; object-fit:contain; transition:transform .2s ease; }
.product-photos-tab-grid button:hover img { transform:scale(1.04); }
@media (max-width:700px) { .product-photos-tab-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.product-photos-tab-grid button,.product-photos-tab-grid img { min-height:120px; height:120px; } }
.article-detail-page .editorial-layout {
    display: block;
}

.article-detail-page .editorial-main-column {
    width: 100%;
    max-width: none;
}

.article-detail-page .editorial-sidebar,
.article-detail-page .editorial-featured-image {
    display: none;
}

/* Article listing mastheads: keep newly added product images fitted cleanly. */
.article-listing-page .news-card-media {
  height: auto;
  aspect-ratio: 16 / 9;
  background: #f3f8fd;
}

.article-listing-page .news-card-media > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.article-listing-page .news-listing-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
}

.article-listing-page .news-card-body {
  flex: 1 1 auto;
}

.article-detail-page .editorial-featured-image {
  overflow: hidden;
  aspect-ratio: 16 / 7;
  border-radius: 8px;
  background: #f3f8fd;
}

.article-detail-page .editorial-featured-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

@media (max-width: 640px) {
  .article-listing-page .news-card-media {
    aspect-ratio: 4 / 3;
  }
}

/* Homepage news strip: five-card reference layout. */
@media (min-width: 901px) {
  .news-support { grid-template-columns: 1fr; gap: 0; padding: 34px 30px 36px; }
  .news-support .news { min-height: 760px; padding: 42px 40px 62px; border-radius: 20px; }
  .news-support .news h2 { font-size: 30px; text-transform: uppercase; }
  .news-support .news-widget-subtitle { margin-left: 80px; }
  .news-support .news-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px; }
  .news-support .news-grid a,
  .news-support .news-grid a:nth-child(n+3) { min-height: 542px; padding: 0 18px 26px; border-radius: 16px; }
  .news-support .news-grid a > img { height: 198px; margin-bottom: 22px; border-radius: 16px 16px 0 0; }
  .news-support .news-grid a > time { top: 216px; right: 18px; font-size: 14px; }
  .news-support .news-grid a > span { margin-bottom: 18px; padding: 7px 12px; font-size: 12px; }
  .news-support .news-grid a > strong { min-height: 76px; font-size: 18px; line-height: 1.5; }
  .news-support .news-grid a > strong::after { margin-top: 30px; font-size: 16px; }
  .news-support .news-widget-arrow,
  .news-support .news-widget-dots,
  .news-support .support { display: none; }
}

/* Homepage news and support widget: supplied reference layout. */
@media (min-width: 901px) {
  .news-support {
    display: grid;
    grid-template-columns: minmax(0, 1.58fr) minmax(0, 1fr);
    gap: 30px;
    padding: 34px 36px 36px;
    align-items: stretch;
  }

  .news-support .news {
    position: relative;
    min-width: 0;
    min-height: 635px;
    padding: 30px 38px 52px;
    border: 1px solid #edf1f6;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 40px rgba(20, 54, 94, .08);
  }

  .news-support .news h2 {
    display: flex;
    align-items: center;
    min-height: 54px;
    margin: 0;
    padding: 0 0 22px;
    border-bottom: 0;
    color: #101b31;
    font-size: 30px;
    line-height: 1.1;
    letter-spacing: 0;
  }

  .news-support .news h2::before {
    width: 58px;
    height: 58px;
    margin-right: 22px;
    border-radius: 17px;
    background-size: 30px;
  }

  .news-support .news h2::after { display: none; }
  .news-support .news h2 > svg { display: none; }
  .news-support .news-widget-subtitle {
    margin: 0 0 25px 80px;
    padding-bottom: 22px;
    border-bottom: 1px solid #e7edf5;
    color: #536681;
    font-size: 17px;
    line-height: 1.4;
  }

  .news-support .news-all-link {
    top: 54px;
    right: 38px;
    display: inline-flex;
    align-items: center;
    gap: 16px;
    min-height: 52px;
    padding: 0 23px;
    color: #0867c8;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(16, 55, 100, .11);
    font-size: 16px;
  }

  .news-support .news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }

  .news-support .news-grid a,
  .news-support .news-grid a:nth-child(n+3) {
    display: flex;
    min-height: 425px;
    height: auto;
    padding: 0 18px 24px;
    border: 0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 48, 89, .09);
  }

  .news-support .news-grid a > img {
    width: calc(100% + 36px);
    height: 176px;
    margin: 0 -18px 20px;
    border-radius: 16px 16px 0 0;
    object-fit: cover;
  }

  .news-support .news-grid a > time {
    top: 191px;
    right: 18px;
    color: #78879c;
    font-size: 12px;
  }

  .news-support .news-grid a > span {
    margin: 0 0 14px;
    padding: 6px 12px;
    border-radius: 999px;
    color: #1768c4;
    background: #edf5ff;
    font-size: 11px;
  }

  .news-support .news-grid a > strong {
    min-height: 72px;
    color: #111d32;
    font-size: 19px;
    line-height: 1.28;
  }

  .news-support .news-grid a > strong::after {
    margin-top: 22px;
    color: #0867c8;
    content: "Detayları İncele  ›";
    font-size: 16px;
  }

  .news-support .news-widget-arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    color: #0b2b55;
    border: 0;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 8px 20px rgba(19, 53, 92, .14);
    cursor: pointer;
    font-size: 34px;
    line-height: 1;
    transform: translateY(-50%);
  }

  .news-support .news-widget-arrow-prev { left: 10px; }
  .news-support .news-widget-arrow-next { right: 10px; }
  .news-support .news-widget-dots {
    position: absolute;
    bottom: 24px;
    left: 50%;
    display: flex;
    gap: 14px;
    transform: translateX(-50%);
  }
  .news-support .news-widget-dots span { width: 12px; height: 12px; border-radius: 50%; background: #d7deea; }
  .news-support .news-widget-dots span.is-active { background: #0867c8; }

  .news-support .support {
    min-height: 635px;
    padding: 88px 62px 54px;
    border-radius: 20px;
    background: linear-gradient(90deg, #edf6ff 0%, rgba(237,246,255,.92) 43%, rgba(237,246,255,.13) 100%), url("../img/reference/support-agent.jpg") right center / auto 100% no-repeat;
    color: #172b4b;
    box-shadow: 0 16px 40px rgba(20, 54, 94, .08);
  }

  .news-support .support h2 { max-width: 390px; margin-bottom: 12px; color: #101d36; font-size: 36px; line-height: 1.12; }
  .news-support .support p { max-width: 360px; color: #4f6280; font-size: 18px; line-height: 1.45; }
  .news-support .support-icons { max-width: 420px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 30px; margin: 40px 0 46px; }
  .news-support .support-icons span { display: flex; flex-direction: row; align-items: center; gap: 14px; color: #263a59; font-size: 15px; font-weight: 700; text-align: left; }
  .news-support .support-icons span:nth-child(4) { display: none; }
  .news-support .support-icons svg { width: 48px; height: 48px; padding: 11px; color: #0b67ce; border-radius: 14px; background: #e4f0ff; }
  .news-support .support .btn { min-height: 64px; padding: 0 34px; color: #fff; border: 0; border-radius: 999px; background: linear-gradient(100deg, #0997f5, #0754bf); font-size: 17px; box-shadow: 0 12px 24px rgba(8, 92, 193, .2); }
}

/* Final homepage news override: five cards, no support panel. */
@media (min-width: 901px) {
  .news-support { grid-template-columns: 1fr; gap: 0; padding: 34px 30px 36px; }
  .news-support .news { min-height: 760px; padding: 42px 40px 62px; border-radius: 20px; }
  .news-support .news-grid { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 28px; }
  .news-support .news-grid a,
  .news-support .news-grid a:nth-child(n+3) { display: flex; min-height: 542px; padding: 0 18px 26px; border-radius: 16px; }
  .news-support .news-grid a > img { height: 198px; margin-bottom: 22px; border-radius: 16px 16px 0 0; }
  .news-support .news-grid a > time { top: 216px; right: 18px; font-size: 14px; }
  .news-support .news-grid a > span { margin-bottom: 18px; padding: 7px 12px; font-size: 12px; }
  .news-support .news-grid a > strong { min-height: 76px; font-size: 18px; line-height: 1.5; }
  .news-support .news-grid a > strong::after { margin-top: 30px; font-size: 16px; }
  .news-support .news-widget-arrow,
  .news-support .news-widget-dots,
  .news-support .support { display: none; }
}

/* Homepage news widget final precedence. */
@media (min-width: 901px) {
  .news-support { display: block; padding: 32px 30px 36px; }
  .news-support .news { min-height: 0; padding: 42px 40px 48px; border: 1px solid #edf1f6; border-radius: 20px; background: #fff; box-shadow: 0 16px 40px rgba(20,54,94,.08); }
  .news-support .news > h2 { display: flex; align-items: center; min-height: 58px; margin: 0; padding: 0; border: 0; color: #101b31; font-size: 30px; line-height: 1.1; letter-spacing: 0; }
  .news-support .news > h2::before { width: 58px; height: 58px; margin-right: 22px; border-radius: 17px; background-size: 30px; }
  .news-support .news > h2::after, .news-support .news > h2 > svg { display: none; }
  .news-support .news-widget-subtitle { margin: 0 0 30px 80px; padding: 0 0 26px; color: #536681; font-size: 17px; line-height: 1.4; border-bottom: 1px solid #e7edf5; }
  .news-support .news-all-link { position: absolute; top: 54px; right: 40px; display: inline-flex; align-items: center; gap: 15px; min-height: 52px; padding: 0 24px; color: #0867c8; border-radius: 999px; background: #fff; box-shadow: 0 8px 22px rgba(16,55,100,.11); font-size: 16px; font-weight: 700; }
  .news-support .news-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 28px; width: 100%; }
  .news-support .news-grid a, .news-support .news-grid a:nth-child(n+3) { display: flex; flex-direction: column; width: 100% !important; max-width: 100% !important; min-width: 0 !important; min-height: 510px; height: auto; box-sizing: border-box; padding: 0 0 24px; overflow: hidden; border: 1px solid #edf1f6; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(15,48,89,.09); }
  .news-support .news-grid a > img { display: block; width: 100% !important; max-width: 100% !important; height: 190px; margin: 0 0 18px; border-radius: 16px 16px 0 0; object-fit: cover; }
  .news-support .news-grid a > time { position: static; display: block; width: auto; margin: 0 18px 14px; color: #78879c; font-size: 13px; }
  .news-support .news-grid a > .news-card-category { width: max-content; max-width: calc(100% - 36px); margin: 0 18px 16px; padding: 7px 12px; color: #1768c4; border-radius: 999px; background: #edf5ff; font-size: 11px; font-weight: 700; }
  .news-support .news-grid a > strong { display: block; min-width: 0; min-height: 72px; margin: 0 18px 14px; color: #111d32; font-size: 17px; line-height: 1.45; white-space: normal; overflow-wrap: anywhere; }
  .news-support .news-grid a > strong::after { display: none; content: none; }
  .news-support .news-grid a > .news-card-excerpt { margin: 0 18px 20px; color: #64738a; font-size: 15px; line-height: 1.55; }
  .news-support .news-grid a > .news-card-link { display: inline-flex; align-items: center; gap: 12px; width: max-content; margin: auto 18px 0; padding: 0; color: #0867c8; background: transparent; font-size: 15px; font-weight: 700; }
  .news-support .news-grid a > .news-card-link svg { width: 20px; height: 20px; }
  .news-support .news-widget-arrow, .news-support .news-widget-dots, .news-support .support { display: none; }
}

@media (min-width: 901px) and (max-width: 1519px) {
  .news-support .news-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .news-support .news-grid a:nth-child(n+5) { display: none; }
}

@media (min-width: 1520px) {
  .news-support .news-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .news-support .news-all-link { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 20px; color: #0867c8; font-weight: 700; }
  .news-support .news-widget-subtitle { margin: 0 0 20px; color: #536681; }
  .news-support .news-card-excerpt { color: #64738a; line-height: 1.5; }
  .news-support .news-card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: #0867c8; font-weight: 700; }
}

/* Final homepage product image fit: larger, centered, no cropping. */
.featured-product-grid {
  align-items: stretch;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.featured-product-card,
.featured-product-card:nth-child(4n+1),
.featured-product-card:nth-child(2n+1) {
  display: flex !important;
  flex-direction: column !important;
  min-height: 410px;
  padding: 8px 12px 16px;
  overflow: hidden;
  border: 1px solid #dce8f2;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(11,55,97,.06);
}

.featured-product-card .product-visual {
  display: grid;
  place-items: center;
  flex: 0 0 292px;
  width: 100%;
  height: 292px;
  box-sizing: border-box;
  padding: 8px 10px;
  overflow: hidden;
  border-radius: 6px;
  background: #fff;
}

.featured-product-card .product-visual img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 276px !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transition: transform .28s ease;
}

.featured-product-card:hover .product-visual img {
  transform: scale(1.035);
}

.featured-product-card .featured-product-copy {
  display: flex !important;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 96px;
  padding: 0 2px;
  background: #fff;
}

.featured-product-card h3 {
  margin: 10px 0 5px;
}

@media (max-width: 900px) {
  .featured-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .featured-product-card .product-visual {
    flex-basis: 250px;
    height: 250px;
    padding: 8px 10px;
  }

  .featured-product-card .product-visual img {
    max-height: 234px !important;
  }
}

@media (max-width: 560px) {
  .featured-product-grid {
    grid-template-columns: 1fr !important;
  }

  .featured-product-card .product-visual {
    flex-basis: 232px;
    height: 232px;
    padding: 8px 10px;
  }

  .featured-product-card .product-visual img {
    max-height: 216px !important;
  }
}

.home-popup {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}

.home-popup.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.home-popup-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 20, 43, .64);
  backdrop-filter: blur(5px);
}

.home-popup-panel {
  position: relative;
  z-index: 1;
  width: min(var(--home-popup-width, 640px), calc(100vw - 32px));
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 28px 90px rgba(3, 21, 45, .36);
  transform: translateY(14px) scale(.98);
  transition: transform .2s ease;
}

.home-popup.is-visible .home-popup-panel {
  transform: translateY(0) scale(1);
}

.home-popup-panel img {
  display: block;
  width: 100%;
  max-height: calc(100vh - 150px);
  object-fit: contain;
  background: #fff;
}

.home-popup-image-link {
  display: block;
}

.home-popup-copy {
  padding: 22px 24px 20px;
  color: #183958;
  background: linear-gradient(180deg, #fff 0%, #f5f9fd 100%);
}

.home-popup-copy h2 {
  margin: 0 0 8px;
  color: #062852;
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.2;
}

.home-popup-copy p {
  margin: 0;
  color: #5a7189;
  font-size: 14px;
  line-height: 1.65;
  white-space: pre-line;
}

.home-popup-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  color: #123151;
  border: 1px solid rgba(15, 42, 72, .16);
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 8px 22px rgba(7, 24, 48, .16);
  cursor: pointer;
}

.home-popup-close svg {
  width: 19px;
  height: 19px;
}

.home-popup-hide {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  padding: 0 16px;
  color: #425a73;
  border-top: 1px solid #e5edf5;
  background: #f8fbfe;
  font-size: 14px;
  font-weight: 650;
}

.home-popup-hide input {
  width: 17px;
  height: 17px;
  accent-color: var(--primary);
}

@media (max-width: 560px) {
  .home-popup {
    padding: 16px;
  }

  .home-popup-panel {
    width: calc(100vw - 24px);
  }

  .home-popup-panel img {
    max-height: calc(100vh - 132px);
  }

.home-popup-copy {
    padding: 18px 18px 16px;
  }
}

/* Modern Gumruk corporate concept */
.stats > div > strong {
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.1;
}

/* Optional Google reviews widget */
.google-reviews-widget {
  padding: clamp(24px, 3vw, 42px) clamp(16px, 2.5vw, 36px);
  overflow: hidden;
  background: #fff;
  border-top: 1px solid #e2e9f1;
}

.google-reviews-widget-inner {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.google-reviews-widget iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
}

@media (max-width: 640px) {
  .google-reviews-widget { padding: 20px 12px; }
}

/* Corporate inner pages: references, quality policy and vision / mission. */
.reference-showcase-page {
  width: min(1630px, calc(100% - 40px));
  margin: 24px auto 58px;
  overflow: hidden;
  color: #153451;
  border: 1px solid #e0e8f1;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(5, 34, 68, .08);
}
.reference-showcase-hero { padding: 52px clamp(28px, 5vw, 74px) 40px; text-align: center; border-bottom: 1px solid #e1eaf3; background: #f5f9fd; }
.reference-showcase-eyebrow { display: block; margin-bottom: 10px; color: #0874c9; font-size: 12px; font-weight: 800; letter-spacing: 0; }
.reference-showcase-hero h1 { margin: 0; color: #09294c; font-size: clamp(34px, 4vw, 50px); line-height: 1.12; }
.reference-showcase-hero > p { max-width: 760px; margin: 14px auto 0; color: #60758c; font-size: 16px; line-height: 1.7; }
.reference-showcase-intro { max-width: 820px; margin: 16px auto 0; color: #60758c; font-size: 15px; line-height: 1.7; }
.reference-showcase-intro > :first-child { margin-top: 0; }
.reference-showcase-intro > :last-child { margin-bottom: 0; }
.reference-showcase-directory { padding: 32px clamp(20px, 4vw, 56px) 56px; }
.reference-showcase-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.reference-showcase-search { display: flex; width: min(340px, 100%); min-height: 44px; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid #d8e4ef; border-radius: 6px; background: #fff; }
.reference-showcase-search svg { width: 18px; height: 18px; color: #6e8aa4; }
.reference-showcase-search input { width: 100%; min-width: 0; color: #183a59; border: 0; outline: 0; background: transparent; font: inherit; }
.reference-sector-filter { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.reference-sector-filter button { min-height: 36px; padding: 0 13px; color: #45627d; border: 1px solid #d9e5ef; border-radius: 5px; background: #f8fbfe; font: 700 12px/1 Quicksand, Arial, sans-serif; cursor: pointer; }
.reference-sector-filter button.is-active, .reference-sector-filter button:hover { color: #fff; border-color: #0869b5; background: #0869b5; }
.reference-logo-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.reference-logo-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); min-height: 138px; align-items: center; overflow: hidden; border: 1px solid #dfe7ee; border-radius: 6px; background: #fff; box-shadow: 0 7px 20px rgba(8, 44, 78, .045); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.reference-logo-card:hover { border-color: #b9d3e8; box-shadow: 0 13px 28px rgba(8, 44, 78, .09); transform: translateY(-2px); }
.reference-logo-card[hidden] { display: none; }
.reference-logo-media { display: grid; width: 112px; height: 100%; min-height: 138px; place-items: center; padding: 18px; border-right: 1px solid #e5ebf1; background: #fbfdff; }
.reference-logo-media img { width: 100%; max-height: 82px; object-fit: contain; }
.reference-logo-media span { display: grid; width: 66px; height: 66px; place-items: center; color: #0a68b4; border: 1px solid #d7e8f5; border-radius: 6px; background: #edf7fd; font-size: 24px; font-weight: 800; }
.reference-logo-content { min-width: 0; padding: 18px 20px; }
.reference-logo-content h2 { margin: 0 0 3px; overflow-wrap: anywhere; color: #102f50; font-size: 16px; line-height: 1.25; }
.reference-logo-content strong { display: block; margin-bottom: 7px; color: #0398ad; font-size: 11px; line-height: 1.3; }
.reference-logo-content p { display: -webkit-box; margin: 0; overflow: hidden; color: #60758a; font-size: 12px; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.reference-showcase-empty { display: grid; min-height: 220px; place-items: center; align-content: center; gap: 12px; color: #71869a; text-align: center; }
.reference-showcase-empty[hidden] { display: none; }
.reference-showcase-empty svg { width: 36px; height: 36px; color: #8eabc4; }
.reference-showcase-empty p { margin: 0; }

.page-template-quality-policy, .page-template-vision-mission {
  width: min(1630px, calc(100% - 40px));
  margin: 24px auto 58px;
  overflow: hidden;
  border: 1px solid #e0e8f1;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(5, 34, 68, .08);
}
.page-template-quality-policy .page-hero, .page-template-vision-mission .page-hero { margin: 0; border-radius: 0; }
.quality-policy-showcase { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr); gap: clamp(42px, 7vw, 108px); align-items: center; padding: clamp(64px, 7vw, 104px) clamp(28px, 7vw, 112px); background: #fff; }
.quality-policy-copy .eyebrow, .quality-policy-heading .eyebrow, .quality-policy-cta .eyebrow, .vision-mission-intro .eyebrow, .vision-mission-card .eyebrow, .vision-mission-approach .eyebrow { display: inline-flex; margin-bottom: 14px; color: var(--primary); font-weight: 750; text-transform: uppercase; }
.quality-policy-copy h2, .quality-policy-heading h2, .quality-policy-cta h2 { margin: 0; color: #06234b; font-size: clamp(30px, 3vw, 45px); line-height: 1.13; }
.quality-policy-copy .rich-content { max-width: 730px; margin-top: 22px; color: #435d78; font-size: 16px; line-height: 1.85; }
.quality-policy-copy .rich-content p { margin: 0 0 14px; }
.quality-policy-checklist { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid #dce7f1; }
.quality-policy-checklist li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; align-items: start; padding: 22px 4px; border-bottom: 1px solid #dce7f1; }
.quality-policy-checklist svg { width: 28px; height: 28px; margin-top: 2px; color: var(--primary); }
.quality-policy-checklist div { display: grid; gap: 5px; }
.quality-policy-checklist strong { color: #082b59; font-size: 17px; }
.quality-policy-checklist span { color: #61758c; font-size: 14px; line-height: 1.55; }
.quality-policy-values { padding: clamp(62px, 7vw, 100px) clamp(28px, 7vw, 112px); border-top: 1px solid #e1e9f1; background: #f5f9fd; }
.quality-policy-heading { max-width: 790px; margin-bottom: 38px; }
.quality-policy-heading p { margin: 18px 0 0; color: #5b7189; font-size: 16px; line-height: 1.75; }
.quality-policy-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border: 1px solid #d8e4f0; background: #d8e4f0; }
.quality-policy-grid article { min-height: 230px; padding: 34px; background: #fff; }
.quality-policy-grid article > svg { width: 34px; height: 34px; margin-bottom: 22px; color: var(--primary); }
.quality-policy-grid h3 { margin: 0 0 11px; color: #082b59; font-size: 18px; }
.quality-policy-grid p { margin: 0; color: #61758c; line-height: 1.7; }
.quality-policy-cta { display: flex; align-items: center; justify-content: space-between; gap: 42px; padding: clamp(42px, 5vw, 68px) clamp(28px, 7vw, 112px); color: #fff; background: linear-gradient(125deg, #052a55, #075eb5); }
.quality-policy-cta .eyebrow { color: #75d2ee; }
.quality-policy-cta h2 { color: #fff; font-size: clamp(27px, 3vw, 40px); }
.quality-policy-cta p { max-width: 760px; margin: 13px 0 0; color: #dcecff; line-height: 1.7; }
.quality-policy-cta .btn { flex: 0 0 auto; }

.vision-mission-intro { max-width: 1040px; margin: 0 auto; padding: clamp(64px, 7vw, 104px) 28px; text-align: center; }
.vision-mission-intro h2 { margin: 0; color: #06234b; font-size: clamp(32px, 4vw, 52px); line-height: 1.12; }
.vision-mission-intro p { max-width: 790px; margin: 24px auto 0; color: #5b7189; font-size: 17px; line-height: 1.75; }
.vision-mission-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; padding: 0 clamp(28px, 7vw, 112px) clamp(64px, 7vw, 104px); background: #d9e5f0; }
.vision-mission-card { position: relative; min-height: 500px; padding: clamp(34px, 4vw, 58px); overflow: hidden; background: #fff; }
.vision-mission-card.is-vision { background: #f3f8fd; }
.vision-mission-card::after { position: absolute; right: -65px; bottom: -85px; width: 230px; height: 230px; border: 1px solid rgba(0, 87, 184, .12); border-radius: 50%; content: ""; }
.vision-mission-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 46px; }
.vision-mission-card-head span { color: #8ea4ba; font-size: 18px; font-weight: 750; }
.vision-mission-card-head svg { width: 46px; height: 46px; color: var(--primary); stroke-width: 1.45; }
.vision-mission-card h2 { max-width: 580px; margin: 0 0 24px; color: #06234b; font-size: clamp(28px, 3vw, 42px); line-height: 1.15; }
.vision-mission-card p { position: relative; z-index: 1; margin: 0 0 15px; color: #526b84; font-size: 16px; line-height: 1.8; }
.vision-mission-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); color: #fff; background: #052a55; }
.vision-mission-values article { display: flex; gap: 16px; align-items: flex-start; min-height: 142px; padding: 30px; border-right: 1px solid rgba(255, 255, 255, .15); }
.vision-mission-values article:last-child { border-right: 0; }
.vision-mission-values svg { flex: 0 0 31px; width: 31px; height: 31px; color: #66cce8; }
.vision-mission-values div { display: grid; gap: 7px; }
.vision-mission-values strong { font-size: 17px; }
.vision-mission-values span { color: #c9dbeb; font-size: 13px; line-height: 1.55; }
.vision-mission-approach { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; background: #fff; }
.vision-mission-approach figure { min-height: 480px; margin: 0; overflow: hidden; background: #eaf1f7; }
.vision-mission-approach figure img { display: block; width: 100%; height: 100%; min-height: 480px; object-fit: cover; }
.vision-mission-approach > div { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; padding: clamp(42px, 6vw, 92px); }
.vision-mission-approach h2 { margin: 0 0 20px; color: #06234b; font-size: clamp(30px, 3vw, 44px); line-height: 1.14; }
.vision-mission-approach .rich-content { color: #526b84; font-size: 16px; line-height: 1.8; }
.vision-mission-approach .btn { margin-top: 24px; }

@media (max-width: 1050px) {
  .reference-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reference-showcase-toolbar { align-items: flex-start; flex-direction: column; }
  .reference-sector-filter { justify-content: flex-start; }
  .vision-mission-panels { grid-template-columns: 1fr; }
  .vision-mission-card { min-height: 0; }
  .vision-mission-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vision-mission-values article:nth-child(2) { border-right: 0; }
  .vision-mission-values article:nth-child(-n + 2) { border-bottom: 1px solid rgba(255, 255, 255, .15); }
  .vision-mission-approach { grid-template-columns: 1fr; }
  .vision-mission-approach figure, .vision-mission-approach figure img { min-height: 340px; }
}
@media (max-width: 900px) {
  .page-template-quality-policy, .page-template-vision-mission { width: calc(100% - 20px); margin: 14px auto 34px; }
  .quality-policy-showcase { grid-template-columns: 1fr; gap: 34px; padding: 52px 24px; }
  .quality-policy-values { padding: 52px 24px; }
  .quality-policy-grid { grid-template-columns: 1fr; }
  .quality-policy-grid article { min-height: 0; }
  .quality-policy-cta { align-items: flex-start; flex-direction: column; padding: 42px 24px; }
}
@media (max-width: 640px) {
  .reference-showcase-page { width: 100%; margin-top: 0; border-right: 0; border-left: 0; border-radius: 0; }
  .reference-showcase-hero { padding: 34px 20px 28px; }
  .reference-showcase-directory { padding: 20px 14px 36px; }
  .reference-logo-grid { grid-template-columns: 1fr; }
  .reference-logo-card { grid-template-columns: 92px minmax(0, 1fr); min-height: 124px; }
  .reference-logo-media { width: 92px; min-height: 124px; padding: 14px; }
  .reference-logo-content { padding: 15px; }
  .reference-showcase-search { width: 100%; }
  .reference-sector-filter { flex-wrap: nowrap; width: 100%; overflow-x: auto; padding-bottom: 4px; }
  .reference-sector-filter button { flex: 0 0 auto; }
  .vision-mission-intro { padding: 52px 22px; }
  .vision-mission-panels { padding: 0 20px 52px; }
  .vision-mission-card { padding: 30px 24px; }
  .vision-mission-card-head { margin-bottom: 32px; }
  .vision-mission-values { grid-template-columns: 1fr; }
  .vision-mission-values article { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .15); }
  .vision-mission-values article:last-child { border-bottom: 0; }
  .vision-mission-approach > div { padding: 42px 24px; }
}

/* Corporate contact page. */
.page-template-contact {
  width: min(1630px, calc(100% - 40px));
  margin: 28px auto 58px;
  overflow: hidden;
  color: #123351;
  border: 1px solid #dce7f1;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(5, 34, 68, .08);
}
.contact-corporate-hero { padding: clamp(54px, 6vw, 82px) clamp(24px, 6vw, 82px) 34px; text-align: center; background: linear-gradient(180deg, #fff 0%, #f6faff 100%); }
.contact-corporate-hero .eyebrow, .contact-form-card .eyebrow, .contact-info-card .eyebrow { display: inline-flex; margin-bottom: 12px; color: #008c9b; font-size: 12px; font-weight: 850; letter-spacing: 0; }
.contact-corporate-hero h1 { max-width: 1200px; margin: 0 auto; color: #062552; font-size: clamp(34px, 4.2vw, 58px); line-height: 1.08; }
.contact-corporate-hero > p { max-width: 790px; margin: 18px auto 0; color: #5a718b; font-size: 17px; line-height: 1.7; }
.contact-trust-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; max-width: 920px; margin: 30px auto 0; }
.contact-trust-row span { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: 10px; padding: 10px 16px; color: #15375c; border: 1px solid #dce9f5; border-radius: 6px; background: #f4f9ff; font-size: 14px; font-weight: 800; }
.contact-trust-row svg { width: 21px; height: 21px; color: #08a8c5; }
.contact-corporate-grid { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(350px, .74fr); gap: 24px; padding: 18px clamp(22px, 5vw, 68px) 42px; background: #fff; }
.page-template-contact .contact-form-card, .page-template-contact .contact-info-card { margin: 0; border-radius: 8px; }
.contact-form-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: clamp(24px, 3vw, 36px) !important; border: 1px solid #dbe7f1 !important; box-shadow: 0 16px 42px rgba(8, 42, 79, .08) !important; }
.contact-form-card header { grid-column: 1 / -1; margin-bottom: 4px; }
.contact-form-card h2, .contact-info-card h2 { margin: 0; color: #092951; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.2; }
.contact-form-card header p, .contact-info-card header p { margin: 10px 0 0; color: #667c92; font-size: 14px; line-height: 1.6; }
.contact-form-card label { gap: 8px; color: #17385e; font-size: 13px; font-weight: 800; }
.contact-form-card input, .contact-form-card select, .contact-form-card textarea { min-height: 48px; color: #163755; border-color: #cbdeee; border-radius: 6px; background: #fbfdff; font-size: 14px; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.contact-form-card input:focus, .contact-form-card select:focus, .contact-form-card textarea:focus { border-color: #0785cf; outline: 0; background: #fff; box-shadow: 0 0 0 3px rgba(7, 133, 207, .12); }
.contact-form-card textarea { min-height: 148px !important; }
.contact-form-card .contact-consent { display: flex; align-items: flex-start; gap: 10px; color: #697f94; font-size: 12px; font-weight: 500; line-height: 1.5; }
.contact-form-card .contact-consent input { width: 17px; min-width: 17px; height: 17px; min-height: 17px; margin: 1px 0 0; accent-color: #0875cb; }
.contact-consent a { color: #0875cb; font-weight: 800; text-decoration: underline; }
.contact-form-card .btn { min-height: 52px; justify-content: center; font-weight: 850; }
.contact-info-card { display: block !important; padding: clamp(26px, 3.3vw, 40px) !important; color: #fff; border: 0 !important; background: linear-gradient(145deg, #082e62, #041e43) !important; box-shadow: 0 20px 48px rgba(5, 32, 70, .21) !important; }
.contact-info-card header { margin-bottom: 22px; }
.contact-info-card .eyebrow { color: #66d8e9; }
.contact-info-card h2 { color: #fff; }
.contact-info-card header p { color: #c9d9ea; }
.contact-info-card .contact-info-item { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; align-items: start; margin: 0; padding: 18px 0; color: #fff; border-top: 1px solid rgba(255, 255, 255, .16); text-decoration: none; }
.contact-info-card .contact-info-item:first-of-type { border-top: 0; }
.contact-info-card .contact-info-item > svg { display: grid; width: 44px; height: 44px; padding: 11px; color: #84e4ee; border: 1px solid rgba(132, 228, 238, .65); border-radius: 50%; }
.contact-info-card .contact-info-item span { display: grid; gap: 5px; min-width: 0; }
.contact-info-card .contact-info-item strong { color: #fff; font-size: 16px; }
.contact-info-card .contact-info-item small { color: #d9e7f4; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.contact-info-card a.contact-info-item:hover strong, .contact-info-card a.contact-info-item:hover small { color: #8eeefa; }
.contact-map-wide { position: relative; min-height: 390px; margin: 0; overflow: hidden; border: 0; border-radius: 0; background: #082957; }
.contact-map-wide::after { position: absolute; inset: 0; z-index: 1; background: rgba(4, 32, 70, .26); content: ""; pointer-events: none; }
.contact-map-wide iframe { min-height: 390px; filter: saturate(.72) contrast(1.04); }
.contact-map-cta { position: absolute; z-index: 2; bottom: 32px; left: 50%; display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 18px; align-items: center; width: min(850px, calc(100% - 40px)); padding: 20px 24px; color: #143554; border: 1px solid #d4e5f2; border-radius: 8px; background: rgba(255, 255, 255, .96); box-shadow: 0 16px 42px rgba(2, 26, 57, .2); transform: translateX(-50%); }
.contact-map-cta > span { display: grid; width: 56px; height: 56px; place-items: center; color: #087bc8; border-radius: 50%; background: #eaf6fe; }
.contact-map-cta > span svg { width: 27px; height: 27px; }
.contact-map-cta strong { display: block; color: #092950; font-size: 17px; }
.contact-map-cta p { margin: 5px 0 0; color: #60758a; font-size: 13px; line-height: 1.5; }
.contact-map-cta .btn { min-height: 46px; white-space: nowrap; }
@media (max-width: 980px) { .contact-corporate-grid { grid-template-columns: 1fr; }.contact-info-card { order: -1; }.contact-map-cta { grid-template-columns: 52px minmax(0, 1fr); }.contact-map-cta .btn { grid-column: 2; justify-self: start; } }
@media (max-width: 640px) { .page-template-contact { width: 100%; margin: 0 0 34px; border-right: 0; border-left: 0; border-radius: 0; }.contact-corporate-hero { padding: 44px 20px 28px; }.contact-corporate-hero > p { font-size: 15px; }.contact-trust-row { grid-template-columns: 1fr; gap: 8px; margin-top: 24px; }.contact-corporate-grid { padding: 14px 14px 30px; gap: 14px; }.contact-form-card { grid-template-columns: 1fr; padding: 22px !important; }.contact-info-card { padding: 26px 22px !important; }.contact-map-wide, .contact-map-wide iframe { min-height: 430px; }.contact-map-cta { bottom: 18px; grid-template-columns: 46px minmax(0, 1fr); gap: 12px; width: calc(100% - 28px); padding: 16px; }.contact-map-cta > span { width: 46px; height: 46px; }.contact-map-cta p { font-size: 12px; }.contact-map-cta .btn { width: 100%; grid-column: 1 / -1; justify-content: center; } }
